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
Originally posted by PeterMilani on ROS Answers with karma: 1493 on 2013-03-17
Post score: 0