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

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

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

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

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

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

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

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

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

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

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

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

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

03扩展说明

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

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

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

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

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

卓老师,我想问一个关于卡尔曼滤波的问题,希望您能解答一下。之前我用的互补滤波效果也还好,但在用卡尔曼滤波的时候出现了一些问题:就是如何整定卡尔曼滤波的Q、R这两个参数,这两个参数分别是角度数据置信度与角速度数据置信度。我看别人用的这两个参数都非常小,比如别人Q都是零点零零几,而我用的时候发现Q零点几跟随效果很差,我把Q调到1跟随效果才差不多。但是Q和R不都是协方差吗,它们可以取到1及以上的值吗?即... 链接:https://www.zhihu.com/question/30481204/answer/50092960 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 跑题一个,说几个准则吧。只是准则,只能提供某个角度的参考,可能需要搭配试错来用。 其实是模型误差与测量误差的大小,是模型预测值与测量值的加权。举例而言,R固
1.Kalman滤波 1.Kalman滤波 惯性传感器在初始化以及算法的误差影响惯导系统的精度。低成本MEMS传感器由于严重的随机误差,INS输出可能迅速漂移因此,因此低精度的IMU基本上不能作为导航的独立传感器进行应用。 传感器的主要误差是加速度计偏差和陀螺漂移。为了提高惯导系统的精度,必须采用k个规则时间间隔来估计惯性传感器的随机误差,作为补偿的基础。如水平通道上的速度和姿态角的例子 所述。...
文章目录一、基础知识1、思维导图2、控制基础知识线性系统状态空间表达式3、数学基础知识高斯分布(正态分布)一维二维一维协方差性质二、卡尔曼公式推导1、思维导图2、实际公式预测(据上一次结果来推)更新(根据观测修正预测值)三、举例 一、基础知识 1、思维导图 2、控制基础知识 所谓线性系统就是满足叠加原理的系统就是线性系统。 <<<注释:这里引用一下卢老师课上将的基础知识(见b站P5的7:54) 状态空间表达式 描述系统输入、输出和状态变量之间关系的方程组称为系统的状态空间表达
function [x_p,p_p,k,x,p] =kal_n(A,Q,z,h,R,x_,p_) clc % ch-1 problem-13 clear % m:观测次数 n:系统矩阵维度 A=[1 1;0 1]; %系统矩阵 n*n Q=0; %系统噪声 1*1 z=[ 97.9 94.4 92.7]; %观测值 1*m % z=[ 97.9 94.4 92.7 90.2 87.5 84.6 82.6 79.8 77.5]'; %观测值 1*m h=[0 1]; %观测系数 1*n R=0.1; %观测噪声 1*1 x_=[95 1]'; %观测初值 n*1 p_=[10 0; 0 1]; %观测方差初值 n*n [x_p,p_p,k,x,p] =kal_n(A,Q,z,h,R,x_,p_); 函数输出所有状态
ION GNSS+ 2017 Innovation vs Residual KF Based GNSS/INS Autonomous Integrity Monitoring in Single Fault Scenario Omar Garcia Crespillo 新息(Innovation)与残差(Residual) 新息:观测值减去预测观测值 残差:观测值减去滤波估计观测值 (具体到error-ba 本文以rssi(接收信号强度)滤波为背景,结合卡尔曼的五个公式,设计 rssi 一维 卡尔曼滤波器 ,用MATLAB 语言 实现一维 卡尔曼滤波器 ,并附上代码和滤波结果图; 本文工分为以下几个部分: 2、模型的系统方程和状态方程 3、 卡尔曼滤波 过程及五个基本公式 4、公式 每个参数详细注释 5、结合rssi滤波实例设计滤波器 6、MATLAB实现滤波器 二、模型的...