Awesome
MM-LINS
<center>a Multi-Map LiDAR-Inertial System for Over-Degenerate Environments </center> <div align="center"> <img src="IMAGE/Overview.png" width="90%"> </div>Abstract
SLAM plays a crucial role in automation tasks, such as warehouse logistics, healthcare robotics, and restaurant delivery. These scenes come with various challenges, including navigating around crowds of people, dealing with flying plastic bags that can temporarily blind sensors, and addressing reduced LiDAR density caused by cooking smoke. Such scenarios can result in over-degeneracy, causing the map to drift. To address this issue, this paper presents a multi-map LiDAR-inertial system (MM-LINS). The front-end employs an iterated error state Kalman filter for state estimation and introduces a reliable evaluation strategy for degeneracy detection. If over-degeneracy is detected, the active map will be stored into sleeping maps. Subsequently, the system continuously attempts to construct new maps using a dynamic initialization method. Regarding the back-end, the Scan Context descriptor is utilized to detect inter-map similarity. Upon successful recognition of a sleeping map that shares a common region with the active map, the overlapping trajectory region is utilized to constrain the positional transformation near the edge of the prior map. In response to this, a constraint-enhanced map fusion strategy is proposed to achieve high-precision positional and mapping results. Experiments have been conducted separately on both public datasets that exhibited over-degenerate conditions and in real-world environments. These tests demonstrated the effectiveness of MM-LINS in over-degeneracy environment.
Contributors: Yongxin Ma, Jie Xu, Shenghai Yuan, Tian Zhi, Wenlu Yu, Jun Zhou, Lihua Xie
1. Prerequisites
1.1 Ubuntu and ROS
Ubuntu >= 18.04.
ROS >= Melodic. ROS
1.2 PCL && Eigen && gtsam
PCL >= 1.8, Follow PCL.
Eigen >= 3.3.4, Follow EIGEN.
gtsam >= 4.0.0, Follow gtsam.
1.3 livox_ros_driver
Follow livox_ros_driver Installation.
2. Build
Clone the repository and catkin_make:
cd ~/catkin_ws/src
git clone https://github.com/lian-yue0515/MM-LINS.git
cd ..
catkin_make
3. Directly run
# terminal 1: run FAST-LIO2
cd ~/catkin_ws/src/MM-LINS/FAST-LIO
source devel/setup.bash
roslaunch fast_lio xxx.launch
# terminal 2: run SC-PGO
cd ~/catkin_ws/src/MM-LINS/SC-PGO
source devel/setup.bash
roslaunch aloam_velodyne fastlio_ouster64.launch
# open the other terminal tab: run rosbag
rosbag play xxx.bag
4. Rosbag Example
4.1 Public Dataset (Degeneracy augmented datasets)
- M2DGR
- NCLT
- utbm
- UrbanLoco Download our test bags here: Baidu.
4.2 Real-world Field Dataset
5. Example results
Citation
If you use MM-LINS for any academic work, please cite our original paper
@ARTICLE{mm-lins,
author={Ma, Yongxin and Xu, Jie and Yuan, Shenghai and Zhi, Tian and Yu, Wenlu and Zhou, Jun and Xie, Lihua},
journal={IEEE Transactions on Intelligent Vehicles},
title={MM-LINS: a Multi-Map LiDAR-Inertial System for Over-Degenerate Environments},
year={2024},
volume={},
number={},
pages={1-11},
keywords={Simultaneous localization and mapping;Laser radar;Trajectory;Accuracy;Vehicle dynamics;Intelligent vehicles;Sensor phenomena and characterization;Multi-map;over-degenerate;pose graph optimization;simultaneous location and mapping},
doi={10.1109/TIV.2024.3414852}
}
Acknowledgements
- Thanks for FAST_LIO.
- Thanks for Loop detection and Pose-graph Optimization SC-PGO
- Thanks for FAST-LIIO-SLAM.
License
The source code is released under GPLv2 license.
TODO(s)
- Example results updating
- Refinement and updating
- Waiting for comments on papers