运行ORB-SLAM2
必备库
1、eigen3
2、pangolin
3、opencv3.2
4、DBOW2
5、G2O
当这些库安装好后,可以下载ORBSLAM2并编译。
编译命令
git clone https://github.com/raulmur/ORB_SLAM2.git //下载ORBSLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh
以上命令编译完成后就可以运行数据集了,但多半都有问题,最后介绍了我所遇到的问题。
运行数据集
到ORBSLAM2目录下运行此命令。/home/tgc/下载/rgbd_dataset_freiburg1_xyz
这个意思是数据集所在的位置,替换成自己的,就可以看到ORBSLAM2正常运行了。
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/tgc/下载/rgbd_dataset_freiburg1_xyz
问题
问题1:pangolin问题
其中上面所需的库在学习slam十四讲时已经安装过,重点讲一下pangolin的安装。需要安装Pangolin v0.5的版本才可以正确运行,我当时是这样的。
主要是在编译的过程中出现了pangolin有关的错误。
解决方案
安装链接:https://github.com/stevenlovegrove/Pangolin/tree/v0.5
或者将v0.5下到自己的电脑上,然后解压后安装,命令如下
cd Pangolin
mkdir build
cd build
cmake ..
make -j
问题2:错误关键词:usleep
错误提示为:
ORB_SLAM2/src/System.cc:315:20: error: ‘usleep’ was not declared in this scope
usleep(5000);
解决方案
上面错误的意思是要找到对应的System.cc加入 #include<unistd.h>
而最终需要增加unistd.h的文件有:
Examples/Monocular/mono_euroc.cc
Examples/Monocular/mono_kitti.cc
Examples/Monocular/mono_tum.cc
Examples/RGB-D/rgbd_tum.cc
Examples/Stereo/stereo_euroc.cc
Examples/Stereo/stereo_kitti.cc
src/LocalMapping.cc
src/LoopClosing.cc
src/System.cc
src/Tracking.cc
src/Viewer.cc
这些文件都在ORBSLAM2中