Awesome
VINS-OS
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:
<a href="https://www.youtube.com/embed/mv_9snb_bKs" target="_blank"><img src="http://img.youtube.com/vi/mv_9snb_bKs/0.jpg" alt="euroc" width="240" height="180" border="10" /></a> <a href="https://www.youtube.com/embed/g_wN0Nt0VAU" target="_blank"><img src="http://img.youtube.com/vi/g_wN0Nt0VAU/0.jpg" alt="indoor_outdoor" width="240" height="180" border="10" /></a> <a href="https://www.youtube.com/embed/I4txdvGhT6I" target="_blank"><img src="http://img.youtube.com/vi/I4txdvGhT6I/0.jpg" alt="AR_demo" width="240" height="180" border="10" /></a>
EuRoC dataset; Indoor and outdoor performance; AR application;
<a href="https://www.youtube.com/embed/2zE84HqT0es" target="_blank"><img src="http://img.youtube.com/vi/2zE84HqT0es/0.jpg" alt="MAV platform" width="240" height="180" border="10" /></a> <a href="https://www.youtube.com/embed/CI01qbPWlYY" target="_blank"><img src="http://img.youtube.com/vi/CI01qbPWlYY/0.jpg" alt="Mobile platform" width="240" height="180" border="10" /></a>
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.
Build
Prerequisites
ROS
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
.
Ceres Solver
Follow Ceres-Solver Installation
, remember to make install.
(Our testing environment: Ubuntu 16.04, ROS Kinetic, OpenCV 3.2.0, Eigen 3.2.0)
Build VINS-OS
Clone the repository and catkin_make:
cd TO-YOUR-ROS-CATKIN-WORKSPACE
git clone git@github.com:gaowenliang/vins_os.git
cd ../
catkin_make
Run with your device
DO NOT start with a rolling shutter camera and unsync IMU (such as DJI M100 + Logitech web camera) at beginning.
Acknowledgements
We use ceres solver for non-linear optimization and DBoW2 for loop detection, and a generic camera model.
Licence
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