Universal Robots Forum

Synchronisation - 2 robots application


We have two UR10 robots and we would like to have a single program (master program stored on robot1) to control both.
Our case is quite simple, when a robot is moving the other one is motionless --> sequentially manner.

Example :

program launched on robot1
robot1-master : moveL_1
robot1-master : moveL_2

robot1 let the hand to robot2
robot2 take the hand

robot2 : moveL_1 ( robot1 not moving)
robot2 : moveL_2

robot2 let the hand to robot1
robot1 take the hand

robot1-master : moveL_1

What is the simplest way to do so ? modbus exchange ?
If you have some program examples… I am interested !

Thanks for your help.


Hi @florent.monbrun,
we are also working on a similar application of integrating both robots, in addition to your motion commands we also have IO to be shared between 2 robots Robot1 turns a valve on and the other robot performs few operations and should turn off the same valve, please share if your were able to find a solution for dual robot integration.


Depending on how complex your program is, you can use modbus to talk between the robots. However, you would need up to 6 registers for one pose variable. If you want to change velocity, acceleration, or rounding, those would be up to 3 more modbus registers. So, if you’re trying to stream several positions simultaneously, you will end up having to manage several registers on both robots, which does not sound fun.

Ethernet/IP and sockets will also work.

Hi @john_courtney,
we have any application where we have

  1. 2 robots
  2. 1 flipping fixture with rotary cylinder with locking cylinder physically wired to robot1
  3. component placing fixture physically wired to robot1
  4. 2 components to transfer between robot 2 to robot1
    we are trying to control flipping cylinder and locking cylinder by both robots (rotating clokwise and locking with robot1 and rotating anticlockwise and unlocking with robot2
    we are looking at IO control for material transfer and avoid avoid other robot movement during component picking from flipper and fixture by one robot.