1、安装依赖
配置过程中需要需要cmake、gcc、g++和Git工具
安装git,用于从Github上克隆项目到本地
sudo apt-get install git
sudo apt-get install cmake
sudo apt-get install g++
sudo apt-get install gcc
2、安装Pangolin
作为可视化和用户界面
sudo apt-get install libglew-dev libpython2.7-dev
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake ..
make -j4
sudo make install
我安装过程中遇到的问题,在链接: https://blog.csdn.net/wowbing2/article/details/105819498.列出
3、安装Eigen3——一个开源线性库,可进行矩阵运算
sudo apt-get install libeigen3-dev
4、安装OpenCV
我安装过两种版本的,分别介绍一下。
(1)OpenCV3.2.0.
比较简单,Ubuntu库中有,直接运行下面命令:
sudo apt-get install libopencv-dev python-opencv
如果安装出错,那么可以更新一下源,或是换一个源。
如果想手动安装,请参考链接: https://blog.csdn.net/li_wen01/article/details/71641408
(2)OpenCV2.4.13
从GitHub下载opencv2.4.13,然后解压:
wget https://github.com/Itseez/opencv/archive/2.4.13.zip
unzip 2.4.13.zip
然后进入到OpenCV的目录下,开始编译安装OpenCV2.4.13的源码。
cd opencv-2.4.13
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local …
make
sudo make install
我安装过程中遇到的问题,在链接: https://blog.csdn.net/wowbing2/article/details/105848531列出
5、安装ORB-SLAM2
克隆仓库:git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
编译ORB-SLAM2,第三方库中的DBoW2和g2o,并解压ORB词典
cd ORB_SLAM2
chmod +x build.sh
./build.sh
编译时遇到很多错误: error: ‘usleep’ was not declared in this scope
需要打开相应的代码,在头文件里面添加usleep 的头文件
打开/ORB_SLAM2/src/路径下,在源文件LocalMapping.cc、Tracking.cc、Viewer.cc、LoopClosing.cc,以及ORB_SLAM2/Examples/路径下的,Monocular/mono_tum.cc、Monocular/mono_kitti.cc、Monocular/mono_euroc.cc、Stereo/stereo_euroc.cc、Stereo/stereo_kitti.cc、RGB-D/rgbd_tum.cc。以及ORB_SLAM2/Examples/ROS/ORB_SLAM2/src/AR/ViewerAR.cc.
在以上源文件打开,添加头文件
#include<unistd.h>
保存,然后重新执行./build.sh
6、单目TUM实例运行
下载TUM数据集。链接: https://vision.in.tum.de/data/datasets/rgbd-dataset/download.
我下载了一个 rgbd_dataset_freiburg1_desk2。在ORB-SLAM2目录下创建一个文件夹 Data ,将你下载的数据集放置在该文件夹下,并进行解压。(当然,你开始可能把它下载在“下载”文件夹中,你可以把它复制过来)
在ORB-SLAM2文件夹处右击鼠标,选择在终端打开。这时候就要向这个窗口粘贴语句了。在ORBSLAM2的README中,给出的是这样:
./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 Data/rgbd_dataset_freiburg1_desk2
7、KITTI双目实例运行
从链接: http://www.cvlibs.net/datasets/kitti/eval_odometry.php.下载数据集(灰度图像)
执行以下命令。KITTIX.yaml分别将序列0到2、3和4到12 更改为KITTI00-02.yaml,KITTI03.yaml或KITTI04-12.yaml。更改PATH_TO_DATASET_FOLDER未压缩的数据集文件夹。更改SEQUENCE_NUMBER为00,01,02,…,11。
运行步骤和上面一样:
./Examples/Stereo/stereo_kitti Vocabulary/ORBvoc.txt Examples/Stereo/KITTIX.yaml PATH_TO_DATASET_FOLDER/dataset/sequences/SEQUENCE_NUMBER
上面青色就是要修改的部分,其中“PATH_TO_DATASET_FOLDER”就是要找到你要运行的数据集的位置,你要找到你下载的数据集关键文件夹“dataset/sequences/”在哪。然后一步步执行。我保存并运行的是序列00数据,且保存在Data/KITTI目录下
所以就是
./Examples/Stereo/stereo_kitti Vocabulary/ORBvoc.txt Examples/Stereo/KITTI00-02.yaml Data/KITTI/data_odometry_gray/dataset/sequences/00
运行截图如下: