1. 程式人生 > >搭建SLAM2並使用Kinect V2跑通ORB-SLAM2

搭建SLAM2並使用Kinect V2跑通ORB-SLAM2

搭建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資料集的測試時出錯:

[email protected]:~/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檔案的內容即可。