0
$\begingroup$

Rosanswers logo

I created my own kinematics plugin, akin to pr2_arm_kinematics_plugin.cpp. My intention is for it to be used by ompl_motion_planner, also like pr2_arm_kinematics_plugin in the case of the pr2_object_manipulation_launch demo. I added all the necessary ingredients (I think)-- CMakeLists that creates the plugin library, a kinematics_plugin.xml that specifies the package/class/type of the plugin, a manifest that exports the library and kinematics_plugin.xml.

When I launch ompl_motion_planner, it does find my plugin:

/opt/ros/diamondback/stacks/motion_planners/ompl_ros_interface/src/ik/ompl_ros_ik_sampler.cpp (57): Found solver my_namespace/MyKinematicsPlugin

However, it throws the error:

/opt/ros/diamondback/stacks/motion_planners/ompl_ros_interface/src/ik/ompl_ros_ik_sampler.cpp (65): The plugin failed to load. Error: Failed to load library /path/to/my_kinematics/lib/libmy_kinematics_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 /path/to/my_kinematics/lib/libmy_kinematics_lib.so: my_namespace__MyKinematicsPlugin

The lib does exist at the specified path.

The error is confusing, because the way I understand it from the wiki is that PLUGINLIB_REGISTER_CLASS is the boxturtle version of PLUGINLIB_DECLARE_CLASS. I have the former at the top of my my_knematics_plugin.cpp file. Any clues?


Originally posted by seanarm on ROS Answers with karma: 753 on 2011-10-17

Post score: 4

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

I believe you should be using the PLUGINLIB_DECLARE_CLASS macro, not PLUGINLIB_REGISTER_CLASS. I say this because REGISTER is for the boxturtle release of ROS. Since your package path says that you're using diamondback, your version of pluginlib will not be the same as the one from boxturtle. This will cause a conflict and the error that you're seeing. It says on the wiki page that ompl supports Diamondback, so I would check your version of pluginlib, just to be sure.


Originally posted by DimitriProsser with karma: 11163 on 2011-10-18

This answer was ACCEPTED on the original site

Post score: 3


Original comments

Comment by tfoote on 2011-10-18:
A ticket to fix the error message would be appreciated. I expect the error message was not updated at the time the macro was updated.

$\endgroup$

Your Answer

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