0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何整定卡尔曼滤波的Q、R参数?

FPGA之家 来源:FPGA之家 2023-10-19 10:07 次阅读

卓老师,我想问一个关于卡尔曼滤波的问题,希望您能解答一下。之前我用的互补滤波效果也还好,但在用卡尔曼滤波的时候出现了一些问题:就是如何整定卡尔曼滤波的Q、R这两个参数,这两个参数分别是角度数据置信度与角速度数据置信度。我看别人用的这两个参数都非常小,比如别人Q都是零点零零几,而我用的时候发现Q零点几跟随效果很差,我把Q调到1跟随效果才差不多。但是Q和R不都是协方差吗,它们可以取到1及以上的值吗?即Q和R有没有取值范围,以及这两个参数整定方法是什么?还是我理解有问题,希望卓大或者车友可以解答一下。

回复:智能车竞赛中,Kalman滤波算法常常被用来计算直立车模倾角和转动角速度。算法利用陀螺仪给出的转速度量和加速度传感器给出的倾角观测量完成计算。除了Kalman滤波器算法之外,还可以使用互补滤波器进行帮助计算。

如果不考虑系统状态的时变性和系统噪声的时变性,上述两种方法本质上是相同的。

下图显示了对于被测物体位置使用Kalman滤波算法来估计物体实际位置的示意图。

4b8b233e-5f41-11ee-939d-92fbcf53809c.jpg

通常情况下所使用的Kalman滤波器是离散时间系统形式的。我们真正想得到的物理量表示成系统状态中的某些分量。对于系统状态的估计(滤波结果)所使用的信息来源于两个方面,一个是对系统状态演变模型的了解,包括系统转移矩阵和输入控制矩阵,输入孔质量等,另一方面来自于对系统状态的观测量。

4ba29762-5f41-11ee-939d-92fbcf53809c.png

但这两方面的信息都会有某种不确定性。通常使用系统噪声向量(W)和观测噪声向量(V)来表示。两个噪声大小分别使用它们各自的协方差矩阵来表示。系统噪声协方差矩阵使用Q,观测噪声的协方差矩阵使用R。

下面是系统方程和观测方程表达式。虽然在表达式中包括了系统噪声w和转测噪声v,但在计算系统状态转移和系统观测量的时候并不考虑这两个噪声的影响。

4bb553ac-5f41-11ee-939d-92fbcf53809c.png

两个噪声的影响只是在卡尔曼滤波器离散迭代算法过程中使用到了两个噪声的协方差矩阵Q和R。分别用于计算系统状态估计误差的协方差矩阵P和卡尔曼滤波器增益K的大小。

下面是传统线性卡尔曼滤波器的五个基本迭代公式。

4bca38bc-5f41-11ee-939d-92fbcf53809c.png

从上面公式来看,真正所要滤波得到的结果来自于公式(4)中的系统状态估计值x的某些分量,公式(4)的结果是由公式(1)所得到的状态预测值和来自观测量y计算得到的。其中卡尔曼滤波器增益K是在状态预测值和观测误差值之间做了一个折中。

如果K很小,比如等于0,则滤波结果更加接近由系统状态估计值给出的递归结果;如果K很大,比如等于1,则滤波结果更加接近于观测值所反算出来的状态变量。

4bd25a4c-5f41-11ee-939d-92fbcf53809c.png

K值是由公式(3)计算获得,其中的P值是通过公式(2)(5)进行计算,反映了Q的大小,因此K值的大小可以由如下形式示意:

4be2d0a2-5f41-11ee-939d-92fbcf53809c.png

因此,K值至于Q,R的比值有关系,而与Q,R的绝对值没有关系。所以,在不同算法中,R, Q的取值根据反应的不同量纲,可以有很大的变化,但它们的比值会决定了滤波值应该更多来自于系统模型演化的信息,还是来自于观察信号信息。

在智能车竞赛中,使用Kalman滤波器将惯性传感器所得到的车体陀螺仪所反映的角速度和和加速度传感器所获得的倾斜角信息进行融合,获得直立车模倾角和转动角速度。

此时,往往将系统状态x设定为车模需要观察的角度。系统输入量u为测量所得到的角速度;系统观察值设定为有加速度传感器给出的倾角。

系统模型噪声w应该反映出陀螺仪测定角速度的随机误差和随着时间漂移的系统误差两部分。系统观测噪声v应该反映了加速度计输出量中在计算角度的近似误差和由于车模运动所产生的干扰噪声。

