VINS-Mobile is a real-time monocular visual-inertial state estimator developed by members of the HKUST Aerial Robotics Group. It runs on compatible iOS devices, and provides localization services for augmented reality (AR) applications. It is also tested for state estimation and feedback control for autonomous drones. VINS-Mobile uses sliding window optimization-based formulation for providing high-accuracy visual-inertial odometry with automatic initialization and failure recovery. The accumulated odometry errors are corrected in real-time using global pose graph SLAM. An AR demonstration is provided to showcase its capability.
Authors: Peiliang LI, Tong QIN, Zhenfei YANG, Kejie QIU, and Shaojie SHEN from the HKUST Aerial Robotics Group
Videos: https://www.youtube.com/watch?v=qazzGT84Scc&feature=youtu.be
Related Papers:
- Monocular Visual-Inertial State Estimation for Mobile Augmented Reality, P.Li et al (submitted to ISMAR 2017)
- Robust Initialization of Monocular Visual-Inertial Estimation on Aerial Robots, T.Qin et al (submitted to IROS 2017)
- Monocular Visual-Inertial State Estimation With Online Initialization and Camera-IMU Extrinsic Calibration, Z.Yang et al (T-ASE 2017)
If you use VINS-Mobile for your academic research, please cite at least one of our related papers.
The code has been compiled on macOS Sierra with Xcode 8.3.1 and tested with iOS 10.2.1 on iPhone7 Plus.
1.1 Install boost for macOS
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew install boost
1.2 Download specific opencv2.framework from here, then unzip it to VINS_ThirdPartyLib/opencv2.framework (Please make sure you haven't installed opencv for your OSX)
1.3 In your Xcode, select Product-> Scheme-> Edit Scheme-> Run-> Info, set Build Configuration to Release
1.4 Slect your device at upper left corner, then choose your device size at Main.storyboard, build and run
1.5 Compatible Devices and iOS version requiements
iPhone7 Plus, iPhone7, iPhone6s Plus, iPhone6s, iPad Pro
iOS 10.2.1 and above
We use ceres solver for non-linear optimization and DBow for loop detection.
Thanks the contributions of Yang Liu and Botao Hu from Amber Garage.
The source code is released under GPLv3 licence.
We are still working for improving the code readability. Welcome to contribute to VINS-Mobile or ask any issues via Github or contacting Peiliang LI [email protected] or Tong QIN [email protected].
For commercial inqueries, please contact Shaojie SHEN [email protected]