Skip to content

Running multiple move_groups and/or robot arms #465

Open
@felixvd

Description

@felixvd

It appears that there is no solid reference for people who want to run multiple robot arms in ROS. There are a number of ROS Answers posts, but I actually have trouble finding them myself when I want to link them, so they are somewhat ephemeral knowledge. It is also unclear what the best practice is. It would be great if a tutorial covered multiple robot arms in a scene.

The tutorial should answer questions like:

  • Should each arm have its own move_group?
  • Should it be in a namespace?
  • How to plan for multiple arms' motions at the same time?

The way I have done it in the past is (and my understanding of best practice) is:

  1. All robot arms should be defined in the same URDF
  2. Each arm should have its own move_group
  3. If arms need to move in sync, they can be defined in a combined move_group

I have no experience namespacing MoveIt instances, or running robots completely separately from each other in different namespaces. I suspect that both may try to access a global namespace and clash (e.g. when publishing their robot_description to it by default), and that the two robots would not know anything about each other, which is obviously problematic. My impression is that it would be at best fiddly, and at worst unstable. It would be interesting to hear if there are valid use cases I am not thinking of. I suspect @gavanderhoorn may have some in mind.

If anyone else has comments about this, this would be a good thread to pool them. Links to relevant ROS answers posts or other resources are very welcome, too.

Lastly, since the solution I talked about at the MoveIt workshop 2019 is fully open, I could base an example for a tutorial off of it at some point.

edit: I added some example code to this ROS answer.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions