1HIT 2Qisheng Intelligent Techology 3CUMT(XuZhou) 4UESTC 5 NTU
(* Equal contribution, † Corresponding author)
The mapping details of Adaptive-LIO and other algorithms.
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.
- [2024.12] - Adaptive-lio is accepted to JIOT 2024. 🚀
- [2025.03] - Source code released 🎉
| 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 |
| 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 |
ROS_DISTRO=humble bash scripts/pipeline.sh buildUse 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.yamlIf 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.yamlOne 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- CSV odometry in
logs/<timestamp>/<bag>_trajectory.csv - IMU + LiDAR topic playback from the config by default
- Automatic retry at
0.5xwhen--rate autogets no odometry at1.0x
--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_lioInside the container:
ros2 launch adaptive_lio run.launch.py config_file:=/root/adaptive_lio_ws/src/adaptive_lio/config/mapping_lonebot.yaml rviz:=trueIf 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}}Thanks for CT-ICP, SR-LIO and slam_in_autonomous_driving.