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

How to create chain in MoveIt planning groups from left foot to right foot for a Biped robot?

asked 2022-02-03 01:22:19 -0500

PrajwalSangam gravatar image

I am trying to simulate a biped robot. I have generated the Cartesian trajectory for the left and right foot positions. Now I want to obtain the inverse kinematic joint angles to follow the trajectory.

I am trying to do this using MoveIt motion planners. In the planning group I found the option called "chain", in which i set the base_link as left_foot and end-effector as right_foot. In biped motion, during swing phase, one foot acts as base_link(fixed to the ground) and other foot acts as end-effector(needs to follow the parabolic motion for stepping).

This isnt working as the moveit says the group is not in chain form. Is this because the start of the robot tree structure from the torso from where the robot appears to be branched at hip joints?. How do I proceed further?

edit retag flag offensive close merge delete

Comments

Hello, Did you find a solution ? I have the same issue.

Acwok gravatar image Acwok  ( 2023-04-28 03:34:13 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2023-04-30 09:27:53 -0500

Mike Scheutzow gravatar image

updated 2023-04-30 09:43:05 -0500

Is this because the start of the robot tree structure from the torso from where the robot appears to be branched at hip joints?

Yes, that is what it is complaining about. In moveit, you can define more than one group (i.e. chain of links.) So you should be able to define one group from right-foot to left-foot, and another group from left-foot to right-foot. In this representation, the entire upper body is a single link.

That said, I'm not optimistic that moveit will generate usable solutions for you. I don't think the usual IK solvers are going to work well for this use case.

Update: you may be able to do this using only a single group, and simply configure which foot-link is the base, and which is the eef. But I've never actually tried to swap links like this, so I'm not sure if that works.

edit flag offensive delete link more

Comments

I have a similar case. My robot is basically a torso with two arms. If I define a group from left to right, I get the error "Group left_to_right is not a chain". The KDL kinematics plugin looks for the parenting of the joints in the group: https://github.com/ros-planning/movei.... In our case, the torso has no parents that belongs to the group because in the URDF the torso IS the parent.

I've found a kinematics plugin that support non-chain groups but it was written for ROS1

Acwok gravatar image Acwok  ( 2023-05-02 09:14:33 -0500 )edit

@Acwok OK, thanks for the info. That same code exists in the ros1 moveit, so I guess a separate urdf is needed for the left-to-right and right-to-left analysis. That's quite ugly.

Mike Scheutzow gravatar image Mike Scheutzow  ( 2023-05-02 11:42:48 -0500 )edit

Question Tools

Stats

Asked: 2022-02-03 01:22:19 -0500

Seen: 61 times

Last updated: Apr 30 '23