# SLAM benchmark on Livox Mid-360: public dataset + our own UAV flight data (KISS-ICP, DLIO, FAST-LIO2, GLIM)

**URL:** <https://discourse.openrobotics.org/t/slam-benchmark-on-livox-mid-360-public-dataset-our-own-uav-flight-data-kiss-icp-dlio-fast-lio2-glim/57912>\
**Category:** Projects\
**Tags:** ros2, slam, lidar, mocap, imu\
**Created:** [September 7, 2026, 2:30am UTC](https://discourse.openrobotics.org/t/slam-benchmark-on-livox-mid-360-public-dataset-our-own-uav-flight-data-kiss-icp-dlio-fast-lio2-glim/57912 "2026-09-07T02:30:32Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Harsha\_Reddy](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/harsha_reddy/32/35314_2.png) [@Harsha\_Reddy](https://discourse.openrobotics.org/u/Harsha_Reddy)\
**Post date:** [September 7, 2026, 2:30am UTC](https://discourse.openrobotics.org/t/slam-benchmark-on-livox-mid-360-public-dataset-our-own-uav-flight-data-kiss-icp-dlio-fast-lio2-glim/57912/1 "2026-09-07T02:30:32Z")

</div>

Been building a UAV navigation stack around a Jetson Orin NX + Livox Mid-360 + Pixhawk, and wanted real numbers on the accuracy trade-offs between LiDAR-only, LiDAR-inertial odometry, and full SLAM before picking one for the platform. Ended up running two separate evaluations:

## 1. Public benchmark (TIERS dataset, indoor, vs OptiTrack ground truth)

| Method | APE RMSE (m) | Mean | Median | Max |
| --- | --- | --- | --- | --- |
| KISS-ICP | 0.124 | 0.102 | 0.099 | 0.266 |
| FAST-LIO2 | 0.060 | 0.053 | 0.053 | 0.140 |
| GLIM (CPU) | 0.025 | 0.023 | 0.021 | 0.101 |

## 2. Our own UAV flight data

Livox Mid-360 + Pixhawk on the Jetson Orin NX (the actual target hardware), flown in a VICON-tracked indoor arena, ground truth from `/mavros/local_position/pose` (Pixhawk EKF fused with VICON). 7 flight sequences, GLIM running in **GPU mode** this time:

| Method | Average APE RMSE (m) |
| --- | --- |
| KISS-ICP | 0.123 (volatile — spikes to 0.426 on one sequence) |
| DLIO | 0.096 |
| FAST-LIO2 | 0.112 |
| **GLIM (GPU)** | **0.040** |

GLIM wins decisively on every single sequence in the live data too — averaging 0.040m vs 0.096–0.123m for the others, mainly from loop closure against the small, revisitable arena. KISS-ICP is the most volatile of the four; being LiDAR-only with no inertial backstop, it falls apart under more aggressive drone motion even though it’s competitive on gentler segments.

Repo (configs, scripts, both datasets’ results, trajectory/map reconstructions): [GitHub - harshareddy1611/livox-mid360-slam-evaluation: Benchmarking KISS-ICP, DLIO, FAST-LIO2 and GLIM on Livox Mid360 datasets using ROS2 Humble and EVO trajectory evaluation against ground-truth data. · GitHub](https://github.com/harshareddy1611/livox-mid360-slam-evaluation)

A couple of things that ate real debugging time, in case they save someone else the trouble:

- ROS1→ROS2 bag conversion silently drops per-point `timestamp`/`line` fields — breaks motion compensation until you reconvert with `rosbags-convert`
- Mocap/LiDAR clock offsets need different handling per method
- The Ericsii FAST-LIO2 ROS2 port has its PCD-accumulation code commented out upstream, so native map export doesn’t work — had to reconstruct maps by reprojecting raw scans through each method’s estimated trajectory instead

Curious if anyone’s run a similar comparison on more dynamic/outdoor UAV flights, wondering how much of GLIM’s edge here is specific to small, loop-closure-friendly indoor spaces versus something that holds up in open environments too.
