create_ikfast_moveit_plugin.py output
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.
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.
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
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.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....
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.
MoveIt is not stuck anywhere.
Noetic is supported and MoveIt2 requires ROS 2 Foxy.
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 ;-)