Lidar Data

Open in Claude

Users configure the lidar data packet format via udp_profile_lidar. The default is RNG19_RFL8_SIG16_NIR16.

Overview

Each lidar UDP packet contains a Packet Header, one or more Columns, and a Packet Footer. Each Column contains a Column Header followed by one Channel Data Block per lidar channel. Words are 32 bits, little-endian. By default, lidar UDP data is forwarded to port 7502.

Packet header type is set with the header_type sensor configuration parameter. STANDARD is the default; FUSA is used for functional safety applications.

Note: OS1-MAX sensors (Firmware 4.0+, Rev8) provide 256 lidar channels per column (pixels_per_column = 256). Other OS-series products use 32, 64, or 128 channels. Query GET /api/v1/sensor/metadata/lidar_data_format for the channel count on your sensor.

Packet Header

Both STANDARD and FUSA modes use the same 256-bit (8-word) header layout.

Standard

WordBitsFieldDescription
0[7:0]Packet Type0x01 for lidar packets.
0[31:8]Init IDUpdates on every reinit or reboot. Also available via the sensor-info endpoint.
1[63:32]Frame ID32-bit scan index. Increments each rotation at the zero azimuth crossing.
2[71:64]Alert Flagsbits[5:0] alert_cursors; bit[6] cursor_overflow; bit[7] alerts_active.
2[79:72]Reserved
2[87:80]Safe State IDReserved in STANDARD mode.
2[95:88]Serial No LLow 8 bits of sensor serial number.
3[127:96]Serial No HHigh 32 bits. Combined with Serial No L = 40-bit serial number.
4[135:128]Thermal Shutdown CountdownSeconds to thermal shutdown (30 when imminent, 0 otherwise).
4[143:136]Shot Limiting CountdownSeconds to shot limiting onset (30 when imminent, 0 otherwise).
4[151:144]Thermal Shutdown State0 = normal; 1 = shutdown imminent.
4[159:152]Shot Limiting Level0x00 = normal; 0x01 = imminent; 0x020x09 = active levels.
5–7[255:160]Reserved

FUSA

Set header_type to FUSA for functional safety applications. The layout is identical to Standard; the safe_state_id field carries the sensor’s functional safety state.

Note: The FUSA_RNG15_RFL8_NIR8_DUAL udp_profile_lidar option is deprecated. FUSA profile selection is now controlled by header_type.

In FUSA mode, safe_state_id (word 2, bits [87:80]) carries the sensor’s functional safety state for use by safety-critical host systems.

Column Header

Each column begins with a 96-bit (3-word) Column Header.

WordBitsFieldDescription
0[31:0]Timestamp LLow 32 bits of column timestamp in nanoseconds.
1[63:32]Timestamp HHigh 32 bits.
2[79:64]Measurement IDColumn index from 0 to scan_width − 1 (511, 1023, 2047, or 4095).
2[80]Status (STA)1 = valid; 0 = dropped or azimuth-masked.
2[81]Error (ERR)1 = column error detected.
2[82]Reserved (RSV)
2[83]Laser Misfire Warning (LMW)1 = laser misfire detected for this column.
2[95:84]Reserved

Channel Block

The diagrams below show the Channel Data Block layout for each profile. The Packet Header, Column Header, and Footer are identical across all profiles.

Note: Calibrated reflectivity has certain hardware requirements. See the Calibrated Reflectivity page for details.

RNG19_RFL8_SIG16_NIR16RNG15_RFL8_NIR8RNG19_RFL8_SIG16_NIR16_DUALRNG15_RFL8_NIR8_DUAL
Words per channel3142
Range RET119 bits15 bits19 bits15 bits
Reflectivity RET18 bits8 bits8 bits8 bits
Signal RET116 bits16 bits
Range RET219 bits15 bits
Reflectivity RET28 bits8 bits
Signal RET216 bits
NIR16 bits8 bits16 bits8 bits
Window8 bits8 bits8 bits

Note: Window field supported in firmware v3.2 or later.

RNG19_RFL8_SIG16_NIR16

