首先貼出github位址:http://webdiis.unizar.es/~raulmur/orbslam/
ORB_SLAM是相對來說比較新的一種SLAM,2015年開發出來,也許很多初學者比較想先運作出效果,然後慢慢了解,是以在這裡貼出編譯運作的過程。
部落客的運作環境Ubuntu14.04+ROS(indigo),首先,這種搭配最為常見,遇到問題也一般都能搜尋出答案出來,是以建議大家使用部落客這個環境。
1、首先ros工作空間,部落客的ROS工作空間為~/catkin_ws/src
首先要把以下兩行寫進你的 .bashrc 裡面(gedit ~/.bashrc 然後複制下面兩行進去,條件是,你的工作空間設定的名字跟我的一樣的話)
source /opt/ros/indigo/setup.bash
source ~/catkin_ws/devel/setup.bash
2、安裝boost庫
3、安裝opencv2.4(部落客安裝的是2.4.13版本)這個網上有大量的教程,搜尋即可。
4、 下載下傳ORB_SLAM 到ROS工作空間(catkin_ws/src 目錄下),并解壓
https://github.com/raulmur/ORB_SLAM
或者進入~/catkin_ws/src/ 然後終端執行
git clone https://github.com/raulmur/ORB_SLAM.git ORB_SLAM
下載下傳資料集,(同樣放在上述目錄)約800M,解壓得到Example.bag檔案(約1G)
5、在ORB_SLAM 檔案夾下移除 manifest.xml 檔案中對opencv的依賴,(把含有opencv的那行删除,否則第九步會出錯)
6、安裝eigen3,這是安裝g2o的必要條件
7、編譯g2o
進入 Thirdparty/g2o/ 檔案夾 終端執行
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
8、同樣方式編譯DBoW2
進入 Thirdparty/g2o/
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
9、進入ORB-SLAM檔案夾進行編譯
mkdir build
cd build
cmake .. -DROS_BUILD_TYPE=Release
make
10、
(1)啟動roscore
(2)新終端執行
rosrun ORB_SLAM ORB_SLAM PATH_TO_VOCABULARY PATH_TO_SETTINGS_FILE
其中PATH_TO_VOCABULARY PATH_TO_SETTINGS_FILE分别是ORBvoc.txt和Settings.yaml的相對路徑,以本例為說明即為:
11、新終端執行
啟動圖檔檢視程式,到時可以看到特征點跟蹤情況
12、新終端執行
rosrun rviz rviz -d Data/rviz.rviz
啟動地圖視圖視窗,顯示軌迹及特征點地圖
13、新終端執行(先進入ORB_SLAM 檔案夾
roslaunch ExampleGroovyOrNewer.launch
、新終端先進入資料集檔案夾,執行
rosbag play –pause Example.bag
“`
執行圖檔釋出程式,執行後,按空格鍵開始
結果如下圖所示