Skip to content

a Multi-Map LiDAR-Inertial System for Over-Degraded Environments

Notifications You must be signed in to change notification settings

lian-yue0515/MM-LINS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

MM-LINS

a Multi-Map LiDAR-Inertial System for Over-Degenerate Environments

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

  • Indoor
  • Outdoor Download our test bags here: Indoor Baidu, Outdoor geogle.

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

License

The source code is released under GPLv2 license.

TODO(s)

  • Example results updating
  • Refinement and updating
  • Waiting for comments on papers

About

a Multi-Map LiDAR-Inertial System for Over-Degraded Environments

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages