InGM-LIO: A Multiscale Gaussian Model-Based LiDAR-Inertial Odometry Using Invariant Kalman Filtering
This repository contains the source code for our ICRA2025 paper "InGM-LIO: A Multiscale Gaussian Model-Based LiDAR-Inertial Odometry Using Invariant Kalman Filtering". Our system combines a multiscale Gaussian model with tightly coupled LiDAR and IMU data using invariant Kalman filtering for accurate, efficient, and robust odometry.
The code will release soon upen the paper be accepted.
In this project, we tested the following public datasets:
- M2DGR: https://github.com/SJTU-ViSYS/M2DGR.git
- NCLT: http://robots.engin.umich.edu/nclt/
- AVIA Dataset: https://github.com/ziv-lin/r3live_dataset (R3live)
The following table shows the correspondence between the sequences used in the experiments and the results reported in the paper:
Dataset | Sequence Abbreviation | Full Name | Duration (s) | Distance (km) | LiDAR Type |
---|---|---|---|---|---|
M2DGR | M.s1 | street_01 | 1028 | 0.75 | Velodyne VLP-32C |
M2DGR | M.s2 | street_02 | 1227 | 1.48 | Velodyne VLP-32C |
M2DGR | M.s3 | street_03 | 354 | 0.42 | Velodyne VLP-32C |
M2DGR | M.s4 | street_04 | 858 | 0.84 | Velodyne VLP-32C |
M2DGR | M.s5 | street_05 | 469 | 0.42 | Velodyne VLP-32C |
M2DGR | M.s6 | street_06 | 494 | 0.48 | Velodyne VLP-32C |
M2DGR | M.s8 | street_08 | 491 | 0.34 | Velodyne VLP-32C |
M2DGR | M.h1 | hall_01 | 351 | 0.21 | Velodyne VLP-32C |
M2DGR | M.h2 | hall_05 | 402 | 0.29 | Velodyne VLP-32C |
NCLT | N.01 | 2012-01-15 | 6646 | 7.58 | Velodyne HDL-32E |
NCLT | N.02 | 2012-04-29 | 2599 | 3.17 | Velodyne HDL-32E |
NCLT | N.03 | 2012-05-11 | 5016 | 6.12 | Velodyne HDL-32E |
NCLT | N.04 | 2012-06-15 | 3310 | 4.09 | Velodyne HDL-32E |
NCLT | N.05 | 2013-01-10 | 1025 | 1.14 | Velodyne HDL-32E |
AVIA | A.c2 | hkust_campus_seq_02 | 323 | 0.35 | Livox AVIA |
AVIA | A.mb | hku_main_building | 1170 | 1.05 | Livox AVIA |
AVIA | A.p1 | hku_park_01 | 351 | 0.40 | Livox AVIA |
Ours | O.c1 | campus | 1111 | 1.72 | Hesai XT16, Livox Mid-360 |
Ours | O.c2 | campus_under_garage | 1227 | 1.23 | Hesai XT16, Livox Mid-360 |
Ours | O.lb | lab_building | 472 | 0.32 | Livox Mid-360 |
The data collection platform is a four-wheel independent steering robot equipped with a Hesai-XT16 LiDAR, three Livox-360 semi-solid-state LiDARs, an RGB camera, and an Xsens MTi-300 IMU. The data was collected along a trajectory that starts and ends at the same point.
At present, we have uploaded the dataset to Baidu Cloud, and other ways of obtaining it will be done soon.
LINK: https://pan.baidu.com/s/18TVygoaLQTda5qpqXs415g?pwd=i9m9
Extracted code: i9m9
Each of our sequences is released as a simple rosbag file.
campus.bag
rosbag info campus.bag
-------------------------------------------------------
path: campus.bag
version: 2.0
duration: 18:31s (1111s)
start: Nov 01 2023 15:30:33.15 (1698823833.15)
end: Nov 01 2023 15:49:04.62 (1698824944.62)
size: 71.8 GB
messages: 1222589
compression: none [44480/44480 chunks]
types: livox_ros_driver2/CustomMsg [e4d6829bdfe657cb6c21a746c86b21a6]
sensor_msgs/Image [060021388200f6f0f447d0fcd9c64743]
sensor_msgs/Imu [6a62c6daae103f4ff57a132d6f95cec2]
sensor_msgs/PointCloud2 [1158d486dd51d683ce2f1be655c3c181]
topics: /camera/color/image_raw 33349 msgs : sensor_msgs/Image
/hesai_front/pandar 11115 msgs : sensor_msgs/PointCloud2
/imu/data 444580 msgs : sensor_msgs/Imu
/livox/imu_192_168_1_101 222284 msgs : sensor_msgs/Imu
/livox/imu_192_168_1_150 222284 msgs : sensor_msgs/Imu
/livox/imu_192_168_1_174 222284 msgs : sensor_msgs/Imu
/livox/lidar_192_168_1_101 22230 msgs : livox_ros_driver2/CustomMsg
/livox/lidar_192_168_1_150 22229 msgs : livox_ros_driver2/CustomMsg
campus_under_garage.bag
rosbag info campus_under_garage.bag
-------------------------------------------------------
path: campus_under_garage.bag
version: 2.0
duration: 20:27s (1227s)
start: Nov 01 2023 15:49:56.82 (1698824996.82)
end: Nov 01 2023 16:10:24.53 (1698826224.53)
size: 79.5 GB
messages: 1350383
compression: none [49135/49135 chunks]
types: livox_ros_driver2/CustomMsg [e4d6829bdfe657cb6c21a746c86b21a6]
sensor_msgs/Image [060021388200f6f0f447d0fcd9c64743]
sensor_msgs/Imu [6a62c6daae103f4ff57a132d6f95cec2]
sensor_msgs/PointCloud2 [1158d486dd51d683ce2f1be655c3c181]
topics: /camera/color/image_raw 36836 msgs : sensor_msgs/Image
/hesai_front/pandar 12279 msgs : sensor_msgs/PointCloud2
/imu/data 491073 msgs : sensor_msgs/Imu
/livox/imu_192_168_1_101 245531 msgs : sensor_msgs/Imu
/livox/imu_192_168_1_150 245530 msgs : sensor_msgs/Imu
/livox/imu_192_168_1_174 245529 msgs : sensor_msgs/Imu
/livox/lidar_192_168_1_101 24554 msgs : livox_ros_driver2/CustomMsg
/livox/lidar_192_168_1_150 24555 msgs : livox_ros_driver2/CustomMsg
/livox/lidar_192_168_1_174 24496 msgs : livox_ros_driver2/CustomMsg
lab_building.bag
path: lab_building.bag
version: 2.0
duration: 7:52s (472s)
start: Jan 29 2024 11:03:26.71 (1706497406.71)
end: Jan 29 2024 11:11:18.87 (1706497878.87)
size: 1.7 GB
messages: 103355
compression: none [1868/1868 chunks]
types: livox_ros_driver2/CustomMsg [e4d6829bdfe657cb6c21a746c86b21a6]
sensor_msgs/Imu [6a62c6daae103f4ff57a132d6f95cec2]
topics: /livox/imu_192_168_1_101 94428 msgs : sensor_msgs/Imu
/livox/lidar_192_168_1_101 8927 msgs : livox_ros_driver2/CustomMsg
All the other open-source projects we tested, along with specific parameters and configurations, are available in the repository comp-exp. All projects can be successfully compiled on an Ubuntu 20.04, ROS1, X64 system. Those interested can check the details there.
comp-exp: https://github.com/Liansheng-Wang/comp-exp.git
I would like to express my sincere gratitude to Chengwei Zhao, Dongjiao He, Shuai Liang and Chi Yan for their invaluable guidance and assistance on this paper.
- Initial Submission: September 15, 2024 - Paper submitted to ICRA 2025.
- Under review: October 1st, 2024.
- Validation of more publicly available datasets
- Update this project to be compatible with ROS2 Humble.