ORBSLAM 編譯執行記錄

2021-10-22 23:44:08 字數 2436 閱讀 8538

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...