• Stars
    star
    154
  • Rank 242,095 (Top 5 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created over 6 years ago
  • Updated about 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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:

euroc indoor_outdoor AR_demo

EuRoC dataset; Indoor and outdoor performance; AR application;

MAV platform Mobile platform

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 [email protected]: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 [email protected] or Peiliang LI [email protected].

For commercial inquiries, please contact Shaojie SHEN [email protected]