SLAM 初探

  1. 概念阐述


引用:(感谢!侵删)

https://www.cnblogs.com/zengcv/p/5994587.html

https://blog.csdn.net/qq_37427972/article/details/83033067

https://blog.csdn.net/donkey_1993/article/details/80781773 

https://www.cnblogs.com/21207-iHome/p/6322280.html

SLAM (simultaneous localization and mapping),也称为CML (Concurrent Mapping and Localization), 即时定位与地图构建,或并发建图与定位。

SLAM归根结底是一套系统,用来实现机器对环境的感知与重建,未来在移动机器人领域应该是必备的基础配件之一。

大致效果如下:

  • 框架结构

脑残图:

感知---->SLAM----->重建------>应用

分类:

SLAM 初探_第1张图片

  • 感知工具

(常见)激光雷达、相机、声纳、IMU。每个又能分多种。

激光雷达本身就是很好的测距、测速、定位的工具,在军事方面已经有着很大的、成熟的应用。

相机又分为单目、双目、多目(记得以前还有,现在都不提了,估计是双目足够用了,多目拼接问题也太复杂)和RGBD(D指的是Depth Map)

Depth Map:

在3D计算机图形中,Depth Map(深度图)是包含与视点的场景对象的表面的距离有关的信息的图像或图像通道。其中,Depth Map 类似于灰度图像,只是它的每个像素值是传感器距离物体的实际距离。通常RGB图像和Depth图像是配准的,因而像素点之间具有一对一的对应关系。

RGBD使用的特别的摄像头,这种摄像头除了输出RGB图像还能输出像素点的depth信息。如图:

SLAM 初探_第2张图片

其中结构光(Diffraction Optical Element )和飞行时间测距(Time of flight)是目前两种比较流行的方法。

  • 地图重建

在VSLAM中对图片数据粗细粒度的使用会得到不同的效果。先看大神做的效果演示:

           SLAM 初探_第3张图片 SLAM 初探_第4张图片 SLAM 初探_第5张图片

--------------------------->稀疏<----------------------------------->半稠密<----------------------------------->稠密<----------------------------------------

地图表示方法上大致分为栅格表示法、几何信息表示法和拓扑图表示法。

栅格表示法:将当前环境映射在一个栅格环境中,每个栅格大小相同,同时标记里面是否有障碍物。缺点当然很明显,那就是对于大型精细地图的更新维护问题。

几何表示法:从当前环境中提取线段曲线等几何信息用于构建环境,但该方法抗噪能力差,需要各种算法降噪,降噪效果直接影响了最终的效果,应该属于比较精细的地图了。

拓扑图表示法:在当前环境中建立和识别拓扑节点,利用拓扑图的方式建立地图,该方法放弃了精细地图的建立,追求对地图的整体布局的理解与构建,做路径规划比较方便。

回环检测问题

通俗来讲,就是让一个机器人从一个点开始,绕圈回到原点的过程。由于过程中误差存在的必然性以及误差累计,最后很大程度上无法回到原点,也就无法形成闭环,也就意味着在环境重建时无法形成完全接合的环境。在SLAM里时通过特征匹配来实现的,常用的词袋模型就是用来解决这个问题。

词袋模型

将当前场景的不同特征作为词放置在词典里,当要检测两个场景是否为同一场景是,则匹配两个场景的特征。可想而知,要达到一定的精度,词袋模型要有多大的规模了。

  • 小结

单从技术上看,SLAM在感知、处理、重建的三个步骤中都有很多门类的相关技术在里面,要想整个搞懂SLAM对我来说是不可能的,只能大致有个理解这样子。在应用上,每种表示方式都有着合适的方向,没有必要追求地图构建精细图的极致追求,在每个方向有个通用的一套系统就是SLAM的终点了吧。

三个研究方向:

       感知数据的获取方面,再来一种创新也未尝不可

       后端优化,预处理、降噪滤波无止境

       回环检测

主要还是集中在算法的创新和优化上

个人觉得SLAM有着很大的前景,尤其是未来AI+机器人的时代,希望各位大神能把这块根基打牢,跪舔。

你可能感兴趣的:(视觉定位,SLAM,自动驾驶)