ORBSLAM2的編譯與運行
環境:Ubuntu16.04 ORBSLAM2
(1)安裝工具
sudo apt-get install cmake
sudo apt-get install git
sudo apt-get install gcc g++
(2) 安裝pangolin
安裝依賴項:
sudo apt-get install libglew-dev
sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
sudo apt-get install libpython2.7-dev
下載并安裝
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake -DCPP11_NO_BOOSR=1 …
make -j
sudo make install
(3)安裝opencv
ORBSLAM2支持opencv2和3,這里我安裝的是opencv3.2.0
安裝依賴:
sudo apt-get install build-essential
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
去官網下載opencv3.2.0,將下載的OpenCV解壓到自己的指定目錄,然后cd到OpenCV的目錄下
mkdir build
cd build
cmake …
make
sudo make install
(4)安裝Eigen3
在http://eigen.tuxfamily.org 下載Eigen3的最新版本,解壓,cd到該目錄下
mkdir build
cd build
cmake …
make
sudo make install
(5)安裝ORBSLAM2
clone它的源代碼到ORB-SLAM2目錄下:
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd 到該目錄下
cd ORB_SLAM2
chmod +x build.sh
./build.sh
如果沒有出錯的話那么就編譯完成了
很多個.cpp和.h文件因為都沒有添加頭文件<unistd.h>而報錯;
error: ‘usleep’ was not declared in this scope
usleep(1000);
解決辦法:使用VScode查找orb-slam2的全局搜索,找到所有的usleep;然后每個文件都添加頭文件
#include <unistd.h>
./build.sh即可
(6)運行RGB實例
下載數據集并解壓
http://vision.in.tum.de/data/datasets/rgbd-dataset/download#freiburg1_desk
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml /home/rgbd_dataset_freiburg1_desk /home/ORB-SLAM2-master/Example/RGB-D/associations/fr1_desk.txt