SDK Data Reference
IMU Data
A single 6-axis IMU sits on the back of the hand:
| API | Location |
|---|---|
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.
| Field | Type | Description |
|---|---|---|
header | FrameHeader | Frame header |
orientation | Quaternion | Fused orientation quaternion (orientation_covariance[0] = -1 means not available, per REP-145) |
orientation_covariance | List[float] | Orientation covariance matrix (3×3, row-major) |
angular_velocity | Vector3F64 | Angular velocity (rad/s) |
angular_velocity_covariance | List[float] | Angular velocity covariance matrix |
linear_acceleration | Vector3F64 | Linear acceleration (m/s²) |
linear_acceleration_covariance | List[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]
}