0
$\begingroup$

Rosanswers logo

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

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Are you sure you are not trying to compile the kinetic-devel version of ros_controllers against your ROS Indigo version of control_toolbox (and other packages)?

That is not going to work.


Originally posted by gvdhoorn with karma: 86574 on 2017-11-04

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by tengfei on 2017-11-06:
hi gvdhoorn, I have installed the package successfully. I just followed the tutorial ros_control and it worked. Thank you!

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.