APP下载

基于改进SRUKF的PMSM转速控制

2023-11-24王宏志吕洪武胡黄水兰淼淼

吉林大学学报(理学版) 2023年6期
关键词:将式同步电机协方差

王宏志,徐 硕,吕洪武,胡黄水,兰淼淼

(长春工业大学 计算机科学与工程学院,长春 130012)

永磁同步电机(PMSM)具有结构简单和可靠性强等特点,在航空、军事、数控机床和机器人等领域应用广泛[1].在实际应用中,PMSM控制采用机械传感器的方式估计转子位置和转速信息,但加入传感器会使PMSM成本变高,增加系统复杂性,且传感器也容易受环境干扰而产生额外的误差,并增加了系统的不稳定性.在PMSM的无传感器控制中,主要利用电机转子、电流和磁链等物理变量设计精确模型得到转速信息.目前无传感器控制算法主要包括比例积分微分控制(PID)[2]、神经网络算法[3]、扩展Kalman滤波(EKF)[4]和无迹Kalman滤波(UKF)等方法[5-6].

基于EKF和UKF的控制方法均为经典Kalman滤波在非线性系统应用的扩展算法,其主要思想均为将非线性系统进行线性化处理,再采用Kalman滤波算法框架进行近似估计[7],其中EKF算法采用Taylor展开的方式完成近似线性化,由于Taylor展开后忽略了算法的高阶项,从而使EKF的状态估计损失精度,并需求解非线性函数的Jacobi矩阵,因此对高阶矩阵更容易产生误差[8].UKF和EKF算法的计算复杂度相似,但UKF算法使用无迹变换(UT)而不需求解Jacobi矩阵,即未损失高精度项,因此其精度更高.由于UKF算法采用Cholesky分解,在进行数值运算时舍入误差和截断误差的积累和传递,因此有可能使协方差失去正定性而导致系统运行失败或收敛性变差[9].

针对上述两种算法存在的问题,王维等[10]提出了一种基于极大似然准则的自适应UKF算法以解决滤波发散问题;杜洪刚等[11]提出了一种自适应UKF算法以解决噪声估计值不准确的问题;Zhang等[12]提出了支持向量回归的状态空间模型与无迹Kalman滤波(SVD-UKF)相结合的算法以解决传统UKF算法无法解决测量协方差为非正定的问题;Li等[13]用qr分解和Cholesky分解得到协方差的平方根矩阵,提出了应用于PMSM的平方根无迹Kalman滤波(SRUKF)算法;Xu等[14]将强跟踪器与SRUKF相结合提出了新的SRUKF算法;成兰等[15]提出了迭代SRUKF算法以保证协方差的非负定性;许波等[16]提出了基于弱化因子改进的SRUKF算法实时修正增益矩阵和协方差矩阵;杨军利等[17]将Sage-Husa算法与UKF相结合以解决模型干扰不确定的问题.

本文对SRUKF算法进行改进,使用误差协方差矩阵的平方根矩阵代替UKF的协方差矩阵进行运算,保证协方差矩阵在大部分情况下满足半正定性,从而增强PMSM系统的适应性,在面对噪声干扰时可取得更好的稳定性,并通过MATLAB软件仿真结果验证该算法的有效性.

1 改进SRUKF算法设计

1.1 SRUKF算法

假设非线性系统的数学模型为

(1)

其中xk和yk分别为k时刻的系统状态向量和测量向量,uk-1为k-1时刻的控制向量,f(·)为系统的状态方程,h(·)为系统的测量方程,wk为过程噪声,其协方差矩阵定义为Q,vk为过程噪声,其协方差矩阵定义为R,二者相互独立,均值为零,且为Gauss白噪声.

SRUKF算法的步骤如下.

1) 对算法进行初始化:

其中S0为初始协方差平方根矩阵,chol表示对正定矩阵做Cholesky分解,求解其上三角阵.

2) 计算SRUKF的(2n+1)个sigma采样点集Xsigma:

(5)

(6)

其中上角标表示矩阵的第i维,n=4为状态向量的维数,λ=α2(n+k)-n,α通常取0.000 1~1内的实数,k为次级采样因子,一般为0或(3-n).

3) 将采样点Xsigma代入状态方程f(xk,uk)得到预测矩阵Xsigmapre,并取均值Xpred:

(7)

(8)

(9)

其中Wm表示均值的加权系数.

4) 计算状态预测误差的协方差矩阵Sx,k-1:

(10)

(11)

(12)

5) 计算测量矩阵的sigma点集Ysigmaprd,并计算测量预测值Ypred:

(13)

(14)

将Ysigma代入h(xk,uk)可得:

(15)

(16)

6) 计算测量残差协方差的平方根矩阵Sy,k-1:

(17)

(18)

7) 计算状态向量与测量向量间的互协方差Pxy,k-1:

(19)

K=Pxy,k-1inv((Sy,k-1)TSy,k-1),

(20)

(21)

U=K×Sy,k-1,

(22)

Sk=cholupdate{Sx,k-1,U,-1},

(23)

其中inv表示求矩阵的逆.由于矩阵U为状态变量和测量变量的维度,可能不是一个列向量,因此本文取矩阵U的任意列进行运算,但结果相差较小.

1.2 改进SRUKF算法

本文主要在简化算法流程和提高适应性上改进SRUKF算法,由于在对矩阵进行Cholesky分解时,该矩阵至少是半正定的,但在实际运算中的矩阵可能并非是半正定的,因此可能导致系统发散甚至无法运行.在标准无迹Kalman滤波中的状态预测估计协方差矩阵Pk为

(24)

(25)

由于

Px,k=(qr)T(qr)=rTr,

