Ask Your Question
0

Error when loading joint controller

asked 2012-09-24 00:38:54 -0600

Nachum gravatar image

updated 2014-01-28 17:13:44 -0600

ngrennan gravatar image

Hi I am trying to load a real time joint controller as in the tutorial http://www.ros.org/wiki/pr2_mechanism/Tutorials/Running%20a%20realtime%20joint%20controller when i write rosrun pr2_controller_manager pr2_controller_manager list-types i find my controller.

rosrun pr2_controller_manager pr2_controller_manager list-types
JointGravityController
JointPendulumController
MyControllerCart
ethercat_trigger_controllers/MultiTriggerController
ethercat_trigger_controllers/ProjectorController
ethercat_trigger_controllers/TriggerController
my_controller_pkg/MyControllerPlugin

but when i try to run it by -- rosrun pr2_controller_manager pr2_controller_manager load my_controller_ns i get an error [

    [ WARN] [1348483742.077905347, 5304.895000000]: The deprecated controller type MyControllerPlugin was not found.  Using the namespaced version my_controller_pkg/MyControllerPlugin instead.  Please update your configuration to use the namespaced version.
[ERROR] [1348483742.078175612, 5304.896000000]: Could not load class my_controller_pkg/MyControllerPlugin: Failed to load library /home/nachum/my_controller_pkg/lib/libmy_controller_lib.so. Make sure that you are calling the PLUGINLIB_REGISTER_CLASS macro in the library code, and that names are consistent between this macro and your XML. Error string: Cannot load library: No manifest in /home/nachum/my_controller_pkg/lib/libmy_controller_lib.so: my_controller_pkg__MyControllerPlugin
[ERROR] [1348483742.078288739, 5304.896000000]: Could not load controller 'my_controller_ns' because controller type 'my_controller_pkg/MyControllerPlugin' does not exist

any ideas what am i doing wrong? Thanks

Nachum

edit retag flag offensive close merge delete

Comments

Which version of ROS and which OS are you using?

The error messages complain that you aren't declaring and exporting your plugin properly; have you checked that? If you can post your controller code, manifest and CMakelists.txt, that will help debug.

ahendrix gravatar imageahendrix ( 2012-09-24 07:34:11 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted
0

answered 2012-10-15 22:34:17 -0600

Nachum gravatar image

Some how I just closed the Gazebo and turned it on again and it worked.

edit flag offensive delete link more

Comments

1

Probably because the controller manager re-initialized the list of plugins.

Lorenz gravatar imageLorenz ( 2012-10-15 22:44:55 -0600 )edit
1

answered 2012-09-27 05:20:49 -0600

arzhed gravatar image

Hi Nachum,

I don't know if you solved it yet, but here is an answer.

The warning is due to the setting of the controller type. You must specify the package, i.e (if you followed the tutorial):

$ rosparam set my_controller_name/type my_controller_pkg/MyControllerPlugin

Concerning the second error : to load your controller type, use your controller name (it seems you are using your controller namespace). So, to refer to the tutorial, use "my_controller_name" instead of "my_controller_ns".

Concerning the first error : might be many things, but if you follow the previous tutorial right, you should solve it.

edit flag offensive delete link more

Your Answer

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

Add Answer

Question Tools

Stats

Asked: 2012-09-24 00:38:54 -0600

Seen: 1,251 times

Last updated: Oct 15 '12