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

group is not a chain

asked 2019-03-12 06:26:05 -0600

mvish7 gravatar image

updated 2019-03-13 03:09:41 -0600

Hello,

I’m using panda arm with moveit. I want to create the planning group which will include all the joints in my robot. Currently i have created two planning groups as suggested in this tutorial.

When i simply add all joints in one planning group i get error of group is not a chain, no kinmetic solver is instantiated for this group.

I want to plan trajectory for whole panda robot i.e. arm and gripper together. I tried various ways such as

1) adding all joints in a group 2) adding chain which includes base and tip links etc

I have referred this and this previous questions too, but i couldn’t come up with a planning group which will let me plan trajectory for whole panda robot.

Can anyone suggest me why the planning group including all the joints gives me error which can be seen below?? and how can i rectify it??

Update 1

Here is the main URDF file, which includes arm and hand xacro files.

Here is the SRDF file (created when i include all the joints of panda robot in one planning group)

Relevant Error lines from terminal

You can start planning now!

[ INFO] [1552464458.084260463]: Loading robot model 'panda'...
[ WARN] [1552464458.084320265]: Skipping virtual joint 'virtual_joint' because its child frame 'panda_link0' does not match the URDF frame 'world'
[ INFO] [1552464458.084338894]: No root/virtual joint specified in SRDF. Assuming fixed joint
[ INFO] [1552464458.159456831]: Loading robot model 'panda'...
[ WARN] [1552464458.159490871]: Skipping virtual joint 'virtual_joint' because its child frame 'panda_link0' does not match the URDF frame 'world'
[ INFO] [1552464458.159505494]: No root/virtual joint specified in SRDF. Assuming fixed joint
[ERROR] [1552464458.162638812]: Group 'panda_arm' is not a chain
[ERROR] [1552464458.162676424]: failed to initialized caching plugin
[ERROR] [1552464458.162696757]: Kinematics solver of type 'cached_ik_kinematics_plugin/CachedKDLKinematicsPlugin' could not be initialized for group 'panda_arm'
[ERROR] [1552464458.162950656]: Kinematics solver could not be instantiated for joint group panda_arm.
[ INFO] [1552464458.209491415]: Starting scene monitor
[ INFO] [1552464458.222512226]: Listening to '/move_group/monitored_planning_scene'
[ INFO] [1552464458.727591546]: No active joints or end effectors found for group 'hand'. Make sure that kinematics.yaml is loaded in this node's namespace.
[ INFO] [1552464458.728529359]: No active joints or end effectors found for group 'hand'. Make sure that kinematics.yaml is loaded in this node's namespace.
[ INFO] [1552464458.728837948]: Constructing new MoveGroup connection for group 'hand' in namespace ''
[ INFO] [1552464459.725851190]: Ready to take commands for planning group hand.
[ INFO] [1552464459.726127065]: Looking around: no
[ INFO] [1552464459.726254093]: Replanning: no
edit retag flag offensive close merge delete

Comments

You should post the SRDF and URDF you are using as well as the error message

fvd gravatar image fvd  ( 2019-03-13 02:50:58 -0600 )edit

To clarify: The guide to create a trajectory with MoveIt is in the tutorials. This is a Q&A site, so you need to post a question that can have a meaningful answer. "Can someone help me?" is not a question that can be answered in this format. By contrast, "Why is this thing that I tried not working?" can be answered.

fvd gravatar image fvd  ( 2019-03-13 02:55:29 -0600 )edit
1

@fvd: Apologies for inappropriate framing of my question. You are right and i don't expect to get full fledged guidance on this forum but only hints on what's going wrong? Could you please have a look at the update part of the question?? If there is any tutorial available on planning trajectory for arm + gripper, can you please point me that resource??

mvish7 gravatar image mvish7  ( 2019-03-13 03:12:55 -0600 )edit

1 Answer

Sort by » oldest newest most voted
2

answered 2019-03-19 06:05:14 -0600

fvd gravatar image

updated 2019-03-19 09:08:28 -0600

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 IK solvers in MoveIt only work on chains, which is why this is a requirement.

edit flag offensive delete link more

Comments

Most motion planners in MoveIt only work on chains, which is why this is a requirement.

planners or IK solvers?

gvdhoorn gravatar image gvdhoorn  ( 2019-03-19 06:21:52 -0600 )edit

I only know that for IK solvers, and OMPL should be agnostic I think. Edited.

fvd gravatar image fvd  ( 2019-03-19 09:08:21 -0600 )edit
1

@fvd: Thank you for pointing out. I wanted to create the group which can actuate all joints in robot at once but i missed the trick about kinematic chains and branches. Now i have created two groups as per tutorials and i could actuate the gripper joints.

mvish7 gravatar image mvish7  ( 2019-03-20 10:17:16 -0600 )edit

<group name="pi_arm"> <joint name="joint1"/> <joint name="virtual_joint"/> <joint name="joint2"/> <joint name="joint4"/> <joint name="joint3"/> <joint name="joint5"/>

i have done as you suggest do,but i still wrong

dubao996 gravatar image dubao996  ( 2020-12-08 07:08:56 -0600 )edit

Comments are not meant for new questions. Please post your own question referencing this one and add more details.

fvd gravatar image fvd  ( 2020-12-08 18:30:10 -0600 )edit

ok,thank you

dubao996 gravatar image dubao996  ( 2020-12-08 20:10:37 -0600 )edit

Question Tools

2 followers

Stats

Asked: 2019-03-12 06:26:05 -0600

Seen: 5,124 times

Last updated: Mar 19 '19