All sensors default to this profile. Channel Data Block: 96 bits (3 words), single return.

  • Range [19 bit] — Range in mm, 1 mm resolution, max 524 m. Returns 0 if no detection.
  • Reflectivity [8 bit] — Calibrated reflectivity.
  • Signal [16 bit] — Signal intensity photons.
  • NIR [16 bit] — Ambient near-infrared photons.
  • Window [8 bit] — Raw near-range signal photons. Indicates potential window blockage regardless of min_range_threshold_cm.

RNG15_RFL8_NIR8

Channel Data Block: 32 bits (1 word), single return. Smallest packet size and data rate of any profile.

  • Range [15 bit] — Range scaled by 8 mm/LSB; max 262 m.
  • RSV [1 bit] — Reserved.
  • Reflectivity [8 bit] — Calibrated reflectivity.
  • NIR [8 bit] — Ambient NIR photons, scaled down by 16× relative to standard profiles.

RNG19_RFL8_SIG16_NIR16_DUAL

Channel Data Block: 128 bits (4 words), dual return. Reports up to 2 returns per beam (strongest and second strongest), enabling detection through semi-transparent obscurants.

Note: Valid for 1024x20 and 2048x10 lidar mode (firmware v3.0.0+).

  • Range RET1/2 [19 bit] — Range in mm, max 524 m.
  • Reflectivity RET1/2 [8 bit] — Calibrated reflectivity per return.
  • Signal RET1/2 [16 bit] — Signal intensity photons per return.
  • NIR [16 bit] — Ambient NIR photons.
  • Window [8 bit] — Window blockage indicator.

RNG15_RFL8_NIR8_DUAL

Channel Data Block: 64 bits (2 words), dual return.

  • Range RET1/2 [15 bit] — Range scaled by 8 mm/LSB; max 262 m.
  • RSV [1 bit] — Reserved, per return.
  • Reflectivity RET1/2 [8 bit] — Calibrated reflectivity per return.
  • NIR [8 bit] — Ambient NIR photons (with first return).
  • Window [8 bit] — Window blockage indicator.

RNG19_RFL8_SIG16_NIR16_ZONE16

Zone Monitor lidar profiles introduce zone occupancy data to the channel data block via the ZONE16 field. This field is a 16-bit series of boolean flags indicating if a pixel resides within the physical boundaries of a live monitored Zone.

Unlike Zone Triggers, which depend on point/frame thresholds and occupancy modes, these bits strictly reflect spatial boundaries. The Least Significant Bit (LSB) represents the first live Zone (slot 0, at the start of the UDP packet), while the Most Significant Bit (MSB) represents the last live Zone (slot 15, at the end of the UDP packet). See the Zone Monitor page for zone configuration.

Channel Data Block: 128 bits (4 words), single return.

  • Range [19 bit] — Range in mm, 1 mm resolution, max 524 m. Returns 0 if no detection.
  • Reflectivity [8 bit] — Calibrated reflectivity.
  • Window [8 bit] — Raw near-range signal photons. Indicates potential window blockage regardless of min_range_threshold_cm.
  • Signal [16 bit] — Signal intensity photons.
  • NIR [16 bit] — Ambient near-infrared photons.
  • Zone Occupancy [16 bit] — Bitmask indicating which live zone slots contain this pixel. LSB = slot 0, MSB = slot 15.

RNG15_RFL8_NIR8_ZONE16

Channel Data Block: 64 bits (2 words), single return.

  • Range [15 bit] — Range scaled by 8 mm/LSB; max 262 m.
  • RSV [1 bit] — Reserved.
  • Reflectivity [8 bit] — Calibrated reflectivity.
  • NIR [8 bit] — Ambient NIR photons, scaled down by 16× relative to standard profiles.
  • Zone Occupancy [16 bit] — Bitmask indicating which live zone slots contain this pixel. LSB = slot 0, MSB = slot 15.
  • Window [8 bit] — Raw near-range signal photons. Indicates potential window blockage regardless of min_range_threshold_cm.

RNG19_RFL8_SIG16_ZONE16_DUAL

