# hkust-aerial-robotics/vins-fusion

**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/hkust-aerial-robotics-vins-fusion).**

4,573 stars · 1,598 forks · C++ · GPL-3.0

## Links

- GitHub: https://github.com/HKUST-Aerial-Robotics/VINS-Fusion
- awesome-repositories: https://awesome-repositories.com/repository/hkust-aerial-robotics-vins-fusion.md

## Description

VINS-Fusion is a multi-sensor fusion framework and visual-inertial odometry system. It integrates camera images, inertial measurement unit data, and global positioning signals through a non-linear optimization system to track the position and orientation of autonomous vehicles.

The system includes a visual loop closure engine that utilizes a bag-of-words approach to recognize previously visited locations and correct trajectory drift. It further provides tools for online spatio-temporal calibration to determine the physical offset and time synchronization between cameras and inertial sensors during operation.

Broad capabilities include multi-sensor state estimation and global coordinate alignment to ensure local trajectories are aligned with a world frame. The framework also supports camera model calibration to manage lens distortion and intrinsic parameters.

The project provides a containerized environment to ensure consistent build and execution processes across different host operating systems.

## Tags

### Artificial Intelligence & ML

- [Sensor Fusion Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/sensor-fusion-frameworks.md) — Implements a non-linear optimization framework that integrates visual, inertial, and GPS data for autonomous vehicle localization.
- [Loop Closure Detection](https://awesome-repositories.com/f/artificial-intelligence-ml/loop-closure-detection.md) — Includes a visual loop closure engine using a bag-of-words approach to recognize visited locations and correct trajectory drift.

### Hardware & IoT

- [Tightly-Coupled Fusion](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/localization-mapping/slam-algorithms/visual-inertial-slam-implementations/tightly-coupled-fusion.md) — Integrates raw camera imagery and IMU data into a single state vector for high-precision tracking.
- [Sensor Fusion](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/localization-mapping/sensor-fusion.md) — Combines data from multiple sensors using non-linear optimization for autonomous vehicle localization.
- [State Estimation Libraries](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/localization-mapping/state-estimation-libraries.md) — Fuses data from IMUs and cameras to track the robot's position and orientation in real time. ([source](https://github.com/hkust-aerial-robotics/vins-fusion#readme))
- [Visual-Inertial Odometry Frameworks](https://awesome-repositories.com/f/hardware-iot/visual-inertial-odometry-frameworks.md) — Fuses camera imagery and IMU data to estimate the real-time position and orientation of a robot.

### Part of an Awesome List

- [Online Sensor Calibrations](https://awesome-repositories.com/f/awesome-lists/devtools/sensor-calibration/online-sensor-calibrations.md) — Performs real-time estimation of spatial offsets and temporal synchronization between cameras and IMUs.
- [Camera Calibration](https://awesome-repositories.com/f/awesome-lists/ai/pose-estimation/camera-calibration.md) — Calculates lens distortion and intrinsic parameters to ensure accurate visual measurements. ([source](https://github.com/hkust-aerial-robotics/vins-fusion#readme))
- [Spatio-Temporal Calibrators](https://awesome-repositories.com/f/awesome-lists/ai/pose-estimation/camera-calibration/spatio-temporal-calibrators.md) — Provides tools for online spatio-temporal calibration to determine physical offsets and time synchronization between cameras and inertial sensors.
- [Simultaneous Localization and Mapping](https://awesome-repositories.com/f/awesome-lists/data/simultaneous-localization-and-mapping.md) — Multi-sensor visual-inertial state estimator.
- [State Estimation and SLAM](https://awesome-repositories.com/f/awesome-lists/devtools/state-estimation-and-slam.md) — Optimization-based multi-sensor state estimation framework.

### Scientific & Mathematical Computing

- [Global Position Integration](https://awesome-repositories.com/f/scientific-mathematical-computing/global-position-integration.md) — Incorporates absolute global coordinates into local spatial estimations to align the robot trajectory with a world frame.
- [Non-Linear Optimizers](https://awesome-repositories.com/f/scientific-mathematical-computing/non-linear-optimizers.md) — Uses a sliding window of sensor measurements and iterative solvers to minimize estimation errors.
- [Non-Linear State Estimation](https://awesome-repositories.com/f/scientific-mathematical-computing/non-linear-state-estimation.md) — Uses non-linear optimization of visual and inertial data to provide accurate self-localization. ([source](https://github.com/hkust-aerial-robotics/vins-fusion#readme))
- [State Marginalization](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/statistics-probability/probability-distributions/marginal-probability-computation/state-marginalization.md) — Optimizes computational efficiency by removing older states from the active window while preserving geometric constraints.
