Track a drone position in GPS-denied indoor environments using only a monocular camera and an IMU sensor
Build an augmented reality application that stays accurately anchored to the real world using visual-inertial pose estimation
Load a previously saved map so a robot can localize itself from the start of a new session without rediscovering the environment
Fuse camera and IMU data to estimate 6-DoF pose at high frequency for robotics and autonomous systems
Requires Ubuntu 16.04, ROS, and Ceres Solver, the package must be built inside a ROS workspace with all dependencies resolved first.
VINS-Mono is a software system that figures out where a device is in space and how it is moving, using only a single camera and an inertial measurement unit (IMU, the sensor that measures acceleration and rotation). This type of system is called visual-inertial odometry. It is designed to run in real time and is primarily used on autonomous drones, though the authors also demonstrate it working for augmented reality applications. The core idea is to combine visual information from the camera (tracking how points in the scene shift between frames) with motion data from the IMU (which provides fast, frequent readings of acceleration and orientation). By fusing these two data streams, the system produces a continuous estimate of the device's position and orientation that is more accurate and more resilient to failure than either source alone. VINS-Mono includes loop detection, which lets the system recognize places it has been before and use that recognition to correct accumulated drift errors in the position estimate. It also supports map merging (combining position data from multiple separate sessions) and map reuse (loading a previously saved map so that a new session can be aligned to it from the start). Calibration parameters between the camera and IMU can be estimated online, so you do not need precise pre-measured values to begin. The code runs on Ubuntu 16.04 with ROS (Robot Operating System) and is written in C++. Setup involves installing a dependency called Ceres Solver and building the package inside a ROS workspace. Demo instructions using the EuRoC drone dataset are provided in the README. The project was developed by the HKUST Aerial Robotics Group. A follow-up project called VINS-Fusion extends the approach to stereo camera setups.
← hkust-aerial-robotics on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.