16 March 2021: We adapt to iPhoneSE2, mainly modify file: VINS_ios/ViewController.mm, VINS_ios/src/global_param.hpp, VINS_ios/src/global_param.cpp
27 Jun 2017: We upgrade the pose outputs and AR rendering to 30 Hz by motion-only 3D tracking in front-end and improve the loop-closure procedure(See our technical report for detail).
22 May 2017: VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator is released. It is the Linux version and is fully integrated with ROS. Available at: link
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://youtu.be/0mTXnIfFisI https://youtu.be/CI01qbPWlYY (Video1 Video2 for mainland China friends)
Related Papers:
- Monocular Visual-Inertial State Estimation for Mobile Augmented Reality, P.Li et al (ISMAR 2017)
- Robust Initialization of Monocular Visual-Inertial Estimation on Aerial Robots, T.Qin et al (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
# install brew if not
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew install boost
1.2 Download specific opencv2.framework from opencv2.framework.zip, then unzip it to VINS_ThirdPartyLib/opencv2.framework
1.3.1 In your Xcode, select Product-> Scheme-> Edit Scheme-> Run-> Info, set Build Configuration to Release (not debug)
1.3.2 In your Xcode, remember to register a Xcode account
1.4.1 Slect your device at upper left corner
1.4.2 choose your device size at Main.storyboard
1.4.3 build and run
1.5 Compatible Devices and iOS version requiements
iPhone7 Plus, iPhone7, iPhone6s Plus, iPhone6s, iPhoneSE2, 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 Botao Hu (from Amber Garage) and Yang Liu.
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 <pliapATconnect.ust.hk> or Tong QIN <tong.qinATconnect.ust.hk>.
For commercial inqueries, please contact Shaojie SHEN <eeshaojieATust.hk>