5.orb_slam部分檔案的修改
6.開始編譯orb_slam
7.開始執行orb_slam
計算機作業系統:ubuntu16.04
機械人系統:ros-kinetic
orb-slam原始碼的位址為:
編譯orb_slam之前需要安裝一些必要的依賴庫,有boost、eigen3、opencv、 g2o、dbow2。下面分別介紹各自安裝方法。
boost庫用來啟動slam系統的不同執行緒,其安裝過程只需一條命令:
sudo apt-get install libboost-all-dev
為了編譯g2o,需要安裝eigen3,其安裝過程只需一條命令:
sudo apt-get install libeigen3-dev
安裝機械人系統ros-kinetic時,會順帶安裝opencv3,所以opencv的安裝可以忽略。
mkdir build
cd build
cmake .
.make
用dbow2的一些元件來進行位置識別和功能匹配。編譯dbow2沒有其他依賴項。dbow2也在orb_slam資料夾下,其路徑為 ~/orb_slam/thirdparty/dbow2。終端進入其路徑下,逐條執行以下命令:
mkdir build
cd build
cmake .
.make
1.在orb_slam資料夾下有個manifest.xml檔案,將裡面的如下**刪除或注釋。修改原因是使用了ros-kinetic版本自帶opencv3。
"opencv2"
/>
2.開啟orb_slam/src資料夾下的orbextractor.cc檔案,新增如下兩個標頭檔案,修改原因是使用了ros-kinetic版本自帶opencv3。
#include
#include
3.開啟orb_slam/thirdparty/g2o/g2o/solvers資料夾下的linear_solver_eigen.**件,找到:
typedef eigen::permutationmatrix permutationmatrix;
將這一句**用以下**替換:
typedef eigen::permutationmatrix permutationmatrix;
修改原因是ubuntu16.04安裝的eigen庫與原始碼自帶的g2o庫產生了一些不相容的問題。
4.開啟orb_slam資料夾下的cmakelists.txt,在target_link_libraries()中新增兩個庫檔案:
/usr/lib/x86_64-linux-gnu/libboost_system.so
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so
修改原因是編譯中可能會遇到cmake找不到libboost_system.so和libboost_filesystem.so的情況。這兩個庫的路徑要根據自己的實際情況進行適當修改,終端輸入locate libboost_system.so指令來進行定位。
進入到orb_slam目錄下,在終端逐條執行以下命令:
mkdir build
cd build
cmake .
.make
1.此步驟只需在第一次執行時執行。解壓orbvoc.txt.tar.gz,開啟終端,逐條執行以下命令:
roscd orb_slam
cd data/
tar zxvf orbvoc.txt.tar.gz
2.開啟終端,執行命令:
roscore
3.重開終端,執行命令:
roslaunch orb_slam examplegroovyornewer.launch
4.重開終端,進入test.bag檔案目錄下,執行命令:
rosbag play --pause test.bag
步驟3的命令等價於以下三個命令:
rosrun orb_slam orb_slam data/orbvoc.txt data/settings.yaml
rosrun image_view image_view image:
=/orb_slam/frame _autosize:
=true
rosrun rviz rviz -d data/rviz.rviz
編譯 ORB SLAM的ROS編譯
問題 問題分析 在網上搜了很多資料,有兩種 pip install rospkg 但是提示python2.7不在維護資訊,然後重新編譯沒成功 可能是由於ros和python3衝突導致的,需要切換python版本 bashrc新增環境變數 export pythonpath pythonpath us...
ROS 編譯orbslam出錯,ros路徑問題
cmake error at cmakelists.txt 2 include include could not find load file core rosbuild rosbuild.cmake cmake error at cmakelists.txt 4 rosbuild init un...
ORB SLAM2 從編譯到除錯
已經安裝好opencv2.7版本以上的ubuntu系統 之前寫過類似的文章 安裝pangolin 作為視覺化和使用者介面 sudo apt get install libglew dev git clone 在pangolin目錄下 mkdir build cd build cmake make j...