# hku-mars/fast_lio

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/hku-mars-fast-lio).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

4,829 stars · 1,580 forks · C++ · GPL-2.0

## Links

- GitHub: https://github.com/hku-mars/FAST_LIO
- awesome-repositories: https://awesome-repositories.com/repository/hku-mars-fast-lio.md

## Topics

`lidar-odometry` `livox-avia-lidar`

## Description

FAST_LIO is a real-time SLAM system and LiDAR-inertial odometry package designed for simultaneous localization and mapping. It functions as a state estimation engine and 3D mapping tool that fuses LiDAR point clouds with inertial measurement unit data to provide robust robot state estimation.

The system utilizes a tightly-coupled sensor fusion approach with an iterative Kalman filter to estimate position and orientation. It distinguishes itself through direct point-to-plane matching, which calculates odometry by matching raw lidar points to the map surface without manual geometric feature extraction. To maintain high processing speeds, it employs incremental KD-tree mapping and parallel spatial search trees.

The framework covers a broad range of capabilities including motion undistortion to correct spatial warping and sensor timestamp synchronization. It also provides utilities for sensor extrinsics calibration, sensor alignment initialization, and the export of accumulated global point clouds.

The project is implemented in C++ and provides interfaces for integrating external IMU and LiDAR sensor data streams.

## Tags

### Hardware & IoT

- [LiDAR-Inertial Odometry Frameworks](https://awesome-repositories.com/f/hardware-iot/lidar-inertial-odometry-frameworks.md) — Fuses laser scanning and inertial measurements to estimate a robot's pose and map its environment in real time.
- [EKF-Based State Estimators](https://awesome-repositories.com/f/hardware-iot/ekf-based-state-estimators.md) — Uses an iterative state estimation engine to provide robust odometry during fast motion or noisy conditions.
- [State Estimation Libraries](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/localization-mapping/state-estimation-libraries.md) — Implements probabilistic tools for real-time tracking of robot position and environmental state via sensor fusion. ([source](https://github.com/hku-mars/fast_lio#readme))
- [IMU Integration](https://awesome-repositories.com/f/hardware-iot/integration-performance/hardware-interfacing-integration/hardware-integration/device-sensors/external-integrations/imu-integration.md) — Provides a system interface to integrate data from external inertial measurement units for improved orientation accuracy. ([source](https://github.com/hku-mars/fast_lio#readme))
- [LiDAR Integration](https://awesome-repositories.com/f/hardware-iot/integration-performance/hardware-interfacing-integration/hardware-integration/device-sensors/external-integrations/sensor-integrations/lidar-integration.md) — Provides a processing pipeline for raw point clouds from various spinning or solid-state sensors. ([source](https://github.com/hku-mars/fast_lio#readme))
- [Real-Time SLAM](https://awesome-repositories.com/f/hardware-iot/real-time-slam.md) — Implements a real-time simultaneous localization and mapping system for high-frequency navigation in dynamic environments.
- [Real-Time Spatial Mapping Systems](https://awesome-repositories.com/f/hardware-iot/real-time-spatial-mapping-systems.md) — Builds accurate 3D maps of an environment incrementally while a robot is moving in real time.
- [Direct Point-to-Plane Matching](https://awesome-repositories.com/f/hardware-iot/scan-matching/scan-to-submap-matching/direct-point-to-plane-matching.md) — Calculates odometry by matching raw lidar points directly to the map surface without manual geometric feature extraction. ([source](https://github.com/hku-mars/fast_lio#readme))
- [Vehicle Egomotion Tracking](https://awesome-repositories.com/f/hardware-iot/vehicle-egomotion-tracking.md) — Tracks vehicle state and position in noisy or fast-motion environments using high-frequency sensor data.
- [Incremental 3D Mapping](https://awesome-repositories.com/f/hardware-iot/incremental-3d-mapping.md) — Uses incremental KD-tree mapping to maintain high processing speeds during real-time high-frequency data capture. ([source](https://github.com/hku-mars/fast_lio#readme))
- [Extrinsic Calibration](https://awesome-repositories.com/f/hardware-iot/integration-performance/automotive-software-systems/automotive-systems/vehicle-sensor-processing/extrinsic-calibration.md) — Defines the translational and rotational pose of sensors relative to the body frame for accurate data fusion. ([source](https://github.com/hku-mars/fast_lio#readme))
- [Sensor Data Synchronization](https://awesome-repositories.com/f/hardware-iot/sensor-data-synchronization.md) — Implements software-based alignment of timestamps between sensors when hardware clock synchronization is unavailable. ([source](https://github.com/hku-mars/fast_lio#readme))

### Part of an Awesome List

- [Point Cloud Processing](https://awesome-repositories.com/f/awesome-lists/data/point-cloud-processing.md) — Cleans and undistorts raw LiDAR data to remove motion artifacts and optimize spatial searches for mapping.
- [Parallel Spatial Search](https://awesome-repositories.com/f/awesome-lists/data/spatial-indexing-and-search/parallel-spatial-search.md) — Utilizes multi-threaded search trees to accelerate the retrieval of nearby points from the global map.
- [Sensor Calibration](https://awesome-repositories.com/f/awesome-lists/devtools/sensor-calibration.md) — Aligns timestamps and spatial poses between different sensors to ensure accurate data integration for motion tracking.

### Scientific & Mathematical Computing

- [Point-to-Plane Matching](https://awesome-repositories.com/f/scientific-mathematical-computing/iterative-closest-point-matching/point-to-plane-matching.md) — Implements a direct point-to-plane matching algorithm to calculate odometry without manual geometric feature extraction.

### Software Engineering & Architecture

- [Kalman Filter Implementations](https://awesome-repositories.com/f/software-engineering-architecture/kalman-filter-localization/kalman-filter-implementations.md) — Uses an iterative Kalman filter to fuse inertial measurements and lidar points for recursive state estimation.
- [Lidar Mapping](https://awesome-repositories.com/f/software-engineering-architecture/lidar-mapping.md) — Transforms raw laser scans into global point clouds using incremental mapping and spatial search optimization.
- [Tightly-Coupled LiDAR-Inertial Fusion](https://awesome-repositories.com/f/software-engineering-architecture/lidar-mapping/tightly-coupled-lidar-inertial-fusion.md) — Integrates raw lidar and inertial data into a single state estimator to reduce drift and improve motion robustness.
- [Motion Undistortion](https://awesome-repositories.com/f/software-engineering-architecture/lidar-mapping/tightly-coupled-lidar-inertial-fusion/motion-undistortion.md) — Corrects lidar point cloud distortion by interpolating high-frequency inertial data between the start and end of a scan.

### Data & Databases

- [KD-Trees](https://awesome-repositories.com/f/data-databases/spatial-data-structures/kd-trees.md) — Utilizes incremental KD-trees to optimize nearest-neighbor searches and point insertion during real-time mapping.

### Graphics & Multimedia

- [LiDAR Motion Undistortion](https://awesome-repositories.com/f/graphics-multimedia/motion-data-synchronization/lidar-motion-undistortion.md) — Uses high-resolution timestamps for individual data points to prevent spatial warping during sensor motion. ([source](https://github.com/hku-mars/fast_lio#readme))

### Web Development

- [Spatial Search Trees](https://awesome-repositories.com/f/web-development/performance-optimizations/computational-parallelization/parallel-search-engines/spatial-search-trees.md) — Employs parallel spatial search trees to minimize computational overhead during 3D map queries. ([source](https://github.com/hku-mars/fast_lio#readme))
