> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wuji.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# IMU

## imu (SUB)

**Onboard IMU stream**: pushes acceleration and angular velocity at a native output rate of 100 Hz, adjustable down through the subscription handle. The device does no onboard orientation fusion, so the `orientation` field is unavailable and `orientation_covariance[0] = -1` marks it invalid per the ROS `sensor_msgs/Imu` convention. Data is reported in the IMU sensor's own frame, and the mapping between its axes and the hand structure will be defined in a future hand model update.

```python theme={null}
sub = hand.imu().subscribe() # → Subscription[ImuData]
s = await sub.recv_async()
a, g = s.linear_acceleration, s.angular_velocity # m/s² and rad/s
print(s.header.seq, a.x, a.y, a.z, g.x, g.y, g.z)
sub.close()
```

`ImuData` is a cross-device shared type. See the [Wuji SDK data reference](/en/docs/wuji-sdk/data-reference/#imudata) for field definitions.

The C API matches the Python API on this page and uses the `wuji_hand_2_` prefix. For initialization conventions, memory management, error codes, and build setup, see the [C API Reference](/en/docs/wuji-sdk/data-reference/).

The `wuji_hand_2_subscribe_imu` callback carries `WujiImuData`, the same schema as the Wuji Glove `imu_*` streams. Close the subscription handle with `wuji_sub_close`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.