Feedback Messages
There are currently three streaming feedback messages available:
Streaming Status
Cartesian Pose
Joint Pose
Jacobian
For further information on getting started with feedback messages, refer to Getting Started: Streaming Feedback. Additionally, there is also an example receiver provided.
Note
Floating point numbers are encoded in network byte order (i.e. “Big Endian”). Please note the python documentation for further instructions on unpacking.
The figure below shows the message format.
Streaming Feedback Message Header
All streaming feedback messages share the same header. This header contains:
- Streaming State (uint8): Feedback on the current state of the streaming mode
inactive (0x00): Streaming not active
ready (0x10): Streaming enabled, currently not following streamed trajectory
streaming (0x20): following streamed trajectory
- Message ID (uint8): Identifies the type of feedback message, i.e. the format and content of the payload
status (0x00)
cartesian pose (0x01)
joint pose (0x02)
Streaming Feedback Message Payload
Besides the header, the payload of the message depends on its type:
Streaming Status (0x00) –> Payload Size: 0 Byte
- Cartesian Pose (0x01) –> Payload Size: 52 Bytes
translation (3 x float): x, y and z coordinate of the TCP relative to the base in [m]
orientation (4 x float): W, X, Y and Z quaternion component of the TCP relative to the base in [-]
linear velocity (3 x float): v_x, v_y and v_z in the robots base frame in [m/s]
angular velocity (3 x float): omega_x, omega_y and omega_z of the TCP in the robots base frame in [rad/s]
- Joint Pose (0x02) –> Payload Size: 2 x n x 4 Bytes
joint angles (n x float): joint angle for each joint in [rad]
joint velocities (n x float): joint velocity for each joint in [rad/s]
- Jacobian (0x03) –> Payload Size: n x 6 x 4 Bytes
geometric jacobian: jacobi matrix entry in [-] (in row indexing, i.e. the first n entries form the first row, and so forth)