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 image aPonza  ( 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 image aPonza  ( 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 image mkb_10062949  ( 2019-09-17 12:02:28 -0500 )edit

Has anyone achieved any solution for that problem? I'm facing the same issue as @mkb_100062949

NourhanKhatab gravatar image NourhanKhatab  ( 2020-04-07 11:20:06 -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 image gvdhoorn  ( 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 image ccetin  ( 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: 745 times

Last updated: Mar 05 '19