从贝叶斯角度理解卡尔曼滤波算法
学完卡尔曼滤波可以说你是地球上战斗力超强的人了,因为几乎所有带电的军事装备、航空航天装备都需要卡尔曼滤波算法。
直观理解
首先卡尔曼滤波要解决的问题是什么?以我军发射一枚导弹攻击敌方某固定位置目标为例(搞技术的总要有点情怀,老是讲啥小车运动,温度计这些就太low了)。导弹需要每隔一秒开雷达测下离目标的距离,由于雷达有误差,所以需要融合自己上个时刻的位置、速度等信息来更准确的确定当前时刻离目标的距离。这就是卡尔曼滤波需要解决的事。
直观理解卡尔曼滤波是怎么解决这个问题的呢?首先导弹已知“当前这秒雷达测量的导弹离目标的距离”(称之为观测值,比如雷达测量导弹离目标距离7m),“上个时刻导弹离目标的距离”和“导弹自己当前时刻的速度”可以估算出当前导弹离目标的距离(称之为粗略估计值)。如上一秒离目标10m,速度是4m/s,那么当前这秒估计就离目标距离是6m。这个速度数据可以从传感器里读取也可以从发动机那获得。
那么问题来了,导弹离目标的距离现在既有个观测值7m,又有个估计值6m。到底相信哪个?单纯相信观测值万一雷达被敌方干扰了呢?单纯相信估计值那么万一上个时刻的距离估计值或速度不准呢?所以&#x