OpenSLAM_00: Project Description & Prerequisites

1 minute read



This project is a self-study project on ORB-SLAM2 by Raul Mur-Artal. It is a real-time SLAM system for Monocluar, Stereo and RGBD cameras that computes the camera trajectory and a sparse 3D reconstruction. It is able to detect loop and relocalize the camera in real time. To see the details of the origin work, please refere to the following publication:

[Monocular] Raúl Mur-Artal, J. M. M. Montiel and Juan D. Tardós. ORB-SLAM: A Versatile and Accurate Monocular SLAM System. IEEE Transactions on Robotics, vol. 31, no. 5, pp. 1147-1163, 2015. (2015 IEEE Transactions on Robotics Best Paper Award). PDF.

This project is mainly the result of my self-study on ORB-SLAM and I decided to repackage the author’s source code by using my own code specification ROS C++ style and OpenCV. See OpenSLAM.


I have written my codes in Ubuntu 16.0. Since it’s an ongoing project so I may not ensure the pieces might work currenly. Please wait until the blogs updates.

C++11 or C++0x Compiler

We use the new thread and chrono functionalities of C++11.


We use OpenCV to manipulate images and features. Dowload and install instructions can be found at: 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: Required at least 3.1.0.

DBoW2 and g2o

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.