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