SDK Data Reference

IMU Data

A single 6-axis IMU sits on the back of the hand:

APILocation
glove.imu_palm()Dorsum
sub = glove.imu_palm().subscribe()
imu = await sub.recv_async()
print(f"Orientation: {imu.orientation}")        # quaternion (x, y, z, w)
print(f"Angular velocity: {imu.angular_velocity}")    # rad/s
print(f"Linear acceleration: {imu.linear_acceleration}") # m/s²

IMU data is compatible with ROS sensor_msgs/Imu and can be plugged directly into a ROS integration.

ImuData

IMU sensor data, compatible with ROS sensor_msgs/Imu.

FieldTypeDescription
headerFrameHeaderFrame header
orientationQuaternionFused orientation quaternion (orientation_covariance[0] = -1 means not available, per REP-145)
orientation_covarianceList[float]Orientation covariance matrix (3×3, row-major)
angular_velocityVector3F64Angular velocity (rad/s)
angular_velocity_covarianceList[float]Angular velocity covariance matrix
linear_accelerationVector3F64Linear acceleration (m/s²)
linear_acceleration_covarianceList[float]Linear acceleration covariance matrix
{
  "header": {
    "seq": 500,
    "timestamp_us": 1709876543210,
    "frame_id": ""
  },
  "orientation": {
    "x": 0.0,
    "y": 0.0,
    "z": 0.0,
    "w": 1.0
  },
  "orientation_covariance": [-1, 0, 0, 0, 0, 0, 0, 0, 0],
  "angular_velocity": {
    "x": 0.01,
    "y": -0.02,
    "z": 0.005
  },
  "angular_velocity_covariance": [0, 0, 0, 0, 0, 0, 0, 0, 0],
  "linear_acceleration": {
    "x": 0.1,
    "y": -0.05,
    "z": 9.8
  },
  "linear_acceleration_covariance": [0, 0, 0, 0, 0, 0, 0, 0, 0]
}

On this page