IMU Packet (Single-Direction, Firmware → ROS driver)¶
This packet is generated by the Main Controller firmware and reports data from the integrated 9-axis absolute orientation sensor.
This packet is transmitted from the firmware to the ROS driver via UDP port 49154 at 10 ms intervals.
Field Layout¶
| Byte Offset | Field Name | Type | Size (Bytes) | Description |
|---|---|---|---|---|
| 0 - 11 | Header | Timestamp Header | 12 | Refer to Timestamp Header |
| 12 - 23 | Accel[3] | 32-bit float array | 4 x 3 | 3-axis acceleration data. Index 0: X-axis component Index 1: Y-axis component Index 2: Z-axis component |
| 24 - 35 | Gyro[3] | 32-bit float array | 4 x 3 | 3-axis gyroscope data. Index 0: X-axis component Index 1: Y-axis component Index 2: Z-axis component |
| 36 - 47 | Compass[3] | 32-bit float array | 4 x 3 | 3-axis compass data. Index 0: X-axis component Index 1: Y-axis component Index 2: Z-axis component |
| 48 - 63 | Quaternion | 32-bit float array | 4 x 4 | Quaternion data. Index 0: X-axis component Index 1: Y-axis component Index 2: Z-axis component index 3: W-axis component |
| 64 - 67 | Temperature | 32-bit float | 4 | Temperature of the IMU sensor |
| 68 | Gyro Valid | unsigned char | 1 | Indicates the validity of gyroscope data. Set to 1 if the gyroscope data is successfully read; set to 0 if the read fails. |
| 69 | Accel Valid | unsigned char | 1 | Indicates the validity of acceleration data. Set to 1 if the gyroscope data is successfully read; set to 0 if the read fails. |
| 70 | Compass Valid | unsigned char | 1 | Indicates the validity of compass data. Set to 1 if the gyroscope data is successfully read; set to 0 if the read fails. |
| 71 | Quaternion Valid | unsigned char | 1 | Indicates the validity of quaternion data. Set to 1 if the gyroscope data is successfully read; set to 0 if the read fails. |
| 72 | Temperature Valid | unsigned char | 1 | Indicates the validity of temperature data. Set to 1 if the gyroscope data is successfully read; set to 0 if the read fails. |
| 73 - 84 | Z-axis Direction Vector | 32-bit float array | 4 x 3 | This field represents the direction vector of the Z-axis as defined by the current orientation of the IMU sensor. Index 0: X-axis component Index 1: Y-axis component Index 2: Z-axis component |
| 85 - 88 | Tilt Angle Radian | 32-bit float | 4 | This field indicates the tilt angle of the robot in radian. |
| 89 - 93 | Tilt Angle Degree | 32-bit float | 4 | This filed indicates the tile angle of the robot in degree. |