IMU Data
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. The number of IMU Data Blocks in each packet is reported by imu_measurements_per_packet in GET /api/v1/sensor/metadata/imu_data_format.
Each ACCEL32_GYRO32_NMEA packet contains a Packet Header, an NMEA Block, imu_measurements_per_packet IMU Data Blocks, and a Packet Footer. Each IMU Data Block contains one column-correlated IMU measurement.
ACCEL32_GYRO32_NMEA Packet Header
The packet header is 256 bits (8 words). It identifies the packet as IMU data and carries frame, initialization, serial number, alert, and thermal/shot-limiting status fields.
ACCEL32_GYRO32_NMEA NMEA Block
The 100-byte NMEA Block carries an 8-byte timestamp, 88 bytes of timestamped NMEA sentence payload, and a 4-byte lock-status word. If no NMEA measurement is available for a packet, the NMEA sentence fields are zero-padded.
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 Packet Footer
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 measurement range.NORMAL(default): X/Y/Z measurement range ± 2 g.EXTENDED: X/Y/Z measurement range ± 16 g.
-
gyro_fsr— gyroscope measurement range.NORMAL(default): X/Y/Z measurement range ± 250 dps (°/sec).EXTENDED: X/Y/Z measurement range ± 2000 dps (°/sec).
Note: Switching to
EXTENDEDdoes not change the unit of measurements in IMU packets, but can result in a slight loss of measurement precision. Full IMU specifications are in the Sensor Datasheet.

