卡尔曼滤波
更通用的,一个变量(状态)的卡尔曼滤波
就是利用历史数据(根据状态转移方法)预测新数据,并且根据当前观测的新数据值,和其不确定性,综合修正预测的数据。
干了这么
如果有两个系统对一个数据(高度,位置或者其他的)都有测量或者说是观测,但是都不准。那如何通过这两个不准的东西得到一个更准的结果。
更简单的说法:怎么去求两个数据的加权平均
如何通俗并尽可能详细地解释卡尔曼滤波? - Kent Zeng的回答 - 知乎 https://www.zhihu.com/question/23971601/answer/26254459
翻译理解
接下来按照
https://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/
一文简单翻译理解一下 这是一个多变量 运动定位系统
what is it ?
你有一个不准确但是可以观测的,连续变化的系统。此外,你还能对着干观测值进行一些科学的推论。但是也不准。通过卡尔曼滤波(合理的对不准确的推理和不准确的观测结果加权),可以得到一个更准确的当前值的结果。
what can we do with a Kalman filter
假设你有一个小机器人,这个机器人在森林里行走,需要定位。
这个小机器人有一个状态,这个状态包括了当前位置和当前速度。这个速度是某种码表里可以读出来的。此外,这个机器人还有一个GPS定位,表明了当前的位置。不管是GPS还是速度都是不太准的的。怎么得到更准确的当前位置呢?
how a Kalman filter sees your problem
我们有两个连续变化的数据(假设都服从高斯分布),位置和速度,虽然这些都不准,方差衡量了不同变量各自的不确定性,协方差衡量了他们之间的关系。
Describe the problem with martics
我们可以得到,当前状态的(速度和位置)的均值,然后和这两个变量之间的斜方差矩阵
下一步,我们可以通过p = p + vt 得到下一次的位置,速度预测。这步就是科学推倒得到的合理的预测。同时更新均值和其斜方差。
此外,考虑再复杂一些,我们加入外力(加速度)和不确定性。
最终影响下一次状态的均值的是,当前状态以及外力,影响下一次斜方差的是当前斜方差,不确定噪音。
Refining the estimate with measures
我们可以通过直接读数,得到一个位置速度分布的概率。我们还可以通过科学推倒得到一个速度位置分布的概率。那将这两个概率相乘归一化,就是更准的概率了。
putting it all together
新的位置等于 根据老位置预测出来的新位置,以及新位置读数的加权。加权值由推倒公式,读数概率等原始数据共同决定。