Status: Pre-release (dataset links below).
Paper: Understanding LiDAR Variability: A Dataset and Comparative Study of Solid-State and Spinning LiDARs (under review).
This repository hosts documentation, download links, and baseline code for a multi-LiDAR dataset featuring:
- Livox Avia (solid-state, limited FoV)
- Livox Mid-360 (dome-shaped solid-state)
- Ouster OS0-128 (spinning)
Robot and sensors setup:
Dataset Download (Baidu Netdisk):
| Sequence | Size | BaiduDisk | Onedrive | Notes |
|---|---|---|---|---|
| IndoorOffice1 | 4.47 GB | Baidu (pwrd:ec2t) |
Onedrive | Indoor office environment 1. |
| IndoorOffice2 | 6.46 GB | Baidu (pwrd:5yxp) |
Onedrive | Indoor office environment 2. |
| OutdoorRoad | 44.48 GB | Baidu (pwrd:uk1e) |
Onedrive | Long structured road scene. |
| OutdoorRoad_cut0 | 4.47 GB | Baidu (pwrd:eyu9) |
Onedrive | Road scene (first segment). |
| OutdoorRoad_cut1 | 3.07 GB | Baidu (pwrd:6xsa) |
Onedrive | Road scene (second segment). |
| OutdoorForest | 23.59 GB | Baidu (pwrd:isev) |
Onedrive | Off-road forest trail with foliage — degenerate geometry for LiDAR. |
- Download bags from the links above.
- Place each
.bagin its corresponding folder underdataset/:- IndoorOffice1 →
dataset/indoor/IndoorOffice1/ - IndoorOffice2 →
dataset/indoor/IndoorOffice2/ - OutdoorRoad →
dataset/outdoor/OutdoorRoad/ - OutdoorRoad-cut0 →
dataset/outdoor/OutdoorRoad-cut0/ - OutdoorRoad-cut1 →
dataset/outdoor/OutdoorRoad-cut1/ - OutdoorForest →
dataset/outdoor/OutdoorForest/
- IndoorOffice1 →
- Run verification (example for IndoorOffice1):
Expected output:
cd dataset/indoor/IndoorOffice1 sha256sum -c IndoorOffice1.sha256Repeat for the other sequences using their respectiveIndoorOffice1_dataset.bag: OK.sha256files.
Each sequence provides synchronized rosbags and metadata:
dataset/
indoor/
IndoorOffice1/
IndoorOffice2/
outdoor/
OutdoorRoad/
OutdoorRoad-cut0/
OutdoorRoad-cut1/
OutdoorForest/
|
IndoorOffice1 (4.47GB)
|
IndoorOffice2 (6.46GB)
|
|
OutdoorForest (23.59GB)
|
OutdoorRoad (44.48GB)
|
|
OutdoorRoad_cut0 (4.47GB)
|
OutdoorRoad_cut1 (3.07GB)
|
- Indoor: MoCap (
/vrpn_client_node/unitree_b1/pose) - Outdoor: GNSS-RTK (
/gnss_pose)
| Topic | IndoorOffice1/2 | OutdoorRoad | OutdoorForest |
|---|---|---|---|
/ouster/points |
~10 Hz | ~10 Hz | ~10 Hz |
/ouster/imu |
~100 Hz | ~100 Hz | ~125 Hz |
/avia/livox/lidar |
10 Hz | 10 Hz | 100 Hz |
/avia/livox/imu |
~200 Hz | ~200 Hz | ~200 Hz |
/mid360/livox/lidar |
10 Hz | 10 Hz | 100 Hz |
/mid360/livox/imu |
~200 Hz | ~200 Hz | ~200 Hz |
Note: In OutdoorForest, Avia and Mid360 LiDARs run at 100 Hz (denser stream) instead of 10 Hz.
The Ouster IMU also runs slightly faster (~125 Hz vs ~100 Hz).
See docs/pipelines/README.md for detailed steps, commands, and node graphs.
Quick overview:
- Outdoor: GNSS→odom conversion, Livox conversion, run SLAM, record odometry + GNSS.
- Indoor: Livox conversion, run SLAM, record odometry + MoCap.
- Export TUM files using
scripts/bag_tools/bag_tum.py. Example:python3 scripts/bag_tools/bag_tum.py \ --odom_bag recorded.bag --odom_topic /odometry \ --gt_bag recorded.bag --gt_topic /odom \ --odom_out odom.tum --gt_out gt.tum
- Run evaluation with
evo_ape:evo_ape tum --align gt.tum odom.tum \ --plot --plot_mode xyz -r trans_part --save_plot ape_trans.png
We tested several open-source SLAM and registration methods on this dataset:
- FAST-LIO2 – tightly coupled LiDAR-inertial odometry (GitHub)
- Faster-LIO – optimized FAST-LIO variant (GitHub)
- S-FAST-LIO – surfel-based LiDAR-inertial odometry (GitHub)
- FAST-LIO-SAM – combines FAST-LIO’s front-end odometry with the loop closure and mapping backend of LIO-SAM (GitHub)
- GLIM – factor graph-based LiDAR-inertial mapping (GitHub)
- KISS-ICP – lightweight point-to-point ICP odometry, efficient and IMU-free (ROS1 compatible v0.3.0) (GitHub)
- GenZ-ICP – generalized ICP variant with multi-scale feature integration for robustness (GitHub)
- Open3D-GICP – Open3D’s implementation of Generalized ICP, integrated for ROS via
open3d_catkin(GitHub)
SLAM methods (APE RMSE, mean ± std) on indoor and outdoor datasets:
ICP-based methods (APE RMSE, mean ± std):
Indoor and outdoor designated ground-truth paths of all the collected data sequences:
![]() Faster-LIO |
![]() FAST-LIO-SAM |
![]() S-FAST-LIO |
![]() FAST-LIO2 (Road) |
![]() GLIM |
![]() FAST-LIO2 (Forest) |
If you use this dataset or build upon the Lidar Variability work, please cite the following:
@ARTICLE{11248862,
author = {Doumegna, Mawuto Koudjo Felix and Yu, Xianjia and Zhang, Jiaqiang and Ha, Sier and Zou, Zhuo and Westerlund, Tomi},
journal = {IEEE Robotics and Automation Letters},
title = {Understanding Lidar Variability: A Dataset and Comparative Study Featuring Dome-Shaped, Solid-State, and Spinning Lidars},
year = {2026},
volume = {11},
number = {1},
pages = {570-577},
doi = {10.1109/LRA.2025.3632749}
}
@dataset{multi_modal_lidar_dataset,
title = {Multi-Modal LiDAR Dataset (Avia, Mid-360, Ouster)},
author = {Doumegna, Mawuto Koudjo Felix and Yu, Xianjia and Zhang, Jiaqiang and Ha, Sier and Zou, Zhuo and Westerlund, Tomi},
year = {2025},
version = {0.1.0},
url = {https://github.com/TIERS/multi_modal_lidar_dataset}
}If you have questions, encounter issues, or would like to request additional data or features, please open an Issue or Discussion on this repository.










