
卡尔曼滤波器(卡尔曼滤波器的本质)
在航天领域,卡尔曼滤波器是殿堂级的理论,应用无处不在!
在这篇文章中,作者试图尽可能通俗地解释卡尔曼滤波理论。
先来点背景音乐:我种下了一颗种子,最后它结出了果实。。
好吧,假设你去一个景点旅游的时候种了一棵果树,但是显然从幼苗到果实不是一两天就能完成的,需要慢慢生长。而且你不能经常去看,但是你想知道果树的高度。你该怎么办?
所以要解决的问题是:如何正确估计一棵果树的高度?
我们称果树的高度为我们想知道的待估计的状态变量。我们想一年知道一次,这叫步长。
种果树需要知道大概的高度,所以你考虑一下。大概1米左右吧,不太确定。可能是90cm,也可能是110cm。所以这个1m叫做你的初始状态估计,这个10cm的不确定性叫做状态估计的误差协方差矩阵,它会随着你下一次的估计而变化。
我该怎么办?
你在网上查了一下,这棵果树几乎每年都比上一年增长10%(纯假设)。这个增长规则/模型被称为状态转移矩阵。所以根据模型,如果2017年有1米,2018年大概是1.1米。
但显然,这个模型并不适用于任何一种果树以及你种植的实际日照和当地条件,你也清楚地知道果树不可能无限生长。所以我们的模型不可能100%准确。我们用一种叫做过程噪声的东西来衡量它。可以理解为模型递归的不准确。比如假设这个估计模型的误差是0.3m,这个误差叫做白噪声。过程噪音越小,你越相信增长模型是准确的,越大,模型越垃圾。
但是,还是不靠谱。关起门来猜测果树的高度并不总是准确的。这时候就需要找当地的朋友定期看看了。因为我向他们求助,所以我并不是真的想让他们爬上去拿尺子。把号码给我。这位朋友帮我看的身高是我们的实测值。
假设有朋友A和B,朋友A很认真。每次他都拿着尺子比较,告诉你用多少分米,比如大概1.8到1.9米。而朋友B也不认真,只是瞟了一眼,说大概1.5-2米。但是A有个缺点,懒,给你发一条短信要两年;b更勤奋,一年比一年。这个2年或1年的周期称为测量更新频率。我们需要他们提供尽可能多的数据,所以我们应该两者都采用。而这两个测量,一个来自尺子,一个来自眼力,我们可以同时使用不同的测量类型。太好了!
你显然认为A比B可靠,所以你认为A的精度是分米级,B的精度是半米级。这分米和半米称为它们的测量噪声。基于这种测量噪声,您可以构建一个测量噪声矩阵来测量参考中A和B观察值的权重。
所以现在你明白了,你需要一个果树生长模型,这样即使A和B不给我数据,我也能大概估算出明年这棵树的高度。但是不能只靠模型。比如果树,成熟了就不慢慢长了。我们还需要A和B的观测值来修正估计值,所以我们需要对它们进行积分。
所以从这里的模型来看,有一个衡量初始估计是否准确的矩阵,叫做状态估计的协方差矩阵,有一个衡量增长模型准确性的过程噪声矩阵。从观测值来看,有一个衡量观测值是否准确的矩阵,叫做观测噪声协方差矩阵。
当我们把它和模型结合起来,它就变成了一种叫做增益矩阵的东西。迷茫?不用担心,其实增益矩阵是一回事:我该相信我推的模型多还是相信A和B的测量多?
于是通过增益矩阵和这一系列矩阵,你建立了一个系统:模型越精确,我相信模型越多,不精确,我相信实测越多。而且还有一个好处,测量帮助我修正模型的准确性;当A和B突然不给我测量时,我也可以通过既定的系统估算出下一步(明年)果树的高度。
这样就建立了卡尔曼滤波器。
理想的情况是怎样的?
最精确的果树初始高度估计=较小的状态估计误差。
最准确的果树生长状态模型=过程噪声少。
最精确的果树测量值=测量噪音越少,测量种类越多越好(尺子和眼力)
卡尔曼博士于1960年访问美国宇航局,首次提出这一理论,震惊了美国宇航局,并迅速被采纳。美国标志性的阿波罗登月任务就是用这种全新的估算理论登陆月球的!
人们经常开玩笑说阿波罗登月是“划着洗衣盆横渡大西洋”,所以这种估计理论大概相当于洗衣盆上的舵手。现在,在航空航天领域,卡尔曼滤波器是一种宫级理论,被应用
到处都是!
到处都是!
到处都是!
2016年,鲁道夫·卡尔曼博士去世,享年86岁。我希望他在天堂仍然快乐!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)