Ask Your Question
0

Multi-Robot MoveIt collision management

asked 2021-03-18 06:29:49 -0500

IgnacioUD gravatar image

I'm trying to simulate a multi robot system with 2 UR3. So far I've managed to launch the simulation with both robotic arms and start a single instance of rviz with MoveIt for each robot. At this point i can plan the motion for each robot simultaneously, as they have a separate instance of MoveIt running within their proper namespace.

The problem I'm facing is that the robots can collide with each other (They are close enought in the simulation). As MoveIt is running independently for each robot the motion planning is not able to "see" the other robotic arm. So I'm wondering if there's a way to make each robot aware of the position of the other in Rviz in order to be able to plan motion without collision.

I'm working in ubuntu 20.04, with ROS1 noetic and 2 UR3.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
2

answered 2021-03-19 18:53:21 -0500

Dave Coleman gravatar image

MoveIt supports dual arm manipulation out of the box, so typically the 2 UR3s are combined into a single URDF (using xacro) and consider one unified robot.

Is there are reason you are running two instances of MoveIt for this? If you must have two instances, you could write a script that published the current state of the robot (via /tf or /planning_scene) from one instance of MoveIt to the other, by converting that state in collision objects. But that would likely be pretty slow.

edit flag offensive delete link more

Comments

Thank you very much for your quick response. I'll be exploring the single URDF way. I was having multiple instances because there're a lot of examples builded that way. I did find one with a single URDF but it was incomplete and bad documented.

IgnacioUD gravatar image IgnacioUD  ( 2021-03-20 08:50:47 -0500 )edit

It would be good to link to resources that you found while trying to solve your problem, so others can benefit later.

fvd gravatar image fvd  ( 2021-03-20 10:33:18 -0500 )edit
2

answered 2021-03-19 22:25:13 -0500

fvd gravatar image

As Dave mentioned, multiple robot arms in one robot system is a common use case for MoveIt. I published an example a few years ago that has two UR5s and one UR3 in one URDF: https://github.com/o2as/ur-o2as/

It is planned to list more examples like that here.

edit flag offensive delete link more

Comments

Huge thanks for sharing your example, I was struggling to find multirobot URDFs. Your example covers almost a big part of what I'm developping.

IgnacioUD gravatar image IgnacioUD  ( 2021-03-20 08:52:28 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

2 followers

Stats

Asked: 2021-03-18 06:29:49 -0500

Seen: 160 times

Last updated: Mar 19