Bipedal planning in MoveIt [closed]

asked 2015-05-12 20:43:37 -0500

anonymous user


updated 2015-05-12 20:47:02 -0500


I intend to raise a a question similar to a previous question I had, see: link

We have a biped system that consists of two grippers. One gripper is locked whilst the over maneuvers into position to grasp a target. Once grasped, the first gripper is then released and can move to a new location. This is how locomotion occurs. See here for more details: Conf Paper

In the image below we term the gripper on the left "Gripper 1" whilst the gripper on the right is termed "Gripper 2". image description

We desire to use ROS to compute the joint trajectories and execute these on the machine. The machine can be broken into two serial, kinematic chains with a resultant URDF for each of the chains Gripper 1 -> Gripper 2 and Gripper 2 -> Gripper 1. Using this methodology the paths can be computed for each side INDIVIDUALLY. The URDF is manually loaded depending what side should be planned. Therein is the problem.

Our problem seems very close to that of a humanoid biped in which foot placement is considered, rather than our grippers.

How would users suggest that ROS be used in order to calculate the motion plan for either side?

We have already had some concepts, but would appreciate input from the larger ROS audience:

  1. Could the URDF be changed dynamically depending what kinematic chain should be planned?
  2. Can this simply be done with different move groups?

A note regarding move groups: Our previous attempt to use this was halted since it appeared that the specifying the chain to be from a child to a parent would not work. Chains specified from parent to child, as usual, worked fine but this can only be used for one side (Eg Gripper 1 -> Gripper 2)

Thanks in advance.

edit retag flag offensive reopen merge delete

Closed for the following reason question is not relevant or outdated by tfoote
close date 2020-08-13 20:34:03.797543


Can you define two groups perhaps? One from gripper1 -> gripper2 (making gripper1 the parent), and one from gripper2->gripper1 (making gripper2 the parent). Then alternate planning requests between the two groups?

gvdhoorn gravatar image gvdhoorn  ( 2015-05-13 05:16:00 -0500 )edit

When you say groups, are you referring to "move_groups"?

anonymous userAnonymous ( 2015-05-14 16:45:08 -0500 )edit

Yes. Define two chains in the Setup Assistant. I'm not sure it will let you use joints/links twice, so you might have to do it manually in your robot_name.srdf.

gvdhoorn gravatar image gvdhoorn  ( 2015-05-15 00:56:45 -0500 )edit

Did you guys make any progress or find any other solution? I've built two URDF file for the robot , one from base_gripper to the end_gripper , the other from end to base_gripper. I've use Moveit to generate moveit_config packages for these move groups. How to simulate the biped walking locomotion?

Craig gravatar image Craig  ( 2016-09-26 08:19:40 -0500 )edit

@Craig, Try defining a model that has the kinematics base->end but then append to that the reverse, spoofing the reverse kinematic chain: base->intermediate->end->intermediate_->base_. Plan both of these using move groups on each part of the chain. You will need a fake link from world to some point.

anonymous userAnonymous ( 2016-11-30 21:55:39 -0500 )edit

has this worked for anyone? @cmeaclem do you mean that the urdf should have base->intermediate->end->intermediate->base or is this something you do on the moveit setup assistant?

tech_support gravatar image tech_support  ( 2020-01-02 10:49:40 -0500 )edit