Monocular Visual-Inertial State Estimator on Mobile Phones
C++ CMake Objective-C++ C Python Objective-C Other
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 12 commits behind HKUST-Aerial-Robotics:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Monocular Visual-Inertial State Estimator on Mobile Phones

31 May 2017: HoloKit, an iOS app based on VINS-Mobile, is now available on the App Store. Available at: link

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: (Video1 Video2 for mainland China friends)

Related Papers:

If you use VINS-Mobile for your academic research, please cite at least one of our related papers.

1. Build

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"
$ 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 (not debug)

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

2. Acknowledgements

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.

3. Licence

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 or Tong QIN

For commercial inqueries, please contact Shaojie SHEN