Ask Your Question

How run multiple move_group for different robots in single system

asked 2019-02-28 07:29:13 -0500

Vishnuprasad176 gravatar image


I am trying to simulate in Gazebo multiple robots(KUKA, UR5 and Franka Panda). In a URDF file included all the robot for simulation and using the Moveit made separate arm group of all three robots. Using the Moveit commander, I can control the robot, and it is working fine. Problem is when I am trying to control all the robot at the same time using the Moveit commander. If one robot is working, then another robot will not work even if I command to it. Is there any way I can work all three robots simultaneously.

edit retag flag offensive close merge delete


Could it be the calls you're giving to the commander are blocking (you have to wait until they're done before processing the next line)? I know roscpp offers asynchronous commands (look at MoveGroup::asyncMove and asyncExecute) and that might be it?

aPonza gravatar imageaPonza ( 2019-03-01 03:05:45 -0500 )edit

And it seems like the python alternative would be execute with wait=False if that were the problem.

aPonza gravatar imageaPonza ( 2019-03-01 03:08:37 -0500 )edit

Hey so did you manage to solve the problem because I am facing a similar problem in controlling two UR5 with moveit python interface for a pick and place task

mkb_10062949 gravatar imagemkb_10062949 ( 2019-09-17 12:02:28 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2019-03-05 15:06:22 -0500

mlautman gravatar image

MoveGroup is not intended to be used that way. You can do one of a few things: 1) Generate a combined RobotTrajectory with all of the joints across your multiple robots included or 2) You can always publish the trajectories directly to the controllers

edit flag offensive delete link more


Is the problem move_group here or the commander? Running multiple instances of move_group can definitely be done, but a MoveIt Commander instance only connects to one of those.

gvdhoorn gravatar imagegvdhoorn ( 2019-03-06 01:47:18 -0500 )edit

I am using the C++ API for the move_group and I came across the same problem. Running the asyncMove() command results in preempted cancellation of the first move request. Can you guys confirm that this is indeed not doable with move_group ?

A more detailed info on what I am trying to do: I have two planning groups and I want to execute a motion for both of them at the same time. Each planning group has its own instance of move_group however they get piped into the same action server causing the aforementioned problem.

ccetin gravatar imageccetin ( 2019-05-21 19:13:56 -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



Asked: 2019-02-28 07:29:13 -0500

Seen: 186 times

Last updated: Mar 05