小猫爪:PMSM之FOC控制13-搭建EKF观测器


  

1 前言

前面说到只要搭建出系统的状态方程,就可以进行完整的卡尔曼滤波的流程,这节就介绍怎么搭建出能给卡尔曼滤波的状态方程。

2 模型搭建

  首先列出在《小猫爪:PMSM之FOC控制10-搭建SMO状态观测器》中推导出来的电机在 α − β \alpha-\beta αβ坐标下的方程如下:
在这里插入图片描述
  其中 A = [ − R L s 0 0 − R L s ] A=[\begin{matrix} -\frac{R}{L_s} & 0 \\ 0 & -\frac{R}{L_s} \\ \end{matrix}] A=[LsR00LsR],扩展反电动势E的表达式为:
在这里插入图片描述

  再加上转速 ω \omega ω跟转子位置 θ \theta θ的关系如下:
在这里插入图片描述
  将这几个式子结合一下得:
在这里插入图片描述

2.1 矩阵化

  把上一篇文章的线性系统的状态观测器模型拿过来:
在这里插入图片描述
  怎样把上面的式子变化成状态观测器矩阵的形式呢?首先确认状态变量依次是 i α ˙ , i β ˙ , ω ˙ , θ ˙ \dot{i_{\alpha}},\dot{i_{\beta}},\dot\omega,\dot\theta iα˙,iβ˙,ω˙,θ˙,则有:
在这里插入图片描述
  另外输入是 u u u,对于电机来说输入是电压,则有:
在这里插入图片描述
  那输出矩阵 y y y是什么呢?观察卡尔曼观测器的结构如下:
在这里插入图片描述
  卡尔曼观测器的反馈是真实系统输出的测量值和卡尔曼观测器的输出的差,所以这两者的输出应该是等价等维的,所以卡尔曼观测器的输出取决于能测量到什么,很显然在无传感器控制系统中,只能测量出电流,所以卡尔曼观测器的输出矩阵 y y y为:
在这里插入图片描述
  既然 y y y x x x都知道了, H H H则就是:
在这里插入图片描述
  结合 u u u x ˙ \dot{x} x˙,不难看出 B B B为:
在这里插入图片描述
  接下来还差一个 A A A,突然发现这个 A A A始终没办法确定,因为这不是一个线性系统,没关系,先直接带下来,所有将状态方程写成矩阵的形式为:
在这里插入图片描述
  暂时令:
在这里插入图片描述
  即目前的状态方程是这样的:
在这里插入图片描述

2.2 线性化

  在矩阵化的过程中,遇到了非线性的因素导致没有求出A,接下来,只需要把矩阵 A A A求出来,那么就可以将电机系统在 α − β \alpha-\beta αβ坐标下的状态方程和观测方程搭建起来。那么怎么求出这个A呢?

  那就需要著名的泰勒公式了,如下:
在这里插入图片描述
  取前两项,后面全部看成泰勒余项则有:
f ( x ) = f ( x 0 ) + f ′ ( x 0 ) ( x − x 0 ) + o ( x − x 0 ) f(x)=f(x_0)+f^{'}(x_0)(x-x_0)+o(x-x_0) f(x)=f(x0)+f(x0)(xx0)+o(xx0)  令 f ( x ) = G ( x ) f(x)=G(x) f(x)=G(x),并且省略泰勒余项则有:
G ( x ) = G ( x 0 ) + G ′ ( x 0 ) ( x − x 0 ) G(x)=G(x_0)+G^{'}(x_0)(x-x_0) G(x)=G(x0)+G(x0)(xx0)  这个时候再将这个 G ( x ) G(x) G(x)代入到之前总结的状态方程中去得:
x ˙ = G ( x 0 ) + G ′ ( x 0 ) ( x − x 0 ) + B u \dot x=G(x_0)+G^{'}(x_0)(x-x_0)+Bu x˙=G(x0)+G(x0)(xx0)+Bu  化简得:
x ˙ = G ′ ( x 0 ) x + B u + ( G ( x 0 ) − G ′ ( x 0 ) x 0 ) \dot x=G^{'}(x_0)x+Bu+(G(x_0)-G^{'}(x_0)x_0) x˙=G(x0)x+Bu+(G(x0)G(x0)x0)  从这个式子中就可以很清楚得看出电机系统在时刻 x 0 x_0 x0,矩阵 A = G ′ ( x 0 ) A=G^{'}(x_0) A=G(x0),到此为止A矩阵终于确定好了,即 A x 0 = ∂ ( G ( x ) ) ∂ x A_{x_0}= \frac {\partial(G(x))}{\partial x} Ax0=x(G(x)),即:
在这里插入图片描述

  到目前为止,整个电机系统的状态方程的矩阵化已经全部完成。

2.3 离散化

  接下来还有一个最最重要的问题,那就是离散化,因为状态方程是建立在连续系统的基础上,需要将其转化成离散化系统后,才能在微控制器中实现卡尔曼滤波状态观测器,下面就开始进行离散化。

  其实之前再求卡尔曼滤波中矩阵 F F F的时候已经介绍过了。首先列出上面总结的状态方程为: x ˙ = G ( x ) + B u \dot x=G(x)+Bu x˙=G(x)+Bu,在离散化系统下,令 x = x k − 1 x=x_{k-1} x=xk1,而微分 x ˙ \dot x x˙在离散化系统中的表达方式为 x ˙ = x k − x k − 1 Δ t \dot{x}=\frac{x_{k}-x_{k-1}}{\Delta t} x˙=Δtxkxk1,则上式变成:
x k − x k − 1 Δ t = G ( x k − 1 ) + B u k − 1 \frac{x_{k}-x_{k-1}}{\Delta t}=G(x_{k-1})+Bu_{k-1} Δtxkxk1=G(xk1)+Buk1  移动一下项该式就变成:
x k = x k − 1 + ( G ( x k − 1 ) + B u k − 1 ) Δ t {x_{k}}=x_{k-1}+(G(x_{k-1})+Bu_{k-1})\Delta t xk=xk1+(G(xk1)+Buk1)Δt  其中 Δ t \Delta t Δt也就是微控制器的算法执行周期,该式自然而然也就替换了卡尔曼滤波过程中的第一个公式,即计算预估值,相比较于使用泰勒展开得到的式子,这个式子算出的结果更加准确。

3 扩展卡尔曼滤波的流程

  经过上面的一顿操作,终于是把电机系统的扩展卡尔曼滤波观测器搭建完毕了,最后总结一下,扩展卡尔曼在电机FOC无感控制中的具体流程如下:
在这里插入图片描述
  该流程中涉及到的所有矩阵以及变量名称都可以在文章中找到。现在就可以总结出扩展卡尔曼观测器的系统框图:
在这里插入图片描述

  至此扩展卡尔曼滤波状态观测器的搭建就介绍完了。

END

评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小猫爪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值