Ask Your Question
0

build metapackage ros_controllers failed

asked 2017-10-27 05:35:13 -0500

tengfei gravatar image

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 ...
(more)
edit retag flag offensive close merge delete

Comments

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.

tengfei gravatar imagetengfei ( 2017-11-06 03:01:00 -0500 )edit

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

tengfei gravatar imagetengfei ( 2017-11-06 03:02:42 -0500 )edit

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

tengfei gravatar imagetengfei ( 2017-11-06 03:03:44 -0500 )edit

2 Answers

Sort by » oldest newest most voted
0

answered 2017-11-04 06:48:54 -0500

gvdhoorn gravatar image

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.

edit flag offensive delete link more

Comments

hi gvdhoorn, I have installed the package successfully. I just followed the tutorial ros_control and it worked. Thank you!

tengfei gravatar imagetengfei ( 2017-11-06 01:53:53 -0500 )edit
0

answered 2017-11-06 01:55:58 -0500

tengfei gravatar image

I have installed the package successfully. I just followed the tutorial ros_controlI have installed the package successfully. I just followed the tutorial ros_control and it worked. )and it worked. note: There are two install methods the first one doesn't work while the second one works well.

edit flag offensive delete link more

Comments

The "first method" (installing the binary debs) will work as well, but you'll have to use the correct package names. On Indigo, that would be:

sudo apt-get install ros-indigo-ros-control ros-indigo-ros-controllers

You cannot install Lunar (or Kinetic) packages on Indigo.

gvdhoorn gravatar imagegvdhoorn ( 2017-11-06 02:09:35 -0500 )edit

I'm sure that I tried to install the indigo version, now I tried another time it output ros-indigo-ros-control:i386 : Depends: ros-indigo-control-toolbox:i386 but it is not going to be installed and many similar output

tengfei gravatar imagetengfei ( 2017-11-06 02:30:03 -0500 )edit

Which makes sense, as control_toolbox is not available on i386 systems (see here fi).

You never mentioned that you were running this on a 32bit system btw.

gvdhoorn gravatar imagegvdhoorn ( 2017-11-06 03:51:12 -0500 )edit

Sorry,my Ubuntu is 64-bit instead of 32bit. when I put insudo uname --m the output is x86_64.

tengfei gravatar imagetengfei ( 2017-11-06 04:16:48 -0500 )edit

Then there would seem to be some configuration issue, as ros-indigo-control-toolbox:i386 is not amd64. Did you configure the system for multi-arch?

gvdhoorn gravatar imagegvdhoorn ( 2017-11-06 05:25:35 -0500 )edit

last month my pc got into trouble that I even cannot install any software. I repaired it but I don't remember exactly what I have done to fix it. So now what can I do to get rid of this problem?

tengfei gravatar imagetengfei ( 2017-11-06 05:37:40 -0500 )edit

I cannot help you with that. I would recommend to try and find help on a more appropriate forum (Ask Ubuntu or similar).

gvdhoorn gravatar imagegvdhoorn ( 2017-11-06 05:41:41 -0500 )edit

OK. Thank you!

tengfei gravatar imagetengfei ( 2017-11-06 05:47:29 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

2 followers

Stats

Asked: 2017-10-27 05:35:13 -0500

Seen: 106 times

Last updated: Nov 06 '17