状态估计与滤波

预测与更新步骤

几乎每一种滤波器,都靠两步交替的「心跳」运转,而一旦你看清这个节奏,就看懂了整台机器。第一步是预测:在任何新的传感器数据到来之前,机器人根据自己刚刚做过的事,猜出它此刻必定在哪。「我让轮子往前滚了十分之一秒,那我对自己位置的信念,也该往前滑差不多那么远。」这一步用的是运动模型——机器人内心那套「指令如何变成移动」的说法。要紧的是,由于没有哪次运动是完美的,预测总会让机器人稍稍变得没那么确定:信念一边向前滑,一边铺开,就像一滴落在纸上的墨点不断洇宽。

第二步是更新,也叫校正。这时一个新鲜的测量到来,机器人就问:这个读数和我刚才预测的,吻合得有多好?它把实际的传感器值,与它的预测所预期的值相比较,再用两者之间的差距,把信念往真相那边拉。一个恰好落在预期之处的测量,几乎挪不动什么;一个出人意料的测量,则会狠狠地拽动信念。无论哪种,更新都会让信念变尖——它在预测时铺开,在更新时收紧,随着每个循环,一会儿变宽、一会儿变窄地呼吸着。

这种拆分之所以如此有力,是因为它干净利落地分开了两种不同的「知道」。预测,是机器人从自己的动作里知道的;更新,是机器人从外部世界学来的。把它们当作两个分明的步骤,机器人就能在传感器短暂失声时——穿过隧道、钻到沙发底下、落进摄像头的盲区——单靠预测一路滑行,再在真实测量一回来的那一刻,猛地收回到确定。

一个机器人预测「往前滚之后,我应该在 2.0 米处,上下差个 0.3 米」。接着它的激光扫描仪测到一面墙,那个距离意味着它其实在 2.15 米处。更新把两者一掺,把信念落在 2.1 米附近,不确定性缩到大约 0.1 米——预测把它放松,测量把它收紧。

预测把信念向前推、并使其变宽;更新把它拉向测量、并使其变尖。

一个好记的口诀:预测放松,更新收紧。预测总会让不确定性变大(运动不完美);一个好的测量总会让它变小(世界刚给了你一条线索)。一台只会预测、从不更新的滤波器,最终会漂进一片彻底的迷雾。

又称
predict and correcttime update and measurement update预测与校正时间更新与测量更新