Hi all! I git clone the metapackage from the ros_controllers into my catkin_ws/src and then I caktin_make in my ~/catkin_ws. But it failed when building the ros_controllers/velocitys. Here are the output.
[ 13%] Building CXX object ros_controllers/velocity_controllers/CMakeFiles/velocity_controllers.dir/src/joint_group_velocity_controller.cpp.o
/home/shantengfei/catkin_ws/src/ros_controllers/effort_controllers/src/joint_velocity_controller.cpp: In member function ‘void effort_controllers::JointVelocityController::setGains(const double&, const double&, const double&, const double&, const double&, const bool&)’:
/home/shantengfei/catkin_ws/src/ros_controllers/effort_controllers/src/joint_velocity_controller.cpp:91:56: error: no matching function for call to ‘control_toolbox::Pid::setGains(const double&, const double&, const double&, const double&, const double&, const bool&)’
pid_controller_.setGains(p,i,d,i_max,i_min,antiwindup);
^
/home/shantengfei/catkin_ws/src/ros_controllers/effort_controllers/src/joint_velocity_controller.cpp:91:56: note: candidates are:
In file included from /home/shantengfei/catkin_ws/src/ros_controllers/effort_controllers/include/effort_controllers/joint_velocity_controller.h:69:0,
from /home/shantengfei/catkin_ws/src/ros_controllers/effort_controllers/src/joint_velocity_controller.cpp:36:
/opt/ros/indigo/include/control_toolbox/pid.h:248:8: note: void control_toolbox::Pid::setGains(double, double, double, double, double)
void setGains(double p, double i, double d, double i_max, double i_min);
^
/opt/ros/indigo/include/control_toolbox/pid.h:248:8: note: candidate expects 5 arguments, 6 provided
/opt/ros/indigo/include/control_toolbox/pid.h:254:8: note: void control_toolbox::Pid::setGains(const control_toolbox::Pid::Gains&)
void setGains(const Gains &gains);
^
/opt/ros/indigo/include/control_toolbox/pid.h:254:8: note: candidate expects 1 argument, 6 provided
/home/shantengfei/catkin_ws/src/ros_controllers/effort_controllers/src/joint_velocity_controller.cpp: In member function ‘void effort_controllers::JointVelocityController::getGains(double&, double&, double&, double&, double&, bool&)’:
/home/shantengfei/catkin_ws/src/ros_controllers/effort_controllers/src/joint_velocity_controller.cpp:96:56: error: no matching function for call to ‘control_toolbox::Pid::getGains(double&, double&, double&, double&, double&, bool&)’
pid_controller_.getGains(p,i,d,i_max,i_min,antiwindup);
^
/home/shantengfei/catkin_ws/src/ros_controllers/effort_controllers/src/joint_velocity_controller.cpp:96:56: note: candidates are:
In file included from /home/shantengfei/catkin_ws/src/ros_controllers/effort_controllers/include/effort_controllers/joint_velocity_controller.h:69:0,
from /home/shantengfei/catkin_ws/src/ros_controllers/effort_controllers/src/joint_velocity_controller.cpp:36:
/opt/ros/indigo/include/control_toolbox/pid.h:232:8: note: void control_toolbox::Pid::getGains(double&, double&, double&, double&, double&)
void getGains(double &p, double &i, double &d, double &i_max, double &i_min);
^
/opt/ros/indigo/include/control_toolbox/pid.h:232:8: note: candidate expects 5 arguments, 6 provided
/opt/ros/indigo/include/control_toolbox/pid.h:238:9: note: control_toolbox::Pid::Gains control_toolbox::Pid::getGains()
Gains getGains();
^
/opt/ros/indigo/include/control_toolbox/pid.h:238:9: note: candidate expects 0 arguments, 6 provided
/home/shantengfei/catkin_ws/src/ros_controllers/effort_controllers/src/joint_velocity_controller.cpp: In member function ‘void effort_controllers::JointVelocityController::getGains(double&, double&, double&, double&, double&)’:
/home/shantengfei/catkin_ws/src/ros_controllers/effort_controllers/src/joint_velocity_controller.cpp:102:51: error: no matching function for call to ‘control_toolbox::Pid::getGains(double&, double&, double&, double&, double&, bool&)’
pid_controller_.getGains(p,i,d,i_max,i_min,dummy);
^
/home/shantengfei/catkin_ws/src/ros_controllers/effort_controllers/src/joint_velocity_controller.cpp:102:51: note: candidates are:
In file included from /home/shantengfei/catkin_ws/src/ros_controllers/effort_controllers/include/effort_controllers/joint_velocity_controller.h:69:0,
from /home/shantengfei/catkin_ws/src/ros_controllers/effort_controllers/src/joint_velocity_controller.cpp:36:
/opt/ros/indigo/include/control_toolbox/pid.h:232:8: note: void control_toolbox::Pid::getGains(double&, double&, double&, double&, double&)
void getGains(double &p, double &i, double &d, double &i_max, double &i_min);
^
/opt/ros/indigo/include/control_toolbox/pid.h:232:8: note: candidate expects 5 arguments, 6 provided
/opt/ros/indigo/include/control_toolbox/pid.h:238:9: note: control_toolbox::Pid::Gains control_toolbox::Pid::getGains()
Gains getGains();
^
/opt/ros/indigo/include/control_toolbox/pid.h:238:9: note: candidate expects 0 arguments, 6 provided
/home/shantengfei/catkin_ws/src/ros_controllers/effort_controllers/src/joint_velocity_controller.cpp: In member function ‘virtual void effort_controllers::JointVelocityController::update(const ros::Time&, const ros::Duration&)’:
/home/shantengfei/catkin_ws/src/ros_controllers/effort_controllers/src/joint_velocity_controller.cpp:163:41: error: ‘struct control_msgs::JointControllerState_<std::allocator<void> >’ has no member named ‘antiwindup’
controller_state_publisher_->msg_.antiwindup = static_cast<char>(antiwindup);
^
/home/shantengfei/catkin_ws/src/ros_controllers/velocity_controllers/src/joint_position_controller.cpp: In member function ‘virtual bool velocity_controllers::JointPositionController::init(hardware_interface::VelocityJointInterface*, ros::NodeHandle&)’:
/home/shantengfei/catkin_ws/src/ros_controllers/velocity_controllers/src/joint_position_controller.cpp:84:13: error: ‘class urdf::Model’ has no member named ‘initParamWithNodeHandle’
if (!urdf.initParamWithNodeHandle("robot_description", n))
^
/home/shantengfei/catkin_ws/src/ros_controllers/velocity_controllers/src/joint_position_controller.cpp: In member function ‘void velocity_controllers::JointPositionController::setGains(const double&, const double&, const double&, const double&, const double&, const bool&)’:
/home/shantengfei/catkin_ws/src/ros_controllers/velocity_controllers/src/joint_position_controller.cpp:101:56: error: no matching function for call to ‘control_toolbox::Pid::setGains(const double&, const double&, const double&, const double&, const double&, const bool&)’
pid_controller_.setGains(p,i,d,i_max,i_min,antiwindup);
^
/home/shantengfei/catkin_ws/src/ros_controllers/velocity_controllers/src/joint_position_controller.cpp:101:56: note: candidates are:
In file included from /home/shantengfei/catkin_ws/src/ros_controllers/velocity_controllers/include/velocity_controllers/joint_position_controller.h:71:0,
from /home/shantengfei/catkin_ws/src/ros_controllers/velocity_controllers/src/joint_position_controller.cpp:43:
/opt/ros/indigo/include/control_toolbox/pid.h:248:8: note: void control_toolbox::Pid::setGains(double, double, double, double, double)
void setGains(double p, double i, double d, double i_max, double i_min);
^
/opt/ros/indigo/include/control_toolbox/pid.h:248:8: note: candidate expects 5 arguments, 6 provided
/opt/ros/indigo/include/control_toolbox/pid.h:254:8: note: void control_toolbox::Pid::setGains(const control_toolbox::Pid::Gains&)
void setGains(const Gains &gains);
^
/opt/ros/indigo/include/control_toolbox/pid.h:254:8: note: candidate expects 1 argument, 6 provided
/home/shantengfei/catkin_ws/src/ros_controllers/velocity_controllers/src/joint_position_controller.cpp: In member function ‘void velocity_controllers::JointPositionController::getGains(double&, double&, double&, double&, double&)’:
/home/shantengfei/catkin_ws/src/ros_controllers/velocity_controllers/src/joint_position_controller.cpp:107:51: error: no matching function for call to ‘control_toolbox::Pid::getGains(double&, double&, double&, double&, double&, bool&)’
pid_controller_.getGains(p,i,d,i_max,i_min,dummy);
^
/home/shantengfei/catkin_ws/src/ros_controllers/velocity_controllers/src/joint_position_controller.cpp:107:51: note: candidates are:
In file included from /home/shantengfei/catkin_ws/src/ros_controllers/velocity_controllers/include/velocity_controllers/joint_position_controller.h:71:0,
from /home/shantengfei/catkin_ws/src/ros_controllers/velocity_controllers/src/joint_position_controller.cpp:43:
/opt/ros/indigo/include/control_toolbox/pid.h:232:8: note: void control_toolbox::Pid::getGains(double&, double&, double&, double&, double&)
void getGains(double &p, double &i, double &d, double &i_max, double &i_min);
^
/opt/ros/indigo/include/control_toolbox/pid.h:232:8: note: candidate expects 5 arguments, 6 provided
/opt/ros/indigo/include/control_toolbox/pid.h:238:9: note: control_toolbox::Pid::Gains control_toolbox::Pid::getGains()
Gains getGains();
^
/opt/ros/indigo/include/control_toolbox/pid.h:238:9: note: candidate expects 0 arguments, 6 provided
/home/shantengfei/catkin_ws/src/ros_controllers/velocity_controllers/src/joint_position_controller.cpp: In member function ‘void velocity_controllers::JointPositionController::getGains(double&, double&, double&, double&, double&, bool&)’:
/home/shantengfei/catkin_ws/src/ros_controllers/velocity_controllers/src/joint_position_controller.cpp:112:56: error: no matching function for call to ‘control_toolbox::Pid::getGains(double&, double&, double&, double&, double&, bool&)’
pid_controller_.getGains(p,i,d,i_max,i_min,antiwindup);
^
/home/shantengfei/catkin_ws/src/ros_controllers/velocity_controllers/src/joint_position_controller.cpp:112:56: note: candidates are:
In file included from /home/shantengfei/catkin_ws/src/ros_controllers/velocity_controllers/include/velocity_controllers/joint_position_controller.h:71:0,
from /home/shantengfei/catkin_ws/src/ros_controllers/velocity_controllers/src/joint_position_controller.cpp:43:
/opt/ros/indigo/include/control_toolbox/pid.h:232:8: note: void control_toolbox::Pid::getGains(double&, double&, double&, double&, double&)
void getGains(double &p,
double &i, double &d, double &i_max, double &i_min);
^
/opt/ros/indigo/include/control_toolbox/pid.h:232:8: note: candidate expects 5 arguments, 6 provided
/opt/ros/indigo/include/control_toolbox/pid.h:238:9: note: control_toolbox::Pid::Gains control_toolbox::Pid::getGains()
Gains getGains();
^
/opt/ros/indigo/include/control_toolbox/pid.h:238:9: note: candidate expects 0 arguments, 6 provided
/home/shantengfei/catkin_ws/src/ros_controllers/velocity_controllers/src/joint_position_controller.cpp: In member function ‘virtual void velocity_controllers::JointPositionController::update(const ros::Time&, const ros::Duration&)’:
/home/shantengfei/catkin_ws/src/ros_controllers/velocity_controllers/src/joint_position_controller.cpp:241:41: error: ‘struct control_msgs::JointControllerState_<std::allocator<void> >’ has no member named ‘antiwindup’
controller_state_publisher_->msg_.antiwindup = static_cast<char>(antiwindup);
^
make[2]: *** [ros_controllers/effort_controllers/CMakeFiles/effort_controllers.dir/src/joint_velocity_controller.cpp.o] Error 1
make[1]: *** [ros_controllers/effort_controllers/CMakeFiles/effort_controllers.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 13%] Building CXX object ros_controllers/diff_drive_controller/CMakeFiles/diff_drive_controller.dir/src/odometry.cpp.o
[ 13%] Building CXX object ros_controllers/diff_drive_controller/CMakeFiles/diff_drive_controller.dir/src/speed_limiter.cpp.o
make[2]: *** [ros_controllers/velocity_controllers/CMakeFiles/velocity_controllers.dir/src/joint_position_controller.cpp.o] Error 1
make[1]: *** [ros_controllers/velocity_controllers/CMakeFiles/velocity_controllers.dir/all] Error 2
Linking CXX shared library /home/shantengfei/catkin_ws/devel/lib/libdiff_drive_controller.so
[ 13%] Built target diff_drive_controller
make: *** [all] Error 2
Invoking "make -j4 -l4" failed
I cannot find the error that make the building failed. Could anyone who can give me some suggestions?
Originally posted by tengfei on ROS Answers with karma: 88 on 2017-10-27
Post score: 0
Original comments
Comment by tengfei on 2017-11-06:
update:
(I tried to put the update above but something like code and link couln't use.)I tried to install using the first method in ros_control but failed.
Comment by tengfei on 2017-11-06:
Here is the output. The following packages have unmet dependencies: ros-indigo-ros-control:i386 : Depends: ros-indigo-control-toolbox:i386 but it is not going to be installed
Comment by tengfei on 2017-11-06:
Depends: ros-indigo-controller-manager:i386 but it is not going to be installed
Depends: ros-indigo-controller-manager-msgs:i386 but it is not going to be installed