(26)

因此rT=Sx,k-1.

由式(24)~(26)可将式(10)和式(11)变为

(27)

(28)

得到新的状态预测协方差矩阵.

同理式(17)和式(18)可变为

(29)

(30)

在普通SRUKF算法中的状态误差协方差矩阵Pk可表示为

(31)

根据协方差的定义可得

(32)

其中cov表示计算协方差.

将式(21)代入式(32)可得

Pk=cov(Xk-(Xpredk+K(Yk-Ypredk))).

(33)

将式(1)中的测量方程修改为矩阵方程

Yk=HXk+Vk,

(34)

Ypredk=HXpredk,

(35)

其中H为测量矩阵,Vk为观测误差矩阵.将式(34)和式(35)代入式(33)可得

Pk=cov(Xk-(Xpredk+K(HXk+Vk-HXpredk)))=cov((I-KH)(Xk-Xpredk)-KVk),

(36)

其中I为单位矩阵.由于Vk具有独立性,因此可根据协方差的性质进行推导:

根据式(27)和式(28)即可得到改进算法后的更新状态估计协方差平方根矩阵

(38)

(39)

由文献[13]可知,计算机计算qr分解的复杂度为O(xy2),计算矩阵转置的复杂度为O(xlgx),计算矩阵cholupdate的复杂度为O(2xy2),因此改进后的算法小于未改进算法的复杂度.

2 永磁同步电机的数学模型

在MATLAB/SMULINK仿真软件中,由于三相永磁同步电机数学模型是在同步旋转坐标轴d-q下建立的,因此本文选择该坐标系,其d-q坐标系下的定子电压方程为

(40)

其中ud,uq,id,iq分别为同步旋转坐标轴d-q下的定子d轴电压、q轴电压、d轴电流和q轴电流,R为定子电阻,ωe为电角速度,φf为永磁体磁链,Ls为电感,由于为表贴式永磁同步电机,因此电机的d轴和q轴电感分量相等均为Ls.

为便于分析,将式(40)改写为电流方程的形式

(41)

其中θe为转子位置值.

通过式(41)可得状态方程为

其中

(44)

(45)

(46)

(47)

将式(42)和式(43)进行离散化处理可得

(48)

(49)

其中T1为采样周期.

将离散后的状态方程代入式(1)即可按改进的SRUKF算法得到永磁同步电机的SRUKF观测器.

3 基于改进SRUKF无传感器PMSM控制的仿真实验

改进SRUKF无传感器控制框图如图1所示.在MATLAB2018aSIMULINK实验平台上进行仿真测试,PMSM模型选用SIMULINK自带的三相永磁同步电机,PMSM参数设置列于表1.

图1 改进SRUKF无传感器控制框图Fig.1 Block diagram of sensorless control of improved SRUKF

表1 PMSM参数设置

设定初始状态为0,初始协方差矩阵P0、过程噪声Q和过程噪声R分别为

(50)

仿真时间为0.3 s,初始给定速度为800 rad/min,并在0.15 s时加入10(N·m)的负载扰动,在0.2 s时提高转速到1 000 rad/min.

用UKF算法对加入扰动以及转速变化后的转速估计如图2所示,用SRUKF算法对加入扰动以及转速变化后的转速估计如图3所示.加入扰动以及转速变化后两种算法的转速误差估计如图4所示.

图2 用UKF算法对加入扰动以及转速变化后的转速估计Fig.2 Using UKF algorithm to estimate speed after adding disturbance and changing speed

图3 用SRUKF算法对加入扰动以及转速变化后的转速估计Fig.3 Using SRUKF algorithm to estimate speed after adding disturbance and changing speed

由图2~图4可见: 电机在启动时两种算法的误差基本一致,但SRUKF算法能更快达到稳定,并且相对于期望转速产生的振动和误差明显小于UKF算法;在0.15 s加入10(N·m)的负载后,SRUKF算法明显优于UKF算法的误差和抖动,在0.2 s转速上升至1 000 rad/min后,两种算法均有一定的超调,但SRUKF算法应对干扰的能力更强.两种算法估计的转子位置误差如图5所示.由图5可见,SRUKF算法预估的转子位置与期望转子位置更接近,误差更小,明显优于UKF算法.因此将改进SRUKF算法应用于有干扰存在的PMSM转速控制中具有较大优势.

图4 加入扰动以及转速变化后两种算法的转速误差估计Fig.4 Estimation of speed errors of two algorithms after adding disturbance and changing speed

图5 两种算法估计的转子位置误差Fig.5 Estimation of rotor positionerrors of two algorithms

综上,本文提出了一种适用于永磁同步电机的改进SRUKF算法,该算法的计算量更小,通过消去Cholesky分解运算过程,使系统具有更强的适应性,解决了计算过程中因协方差矩阵非正定而产生发散或运行失败的问题.该算法与传统UKF算法在MATLAB/SIMULINK中进行的仿真实验表明,该算法可使干扰影响电机转速时产生的抖动和误差进一步减小,并更精确估计出转子位置.该算法为永磁同步电机的抗干扰算法提供了理论依据和参考.

猜你喜欢

将式同步电机协方差
AKNS方程的三线性型及周期孤立波解
永磁同步电机两种高频信号注入法的比较
因子von Neumann代数上非线性*-Lie导子的刻画
单自由度系统
多元线性模型中回归系数矩阵的可估函数和协方差阵的同时Bayes估计及优良性
永磁同步电机调速系统的自抗扰控制
二维随机变量边缘分布函数的教学探索
不确定系统改进的鲁棒协方差交叉融合稳态Kalman预报器
阻尼系统的特征
一种同步电机参数识别的简便算法