A Robust and Versatile Visual-Inertial State Estimator support Omnidirectional Camera and/or Stereo Camera
VINS-OS is a real-time SLAM framework for Omnidirectional and/or Stereo Visual-Inertial Systems, modified from VINS-MONO
.
Same as VINS-MONO
, it uses an optimization-based sliding window formulation for providing high-accuracy visual-inertial odometry.
It features efficient IMU pre-integration with bias correction, automatic estimator initialization, online extrinsic calibration, stereo extrinsic self-calibration, failure detection and recovery.
Remove the loop detection and global pose graph optimization of VINS-MONO
.
VINS-OS is primarily designed for state estimation and feedback control of autonomous drones equrped with a dual-fisheye omnidirectional stereo vison system. This code runs on Linux, and is fully integrated with ROS.
Authors: Wenlaing GAO, Tong Qin, Peiliang Li, Zhenfei Yang, and Shaojie Shen from the HUKST Aerial Robotics Group
Videos:
EuRoC dataset; Indoor and outdoor performance; AR application;
MAV application; Mobile implementation (Video link for mainland China friends: Video1 Video2 Video3 Video4 Video5)
Related Papers
- VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator, Tong Qin, Peiliang Li, Zhenfei Yang, Shaojie Shen techincal report
- Autonomous Aerial Navigation Using Monocular Visual-Inertial Fusion, Yi Lin, Fei Gao, Tong Qin, Wenliang Gao, Tianbo Liu, William Wu, Zhenfei Yang, Shaojie Shen (JFR accepted) pdf
If you use VINS-OS for your academic research, please cite at least one of our related papers.
ROS Kinetic on Ubuntu 16.04: ROS Installation.
Additional ROS pacakge requirements: cv-bridge
, tf
, message-filters
, image-transport
, opencv3
Other ROS pacakge requisites: special version camera_model
, code_utils
.
Follow Ceres-Solver Installation
, remember to make install.
(Our testing environment: Ubuntu 16.04, ROS Kinetic, OpenCV 3.2.0, Eigen 3.2.0)
Clone the repository and catkin_make:
cd TO-YOUR-ROS-CATKIN-WORKSPACE
git clone git@github.com:gaowenliang/vins_os.git
cd ../
catkin_make
DO NOT start with a rolling shutter camera and unsync IMU (such as DJI M100 + Logitech web camera) at beginning.
We use ceres solver for non-linear optimization and DBoW2 for loop detection, and a generic camera model.
The source code is released under GPLv3 license.
We are still working on improving the code reliability. For any technical issues, pl 2C55 ease contact Tong QIN tong.qin@connect.ust.hk or Peiliang LI pliap@connect.ust.hk.
For commercial inquiries, please contact Shaojie SHEN eeshaojie@ust.hk