Realtime Client Interface
The information contained herein is the property of Universal Robots A/S and shall not be reproduced in whole or in part without prior written approval of Universal Robots A/S. The information herein is subject to change without notice and should not be construed as a commitment by Universal Robots A/S. This document is periodically reviewed and revised.
Universal Robots A/S assumes no responsibility for any errors or omissions in this document.
Copyright © 2009–2021 by Universal Robots A/S.
Contents
Introduction
The Realtime communications Interface
(The RealTime interface has been deprecated since version 3.5. It is recommended to use the RTDE Interface, instead)
The information in this section applies to UR software versions shown below:
Realtime client = port 30003
Realtime client read-only = port 30013
The realtime communications interface is also known as the Matlab interface.
e-Series (500 Hz):
RealTime 5.9
(The RealTime interface has been deprecated since version 3.5. It is recommended to use the RTDE Interface, instead)
Meaning |
Type |
Number of values |
Size in bytes |
Gnuplot col. |
Notes |
---|---|---|---|---|---|
Message Size |
integer |
1 |
4 |
Total message length in bytes |
|
Time |
double |
1 |
8 |
1 |
Time elapsed since the controller was started |
q target |
double |
6 |
48 |
2 - 7 |
Target joint positions |
qd target |
double |
6 |
48 |
8 - 13 |
Target joint velocities |
qdd target |
double |
6 |
48 |
14 - 19 |
Target joint accelerations |
I target |
double |
6 |
48 |
20 - 25 |
Target joint currents |
M target |
double |
6 |
48 |
26 - 31 |
Target joint moments (torques) |
q actual |
double |
6 |
48 |
32 - 37 |
Actual joint positions |
qd actual |
double |
6 |
48 |
38 - 43 |
Actual joint velocities |
I actual |
double |
6 |
48 |
44 - 49 |
Actual joint currents |
I control |
double |
6 |
48 |
50 - 55 |
Joint control currents |
Tool vector actual |
double |
6 |
48 |
56 - 61 |
Actual Cartesian coordinates of the tool: (x,y,z,rx,ry,rz), rotation vector |
TCP speed actual |
double |
6 |
48 |
62 - 67 |
Actual speed of the tool given in Cartesian coordinates |
TCP force |
double |
6 |
48 |
68 - 73 |
Generalized forces in the TCP |
Tool vector target |
double |
6 |
48 |
74 - 79 |
Target Cartesian coordinates of the tool: (x,y,z,rx,ry,rz), rotation vector |
TCP speed target |
double |
6 |
48 |
80 - 85 |
Target speed of the tool given in Cartesian coordinates |
Digital input bits |
double |
1 |
8 |
86 |
Current state of the digital inputs (bits encoded as int64_t) |
Motor temperatures |
double |
6 |
48 |
87 - 92 |
Temperature of each joint in degrees Celsius |
Controller Timer |
double |
1 |
8 |
93 |
Controller real-time thread execution time |
Test value |
double |
1 |
8 |
94 |
A value used by Universal Robots software only |
Robot Mode |
double |
1 |
8 |
95 |
Robot mode |
Joint Modes |
double |
6 |
48 |
96 - 101 |
Joint control modes |
Safety Mode |
double |
1 |
8 |
102 |
Safety mode |
Tool Accelerometer |
double |
3 |
24 |
109 - 111 |
Tool x,y, and z accelerometer values (software version 1.7) |
Speed scaling |
double |
1 |
8 |
118 |
Speed scaling of the trajectory limiter |
Linear momentum norm |
double |
1 |
8 |
119 |
Norm of Cartesian linear momentum |
V main |
double |
1 |
8 |
122 |
Masterboard: Main voltage |
V robot |
double |
1 |
8 |
123 |
Masterboard: Robot voltage (48V) |
I robot |
double |
1 |
8 |
124 |
Masterboard: Robot current |
V actual |
double |
6 |
48 |
125 - 130 |
Actual joint voltages |
Digital outputs |
double |
1 |
8 |
131 |
Digital outputs |
Program state |
double |
1 |
8 |
132 |
Program state |
Elbow position |
double |
3 |
24 |
133 - 135 |
Elbow position |
Elbow velocity |
double |
3 |
24 |
136 - 138 |
Elbow velocity |
Safety Status |
double |
1 |
8 |
139 |
Safety status |
Payload Mass |
double |
1 |
8 |
143 |
Payload Mass [kg] |
Payload CoG |
double |
3 |
24 |
144 - 146 |
Payload Center of Gravity (x, y, z) [m] |
Payload Inertia |
double |
6 |
48 |
147 - 152 |
Payload Inertia (Ixx, Iyy, Izz, Ixy, Ixz, Iyz) [kg*m^2] |
TOTAL |
153 |
1220 |
If fewer than 1220 bytes are received, the protocol follows the structure listed above but only includes the entries up to the received byte count.
RealTime 5.10
(The RealTime interface has been deprecated since version 3.5. It is recommended to use the RTDE Interface, instead)
Meaning |
Type |
Number of values |
Size in bytes |
Gnuplot col. |
Notes |
---|---|---|---|---|---|
Message Size |
integer |
1 |
4 |
Total message length in bytes |
|
Time |
double |
1 |
8 |
1 |
Time elapsed since the controller was started |
q target |
double |
6 |
48 |
2 - 7 |
Target joint positions |
qd target |
double |
6 |
48 |
8 - 13 |
Target joint velocities |
qdd target |
double |
6 |
48 |
14 - 19 |
Target joint accelerations |
I target |
double |
6 |
48 |
20 - 25 |
Target joint currents |
M target |
double |
6 |
48 |
26 - 31 |
Target joint moments (torques) |
q actual |
double |
6 |
48 |
32 - 37 |
Actual joint positions |
qd actual |
double |
6 |
48 |
38 - 43 |
Actual joint velocities |
I actual |
double |
6 |
48 |
44 - 49 |
Actual joint currents |
I control |
double |
6 |
48 |
50 - 55 |
Joint control currents |
Tool vector actual |
double |
6 |
48 |
56 - 61 |
Actual Cartesian coordinates of the |
tool: (x,y,z,rx,ry,rz), rotation vector | | TCP speed actual | double | 6 | 48 | 62 - 67 | Actual speed of the tool given in Cartesian coordinates | | TCP force | double | 6 | 48 | 68 - 73 | Generalized forces in the TCP | | Tool vector target | double | 6 | 48 | 74 - 79 | Target Cartesian coordinates of the tool: (x,y,z,rx,ry,rz), rotation vector | | TCP speed target | double | 6 | 48 | 80 - 85 | Target speed of the tool given in Cartesian coordinates | | Digital input bits | double | 1 | 8 | 86 | Current state of the digital inputs (bits encoded as int64_t) | | Motor temperatures | double | 6 | 48 | 87 - 92 | Temperature of each joint in degrees Celsius | | Controller Timer | double | 1 | 8 | 93 | Controller real-time thread execution time | | Test value | double | 1 | 8 | 94 | A value used by Universal Robots software only | | Robot Mode | double | 1 | 8 | 95 | Robot mode | | Joint Modes | double | 6 | 48 | 96 - 101 | Joint control modes | | Safety Mode | double | 1 | 8 | 102 | Safety mode | | Tool Accelerometer | double | 3 | 24 | 109 - 111 | Tool x,y, and z accelerometer values (software version 1.7) | | Speed scaling | double | 1 | 8 | 118 | Speed scaling of the trajectory limiter | | Linear momentum norm | double | 1 | 8 | 119 | Norm of Cartesian linear momentum | | V main | double | 1 | 8 | 122 | Masterboard: Main voltage | | V robot | double | 1 | 8 | 123 | Masterboard: Robot voltage (48V) | | I robot | double | 1 | 8 | 124 | Masterboard: Robot current | | V actual | double | 6 | 48 | 125 - 130 | Actual joint voltages | | Digital outputs | double | 1 | 8 | 131 | Digital outputs | | Program state | double | 1 | 8 | 132 | Program state | | Elbow position | double | 3 | 24 | 133 - 135 | Elbow position | | Elbow velocity | double | 3 | 24 | 136 - 138 | Elbow velocity | | Safety Status | double | 1 | 8 | 139 | Safety status | | Payload Mass | double | 1 | 8 | 143 | Payload Mass [kg] | | Payload CoG | double | 3 | 24 | 144 - 146 | Payload Center of Gravity (x, y, z) [m] | | Payload Inertia | double | 6 | 48 | 147 - 152 | Payload Inertia (Ixx, Iyy, Izz, Ixy, Ixz, Iyz) [kg*m^2] | | TOTAL | | 153 | 1220 | | |
If fewer than 1220 bytes are received, the protocol follows the structure listed above but only includes the entries up to the received byte count.
Message Sources
A summary of different sources of the states:
[source1]
[source2]
[source3]
Safety Mode Types
Safety Mode Type |
Description |
---|---|
Normal |
No safety issue, robot can be operated as intended |
Reduced |
Reduced operational capabilities due to minor safety concerns |
Protective Stop |
The robot is stopped due to a safety issue that needs to be resolved before restarting |
Recovery |
Safety issue detected, robot requires recovery actions |
Safety Status Types
Safety Status Type |
Description |
---|---|
Protective Stop |
The robot is in a protective stop mode due to a detected issue |
Emergency Stop |
An emergency stop has been triggered |
Violation |
Safety system violation has been detected |
Fault |
A fault in the safety system has been detected |
Control Modes
Control Mode |
Description |
---|---|
Position |
Controls the robot in position mode |
Teach |
Robot is in teach mode for programming |
Force |
Controls the robot in force mode |
Robot Modes
Robot Mode |
Description |
---|---|
Manual |
Robot is in manual mode and can be controlled manually |
Automatic |
Robot is in automatic mode and follows pre-programmed instructions |
Semi-Automatic |
Robot is in semi-automatic mode with some manual interventions |
Joint Modes
Joint Mode |
Description |
---|---|
Free Drive |
Joint is in free drive mode for manual adjustments |
Brake |
Joint brake is activated |
Disable |
Joint is disabled |
Tool Modes
Tool Mode |
Description |
---|---|
Idle |
Tool is idle |
Active |
Tool is active |
Error |
Tool has encountered an error |