On-the-fly LiDAR processor and visualizer for Velodyne sensors.
Read point data directly from a Velodyne sensor on the fly:
olp --ip 192.168.1.201 --port 2368
The --ip
and --port
program flags are optional, the default values are shown above.
Read point data from a saved PCAP file:
olp --file datafile.pcap
To be able to read from file, the PCL dependency must be compiled with PCAP support (see How to compile).
It is possible to omit the first N cloud frames with the --offset <N>
option.
The program currently supports the dynamic localization of acquired point clouds with GNSS data or through SLAM algorithms.
For further details and examples, see the guide on Localization and mapping with GNSS sensor.
By connecting a GNSS receiver to the Velodyne sensor, the oroduced PCAP packages will contain GNSS data as well.
olp --file datafilewithgnss.pcap --withgps
By default, only GNSS packets with the pulse-per-second (PPS) signal set will be used. In case you did not manage to synchronize PPS between GNSS and the LiDAR sensor, this restriction can be lifted with the --nopcappps
option.
If a GNSS packet is not available at the time of processing a cloud frame, one will be extrapolated using the previous ones. To replace the default extrapolation method with an experimental, Kalman filter-based one, use the --usepcapekf
switch.
An ICP (Iterative closest point) and a LOAM (LiDAR Odometry and Mapping) algorithm is supported for now, with the ICP producing a better result.
olp --file datafile.pcap --slamtype icp
The ICP approach has the option to be aided by the data from an IMU (Inertial Measurement Unit) sensor, improving the outputted results.
olp --file datafile.pcap --slamtype icp --imucsv imudata.csv
The project uses some third-party dependencies:
- Any standard C++ compiler supporting language version C++14 or newer (e.g. GCC, Clang, MSVC).
- CMake is used as the build system of the project. Version 2.8 or newer is required.
- Boost is used as an extension to the C++ standard library. (Dependency of PCL anyway.) Version 1.60 or newer required.
- PCL is heavily used in point cloud processing and I/O management. Version 1.8 or newer is required.
- PCAP (optional) to read and "replay" previously recorded PCAP files of a Velodyne sensor.
- LASlib (optional), to export point clouds in LAS format.
- libpointmatcher (optional) for the ICP SLAM algorithm.
The complete compilation process depends on the system you are using (Linux, Mac OS X or Windows). See the platform-specific compilation guides below.
- Ubuntu
- MacOS
- Windows (no SLAM support!)
- Windows with WSL
Please read CONTRIBUTING.md for details on coding conventions.
This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.