Search papers, labs, and topics across Lattice.
This paper introduces a vendor-agnostic LiDAR data conversion system that automatically identifies sensor types and converts raw PCAP files into multiple industry-standard formats. By employing a weighted multi-signal detection approach, the system effectively streamlines the conversion process, eliminating the need for separate pipelines for different manufacturers. The results demonstrate a significant performance gap, with Ouster and Velodyne achieving peak processing rates of 2.08M and 1.47M points per second, respectively, compared to the slower rates of Hesai and Livox due to Python parsing overhead.
A unified conversion system for LiDAR data that drastically reduces the complexity of handling multiple vendor formats while achieving high throughput.
LiDAR (Light Detection and Ranging) sensors capture the surrounding environment as dense 3D point clouds by measuring the time-of-flight of emitted laser pulses, making them foundational across autonomous vehicles, robotics, and large-scale mapping. PCAP (Packet Capture) files from these sensors are the starting point of most 3D perception pipelines, yet internal packet structures, UDP (User Datagram Protocol) port conventions and encoding schemes differ enough across manufacturers that no single tool reads them all. Ouster, Velodyne, Hesai, and Livox each require their own SDK (Software Development Kit), their own environment setup, and their own conversion workflow. Supporting all four means maintaining four disconnected pipelines with no shared infrastructure. The pipeline described here takes a raw PCAP as input and handles vendor identification automatically, scoring six independent file characteristics through a weighted multi-signal approach to determine the source sensor. C++ SDKs handle Ouster and Velodyne, while Hesai and Livox rely on Python-based dpkt parsing where no open source SDK exists. From there, a single command writes output to any of five industry-standard formats. We tested on real outdoor captures. Ouster peaks at 2.08M points per second, Velodyne at 1.47M, both running through native C++ packet decoding. Hesai and Livox land at 110K and 150K respectively, where Python-layer parsing introduces overhead that compounds under sustained load. The 8-10x gap held consistently across runs. Tested on a consumer-grade i3 with 8GB RAM, no vendor configuration required