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

I can give you a partial answer that will at least allow you to control the two arms as separate move groups, which might give you a start.

  • In the setup assistant, specify four planning groups, one for each arm and one for each end effector. Make sure to give them names that allow you to know which end effector is on which arm.

  • In the setup assistant, label your end effector planning groups as end effectors. Again, give them names that let you know which end effector is on which arm.

  • Generate the files again.

  • In your code, do the same as that tutorial specifies, but do it twice, once for each end effector. When specifying the allowable grasps, you will need to ensure that the end effectors will not collide with each other, so set the grasps to be on the opposite sides of the object or similar.

See this tutorial for a working dual-arm setup.

Unfortunately, moving the arms together without tearing the thing you're holding apart is beyond my MoveIt! knowledge. I don't know if MoveIt! even supports this without a custom planner of some kind, because it needs to ensure that the trajectories for both arms will maintain the grippers in the same relative position. Most industrial dual-arm use cases seem to focus on using the two arms separately. Hopefully one of the ROS-Industrial people will have a solution.

I can give you a partial answer that will at least allow you to control the two arms as separate move groups, which might give you a start.

  • In the setup assistant, specify four planning groups, one for each arm and one for each end effector. Make sure to give them names that allow you to know which end effector is on which arm.

  • In the setup assistant, label your end effector planning groups as end effectors. Again, give them names that let you know which end effector is on which arm.

  • Generate the files again.

  • In your code, do the same as that tutorial specifies, but do it twice, once for each end effector. When specifying the allowable grasps, you will need to ensure that the end effectors will not collide with each other, so set the grasps to be on the opposite sides of the object or similar.

See this tutorial for a working dual-arm setup.

Unfortunately, moving the arms together without tearing the thing you're holding apart is beyond my MoveIt! knowledge. I don't know if MoveIt! even supports this without a custom planner of some kind, because it needs to ensure that the trajectories for both arms will maintain the grippers in the same relative position. This answer discusses closed chains, which is effectively what you have when you are holding something in two hands, and so the information there may be helpful. Most industrial dual-arm use cases seem to focus on using the two arms separately. Hopefully one of the ROS-Industrial people will have a solution.