实际应用中,传感器的输出数据总是包含着一定的噪声,直接依靠传感器的量测数据会导致系统误差较大。例如,GPS的海拔输出数据,即使车辆停止不动,其每次读出的数据均会有所不同。又如,用称去称取某个物品的重量,很难获得两次测量的结果完全相同。
对于上述问题,一种普遍的思路是,既然,每次称取的结果不同,那么索性多称几次,取几次的平均值。或者,多花点钱换个更好的,精度更高的称。但是,如果传感器噪声特别大,环境具有很强的干扰时,该怎么解决呢?设想,采用某种技术手段去跟踪一架飞行器。
针对上述问题,一系列的基于贝叶斯概率理论的算法被研究出来,用于解决上述问题。简单来讲,贝叶斯概率根据过去的信息来估计当前时刻的可能结果。
如果,我问你我们车子当前的朝向是什么?你可能会不知所措,只能从1到360度之间挑选一个,你能猜对的概率是360分之一。假如,我告诉你2秒钟之前车子的朝向是243度。一般来讲,2秒钟之内,车子不会转动太大的角度,那么,这次你的猜测值会较为准确。后面的例子里,你根据过去的信息,推测当前时刻或未来时刻的状态,通常,估计结果会较为准确。
贝叶斯理论估计虽然可以帮助你更准确的进行估计,但是,其精度仍然会收到噪声的干扰。比如,开车的时候,我可能为了躲开一只狗或一个深坑而改变车的朝向。或者,今天的风格外的大,路面有冰,都会影响到车子的路径。在控制理论相关文献中,这些也被称为噪声。
贝叶斯概率理论博大精深,在这里,你只需要记住这样一个中心思想,知识总是充满了不确定性,我们应该根据实际中佐证的强弱来改变自己对事物的看法。卡尔曼和贝叶斯滤波器规避了我们对于系统在噪声环境下的行为的理解欠缺,帮助我们最大限度的提高对系统状态的估计。原则在于,永远不要丢弃信息。
例如,我们正在对一个运动物体进行跟踪,这时,传感器报告物体突然改变了方向。问题是,物体真的突然改变方向了吗?这个数据可靠吗?这应该视情况而定,如果物体是一架喷气式战斗机,则有理由相信这是真的。如果物体是一个在平缓轨道上行驶的火车,那么则可信度大大降低。我们需要根据传感器的精度进一步更正我们的结论。我们对于系统状态的判断取决于过去系统状态,以及,我们对于目标物体特征的理解和传感器的特性。