Skip to content

narutojxl/M-LOAM_noted

Repository files navigation

M-LOAM

Robust Odometry and Mapping for Multi-LiDAR Systems with Online Extrinsic Calibration

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:

mloam

Related Papers

  • Robust Odometry and Mapping for Multi-LiDAR Systems with Online Extrinsic Calibration, Jianhao Jiao, Haoyang Ye, Yilong Zhu, Ming Liu, under review. 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, under review.
  • 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. Prerequisites

1.1 Ubuntu and ROS

Ubuntu 64-bit 16.04 or 18.04. ROS Kinetic or Melodic. ROS Installation

1.2. Ceres Solver && Eigen3

 ./setup/install_eigen3_ceres.sh

1.3. OpenMP

  sudo apt install libomp-dev

1.4 Libpointmarcher

 ./setup/install_libnabo.sh
 ./setup/install_libpointmatcher.sh

2. Build M-LOAM on ROS

  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

3. Example

  • Datasets collected with different platforms:

    1. Simulation Robot (SR)
    2. Real Handheld Device (RHD)
    3. Real Vechile (RV)
    4. Oxford RoboCar (OR)
  • Run M-LOAM and baseline methods

    1. We provide a script to perform batch testing of M-LOAM with baseline methods
    2. Enter the script folder: roscd mloam/script/
    3. Modify the python script: run_mloam.py for specific platforms with correct path
    4. Modify the shell files for methods in xx_main.sh
    5. Run the python script: python2 run_mloam.py -program=single_test -sequence=xx -start_idx=0 -end_idx=0

4. System pipeline

This could help you to understand the pipeline of M-LOAM. Note that mloam_loop is in development.

5. Issues

I have modified the code with several times and tried different new features during the journal review process. The code style is not very perfect. Also in some sequeneces, M-LOAM may not achieve the best performence. Hope you can understand and I will try to fix them.

6. TODO

  1. Parameter tunning, and a more detailed tutorial .
  2. loop closure.
  3. Docker support. The initial Docker file is in the folder: docker/Dockerfile
  4. etc.

6. Acknowledgements

Thanks for these great works from which we learned to write M-LOAM

7. Licence

The source code is released under GPLv3 license.

We are still working on improving the code reliability. For any technical issues, please contact Jianhao Jiao jjiao@ust.hk.

For commercial inquiries, please contact Prof.Ming Liu eelium@ust.hk.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published