搭建SLAM2并使用Kinect V2跑通ORB-SLAM2
前言:本篇博客是我之前使用Kinect V2 跑通ORB-SLAM2的一个记录,并标注了我参考的教程博客以及我遇到的问题及解决,希望能给遇到同样问题的朋友一些帮助。
整个过程中,我参考的几篇博客:
一、进行ORB-SLAM2的安装
https://blog.csdn.net/learning_tortosie/article/details/79881165
二、进行TUM数据集的测试
https://blog.csdn.net/oliongs/article/details/79696341
三、使用Kinect V2跑通ORB-SLAM2
https://blog.csdn.net/learning_tortosie/article/details/81157805#commentBox
遇到的问题及解决方法:
1、如何解锁Ubuntu中带锁文件夹?
解决方法:
sudo chmod -R 777 文件夹名
2、进行TUM数据集的测试时出错:
chen@chen-Lenovo-XiaoXin-V4000:~/ORB_SLAM2$
.Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM2.yaml
data/rgbd_dataset_freiburg2_360_hemisphere Examples/RGB-D/associations.txt
bash:.Examples/RGB-D/rgbd_tum: 没有那个文件或目录
开头少打了一个/ (虽然很可笑,但还是做了个记录)
注意此处在网站下载的TUM标准数据集的名字一定要核对清楚,比如我下载的数据集为
rgbd_dataset_freiburg2_360_hemisphere。
3、Linux系统下拷贝命令:
sudo cp -r dir1 dir2
将dir1地址的文件拷贝到dir2地址的文件里面。
4、打开终端就会出现bash: devel/setup.bash: 没有那个文件或目录
在终端输指令:
gedit ~/.bashrc
在打开文件的最后找到这个setup.bash的文件路径检查是否完整正确。
同时可以删除重复的多余配置。
5、如果通过终端的命令 无法成功配置环境变量。
即每次都要在终端输入指令:
source ~/.bashrc
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/chen/ORB_SLAM2/Examples/ROS
解决方法:在终端输入gedit ~/.bashrc
在打开文件的最后添加:
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/chen/ORB_SLAM2/Examples/ROS
即可解决。
- 教程三中的一些问题:
1、修改后修改后应该执行./build_ros.sh重新编译。
2、如果出现找不到路径或包错误,请重新配置路径。
3、执行命令:rosrun ORB_SLAM2 RGBD Vocabulary/ORBvoc.txt Examples/RGB-D/kinect2.yaml时,要注意是在ORB-SLAM2的目录下。
-
最后,只需要运行下方指令,便可使用Kinect成功跑通ORB-SLAM2:
roslaunch kinect2_bridge kinect2_bridge.launch
cd ORB_SLAM2
rosrun ORB_SLAM2 RGBD Vocabulary/ORBvoc.txt Examples/RGB-D/kinect2.yaml
注意此处kinect2.yaml是需要你进行标定之后的值来进行更正的,此处我们只是测试,可以直接复制之前测试TUM标准数据集的yaml文件的内容即可。