arm_navigation stack: ompl node not recognising end effector/tip name for processing Cartesian Goals
I'm trying to utilise the OMPL node to generate trajectories.
I've been able to call the ompl_planning/getMotionPlan service on my ompl_planning node by ensuring I've sent through an empty planning_scene_diff_request which has allowed the environment server to share the planning scene.
However my ompl_node is now giving the error:
Cartesian goals for link are the only ones that can be processed
which a google search shows the error to be comming from ompl_ros_joint_planner.cpp, in particluar the lines:
if (!(request.motion_plan_request.goal_constraints.position_constraints[i].link_name == end_effector_name_))
{
response.error_code.val = motion_planning_msgs::ArmNavigationErrorCodes::INVALID_LINK_NAME;
ROS_ERROR("Cartesian goals for link %s are the only ones that can be processed", end_effector_name_.c_str());
return false;
}
Now it seems that the error string is the end_effector_name_.c_str() as being equal to "", which is strange as it should be initialised by the parameter server as "Tool" as per this line of the same program:
node_handle_.getParam(physical_group_name+"/tip_name",end_effector_name_);
And this tip name is shown in the parameters here:
/robot_description_planning/groups:
- {base_link: base_link, name: r_arm, tip_link: Tool}
- joints: [joint8, joint9]
name: r_end_effector
So why can it not find the appropriate tip name from the parameter server and use it to recognise my planning goal request?
cheers
Peter