Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/rpng/open_vins/llms.txt

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

OpenVINS is an open-source research platform for visual-inertial navigation developed by the Robot Perception and Navigation Group (RPNG) at the University of Delaware. At its core is a Multi-State Constraint Kalman Filter (MSCKF) that fuses sparse visual feature tracks with inertial measurements from an IMU to estimate 6-DoF pose in real time. The system supports ROS 1, ROS 2, and standalone (ROS-free) builds, and ships with configurations for popular research datasets including EuRoC MAV, TUM-VI, UZH-FPV, and KAIST Urban.

Installation

Install OpenVINS with ROS 1, ROS 2, or as a standalone library. Covers all dependencies and build options.

Quick Tutorial

Run OpenVINS on the EuRoC MAV dataset in minutes and visualize the estimated trajectory.

Sensor Calibration

Calibrate camera intrinsics, IMU noise, and camera-IMU extrinsics using Kalibr and allan_variance_ros.

Supported Datasets

Download links, groundtruth files, and configuration files for all supported VIO benchmark datasets.

Key capabilities

MSCKF Estimator

Sliding-window filter with modular covariance type system and First-Estimates Jacobian (FEJ) consistency.

Online Calibration

Simultaneously estimates camera-IMU transform, time offset, camera intrinsics, and inertial intrinsics online.

Visual Simulator

SE(3) B-spline simulator generates synthetic IMU and camera measurements for algorithm development.

Evaluation Suite

Compute ATE, RPE, NEES, and RMSE against groundtruth trajectories with included Python scripts.

Get started

1

Install dependencies and build

Follow the installation guide to set up ROS and build the OpenVINS workspace with catkin build (ROS 1) or colcon build (ROS 2).
2

Download a dataset

Grab an EuRoC MAV rosbag from the datasets page — the V1_01_easy sequence is a good starting point.
3

Run the estimator

Launch OpenVINS with the provided EuRoC configuration and play the bag. See the tutorial for the exact commands.
4

Evaluate accuracy

Use the ov_eval tools to compute ATE and RPE against the provided groundtruth trajectory.

System architecture

OpenVINS is organized into four main packages:
PackagePurpose
ov_coreFeature tracking (KLT, descriptor), camera models, IMU types, SE(3) math utilities
ov_initStatic and dynamic visual-inertial filter initialization
ov_msckfCore MSCKF estimator, state propagation, SLAM/MSCKF/ZUPT update steps
ov_evalTrajectory accuracy evaluation, timing analysis, plotting scripts
OpenVINS is a research platform released under GPL-3.0. If you use it in published work, please cite the ICRA 2020 paper by Geneva et al.

Build docs developers (and LLMs) love