• Universal Robots A/S
  • Energivej 25
  • DK-5260 Odense S
  • Denmark 
  • Find your regional contact here

World wide

  • Americas headquarter
  • Universal Robots USA, Inc.
  • 5430 Data Court, Suite 300
    Ann Arbor, Michigan 48108, USA
  • Tel. +1 844 462-6268
  • ur.na@universal-robots.com

  • Southern Europe, MEA, Turkey
  • Universal Robots Spain S.L
  • c/Josep Plà 2 –  Edificio B2
  • Planta baja, local C
  • E-08019 Barcelona, SPAIN
  • Tel. +34 933 158 076
  • ur.med@universal-robots.com
  • Central and Eastern Europe
  • Universal Robots A/S
  • Siemensova 2717/4
  • 150 00 Praha 13 – Stodůlky
  • Czech Republic
  • Tel. +420 222 286 200
  • ur.cee@universal-robots.com


  • APAC
  • Universal Robots (Singapore) Pte, Ltd.
  • 20 Science Park Road, Teletech Park
    Science Park II, #03-36/37,
    SINGAPORE 117674
  • Tel. +65 66 35 72 70
  • ur.apac@universal-robots.com

  • India
  • Universal Robots India Pvt. Ltd
  • Ground floor, Beech, E1 Manyata Embassy Business Park
    Outer Ring Road, Nagawara
    Bangalore 560045
  • Tel. +91 97428 22033
  • ur.india@universal-robots.com
  • China
  • Universal Robots (Shanghai) Ltd.
  • Room 2008, 20th Floor 
    No. 688 West Nanjing Road 
    Jingan District
  • 200041 PRC, Shanghai, CHINA
  • Tel. +86 21 6132 6418
  • ur.china@universal-robots.com
For Technical Support, please contact your Local distributor
Find distributor

Click here

06. December 2017
Blog>How to get robots to talk to each other

How to get robots to talk to each other

Posted by: Sam Paxton / 0 Comments

With the rising popularity of vision systems and other robot-aiding instruments, it is now common to see robots take on more and more intricate tasks. This creates situations where robots are handing off parts to each other and in doing this, they need to communicate robot to robot to maintain efficiency and fast production times. Universal Robots have an arsenal of communication protocols to satisfy almost all new and old networks, including: MODBUS, ProfiNet, EtherNet/IP, TCP/IP, and XMLRPC.

TCP/IP and Remote Control
One of the more popular communication methods used with Universal Robots is a simple TCP/IP socket connection via Ethernet. Why is TCP/IP popular? Many of the readily available Remote Control Servers that run on all UR’s, including a Primary, Secondary, Real-time, and Dashboard server, utilize the TCP/IP protocol. These servers accept various commands remotely from a client program running on an external device or another robot. In the case of a part handoff between two robots where the timing might vary depending on the previous task, the Dashboard Server can be used to start, pause, or stop the robot. For an example of the Dashboard Servers in action, watch these two UR3 cobots in action solving a Rubik’s Cube:

Each robot moves three sides of the cube, but some of these moves require the other robot to hold the cube differently for the robot actually rotating one of the sides. To accomplish this, the robot holding the cube will move to a different position and tell the robot moving the cube when it is ready. Then, the holding robot will pause its own program and wait for confirmation that the side has been moved from the moving robot.

The Dashboard server has much more functionality that just starting/stopping the robot. For more information on Dashboard Server commands and usage, see Article 15690 on Universal Robots support page.

 Alternative Remote Control Servers
The Dashboard Server provides access to very high level functionality, such as loading programs, getting robot states, and turning it on and off. More specific functionality, such as moving the robot, is archived through the Primary (port 30001), Secondary (port 30002), or Real-Time (port 30003) Servers that also run on the robot. These servers listen for URScript commands such as:

  • movej(pose) move the robot to the specified pose
  • sleep(seconds) have the robot wait a number of seconds
  • freedrive_mode() send the robot into free drive mode
These are sent as encoded strings to the robot which are executed immediately. This might be helpful when the handoff point between two robots varies from time to time; the robot with the part can tell another robot to go to a specific point based off where it is handing off the part, or to tell the robot to wait where it is for a defined amount of time. To learn more about URScript and its native functions, download the URScript Manual (SW3.5).This functionality enables UR robots to be operated remotely, hence the collective name for these servers: Remote Control Servers. If there is some specific functionality that isn’t natively supported by URScript, predefined functions can be written and included in the robot’s preamble, so that these commands can now be understood when sent over a Remote Server.

How to get robots to talk to each other  screen shot.png
Testing the Dashboard server: For testing purposes a program for testing sockets can be used, like HyperTerminal, or similar. In this example the freeware program SocketTest is used

When XMLRPC comes in handy

Another communication method I want to talk about is XMLRPC, which stands for XML-formatted Remote Procedure Call. This is not necessarily used for robot-to-robot communication, but is extremely useful for performing functions during runtime that are impossible to support through URScript. An XMLRPC can call a program or predefined function written in another language during runtime. This is especially useful for routines that are not compatible with the URController and need to be executed separately. To read more about XMLRPC functionality, read Article 16326 on Universal Robots Support page.

At Task Force Tips in Indiana, USA, two UR5 robots work in tandem in a vision controlled machine tending application. All communication between vision systems and robots happen through MODBUS.

Get the ebook on MODBUS
The MODBUS protocol, an industry standard, is used frequently throughout the robot industry. Although MODBUS is often times used along with a MODBUS controller, the protocol can be used by itself for yet another robot-to-robot communication method. Axis New England, a UR distributor, has created a convenient ebook that lays out how MODBUS connections are setup, and what is needed to configure communication between two robots. The ebook also introduces example programs using MODBUS registers to send coordinate information between two robots, complete with a download link to the example program and a video of the program in action.

Click here to get your free e-book!
Share this post

Sam Paxton

Sam Paxton is currently finishing a co-op assignment at Teradyne Inc. and plans to finish his degree in Computer Engineering at UMass Lowell. At Teradyne, Sam benchmarked average times to create vision programs and researched ways to create a more approachable solution to vision applications, which included studying many different communication methods robots are currently using.


About UR Blog

Find inspiring stories on how collaborative robots - or cobots - are lowering the automation barrier. And learn how the UR cobots can benefit your business.



    Recent posts