RGBD slam V2实现遇到的问题

最近事务太多,鸭梨山大,加上能力欠佳,折腾了好久才把RGBD SLAM跑起来,刚从坑里爬出来,分享一些解决方法,亲测有效!

RGB-D SLAM

先简单介绍一下下,RGBD SLAM 将SLAM领域的图像特征、优化、闭环检测、点云、octomap等技术融为一体。

RGBD SLAM V2

设计最初是利用SIFT特征进行特征的提取,比较耗时,现在随着ORB等二值化特征的广泛应用,已经可以摆脱GPU的加速。

论文提出:

Endres et al, 3D Mapping with an RGB-D camera, TRO, 2014.

开源代码地址:

https://github.com/felixendres/rgbdslam_v2

下面也该进入正题了,

一起来看看这些小坑

1

编译的过程中可能会出现几个报错:

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

2

成功编译后找不到launch文件,一度以为还没装上rgbdslam v2

注意在运行 roslaunch rgbdslam rgbdslam.launch之前必须source(或者在./bashrc文件中进行设置)

$ source devel/setup.bash

3

ubuntu16.04下,安装完成后,成功编译,但是运行报错“required process[rgbdslam-2] has died”......Iinitiating down,似乎是rgbdslam都没有启动:

https://hubpages.com/technology/Instructions-for-compiling-rgbdslam-v2-on-a-fresh-Ubuntu-1604-install-ros-kinetic-in-virtualbox

Ps.主要是由于rgbdslam依赖库g2o和pcl不兼容引起,下面的网址给出了解决bug的方法,超好用!

https://blog.csdn.net/zhuoyueljl/article/details/78536996?reload

Ps.其中,

“https://github.com/PointCloudLibrary/pcl/archive/pcl-1.8.0.tar.gz”,

可以换别的下载,安装好PCL1.8.0即可。(注意,改CmakeList.txt的时候要和对应好位置,就因为放错位置,我可是在这吃了点苦头)

4

4、记得在launch文件把Kinect或者数据集的话题对应好,先 $ rostopic list 看一下话题名称。

5

5、编译的时候找不到“cv_bridge”、“PCL”等等的问题(T T)

重装PCL期间不小心卸了ROS kinetic自带的OpenCV3,包括里面的cv_bridge库等,freenect整个包也不知道去哪了。。。(T T)

这种时候还是谷歌靠谱,按照这个重装了OpenCV和一些库(kinetic)

https://answers.ros.org/question/262329/how-to-install-cv_bridge/

$ sudo apt-get install ros-(ROS version name)-cv-bridge

$ sudo apt-get install ros-(ROS version name)-vision-opencv

然后重装Kinect驱动(依然是创客制造)

Ps.感觉这个可能会有用,分享一下~

ubuntu系统下ros系统问题的解决方法示例:

https://blog.csdn.net/Groot_Lee/article/details/79202507

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181103G1MAYT00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券