Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The isaac_ros_cumotion_moveit plugin version incompatibility #27

Open
pawelir opened this issue Jan 3, 2025 · 2 comments
Open

The isaac_ros_cumotion_moveit plugin version incompatibility #27

pawelir opened this issue Jan 3, 2025 · 2 comments

Comments

@pawelir
Copy link

pawelir commented Jan 3, 2025

Hi, I run into incompatibility issue between isaac_ros_cumotion 3.2.0 and moveit 2.5.6 on ROS Humble. It seems like isaac_ros_cumotion_moveit plugin was built against moveit in version 2.5.5 and in that shape released to apt manager. As a result there is no way to successfully load cumotion planner with moveit having them both in the apt newest versions (3.2.0 and 2.5.6 respectively).

I managed to solve it by building isaac_ros_cumotion_moveit from source.

Crucial line:

[move_group-6] [ERROR] [1735908667.170689276] [moveit.ros_planning.planning_pipeline]: Exception while loading planner 'isaac_ros_cumotion_moveit/CumotionPlanner': Failed to load library /opt/ros/humble/lib/libisaac_ros_cumotion_moveit.so. Make sure that you are calling the PLUGINLIB_EXPORT_CLASS macro in the library code, and that names are consistent between this macro and your XML. Error string: Could not load library dlopen error: libmoveit_planning_interface.so.2.5.5: cannot open shared object file: No such file or directory, at ./src/shared_library.c:99Available plugins: isaac_ros_cumotion_moveit/CumotionPlanner, ompl_interface/OMPLPlanner, pilz_industrial_motion_planner/CommandPlanner

Full logs:

