最近因项目需要想构造一下实验环境的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