ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 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.

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.