[move_group-6] [INFO] [1735908667.159480936] [moveit.ros_planning_interface.moveit_cpp]: Loading planning pipeline 'isaac_ros_cumotion'
[move_group-6] [WARN] [1735908667.160436982] [pluginlib.ClassLoader]: given plugin name 'libisaac_ros_cumotion_moveit' should be 'isaac_ros_cumotion_moveit' for better portability
[move_group-6] [ERROR] [1735908667.170689276] [moveit.ros_planning.planning_pipeline]: Exception while loading planner 'isaac_ros_cumotion_moveit/CumotionPlanner': Failed to load library /opt/ros/humble/lib/libisaac_ros_cumotion_moveit.so. Make sure that you are calling the PLUGINLIB_EXPORT_CLASS macro in the library code, and that names are consistent between this macro and your XML. Error string: Could not load library dlopen error: libmoveit_planning_interface.so.2.5.5: cannot open shared object file: No such file or directory, at ./src/shared_library.c:99Available plugins: isaac_ros_cumotion_moveit/CumotionPlanner, ompl_interface/OMPLPlanner, pilz_industrial_motion_planner/CommandPlanner
[move_group-6] [INFO] [1735908667.172121989] [moveit_ros.add_time_optimal_parameterization]: Param 'isaac_ros_cumotion.path_tolerance' was not set. Using default value: 0.100000
[move_group-6] [INFO] [1735908667.172129350] [moveit_ros.add_time_optimal_parameterization]: Param 'isaac_ros_cumotion.resample_dt' was not set. Using default value: 0.100000
[move_group-6] [INFO] [1735908667.172131318] [moveit_ros.add_time_optimal_parameterization]: Param 'isaac_ros_cumotion.min_angle_change' was not set. Using default value: 0.001000
[move_group-6] [INFO] [1735908667.172140167] [moveit_ros.fix_workspace_bounds]: Param 'isaac_ros_cumotion.default_workspace_bounds' was not set. Using default value: 10.000000
[move_group-6] [INFO] [1735908667.172146444] [moveit_ros.fix_start_state_bounds]: Param 'isaac_ros_cumotion.start_state_max_bounds_error' was set to 0.100000
[move_group-6] [INFO] [1735908667.172148526] [moveit_ros.fix_start_state_bounds]: Param 'isaac_ros_cumotion.start_state_max_dt' was not set. Using default value: 0.500000
[move_group-6] [INFO] [1735908667.172152833] [moveit_ros.fix_start_state_collision]: Param 'isaac_ros_cumotion.start_state_max_dt' was not set. Using default value: 0.500000
[move_group-6] [INFO] [1735908667.172154857] [moveit_ros.fix_start_state_collision]: Param 'isaac_ros_cumotion.jiggle_fraction' was not set. Using default value: 0.020000
[move_group-6] [INFO] [1735908667.172156890] [moveit_ros.fix_start_state_collision]: Param 'isaac_ros_cumotion.max_sampling_attempts' was not set. Using default value: 100
[move_group-6] [INFO] [1735908667.172172907] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Add Time Optimal Parameterization'
[move_group-6] [INFO] [1735908667.172174789] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Resolve constraint frames to robot links'
[move_group-6] [INFO] [1735908667.172176005] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Workspace Bounds'
[move_group-6] [INFO] [1735908667.172177312] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State Bounds'
[move_group-6] [INFO] [1735908667.172178487] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State In Collision'
[move_group-6] [INFO] [1735908667.172179646] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State Path Constraints'
[move_group-6] [ERROR] [1735908667.173232000] [moveit.ros_planning_interface.moveit_cpp]: Failed to initialize planning pipeline 'isaac_ros_cumotion'.
[move_group-6] [INFO] [1735908667.173635384] [moveit.ros_planning_interface.moveit_cpp]: Loading planning pipeline 'ompl'
[move_group-6] [INFO] [1735908667.179335011] [moveit.ros_planning.planning_pipeline]: Using planning interface 'OMPL'
[move_group-6] [INFO] [1735908667.180548566] [moveit_ros.add_time_optimal_parameterization]: Param 'ompl.path_tolerance' was not set. Using default value: 0.100000
[move_group-6] [INFO] [1735908667.180554651] [moveit_ros.add_time_optimal_parameterization]: Param 'ompl.resample_dt' was not set. Using default value: 0.100000
[move_group-6] [INFO] [1735908667.180556605] [moveit_ros.add_time_optimal_parameterization]: Param 'ompl.min_angle_change' was not set. Using default value: 0.001000
[move_group-6] [INFO] [1735908667.180565149] [moveit_ros.fix_workspace_bounds]: Param 'ompl.default_workspace_bounds' was not set. Using default value: 10.000000
[move_group-6] [INFO] [1735908667.180571166] [moveit_ros.fix_start_state_bounds]: Param 'ompl.start_state_max_bounds_error' was set to 0.100000
[move_group-6] [INFO] [1735908667.180573348] [moveit_ros.fix_start_state_bounds]: Param 'ompl.start_state_max_dt' was not set. Using default value: 0.500000
[move_group-6] [INFO] [1735908667.180577859] [moveit_ros.fix_start_state_collision]: Param 'ompl.start_state_max_dt' was not set. Using default value: 0.500000
[move_group-6] [INFO] [1735908667.180579712] [moveit_ros.fix_start_state_collision]: Param 'ompl.jiggle_fraction' was not set. Using default value: 0.020000
[move_group-6] [INFO] [1735908667.180581524] [moveit_ros.fix_start_state_collision]: Param 'ompl.max_sampling_attempts' was not set. Using default value: 100
[move_group-6] [INFO] [1735908667.180585695] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Add Time Optimal Parameterization'
[move_group-6] [INFO] [1735908667.180587257] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Resolve constraint frames to robot links'
[move_group-6] [INFO] [1735908667.180588530] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Workspace Bounds'
[move_group-6] [INFO] [1735908667.180589878] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State Bounds'
[move_group-6] [INFO] [1735908667.180591052] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State In Collision'
[move_group-6] [INFO] [1735908667.180592183] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State Path Constraints'
[move_group-6] [INFO] [1735908667.190263334] [moveit.plugins.moveit_simple_controller_manager]: Added FollowJointTrajectory controller for joint_trajectory_controller
[move_group-6] [INFO] [1735908667.190342125] [moveit.plugins.moveit_simple_controller_manager]: Returned 1 controllers in list
[move_group-6] [INFO] [1735908667.190350862] [moveit.plugins.moveit_simple_controller_manager]: Returned 1 controllers in list
[move_group-6] [INFO] [1735908667.190554554] [moveit_ros.trajectory_execution_manager]: Trajectory execution is managing controllers
[move_group-6] [INFO] [1735908667.190564045] [move_group.move_group]: MoveGroup debug mode is ON
[move_group-6] [ERROR] [1735908667.190590248] [moveit_move_group_capabilities_base.move_group_context]: Failed to find default PlanningPipeline 'isaac_ros_cumotion' - please check MoveGroup's planning pipeline configuration.
[move_group-6] [INFO] [1735908667.195200841] [move_group.move_group]: 
[move_group-6] 
[move_group-6] ********************************************************
[move_group-6] * MoveGroup using: 
[move_group-6] *     - ApplyPlanningSceneService
[move_group-6] *     - ClearOctomapService
[move_group-6] *     - CartesianPathService
[move_group-6] *     - ExecuteTrajectoryAction
[move_group-6] *     - GetPlanningSceneService
[move_group-6] *     - KinematicsService
[move_group-6] *     - MoveAction
[move_group-6] *     - MotionPlanService
[move_group-6] *     - QueryPlannersService
[move_group-6] *     - StateValidationService
[move_group-6] ********************************************************
[move_group-6] 
[move_group-6] Stack trace (most recent call last):
[move_group-6] #5    Object "", at 0xffffffffffffffff, in 
[move_group-6] #4    Object "/opt/ros/humble/lib/moveit_ros_move_group/move_group", at 0x611293120724, in 
[move_group-6] #3    Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x72b3e51f4e3f, in __libc_start_main
[move_group-6] #2    Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x72b3e51f4d8f, in 
[move_group-6] #1    Object "/opt/ros/humble/lib/moveit_ros_move_group/move_group", at 0x61129311f547, in 
[move_group-6] #0    Object "/opt/ros/humble/lib/libmoveit_move_group_capabilities_base.so.2.5.6", at 0x72b3e5bb1bb5, in move_group::MoveGroupContext::status() const
[move_group-6] Segmentation fault (Address not mapped to object [0x68])
[ros2_control_node-1] [INFO] [1735908667.238431613] [controller_manager]: Loading controller 'joint_state_broadcaster'
[spawner-8] [INFO] [1735908667.340270552] [spawner_joint_state_broadcaster]: Loaded joint_state_broadcaster
[ros2_control_node-1] [INFO] [1735908667.341013529] [controller_manager]: Configuring controller 'joint_state_broadcaster'
[ros2_control_node-1] [INFO] [1735908667.341085155] [joint_state_broadcaster]: 'joints' or 'interfaces' parameter is empty. All available state interfaces will be published
[ERROR] [move_group-6]: process has died [pid 16560, exit code -11, cmd '/opt/ros/humble/lib/moveit_ros_move_group/move_group --ros-args --params-file /tmp/launch_params_3mu736a4'].
@Sensor7
Copy link

