ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A answers.ros.org

# Trouble getting started with moveit ikfast and youbot

Hi all,

I'm trying to get simulated and broadcast trajectory topics using my ikfast plugin on the youbot. I'm on groovy and Ubuntu 12.04 64 bit, for reference.

I am trying to follow this tutorial: http://ros.org/wiki/Industrial/Tutorials/Create_a_MoveIt_Pkg_for_an_Industrial_Robot

but currently am having issues with section 3, which may be related to some hiccups in section 2.

Right now, when I launch the demo.launch file in my youbot_moveit_config file, most things work fine, but I get the following error:

[ERROR] [1374614251.460463757]: The kinematics plugin (arm) failed to load. Error: Could not find library corresponding to plugin youbot_arm_kinematics/IKFastKinematicsPlugin. Make sure the plugin description XML file has the correct name of the library and that the library actually exists.


The XML file says:

<?xml version='1.0' encoding='ASCII'?>
<library path="lib/libyoubot_moveit_ikfast_kinematics_plugin">
<class name="youbot_arm_kinematics/IKFastKinematicsPlugin" type="ikfast_kinematics_plugin::IKFastKinematicsPlugin" base_class_type="kinematics::KinematicsBase">
<description>IKFast61 plugin for closed-form kinematics</description>
</class>
</library>


Now, I don't have a lib folder, but I don't know what kind of step I was supposed to do in order to get it to appear (I followed all the steps in the tutorial - did I miss one?). As such, when I start up the planner, the planning library that is loaded is OPML - but I assume that's supposed to say ikfast or something of the like.

As what I think is a second problem, when I move onto section 3 of the tutorial, I get the following error:

[FATAL] [1374614779.105180003]: Parameter '~moveit_controller_manager' not specified. This is needed to identify the plugin to use for interacting with controllers. No paths can be executed.


But my launch file is setup just how the tutorial says:

<launch>
<arg name="moveit_controller_manager"
default="pr2_moveit_controller_manager/Pr2MoveItControllerManager"/>
<param name="moveit_controller_manager"
value="$(arg moveit_controller_manager)"/> <arg name="controller_manager_name" default="pr2_controller_manager" /> <param name="controller_manager_name" value="$(arg controller_manager_name)"/>

<arg name="use_controller_manager" default="false" />
<param name="use_controller_manager"
value="$(arg use_controller_manager)" /> <rosparam file="$(find youbot_moveit_config)/config/controllers.yaml"/>
</launch>


Does anybody know the solution to these two problems?

EDIT: As it turns out, I do have that lib file - under my <catkin_workspace>/devel/lib, there is a libyoubot_moveit_ikfast_kinematics_plugin.so file. So it seems like this might be a paths issue. I do not know what path is expected because I don't know what that library path is considered to be relative to; I will try an absolute path and see if that gives me any luck, but if you know the correct way to set this as a relative path, that would be appreciated. Edit: Setting it to ~/ros_stacks/catkin_workspace/lib/libyoubot_moveit_ikfast_kinematics_plugin.so both with and without the .so doesn't help.

edit retag close merge delete

Sort by » oldest newest most voted

The fact there is no lib/ folder is problematic. Did you compile the ikfast package? Make sure the xml file you mentioned is next to a package.xml (in the directory structure) and that the package.xml specifies a dependency on moveit_core.

The planning library and the kinematics library are different, so seeing OMPL is fine, but the kinematics lib itself fails to load.

The ~moveit_controller_manager plugin needs to specify the name of the plugin that can execute trajectories. Is the config launch file you mentioned included in the correct namespace? It needs to be in the namespace of move_group.

more

Sorry for the delay, I got caught up in other projects and just got back to this. As it turns out, I do have that lib file - under my <catkin_workspace>/devel/lib, there is a libyoubot_moveit_ikfast_kinematics_plugin.so file. So it seems like this might be a paths issue. I do not know what path is expected because I don't know what that library path is considered to be relative to; I will try an absolute path and see if that gives me any luck, but if you know the correct way to set this as a relative path, that would be appreciated. Edit: Setting it to ~/ros_stacks/catkin_workspace/lib/libyoubot_moveit_ikfast_kinematics_plugin.so both with and without the .so doesn't help.

( 2013-08-06 05:51:00 -0600 )edit