博客 / 詳情

返回

基於Ubuntu16.04的ORB-SLAM2環境配置

ORB-SLAM2環境配置
隨着ORB-SLAM2和ORB-SLAM3的盛行,越來越多的人踏入到了SLAM這個領域中,本文對ORB-SLAM2的配置環境進行介紹。
硬件基礎:內存、硬盤足夠
系統:Ubuntu16.04

接下來介紹配置過程(新手小白只需要跟着這個步驟一步一步地來即可)

Step1:由於我使用的虛擬機,因此虛擬機和Ubuntu系統可以隨便從某乎等一些網站進行搜索,安裝即可。

Step2:基礎環境依賴
打開Ubuntu的命令行,依次輸入以下內容

sudo apt-get install build-essential
sudo apt-get install cmake
sudo apt-get install cmake-gui
sudo apt-get install pkg-config
sudo apt-get install python-dev
sudo apt-get install python-numpy
sudo apt-get install git
sudo apt-get install vim cmake
sudo apt-get install git
sudo apt-get install gcc g++

Step3:安裝eigen

(注意下面內容是一行輸入的,這裏空間太小,換行了)

wget https://gitlab.com/libeigen/e...
unzip -O cp936 eigen-3.3.9.zip
cd eigen-3.3.9
mkdir build
cd build
cmake ..
make
sudo make install

Step4:安裝g2o

1.git clone https://github.com/RainerKuem...
2.cd g2o
3.mkdir build
4.cd build
5.cmake ..
6.make
7.sudo make install

Step5:安裝OctoMap

1.git clone https://github.com/OctoMap/oc...
2.cd octomap
3.mkdir build
4.cd build
5.cmake ..
6.make
7.sudo make install

Step6:安裝Sophus

git clone https://github.com/strasdat/S...
cd Sophus
mkdir build
cd build
cmake ..
make
sudo make install

Step7:安裝Pangolin

1 sudo apt install libgl1-mesa-dev
2 sudo apt install libglew-dev
3 sudo apt install libpython2.7-dev
4 sudo apt install libegl1-mesa-dev libwayland-dev libxkbcommon-dev wayland-protocols
5 sudo apt install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavdevice-dev
6 sudo apt install libdc1394-22-dev libraw1394-dev
7 sudo apt install libjpeg-dev libpng12-dev libtiff5-dev libopenexr-dev
8 git clone https://github.com/zzx2GH/Pan...
9 cd Pangolin
10 mkdir build
11 cd build
12 cmake ..
13 make
14 sudo make install

Step8:安裝Glog

git clone https://github.com/google/glo...
cd glog
cmake -H. -Bbuild -G "Unix Makefiles"
cmake --build build
cmake --build build --target test
cmake --build build --target install

Step9:安裝Gflags

git clone https://github.com/gflags/gfl...
cd gflags
mkdir build
cd build
cmake -DBUILD_SHARED_LIBS=ON DBUILD_STATIC_LIBS=ON ..
make
sudo make install

Step10:安裝Ceres

sudo apt-get install libatlas-base-dev liblapack-dev
sudo apt-get install libsuitesparse-dev libcxsparse3.1.4
git clone https://ceres-solver.googleso...
cd ceres-solver
mkdir build
cd build
cmake ..
make
sudo make install

Step11:安裝OpenCV3.4
首先下載包 百度網盤 https://pan.baidu.com/s/1XFsJ... 提取碼slam
(我在windows裏面把這個下載好,然後用U盤考到Ubuntu系統裏面)

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev
libjpeg.dev
sudo apt-get install libtiff4.dev libswscale-dev libjasper-dev
tar -zxvf 文件名
cd opencv-3.4.5
mkdir build
cd build
cmake ..
make
sudo make install
sudo vim /etc/ld.so.conf.d/opencv.conf

在打開的空白文件中添加 /usr/local/lib
執行 sudo ldconfig ,使配置的環境變量生效
(配置 .bashrc ,末尾添加下面兩行)
//打開.bashrc

sudo vim /etc/bash.bashrc

//添加以下兩行內容到.bashrc

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export
PKG_CONFIG_PATH

source 與 update

source /etc/bash.bashrc
sudo updatedb

測試是否正常安裝 (成功會出現帶 “hello opcv” 字樣的窗口)

cd opencv-3.4.5/samples/cpp/example_cmake
cmake ..
make
./opencv_example

Step12:安裝DBoW3

git clone https://github.com/rmsalinas/...
cd DBoW3
mkdir build
cd build
cmake ..
make
sudo make install

Step13:安裝運行ORB-SLAM2

git clone https://github.com/raulmur/OR... ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh

有了ORB-SLAM2文件夾以後,還需要以下操作

cd ORB-SLAM2
cd Thirdparty/DBoW2
mkdir build
cd build
cmake ..-DCMAKE_BUILD_TYPE=Release
make -j

cd ORB-SLAM2
cd Thirdparty/g2o
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j

cd ORB-SLAM2
(mkdir build) //這個之前創建過了,省略這步
cd build
cmake ..-DCMAKE_BUILD_TYPE=Release
make -j

通過以上的操作,slam的環境就差不多配好了,現在差數據集和啓動slam的代碼,下面講解

運行代碼:

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/huang/rgbd_dataset_freiburg1_rpy

其中:
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1(這個地方的1根據後面那個數據集是1或者2或者3來進行修改即可!).yaml /home/huang/rgbd_dataset_freiburg1_rpy(這個地方直接換數據集即可)

數據集下載網站:https://vision.in.tum.de/data...

以上是配置ORB-SLAM2的詳細教程,歡迎討論 + 點贊收藏

日常更新遇到的問題,也歡迎大家來幫忙解決!

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.