状态估计与滤波

递归贝叶斯估计

递归贝叶斯估计,是让机器人的信念随时间不断保持最新的总配方。「贝叶斯」指它遵循一条简单的推理规则:从你已经相信的东西出发,再按照新证据吻合得有多好,成比例地加以修正。「递归」则指它在一个循环里一遍又一遍地这么做,而最妙的地方在于——每一轮只需要上一轮的结果,而不需要曾经发生过的整段历史。机器人从不必把自己的过去重新嚼一遍;它只是把一份滚动的总结,也就是当前的信念,一路带着走、不停地刷新。

每个循环有两拍。第一拍,机器人做预测:它拿出旧的信念,用它对自身运动的了解把信念向前推——「我命令轮子往前滚,那我的信念也该跟着往前挪」。由于运动从来都不精确,这一步总会把信念抹开一点,让机器人变得更不确定。第二拍,机器人做纠正:一个新鲜的传感器读数进来,机器人就把信念往测量所指的方向拉,重新收紧。预测放松,测量收紧;信念随着每一步,一呼一吸地起伏。

机器人领域里几乎所有出名的估计器——卡尔曼滤波器、粒子滤波器,以及它们众多的亲戚——不过是把同一个抽象循环具体落地的不同方式罢了。它们的差别只在于怎么存放信念、怎么算那套数学,而非底层逻辑。一旦抓住了递归贝叶斯估计「先预测、后纠正」的节奏,你就握住了打开这一整个家族的万能钥匙。

一台扫地机器人钻到沙发底下乱撞,那里摄像头什么都看不见。没有测量可用,它就只能一直跑预测那一步,于是它对自身位置的信念越变越宽。等它一滚回到能看见某面已知墙壁的地方,一次好的测量立刻把信念重新收紧——这就是递归在干活。

没有测量时信念每一步都在变宽;一次好的读数立刻把它重新收尖。

正是这个递归的窍门,让实时估计成为可能:一个连跑几小时的机器人,永远不会攒下越堆越大、需要重新处理的旧数据——无论运行多久,它始终只从一份大小固定的信念出发干活。

又称
Bayes filterrecursive Bayes filter贝叶斯滤波贝叶斯滤波器