Universal Robots+

Understanding robot-to-desktop communication and attaining load readings

I’m fresh to understanding how to use my laboratory’s new UR16e robotic arm. I’ve gone through tutorials for using the robot and know how to use the Polyscope built-in GUI to configure the robot. I’ve since been trying to understand how to write script for the robotic arm, how to send that script to the robotic arm to run it, and how to receive information from the arm back to my desktop. I have found little success in understanding how to do this. I went through the UR Caps tutorial with the starter package but didn’t feel like that information gave me a solution.

The ultimate goal for my laboratory’s UR16e is to use it as a mobile load cell that can read and report load and position data as the attached tool moves through different medium.

I’m looking for any links, explanations, and/or examples that can help me understand how to write script and execute script for the robot. If this is better fit for a URCap, please feel free to tell me so and explain why as well. If particular solutions are known for the problem I am ultimately trying to solve (i.e. getting force and position readings), sharing those is an extra bonus!

Hi @jvmiller

First of all, welcome to the Forum!

There are a number of different interfaces available from the robot that can be implmented to fit your needs. A summary of these can be found in this post about communication interfaces. You can communicate with these interfaces over a network, or implement themn through a URCap. Some sample implementations for the various interfaces are available on the URCap samples topic, where you should be able to see samples written by @jbm and various members of the community.

Regarding your specific need for sending URScript, this can be done through the secondary client interface, again sample implementations are available as part of a URCap, or can be implemented by some other desktop application, and the dashboard server can be used to start/stop/load programs remotely. Hopefully this will give you a starting point for your project.



As @sam.hilton mentioned there are numerous communication interfaces to help you accomplish this setup. In my experience one of the easiest would be a setup with a Python socket communication to the robot.

Follow this link: https://www.zacobria.com/universal-robots-zacobria-forum-hints-tips-how-to/script-via-socket-connection/

Zacobria has a lot of useful tutorials for Universal Robots.

You can use the primary interface to send URScript to move the robot and check the robot’s status through the dashboard!


It sounds like the RTDE interface might do the job for you. There are python scripts available as well somewhere on the website. Basically RTDE will allow you to asynchronously stream the values you need back from the robot. Here is a table of just some of the information you can stream using RTDE and python.

1 Like