安裝ORB_SLAM2
1.安裝C++11編譯器:$sudo apt-get install gcc g++
2.安裝Pangolin:
$ git clone https://github.com/stevenlovegrove/Pangolin.git
$?cd?Pangolin
$?mkdir?build
$?cd?build
$?cmake?-DCPP11_NO_BOOST=1?..
$?make
$?sudo?make?install
3.安裝OpenCV:我的opencv是2.4.9,只要是2.4.3以上就行,網(wǎng)上有很多安裝方法,這里就不說了。
4.安裝Eigen3,BLAS 和LAPACK:
$ sudo apt-get install libeigen3-dev
$ sudo apt-get install libblas-dev
$?sudo?apt-get?install?liblapack-dev
5.DBoW2 和 g2o都在ORB_SLAM2的Thirdparty文件夾中,所以直接安裝ORB_SLAM2就行了,安裝方法:
$ git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
$ cd ORB_SLAM2
$ chmod +x build.sh
$ ./build.sh
以上,ORB_SLAM2就安裝完了,很簡單。
運行ORB_SLAM2
拿Monoslam運行TUM數(shù)據(jù)集為例:
1.到 http://vision.in.tum.de/data/datasets/rgbd-dataset/download下載任意一個數(shù)據(jù)集并解壓
2.運行:$ ./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUMX.yaml PATH_TO_SEQUENCE_FOLDER
注意把命令行中的Examples/Monocular/TUMX.yaml 變成你下載的數(shù)據(jù)集相對應(yīng)的文件,如果你下載的是freiburg1,那么就使用TUM1.yaml文件。這些yaml文件中是一些相機的參數(shù)等信息。PATH_TO_SEQUENCE_FOLDER是你下載下來的數(shù)據(jù)的路徑。
下面RGBD,Stereo等也都與此運行方法相同,github上有詳細說明 https://github.com/raulmur/ORB_SLAM2?
基于ROS的實時ORB_SLAM2
1.安裝好ROS操作系統(tǒng),方法不在此詳述
2.啟動ROS:$ roscore
3.將ORB_SLAM2的ROS包編譯:
$ export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:PATH/ORB_SLAM2/Examples/ROS
注意:PATH是你自己的安裝路徑
$ chmod +x build_ros.sh
$ ./build_ros.sh
4.將Kinect連接到電腦上,輸入指令:$ roslaunch freenect_launch freenect.launch
此時Kinect開始發(fā)射圖像的topic了。
5.源代碼上使用的topic是/camera/image_raw,然而我$ rostopic list 之后根本就沒有這個topic,所以我直接去ORB_SLAM2/Examples/ROS/ORB_SLAM2/src/ros_mono.cc中將topic改為/camera/rgb/image_color就可以了
6.運行:$ rosrun ORB_SLAM2 Mono PATH_TO_VOCABULARY PATH_TO_SETTINGS_FILE
其中PATH_TO_VOCABULARY是詞典的路徑,一般為 Vocabulary/ORBvoc.txt
PATH_TO_SETTINGS_FILE是記錄攝像頭參數(shù)的文件,比如之前用到的TUM1.yaml。我用的是Kinect,參數(shù)都差不多所以我就使用的TUM1.yaml。
我使用的命令是:$ rosrun ORB_SLAM2 Mono Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml
這樣就可以實時單目slam了,愉快的ORB SLAM把。
好了,csdn實在是太惡心了,登錄需要手機驗證,點擊發(fā)送驗證又說IP達到驗證上限,然而手機并沒有收到任何短信,太惡心了!
于是,轉(zhuǎn)戰(zhàn)簡書,用著挺簡單的,作為新手覺得比csdn用著舒服。