Client InterfacesV3.14andV5.9
Client InterfacesV3.14andV5.9
CB3 (10Hz):
e-Series (10Hz):
NOTE:
• Not every robot state message may necessarily contain all of the packages described.
• Therefore, it is a good idea to test the package type chars, to see what packages are included in the message.
• Not all package types are documented here.
• Only the message type "ROBOT_STATE" is documented here (messageType value is 16)
int messageSize (total size including robot mode data, joint data, cartesian info, kinematics info, masterboard data, tool data,
unsigned char messageType = ROBOT_STATE = 16
This page describes the data sent from the robot controller:
Joint data
int packageSize
unsigned char packageType = JOINT_DATA = 1
for each joint:
double q_actual
double q_target
double qd_actual
float I_actual
float V_actual
float T_motor
float T_micro
unsigned char jointMode
end
The "jointMode" field is a code for the joint status (shown on the initialisation screen):
Cartesian info
int packageSize
unsigned char = CARTESIAN_INFO = 4
double X
double Y
double Z
double Rx
double Ry
double Rz
Masterboard data
int packageSize
unsigned char packageType = MASTERBOARD_DATA = 3
short digitalInputBits
short digitalOutputBits
char analogInputRange0
char analogInputRange1
double analogInput0
double analogInput1
char analogOutputDomain0
char analogOutputDomain1
double analogOutput0
double analogOutput1
float masterBoardTemperature
float robotVoltage48V
float robotCurrent
float masterIOCurrent
unsigned char masterSaftyState
unsigned char masterOnOffState
char euromap67InterfaceInstalled
(if euromap67 interface is installed, also the following:
int euromapInputBits
int euromapOutputBits
short euromapVoltage
short euromapCurrent)
Tool data
int packageSize
unsigned char packageType = TOOL_DATA = 2
char analogInputRange2
char analogInputRange3
double analogInput2
double analogInput3
float toolVoltage48V
unsigned char toolOutputVoltage
float toolCurrent
float toolTemperature
unsigned char toolMode
SecurityMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_SECURITY = 5
int robotMessageCode
int robotMessageArgument
char array textMessage
RobotcommMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_ERROR_CODE = 6
int robotMessageCode
int robotMessageArgument
char array textMessage
KeyMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_KEY = 7
int robotMessageCode
int robotMessageArgument
unsigned char titleSize
char array messageTitle
char array textMessage
LabelMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_PROGRAM_LABEL = 1
int id
char array textMessage
PopupMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_POPUP = 2
bool warning
bool error
unsigned char titleSize
char array messageTitle
char array textMessage
RequestValueMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_REQUEST_* = 0-8
unsigned int requestId
char array textMessage
TextMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_TEXT = 0
char array textMessage
VarMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_VARIABLE = 8
int code
int argument
unsigned char titleSize
char array messageTitle
char array messageText
rtesian info, kinematics info, masterboard data, tool data, configuration data)
DataStreamFromURController
nitialisation screen): JointModes
MessageSources
1.7 Retur til index
Primary and secondary client
The robot state message contain several packages as seen below.
NOTE:
• Not every robot state message may necessarily contain all of the packages described.
• Therefore, it is a good idea to test the package type chars, to see what packages are included in the message.
• Not all package types are documented here.
• Only the message type "ROBOT_STATE" is documented here (messageType value is 16)
int messageSize (total size including robot mode data, joint data, cartesian info, kinematics info, masterboard data, tool data,
unsigned char messageType = ROBOT_STATE = 16
This page describes the data sent from the robot controller: DataStreamFromURController
Joint data
int packageSize
unsigned char packageType = JOINT_DATA = 1
for each joint:
double q_actual
double q_target
double qd_actual
float I_actual
float V_actual
float T_motor
float T_micro
unsigned char jointMode
end
The "jointMode" field is a code for the joint status (shown on the initialisation screen):
Cartesian info
int packageSize
unsigned char = CARTESIAN_INFO = 4
double X
double Y
double Z
double Rx
double Ry
double Rz
Masterboard data
int packageSize
unsigned char packageType = MASTERBOARD_DATA = 3
short digitalInputBits
short digitalOutputBits
char analogInputRange0
char analogInputRange1
double analogInput0
double analogInput1
char analogOutputDomain0
char analogOutputDomain1
double analogOutput0
double analogOutput1
float masterBoardTemperature
float robotVoltage48V
float robotCurrent
float masterIOCurrent
unsigned char masterSaftyState
unsigned char masterOnOffState
char euromap67InterfaceInstalled
(if euromap67 interface is installed, also the following:
int euromapInputBits
int euromapOutputBits
short euromapVoltage
short euromapCurrent)
Tool data
int packageSize
unsigned char packageType = TOOL_DATA = 2
char analogInputRange2
char analogInputRange3
double analogInput2
double analogInput3
float toolVoltage48V
unsigned char toolOutputVoltage
float toolCurrent
float toolTemperature
unsigned char toolMode
SecurityMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_SECURITY = 5
int robotMessageCode
int robotMessageArgument
char array textMessage
RobotcommMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_ERROR_CODE = 6
int robotMessageCode
int robotMessageArgument
char array textMessage
KeyMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_KEY = 7
int robotMessageCode
int robotMessageArgument
unsigned char titleSize
char array messageTitle
char array textMessage
LabelMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_PROGRAM_LABEL = 1
int id
char array textMessage
PopupMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_POPUP = 2
bool warning
bool error
unsigned char titleSize
char array messageTitle
char array textMessage
RequestValueMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_REQUEST_* = 0-8
unsigned int requestId
char array textMessage
TextMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_TEXT = 0
char array textMessage
VarMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_VARIABLE = 8
int code
int argument
unsigned char titleSize
char array messageTitle
char array messageText
NOTE:
• Not every robot state message may necessarily contain all of the packages described.
• Therefore, it is a good idea to test the package type chars, to see what packages are included in the message.
• Not all package types are documented here.
• Only the message type "ROBOT_STATE" is documented here (messageType value is 16)
int messageSize (total size including robot mode data, joint data, cartesian info, kinematics info, masterboard data, tool data,
unsigned char messageType = ROBOT_STATE = 16
This page describes the data sent from the robot controller: DataStreamFromURController
Joint data
int packageSize
unsigned char packageType = JOINT_DATA = 1
for each joint:
double q_actual
double q_target
double qd_actual
float I_actual
float V_actual
float T_motor
float T_micro
unsigned char jointMode
end
The "jointMode" field is a code for the joint status (shown on the initialisation screen):
Cartesian info
int packageSize
unsigned char = CARTESIAN_INFO = 4
double X
double Y
double Z
double Rx
double Ry
double Rz
Masterboard data
int packageSize
unsigned char packageType = MASTERBOARD_DATA = 3
short digitalInputBits
short digitalOutputBits
char analogInputRange0
char analogInputRange1
double analogInput0
double analogInput1
char analogOutputDomain0
char analogOutputDomain1
double analogOutput0
double analogOutput1
float masterBoardTemperature
float robotVoltage48V
float robotCurrent
float masterIOCurrent
unsigned char masterSaftyState
unsigned char masterOnOffState
char euromap67InterfaceInstalled
(if euromap67 interface is installed, also the following:
int euromapInputBits
int euromapOutputBits
short euromapVoltage
short euromapCurrent)
Tool data
int packageSize
unsigned char packageType = TOOL_DATA = 2
char analogInputRange2
char analogInputRange3
double analogInput2
double analogInput3
float toolVoltage48V
unsigned char toolOutputVoltage
float toolCurrent
float toolTemperature
unsigned char toolMode
Kinematics info
int packageSize
unsigned char packageType = KINEMATICS_INFO = 5
This package contains a checksum for the specific robot. It might be subject of change in the near future
Configuration data
int packageSize
unsigned char packageType = CONFIGURATION_DATA = 6
for each joint:
double jointMinLimit
double jointMaxLimitt
for each joint:
double jointMaxSpeed
double jointMaxAcceleration
double vJointDefault
double aJointDefault
double vToolDefault
double aToolDefault
double eqRadius
for each joint:
double DHa
for each joint:
double DHd
for each joint:
double DHalpha
for each joint:
double DHtheta
int masterboardVersion
int controllerBoxType
int robotType
int robotSubType
for each joint:
int motorType
Additional info
int packageSize
unsigned char = ADDITIONAL_INFO = 8
bool teachButtonPressed
bool teachButtonEnabled
Calibration data
int packageSize
unsigned char packageType = CALIBRATION_DATA = 9
SecurityMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_SECURITY = 5
int robotMessageCode
int robotMessageArgument
char array textMessage
RobotcommMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_ERROR_CODE = 6
int robotMessageCode
int robotMessageArgument
char array textMessage
KeyMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_KEY = 7
int robotMessageCode
int robotMessageArgument
unsigned char titleSize
char array messageTitle
char array textMessage
LabelMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_PROGRAM_LABEL = 1
int id
char array textMessage
PopupMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_POPUP = 2
bool warning
bool error
unsigned char titleSize
char array messageTitle
char array textMessage
RequestValueMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_REQUEST_* = 0-8
unsigned int requestId
char array textMessage
TextMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_TEXT = 0
char array textMessage
VarMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_VARIABLE = 8
int code
int argument
unsigned char titleSize
char array messageTitle
char array messageText
NOTE:
• Not every robot state message may necessarily contain all of the packages described.
• Therefore, it is a good idea to test the package type chars, to see what packages are included in the message.
• Not all package types are documented here.
• Only the message type "ROBOT_STATE" is documented here (messageType value is 16)
int messageSize (total size including robot mode data, joint data, cartesian info, kinematics info, masterboard data, tool data,
unsigned char messageType = ROBOT_STATE = 16
This page describes the data sent from the robot controller: DataStreamFromURController
Joint data
int packageSize
unsigned char packageType = JOINT_DATA = 1
for each joint:
double q_actual
double q_target
double qd_actual
float I_actual
float V_actual
float T_motor
float T_micro
unsigned char jointMode
end
The "jointMode" field is a code for the joint status (shown on the initialisation screen):
Cartesian info
int packageSize
unsigned char = CARTESIAN_INFO = 4
double X
double Y
double Z
double Rx
double Ry
double Rz
Masterboard data
int packageSize
unsigned char packageType = MASTERBOARD_DATA = 3
int digitalInputBits
int digitalOutputBits
char analogInputRange0
char analogInputRange1
double analogInput0
double analogInput1
char analogOutputDomain0
char analogOutputDomain1
double analogOutput0
double analogOutput1
float masterBoardTemperature
float robotVoltage48V
float robotCurrent
float masterIOCurrent
unsigned char safetyMode
unsigned char InReducedMode
char euromap67InterfaceInstalled
(if euromap67 interface is installed, also the following:
int euromapInputBits
int euromapOutputBits
float euromapVoltage
float euromapCurrent)
uint32_t (Used by Universal Robots software only)
Tool data
int packageSize
unsigned char packageType = TOOL_DATA = 2
char analogInputRange2
char analogInputRange3
double analogInput2
double analogInput3
float toolVoltage48V
unsigned char toolOutputVoltage
float toolCurrent
float toolTemperature
unsigned char toolMode
Kinematics info
int packageSize
unsigned char packageType = KINEMATICS_INFO = 5
This package contains a checksum for the specific robot. It might be subject of change in the near future.
Configuration data
int packageSize
unsigned char packageType = CONFIGURATION_DATA = 6
for each joint:
double jointMinLimit
double jointMaxLimitt
for each joint:
double jointMaxSpeed
double jointMaxAcceleration
double vJointDefault
double aJointDefault
double vToolDefault
double aToolDefault
double eqRadius
for each joint:
double DHa
for each joint:
double DHd
for each joint:
double DHalpha
for each joint:
double DHtheta
int masterboardVersion
int controllerBoxType
int robotType
int robotSubType
Additional info
int packageSize
unsigned char = ADDITIONAL_INFO = 8
bool teachButtonPressed
bool teachButtonEnabled
Calibration data
int packageSize
unsigned char packageType = CALIBRATION_DATA = 9
This package is used internally by Universal Robots software only and should be skipped. It might be subject of change in the n
SafetyModeMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_SAFETY_MODE = 5
int robotMessageCode
int robotMessageArgument
char safetyModeType
char array textMessage
The "safetyModeType" field can contain the following values: SafetyModeTypes
RobotcommMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_ERROR_CODE = 6
int robotMessageCode
int robotMessageArgument
int warningLevel
char array textMessage
KeyMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_KEY = 7
int robotMessageCode
int robotMessageArgument
unsigned char titleSize
char array messageTitle
char array textMessage
LabelMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_PROGRAM_LABEL = 1
int id
char array textMessage
RequestValueMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_REQUEST_VALUE = 9
unsigned int requestId
unsigned int requestedType = 0-8
(*) bool warning
(*) bool error
(*) bool blocking
(*) unsigned char titleLength
(*) char array messageTitle
char array textMessage
(*) Fields only included in this package, if the 'requestedType' field contains the value 8. This is the 'PopupMessage' type.
TextMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_TEXT = 0
char array textMessage
RuntimeExceptionMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_RUNTIME_EXCEPTION = 10
char array textMessage
VarMessage
int messageSize
unsigned char messageType = PROGRAM_STATE_MESSAGE = 25
uint64_t timestamp
char robotMessageType = PROGRAM_STATE_MESSAGE_VARIABLE_UPDATE = 2
unsigned char titleSize
char array messageTitle
char array messageText
Deprecated:Use the much more efficient 'GlobalVariablesSetupMessage' and 'GlobalVariablesUpdateMessage' (described belo
GlobalVariablesSetupMessage
int messageSize
unsigned char messageType = PROGRAM_STATE_MESSAGE = 25
uint64_t timestamp
char robotMessageType =PROGRAM_STATE_MESSAGE_GLOBAL_VARIABLES_SETUP = 0
unsigned short startIndex
(*) char array variableNames
(*) Each new line (terminated with the '\n' character) in the array contains the name of a variable.
GlobalVariablesUpdateMessage
int messageSize
unsigned char messageType = PROGRAM_STATE_MESSAGE = 25
uint64_t timestamp
char robotMessageType = PROGRAM_STATE_MESSAGE_GLOBAL_VARIABLES_UPDATE = 1
unsigned short startIndex
for each variable: (terminated with the '\n' character)
unsigned char valueType
One of following data chunks based on the value of 'valueType':
valueType = 'NONE_VAL':
// No content -> has not been initialized yet
valueType = 'STRING_VAL':
unsigned short valueLength
char array value
valueType = 'POSE_VAL':
float x
float y
float z
float rx
float ry
float rz
valueType = 'BOOL_VAL':
bool value
valueType = 'INT_VAL':
int value
valueType = 'FLOAT_VAL':
float value
valueType = 'LIST_VAL':
unsigned short listLength
for each item in the list:
unsigned char valueType
The data for that type
The information for each variable is on a new line (terminated with the '\n' character).
NOTE:
• Not every robot state message may necessarily contain all of the packages described.
• Therefore, it is a good idea to test the package type chars, to see what packages are included in the message.
• Not all package types are documented here.
• Only the message type "ROBOT_STATE" is documented here (messageType value is 16)
int messageSize (total size including robot mode data, joint data, cartesian info, kinematics info, masterboard data, tool data,
unsigned char messageType = ROBOT_STATE = 16
This page describes the data sent from the robot controller: DataStreamFromURController
Joint data
int packageSize
unsigned char packageType = JOINT_DATA = 1
for each joint:
double q_actual
double q_target
double qd_actual
float I_actual
float V_actual
float T_motor
float T_micro
unsigned char jointMode
end
The "jointMode" field is a code for the joint status (shown on the initialisation screen):
Cartesian info
int packageSize
unsigned char = CARTESIAN_INFO = 4
double X
double Y
double Z
double Rx
double Ry
double Rz
double TCPOffsetX
double TCPOffsetY
double TCPOffsetZ
double TCPOffsetRx
double TCPOffsetRy
double TCPOffsetRz
Masterboard data
int packageSize
unsigned char packageType = MASTERBOARD_DATA = 3
int digitalInputBits
int digitalOutputBits
char analogInputRange0
char analogInputRange1
double analogInput0
double analogInput1
char analogOutputDomain0
char analogOutputDomain1
double analogOutput0
double analogOutput1
float masterBoardTemperature
float robotVoltage48V
float robotCurrent
float masterIOCurrent
unsigned char safetyMode
unsigned char InReducedMode
char euromap67InterfaceInstalled
(if euromap67 interface is installed, also the following:
int euromapInputBits
int euromapOutputBits
float euromapVoltage
float euromapCurrent)
uint32_t (Used by Universal Robots software only)
Tool data
int packageSize
unsigned char packageType = TOOL_DATA = 2
char analogInputRange2
char analogInputRange3
double analogInput2
double analogInput3
float toolVoltage48V
unsigned char toolOutputVoltage
float toolCurrent
float toolTemperature
unsigned char toolMode
Kinematics info
int packageSize
unsigned char packageType = KINEMATICS_INFO = 5
This package contains a checksum for the specific robot. It might be subject of change in the near future.
Configuration data
int packageSize
unsigned char packageType = CONFIGURATION_DATA = 6
for each joint:
double jointMinLimit
double jointMaxLimitt
for each joint:
double jointMaxSpeed
double jointMaxAcceleration
double vJointDefault
double aJointDefault
double vToolDefault
double aToolDefault
double eqRadius
for each joint:
double DHa
for each joint:
double DHd
for each joint:
double DHalpha
for each joint:
double DHtheta
int masterboardVersion
int controllerBoxType
int robotType
int robotSubType
Force mode data
int packageSize
unsigned char = FORCE_MODE_DATA = 7
double X
double Y
double Z
double Rx
double Ry
double Rz
double robotDexterity
Additional info
int packageSize
unsigned char = ADDITIONAL_INFO = 8
bool teachButtonPressed
bool teachButtonEnabled
Calibration data
int packageSize
unsigned char packageType = CALIBRATION_DATA = 9
This package is used internally by Universal Robots software only and should be skipped. It might be subject of change in the n
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_VERSION = 3
char projectNameSize
char array projectName
unsigned char majorVersion
unsigned char minorVersion
int svnRevision
char array buildDate
SafetyModeMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_SAFETY_MODE = 5
int robotMessageCode
int robotMessageArgument
char safetyModeType
char array textMessage
RobotcommMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_ERROR_CODE = 6
int robotMessageCode
int robotMessageArgument
int warningLevel
char array textMessage
KeyMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_KEY = 7
int robotMessageCode
int robotMessageArgument
unsigned char titleSize
char array messageTitle
char array textMessage
LabelMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_PROGRAM_LABEL = 1
int id
char array textMessage
RequestValueMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_REQUEST_VALUE = 9
unsigned int requestId
unsigned int requestedType = 0-8
(*) bool warning
(*) bool error
(*) bool blocking
(*) unsigned char titleLength
(*) char array messageTitle
char array textMessage
(*) Fields only included in this package, if the 'requestedType' field contains the value 8. This is the 'PopupMessage' type.
TextMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_TEXT = 0
char array textMessage
RuntimeExceptionMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_RUNTIME_EXCEPTION = 10
char array textMessage
VarMessage
int messageSize
unsigned char messageType = PROGRAM_STATE_MESSAGE = 25
uint64_t timestamp
char robotMessageType = PROGRAM_STATE_MESSAGE_VARIABLE_UPDATE = 2
unsigned char titleSize
char array messageTitle
char array messageText
Deprecated:Use the much more efficient 'GlobalVariablesSetupMessage' and 'GlobalVariablesUpdateMessage' (described belo
GlobalVariablesSetupMessage
int messageSize
unsigned char messageType = PROGRAM_STATE_MESSAGE = 25
uint64_t timestamp
char robotMessageType =PROGRAM_STATE_MESSAGE_GLOBAL_VARIABLES_SETUP = 0
unsigned short startIndex
(*) char array variableNames
(*) Each new line (terminated with the '\n' character) in the array contains the name of a variable.
GlobalVariablesUpdateMessage
int messageSize
unsigned char messageType = PROGRAM_STATE_MESSAGE = 25
uint64_t timestamp
char robotMessageType = PROGRAM_STATE_MESSAGE_GLOBAL_VARIABLES_UPDATE = 1
unsigned short startIndex
for each variable: (terminated with the '\n' character)
unsigned char valueType
One of following data chunks based on the value of 'valueType':
valueType = 'NONE_VAL':
// No content -> has not been initialized yet
valueType = 'STRING_VAL':
unsigned short valueLength
char array value
valueType = 'POSE_VAL':
float x
float y
float z
float rx
float ry
float rz
valueType = 'BOOL_VAL':
bool value
valueType = 'INT_VAL':
int value
valueType = 'FLOAT_VAL':
float value
valueType = 'LIST_VAL':
unsigned short listLength
for each item in the list:
unsigned char valueType
The data for that type
The information for each variable is on a new line (terminated with the '\n' character).
NOTE:
• Not every robot state message may necessarily contain all of the packages described.
• Therefore, it is a good idea to test the package type chars, to see what packages are included in the message.
• Not all package types are documented here.
• Only the message type "ROBOT_STATE" is documented here (messageType value is 16)
int messageSize (total size including robot mode data, joint data, cartesian info, kinematics info, masterboard data, tool data,
unsigned char messageType = ROBOT_STATE = 16
This page describes the data sent from the robot controller: DataStreamFromURController
Joint data
int packageSize
unsigned char packageType = JOINT_DATA = 1
for each joint:
double q_actual
double q_target
double qd_actual
float I_actual
float V_actual
float T_motor
float T_micro
unsigned char jointMode
end
The "jointMode" field is a code for the joint status (shown on the initialisation screen):
Cartesian info
int packageSize
unsigned char = CARTESIAN_INFO = 4
double X
double Y
double Z
double Rx
double Ry
double Rz
double TCPOffsetX
double TCPOffsetY
double TCPOffsetZ
double TCPOffsetRx
double TCPOffsetRy
double TCPOffsetRz
Masterboard data
int packageSize
unsigned char packageType = MASTERBOARD_DATA = 3
int digitalInputBits
int digitalOutputBits
char analogInputRange0
char analogInputRange1
double analogInput0
double analogInput1
char analogOutputDomain0
char analogOutputDomain1
double analogOutput0
double analogOutput1
float masterBoardTemperature
float robotVoltage48V
float robotCurrent
float masterIOCurrent
unsigned char safetyMode
unsigned char InReducedMode
char euromap67InterfaceInstalled
(if euromap67 interface is installed, also the following:
int euromapInputBits
int euromapOutputBits
float euromapVoltage
float euromapCurrent)
uint32_t (Used by Universal Robots software only)
uint8_t operationalModeSelectorInput
uint8_t threePositionEnablingDeviceInput
Tool data
int packageSize
unsigned char packageType = TOOL_DATA = 2
char analogInputRange2
char analogInputRange3
double analogInput2
double analogInput3
float toolVoltage48V
unsigned char toolOutputVoltage
float toolCurrent
float toolTemperature
unsigned char toolMode
Kinematics info
int packageSize
unsigned char packageType = KINEMATICS_INFO = 5
This package contains a checksum for the specific robot. It might be subject of change in the near future.
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
Configuration data
int packageSize
unsigned char packageType = CONFIGURATION_DATA = 6
for each joint:
double jointMinLimit
double jointMaxLimitt
for each joint:
double jointMaxSpeed
double jointMaxAcceleration
double vJointDefault
double aJointDefault
double vToolDefault
double aToolDefault
double eqRadius
for each joint:
double DHa
for each joint:
double DHd
for each joint:
double DHalpha
for each joint:
double DHtheta
int masterboardVersion
int controllerBoxType
int robotType
int robotSubType
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
Additional info
int packageSize
unsigned char = ADDITIONAL_INFO = 8
bool freedriveButtonPressed
bool freedriveButtonEnabled
bool IOEnabledFreedrive
Calibration data
int packageSize
unsigned char packageType = CALIBRATION_DATA = 9
This package is used internally by Universal Robots software only and should be skipped. It might be subject of change in the n
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_VERSION = 3
char projectNameSize
char array projectName
unsigned char majorVersion
unsigned char minorVersion
int svnRevision
char array buildDate
SafetyModeMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_SAFETY_MODE = 5
int robotMessageCode
int robotMessageArgument
char safetyModeType
char array textMessage
RobotcommMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_ERROR_CODE = 6
int robotMessageCode
int robotMessageArgument
int warningLevel
char array textMessage
KeyMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_KEY = 7
int robotMessageCode
int robotMessageArgument
unsigned char titleSize
char array messageTitle
char array textMessage
LabelMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_PROGRAM_LABEL = 1
int id
char array textMessage
RequestValueMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_REQUEST_VALUE = 9
unsigned int requestId
unsigned int requestedType = 0-8
(*) bool warning
(*) bool error
(*) bool blocking
(*) unsigned char titleLength
(*) char array messageTitle
char array textMessage
(*) Fields only included in this package, if the 'requestedType' field contains the value 8. This is the 'PopupMessage' type.
TextMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_TEXT = 0
char array textMessage
RuntimeExceptionMessage
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_RUNTIME_EXCEPTION = 10
char array textMessage
VarMessage
int messageSize
unsigned char messageType = PROGRAM_STATE_MESSAGE = 25
uint64_t timestamp
char robotMessageType = PROGRAM_STATE_MESSAGE_VARIABLE_UPDATE = 2
unsigned char titleSize
char array messageTitle
char array messageText
Deprecated:Use the much more efficient 'GlobalVariablesSetupMessage' and 'GlobalVariablesUpdateMessage' (described belo
GlobalVariablesSetupMessage
int messageSize
unsigned char messageType = PROGRAM_STATE_MESSAGE = 25
uint64_t timestamp
char robotMessageType =PROGRAM_STATE_MESSAGE_GLOBAL_VARIABLES_SETUP = 0
unsigned short startIndex
(*) char array variableNames
(*) Each new line (terminated with the '\n' character) in the array contains the name of a variable.
GlobalVariablesUpdateMessage
int messageSize
unsigned char messageType = PROGRAM_STATE_MESSAGE = 25
uint64_t timestamp
char robotMessageType = PROGRAM_STATE_MESSAGE_GLOBAL_VARIABLES_UPDATE = 1
unsigned short startIndex
for each variable: (terminated with the '\n' character)
unsigned char valueType
One of following data chunks based on the value of 'valueType':
valueType = 'NONE_VAL':
// No content -> has not been initialized yet
valueType = 'STRING_VAL':
unsigned short valueLength
char array value
valueType = 'POSE_VAL':
float x
float y
float z
float rx
float ry
float rz
valueType = 'BOOL_VAL':
bool value
valueType = 'INT_VAL':
int value
valueType = 'FLOAT_VAL':
float value
valueType = 'LIST_VAL':
unsigned short listLength
for each item in the list:
unsigned char valueType
The data for that type
The relevant values for the "valueType" field are: ValueTypes
The information for each variable is on a new line (terminated with the '\n' character).
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_VERSION = 3
char projectNameSize
char array projectName
unsigned char majorVersion
unsigned char minorVersion
int bugfixVersion
int buildNumber
char array buildDate
Page 61
3.3
Page 62
3.4
Page 63
3.5
Page 64
3.6
3.6
Primary and secondary client
Joint data
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_JOINT_DATA = 1
for each joint:
double q_actual
double q_target
double qd_actual
float I_actual
double V_actual
float T_motor
double T_micro
uint8_t jointMode
end
The "jointMode" field is a code for the joint status (shown on the initialisation screen):
Cartesian info
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_CARTESIAN_INFO = 4
Page 65
3.6
double Y
double Z
double Rx
double Ry
double Rz
double TCPOffsetX
double TCPOffsetY
double TCPOffsetZ
double TCPOffsetRx
double TCPOffsetRy
double TCPOffsetRz
Masterboard data
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_MASTERBOARD_DATA = 3
int digitalInputBits
int digitalOutputBits
unsigned char analogInputRange0
unsigned char analogInputRange1
double analogInput0
double analogInput1
char analogOutputDomain0
char analogOutputDomain1
double analogOutput0
double analogOutput1
float masterBoardTemperature
float robotVoltage48V
float robotCurrent
float masterIOCurrent
unsigned char safetyMode
uint8_t InReducedMode
char euromap67InterfaceInstalled
if euromap67 interface is installed, also the following:
uint32_t euromapInputBits
uint32_t euromapOutputBits
float euromapVoltage24V
float euromapCurrent
end
uint32_t (Used by Universal Robots software only)
uint8_t operationalModeSelectorInput
uint8_t threePositionEnablingDeviceInput
Tool data
Page 66
3.6
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_TOOL_DATA = 2
unsigned char analogInputRange0
unsigned char analogInputRange1
double analogInput0
double analogInput1
double toolVoltage48V
unsigned char toolOutputVoltage
float toolCurrent
float toolTemperature
uint8_t toolMode
The "toolMode" field is a code for the joint status (shown on the initialisation screen):
Kinematics info
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_KINEMATICS_INFO = 5
for each joint:
uint32_t cheksum
for each joint:
double DHtheta
for each joint:
double DHa
for each joint:
double Dhd
for each joint:
double Dhalpha
uint32_t calibration_status
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
Configuration data
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_CONFIGURATION_DATA = 6
for each joint:
double jointMinLimit
double jointMaxLimitt
end
for each joint:
double jointMaxSpeed
double jointMaxAcceleration
end
double vJointDefault
Page 67
3.6
double aJointDefault
double vToolDefault
double aToolDefault
double eqRadius
for each joint:
double DHa
for each joint:
double Dhd
for each joint:
double DHalpha
for each joint:
double DHtheta
int32_t masterboardVersion
int32_t controllerBoxType
int32_t robotType
int32_t robotSubType
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
Additional info
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_ADDITIONAL_INFO = 8
bool freedriveButtonPressed
bool freedriveButtonEnabled
bool IOEnabledFreedrive
Page 68
3.6
unused double Frx
unused double Fry
unused double Frz
This package is used internally by Universal Robots software only and should be skipped.
This is the first package sent on both the primary and secondary client interfaces. This package it is not part of the robot stat
int messageSize
unsigned char messageType = MESSAGE_TYPE_ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_TYPE_VERSION = 3
char projectNameSize
charArray projectName
unsigned char majorVersion
unsigned char minorVersion
int bugfixVersion
int buildNumber
charArray buildDate
Page 69
3.6
Page 70
3.6
char robotMessageType = ROBOT_MESSAGE_TYPE_POPUP = 2
unsigned int requestId
unsigned char requestedType
bool warning
bool error
bool blocking
uint8_t popupMessageTitleSize
charArray popupMessageTitle
charArray popupTextMessage
Page 71
3.6
unsigned char messageType = MESSAGE_TYPE_PROGRAM_STATE_MESSAGE = 25
uint64_t timestamp
char robotMessageType = PROGRAM_STATE_MESSAGE_TYPE_VARIABLE_UPDATE = 2
uint8_t varMessageTitleSize
charArray varMessageTitle
charArray varTextMessage
Deprecated: Use the much more efficient 'GlobalVariablesSetupMessage' and 'GlobalVariablesUpdateMessage' (described be
(*) Each new line (terminated with the '\n' character) in the array contains the name of a variable.
(*) The information for each variable is on a new line (terminated with the '\n' character).
Page 72
3.6
JointModes
Page 73
3.6
ToolModes
Page 74
3.6
MessageSources
SafetyModeTypes
Page 75
3.6
ReportLevels
Page 76
3.6
RequestedTypes
Page 77
3.6
ValueTypes
Page 78
3.7 -> 3.9
Joint data
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_JOINT_DATA = 1
for each joint:
double q_actual
double q_target
double qd_actual
float I_actual
double V_actual
float T_motor
double T_micro
uint8_t jointMode
end
The "jointMode" field is a code for the joint status (shown on the initialisation screen): JointModes
Cartesian info
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_CARTESIAN_INFO = 4
Page 79
3.7 -> 3.9
double X
double Y
double Z
double Rx
double Ry
double Rz
double TCPOffsetX
double TCPOffsetY
double TCPOffsetZ
double TCPOffsetRx
double TCPOffsetRy
double TCPOffsetRz
Masterboard data
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_MASTERBOARD_DATA = 3
int digitalInputBits
int digitalOutputBits
unsigned char analogInputRange0
unsigned char analogInputRange1
double analogInput0
double analogInput1
char analogOutputDomain0
char analogOutputDomain1
double analogOutput0
double analogOutput1
float masterBoardTemperature
float robotVoltage48V
float robotCurrent
float masterIOCurrent
unsigned char safetyMode
uint8_t InReducedMode
char euromap67InterfaceInstalled
if euromap67 interface is installed, also the following:
uint32_t euromapInputBits
uint32_t euromapOutputBits
float euromapVoltage24V
float euromapCurrent
end
uint32_t (Used by Universal Robots software only)
uint8_t operationalModeSelectorInput
uint8_t threePositionEnablingDeviceInput
Page 80
3.7 -> 3.9
Tool data
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_TOOL_DATA = 2
unsigned char analogInputRange0
unsigned char analogInputRange1
double analogInput0
double analogInput1
double toolVoltage48V
unsigned char toolOutputVoltage
float toolCurrent
float toolTemperature
uint8_t toolMode
The "toolMode" field is a code for the joint status (shown on the initialisation screen): ToolModes
Kinematics info
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_KINEMATICS_INFO = 5
for each joint:
uint32_t cheksum
for each joint:
double DHtheta
for each joint:
double DHa
for each joint:
double Dhd
for each joint:
double Dhalpha
uint32_t calibration_status
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
Configuration data
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_CONFIGURATION_DATA = 6
for each joint:
double jointMinLimit
double jointMaxLimitt
end
for each joint:
double jointMaxSpeed
double jointMaxAcceleration
end
Page 81
3.7 -> 3.9
double vJointDefault
double aJointDefault
double vToolDefault
double aToolDefault
double eqRadius
for each joint:
double DHa
for each joint:
double Dhd
for each joint:
double DHalpha
for each joint:
double DHtheta
int32_t masterboardVersion
int32_t controllerBoxType
int32_t robotType
int32_t robotSubType
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
Additional info
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_ADDITIONAL_INFO = 8
bool freedriveButtonPressed
bool freedriveButtonEnabled
bool IOEnabledFreedrive
Page 82
3.7 -> 3.9
unused double Fz
unused double Frx
unused double Fry
unused double Frz
This package is used internally by Universal Robots software only and should be skipped.
This is the first package sent on both the primary and secondary client interfaces. This package it is not part of the robot stat
int messageSize
unsigned char messageType = MESSAGE_TYPE_ROBOT_MESSAGE = 20
uint64_t timestamp
char source MessageSources
char robotMessageType = ROBOT_MESSAGE_TYPE_VERSION = 3
char projectNameSize
charArray projectName
unsigned char majorVersion
unsigned char minorVersion
int bugfixVersion
int buildNumber
charArray buildDate
Page 83
3.7 -> 3.9
Page 84
3.7 -> 3.9
char source MessageSources
char robotMessageType = ROBOT_MESSAGE_TYPE_POPUP = 2
unsigned int requestId
unsigned char requestedType
bool warning
bool error
bool blocking
uint8_t popupMessageTitleSize
charArray popupMessageTitle
charArray popupTextMessage
Page 85
3.7 -> 3.9
int messageSize
unsigned char messageType = MESSAGE_TYPE_PROGRAM_STATE_MESSAGE = 25
uint64_t timestamp
char robotMessageType = PROGRAM_STATE_MESSAGE_TYPE_VARIABLE_UPDATE = 2
uint8_t varMessageTitleSize
charArray varMessageTitle
charArray varTextMessage
Deprecated: Use the much more efficient 'GlobalVariablesSetupMessage' and 'GlobalVariablesUpdateMessage' (described be
(*) Each new line (terminated with the '\n' character) in the array contains the name of a variable.
(*) The information for each variable is on a new line (terminated with the '\n' character).
Page 86
3.7 -> 3.9
JointModes
Page 87
3.7 -> 3.9
ToolModes
tion is changed.
Page 88
3.7 -> 3.9
tion is changed.
Page 89
3.7 -> 3.9
MessageSources
MessageSources
SafetyModeTypes
Page 90
3.7 -> 3.9
MessageSources
ReportLevels
MessageSources
MessageSources
Page 91
3.7 -> 3.9
MessageSources
MessageSources
RequestedTypes
MessageSources
MessageSources
Page 92
3.7 -> 3.9
ValueTypes
Page 93
3.10
Page 94
3.10
for each joint:
double q_actual
double q_target
double qd_actual
float I_actual
double V_actual
float T_motor
double T_micro
uint8_t jointMode JointModes
end
The "jointMode" field is a code for the joint status (shown on the initialisation screen):
The "toolMode" field is a code for the joint status (shown on the initialisation screen):
Page 95
3.10
char euromap67InterfaceInstalled
if euromap67 interface is installed, also the following:
uint32_t euromapInputBits
uint32_t euromapOutputBits
float euromapVoltage24V
float euromapCurrent
end
uint32_t (Used by Universal Robots software only)
uint8_t operationalModeSelectorInput
uint8_t threePositionEnablingDeviceInput
unsigned char (Used by Universal Robots software only)
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
Page 96
3.10
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_CONFIGURATION_DATA = 6
for each joint:
double jointMinLimit
double jointMaxLimitt
end
for each joint:
double jointMaxSpeed
double jointMaxAcceleration
end
double vJointDefault
double aJointDefault
double vToolDefault
double aToolDefault
double eqRadius
for each joint:
double DHa
for each joint:
double Dhd
for each joint:
double DHalpha
for each joint:
double DHtheta
int32_t masterboardVersion
int32_t controllerBoxType
int32_t robotType
int32_t robotSubType
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
Page 97
3.10
Calibration data (Sub Package of Robot State Message, Internally used only)
int packageSize Length of Sub Package: tota
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_NEEDED_FOR_CALIB_DATA = 9
double Fx
double Fy
double Fz
double Frx
double Fry
double Frz
This package is used internally by Universal Robots software only and should be skipped.
int messageSize
unsigned char messageType = MESSAGE_TYPE_ROBOT_MESSAGE = 20
uint64_t timestamp
char source MessageSources
char robotMessageType = ROBOT_MESSAGE_TYPE_VERSION = 3
char projectNameSize
charArray projectName
unsigned char majorVersion
unsigned char minorVersion
int bugfixVersion
int buildNumber
charArray buildDate
Page 98
3.10
char source MessageSources
char robotMessageType = ROBOT_MESSAGE_TYPE_ERROR_CODE = 6
int robotMessageCode
int robotMessageArgument
int robotMessageReportLevel ReportLevels
uint32_t robotMessageDataType
uint32_t robotMessageData
charArray robotCommTextMessage
Page 99
3.10
unsigned char messageType = MESSAGE_TYPE_ROBOT_MESSAGE = 20
uint64_t timestamp
char source MessageSources
char robotMessageType = ROBOT_MESSAGE_TYPE_REQUEST_VALUE = 9
unsigned int requestId
unsigned char requestedType RequestedTypes
char array requestTextMessage
Page 100
3.10
uint64_t timestamp
char robotMessageType = PROGRAM_STATE_MESSAGE_TYPE_GLOBAL_VARIABLES_UPDATE = 1
uint16_t startIndex
unsigned char variableValues ValueTypes
Each variable value contains type byte, data, and terminating new line character (\n character). Example - two variable
Page 101
3.10
Each sub package that follows contains size, type, and package specific data
RobotModes
ControlModes
Page 102
3.10
JointModes
ToolModes
Page 103
3.10
on is changed.
Page 104
3.10
on is changed.
Page 105
3.10
MessageSources
MessageSources
SafetyModeTypes
Page 106
3.10
MessageSources
ReportLevels
MessageSources
MessageSources
MessageSources
Page 107
3.10
MessageSources
RequestedTypes
MessageSources
MessageSources
List of names separated by new line character ('\n' character). Example: var_1\nvar_2\n
Page 108
3.10
ValueTypes
acter). Example - two variables of type BOOL(True), and STRING("aaaa"): 0c 01 0a 03 00 04 61 61 61 61 0a
Page 109
3.10
Page 110
3.11
Page 111
3.11
for each joint:
double q_actual
double q_target
double qd_actual
float I_actual
float V_actual
float T_motor
float T_micro Deprecated - ignore
uint8_t jointMode JointModes
end
The "jointMode" field is a code for the joint status (shown on the initialisation screen):
The "toolMode" field is a code for the joint status (shown on the initialisation screen):
Page 112
3.11
char euromap67InterfaceInstalled
if euromap67 interface is installed, also the following:
uint32_t euromapInputBits
uint32_t euromapOutputBits
float euromapVoltage24V
float euromapCurrent
end
uint32_t (Used by Universal Robots software only)
uint8_t operationalModeSelectorInput
uint8_t threePositionEnablingDeviceInput
unsigned char (Used by Universal Robots software only)
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
Page 113
3.11
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_CONFIGURATION_DATA = 6
for each joint:
double jointMinLimit
double jointMaxLimitt
end
for each joint:
double jointMaxSpeed
double jointMaxAcceleration
end
double vJointDefault
double aJointDefault
double vToolDefault
double aToolDefault
double eqRadius
for each joint:
double DHa
for each joint:
double Dhd
for each joint:
double DHalpha
for each joint:
double DHtheta
int32_t masterboardVersion
int32_t controllerBoxType
int32_t robotType
int32_t robotSubType
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
Page 114
3.11
Calibration data (Sub Package of Robot State Message, Internally used only)
int packageSize Length of Sub Package: total length of subpackage including this fi
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_NEEDED_FOR_CALIB_DATA = 9
double Fx
double Fy
double Fz
double Frx
double Fry
double Frz
This package is used internally by Universal Robots software only and should be skipped.
int messageSize
unsigned char messageType = MESSAGE_TYPE_ROBOT_MESSAGE = 20
uint64_t timestamp
char source MessageSources
char robotMessageType = ROBOT_MESSAGE_TYPE_VERSION = 3
char projectNameSize
charArray projectName
unsigned char majorVersion
unsigned char minorVersion
int bugfixVersion
int buildNumber
charArray buildDate
Page 115
3.11
uint64_t timestamp
char source MessageSources
char robotMessageType = ROBOT_MESSAGE_TYPE_ERROR_CODE = 6
int robotMessageCode
int robotMessageArgument
int robotMessageReportLevel ReportLevels
uint32_t robotMessageDataType
uint32_t robotMessageData
charArray robotCommTextMessage
Page 116
3.11
uint64_t timestamp
char source MessageSources
char robotMessageType = ROBOT_MESSAGE_TYPE_POPUP = 2
unsigned int requestId
unsigned char requestedType
bool warning
bool error
bool blocking
uint8_t popupMessageTitleSize
charArray popupMessageTitle
charArray popupTextMessage
Page 117
3.11
charArray varMessageTitle
charArray varTextMessage
Page 118
3.11
Page 119
3.11
Page 120
3.11
uration is changed.
Page 121
3.11
uration is changed.
Page 122
3.11
Page 123
3.11
Deprecated
use ProgramThreadsMessage
Page 124
3.11
client only)
Page 125
3.11
Page 126
3.11
61 61 61 61 0a
Page 127
3.12->3.14
Page 128
3.12->3.14
Joint data (Sub Package of Robot State Message)
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_JOINT_DATA = 1
for each joint:
double q_actual
double q_target
double qd_actual
float I_actual
float V_actual
float T_motor
float T_micro Deprecated - ignore
uint8_t jointMode JointModes
end
The "jointMode" field is a code for the joint status (shown on the initialisation screen):
The "toolMode" field is a code for the joint status (shown on the initialisation screen):
Page 129
3.12->3.14
double analogOutput1
float masterBoardTemperature
float robotVoltage48V
float robotCurrent
float masterIOCurrent
unsigned char safetyMode See SafetyModes sheet
uint8_t InReducedMode
char euromap67InterfaceInstalled
if euromap67 interface is installed, also the following:
uint32_t euromapInputBits
uint32_t euromapOutputBits
float euromapVoltage24V
float euromapCurrent
end
uint32_t (Used by Universal Robots software only)
uint8_t operationalModeSelectorInput
uint8_t threePositionEnablingDeviceInput
unsigned char (Used by Universal Robots software only)
Page 130
3.12->3.14
double DHa
for each joint:
double Dhd
for each joint:
double Dhalpha
uint32_t calibration_status
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
Page 131
3.12->3.14
double Fx
double Fy
double Fz
double Frx
double Fry
double Frz
double robotDexterity
Calibration data (Sub Package of Robot State Message, Internally used only)
int packageSize Length of Sub Package: total length of subpackage including this
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_NEEDED_FOR_CALIB_DATA = 9
double Fx
double Fy
double Fz
double Frx
double Fry
double Frz
This package is used internally by Universal Robots software only and should be skipped.
int messageSize
unsigned char messageType = MESSAGE_TYPE_ROBOT_MESSAGE = 20
uint64_t timestamp
char source MessageSources
char robotMessageType = ROBOT_MESSAGE_TYPE_VERSION = 3
char projectNameSize
charArray projectName
unsigned char majorVersion
unsigned char minorVersion
int bugfixVersion
int buildNumber
charArray buildDate
Page 132
3.12->3.14
Page 133
3.12->3.14
uint64_t timestamp
char source MessageSources
char robotMessageType = ROBOT_MESSAGE_TYPE_PROGRAM_LABEL_THREADS = 14
following structure repeats for each running program thread
int labelId (line number)
int labelNameLength
charArray labelName
int threadNameLength
charArray threadName
Page 134
3.12->3.14
Robot Message - RuntimeExceptionMessage (Primary client only)
int messageSize
unsigned char messageType = MESSAGE_TYPE_ROBOT_MESSAGE = 20
uint64_t timestamp
char source MessageSources
char robotMessageType = ROBOT_MESSAGE_TYPE_RUNTIME_EXCEPTION = 10
int scriptLineNumber
int scriptColumnNumber
charArray runtimeExceptionTextMessage
Page 135
3.12->3.14
Page 136
3.12->3.14
Page 137
3.12->3.14
Page 138
3.12->3.14
on is changed.
on is changed.
Page 139
3.12->3.14
Page 140
3.12->3.14
Page 141
5.0
5.0
Primary and secondary client
Joint data
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_JOINT_DATA = 1
for each joint:
double q_actual
double q_target
double qd_actual
float I_actual
double V_actual
float T_motor
double T_micro
uint8_t jointMode
end
The "jointMode" field is a code for the joint status (shown on the initialisation screen):
Cartesian info
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_CARTESIAN_INFO = 4
Page 142
5.0
double X
double Y
double Z
double Rx
double Ry
double Rz
double TCPOffsetX
double TCPOffsetY
double TCPOffsetZ
double TCPOffsetRx
double TCPOffsetRy
double TCPOffsetRz
Masterboard data
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_MASTERBOARD_DATA = 3
int digitalInputBits
int digitalOutputBits
unsigned char analogInputRange0
unsigned char analogInputRange1
double analogInput0
double analogInput1
char analogOutputDomain0
char analogOutputDomain1
double analogOutput0
double analogOutput1
float masterBoardTemperature
float robotVoltage48V
float robotCurrent
float masterIOCurrent
unsigned char safetyMode
uint8_t InReducedMode
char euromap67InterfaceInstalled
if euromap67 interface is installed, also the following:
uint32_t euromapInputBits
uint32_t euromapOutputBits
float euromapVoltage24V
float euromapCurrent
end
uint32_t (Used by Universal Robots software only)
uint8_t operationalModeSelectorInput
uint8_t threePositionEnablingDeviceInput
Page 143
5.0
Tool data
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_TOOL_DATA = 2
unsigned char analogInputRange0
unsigned char analogInputRange1
double analogInput0
double analogInput1
double toolVoltage48V
unsigned char toolOutputVoltage
float toolCurrent
float toolTemperature
uint8_t toolMode
The "toolMode" field is a code for the joint status (shown on the initialisation screen):
Kinematics info
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_KINEMATICS_INFO = 5
for each joint:
uint32_t cheksum
for each joint:
double DHtheta
for each joint:
double DHa
for each joint:
double Dhd
for each joint:
double Dhalpha
uint32_t calibration_status
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
Configuration data
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_CONFIGURATION_DATA = 6
for each joint:
double jointMinLimit
double jointMaxLimitt
end
for each joint:
double jointMaxSpeed
double jointMaxAcceleration
end
Page 144
5.0
double vJointDefault
double aJointDefault
double vToolDefault
double aToolDefault
double eqRadius
for each joint:
double DHa
for each joint:
double Dhd
for each joint:
double DHalpha
for each joint:
double DHtheta
int32_t masterboardVersion
int32_t controllerBoxType
int32_t robotType
int32_t robotSubType
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
Additional info
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_ADDITIONAL_INFO = 8
bool freedriveButtonPressed
bool freedriveButtonEnabled
bool IOEnabledFreedrive
Page 145
5.0
unused double Fz
unused double Frx
unused double Fry
unused double Frz
This package is used internally by Universal Robots software only and should be skipped.
This is the first package sent on both the primary and secondary client interfaces. This package it is not part of the robot stat
int messageSize
unsigned char messageType = MESSAGE_TYPE_ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_TYPE_VERSION = 3
char projectNameSize
charArray projectName
unsigned char majorVersion
unsigned char minorVersion
int bugfixVersion
int buildNumber
charArray buildDate
Page 146
5.0
unsigned char messageType = MESSAGE_TYPE_ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_TYPE_SAFETY_MODE = 5
int robotMessageCode
int robotMessageArgument
unsigned char safetyModeType
unsigned char reportDataType
uint32_t reportData
Page 147
5.0
char source
char robotMessageType = ROBOT_MESSAGE_TYPE_PROGRAM_LABEL = 1
int robotMessageId
charArray labelTextMessage
Page 148
5.0
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_TYPE_RUNTIME_EXCEPTION = 10
int scriptLineNumber
int scriptColumnNumber
charArray runtimeExceptionTextMessage
Deprecated: Use the much more efficient 'GlobalVariablesSetupMessage' and 'GlobalVariablesUpdateMessage' (described be
(*) Each new line (terminated with the '\n' character) in the array contains the name of a variable.
(*) The information for each variable is on a new line (terminated with the '\n' character).
Page 149
5.0
JointModes
Page 150
5.0
ToolModes
Page 151
5.0
MessageSources
Page 152
5.0
SafetyModeTypes
ReportLevels
Page 153
5.0
RequestedTypes
Page 154
5.0
ValueTypes
Page 155
5.1
5.1
Primary and secondary client
Joint data
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_JOINT_DATA = 1
for each joint:
double q_actual
double q_target
double qd_actual
float I_actual
double V_actual
float T_motor
double T_micro
uint8_t jointMode
end
The "jointMode" field is a code for the joint status (shown on the initialisation screen):
Cartesian info
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_CARTESIAN_INFO = 4
Page 156
5.1
double X
double Y
double Z
double Rx
double Ry
double Rz
double TCPOffsetX
double TCPOffsetY
double TCPOffsetZ
double TCPOffsetRx
double TCPOffsetRy
double TCPOffsetRz
Masterboard data
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_MASTERBOARD_DATA = 3
int digitalInputBits
int digitalOutputBits
unsigned char analogInputRange0
unsigned char analogInputRange1
double analogInput0
double analogInput1
char analogOutputDomain0
char analogOutputDomain1
double analogOutput0
double analogOutput1
float masterBoardTemperature
float robotVoltage48V
float robotCurrent
float masterIOCurrent
unsigned char safetyMode
uint8_t InReducedMode
char euromap67InterfaceInstalled
if euromap67 interface is installed, also the following:
uint32_t euromapInputBits
uint32_t euromapOutputBits
float euromapVoltage24V
float euromapCurrent
end
uint32_t (Used by Universal Robots software only)
uint8_t operationalModeSelectorInput
uint8_t threePositionEnablingDeviceInput
Page 157
5.1
Tool data
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_TOOL_DATA = 2
unsigned char analogInputRange0
unsigned char analogInputRange1
double analogInput0
double analogInput1
double toolVoltage48V
unsigned char toolOutputVoltage
float toolCurrent
float toolTemperature
uint8_t toolMode
The "toolMode" field is a code for the joint status (shown on the initialisation screen):
Kinematics info
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_KINEMATICS_INFO = 5
for each joint:
uint32_t cheksum
for each joint:
double DHtheta
for each joint:
double DHa
for each joint:
double Dhd
for each joint:
double Dhalpha
uint32_t calibration_status
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
Configuration data
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_CONFIGURATION_DATA = 6
for each joint:
double jointMinLimit
double jointMaxLimitt
end
for each joint:
double jointMaxSpeed
double jointMaxAcceleration
end
Page 158
5.1
double vJointDefault
double aJointDefault
double vToolDefault
double aToolDefault
double eqRadius
for each joint:
double DHa
for each joint:
double Dhd
for each joint:
double DHalpha
for each joint:
double DHtheta
int32_t masterboardVersion
int32_t controllerBoxType
int32_t robotType
int32_t robotSubType
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
Additional info
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_ADDITIONAL_INFO = 8
bool freedriveButtonPressed
bool freedriveButtonEnabled
bool IOEnabledFreedrive
Page 159
5.1
unused double Fz
unused double Frx
unused double Fry
unused double Frz
This package is used internally by Universal Robots software only and should be skipped.
This is the first package sent on both the primary and secondary client interfaces. This package it is not part of the robot stat
int messageSize
unsigned char messageType = MESSAGE_TYPE_ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_TYPE_VERSION = 3
char projectNameSize
charArray projectName
unsigned char majorVersion
unsigned char minorVersion
int bugfixVersion
int buildNumber
charArray buildDate
Page 160
5.1
unsigned char messageType = MESSAGE_TYPE_ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_TYPE_SAFETY_MODE = 5
int robotMessageCode
int robotMessageArgument
unsigned char safetyModeType
unsigned char reportDataType
uint32_t reportData
Page 161
5.1
char source
char robotMessageType = ROBOT_MESSAGE_TYPE_PROGRAM_LABEL = 1
int robotMessageId
charArray labelTextMessage
Page 162
5.1
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_TYPE_RUNTIME_EXCEPTION = 10
int scriptLineNumber
int scriptColumnNumber
charArray runtimeExceptionTextMessage
Deprecated: Use the much more efficient 'GlobalVariablesSetupMessage' and 'GlobalVariablesUpdateMessage' (described be
(*) Each new line (terminated with the '\n' character) in the array contains the name of a variable.
(*) The information for each variable is on a new line (terminated with the '\n' character).
Page 163
5.1
JointModes
Page 164
5.1
ToolModes
Page 165
5.1
MessageSources
Page 166
5.1
SafetyModeTypes
ReportLevels
Page 167
5.1
RequestedTypes
Page 168
5.1
ValueTypes
Page 169
5.2 -> 5.3
Joint data
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_JOINT_DATA = 1
for each joint:
double q_actual
double q_target
double qd_actual
float I_actual
double V_actual
float T_motor
double T_micro
uint8_t jointMode
end
The "jointMode" field is a code for the joint status (shown on the initialisation screen):
Cartesian info
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_CARTESIAN_INFO = 4
Page 170
5.2 -> 5.3
double X
double Y
double Z
double Rx
double Ry
double Rz
double TCPOffsetX
double TCPOffsetY
double TCPOffsetZ
double TCPOffsetRx
double TCPOffsetRy
double TCPOffsetRz
Masterboard data
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_MASTERBOARD_DATA = 3
int digitalInputBits
int digitalOutputBits
unsigned char analogInputRange0
unsigned char analogInputRange1
double analogInput0
double analogInput1
char analogOutputDomain0
char analogOutputDomain1
double analogOutput0
double analogOutput1
float masterBoardTemperature
float robotVoltage48V
float robotCurrent
float masterIOCurrent
unsigned char safetyMode
uint8_t InReducedMode
char euromap67InterfaceInstalled
if euromap67 interface is installed, also the following:
uint32_t euromapInputBits
uint32_t euromapOutputBits
float euromapVoltage24V
float euromapCurrent
end
uint32_t (Used by Universal Robots software only)
uint8_t operationalModeSelectorInput
uint8_t threePositionEnablingDeviceInput
Page 171
5.2 -> 5.3
Tool data
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_TOOL_DATA = 2
unsigned char analogInputRange0
unsigned char analogInputRange1
double analogInput0
double analogInput1
double toolVoltage48V
unsigned char toolOutputVoltage
float toolCurrent
float toolTemperature
uint8_t toolMode
The "toolMode" field is a code for the joint status (shown on the initialisation screen):
Kinematics info
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_KINEMATICS_INFO = 5
for each joint:
uint32_t cheksum
for each joint:
double DHtheta
for each joint:
double DHa
for each joint:
double Dhd
for each joint:
double Dhalpha
uint32_t calibration_status
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
Configuration data
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_CONFIGURATION_DATA = 6
for each joint:
double jointMinLimit
double jointMaxLimitt
end
for each joint:
double jointMaxSpeed
double jointMaxAcceleration
end
Page 172
5.2 -> 5.3
double vJointDefault
double aJointDefault
double vToolDefault
double aToolDefault
double eqRadius
for each joint:
double DHa
for each joint:
double Dhd
for each joint:
double DHalpha
for each joint:
double DHtheta
int32_t masterboardVersion
int32_t controllerBoxType
int32_t robotType
int32_t robotSubType
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
Additional info
int packageSize
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_ADDITIONAL_INFO = 8
bool freedriveButtonPressed
bool freedriveButtonEnabled
bool IOEnabledFreedrive
Page 173
5.2 -> 5.3
unused double Fz
unused double Frx
unused double Fry
unused double Frz
This package is used internally by Universal Robots software only and should be skipped.
This is the first package sent on both the primary and secondary client interfaces. This package it is not part of the robot stat
int messageSize
unsigned char messageType = MESSAGE_TYPE_ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_TYPE_VERSION = 3
char projectNameSize
charArray projectName
unsigned char majorVersion
unsigned char minorVersion
int bugfixVersion
int buildNumber
charArray buildDate
Page 174
5.2 -> 5.3
Page 175
5.2 -> 5.3
int robotMessageArgument
uint8_t robotMessageTitleSize
charArray robotMessageTitle
charArray keyTextMessage
Page 176
5.2 -> 5.3
int messageSize
unsigned char messageType = MESSAGE_TYPE_ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_TYPE_TEXT = 0
charArray textTextMessage
Deprecated: Use the much more efficient 'GlobalVariablesSetupMessage' and 'GlobalVariablesUpdateMessage' (described be
(*) Each new line (terminated with the '\n' character) in the array contains the name of a variable.
Page 177
5.2 -> 5.3
char robotMessageType = PROGRAM_STATE_MESSAGE_TYPE_GLOBAL_VARIABLES_UPDATE = 1
uint16_t startIndex
(*) for each variable:
unsigned char valueType
end
(*) The information for each variable is on a new line (terminated with the '\n' character).
Page 178
5.2 -> 5.3
JointModes
Page 179
5.2 -> 5.3
ToolModes
ation is changed.
Page 180
5.2 -> 5.3
ation is changed.
Page 181
5.2 -> 5.3
MessageSources
Page 182
5.2 -> 5.3
MessageSources
SafetyModeTypes
MessageSources
ReportLevels
MessageSources
Page 183
5.2 -> 5.3
MessageSources
MessageSources
MessageSources
RequestedTypes
Page 184
5.2 -> 5.3
MessageSources
MessageSources
Page 185
5.2 -> 5.3
ValueTypes
Page 186
5.4 Return to index
Messages sent to primary and secondary clients
The "jointMode" field is a code for the joint status (shown on the initialisation screen):
The "toolMode" field is a code for the joint status (shown on the initialisation screen):
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
Calibration data (Sub Package of Robot State Message, Internally used only)
int packageSize Length of Sub Package: total length of subpackage includin
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_NEEDED_FOR_CALIB_DATA = 9
double Fx
double Fy
double Fz
double Frx
double Fry
double Frz
This package is used internally by Universal Robots software only and should be skipped.
Safety Data (Sub Package of Robot State Message)
int packageSize
unsigned char packageType = 10
safety data
It is used internally by Universal Robots software only and should be skipped.
Other Sub Package types, are used by UR software only, and are not guaranteed to be backwards compatible
int messageSize
unsigned char messageType = MESSAGE_TYPE_ROBOT_MESSAGE = 20
uint64_t timestamp
char source MessageSources
char robotMessageType = ROBOT_MESSAGE_TYPE_VERSION = 3
char projectNameSize
charArray projectName
unsigned char majorVersion
unsigned char minorVersion
int bugfixVersion
int buildNumber
charArray buildDate
rds compatible
The "jointMode" field is a code for the joint status (shown on the initialisation screen):
The "toolMode" field is a code for the joint status (shown on the initialisation screen):
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
Calibration data (Sub Package of Robot State Message, Internally used only)
int packageSize Length of Sub Package: total length of subpackage includin
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_NEEDED_FOR_CALIB_DATA = 9
double Fx
double Fy
double Fz
double Frx
double Fry
double Frz
This package is used internally by Universal Robots software only and should be skipped.
Safety Data (Sub Package of Robot State Message)
int packageSize
unsigned char packageType = 10
safety data
It is used internally by Universal Robots software only and should be skipped.
Other Sub Package types, are used by UR software only, and are not guaranteed to be backwards compatible
int messageSize
unsigned char messageType = MESSAGE_TYPE_ROBOT_MESSAGE = 20
uint64_t timestamp
char source MessageSources
char robotMessageType = ROBOT_MESSAGE_TYPE_VERSION = 3
char projectNameSize
charArray projectName
unsigned char majorVersion
unsigned char minorVersion
int bugfixVersion
int buildNumber
charArray buildDate
ds compatible
The "jointMode" field is a code for the joint status (shown on the initialisation screen):
The "toolMode" field is a code for the joint status (shown on the initialisation screen):
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
Calibration data (Sub Package of Robot State Message, Internally used only)
int packageSize Length of Sub Package: total length of subpackage includin
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_NEEDED_FOR_CALIB_DATA = 9
double Fx
double Fy
double Fz
double Frx
double Fry
double Frz
This package is used internally by Universal Robots software only and should be skipped.
Safety Data (Sub Package of Robot State Message)
int packageSize
unsigned char packageType = 10
safety data
It is used internally by Universal Robots software only and should be skipped.
Other Sub Package types, are used by UR software only, and are not guaranteed to be backwards compatible
int messageSize
unsigned char messageType = MESSAGE_TYPE_ROBOT_MESSAGE = 20
uint64_t timestamp
char source MessageSources
char robotMessageType = ROBOT_MESSAGE_TYPE_VERSION = 3
char projectNameSize
charArray projectName
unsigned char majorVersion
unsigned char minorVersion
int bugfixVersion
int buildNumber
charArray buildDate
ds compatible
The "jointMode" field is a code for the joint status (shown on the initialisation screen):
The "toolMode" field is a code for the joint status (shown on the initialisation screen):
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
Calibration data (Sub Package of Robot State Message, Internally used only)
int packageSize Length of Sub Package: total length of subpackage includin
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_NEEDED_FOR_CALIB_DATA = 9
double Fx
double Fy
double Fz
double Frx
double Fry
double Frz
This package is used internally by Universal Robots software only and should be skipped.
Safety Data (Sub Package of Robot State Message)
int packageSize
unsigned char packageType = 10
safety data
It is used internally by Universal Robots software only and should be skipped.
Other Sub Package types, are used by UR software only, and are not guaranteed to be backwards compatible
int messageSize
unsigned char messageType = MESSAGE_TYPE_ROBOT_MESSAGE = 20
uint64_t timestamp
char source MessageSources
char robotMessageType = ROBOT_MESSAGE_TYPE_VERSION = 3
char projectNameSize
charArray projectName
unsigned char majorVersion
unsigned char minorVersion
int bugfixVersion
int buildNumber
charArray buildDate
rds compatible
The "jointMode" field is a code for the joint status (shown on the initialisation screen):
The "toolMode" field is a code for the joint status (shown on the initialisation screen):
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
This information is sent when leaving initializing mode and/or if the kinematics configuration is changed.
Calibration data (Sub Package of Robot State Message, Internally used only)
int packageSize Length of Sub Package: total length of subpackage includin
unsigned char packageType = ROBOT_STATE_PACKAGE_TYPE_NEEDED_FOR_CALIB_DATA = 9
double Fx
double Fy
double Fz
double Frx
double Fry
double Frz
This package is used internally by Universal Robots software only and should be skipped.
Safety Data (Sub Package of Robot State Message)
int packageSize
unsigned char packageType = 10
safety data
It is used internally by Universal Robots software only and should be skipped.
Other Sub Package types, are used by UR software only, and are not guaranteed to be backwards compatible
int messageSize
unsigned char messageType = MESSAGE_TYPE_ROBOT_MESSAGE = 20
uint64_t timestamp
char source MessageSources
char robotMessageType = ROBOT_MESSAGE_TYPE_VERSION = 3
char projectNameSize
charArray projectName
unsigned char majorVersion
unsigned char minorVersion
int bugfixVersion
int buildNumber
charArray buildDate
Messages sent to primary clients ONLY
rds compatible
s
sUpdateMessage' (described below).
line character ('\n' character). Example: var_1\nvar_2\n
JOINT_MODE_POWER_OFF 239 X
JOINT_MODE_NOT_RESPONDING 245 X
JOINT_MODE_BOOTING 247 X
JOINT_MODE_BOOTLOADER 249 X X
JOINT_MODE_FAULT 252 X
JOINT_MODE_RUNNING 253 X X
JOINT_MODE_IDLE 255 X X
Retur til index
Each message sent has a "source" code for the sender of the message.
Value CB3 e-Series
MESSAGE_SOURCE_UNDEFINED -1 X
MESSAGE_SOURCE_JOINT_0 (BASE) 0 X
MESSAGE_SOURCE_JOINT_1 (SHOULDER) 1 X
MESSAGE_SOURCE_JOINT_2 (ELBOW) 2 X
MESSAGE_SOURCE_JOINT_3 (WRIST_1) 3 X
MESSAGE_SOURCE_JOINT_4 (WRIST_2) 4 X
MESSAGE_SOURCE_JOINT_5 (WRIST_3) 5 X
MESSAGE_SOURCE_TOOL 6 X
MESSAGE_SOURCE_EUROMAP_2 68 X
MESSAGE_SOURCE_EUROMAP_1 67 X
MESSAGE_SOURCE_TEACH_PENDANT_2 66 X
MESSAGE_SOURCE_TEACH_PENDANT_1 65 X
MESSAGE_SOURCE_JOINT_0_FPGA 100 X
MESSAGE_SOURCE_JOINT_0_A 110 X
MESSAGE_SOURCE_JOINT_0_B 120 X
MESSAGE_SOURCE_JOINT_1_FPGA 101 X
MESSAGE_SOURCE_JOINT_0_A 111 X
MESSAGE_SOURCE_JOINT_0_B 121 X
MESSAGE_SOURCE_JOINT_2_FPGA 102 X
MESSAGE_SOURCE_JOINT_2_A 112 X
MESSAGE_SOURCE_JOINT_2_B 122 X
MESSAGE_SOURCE_JOINT_3_FPGA 103 X
MESSAGE_SOURCE_JOINT_3_A 113 X
MESSAGE_SOURCE_JOINT_3_B 123 X
MESSAGE_SOURCE_JOINT_4_FPGA 104 X
MESSAGE_SOURCE_JOINT_4_A 114 X
MESSAGE_SOURCE_JOINT_4_B 124 X
MESSAGE_SOURCE_JOINT_5_FPGA 105 X
MESSAGE_SOURCE_JOINT_5_A 115 X
MESSAGE_SOURCE_JOINT_5_B 125 X
MESSAGE_SOURCE_TOOL_FPGA 106 X
MESSAGE_SOURCE_TOOL_A 116 X
MESSAGE_SOURCE_TOOL_B 126 X
MESSAGE_SOURCE_EUROMAP_FPGA 107 X
MESSAGE_SOURCE_EUROMAP_A 117 X
MESSAGE_SOURCE_EUROMAP_B 127 X
MESSAGE_SOURCE_TEACH_PENDANT_A 108 X
MESSAGE_SOURCE_TEACH_PENDANT_B 118 X
MESSAGE_SOURCE_SCB_FPGA 40 X
MESSAGE_SAFETY_PROCESSOR_UA 20 X X
MESSAGE_SAFETY_PROCESSOR_UB 30 X X
MESSAGE_SOURCE_ROBOTINTERFACE -2 X X
MESSAGE_SOURCE_RTMACHINE -3 X X
MESSAGE_SOURCE_SIMULATED_ROBOT -4 X X
MESSAGE_SOURCE_GUI -5 X X
MESSAGE_SOURCE_CONTROLLER 7 X X
MESSAGE_SOURCE_RTDE 8 X X
MESSAGE_TYPE_DISCONNECT -1 X X
MESSAGE_TYPE_ROBOT_STATE 16 X X
MESSAGE_TYPE_ROBOT_MESSAGE 20 X X
MESSAGE_TYPE_HMC_MESSAGE 22 X X
MESSAGE_TYPE_MODBUS_INFO_MESSAGE 5 X X
MESSAGE_TYPE_SAFETY_SETUP_BROADCAST_MESSAGE 23 X X
MESSAGE_TYPE_SAFETY_COMPLIANCE_TOLERANCES_MESSAGE 24 X X
MESSAGE_TYPE_PROGRAM_STATE_MESSAGE 25 X X
Retur til index
Value CB3 e-Series
SAFETY_MODE_UNDEFINED_SAFETY_MODE 11 X X
SAFETY_MODE_VALIDATE_JOINT_ID 10 X
SAFETY_MODE_FAULT 9 X X
SAFETY_MODE_VIOLATION 8 X X
SAFETY_MODE_ROBOT_EMERGENCY_STOP 7 X X
SAFETY_MODE_SYSTEM_EMERGENCY_STOP 6 X X
SAFETY_MODE_SAFEGUARD_STOP 5 X X
SAFETY_MODE_RECOVERY 4 X X
SAFETY_MODE_PROTECTIVE_STOP 3 X X
SAFETY_MODE_REDUCED 2 X X
SAFETY_MODE_NORMAL 1 X X
Comment
Page 270
SafetyStatusTypes
Comment
Page 271
Retur til index
Value CB3 e-Series
REPORT_LEVEL_DEVL_INFO 129 X
REPORT_LEVEL_DEVL_WARNING 130 X
REPORT_LEVEL_DEVL_VIOLATION 131 X
REPORT_LEVEL_DEVL_FAULT 132 X
Retur til index
Value CB3
REQUEST_VALUE_TYPE_BOOLEAN 0 X
REQUEST_VALUE_TYPE_INTEGER 1 X
REQUEST_VALUE_TYPE_FLOAT 2 X
REQUEST_VALUE_TYPE_STRING 3 X
REQUEST_VALUE_TYPE_POSE 4 X
REQUEST_VALUE_TYPE_JOINTVECTOR 5 X
REQUEST_VALUE_TYPE_WAYPOINT (UNUSED) 6 X
REQUEST_VALUE_TYPE_EXPRESSION (UNUSED) 7 X
REQUEST_VALUE_TYPE_NONE (*) 8 X
'POSE_VAL'
float X
float Y
float Z
float Rx
float Ry
float Rz
'BOOL_VAL'
bool value
'NUM_VAL'
float value
'INT_VAL'
int32_t value
'FLOAT_VAL'
float value
From software 3.3/5.0
NONE_VAL = 0,
CONST_STRING_VAL = 3,
VAR_STRING_VAL = 4,
LIST_VAL = 5,
POSE_VAL = 10,
BOOL_VAL = 12,
NUM_VAL = 13,
INT_VAL = 14,
FLOAT _VAL= 15,
Data sizes
2 bytes
4 bytes
4 bytes
8 bytes
1 byte
1 byte
Return to Index
Meaning Type Number ofSize in bytGnuplot coNotes
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
Tool Accelerometer values double 3 24 50 - 53 Tool x,y and z accelerometer values (software ve
Unused double 15 120 54 - 67 Unused
TCP force double 6 48 68 - 73 Generalised forces in the TCP
Tool vector double 6 48 74 - 79 Cartesian coordinates of the tool: (x,y,z,rx,ry,rz),
TCP speed double 6 48 80 - 85 Speed of the tool given in cartesian coordinates
Digital input bits double 1 8 86 Current state of the digital inputs. NOTE: these ar
Motor temperatures double 6 48 87 - 92 Temperature of each joint in degrees celcius
Controller Timer double 1 8 93 Controller realtime thread execution time
Test value double 1 8 94 A value used by Universal Robots software only
Robot Mode double 1 8 95 Robot control mode (see PolyScopeProgramServ
Joint Modes double 6 48 96-101 Joint control modes (see PolyScopeProgramServe
TOTAL 96 764 96 values in a 764 byte package (In software vers
If it is experienced that less than 756 bytes are received, the protocol for the actual received bytes also follows the structure li
h in bytes
the controller was started
ns
es
ations
s
ts (torques)
ns
es
s
erometer values (software version 1.7)
n the TCP
es of the tool: (x,y,z,rx,ry,rz), where rx, ry and rz is a rotation vector representation of the tool orientation
ven in cartesian coordinates
digital inputs. NOTE: these are bits encoded as int64_t, e.g. a value of 5 corresponds to bit 0 and bit 2 set high
h joint in degrees celcius
thread execution time
versal Robots software only
e (see PolyScopeProgramServer on the"How to"page
(see PolyScopeProgramServer on the "How to" page) (only from software version 1.8 and on)
yte package (In software version there will be 101 values and 812 bytes)
es also follows the structure listed above, only not containing the entries at leading up the 756th byte.
Return to Index
Meaning Type Number of values Size in bytes Gnuplot col.
Message Size integer 1 4
Time double 1 8 1
q target double 6 48 2-7
qd target double 6 48 8 - 13
qdd target double 6 48 14 - 19
I target double 6 48 20 - 25
M target double 6 48 26 - 31
q actual double 6 48 32 - 37
qd actual double 6 48 38 - 43
I actual double 6 48 44 - 49
I control double 6 48 50 - 55
Tool vector actual double 6 48 56 - 61
TCP speed actual double 6 48 62 - 67
TCP force double 6 48 68 - 73
Tool vector target double 6 48 74 - 79
TCP speed target double 6 48 80 - 85
Digital input bits double 1 8 86
Motor temperatures double 6 48 87 - 92
Controller Timer double 1 8 93
Test value double 1 8 94
Robot Mode double 1 8 95
Joint Modes double 6 48 96-101
Safety Mode double 1 8 102
double 6 48 103 - 108
Tool Accelerometer values double 3 24 109 - 111
double 6 48 112 - 117
Speed scaling double 1 8 118
Linear momentum norm double 1 8 119
double 1 8 120
double 1 8 121
V main double 1 8 122
V robot double 1 8 123
I robot double 1 8 124
V actual double 6 48 125 - 130
TOTAL 131 1044
If it is experienced that less than 1044 bytes are received, the protocol for the actual received bytes also follows the structure
Notes
Total message length in bytes
Time elapsed since the controller was started
Target joint positions
Target joint velocities
Target joint accelerations
Target joint currents
Target joint moments (torques)
Actual joint positions
Actual joint velocities
Actual joint currents
Joint control currents
Actual Cartesian coordinates of the tool: (x,y,z,rx,ry,rz), where rx, ry and rz is a rotation vector representation of the tool orien
Actual speed of the tool given in Cartesian coordinates
Generalised forces in the TCP
Target Cartesian coordinates of the tool: (x,y,z,rx,ry,rz), where rx, ry and rz is a rotation vector representation of the tool orien
Target speed of the tool given in Cartesian coordinates
Current state of the digital inputs. NOTE: these are bits encoded as int64_t, e.g. a value of 5 corresponds to bit 0 and bit 2 set
Temperature of each joint in degrees celsius
Controller realtime thread execution time
A value used by Universal Robots software only
Robot mode RobotModes
Joint control modes ControlModes
Safety mode SafetyModeTypes!A1
Used by Universal Robots software only
Tool x,y and z accelerometer values (software version 1.7)
Used by Universal Robots software only
Speed scaling of the trajectory limiter
Norm of Cartesian linear momentum
Used by Universal Robots software only
Used by Universal Robots software only
Masterboard: Main voltage
Masterboard: Robot voltage (48V)
Masterboard: Robot current
Actual joint voltages
131 values in a 1044 byte package
tes also follows the structure listed above, only not containing the entries at leading up the 1044th byte.
r representation of the tool orientation
If it is experienced that less than 1060 bytes are received, the protocol for the actual received bytes also follows the structure
Notes
Total message length in bytes
Time elapsed since the controller was started
Target joint positions
Target joint velocities
Target joint accelerations
Target joint currents
Target joint moments (torques)
Actual joint positions
Actual joint velocities
Actual joint currents
Joint control currents
Actual Cartesian coordinates of the tool: (x,y,z,rx,ry,rz), where rx, ry and rz is a rotation vector representation of the tool orien
Actual speed of the tool given in Cartesian coordinates
Generalised forces in the TCP
Target Cartesian coordinates of the tool: (x,y,z,rx,ry,rz), where rx, ry and rz is a rotation vector representation of the tool orien
Target speed of the tool given in Cartesian coordinates
Current state of the digital inputs. NOTE: these are bits encoded as int64_t, e.g. a value of 5 corresponds to bit 0 and bit 2 set
Temperature of each joint in degrees celsius
Controller realtime thread execution time
A value used by Universal Robots software only
Robot mode RobotModes
Joint control modes ControlModes
Safety mode SafetyModeTypes!A1
Used by Universal Robots software only
Tool x,y and z accelerometer values (software version 1.7)
Used by Universal Robots software only
Speed scaling of the trajectory limiter
Norm of Cartesian linear momentum
Used by Universal Robots software only
Used by Universal Robots software only
Masterboard: Main voltage
Masterboard: Robot voltage (48V)
Masterboard: Robot current
Actual joint voltages
Digital outputs
Program state
133 values in a 1060 byte package
bytes also follows the structure listed above, only not containing the entries at leading up the 1060th byte.
r representation of the tool orientation
If it is experienced that less than 1108 bytes are received, the protocol for the actual received bytes also follows the structure
nded to use the RTDE Interface, instead)
RobotModes
ControlModes
SafetyModeTypes!A1
niversal Robots software only
d z accelerometer values (software version 1.7)
niversal Robots software only
ng of the trajectory limiter
tion
lso follows the structure listed above, only not containing the entries at leading up the 1108th byte.
entation
entation
t high
Return to Index (The RealTime interface has been deprecated since version 3.5. It is recommended to use the
Meaning Type Number of values Size in bytes Gnuplot col.
Message Size integer 1 4
Time double 1 8 1
q target double 6 48 2-7
qd target double 6 48 8 - 13
qdd target double 6 48 14 - 19
I target double 6 48 20 - 25
M target double 6 48 26 - 31
q actual double 6 48 32 - 37
qd actual double 6 48 38 - 43
I actual double 6 48 44 - 49
I control double 6 48 50 - 55
Tool vector actual double 6 48 56 - 61
TCP speed actual double 6 48 62 - 67
TCP force double 6 48 68 - 73
Tool vector target double 6 48 74 - 79
TCP speed target double 6 48 80 - 85
Digital input bits double 1 8 86
Motor temperatures double 6 48 87 - 92
Controller Timer double 1 8 93
Test value double 1 8 94
Robot Mode double 1 8 95
Joint Modes double 6 48 96-101
Safety Mode double 1 8 102
double 6 48 103 - 108
Tool Accelerometer values double 3 24 109 - 111
double 6 48 112 - 117
Speed scaling double 1 8 118
Linear momentum norm double 1 8 119
double 1 8 120
double 1 8 121
V main double 1 8 122
V robot double 1 8 123
I robot double 1 8 124
V actual double 6 48 125 - 130
Digital outputs double 1 8 131
Program state double 1 8 132
Elbow position double 3 24 133 - 135
Elbow velocity double 3 24 136 -138
TOTAL 139 1108
If it is experienced that less than 1108 bytes are received, the protocol for the actual received bytes also follows the structure
s recommended to use the RTDE Interface, instead)
Notes
Total message length in bytes
Time elapsed since the controller was started
Target joint positions
Target joint velocities
Target joint accelerations
Target joint currents
Target joint moments (torques)
Actual joint positions
Actual joint velocities
Actual joint currents
Joint control currents
Actual Cartesian coordinates of the tool: (x,y,z,rx,ry,rz), where rx, ry and rz is a rotation vector representation of the tool orien
Actual speed of the tool given in Cartesian coordinates
Generalised forces in the TCP
Target Cartesian coordinates of the tool: (x,y,z,rx,ry,rz), where rx, ry and rz is a rotation vector representation of the tool orien
Target speed of the tool given in Cartesian coordinates
Current state of the digital inputs. NOTE: these are bits encoded as int64_t, e.g. a value of 5 corresponds to bit 0 and bit 2 set
Temperature of each joint in degrees celsius
Controller realtime thread execution time
A value used by Universal Robots software only
Robot mode RobotModes
Joint control modes ControlModes
Safety mode SafetyModeTypes!A1
Used by Universal Robots software only
Tool x,y and z accelerometer values (software version 1.7)
Used by Universal Robots software only
Speed scaling of the trajectory limiter
Norm of Cartesian linear momentum
Used by Universal Robots software only
Used by Universal Robots software only
Masterboard: Main voltage
Masterboard: Robot voltage (48V)
Masterboard: Robot current
Actual joint voltages
Digital outputs
Program state
Elbow position
Elbow velocity
139 values in a 1108 byte package
es also follows the structure listed above, only not containing the entries at leading up the 1108th byte.
ntation of the tool orientation
If it is experienced that less than 1108 bytes are received, the protocol for the actual received bytes also follows the structure
s recommended to use the RTDE Interface, instead)
Notes
Total message length in bytes
Time elapsed since the controller was started
Target joint positions
Target joint velocities
Target joint accelerations
Target joint currents
Target joint moments (torques)
Actual joint positions
Actual joint velocities
Actual joint currents
Joint control currents
Actual Cartesian coordinates of the tool: (x,y,z,rx,ry,rz), where rx, ry and rz is a rotation vector representation of the tool orien
Actual speed of the tool given in Cartesian coordinates
Generalised forces in the TCP
Target Cartesian coordinates of the tool: (x,y,z,rx,ry,rz), where rx, ry and rz is a rotation vector representation of the tool orien
Target speed of the tool given in Cartesian coordinates
Current state of the digital inputs. NOTE: these are bits encoded as int64_t, e.g. a value of 5 corresponds to bit 0 and bit 2 set
Temperature of each joint in degrees celsius
Controller realtime thread execution time
A value used by Universal Robots software only
Robot mode RobotModes
Joint control modes ControlModes
Safety mode SafetyModeTypes!A1
Used by Universal Robots software only
Tool x,y and z accelerometer values (software version 1.7)
Used by Universal Robots software only
Speed scaling of the trajectory limiter
Norm of Cartesian linear momentum
Used by Universal Robots software only
Used by Universal Robots software only
Masterboard: Main voltage
Masterboard: Robot voltage (48V)
Masterboard: Robot current
Actual joint voltages
Digital outputs
Program state
Elbow position
Elbow velocity
139 values in a 1108 byte package
es also follows the structure listed above, only not containing the entries at leading up the 1108th byte.
ntation of the tool orientation
Page 297
RealTime 3.10 -> 3.14
If it is experienced that less than 1108 bytes are received, the protocol for the actual received bytes also follows the structur
Page 298
RealTime 3.10 -> 3.14
is recommended to use the RTDE Interface, instead)
Notes
Total message length in bytes
Time elapsed since the controller was started
Target joint positions
Target joint velocities
Target joint accelerations
Target joint currents
Target joint moments (torques)
Actual joint positions
Actual joint velocities
Actual joint currents
Joint control currents
Actual Cartesian coordinates of the tool: (x,y,z,rx,ry,rz), where rx, ry and rz is a rotation vector representation of the tool orie
Actual speed of the tool given in Cartesian coordinates
Generalised forces in the TCP
Target Cartesian coordinates of the tool: (x,y,z,rx,ry,rz), where rx, ry and rz is a rotation vector representation of the tool orie
Target speed of the tool given in Cartesian coordinates
Current state of the digital inputs. NOTE: these are bits encoded as int64_t, e.g. a value of 5 corresponds to bit 0 and bit 2 se
Temperature of each joint in degrees celsius
Controller realtime thread execution time
A value used by Universal Robots software only
Robot mode RobotModes
Joint control modes ControlModes
Safety mode SafetyModeTypes!A1
Used by Universal Robots software only
Tool x,y and z accelerometer values (software version 1.7)
Used by Universal Robots software only
Speed scaling of the trajectory limiter
Norm of Cartesian linear momentum
Used by Universal Robots software only
Used by Universal Robots software only
Masterboard: Main voltage
Masterboard: Robot voltage (48V)
Masterboard: Robot current
Actual joint voltages
Digital outputs
Program state
Elbow position
Elbow velocity
Safety status SafetyStatusTypes!A1
140 values in a 1116 byte package
Page 299
RealTime 3.10 -> 3.14
tes also follows the structure listed above, only not containing the entries at leading up the 1108th byte.
Page 300
RealTime 3.10 -> 3.14
Page 301
Return to Index (The RealTime interface has been deprecated since version 3.5. It is recommended to use the
Meaning Type Number of values Size in bytes Gnuplot col.
Message Size integer 1 4
Time double 1 8 1
q target double 6 48 2-7
qd target double 6 48 8 - 13
qdd target double 6 48 14 - 19
I target double 6 48 20 - 25
M target double 6 48 26 - 31
q actual double 6 48 32 - 37
qd actual double 6 48 38 - 43
I actual double 6 48 44 - 49
I control double 6 48 50 - 55
Tool vector actual double 6 48 56 - 61
TCP speed actual double 6 48 62 - 67
TCP force double 6 48 68 - 73
Tool vector target double 6 48 74 - 79
TCP speed target double 6 48 80 - 85
Digital input bits double 1 8 86
Motor temperatures double 6 48 87 - 92
Controller Timer double 1 8 93
Test value double 1 8 94
Robot Mode double 1 8 95
Joint Modes double 6 48 96-101
Safety Mode double 1 8 102
double 6 48 103 - 108
Tool Accelerometer values double 3 24 109 - 111
double 6 48 112 - 117
Speed scaling double 1 8 118
Linear momentum norm double 1 8 119
double 1 8 120
double 1 8 121
V main double 1 8 122
V robot double 1 8 123
I robot double 1 8 124
V actual double 6 48 125 - 130
Digital outputs double 1 8 131
Program state double 1 8 132
Elbow position double 3 24 133 - 135
Elbow velocity double 3 24 136 -138
TOTAL 139 1108
If it is experienced that less than 1108 bytes are received, the protocol for the actual received bytes also follows the structure
s recommended to use the RTDE Interface, instead)
Notes
Total message length in bytes
Time elapsed since the controller was started
Target joint positions
Target joint velocities
Target joint accelerations
Target joint currents
Target joint moments (torques)
Actual joint positions
Actual joint velocities
Actual joint currents
Joint control currents
Actual Cartesian coordinates of the tool: (x,y,z,rx,ry,rz), where rx, ry and rz is a rotation vector representation of the tool orien
Actual speed of the tool given in Cartesian coordinates
Generalised forces in the TCP
Target Cartesian coordinates of the tool: (x,y,z,rx,ry,rz), where rx, ry and rz is a rotation vector representation of the tool orien
Target speed of the tool given in Cartesian coordinates
Current state of the digital inputs. NOTE: these are bits encoded as int64_t, e.g. a value of 5 corresponds to bit 0 and bit 2 set
Temperature of each joint in degrees celsius
Controller realtime thread execution time
A value used by Universal Robots software only
Robot mode RobotModes
Joint control modes ControlModes
Safety mode SafetyModeTypes!A1
Used by Universal Robots software only
Tool x,y and z accelerometer values (software version 1.7)
Used by Universal Robots software only
Speed scaling of the trajectory limiter
Norm of Cartesian linear momentum
Used by Universal Robots software only
Used by Universal Robots software only
Masterboard: Main voltage
Masterboard: Robot voltage (48V)
Masterboard: Robot current
Actual joint voltages
Digital outputs
Program state
Elbow position
Elbow velocity
139 values in a 1108 byte package
es also follows the structure listed above, only not containing the entries at leading up the 1108th byte.
ntation of the tool orientation
If it is experienced that less than 1108 bytes are received, the protocol for the actual received bytes also follows the structure
s recommended to use the RTDE Interface, instead)
Notes
Total message length in bytes
Time elapsed since the controller was started
Target joint positions
Target joint velocities
Target joint accelerations
Target joint currents
Target joint moments (torques)
Actual joint positions
Actual joint velocities
Actual joint currents
Joint control currents
Actual Cartesian coordinates of the tool: (x,y,z,rx,ry,rz), where rx, ry and rz is a rotation vector representation of the tool orien
Actual speed of the tool given in Cartesian coordinates
Generalised forces in the TCP
Target Cartesian coordinates of the tool: (x,y,z,rx,ry,rz), where rx, ry and rz is a rotation vector representation of the tool orien
Target speed of the tool given in Cartesian coordinates
Current state of the digital inputs. NOTE: these are bits encoded as int64_t, e.g. a value of 5 corresponds to bit 0 and bit 2 set
Temperature of each joint in degrees celsius
Controller realtime thread execution time
A value used by Universal Robots software only
Robot mode RobotModes
Joint control modes ControlModes
Safety mode SafetyModeTypes!A1
Used by Universal Robots software only
Tool x,y and z accelerometer values (software version 1.7)
Used by Universal Robots software only
Speed scaling of the trajectory limiter
Norm of Cartesian linear momentum
Used by Universal Robots software only
Used by Universal Robots software only
Masterboard: Main voltage
Masterboard: Robot voltage (48V)
Masterboard: Robot current
Actual joint voltages
Digital outputs
Program state
Elbow position
Elbow velocity
139 values in a 1108 byte package
es also follows the structure listed above, only not containing the entries at leading up the 1108th byte.
ntation of the tool orientation
Page 308
RealTime 5.4 -> 5.9
If it is experienced that less than 1108 bytes are received, the protocol for the actual received bytes also follows the structur
Page 309
RealTime 5.4 -> 5.9
is recommended to use the RTDE Interface, instead)
Notes
Total message length in bytes
Time elapsed since the controller was started
Target joint positions
Target joint velocities
Target joint accelerations
Target joint currents
Target joint moments (torques)
Actual joint positions
Actual joint velocities
Actual joint currents
Joint control currents
Actual Cartesian coordinates of the tool: (x,y,z,rx,ry,rz), where rx, ry and rz is a rotation vector representation of the tool orie
Actual speed of the tool given in Cartesian coordinates
Generalised forces in the TCP
Target Cartesian coordinates of the tool: (x,y,z,rx,ry,rz), where rx, ry and rz is a rotation vector representation of the tool orie
Target speed of the tool given in Cartesian coordinates
Current state of the digital inputs. NOTE: these are bits encoded as int64_t, e.g. a value of 5 corresponds to bit 0 and bit 2 se
Temperature of each joint in degrees celsius
Controller realtime thread execution time
A value used by Universal Robots software only
Robot mode RobotModes
Joint control modes ControlModes
Safety mode SafetyModeTypes!A1
Used by Universal Robots software only
Tool x,y and z accelerometer values (software version 1.7)
Used by Universal Robots software only
Speed scaling of the trajectory limiter
Norm of Cartesian linear momentum
Used by Universal Robots software only
Used by Universal Robots software only
Masterboard: Main voltage
Masterboard: Robot voltage (48V)
Masterboard: Robot current
Actual joint voltages
Digital outputs
Program state
Elbow position
Elbow velocity
Safety status SafetyStatusTypes!A1
140 values in a 1116 byte package
Page 310
RealTime 5.4 -> 5.9
tes also follows the structure listed above, only not containing the entries at leading up the 1108th byte.
Page 311
RealTime 5.4 -> 5.9
Page 312