第一步:下载和安装

在win10使用Vmware搭建Ubuntu16.04虚拟机,然后下载ORB-SLAM2源码,源码链接https://github.com/raulmur/ORB_SLAM2。另外,若想成功运行需要其他的附件包,包括:

1.C++11或者C++ 0x编译器

2.Pangolin: https://github.com/stevenlovegrove/Pangolin

3.Opencv: 这里的Opencv需要源码编译安装在ubuntu虚拟机上,版本最低是2.4.3,笔者的是3.4.1,测试通过。opencv源码地址:http://opencv.org/

4.Eigen3 这是ubuntu开源的一个矩阵运算库,需要的最低版本为3.1.0,源码地址为:http://eigen.tuxfamily.org/

5.DBoW2 and g2o:这两个库已经包含在了ORB-SLAM源码文件夹里的Thirdparty文件夹里了。

第二步:编译ORB-SLAM

进入该文件夹,在终端运行以下的代码:

chmod +x build.sh
./build.sh

如果虚拟机CPU不够,编译死机,就打开build.sh脚本,按照里面的编译顺序自己手动编译,切记,在make编译时,不要带-j,直接使用make即可,不然还是会死机…

第三步:下载测试数据集

代码提供示例中支持多种开源的数据集,比如TUM,KITTI,和EuRoc,笔者本次只测试了单目视觉里的TUM数据集,下载地址为http://vision.in.tum.de/data/datasets/rgbd-dataset/download,若想测试别的数据集,可以参考源码里的readme,里面有各个数据集的下载地址

第四步:运行

下载的是一个压缩包,解压缩后,我直接放在了ORB-SLAM2文件夹里面,解压后的文件夹名字没有改变,即rgbd_dataset_freiburg1_desk,,接下来,进入ORB-SLAM2文件夹里面,右键,在终端中打开,输入以下代码:

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUMX.yaml PATH_TO_SEQUENCE_FOLDER

需要做以下更改:
1.将代码中的TUMX.yaml换成freiburg1、freiburg2、freiburg3对应的TUM1.yaml、TUM2.yaml、TUM3.yaml,例如我的是freiburg1(数据集文件夹名),因此就换成TUM1.yaml
2.将PATH_TO_DATASET_FOLDER换成你的数据集的绝对路径,笔者放在了ORB-SLAM2文件夹里面,因此就是./rgbd_dataset_freiburg1_desk
做完上述更改后,我的代码就是

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml ./rgbd_dataset_freiburg1_desk

回车运行,就大功告成啦!

效果如下图所示:
在这里插入图片描述

参考网址:

1.https://github.com/raulmur/ORB_SLAM2

2.https://github.com/stevenlovegrove/Pangolin/blob/master