关闭
理论原理

移动机器人技术漫谈(十一):SLAM与导航技术

SLAM的是“同时定位和建图”的英文简称。通俗来讲,就是当你到了一个陌生的环境,如何确定自己的位置,以及描绘出周围环境的地图。

admin

admin

发布于 2022-10-11 阅读:1443

       SLAM的是“同时定位和建图”的英文简称,通俗来讲,就是当你到了一个陌生的环境,如何确定自己的位置,以及描绘出周围环境的地图。机器人需要以刚开始的位置为基准,记录参照物的位置,在不断走动的过程中,根据参照物对自己的位置进行修正,再不断修正和添加参照物,完成地图绘制。用流程化的方式描述就是,首先需要进行位置预测,再观测周围的参照物,利用参照物的约束进行位置修正,并更新对应的地图。

       一个典型的SLAM模型包括四大类状态,包括机器人位姿x,运动指令u,地图m和观测z。其中运动指令和观测是已知的,机器人位姿和地图是未知的。

图片3.png

  • SLAM技术的分类

       SLAM算法可以分为两类,即粒子滤波算法和图优化算法。

     (1)粒子滤波算法:粒子滤波算法是以粒子的形态去模拟实际分布,一方面解决非线性的问题,另一方面每一个粒子都可以保留一份对应的地图,以实现一定程度的回环。粒子滤波的SLAM方案在小地图上效果较好,因为运行距离不远,发散程度较小,“回环”的概率较大。但对于大一些的场景,会由于回环前的位姿漂移太大导致无法闭合。

     (2)图优化算法:面对基于滤波的方法的种种问题,目前我们使用更多的还是基于图优化的方案。在这个方案中,机器人位姿和局部地图这两类状态都转化为节点,运动估计和观测估计转化为节点之间的边,最终用图优化对整张图进行迭代优化。目前在求解的过程中,大多使用的方案是将位姿与地图的约束转化为位姿与位姿的约束,大大简化图的结构,便于优化求解。另一方面,图优化因为整个过程中的约束被全部保存下来,而不像滤波那样丢弃较早的状态,所以回环的能力很强。

  • SLAM的地图类型

       移动机器人SLAM中常用的地图包括栅格地图和点云地图。

     (1)栅格地图:栅格地图是结构化且有序的,能够直接使用位置索引查询该位置状态,但栅格地图对场景进行密集的切分,但内存占用较大。

图片2.png

     (2)点云地图:点云是一系列点的集合,使用不用方法得到的点云有不同的数据结构,根据激光测量原理得到的点云包含三维坐标和激光反射强度数据;根据视觉测量得到的点云数据包含三维坐标和颜色数据。根据点的稀疏程度不同,可以分为稀疏点云地图和稠密点云地图,稀疏地图主要用于机器人定位,稠密地图经过转换后可以导航,比较常用的转换方法是八叉树地图。

  • 导航技术

       在移动机器人完成环境建图和自身定位以后,就可基于环境地图、初始位姿和目标位姿进行导航。导航就是移动机器人从起始点A运动至目标点B的过程,在这一过程中,移动机器人需要根据目标位置计算全局运动路线,并且在运动过程中,还需要实时根据出现的一些动态障碍物调整运动路线,直至到达目标点,该过程就称之为路径规划。常用的路径规划算法包括:Dijkstra算法、A*、D*算法、Floyd算法等。

20170418085448111 (1).gif

       路径规划分为全局路径规划和局部路径规划。全局路径规划侧重于全局、静态、宏观实现,而局部路径规划侧重于当前、动态、微观实现。比如,机器人在运行中,可能会随时出现一定的障碍物,局部规划的作用就是使用一定算法来实现障碍物的规避,并选取当前最优路径以尽量符合全局最优路径。

admin
admin

他很懒,什么都没有留下~