ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
The error message telling you that the planning group is not a chain appears because you added all of the joints of the robot to it, including both finger joints. Your SRDF looks like this:
<group name="panda_arm">
<joint name="fixed_base" />
<joint name="panda_joint1" />
<joint name="panda_joint2" />
<joint name="panda_joint3" />
<joint name="panda_joint4" />
<joint name="panda_joint5" />
<joint name="panda_joint6" />
<joint name="panda_joint7" />
<joint name="panda_joint8" />
<joint name="panda_hand_joint" />
<joint name="panda_finger_joint1" />
<joint name="panda_finger_joint2" />
</group>
But according to the tutorial you linked, it needs to look like this:
<group name="panda_arm">
<joint name="fixed_base" />
<joint name="panda_joint1" />
<joint name="panda_joint2" />
<joint name="panda_joint3" />
<joint name="panda_joint4" />
<joint name="panda_joint5" />
<joint name="panda_joint6" />
<joint name="panda_joint7" />
<joint name="panda_joint8" />
</group>
The two finger joints are both attached to the hand_joint, so the group you created is not a linear chain without forks. Most motion planners in MoveIt only work on chains, which is why this is a requirement.
2 | No.2 Revision |
The error message telling you that the planning group is not a chain appears because you added all of the joints of the robot to it, including both finger joints. Your SRDF looks like this:
<group name="panda_arm">
<joint name="fixed_base" />
<joint name="panda_joint1" />
<joint name="panda_joint2" />
<joint name="panda_joint3" />
<joint name="panda_joint4" />
<joint name="panda_joint5" />
<joint name="panda_joint6" />
<joint name="panda_joint7" />
<joint name="panda_joint8" />
<joint name="panda_hand_joint" />
<joint name="panda_finger_joint1" />
<joint name="panda_finger_joint2" />
</group>
But according to the tutorial you linked, it needs to look like this:
<group name="panda_arm">
<joint name="fixed_base" />
<joint name="panda_joint1" />
<joint name="panda_joint2" />
<joint name="panda_joint3" />
<joint name="panda_joint4" />
<joint name="panda_joint5" />
<joint name="panda_joint6" />
<joint name="panda_joint7" />
<joint name="panda_joint8" />
</group>
The two finger joints are both attached to the hand_joint, so the group you created is not a linear chain without forks. Most motion planners IK solvers in MoveIt only work on chains, which is why this is a requirement. requirement.