状态估计与滤波
卡尔曼增益
卡尔曼增益是一个数(其实是一小组数),它在滤波器的每一步都回答同一个问题:当我的预测与新来的测量不一致时,我该多大程度上相信这个测量?设想你猜朋友会在 3:00 到,随后一条短信说火车晚点了。卡尔曼增益就是那个旋钮,它决定把你的猜测往短信说的方向滑动多远。把旋钮拧到最大,你就彻底丢掉预测、完全相信测量;拧到最小,你就无视测量、坚持原来的预测。
决定这个旋钮位置的,是两者的相对不确定性。如果你的预测很不稳,而传感器又准又可靠,那增益就大,于是修正会大幅倒向测量;如果传感器噪声很大,而你的预测很扎实,那增益就小,于是你几乎不动。滤波器会根据它在预测中带有多少“散布”(不确定性),与它预期传感器有多少噪声,自动算出这种平衡;而且随着这些不确定性的变化,它每一步都会重新计算增益。
增益身兼两职:它既告诉滤波器要把估计往测量方向推多少,也告诉滤波器这一推应当把不确定性缩小多少。一个你非常信任的测量,既会强烈地拉动估计,也会让滤波器在事后变得自信得多。正是这一小段算术,让机器人能把源源不断、各有瑕疵的读数,融合成一个胜过任何单一来源的估计。
一架无人机预测自己处在 10.0 米高度(一个模糊的猜测),而气压计读数为 10.6 米(一个相当可信的读数)。在增益为 0.7 时,滤波器会落定在约 10.42 米——朝测量方向走了大半,但没有走到底。
高增益把估计拉到测量值的大半路程;若是低增益,估计就会停留在预测附近。
增益不是某个固定不变的设定值——随着滤波器对自身预测和对传感器的信心发生变化,它会逐步自行升高或降低。
又称
另见