卡尔曼滤波器及相应的电机系统模型介绍

工业控制

1219人已加入

描述

引入

卡尔曼滤波是通过对下一时刻系统的状态估计以及测量得出的反馈相结合,最终得到该时刻较为准确的的状态估计(预测+测量反馈),我们一般所说的卡尔曼滤波KF是针对线性系统的,其思想对于非线性系统也是适应的,由此延伸出来的有EKF,UKF等。

我们先从简单的问题入手,来了解卡尔曼滤波的思想

假如我们想知道一枚硬币的厚度,并且有k个测量值CAN总线,为了估计真实值,我们一般对其取均值,于是估计量

CAN总线

由①式知,当我们只有一个测量值时,即k = 1,我们只能选择相信测量值,而当k —>∞时,我们可以相信上次的估计值。且本次的估计值只跟本次的测量值和上次的估计值有关,不用再追溯到前k-1个测量值

其中Kk为卡尔曼增益,为使估计误差最小,我们使方差CAN总线最小,令CAN总线CAN总线,并做下式变换得卡尔曼增益的一般形式,此Kk值具有数学上的最优性

CAN总线

eEST为估计误差,eMEA为测量误差。观察②式知,当e EST ≫eMEA时,Kk = 1,将带入①式CAN总线,即当估计误差比较大时我们选择相信测量值。相反,当e EST ≪eMEA时,Kk = 0,CAN总线,此时我们选择相信估计值

该情形下卡尔曼滤波的一般步骤:

CAN总线

卡尔曼滤波器

考虑系统

CAN总线

其中ω为过程噪声,服从N(0,Q)分布。υ为测量噪声,服从N(0,R)分布

1、协方差矩阵

将方差和协方差通过一个矩阵进行表示

方差:

CAN总线

协方差:

CAN总线

考虑以下三阶的协方差矩阵

CAN总线

构造过度矩阵T求此协方差矩阵,CAN总线构成了CAN总线的平均值矩阵

CAN总线

对于③式表示的系统

由于D(X) = E(X ^2^ ) - E ^2^ (X),而E(ω_i) = 0,于是协方差矩阵可由下式表示

CAN总线

同时,ω 1 、ω 2 、… 、ωn相互独立

CAN总线

同理R = E(υυ ^T^ )

2、先验估计

没有考虑过程误差和测量误差,由状态空间方程计算所得

CAN总线

但是在电机模型中ω和θ无法获得,我们可以将CAN总线替换为CAN总线同时由测量CAN总线得,CAN总线

3、后验估计

估计+测量反馈

CAN总线

令G = KkH,则

CAN总线

4、卡尔曼增益

卡尔曼增益Kk是凹函数的极点,因此卡尔曼滤波器既是一个观测器,又是最优性估计

CAN总线,服从N(0,P)分布CAN总线

为了使tr(P)最小,即方差最小,令CAN总线

CAN总线

具体推导过程可参考B站UP主DR_CAN,视频链接放在文末

其中P ^-^ 为先验误差

CAN总线

卡尔曼滤波的一般步骤

CAN总线

电机状态方程

上文龙伯格观测器中我们选取了状态向量CAN总线,但是为了利用卡尔曼滤波器对ω和θ进行预测我们选取状态向量CAN总线,测量向量CAN总线,并将反电动势形式做如下修改(电流滞后电压90°,因此α轴的反电动势由β轴电压产生,并且反向)

1、状态向量

CAN总线

2、线性化

此时该系统是一个非线性系统,为了利用卡尔曼滤波我们要先对其进行线性化,用EKF对系统状态进行估计,令

CAN总线

在先算先验估计时用的是未经离散化的非线性函数

对上面卡尔曼计算一般步骤①先验估计做如下更正,其他步骤不变

CAN总线

雅可比矩阵

CAN总线

于是

CAN总线

3、离散化

CAN总线

于是线性化后的离散系统矩阵

CAN总线

MATALB仿真

CAN总线

EKF

可以看到卡尔曼滤波器的θ估计输出几乎与实际位置重合,速度估计ω受磁链常数影响,磁链给的偏大会导致ω估计偏小,相反磁链给的偏小会导致ω估计偏大,推荐对θ微分作为ω的估计

CAN总线

CAN总线

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分