create_ikfast_moveit_plugin.py output

asked 2021-02-07 13:42:30 -0600

Batstru gravatar image

Dear all, quick question: I'm following this tutorial, and I reached the point of "plugin creation". From what I see the execution failed, however the return code is good.

What do you think? Searching around it's not clear which files and output I shall expect, however the following step of the tutorial, to use the outcome of the previous execution is failing because I don't have the file kinematics.yaml.

Could you please help me to understand? All build steps I followed are visible in this dockerfile.

root@a33cb63195ab:~/robotarm_ws/src# rosrun moveit_kinematics create_ikfast_moveit_plugin.py "$MYROBOT_NAME" "$PLANNING_GROUP" "$MOVEIT_IK_PLUGIN_PKG" base manipulator "$IKFAST_OUTPUT_PATH"
Creating IKFastKinematicsPlugin with parameters: 
 robot_name:           belt_robot
 base_link_name:       base
 eef_link_name:        manipulator
 planning_group_name:  belt_robot_planning_group
 ikfast_plugin_pkg:    belt_robot_ikfast_belt_robot_planning_group_plugin
 ikfast_output_path:   /robotarm_ws/src/robotarm_description/dae/ikfast_belt_robot_planning_group.cpp
 search_mode:          OPTIMIZE_MAX_JOINT
 srdf_filename:        belt_robot.srdf
 robot_name_in_srdf:   belt_robot
 moveit_config_pkg:    belt_robot_moveit_config

Found source code generated by IKFast version 75
Failed to find package: belt_robot_ikfast_belt_robot_planning_group_plugin. Will create it in /root/robotarm_ws/src/belt_robot_ikfast_belt_robot_planning_group_plugin.
Created ikfast header file at '/root/robotarm_ws/src/belt_robot_ikfast_belt_robot_planning_group_plugin/include/ikfast.h'
Created ikfast plugin file at '/root/robotarm_ws/src/belt_robot_ikfast_belt_robot_planning_group_plugin/src/belt_robot_belt_robot_planning_group_ikfast_moveit_plugin.cpp'
Created plugin definition at  '/root/robotarm_ws/src/belt_robot_ikfast_belt_robot_planning_group_plugin/belt_robot_belt_robot_planning_group_moveit_ikfast_plugin_description.xml'
Created cmake file at '/root/robotarm_ws/src/belt_robot_ikfast_belt_robot_planning_group_plugin/CMakeLists.txt'
Wrote package.xml at  '/root/robotarm_ws/src/belt_robot_ikfast_belt_robot_planning_group_plugin/package.xml'
Created update plugin script at '/root/robotarm_ws/src/belt_robot_ikfast_belt_robot_planning_group_plugin/update_ikfast_plugin.sh'
Failed to update MoveIt package:
Failed to find package: belt_robot_moveit_config
root@a33cb63195ab:~/robotarm_ws/src# echo $?
0

Here you can find the files of the workspace.

edit retag flag offensive close merge delete

Comments

I would suggest you use the Docker based approach to using OpenRave. See the IKFast Kinematics Solver tutorial.

There should be no need to build OpenRave from source.

gvdhoorn gravatar image gvdhoorn  ( 2021-02-07 15:25:42 -0600 )edit

Hi, unfortunately you pointed out to the tutorial I'm already following, which I mentioned at the beginning of my post... Anyway I can build openrave with no issues, you can rebuild the image with my dockerfile, just replace the starting image with a ros image suiting your environment.

Thanks

Batstru gravatar image Batstru  ( 2021-02-08 02:35:46 -0600 )edit

Hi, unfortunately you pointed out to the tutorial I'm already following, which I mentioned at the beginning of my post

no, you're following the old version, which does a lot of things manually and instructs you to build OpenRave from source. It also doesn't run OpenRave's built-in tests, so you don't know whether the plugin actually works.

OpenRave is rather sensitive to the precise version of dependencies used. That's why the Docker image approach used in the new tutorial was put together.

As to your error: as long as you have the resulting .cpp and .h, you can use the plugin. You'll just have to manually create a plugin package out of it.

gvdhoorn gravatar image gvdhoorn  ( 2021-02-08 02:39:25 -0600 )edit

HI, I was looking carefully into the tutorial you pointed out: it's using a docker image based on ros indigo and ubuntu trusty (14.04). Unfortunately moveit does not support this combination anymore, and actually the command "rosdep install -y --from-paths . --ignore-src --rosdistro indigo" doesn't actually work, even specifying the os. I personally find a bit disappointing that Moveit is stuck with this old stuff....

Batstru gravatar image Batstru  ( 2021-02-09 13:26:10 -0600 )edit
1

I'm not sure I follow.

Could you clarify what you are trying to do exactly?

When are you running rosdep install -y --from-paths . --ignore-src --rosdistro indigo?

Indigo is only mentioned once, to explain what's inside the Docker image.

You don't ever start an interactive shell in it, nor do you have to build anything yourself.

I personally find a bit disappointing that Moveit is stuck with this old stuff....

MoveIt is not stuck anywhere.

Noetic is supported and MoveIt2 requires ROS 2 Foxy.

gvdhoorn gravatar image gvdhoorn  ( 2021-02-09 14:04:53 -0600 )edit

Hi, thanks for following up. I must have misunderstood the documentation you pointed out, however I'm on track now. Following the "old" instruction I managed to successfully build my own docker image, generate the plugin and the configuration. Tomorrow (and in the next few days) I'll polish my work and I will post an update. Thanks for motivating ;-)

Batstru gravatar image Batstru  ( 2021-02-10 14:31:45 -0600 )edit