Dual-return Zone Monitor profile. Channel Data Block: 128 bits (4 words), dual return.

  • Range RET1/2 [19 bit] — Range in mm, max 524 m.
  • Reflectivity RET1/2 [8 bit] — Calibrated reflectivity per return.
  • Signal RET1/2 [16 bit] — Signal intensity photons per return.
  • Zone Occupancy [16 bit] — Bitmask indicating which live zone slots contain this pixel. LSB = slot 0, MSB = slot 15.
  • Window [8 bit] — Window blockage indicator.

RNG19_RFL8_SIG16_NIR16_RGB16

Note: Rev8 sensors with Firmware 4.0 or later only.

Channel Data Block: 128 bits (4 words), single return with per-pixel RGB.

  • Range [19 bit] — Range in mm, max 524 m.
  • Reflectivity [8 bit] — Calibrated reflectivity.
  • Signal [16 bit] — Signal intensity photons.
  • NIR [16 bit] — Ambient NIR photons.
  • RGB Red/Green/Blue [16 bit float each] — Per-pixel color values.

RNG19_RFL8_SIG16_NIR16_RGB16_DUAL

Note: Rev8 sensors with Firmware 4.0 or later only.

Channel Data Block: 160 bits (5 words), dual return with per-pixel RGB.

  • Range RET1/2 [19 bit] — Range in mm, max 524 m.
  • Reflectivity RET1/2 [8 bit] — Calibrated reflectivity per return.
  • Signal RET1/2 [16 bit] — Signal intensity photons per return.
  • NIR [16 bit] — Ambient NIR photons.
  • RGB Red/Green/Blue [16 bit float each] — Per-pixel color values.

RNG15_RFL8_WIN8

Note: Hidden from the sensor operator UI. Set via HTTP API only. Firmware v3.2 or later.

Same 32-bit (1 word) size as RNG15_RFL8_NIR8 but replaces NIR with a Window field. Use when window blockage detection is the priority and NIR data is not needed.

  • Range [15 bit] — Range scaled by 8 mm/LSB; max 262 m.
  • RSV [1 bit] — Reserved.
  • Reflectivity [8 bit] — Calibrated reflectivity.
  • Window [8 bit] — Raw near-range signal photons. Indicates potential window blockage regardless of min_range_threshold_cm.

Each packet ends with a 256-bit (8-word) Packet Footer. In Standard mode, words 6–7 contain the E2E CRC64 and words 0–5 are reserved. In FUSA mode, all 8 words carry an HMAC authentication code.

CRC Calculation

The CRC64 is calculated over the full UDP payload excluding the final 64 bits (the encoded CRC), in received bit order:

ParameterValue
CRC Result Width64 bits
Polynomial0x42f0e1eba9ea3693
Initial Value0xffffffffffffffff
Input data reflectedYes
Result data reflectedYes
XOR Value0xffffffffffffffff

The CRC64 is encoded little-endian. Reverse the last 8 bytes of the packet before comparing against a locally computed CRC64.

Data Rate Calculation

Packet size in bytes:

packet_header_size + columns_per_packet × (column_header_size + pixels_per_column × channel_block_size) + packet_footer_size

With default settings (16 columns per packet):

32 + 16 × (12 + n × s) + 32

Where n = pixels_per_column and s = channel data block size in bytes. OS1-MAX defaults to columns_per_packet = 8 at 256 channels.

Packet Size (Bytes), Product vs Profile

ProductSingle ReturnDual ReturnLow Data RateLow Data Rate Dual
OS-x-326400844823044352
OS-x-64125441664043528448
OS-x-1282483233024844816640
OS1-MAX2473632928835216544

Packet Rate (Hz), Product vs Lidar Mode

Product512×101024×10 / 512×202048×10 / 1024×20
OS-x-323206401280
OS-x-643206401280
OS-x-1283206401280
OS1-MAX64012802560

Data Rate (Mbps) in 2048×10 / 1024×20 Mode

ProductSingle ReturnDual ReturnLow Data RateLow Data Rate Dual
OS-x-3265.5786.5523.6344.56
OS-x-64128.49170.4344.6086.55
OS-x-128254.32338.2086.55170.4
OS1-MAX506.50674.18171.09338.66