概率机器人——观测模型

观测模型是贝叶斯滤波框架中第二个重要模型,描述了我们根据运动模型预计的机器人状态与观测结果的一种匹配程度,并以此来校正机器人状态。

概率机器人——观测模型_第1张图片

观测模型的完整定义形式应该是  ,其中  表示环境地图,毕竟就是在观测地图嘛。在移动机器人中,我们常用的传感器是测距传感器,包括了超声波和激光。无论是哪一种传感器都不可避免得存在噪声,观测模型就是希望能够将传感器的各类噪声定量描述出来。

波束模型

波束模型中将测量误差分为以下四类:

概率机器人——观测模型_第2张图片

1、障碍物返回的噪声。

这种噪声是最常见的,也是最好理解的,就是围绕在真值附近的一个近似的高斯噪声。该噪声受到传感器本身分辨率等特性以及环境状况的影响。

概率机器人——观测模型_第3张图片

2、意外对象。

该测量指的是在静态环境中短时间出现的动态障碍物,例如活动的人等。例如,根据地图障碍物距离传感器5米,但中间出现了人,此时传感器读数便可能变为了3米。这种测量用指数分布来描述,指数分布描述了意外对象等概率地出现在传感器与障碍物之间的距离内。具体原因不在此讨论了,感兴趣的同学可以查看泊松分布和指数分布的概念。

概率机器人——观测模型_第4张图片

3、随机测量误差。

传感器有时会产生一些无法解释的错误测量。比如可能超声波受到了墙面的多次反射,或不同超声波间出现串扰。我们将其简单表示为一个均匀分布。

概率机器人——观测模型_第5张图片

4、检测失败。

有时传感器直接返回了测量的最大值,没有检测到障碍物的存在。例如超声波被墙面反射而没有回波,激光穿透玻璃或呗吸收等。我们以最大值附近很窄的一个均匀分布表示。

概率机器人——观测模型_第6张图片

 

因此传感器的测量信息的分布就是以上四种测量的加权和:

概率机器人——观测模型_第7张图片

现在我们便可以来看波束模型的中  的计算:

概率机器人——观测模型_第8张图片

其中  是机器人上的传感器数量,测量的理论准确值  根据机器人当前位置与已知地图计算得到。

对于波束模型中几个参数的设定,书中也有比较详细的讲解,基本就是按照极大似然估计确定,通过计算四种测量的概率占比来确定其比例系数。在此不再详细解读,因为这个模型问题很多,非常不实用。而且该参数的具体数值是与机器人的具体工作环境相关的。

该模型的问题,首先是缺少光滑性。举个例子,激光传感器打在了椅子腿上,但机器人位置的稍微变化就可能使得激光不再打在椅子腿上。也就是机器人状态的较小变动就可能引起测量值很大的变化。这明显会增大我们计算后验状态的误差。

另外,为了简化加快该算法的计算,我们需要把各种不同  下的分布计算保存下来,运行时采用查表的方式,那么我们保存下图这样一个三维栅格,一看就超麻烦,要知道不同的  还要计算出不同的参数。

概率机器人——观测模型_第9张图片

波束模型虽然不好用,但是比较直接,对观测模型具有比较好的物理解释,对传感器不同的噪声也有一个比较详细的描述。

似然域模型

在似然域模型中,我们换了一种思路,我们不再考虑传感器整条射线上发生什么,而只考虑其终点。

首先要将传感器探测到的障碍点映射到已知地图上:

其中  是机器人位姿状态,  表示安装的传感器的局部坐标位置,  表示传感器波束相对于机器人航向角的偏角。当然该过程中要求传感器确实探测到了障碍物,也就是测量值不能是最大值,所以我们将最大值的测量结果舍弃。

我们先假设传感器只有测量误差,并对该误差用高斯噪声表示。在我们计算得到传感器数据对应的障碍点  后,在地图上寻找距离该点最近的障碍物,用  表示点 距离该最近障碍物的距离,因此传感器的测量概率可以用均值为0的高斯函数表示:

如下图所示,红点为计算得到的障碍点,在该地图中找到对应的最近的障碍物,计算其测量概率。

概率机器人——观测模型_第10张图片

也就是说我们只考虑了传感器给出的位置点,并判断该位置为障碍物的概率大小。对于上图中的每个点测量为障碍物的概率如下图所示,越亮的地方检测为障碍物的概率越大。该图便称为似然域

概率机器人——观测模型_第11张图片

对于图中虚线上,我们可以得到此时的传感器的测量概率分布:

概率机器人——观测模型_第12张图片

当然我们也可以加入检测失败和随机测量误差:

概率机器人——观测模型_第13张图片

现在我们来看似然域模型的具体算法:

概率机器人——观测模型_第14张图片

第三行:遍历了机器人携带的  个传感器

第四行:对于不是最大读数的传感器数据

第五行,第六行:计算传感器数据对应的坐标点

第七行:寻找最近的障碍物对应的距离dist

第八行:高斯分布与均匀分布混合计算概率

该算法中的第七行,寻找最近障碍物是最耗时的,当然也可以将似然域预先计算好,搜索时直接查表即可。总得来说该算法较为简单,计算速度也相对较快。同时似然域模型的光滑性较好,位姿的微小改变对计算结果影响较小。

当然似然域模型中也存在一些问题,首先显然没有考虑到动态障碍物。在传感器数据计算障碍点时没有考虑到传感器不能“穿墙”等。似然域模型也没有考虑地图的不确定性,当然这一点可以通过在地图标记未探测的不确定区域来解决。

基于相关性测量模型

概率机器人——观测模型_第15张图片

该模型是用传感器数据建立的局部地图与已知全局地图进行匹配,从两地图的相似程度的角度进行计算  ,两地图之间用相关系数衡量:

 

本书中很多内容过于理论化,可以在学习后结合实际代码会理解得更加清楚,等我学习了来整理下实际代码相关的


参考文献:

Thrun S. Probabilistic robotics[M]. MIT Press, 2006.

你可能感兴趣的:(概率机器人)