Skip to main content
A non-consuming snapshot of a robot’s control-loop state, motor order. Joint arrays are in the robot’s motor index order (the order of the names the robot passes as robot_joint_names) and are always present. The floating-base fields are optional so a fixed-base robot (an arm, a bolted-down manipulator) can implement this interface without fabricating an IMU reading; a consumer that needs one raises a descriptive error when it is absent rather than reading a placeholder.

Fields

Motor positions (rad), motor order.
Motor velocities (rad/s), motor order.
Base angular velocity (rad/s), length 3; None on a robot with no floating base or no IMU.
Base orientation quaternion (w, x, y, z), length 4, mapping the base frame to a Z-up world frame — the robot driver owns any conversion from its sensor’s native convention; None on a robot with no floating base or no IMU.
Base linear velocity (m/s), length 3; None unless the robot runs a state estimator that provides one.