SLAM作为机器人自主定位导航的重要突破口正不断引起业内重视,它是实现机器人自主行走的关键技术,可帮助机器人实现即时定位与地图构建,在实际应用中,SLAM技术究竟又是如何实现的呢?一起来探个究竟。
在这一技术实现过程中主要包含预处理、匹配及地图融合三大步骤:
预处理
预处理是对激光雷达原始数据进行优化,剔除一些有问题的数据,或进行滤波。我们都知道机器人想要完成定位及建图,需要搭配激光雷达来实现,激光雷达可获取它所在位置的环境信息,也就是我们通常说的点云,但它只能反映机器人所在环境中的一个部分。
匹配
匹配是一个非常关键的步骤,是指将当前一局部环境的点云数据在已建立的地图上寻找到对应的位置。说其关键是因为它直接影响了SLAM地图构建的精度,这与拼图游戏有点类似,就是在已拼好的画面中找到相似之处,确定新的一个拼图该放在哪里。而在SLAM过程中,需要将激光雷达采集到的点云匹配拼接到原有的地图中,如下图的红色部分:
如果未进行匹配,所构建的地图便会很混乱,就像下图这样:
地图融合
在匹配这一步骤完成后便可直接进入地图融合了,地图融合就是将来自激光雷达的新数据拼接到原始地图当中,并最终完成地图的更新。如下图,该过程是永远伴随着SLAM过程的。
当然,在实际应用过程中,传感器所描绘的世界与实际情况会有所误差,机器人所在环境很容易出现变化,例如突然走进一个人或闯入一只小猫。面对复杂的应用环境,需要用到很多概率算法,并采用滤波的方式进行融合,将以上过程依次执行后,最终就产生了我们所看到的栅格地图。
栅格地图就是把环境划分成一系列栅格,其中每一栅格给定一个可能值,表示该栅格被占据的概率。这种地图看起来和人们所认知的地图没什么区别,它最早由 NASA 的 Alberto Elfes 在 1989 年提出,在火星探测车上就用到过,其本质是一张位图图片,但其中每个「像素」则表示了实际环境中存在障碍物的概率分布。
审核编辑 黄昊宇
全部0条评论
快来发表一下你的评论吧 !