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, please 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