1. 安裝依賴項
sudo apt-get install libglew-dev sudo apt-get install cmake sudo apt-get install libpython2.7-dev sudo apt-get install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev sudo apt-get install libdc1394-22-dev libraw1394-dev sudo apt-get install libjpeg-dev libtiff5-dev libopenexr-dev
2. 安裝Pangolin
git clone https://github.com/stevenlovegrove/Pangolin
cd Pangolin
mkdir build
cd build
cmake ..
make
sudo make install
3. 安裝OpenCV
參考:https://www.cnblogs.com/gloria-zhang/p/13819297.html
4. 安裝eigen3
sudo apt-get install libeigen3-dev
5. DBoW2和g2o包
這兩個包含在ORG-SLAM2中,不用單獨裝。
6. 安裝ORB-SLAM2
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2 cd ORB_SLAM2 chmod +x build.sh ./build.sh
7. 解決問題
在Jetson AGX Xavier上調用./build.sh會報錯,error:'usleep'。
解決方法是在幾個文件中添加頭文件
#include <unistd.h>
文件列表:
目錄ORB_SLAM2/src下的Tracking.cc,Viewer.cc,System.cc,LoopClosing.cc,LocalMapping.cc
目錄ORB_SLAM2/Examples/Monocular下的mono_euroc.cc,mono_tum.cc,mono_kitti.cc
目錄ORB_SLAM2/Examples/RGB-D下的rgbd_tum.cc
目錄ORB_SLAM2/Examples/Stereo下的stereo_euroc.cc,stereo_kitti.cc
更改后再調用./build.sh。
8. 驗證
下載數據集,我只下載了TUM數據集中的第一個rgbd_dataset_freiburg1_xyz,0.42G的。
解壓數據集,把文件夾rgbd_dataset_freiburg1_xyz放在ORG_SLAM2目錄下。
終端調用
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml rgbd_dataset_freiburg1_xyz
其中,TUM1.yaml也可以改成TUM2.yaml或TUM3.yaml。
結果顯示