Sensor7 commented Jan 21, 2025

If you meet such issue:

[move_group-1] [ERROR] [1736787468.149232694] [moveit.ros_planning.planning_pipeline]: Exception while loading planner 'isaac_ros_cumotion_moveit/CumotionPlanner': Failed to load library /opt/ros/humble/lib/libisaac_ros_cumotion_moveit.so. Make sure that you are calling the PLUGINLIB_EXPORT_CLASS macro in the library code, and that names are consistent between this macro and your XML. Error string: Could not load library dlopen error: **libmoveit_planning_interface.so.2.5.5**: cannot open shared object file: No such file or directory, at ./src/shared_library.c:99Available plugins: chomp_interface/CHOMPPlanner, isaac_ros_cumotion_moveit/CumotionPlanner, ompl_interface/OMPLPlanner, pilz_industrial_motion_planner/CommandPlanner

Then it indicates that the library dependency libmoveit_planning_interface.so.2.5.5 is requiered by the plugin. You can use command find /opt/ros/humble/ -name libmoveit_planning_interface.so* and command ldd /opt/ros/humble/lib/libisaac_ros_cumotion_moveit.so to check if any are missing.

Once you found there are files with slightly different version, you can create a symlink to solve the Error (tested in following case)

sudo ln -s /opt/ros/humble/lib/libmoveit_planning_interface.so.2.5.6 /opt/ros/humble/lib/libmoveit_planning_interface.so.2.5.5
sudo ln -s /opt/ros/humble/lib/libmoveit_planning_scene.so.2.5.6 /opt/ros/humble/lib/libmoveit_planning_scene.so.2.5.5
sudo ln -s /opt/ros/humble/lib/libmoveit_robot_trajectory.so.2.5.6 /opt/ros/humble/lib/libmoveit_robot_trajectory.so.2.5.5
sudo ln -s /opt/ros/humble/lib/libmoveit_robot_state.so.2.5.6 /opt/ros/humble/lib/libmoveit_robot_state.so.2.5.5

For me it works ok

@pawelir
Copy link
Author

pawelir commented Jan 29, 2025

@Sensor7 this makes sense and indeed is more convenient than rebuilding from source.
Thanks for your suggestion 👍🏼

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants