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–2026 by Universal Robots A/S.
Contents
Introduction
The Realtime communications Interface
NOTE: 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.
Data packages are sent at 500 Hz.
RealTime 5.9
NOTE: 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
NOTE: 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.26
NOTE: 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 |
Reserved |
double |
6 |
48 |
103 - 108 |
Values used by Universal Robots software only |
Tool Accelerometer |
double |
3 |
24 |
109 - 111 |
Tool x,y, and z accelerometer values (software version 1.7) |
Reserved |
double |
6 |
48 |
112 - 117 |
Values used by Universal Robots software only |
Speed scaling |
double |
1 |
8 |
118 |
Speed scaling of the trajectory limiter |
Linear momentum norm |
double |
1 |
8 |
119 |
Norm of Cartesian linear momentum |
Reserved |
double |
1 |
8 |
120 |
A value used by Universal Robots software only |
Reserved |
double |
1 |
8 |
121 |
A value used by Universal Robots software only |
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 |
Reserved |
double |
1 |
8 |
140 |
A value used by Universal Robots software only |
Reserved |
double |
1 |
8 |
141 |
A value used by Universal Robots software only |
Reserved |
double |
1 |
8 |
142 |
A value used by Universal Robots software only |
Script control line |
double |
1 |
8 |
143 |
Script line number that is actually in control of the robot given the robot is locked by one of the threads in the script. If no thread is locking the robot this field is set to ‘0’. |
Payload Mass |
double |
1 |
8 |
144 |
Payload Mass [kg] |
Payload CoG |
double |
3 |
24 |
145 - 147 |
Payload Center of Gravity (x, y, z) [m] |
Payload Inertia |
double |
6 |
48 |
148 - 153 |
Payload Inertia (Ixx, Iyy, Izz, Ixy, Ixz, Iyz) [kg*m^2] |
Joint position deviation ratio |
double |
1 |
8 |
154 |
A C153 or C159 protective stop is triggered if the value is ever equal to or exceeds 1.0 |
Collision detection ratio |
double |
1 |
8 |
155 |
A C157 or C158 protective stop is triggered if the value is ever equal to or exceeds 1.0 |
Time scale source |
double |
1 |
8 |
156 |
|
Reserved |
double |
1 |
8 |
157 |
A value used by Universal Robots software only |
Reserved |
double |
1 |
8 |
158 |
A value used by Universal Robots software only |
Reserved |
double |
1 |
8 |
159 |
A value used by Universal Robots software only |
Target gravity |
double |
3 |
24 |
160 - 162 |
Currently active gravity (x, y, z) [m/s²] input through the PolyScope mounting screen or using the “set_gravity()” URScript function |
Target base acceleration |
double |
6 |
48 |
163 - 168 |
Currently active external base acceleration (x, y, z, rx, ry, rz) [m/s², m/s², m/s², rad/s², rad/s², rad/s²] input using the “set_base_acceleration()” URScript function. |
Reserved |
double |
6 |
48 |
169 - 174 |
Values used by Universal Robots software only |
Reserved |
double |
6 |
48 |
175 - 180 |
Values used by Universal Robots software only |
Controller step |
double |
1 |
8 |
181 |
Control time steps since URControl executable launch |
TOTAL |
182 |
1452 |
If fewer than 1452 bytes are received, the protocol follows the structure listed above but only includes the entries up to the received byte count.