Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/HKUST-Aerial-Robotics/Vins-Fusion/llms.txt

Use this file to discover all available pages before exploring further.

VINS-Fusion is an optimization-based multi-sensor state estimator that achieves accurate self-localization for autonomous applications including drones, ground vehicles, and AR/VR systems. It extends VINS-Mono with support for multiple visual-inertial sensor configurations and global GPS fusion.

Prerequisites

System requirements, ROS setup, and dependency installation before building

Installation

Clone the repository and build VINS-Fusion with catkin in your ROS workspace

EuRoC Example

Run VINS-Fusion on the EuRoC MAV dataset with mono, stereo, or stereo+IMU

KITTI Example

Evaluate on KITTI odometry benchmark and run GPS fusion on raw sequences

Configuration

Write a config file for your sensor setup and tune estimation parameters

Core Concepts

Understand the VIO pipeline, sliding-window optimization, and loop closure

Key features

Multiple sensor modes

Supports monocular camera + IMU, stereo cameras + IMU, and stereo-only configurations from a single codebase

Online calibration

Estimates camera-IMU spatial and temporal offsets online — no perfect pre-calibration required

Visual loop closure

DBoW2-based loop detection corrects drift over long trajectories using a persistent pose graph

GPS global fusion

Fuses VIO odometry with GPS measurements for globally consistent position estimates

Quick start

1

Install prerequisites

Install Ubuntu 16.04 or 18.04, ROS Kinetic or Melodic, and the Ceres Solver. See Prerequisites for full instructions.
2

Build VINS-Fusion

Clone the repository into your catkin workspace and build:
cd ~/catkin_ws/src
git clone https://github.com/HKUST-Aerial-Robotics/VINS-Fusion.git
cd ../ && catkin_make
source ~/catkin_ws/devel/setup.bash
3

Run on EuRoC data

Download the EuRoC MAV dataset and launch the estimator:
roslaunch vins vins_rviz.launch
rosrun vins vins_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_stereo_imu_config.yaml
rosbag play MH_01_easy.bag
4

Run on your own device

Write a config file for your cameras and IMU — see Custom Device Setup for guidance on calibration and parameter tuning.
VINS-Fusion is a research system. Hardware quality significantly affects accuracy. For best results, use global shutter cameras with hardware-synchronized IMU.

Build docs developers (and LLMs) love