2010 A real-time robust global localization for autonomous mobile robots in large environments
Jianping Xie et al. “A real-time robust global localization for autonomous mobile robots in large environments” International Conference on Control, Automation, Robotics and Vision (2010).
摘要:全局定位的目的是再学习的地图上估计机器人的位姿,而不需要任何关于其初始位姿的先验知识,实现高精度的全局定位仍然是自主移动机器人面临的挑战,尤其是在大规模非结构化的场景中。本文介绍了一种仅使用激光雷达传感器就能解决实时可靠的全局定位的方法,并且还具有机器人被挟持的问题,本文的方法包括四个步骤:1)局部SLAM;2)地图匹配;3)位姿跟踪;4)定位质量评估。对于传感器感知,我们采用占用栅格法来表示机器人环境。为了提高定位精度,提出了一种基于金字塔网格地图由粗到细的匹配方法,给出了25000平室外环境下的实验结果,验证了该方法的可行性和可靠性
Local SLAM
Local SLAM 模块的得到未知环境的地图M和机器人的位姿,联合后验概率:
Motion Prediction 运动预测
在系统更新率较高的情况下,机器人两帧之间的相对运动不会很大,假设相邻时刻的位移相同(恒速模型)
Perception Representation感知表示
用占据栅格表示机器人环境地图,每个栅格用[0,1]表示被占据的概率,对于每一个栅格m,采用贝叶斯滤波更新其后验概率
迭代更新:
Scan Matching 求位姿
scan-to-map来求解位姿,最大似然估计
根据求解出来的位姿 和地图 来更新
Further Pose Refining 精细化位姿
构建由粗到细的栅格地图金字塔,使得候选位姿空间不断变小,即不断准确(不同分辨率地图的构建)
上一步的结果作为下一步的初值
迭代结束条件为:上一层的位姿误差比下一层的小
Map Matching
参考地图是提前建立好的,要做的是如何在全局参考地图中进行初始化位姿确定?
启动Local SLAM一段时间后会得到Local map,将local map和reference map进行匹配
匹配步骤:
-
将local map 间隔4°旋转得到一系列的local map,并且每一个local map 包含n个小的栅格 -
对参考全局地图沿着X,Y轴方向生成与local map大小相同的submap,每一个submap包含s个栅格 -
地图匹配首先在低分辨率下进行,每一个local map的栅格与submap的栅格进行遍历匹配,直到寻找到最优匹配, -
找到粗位姿以后,放大到更高的分辨率级别,并围绕先前恢复的初始姿势执行广泛的搜索 -
在粗位姿附近生成候选位姿空间 -
在候选位姿空间的每一个位姿上生成local map -
在经行map match
-
Position Tracking
scan-to-global map 来进行跟踪
Localization Quality Evaluation
所谓劫持就是载体被意外移动到另外一个地方,在移动过程中位姿更新有可能被破坏,导致不准或者跑飞,所以在劫持状态结束后,要能够自己判断出来并恢复正常导航模式。所以分为两步走:
-
判断是否属于劫持状态 -
初始化位姿
作者在程序中做了一个持续的位姿质量评测,具体的办法就是把当前帧点云按照当前位姿做一个转换,然后把转换后的点投影到地图中去,如果点投影到了被占据的栅格,那这个点倾向于认为位姿是正确的,如果投影倒了空的栅格,那这个点倾向于认为位姿是错的,最终对所有点做一个统计,得到一个指标,则可以此作为定量判断的依据去判断位姿是否正确。
Q问题: 在激光点云很密集的场景这样做是不是不太行
EXPERIMENTS EVALUATION
做了一个初始位置识别的实验,起始点构建local map与全局地图匹配
场景中定位实验
本文由 mdnice 多平台发布