前言
ORBSLAM2是一个非常适合SLAM入门学习的开源工程。它支持单目、双目、RGB-D使用,可以计算摄像机的轨迹,并且重建稀疏的3D地图。
官网有源代码和配置教程,地址是
https://github.com/raulmur/ORB_SLAM2
1 安装必要工具
首先,有两个工具是需要提前安装的。即cmake和git。
sudo apt-get install cmake
sudo apt-get install git
2 安装Pangolin,用于可视化和用户接口
安装依赖项:
sudo apt-get install libglew-dev
sudo apt-get install libpython2.7-dev
sudo apt-get install build-essential
先转到一个要存储Pangolin的路径下,例如~/Documents,然后
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake ..
make -j
sudo make install
3 安装OpenCV
最低的OpenCV版本为2.4.3,建议采用OpenCV 2.4.11或者OpenCV 3.2.0。从OpenCV官网下载OpenCV2.4.11。然后安装依赖项:
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
将下载的OpenCV解压到自己的指定目录,然后cd到OpenCV的目录下。
cd ~/Downloads/opencv-2.4.11
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local ..
make
sudo make install
4 安装Eigen3
最低要求版本为3.1.0。在http://eigen.tuxfamily.org 下载Eigen3的最新版本,一般是一个压缩文件,下载后解压,然后cd到Eigen3的根目录下。
mkdir build
cd build
cmake ..
make
sudo make install
5 安装ORBSLAM2
先转到自己打算存储ORBSLAM2工程的路径,然后执行下列命令
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh
之后会在lib文件夹下生成libORB_SLAM2.so,并且在Examples文件夹下生成mono_tum,mono_kitti, rgbd_tum,stereo_kitti, mono_euroc 和 stereo_euroc。
6 运行单目SLAM实例
在http://vision.in.tum.de/data/datasets/rgbd-dataset/download下载一个序列,并解压。转到ORBSLAM2文件夹下,执行下面的命令。根据下载的视频序列freiburg1, freiburg2 和 freiburg3将TUMX.yaml分别转换为TUM1.yaml,TUM2.yaml,TUM3.yaml。将PATH_TO_SEQUENCE_FOLDER更改为解压的视频序列文件夹。
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUMX.yaml PATH_TO_SEQUENCE_FOLDER
例如,我自己的电脑上,该命令变为:
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/bill/Downloads/rgbd_dataset_freiburg1_xyz
运行截图如下:
相关文献
[Monocular] Raúl Mur-Artal,J. M. M. Montiel and Juan D. Tardós.ORB-SLAM: A Versatile and Accurate Monocular SLAM System.@H_277_301@IEEE Transactions on Robotics,vol. 31,no. 5,pp. 1147-1163,2015. (2015 IEEE Transactions on Robotics Best Paper Award).PDF.
[Stereo and RGB-D] Raúl Mur-Artal and Juan D. Tardós.ORB-SLAM2: an Open-Source SLAM System for Monocular,Stereo and RGB-D Cameras.@H_277_301@ArXiv preprint arXiv:1610.06475[DBoW2 Place Recognizer] Dorian Gálvez-López and Juan D. Tardós.Bags of Binary Words for Fast Place Recognition in Image Sequences.IEEE Transactions on Robotics,vol. 28,pp. 1188-1197,2012.PDF