主要进行了ORB-SLAM2环境的配置和TUM及kitti数据集的测试
1. 相关软件及环境搭配
2. TUM及kitti数据集测试
1. 相关软件及环境搭配
主要参考的几位博主的文章,链接如下:
1.ORB-SLAM2环境搭配及软件和测试数据集参考博客,以及在环境配置中遇到问题的总结
Ubuntu18.04 ORB_SLAM2的安装、配置、运行SLAM单目实例
2.安装Open-CV3.4.1主要参考博客:
第一个链接主要是Open-CV3.4.1安装过程的博客;第二个链接主要是在安装Open-CV3.4.1过程中遇到问题解决问题的博客;
Unbuntu18.04 安装并配置OpenCV3.4.1
ubuntu18.04 安装OpenCV3.4.1踩坑过程
在配置orb-slam2过程中会出现很多报错,尤其电脑配置不行遇到死机就真的束手无策,建议在配置环境过程中提前将某些参数设置好在输入指令,详建后面的总结
2. TUM及kitti数据集测试
两个公开数据集的测试及数据主要参考了下面这篇博客:
【嵌入式应用7】UBUNTU18.04安装使用ORB-SLAM2
2.1 TUM数据集测试
TUM数据集的下载主要通过上面这位博主给的百度网盘链接进行下载,大约0.4G的数据,跑TUM数据集遇到的主要问题在于运行命令的语法较为复杂,运行的指令根据这位博主的提示和步骤进行的,主要难点在于Data文件夹的创建,参考了其他博主的都略有不同,报错的内容主要是 无法找到***文件夹
指令格式及解释如下:
主要参考的博客链接如下:
ORB-SLAM2编译安装以及跑KITTI数据集
最后跑出来的TUM数据集效果如下:
跑TUM数据集指令如下:
在catkin_ws/src/ORB-SLAM2终端下运行
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml Data/rgbd_dataset_freiburg1_xyz/
2.2 kitti数据集测试
kitti数据能够跑通,主要问题出在运行命令语句,因为我的kitti_Image文件夹下又放了一个kitti_Image文件夹,所有只需要将kitti-Image里面的数据拷出来,然后把之前的文件夹删除再执行以下命令就能跑通数据集,但是存在的一个问题就是跑出来的数据是单目的,这部分问题还在继续查找。
跑kitti数据集指令:
./Examples/Monocular/mono_kitti Vocabulary/ORBvoc.txt Examples/Monocular/KITTI00-02.yaml Data/kitti_Image
结果图如下:
总结及出现的问题:
此次用ORB-SLAM2跑公开的自动驾驶数据集遇到了很多问题,前期主要是环境搭建弄了很久,尤其是ORB-SLAM2在编译过程中遇到了很多问题
- 在ORB-SLAM2编译过程中,编译build.sh和build_ros.sh时候老是死机,所有在编译是一定要提前设置好,这里一定要把build.sh文件和build_ros.sh文件中的最后一句命令make -j 改为make,不然会直接编译死机。
- 在环境配置过程中一定要提前将缺少的参数设置好,以下是安装过程中会报错的问题:
问题1:
ORB_SLAM2/src/System.cc: error: ‘usleep’ was not declared in this scope usleep(5000);
解决方案:
在下列文件中添加头问题
#include<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
问题2:
CMakeFiles/RGBD.dir/build.make:197: recipe for target ‘…/RGBD’ failed
解决方案:
修改home/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/文件夹下的CMakeLists.txt文件。
在set(LIBS xxxxx 的后面加上下列这一句代码。
-lboost_system
问题3:
编译Pangolin时报错:‘No package ‘xkbcommon’ found’
解决方案:
输入以下命令:
sudo apt-get install libxkbcommon-x11-dev
3.数据集下载问题
在测试数据集的时候,数据集的存放位置也有要求,大多博客都是在src/orb-slam2文件夹下新建Data文件,跑数据集的运行指令需要更改,此外,数据集的下载也有很多问题,许多博主都给的是官方下载链接,数据集很大,且部分需要在下载后自己重新设置以下,有点麻烦,较简单的一种就是参考数据集测试链接的那篇博客,直接用博主弄好的数据集进行测试。
搞了一周的orb-slam终于将测试集跑通了,虽然kitti的数据跑出来仍有问题有待解决,但是收获不下,非常感谢再次过程中提过解答的各位博主。
继续加油
:)