M-LOAM is a robust system for multi-LiDAR extrinsic calibration, real-time odometry, and mapping. Without manual intervention, our system can start with several extrinsic-uncalibrated LiDARs, automatically calibrate their extrinsics, and provide accurate poses as well as a globally consistent map.
Authors: Jianhao Jiao, Haoyang Ye, Yilong Zhu, Linxin Jiang, Ming Liu from RAM-LAB, HKUST
Project website: https://ram-lab.com/file/site/m-loam
Videos:
<img src="https://img.youtube.com/vi/VqaIb3GaCmE/0.jpg" alt="mloam" width="320" height="210" border="10" />
(Video link for mainland China friends: Video)
Related Papers in Solving Different Subproblems for Multi-LiDAR Systems
Robust Odometry and Mapping for Multi-LiDAR Systems with Online Extrinsic Calibration, Jianhao Jiao, Haoyang Ye, Yilong Zhu, Ming Liu, IEEE Transactions on Robotics (T-RO), 2021. pdf
Greedy-Based Feature Selection for Efficient LiDAR SLAM, Jianhao Jiao, Yilong Zhu, Haoyang Ye, Huaiyang Huang, Peng Yun, Linxin Jiang, Lujia Wang, Ming Liu, International Conference on Robotics and Automation (ICRA) 2021 , Xi An, China. pdf
MLOD: Awareness of Extrinsic Perturbation in Multi-LiDAR 3D Object Detection for Autonomous Driving, **Jianhao Jiao**, Peng Yun, Lei Tai, Ming Liu, IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) 2020. pdf
If you use M-LOAM for your academic research, please cite one of our paper. bib
1.1 Ubuntu and ROS
Ubuntu 64-bit 16.04 or 18.04. ROS Kinetic or Melodic. ROS Installation
1.2. Ceres Solver && Eigen3 && GLOG
./setup/install_eigen3_ceres.sh
1.3. OpenMP
sudo apt install libomp-dev
1.4. PCL-1.8
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
git clone https://github.com/gogojjh/M-LOAM.git
catkin build mloam
source ~/catkin_ws/devel/setup.bash
Datasets collected with different platforms:
Run M-LOAM and baseline methods
roscd mloam/script/
run_mloam.py
for specific platforms with correct pathxx_main.sh
python2 run_mloam.py -program=single_test -sequence=SR -start_idx=0 -end_idx=4
python2 run_mloam.py -program=single_test -sequence=RHD -start_idx=0 -end_idx=2
python2 run_mloam.py -program=single_test -sequence=RHD -start_idx=1 -end_idx=1
This could help you to understand the pipeline of M-LOAM (loop closure part is not finished).
And you can also refer to M-LOAM's pipeline for a more detailed diagram and code review.
Thanks for these great works from which we learned to develop M-LOAM
Thanks for Ming Cao for providing a clear diagram and code review of M-LOAM
The source code is released under GPLv3 license.
For any technical issues, please contact Dr. Jianhao Jiao jiaojh1994@gmail.com. For commercial inquiries, please contact Prof.Ming Liu eelium@ust.hk.