PL-SLAM 配置和测试

心情就像最近北京的天气一样,乌云密布,还时不时一阵瓢泼大雨。

PL-SLAM是基于ORB-SLAM2框架和LSD(Line segment Detector)来做的SLAM,主要是结合点线特征,提高SLAM在环境中运行的可靠性。基本框架与ORB-SLAM2一致,好似并行地添加了点和线的特征。最近看了几篇用线特征做SLAM 的paper,不少人用LSD去提取线特征,正好在官网上也开源,就直接拿来测试了一下:

PL-SLAM 配置和测试_第1张图片                   PL-SLAM 配置和测试_第2张图片

左图是输出结果,右图是原图,输入只接受pgm的图像,其实感觉效果也不好,我主要是希望能够在特征点检测不好的地方给出一种稳定的特征,但是图像的右上半区域却没有什么特征,当然也可能是彩色图像转成pgm时出了点问题,导致那一片区域比较黑,做个直方图均衡或许会好些。

另一种在github上开源的LSD,我也测试了一下,不太知道两者之间的区别,编译通过后在build/bin目录下运行 ./可执行文件 就好,后面接上图片名字。

./lsd_opencv_example ../../images/test.jpg

PL-SLAM 配置和测试_第3张图片                 PL-SLAM 配置和测试_第4张图片

这种方法可以直接输入rgb图像,而且感觉效果稍好一些?

题外话好像说多了点,还是回到PL-SLAM吧。

软硬件配置

CPU:Intel® Core™ i7-7700 CPU @ 3.60GHz × 8 

内存:16G

系统版本:Ubuntu16.04 LTS 64位

安装过程主要还是参考github主页作者给出的过程,下面主要说自己配置时的重点。

MRPT和stvo-pl都需要安装,其中MRPT需要安装指定版本的,主页也说了更高的版本可能存在编译不通过的未知bug。下载之后,用cmake-gui指定一下编译路径,或者mkdir build & cd build & cmake .. 也行,如果cmake ..存在不通过的情况,可能需要利用ccmake ..来指定一些依赖库的路径。我在编译MRPT时遇到的问题就是没有安装liblas-c.dev,也是在原作者的帮助下知道的,make的时候发现这个问题,

/usr/bin/ld: cannot find -llas_c

其实这类问题都是某种.dev文件没有安装,类似于上面这个就是liblas-c.dev没有安装。之后就没有问题了。

stvo-pl也是PL-SLAM 同作者的工作,安装stvo-pl基本没有什么问题,需要指定下MRPT的路径,ccmake ..后路径即为刚才MRPT下的build目录,也就是你make的路径。

最后的PL-SLAM遇到一些g2o的问题,首先先编译3rdparty里面的project,我将g2o也拷贝到这个目录下,编译通过,然后修改了CMakeLists.txt文件,其实也不知道自己修改的对不对,后面还遇到一个问题就是大家都遇到的问题:

PL-SLAM 配置和测试_第5张图片

最后就是编译通过了,原论文看了一遍,没有太深入理解其原理,后面应该要记录一下整体的过程。目前也还没有用数据集测试,因为KITTI数据集太大了,而且好像得科学上网才行.....

你可能感兴趣的:(ubuntu)