💎 Projcet Leader: Jie Yin 殷杰 📝 [Paper] ➡️ [Algorithm Code] ⭐️ [Presentation Video] 🔥 [News]
Our goal is to benchmark "all" cutting-edge SLAM!
This repository contains the official implementation of our IROS 2025 paper:
"Towards Robust Sensor-Fusion Ground SLAM: A Comprehensive Benchmark and a Resilient Framework"
In this work, we propose a complete solution for robust SLAM on ground robots operating under degraded conditions. Our key contributions are:
- M3DGR Benchmark(this repo): A comprehensive multi-sensor, multi-scenario SLAM benchmark for evaluating performance in challenging environments.
- Ground-Fusion++ (Link): A resilient and modular SLAM framework integrating heterogeneous sensors for robust localization and high-quality mapping.
2025.06.16: Our paper has been accepted to IROS 2025! We will release all datasets and code soon. Please stay tuned!
- Release camera-ready version paper.[paper]
- Release 40 SLAM codes adapted for M3DGR dataset.[codes]
- Release M3DGR dataset with GT and calibration files.
- Release Ground-Fusion++ code.
The M3DGR project is an open and collaborative effort. We encourage you to adapt and evaluate your SLAM or localization algorithms on top of the M3DGR dataset! Our goal is to build an open and dynamic community, where researchers can not only use the dataset, but also contribute back by:
- Integrating your algorithms as baseline methods, which can enable fair comparison and promote your algorithm.
- Sharing configuration files, evaluation results, and insights.
Let’s make M3DGR a growing hub for robust, reproducible SLAM research! You can
- Submit a Pull Request to contribute new algorithms, configuration files, or improvements via Github Pull Request to post your adapted codes [here]
- Report bugs or request features via GitHub Issues.
- Join discussions or ask questions on GitHub Discussions.
Physical drawings and schematics of the ground robot. (a) Side view of the robot. (b) Sensor arrangement on the top layer. (c) Sensor arrangement on the middle and bottom layers. All dimensions are provided in centimeters.
Figure 1. The directions of the sensors are marked in different colors,red for X,green for Y and blue for Z.
All the sensors and track devices and their most important parameters are listed as below:
-
LiDAR1 Livox Avia, Non-repetitive, 70.4° Horizontal Field of View (FOV), 77.2° vertical FOV, 10HZ, Max Range 450m, Range Precision 2cm, Angular Precision 0.05º, IMU 6-axis 200HZ.
-
LiDAR2 Livox MID-360, Non-repetitive, 360° Horizontal Field of View (FOV), -7° to +52° vertical FOV, 10Hz, Max Range 40 m, Range Resolution 3 cm, Angular Resolution 0.15°, IMU 6-axis, 200HZ.
-
V-I Sensor Realsense d435i, RGB/Depth 640*480, 69°H-FOV, 42.5°V-FOV,15Hz; IMU 6-axis, 200Hz.
-
Omnidirectional Camera Insta360 X4, RGB 2880*1440, 360°H-FOV, 360°V-FOV, 15HZ.
-
Wheel Odometer WHEELTEC, 2D, 20HZ.
-
GNSS Receiver CUAV C-RTK9Ps, BDS/GPS/GLONASS/Galileo, 10HZ.
-
RTK Receiver CUAV C-RTK2HP, localization accuracy 0.8cm(H)/1.5cm(V), 15HZ.
-
Motion-capture System OptiTrack, localization accuracy 1mm, 360HZ.
The rostopics of our rosbag sequences are listed as follows:
-
LiDAR1:
/livox/avia/lidar -
LiDAR2:
/livox/mid360/lidar -
Wheel Odometer:
/odom -
RGB Camera:
/camera/color/image_raw/compressed -
Omnidirectional Camera:
/cv_camera/image_raw/compressed -
Depth Camera:
/camera/aligned_depth_to_color/image_raw/compressedDepth -
GNSS:
/ublox_driver/ephem,
/ublox_driver/glo_ephem,
/ublox_driver/iono_params,
/ublox_driver/range_meas,
/ublox_driver/receiver_lla,
/ublox_driver/receiver_pvt,
/ublox_driver/time_pulse_info -
IMU:
/camera/imu,
/livox/avia/imu,
/livox/mid360/imu
|
|
|
An overview of M3DGR is given in the table below:
| Scenario | Visual Challenge | LiDAR Degeneracy | Wheel Slippage | GNSS Denial | Standard | TOTAL | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Dark | VI¹ | Dynamic | Occlusion | Corridor | Elevator | WF² | ST³ | Grass | RR⁴ | ||||
| Number | 5 | 4 | 3 | 4 | 2 | 1 | 2 | 2 | 2 | 1 | 2 | 4 | 32 |
| Dist/m | 1653.31 | 1055.58 | 355.97 | 1091.24 | 545.64 | 470.64 | 101.55 | 170.88 | 318.91 | 457.35 | 1162.39 | 4485.49 | 11868.95 |
| Duration/s | 2274 | 1458 | 609 | 1224 | 696 | 699 | 171 | 238 | 459 | 533 | 1359 | 5101 | 14821 |
| Size/GB | 27.0 | 20.0 | 7.1 | 12.3 | 11.9 | 11.2 | 3.3 | 2.9 | 9.7 | 10.4 | 23.2 | 86.0 | 225.0 |
| GroundTruth | RTK/Mocap | RTK/Mocap | RTK/Mocap | RTK/Mocap | ArUco | ArUco | Mocap | Mocap | RTK | RTK | ArUco | RTK | ---- |
Figure 3. Outdoor01 Sequences
| Sequence Name | Collection Date | Total Size | Duration | Features | Rosbag | GT |
|---|---|---|---|---|---|---|
| Longtime01 | 2025-01-14 | 30.2g | 1799s | long time | [Rosbag] | [GT] |
| Longtime02 | 2025-01-18 | 36.3g | 2118s | long time | [Rosbag] | [GT] |
| Outdoor01 | 2025-01-03 | 6.10g | 411s | Outdoor | [Rosbag] | [GT] |
| Outdoor04 | 2025-01-03 | 13.4g | 782s | Outdoor | [Rosbag] | [GT] |
| Sequence Name | Collection Date | Total Size | Duration | Features | Rosbag | GT |
|---|---|---|---|---|---|---|
| Dynamic01 | 2024-11-24 | 2.14g | 175s | Dynamic Peron | [Rosbag] | [GT] |
| Dynamic02 | 2024-11-24 | 1.85g | 150s | Dynamic Peron | [Rosbag] | [GT] |
| Occlusion01 | 2024-11-24 | 1.46g | 142s | full Occlusion | Rosbag | GT |
| Occlusion02 | 2024-11-24 | 1.48g | 144s | full Occlusion | Rosbag | GT |
| Varying-illu01 | 2024-11-24 | 1.84g | 154s | varying illumination | [Rosbag] | [GT] |
| Varying-illu02 | 2024-11-24 | 1.75g | 146s | varying illumination | [Rosbag] | [GT] |
| Dark01 | 2024-11-24 | 2.01g | 170s | dark room | [Rosbag] | [GT] |
| Dark02 | 2024-11-24 | 1.90g | 161s | dark room | [Rosbag] | [GT] |
| Sequence Name | Collection Date | Total Size | Duration | Features | Rosbag | GT |
|---|---|---|---|---|---|---|
| Dynamic03 | 2024-12-06 | 3.20g | 284s | Dynamic Peron | [Rosbag] | [GT] |
| Dynamic04 | 2024-12-06 | 4.32g | 384s | Dynamic Peron | [Rosbag] | [GT] |
| Occlusion03 | 2024-12-01 | 4.00g | 396s | Partial Occlusion | [Rosbag] | [GT] |
| Occlusion04 | 2024-12-01 | 4.18g | 359s | Partial Occlusion | [Rosbag] | [GT] |
| Occlusion05 | 2024-12-01 | 5.27g | 542s | Partial Occlusion | [Rosbag] | [GT] |
| Varying-illu03 | 2025-1-13 | 13.5g | 1027s | varying illumination | [Rosbag] | [GT] |
| Varying-illu04 | 2025-1-13 | 9.25g | 667s | varying illumination | [Rosbag] | [GT] |
| Varying-illu05 | 2025-1-13 | 6.12g | 491s | varying illumination | [Rosbag] | [GT] |
| Dark03 | 2024-11-25 | 2.21g | 206s | Night | [Rosbag] | [GT] |
| Dark04 | 2024-11-25 | 7.57g | 710s | Night | [Rosbag] | [GT] |
Figure 5. corridor01 Sequences
| Sequence Name | Collection Date | Total Size | Duration | Features | Rosbag | GT |
|---|---|---|---|---|---|---|
| Corridor01 | 2025-01-21 | 6.39g | 403s | Long Corridor | [Rosbag] | [GT] |
| Corridor02 | 2025-01-21 | 4.62g | 293s | Long Corridor | [Rosbag] | [GT] |
| Elevator01 | 2025-01-21 | 11.2g | 699s | Long Corridor,Elevator | [Rosbag] | [GT] |
| Sequence Name | Collection Date | Total Size | Duration | Features | Rosbag | GT |
|---|---|---|---|---|---|---|
| Wheel-float01 | 2024-11-24 | 1.5g | 123s | Wheel Float | [Rosbag] | [GT] |
| Wheel-float02 | 2024-11-24 | 1.84g | 149s | Wheel Float | [Rosbag] | [GT] |
| Sha-turn01 | 2024-11-24 | 1.68g | 138s | Shap Turn | [Rosbag] | [GT] |
| Sha-turn02 | 2024-11-24 | 1.22g | 100s | Shap Turn | [Rosbag] | [GT] |
| Sequence Name | Collection Date | Total Size | Duration | Features | Rosbag | GT |
|---|---|---|---|---|---|---|
| Grass01 | 2025-01-19 | 6.10g | 287s | Wheel Float | [Rosbag] | [GT] |
| Grass02 | 2025-01-21 | 2.70g | 133s | Wheel Float | [Rosbag] | [GT] |
| Grass03 | 2025-01-21 | 3.58g | 172s | Wheel Float | [Rosbag] | [GT] |
| Z-Rough-Road01 | 2025-01-14 | 10.4g | 533s | Z Rough Road | [Rosbag] | [GT] |
Figure 7. GNSS_Denied01 Sequences
| Sequence Name | Collection Date | Total Size | Duration | Features | Rosbag | GT |
|---|---|---|---|---|---|---|
| GNSS-denial01 | 2025-01-19 | 10.5g | 609s | Long time,GNSS Denial | [Rosbag] | [GT] |
| GNSS-denial02 | 2025-01-21 | 12.7g | 750s | Long time,GNSS Denial | [Rosbag] | [GT] |
⚠️ Known Issues:
- The RGB images collected by the D435i and X4 cameras are rolling shutter, which might affect the performance of some visual SLAM systems which require global shutter.
- Ithe dataset lacks external trigger between sensors, instead, we perform synchronization via software synchronization.
We have tested following cutting-edge methods on M3DGR🦄 dataset with well-tuned parameters. We will release all these custom baseline codes upon paper acceptance!. The testing configuration is detailed below:
-
💡 Measurement:
-
① Wheel Odom from M3DGR's wheel speedometer solution
-
② GNSS SPP from Ground-Fusion++ solution
-
-
💡 VO system:
-
💡 VIO system:
-
⑤ [T-RO2021] Orb-slam3: An accurate open-source library for visual, visual–inertial, and multimap slam [paper][code].
-
⑥ [RA-L2022] DM-VIO: Delayed marginalization visual-inertial odometry [paper][code]
-
⑦ [T-RO2018] Vins-mono: A robust and versatile monocular visual-inertial state estimator [paper][code]
-
⑧ [Sensors2019] VINS-RGBD: RGBD-inertial trajectory estimation and mapping for ground robots [paper][code]
-
⑨ [T-RO2022] GVINS: Tightly coupled GNSS–visual–inertial fusion for smooth and consistent state estimation [paper][code]
-
⑩ [2021] VIW-Fusion: visual-inertial-wheel fusion odometry [code]
-
⑪ [2021] VINS-GPS-Wheel: Visual-Inertial Odometry Coupled with Wheel Encoder and GNSS [code]
-
⑫ [ICRA2024] Ground-fusion: A low-cost ground slam system robust to corner cases [paper][code]
-
-
💡 LO system:
-
⑬ [RSS2014] LOAM: Lidar odometry and mapping in real-time [paper][code]
-
⑭ [ICRA2020] Loam livox: A fast, robust, high-precision LiDAR odometry and mapping package for LiDARs of small FoV [paper][code]
-
⑮ [2023] CTLO: Continuous-Time LiDAR Odometry [code]
-
⑯ [IROS2018] Lego-loam: Lightweight and ground-optimized lidar odometry and mapping on variable terrain [paper][code]
-
-
💡 LIO system:
-
⑰ [ICRA 2019] LIO-mapping: Tightly coupled 3d lidar inertial odometry and mapping [paper][code]
-
⑱ [IROS2020] Lio-sam: Tightly-coupled lidar inertial odometry via smoothing and mapping [paper][code]
-
⑲ [ICRA2020] Lins: A lidar-inertial state estimator for robust and efficient navigation [paper][code]
-
⑳ [RA-L2021] LiLi-OM: Towards high-performance solid-state-lidar-inertial odometry and mapping [paper][code]
-
㉑ [2021] LIO-Livox: A Robust LiDAR-Inertial Odometry for Livox LiDAR [code]
-
㉒ [RA-L2022] Faster-LIO: Lightweight Tightly Coupled Lidar-Inertial Odometry Using Parallel Sparse Incremental Voxels [paper][code]
-
㉓ [2022] IESKF-LIO: reference to fast_lio1.0 [code]
-
㉔ [RA-L2022] VoxelMap: Efficient and probabilistic adaptive voxel mapping method for LiDAR odometry [paper][code]
-
㉕ [T-RO2022] Fast-lio2: Fast direct lidar-inertial odometry [paper][code]
-
㉖ [AIS2023] Point-LIO: Robust High-Bandwidth Lidar-Inertial Odometry [paper][code]
-
㉗ [RA-L2023] LOG-LIO: A LiDAR-Inertial Odometry with Efficient Local Geometric Information Estimation [paper][code]
-
㉘ [2023] CT-LIO: Continuous-Time LiDAR-Inertial Odometry [code]
-
㉙ [ICRA2023] DLIO: Direct LiDAR-Inertial Odometry: Lightweight LIO with Continuous-Time Motion Correction [paper][code]
-
㉚ [2023] HM-LIO: A Hash Map based LiDAR-Inertial Odometry [code]
-
㉛ [T-IV2024] MM-LINS: a Multi-Map LiDAR-Inertial System for Over-Degenerate Environments [paper][code]
-
㉜ [T-RO2025] LIGO: Tightly Coupled LiDAR-Inertial-GNSS Odometry based on a Hierarchy Fusion Framework for Global Localization with Real-time Mapping [paper][code]
-
-
💡 LVIO system:
-
㉝ [ICRA2021] LVI-SAM: Tightly-coupled Lidar-Visual-Inertial Odometry via Smoothing and Mapping [paper][code]
-
㉞ [RA-L2021] R2LIVE: A Robust, Real-time, LiDAR-Inertial-Visual tightly-coupled state Estimator and mapping [paper][code]
-
㉟ [ICRA2022] R3LIVE: A Robust, Real-time, RGB-colored, LiDAR-Inertial-Visual tightly-coupled state Estimation and mapping package [paper][code]
-
㊱ [IROS2022] FAST-LIVO: Fast and Tightly-coupled Sparse-Direct LiDAR-Inertial-Visual Odometry [paper][code]
-
㊲ [RA-L2023] Coco-LIC: Continuous-Time Tightly-Coupled LiDAR-Inertial-Camera Odometry using Non-Uniform B-spline [paper][code]
-
㊳ [RA-L2024] SR-LIVO: LiDAR-Inertial-Visual Odometry and Mapping with Sweep Reconstruction [paper][code]
-
㊴ [T-RO2024] FAST-LIVO2: Fast, Direct LiDAR-Inertial-Visual Odometry [paper][code]
-
㊵ [IROS2025] Ground-Fusion++: Towards Robust Sensor-Fusion Ground SLAM: A Comprehensive Benchmark and A Resilient Framework [paper][code]
-
⚠️ Known Issues:
- Please note that experimental performance may exhibit variability across runs and hardware platforms; the results reported in the paper represent averaged outcomes under our testing conditions.
- It is possible to further improve performance through careful parameter tuning and repeated evaluation in specific scenarios.
- 💡 VO system:
- [XXXX2025]Your Paper Name [your paper link][your adapted code]
- [XXXX2025]Your Paper Name [your paper link][your adapted code]
- 💡 VIO system:
- [XXXX2025]Your Paper Name [your paper link][your adapted code]
- [XXXX2025]Your Paper Name [your paper link][your adapted code]
- 💡 LO system:
- [XXXX2025]Your Paper Name [your paper link][your adapted code]
- [XXXX2025]Your Paper Name [your paper link][your adapted code]
- 💡 LIO system:
- [XXXX2025]Your Paper Name [your paper link][your adapted code]
- [XXXX2025]Your Paper Name [your paper link][your adapted code]
- 💡 LVIO system:
- [XXXX2025]Your Paper Name [your paper link][your adapted code]
- [XXXX2025]Your Paper Name [your paper link][your adapted code]
Waiting for your algorithms!