Error: Links 'torso_lift_link' and 'l_wrist_roll_link' do not form a chain

asked 2015-03-10 17:04:31 -0600

akihiko gravatar image

updated 2015-05-07 18:41:31 -0600

Hello everyone.

I have a problem in using MoveIt! and the real PR2 robot. I am using MoveIt! for collision checking from C++.

When I load a robot model with robot_model_loader::RobotModelLoader from the "robot_description" parameter on the ROS parameter server with a code like:

int main(int argc, char**argv)
{
  ros::init(argc, argv, "state_validity_checker");
  ros::NodeHandle node("~");
  robot_model_loader::RobotModelLoader robot_model_loader("robot_description");
  return 0;
}

the program outputs an error and dies as follows:

...
core service [/rosout] found
process[state_validity_checker-1]: started with pid [19705]
[ERROR]: Links 'torso_lift_link' and 'l_wrist_roll_link' do not form a chain. Not included in group 'left_arm'
[ WARN]: Group 'left_arm' is empty.
[state_validity_checker-1] process has died [pid 19705, exit code -11, cmd ...

I tested the same code on the gazebo simulator where the program could run correctly, then I executed the code on the real PR2 where the above error happened.

I checked that the "robot_description" parameter provides a correct information as follows:
On an external PC, I executed the same program, using the "robot_description" parameter provided by the computers on the real PR2. Thus, there is no problem of the "robot_description" parameter.

Hence, the problem will be a library or a configuration file. However, I could not identify the problem. I checked the URDF and SRDF of PR2, but they are the same as those of the external PC.

Could you please give me any advises to solve this problem?

Thank you so much in advance,
-- Akihiko


Edited@2015-05-07

I still can not solve this problem. I also tested to execute a tutorial program such as collision_contact_tutorial.launch in pr2_moveit_tutorials:

roslaunch pr2_moveit_tutorials collision_contact_tutorial.launch

but there was the same error (Links 'torso_lift_link' and 'l_wrist_roll_link' do not form a chain). By the way, those links are used in the beginning of the SRDF file as:

<group name="left_arm">
    <chain base_link="torso_lift_link" tip_link="l_wrist_roll_link" />
</group>

Anyway now I doubt this will be a moveit!'s problem. Has someone experienced a similar problem?

edit retag flag offensive close merge delete

Comments

If you don't think this is a MoveIt issue, perhaps you could try and see whether the official PR2 support channels / fora / mailing lists could offer any help?

Do please update this question if you ever solve it.

gvdhoorn gravatar image gvdhoorn  ( 2015-05-08 02:03:44 -0600 )edit

DId you get solution.I am having the same issue.

prrraveen gravatar image prrraveen  ( 2015-07-21 10:23:19 -0600 )edit

I haven't solved this problem yet, but my tentative solution would work in many cases. Use an external PC and connect to the same network as PR2. Then launch a node using above code (e.g. a planner, state-validity checker) on the external PC. Now you can use that node as if it is working on PR2.

akihiko gravatar image akihiko  ( 2015-07-21 18:56:22 -0600 )edit