Authors: Weihan Wang,Junhong Chen
VIF-Stereo is a Visual-Inertial(Stereo Cameras and Inertial Measurement Unit(IMU)) SLAM system based on ORB-SLAM2 and VINS. VIF-Stereo system includes three main parts: Visual-Inertial alignment, Visual-Inertial system initialization and tightly-coupled Visual-Inertial system optimization. Current Version of VIF-Stereo has finished Visual-Inertial alignment and Visual-Inertial system initialization, but tightly-coupled Visual-Inertial system optimization section is still working.
We have tested the library in Ubuntu 12.04, 14.04 and 16.04, but it should be easy to compile in other platforms. A powerful computer (e.g. i7) will ensure real-time performance and provide more stable and accurate results.
We use the new thread and chrono functionalities of C++11.
We use Pangolin for visualization and user interface. Dowload and install instructions can be found at: https://github.com/stevenlovegrove/Pangolin.
We use OpenCV to manipulate images and features. Dowload and install instructions can be found at: http://opencv.org. Required at leat 2.4.3. Tested with OpenCV 2.4.11 and OpenCV 3.2.
Required by g2o (see below). Download and install instructions can be found at: http://eigen.tuxfamily.org. Required at least 3.1.0.
We use modified versions of the DBoW2 library to perform place recognition and g2o library to perform non-linear optimizations. Both modified libraries (which are BSD) are included in the Thirdparty folder.
Clone the repository:
git clone https://github.com/wwtx9/VIF-Stereo.git
We provide a script build.sh
to build the Thirdparty libraries and ORB-SLAM2. Please make sure you have installed all required dependencies (see section 2). Execute:
cd VIF-Stereo
chmod +x build.sh
./build.sh
./Examples/Stereo/stereo_euroc Vocabulary/ORBvoc.txt Examples/Stereo/EuRoC.yaml PATH_TO_SEQUENCE/mav0/cam0/data PATH_TO_SEQUENCE/mav0/cam1/data PATH_TO_SEQUENCE/mav0/cam0/data.csv PATH_TO_SEQUENCE/mav0/imu0/data.csv