IMU Data

Open in Claude

IMU output is selected with udp_profile_imu. Supported values are:

  • LEGACY - legacy IMU packet format. See IMU Data Legacy.
  • ACCEL32_GYRO32_NMEA - column-correlated IMU packet format for synchronous IMU output.

IMU packets are little-endian. By default, IMU UDP data is forwarded to port 7503; configure udp_port_imu to change the destination port or set it to 0 to disable IMU packet transmission.

ACCEL32_GYRO32_NMEA IMU Profile

Note: Supported in firmware v3.2 or later.

The ACCEL32_GYRO32_NMEA profile is intended for synchronous IMU output. It reports 32-bit accelerometer and gyroscope values with timing fields that correlate the IMU sample to lidar column/frame context.

Configure packet cadence with imu_packets_per_frame. Valid values are 1, 2, 4, and 8; the resulting IMU packet rate depends on lidar frame rate and the selected value.

Each ACCEL32_GYRO32_NMEA packet contains:

  • Packet Header
  • IMU Data Block
  • NMEA Block
  • Packet Footer

ACCEL32_GYRO32_NMEA Packet Header

ACCEL32_GYRO32_NMEA IMU Data Block

The IMU Data Block contains:

  • Timestamp [64 bit unsigned int] - timestamp for the IMU packet on the sensor time base.
  • Correlated Column ID [12 bit unsigned int] - lidar column ID associated with the IMU sample.
  • Result Valid [1 bit unsigned int] - indicates whether the correlated column/frame fields are valid.
  • Frame ID [8 bit unsigned int] - low 8 bits of the lidar frame ID.
  • Acceleration in X/Y/Z-axis [32 bit float] - acceleration in g.
  • Angular Velocity about X/Y/Z-axis [32 bit float] - angular velocity in degrees per second.

ACCEL32_GYRO32_NMEA NMEA Block

The NMEA Block carries the timestamped NMEA sentence bytes and lock-status bits. If no NMEA measurement is available for a packet, the NMEA sentence fields are zero-padded.

WordMSBLSBField NameDescription
0310Timestamp LowLow 32 bits of NMEA timestamp
1310Timestamp HighUpper 32 bits of NMEA timestamp
2-23310NMEA Words 0-21NMEA sentence bytes
2400PPS LockPPS lock status
2411NMEA LockNMEA lock status
24312ReservedReserved
WordMSBLSBField NameDescription
0-5310ReservedReserved
6310CRC64 LowLow 32 bits of packet CRC64
7310CRC64 HighUpper 32 bits of packet CRC64

Configurable IMU Scale

The full-scale range (fsr) of the accelerometer and gyroscope is configurable. Toggle each between the default NORMAL and the wider EXTENDED range via the Web UI or by issuing POST /api/v1/sensor/config with accel_fsr and/or gyro_fsr in the body. Query the current value with GET /api/v1/sensor/metadata/imu_data_format. See the API reference for full schemas.

  • accel_fsr — accelerometer scale.

    • NORMAL (default): X/Y/Z fixed at ± 2 g.
    • EXTENDED: X/Y/Z extended to ± 16 g.
  • gyro_fsr — gyroscope scale.

    • NORMAL (default): X/Y/Z fixed at ± 250 dps (°/sec).
    • EXTENDED: X/Y/Z programmable to ± 2000 dps (°/sec).

Note: Switching to EXTENDED updates the values reported in IMU packets accordingly, but can result in a slight loss of precision due to truncation of the least significant bits (LSB). Full IMU specifications are in the Sensor Datasheet.