Skip to content

ut-amrl/Adaptive-LIO

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Adaptive-LIO

Enhancing Robustness and Precision through Environmental Adaptation in LiDAR Inertial Odometry

Chengwei Zhao1,2,*    Kun hu3,*    Jie Xu1,5,†    Lijun Zhao1,†    Baiwen Han1    Kaidi Wu3 Maoshan Tian4 Shenghai Yuan5

1HIT    2Qisheng Intelligent Techology    3CUMT(XuZhou)    4UESTC    5 NTU

(* Equal contribution, † Corresponding author)
Paper PDF

GitHub Stars GitHub Forks GitHub Issues PRs-Welcome


The mapping details of Adaptive-LIO and other algorithms.

Overview

The emerging Internet of Things (IoT) applications, such as driverless cars, have a growing demand for high-precision positioning and navigation. Nowadays, LiDAR inertial odometry becomes increasingly prevalent in robotics and autonomous driving. However, many current SLAM systems lack sufficient adaptability to various scenarios. Challenges include decreased point cloud accuracy with longer frame intervals under the constant velocity assumption, coupling of erroneous IMU information when IMU saturation occurs, and decreased localization accuracy due to the use of fixed-resolution maps during indoor-outdoor scene transitions. To address these issues, we propose a loosely coupled adaptive LiDAR-Inertial-Odometry named Adaptive-LIO, which incorporates adaptive segmentation to enhance mapping accuracy, adapts motion modality through IMU saturation and fault detection, and adjusts map resolution adaptively using multi-resolution voxel maps based on the distance from the LiDAR center. Our proposed method has been tested in various challenging scenarios, demonstrating the effectiveness of the improvements we introduce.


The system flow of Adaptive-LIO.

📝 Updates

  • [2024.12] - Adaptive-lio is accepted to JIOT 2024. 🚀
  • [2025.03] - Source code released 🎉

📁 Dataset

  
Dataset Full Name Duration (s) Distance (km) LiDAR Type
QiSheng industrial 485 00 Velodyne VLP-16
QiSheng industrial2 414 00 Velodyne VLP-16
QiSheng park1 479 00 Velodyne VLP-16
QiSheng park2 315 0.0 Velodyne VLP-16

End-to-end errors

Dataset DLIO LIO-SAM Point-lio Fast-lio2 IG-lio Ours
industrial1 4.485 13.935 x 11.778 21.815 2.4824
industrial2 0.185 2.467 1.778 9.547 1.737 0.107
parking1 1.81 2.27 3.164 5.53 1.77 0.492

Docker Odom Quickstart

1. Build once

ROS_DISTRO=humble bash scripts/pipeline.sh build

2. Run one bag

Use config/mapping_lonebot.yaml for Lonebot. config/mapping_wanda.yaml and config/mapping_m.yaml are other presets.

ROS_DISTRO=humble bash scripts/pipeline.sh run \
  --bag-path /abs/path/to/bag \
  --config-file config/mapping_lonebot.yaml

If you want to pass bag paths as /data/..., set the host dataset root first:

export DATA_MOUNT=/abs/path/to/datasets
ROS_DISTRO=humble bash scripts/pipeline.sh run \
  --bag-path /data/path/to/bag \
  --config-file config/mapping_lonebot.yaml

3. Run many bags

One bag path per line. # comments are ignored.

ROS_DISTRO=humble bash scripts/pipeline.sh run \
  --bag-list bagfile_list.txt \
  --config-file config/mapping_lonebot.yaml

4. What you get

  • CSV odometry in logs/<timestamp>/<bag>_trajectory.csv
  • IMU + LiDAR topic playback from the config by default
  • Automatic retry at 0.5x when --rate auto gets no odometry at 1.0x

5. Useful options

  • --rviz true
  • --rate auto|<num>
  • --all-topics
  • --imu-topic <topic>
  • --lidar-topic <topic>
  • --log-dir <path>
  • bash scripts/pipeline.sh help

If Humble cannot read a newer rosbag2/MCAP metadata.yaml, rerun with ROS_DISTRO=jazzy.

Manual fallback:

ROS_DISTRO=humble docker compose -f docker/compose.yaml run --rm adaptive_lio

Inside the container:

ros2 launch adaptive_lio run.launch.py config_file:=/root/adaptive_lio_ws/src/adaptive_lio/config/mapping_lonebot.yaml rviz:=true

Publications

If your like our projects, please cite us and support us with a star 🌟. We kindly recommend to cite our paper if you find this library useful:

@ARTICLE{10806842,
  author={Zhao, Chengwei and Hu, Kun and Xu, Jie and Zhao, Lijun and Han, Baiwen and Wu, Kaidi and Tian, Maoshan and Yuan, Shenghai},
  journal={IEEE Internet of Things Journal}, 
  title={Adaptive-LIO: Enhancing Robustness and Precision Through Environmental Adaptation in LiDAR Inertial Odometry}, 
  year={2025},
  volume={12},
  number={9},
  pages={12123-12136},
  keywords={Accuracy;Laser radar;Odometry;Motion segmentation;Simultaneous localization and mapping;Internet of Things;Robots;Feature extraction;Trajectory;Robustness;Adaptive;LiDAR inertial odometry (LIO);multiresolution map;SLAM},
  doi={10.1109/JIOT.2024.3519533}}

Acknowledgments

Thanks for CT-ICP, SR-LIO and slam_in_autonomous_driving.

Contributors

About

[JIOT 2024] Adaptive-LIO: Enhancing Robustness and Precision through Environmental Adaptation in LiDAR Inertial Odometry

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 85.5%
  • Shell 6.1%
  • CMake 5.2%
  • Python 2.5%
  • Other 0.7%