Light detection and ranging LIDAR systems on-board mobile platforms are in rapid advancement for real-time mapping applications. Modern 3D laser scanners have a high data rate which, coupled with the complexity of their processing methods, makes simultaneous online localisation and mapping (SLAM) a computational challenge. Different 3D LiDAR SLAM algorithms have emerged in recent years, most notably LiDAR Odometry and Mapping and its derivatives.
This repo performs an implementation of A-LOAM, ISC-LOAM and LeGO-LOAM algorithms and a respective comparison with the total sequences of the KITTI database which includes different environments and routes from a Velodyne HDL-64E sensor.
A demonstration can be found here -> DEMO "A-LOAM"
You may run the following shell file to install all the dependent libs (tested on Ubuntu 16.04 & 18.04):
./install_dep_lib.sh
Use the following commands to download and compile the package:
cd ~/catkin_ws/src
https://github.com/cristianrubioa/methods_lidar_3d
cd ..
catkin_make -j1
When you compile the code for the first time, you need to add "-j1" behind "catkin_make" for generating some message types. "-j1" is not needed for future compiling.
Run the launch file:
./run.sh <method> <num_sequence>
# <method> [aloam, floam ,iscloam, legoloam]
# <num_sequence> [00, 01, ... 10]
# Example
./run.sh aloam 00
- Making new bagfile from KITTI dataset:
nano ~/catkin_ws/src/methods_lidar_3d/kitti2bag/launch/kitti2bag.launch
Change 'dataset_folder' and 'output_bag_file' to your own directories.
- Move bagfile to sequence folder:
mv <num_sequence>.bag ~/catkin_ws/src/methods_lidar_3d/sequences/<num_sequence>
- Run the launch file:
roslaunch kitti2bag kitti2bag.launch
Download datasets to test the functionality of the package:
Sequence | Environment | Dimension (m×m) | Poses | Path_length (m) | Odom_dataset | size |
---|---|---|---|---|---|---|
00 | Urban | 564×496 | 4541 | 3724.187 | Mega / Drive | 8.39 GB |
01 | Highway | 1157×1827 | 1101 | 2453.203 | Mega / Drive | 1.79 GB |
02 | Urban+Country | 599×946 | 4661 | 5067.233 | Mega / Drive | 9.0 GB |
03 | Country | 471×199 | 801 | 560.888 | Mega / Drive | 1.54 GB |
04 | Country | 0.5×394 | 271 | 393.645 | Mega / Drive | 526.9 MB |
05 | Urban | 479×426 | 2761 | 2205.576 | Mega / Drive | 5.23 GB |
06 | Urban | 23×457 | 1101 | 1232.876 | Mega / Drive | 2.04 GB |
07 | Urban | 191×209 | 1101 | 694.697 | Mega / Drive | 2.02 GB |
08 | Urban+Country | 808×391 | 4071 | 3222.795 | Mega / Drive | 7.63 GB |
09 | Urban+Country | 465×568 | 1591 | 1705.051 | Mega / Drive | 3.01 GB |
10 | Urban+Country | 671×177 | 1201 | 919.518 | Mega / Drive | 2.31 GB |
Thank you for citing our LOaM-comparison paper if you use any of this code:
@inproceedings{9633299,
author={Murcia, Harold F. and Rubio, Cristian F.},
booktitle={2021 IEEE 5th Colombian Conference on Automatic Control (CCAC)},
title={A Comparison of LiDAR Odometry and Mapping Techniques},
year={2021},
volume={},
number={},
pages={192-197},
doi={10.1109/CCAC51819.2021.9633299}}
This work was supported in part by the Universidad de Ibagué under research project 19-489-INT-