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.

../../../_images/feedback_messages.drawio.svg

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)