最近因項目需要想構造一下實驗環境的3D地圖,看了一下有一套v2的開源代碼,開開心心的運行起來吧!
首先,下載自己的ROS版本對應的github源碼
git clone https://github.com/felixendres/rgbdslam_v2.git
因爲RGBD-slam編譯的過程中可能會遇到很多問題,不建議和其他的catkin_ws放在一起,建議新建一個ws文件夾用來編譯
source /opt/ros/indigo/setup.bash
mkdir -p ~/rgbdslam_catkin_ws/src
cd ~/rgbdslam_catkin_ws/src
catkin_init_workspace
cd ~/rgbdslam_catkin_ws/
catkin_make
source devel/setup.bash
編譯的過程中可能會出現三個報錯問題:
Scanning dependencies of target rgbdslam
/usr/bin/ld: cannot find -lGLEW
/usr/bin/ld: cannot find -lglut
/usr/bin/ld: cannot find -lIL
collect2: error: ld returned 1 exit status
make[3]: *** [siftgpu] Error 1
這時候需要安裝相應的庫:
sudo apt-get install libglew-dev ros-indigo-qglv-toolkit freeglut3-dev libdevil1c2 libdevil-dev
無錯編譯好之後可以運行起來看看效果:
roslaunch rgbdslam rgbdslam.launch
或roslaunch rgbdslam openni+rgbdslam.launch
上面兩個的區別是是否單獨運行openni_launch
貼一張運行的界面圖
附上一個RGBD-SLAM很好用的數據集和我的RGBD-SLAM運行結果。
數據集:
http://vision.in.tum.de/data/datasets/rgbd-dataset
運行效果:
http://v.youku.com/v_show/id_XMTc3MTcwMDAxNg==.html#paction