MoveIt loading CHOMP library from wrong path
I wanted to try the CHOMP path planner with MoveIt, but when I try that I get the following error:
[ERROR] [1642153041.575042140]: Exception while loading planner 'chomp_interface/CHOMPPlanner': Failed to load library /opt/ros/noetic/lib//libchomp_planner_plugin.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.
I have installed CHOMP and /opt/ros/noetic/lib/libchomp_planner_plugin.so
exists in my system. However notice how MoveIt seems to be adding 2 forward slashes before the file name /opt/ros/noetic/lib//libchomp_planner_plugin.so
.
Is there a way to change this path?
- OS: Ubuntu 20.04
- ROS version: noetic
move_group.launch
<launch>
<!-- GDB Debug Option -->
<arg name="debug" default="false" />
<arg unless="$(arg debug)" name="launch_prefix" value="" />
<arg if="$(arg debug)" name="launch_prefix" value="gdb -x $(find my_robot_moveit)/launch/gdb_settings.gdb --ex run --args" />
<!-- Verbose Mode Option -->
<arg name="info" default="$(arg debug)" />
<arg unless="$(arg info)" name="command_args" value="" />
<arg if="$(arg info)" name="command_args" value="--debug" />
<!-- move_group settings -->
<arg name="pipeline" default="ompl" />
<arg name="allow_trajectory_execution" default="true" />
<arg name="fake_execution" default="false" />
<arg name="execution_type" default="interpolate" /> <!-- set to 'last point' to skip intermediate trajectory in fake execution -->
<arg name="max_safe_path_cost" default="1" />
<arg name="jiggle_fraction" default="0.05" />
<arg name="publish_monitored_planning_scene" default="true" />
<arg name="capabilities" default="" />
<arg name="disable_capabilities" default="" />
<!-- load these non-default MoveGroup capabilities (space seperated) -->
<!--
<arg name="capabilities" value="
a_package/AwsomeMotionPlanningCapability
another_package/GraspPlanningPipeline
" />
-->
<!-- inhibit these default MoveGroup capabilities (space seperated) -->
<!--
<arg name="disable_capabilities" value="
move_group/MoveGroupKinematicsService
move_group/ClearOctomapService
" />
-->
<arg name="load_robot_description" default="true" />
<!-- load URDF, SRDF and joint_limits configuration -->
<include file="$(find my_robot_moveit)/launch/planning_context.launch">
<arg name="load_robot_description" value="$(arg load_robot_description)" />
</include>
<!-- Planning Pipelines -->
<group ns="move_group/planning_pipelines">
<!-- OMPL -->
<!-- <include ns="ompl" file="$(find my_robot_moveit)/launch/planning_pipeline.launch.xml">
<arg name="pipeline" value="ompl" />
</include> -->
<!-- CHOMP -->
<include ns="chomp" file="$(find my_robot_moveit)/launch/planning_pipeline.launch.xml">
<arg name="pipeline" value="chomp" />
</include>
<!-- Pilz Industrial Motion-->
<!-- <include ns="pilz_industrial_motion_planner" file="$(find moveit_resources_prbt_moveit_config)/launch/planning_pipeline.launch.xml">
<arg name="pipeline" value="pilz_industrial_motion_planner" />
</include> -->
<!-- Support custom planning pipeline -->
<include if="$(eval arg('pipeline') not in ['ompl', 'chomp', 'pilz_industrial_motion_planner'])" file="$(find my_robot_moveit)/launch/planning_pipeline.launch.xml">
<arg name="pipeline" value="$(arg pipeline)" />
</include>
</group>
<!-- Trajectory Execution Functionality -->
<include ns="move_group" file="$(find my_robot_moveit)/launch/trajectory_execution.launch.xml" if="$(arg allow_trajectory_execution)">
<arg name="moveit_manage_controllers" value="true" />
<arg name="moveit_controller_manager" value="my_robot" unless="$(arg fake_execution)" />
<arg name="moveit_controller_manager" value="fake" if="$(arg fake_execution)" />
<arg name="execution_type" value="$(arg execution_type)" />
</include>
<!-- Sensors Functionality -->
<include ns="move_group" file="$(find ...
Can you pls share your launch file. Sometimes you generate the wrong path
You mean the move_group.launch? I added it now
You should have a file similar to this:
https://github.com/ros-planning/movei...
Check
I think you may have the extra
/
there