FAST-LIO2
Xu 2022 · Paper
One-line summary — FAST-LIO2 showed that registering raw LiDAR points directly to the map inside a tightly-coupled iterated Kalman filter — with an incremental k-d tree (ikd-Tree) as the map — is faster and more accurate than feature-based LiDAR-inertial odometry.
Problem
Feature-based LiDAR pipelines discard most of each scan during edge/planar extraction, throwing away subtle environmental structure and failing where distinct features are scarce — a situation worsened by the small fields of view of emerging solid-state LiDARs. Feature extractors also vary with the scanning pattern (spinning, prism, MEMS), so each new sensor requires hand-engineering. Registering all raw points instead demands a large dense map supporting efficient kNN queries and real-time incremental updates — the actual bottleneck FAST-LIO2 set out to remove.
Method & architecture
Raw points are accumulated into scans (10–100 ms), registered to a large local map via an iterated Kalman filter, and immediately merged into the map — odometry and mapping run at the same rate.
-
State on manifold: (dim 24) with — pose, velocity, IMU biases, gravity, and online-calibrated LiDAR-IMU extrinsics. Discrete propagation per IMU sample: .
-
Back-propagation de-skew: IMU measurements estimate the LiDAR pose at every point’s individual sampling time, projecting all points to the scan-end time before the update.
-
Direct point-to-plane measurement model: each measured point, projected to the global frame, must lie on a small plane fitted to its 5 nearest map neighbors:
where is the plane normal, a point on it, and the measurement noise. No feature extraction — subtle structure is exploited, and any scanning pattern works.
-
Iterated on-manifold update: linearizing at the current iterate gives residuals , and the MAP problem
is solved by an iterated Kalman filter with the gain — inverting a matrix of state dimension (24) instead of measurement dimension (thousands of points), the trick that makes direct registration tractable. Iteration until handles linearization error under fast motion.
-
ikd-Tree mapping: the optimized scan is inserted into an incremental k-d tree supporting point insertion with on-tree downsampling, box-wise delete via lazy labels, and scapegoat-style partial re-balancing run in a parallel thread — no full rebuild, no intermittent delay. The map covers a length- cube (default 1000 m) that slides whenever the LiDAR’s detection ball touches its boundary, deleting exiting points box-wise.
Results
- Accuracy: on 19 sequences from five open datasets (lili, liosam, utbm, ulhk, nclt — solid-state and spinning LiDARs), FAST-LIO2 or a variant is best in 18 of 19. Example RMSE: liosam_1 4.58 m vs LIO-SAM 4.75 m, LILI-OM 18.78 m, LINS 880.92 m; the sole exception is ulhk_4 where LILI-OM edges it 2.29 m vs 2.57 m. The direct method beats the feature-based variant of the same system in most sequences.
- Speed: on a DJI Manifold 2-C (i7-8550U) it is about ×8 faster than LILI-OM, ×10 faster than LIO-SAM, and ×6 faster than LINS in total per-scan processing; it also achieves 10 Hz real time on an ARM Khadas VIM3 — not previously demonstrated by any LIO system.
- ikd-Tree: benchmarked on 18 sequences against octree, R*-tree, and nanoflann k-d tree, it achieves the best overall performance for incremental updates plus kNN search.
- Robustness: a quadrotor flip experiment reaches 1198 °/s peak angular velocity with 2.01 ms average per-scan processing at 100 Hz odometry; a fast handheld run (up to 7 m/s) closes an 81 m loop with < 0.06 m end-to-end error.
Why it matters for SLAM
FAST-LIO2 flipped the field’s default from “extract features, then register” to “register everything, fast.” Its ikd-Tree became a widely reused open-source component, and its iEKF-on-manifold formulation is the reference design for filter-based LiDAR-inertial odometry. It is also the foundation of the HKU MARS ecosystem — R3LIVE and FAST-LIVO/FAST-LIVO2 build their visual fusion on this LIO core — and it is the pragmatic first choice today for pure LiDAR-inertial odometry, especially on cheap solid-state sensors.