如果Q大R小,造成K增加,则滤波结果中就会存在较大的由于车模运动所产生的噪声,俗称跟踪不好;如果Q小R大,造成K减小,则滤波结果会出现两种问题,第一就是从处置值收敛到正确值的过程较慢,需要等一个比较长的稳定时间。另一方面就是会受到陀螺仪本身零点漂移,产生比较大的输出零点误差。

最终这两个参数的大小可以根据所选择的器件的实际性能(噪声,漂移等)通过实验观察的方式获得一个比较好的相对值。

编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 滤波器
    +关注

    关注

    158

    文章

    7331

    浏览量

    174779
  • 惯性传感器
    +关注

    关注

    2

    文章

    162

    浏览量

    27726
  • 卡尔曼
    +关注

    关注

    0

    文章

    21

    浏览量

    12139
  • 加速度传感器

    关注

    12

    文章

    458

    浏览量

    54825

原文标题:卡尔曼滤波器中的Q,R

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ADIS16448在卡尔滤波里的系统噪声参数是多少?

    大家好,最近我在使用ADIS16448做IMU和GPS的融合。IMU主要是完成卡尔滤波里预测的步骤,所以我需要为我的IMU设置系统噪声参数Q
    发表于 12-28 08:04

    有偏卡尔滤波器Matlab源码

    卡尔滤波器% GreenSim团队原创作品,转载请注明%% 本程序加入了非视距检测模块,对于NLOS使用有偏卡尔
    发表于 11-07 13:55

    卡尔滤波

    卡尔滤波的估计值能很好的逼近真实值,我的疑惑是,这和滤波有什么关系,请高手介绍下卡尔算法是如
    发表于 07-04 22:57

    STM32卡尔滤波程序

    最近一直被卡尔滤波困扰,希望哪位研究这方面的朋友能够指点一下,不要太多理论数学,基本思路加上一的代码就好,万分感谢
    发表于 10-26 17:29

    卡尔C语言算法

    在论坛里面下载了一篇C语言的卡尔滤波的代码,没有备注,不太明白输入参数(n,m,k,f,q,r
    发表于 01-02 22:56

    卡尔滤波设置问题

    请问,为什么在卡尔滤波器模型中,要大RQ,原因是什么?图1 R = 5000 * eye(
    发表于 05-12 18:02

    卡尔滤波的原理说明

    (k|k-1)对应的covariance,P(k-1|k-1)是X(k-1|k-1)对应的covariance,A’表示A的转置矩阵,Q是系统过程的covariance。式子1,2就是卡尔
    发表于 09-21 11:41

    关于卡尔滤波

    估计很多使用mpu6050的人看网上卡尔滤波资料时看不懂下面这段程序,我找到一个资料,对其进行了解释。P[0][0] += dt * (dt*P[1][1] - P[0][1] - P[1][0
    发表于 03-25 21:07

    卡尔滤波

    卡尔滤波的噪声协方差怎么配置啊?
    发表于 08-01 10:05

    卡尔滤波有哪些应用

    卡尔滤波风力发电机中的风速估计,转速估计甚至扭矩估计都设计到卡尔滤波,如果只是单一传感变量的
    发表于 07-12 06:00

    卡尔滤波C代码

    a往南向北 2019-01-16 20:39:20 11340 收藏 111分类专栏: C语言嵌入式 文章标签: 卡尔滤波 C代码卡尔
    发表于 08-17 09:10

    什么是卡尔滤波?具有哪些参数

    什么是卡尔滤波?具有哪些参数
    发表于 09-30 08:50

    卡尔滤波简介

    在这里我就不介绍卡尔的数学推算了,网上的数学推导一抓一大把,如果想了解推导过程的小伙伴可以去大佬的博客。如果你是想直接简单运用卡尔滤波
    发表于 02-28 14:24

    卡尔滤波的理解以及参数调整

    一、前言卡尔滤波器是一种最优线性状态估计方法(等价于“在最小均方误差准则下的最佳线性滤波器”),所谓状态估计就是通过数学方法寻求与观测数据最佳拟合的状态向量。在移动机器人导航方面,卡尔
    发表于 11-09 13:06 1次下载
    <b class='flag-5'>卡尔</b>曼<b class='flag-5'>滤波</b>的理解以及<b class='flag-5'>参数</b>调整

    单片机ADC采样算法----卡尔滤波

    纳入计算, 而且分为预测误差和测量误差两种.通称为 噪声.还有一个非常大的特点是,误差独立存在,始终不受测量数据的影响。下来先了解一个卡尔滤波中几个参数的含义:概率(Pr...
    发表于 12-29 19:30 27次下载
    单片机ADC采样算法----<b class='flag-5'>卡尔</b>曼<b class='flag-5'>滤波</b>