本人郵箱:sylvester0510@163.com,歡迎交流討論, 歡迎轉載,轉載請注明網址http://blog.csdn.net/u010128736/
??ORB-SLAM是15年一個西班牙博士做的[1],工程效果來看,是目前最好的了。ORB-SLAM是針對單目做的slam,最新的是ORB-SLAM2,支持單目、雙目和RGB-D接口。這里對ORB-SLAM2的環境搭建做一個記錄,里面遇到的坑也有解決辦法,可以參考。
系統環境:Ubuntu14.04
(1)打開一個終端Ternimal,輸入
sudo passwd然后設置root用戶的密碼 (2)新建文件夾:
mkdir ORB_SLAMcd ORB_SLAM2.安裝必備軟件:
(1)更新apt庫
sudo apt-get update(2)安裝Git
sudo apt-get install git(3)安裝cmake
sudo apt-get install cmake(4)安裝Pangolin 安裝依賴: a、opengl: b、GLEW:
sudo apt-get install libglew-devc、Boost:
sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-devd、Python2/Python3:
sudo apt-get install libpython2.7-deve、編譯基礎庫
sudo apt-get install build-essential安裝Pangolin:
git clone https://github.com/stevenlovegrove/Pangolin.gitcd Pangolin修改 Pangolin/src/display/device/display_x11.cpp 注釋第123行和124行(這個地方有朋友說沒有找到,可能是胖果林后面更新了,把這里改了,那就不用管了)
//GLX_SAMPLE_BUFFERS , glx_sample_buffers,//GLX_SAMPLES , glx_sample_buffers > 0 ? glx_samples : 0,終端里輸入
mkdir buildcd buildcmake -DCPP11_NO_BOOST=1 ..make -j (建議不要使用make -j,使用make。如果用make -j是使用多處理器編譯,可能造成死機)(5)安裝OpenCV安裝依賴: a、編譯器相關:
sudo apt-get install build-essentialb、必須依賴:
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-devlibavformat-dev libswscale-devc、可選安裝:
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev安裝OpenCV: a、官網下載OpenCV 2.4.11 for linux下載地址,解壓到Ubuntu中b、進入OpenCV文件夾,配置工程
mkdir releasecd releasecmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..c、編譯
makesudo make install(6)安裝Eigen 下載Eigen下載地址,進入到在解壓后的Eigen文件夾(例如eigen-eigen-07105f7124f9)下
mkdir buildcd buildcmake ..makesudo make install(7)安裝BLAS and LAPACK庫
sudo apt-get install libblas-devsudo apt-get install liblapack-dev3.安裝ORB_SLAM: (1)Clone the repository:
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2(2)編譯:
cd ORB_SLAM2chmod +x build.sh修改./build.sh,可以安裝vim
sudo apt-get install vimvim ./build.sh 修改最后一行,改為make
./build.sh4.測試ORB_SLAM2
??這里下載了一個單目相機的測試數據集進行測試。
(1)下載測試數據集
??Download a sequence from http://vision.in.tum.de/data/datasets/rgbd-dataset/download and uncompress it.
(2)執行命令:
??Execute the following command. Change TUMX.yaml to TUM1.yaml,TUM2.yaml or TUM3.yaml for freiburg1, freiburg2 and freiburg3 sequences respectively. Change PATH_TO_SEQUENCE_FOLDERto the uncompressed sequence folder.
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUMX.yaml PATH_TO_SEQUENCE_FOLDER??出結果就OK了,以后會對ORB-SLAM的算法進行一些研究記錄,敬請期待。
引用
[1] Raúl Mur-Artal, J. M. M. Montiel and Juan D. Tardós. ORB-SLAM: A Versatile and Accurate Monocular SLAM System. IEEE Transactions on Robotics, vol. 31, no. 5, pp. 1147-1163, 2015. (2015 IEEE Transactions on Robotics Best Paper Award). PDF.
新聞熱點
疑難解答