美文网首页
卡尔曼滤波器之调参

卡尔曼滤波器之调参

作者: Rolandash | 来源:发表于2020-11-04 12:51 被阅读0次

Dirty hands

在一整套卡尔曼滤波理论和公式学完之后,你终于觉得大功告成,开始设计第一个卡尔曼滤波器。

但是好像还是有什么地方不对劲:


你>:。。。等会。。。卡尔曼博士,你这公式好像没给全啊

卡尔曼博士>:哪里没给全?

你>:这预测方程和更新方程里都假设叠加了一个随机变量Q和R,它们的期望和方差具体值都不知道啊。方差都不知道,这公式让我怎么算呢?

卡尔曼博士>:我是个数学家,你这问的都不是个数学问题,跟我有关系吗?!

你>:。。。???!!!


得,又回到原点,学了一大堆公式,怎么还是没用呢?的确,要设计出一个能好用的卡尔曼滤波器,现在才刚刚开始;而现在最重要的任务,就是要确定Q和R的值,这样公式才能计算起来。然而对于任何一种随机自然现象,比如刮风下雨,地震海啸,数学家在推导公式过程中可以简单地用一个高斯分布来假设,但分布的具体参数值怎么找出来?所以数学家这个工作有时候还是挺让人羡慕的,至少挖坑不用填。而工程师这职业就有点作孽,总得有人填上吧!以后如果碰上一个“见坑就想填”的工程师那真算是福星高照,这简直就称得上是剑胆琴心呐。

从1961年NASA正式决定在登月舱中采用卡尔曼滤波理论开始,到1969年阿波罗登月成功之前,数千名工程师工作了近8年时间。

所以如果想要实现一个能真正工作的卡尔曼滤波器,那么就做好"Get your hands dirty"的决心吧!

调参的方法

调参这个事其实大家多少都有点经验。比如控制领域非常普及的PID系统,在系统设计完成之后要进行仔细的参数调节。这种参数调节实际上是一个根据经验不断试错的过程,最后试出一组最合适的参数出来。这是一种手工的过程,所以效率实在算不上高。

卡尔曼滤波器的参数有其自己的特点。相比PID系统,线性系统的卡尔曼滤波器数学模型比较完整,参数一般都有比较明确的物理意义,参数调整的时候其实是一些规律可循的。

手工调参


对于模型简单一些的系统来说,还是有不少人习惯手工调参,比如:

1. 限制P的值,防止P趋近于0

2. 适当增加Q的值,这样P的值也相应增加

3. 给P乘以一个适当的因子,这样确保K值在一个恰当的范围里

这样通过反复迭代,当迭代出来的参数值逐步收敛于一个稳定值时,就认为获得了一组可用的参数。

离线学习


如果系统模型比较复杂,或者精度要求高,可以使用离线学习的方式,这就要用到Kalman smoother。Smoother可以看作是Kalman滤波的一个特别情况:一般的Kalman filter是利用过去和现在的测量数据来估计将来的状态,而Smoother是在已经获得所有(包括未来)测量数据的情况下,估计过去时间下的系统状态。

Smoother的概念倒也不难理解,不容易弄清楚的是Smoother到底有什么用?尤其是为啥要起个名字叫Smoother?

Smoother主要用于不需要实时处理的情况。有一个基本的事实是:当我们估计状态时,如果有用的信息越多,那显然估计的准确度就越高。过去和现在的数据,能提供的信息量当然是不如包括将来数据在内的所有数据提供的信息量大。所以Smoother在理论上,能够提供比Kalman filter精度更高的估计。估计出来的状态曲线噪声更小,更平滑,因此被称为Smoother也算是切题。

但Smoother因为要等待所有数据都采集完毕才能进行处理,所以付出的代价是失去了Kalman滤波的实时性。不过这样用作离线参数学习的工具倒是没有问题。在这种应用中,通常是对已经建立好卡尔曼模型的目标系统先做大量的测量,把测量数据都记录下来,利用这个测量数据集估计出过去的一系列系统状态值。这个状态值序列的精度是比较高的。然后利用这个状态值序列估计出一个新的参数,以这个新参数代入Smoother模型再次估计出一组系统状态值,如此迭代一直到参数值收敛为止。

自适应滤波


自适应滤波基本思路是引入一个随时间变化的加权因子,在每个更新迭代步骤时对Q和R等参数进行加权更新。当参数趋于稳定收敛时,也就得到了一组优化的参数。这是一种自动化的调参方法。

相关文章

  • 卡尔曼滤波器之调参

    Dirty hands 在一整套卡尔曼滤波理论和公式学完之后,你终于觉得大功告成,开始设计第一个卡尔曼滤波器。 但...

  • 图文并茂,卡曼滤波

    ​卡尔曼滤波是如何工作? 看图说话! 我务必向大家介绍卡尔曼滤波器(Kalman Filter),因为它之所能, ...

  • Kalman 滤波器 推导及调参

      这篇文章其实是机动目标跟踪课上的一次作业,但是因为内容确实对卡尔曼滤波器的原理推导和调参当时都写的比较详细,故...

  • 文科生也能懂的卡尔曼滤波理论小释

    纪念卡尔曼滤波器发明60周年 零数学基础 最近我想写点关于卡尔曼滤波器的科普材料,一查今年恰好是卡尔曼博士发表他那...

  • 【Intro2SDC】卡尔曼方程参考

    卡尔曼方程参考 卡尔曼滤波器方程 变量定义 - 状态向量 - 状态转移矩阵 - 误差协方差矩阵 - 过程噪声协方差...

  • 卡尔曼滤波器 opencv

    卡尔曼滤波器 opencv http://blog.csdn.net/akunainiannian/article...

  • 深入理解互补滤波器

    低通滤波器:滤掉高频噪声高通滤波器:滤掉低频噪声互补滤波器:滤掉部分高频噪声和部分低频噪声卡尔曼滤波器:动态版本的...

  • 卡尔曼滤波器

    姓名:李嘉蔚学号:16020520034 【嵌牛导读】:本帖讲一讲如何直观的理解卡尔曼滤波器,因为著名的五大公式一...

  • 卡尔曼滤波器

    是一种滤波算法 应用场景:传感器数据融合与状态估计。比如你有一个加速度计,又有陀螺仪或GPS 。假设当前状态值可靠...

  • 卡尔曼滤波器

    简单的insignt 方程中,下标上的k是状态。在这里我们可以将其视为离散的时间间隔,例如k=1表示1ms,k=2...

网友评论

      本文标题:卡尔曼滤波器之调参

      本文链接:https://www.haomeiwen.com/subject/gzklvktx.html