APP下载

基于智能算法优化卡尔曼滤波器的电机转速估计

2015-12-23张秀国

实验室研究与探索 2015年9期
关键词:协方差卡尔曼滤波适应度

张秀国

(珠海城市职业技术学院 电子信息工程学院,广东 珠海519090)

0 引 言

无速度传感器矢量控制系统作为目前受到普遍关注的热点问题之一,其核心问题是电机转速估计,诸多相关的研究文献亦提出了各自的电机转速的估计方法[1]。因为卡尔曼滤波器(Kalman Filter)所特有的抗干扰性、动态性等特点,卡尔曼滤波器以及其相关的改进形态如扩展卡尔曼滤波器(Extended Kalman Filter,EKF),在对感应电机无速度传感器矢量控制系统中速度的估算方面被公认为是核心的方法。如何选取合适的噪声矩阵是扩展卡尔曼滤波器在转速估计应用中的重点问题之一。操作人员对噪声矩阵的先验知识的了解程度往往决定了扩展卡尔曼滤波器转速估计的收敛性和精确度,即测量噪声矩阵以及系统噪声矩阵事先规划的准确度。如果选取了不合适的噪声矩阵,那么就会大大地降低扩展卡尔曼滤波器的性能,甚至无法正常运转。对于扩展卡尔曼滤波器如何正确的选取,在过去的研究文献中有较多的学者进行了相关的探讨和尝试。文献[2]运用试探法设定噪声协方差矩阵,此方法虽然使用简单,但却存在精确度不高、耗时长、对设计者的经验积累过度依赖等缺点,在性能方面,也不是最优的卡尔曼滤波器;文献[3]使用模拟退火算法对系统噪声矩阵进行优化,不过模拟退火算法存在不足,如:收敛速度慢、耗时较长、算法性能对初始值敏感;文献[4]利用最小方差原理递推噪声模型,但也存在累积误差较大以及计算量大等不足;文献[5]应用模糊逻辑方法,将理论值同新息序列协方差的实际值进行匹配,但在本方法中具体如何确定所需的新息序列以及模糊逻辑规则数是存在一定的困难的;文献[6]中应用单纯形法确定噪声协方差矩阵,但此方法存在一定的不足,如:滤波器的实时性及效果无法得到保证,并且计算量非常大;文献[7]使用粒子群算法(Particle Swarm Optimization,PSO)来优化扩展卡尔曼滤波器噪声矩阵,但本算法存在易早熟等不足。

鉴于上述文献中的不足,本文在无速度传感器矢量控制系统电机转速估计中使用扩展卡尔曼滤波器,并且为了确保扩展卡尔曼滤波器转速估计达到最优滤波效果,文中使用改进后的粒子群算法来优化对EKF收敛性和滤波性能产生影响的噪声矩阵,以此得到最优的系统噪声矩阵和测量噪声矩阵。通过实验证明,使用改进后的PSO 算法进行优化的EKF 可以精确地估计电机转速。相比于传统的PSO 算法、试探法以及遗传算法,改进后的PSO 算法在总体性能和估算精度方面都具有更好的效果。

1 扩展卡尔曼滤波转速估计

目前,针对交流异步电动机的研究,有许多文献提出了诸多的电机方程模型,其中最具有代表性的是基于两相静止坐标系αβ 轴的电机模型。在此模型里,将转子磁链以及定子电流在αβ 上的分量当作状态变量,同时,将电机状态方程变成一个非线性的四阶方程。由于在无速度传感器矢量控制系统中,转速wr是一个需要估计的未知量,所以这里将wr设置为系统的状态变量,这样一来,异步电机状态方程则变成了5 阶方程式,用下式(1)表示。

其中:X =[isαisβΨrαΨrβwr]T,u(t)=[usαusβ]T,isα、isβ、usα、usβ、Ψrα、Ψrβ分别表示定子电流、定子电压和转子磁链的αβ 轴分量,系数A,B 则为:

Rs、Rr、Ls、Lr、Lm分别表示定转子电阻、电感及互感,wr表示转速,σ=1-L2m/(LsLr)表示漏磁系数,Tr=Lr/Rr表示转子时间常数。在兼顾系统噪声且离散化之后,得到扩展的电机离散状态方程可用下式表示。

其中:W(k)和R(k)分别表示系统噪声以及测量噪声的零均值高斯白噪声协方差矩阵;G(X(k),k)表示噪声权重;Ts表示采样周期。同时满足下式

因为扩展卡尔曼滤波器是在线性条件下使用,将式(1)在滤波值设置为在x =x^(k|k)的附近展开成泰勒级数,同时将高次项去掉得到式(4),

式中,

表示由kTs~(k+1)Ts的状态转移矩阵,

结合式(1)~(3),能够得到的状态转移矩阵,

在应用EKF 的过程中,一般划分为预测阶段以及更新阶段。其中,预测阶段得到的是状态误差协方差预测值以及状态量预测值。而更新阶段得到的是EKF 的增益,同时更新状态误差协方差矩阵和预测的状态值。如下所述过程表示使用EKF 对电机转速估计进行处理:

Step1:针对状态误差协方差阵P(0)以及状态x^(0)进行初始化处理;

Step2:将测量噪声协方差阵以及系统噪声方差阵分别设置为R(2 ×2)以及Q(5 ×5);

Step3:针对每个采样周期,执行如下的卡尔曼滤波迭代。

状态预测:

估计误差协方差阵:

式中:卡尔曼增益的处理:

状态的更新处理:

误差协方差矩阵的更新处理:

通过上述对EKF 转速估计的处理能够反映出,EKF 的迭代过程受协方差矩阵P 及其初始状态值的影响较小,并且随着滤波迭代的持续,这种影响会越来越小。测量噪声协方差阵R 以及系统噪声协方差阵Q 往往是制约转速估计精度和滤波效果的两个关键方面。在现实使用时,一般依据系统的实际将噪声矩阵的初始值设定好,并且为了使得估计误差能够逐渐收敛,达到滤波最优化的效果,关键取决于所选择噪声矩阵。不同的噪声矩阵值会引起系统瞬态过程的变化,若Q 值增大则相应地加强了系统噪声,加大了系统模型的不确定性,将导致预测协方差增大,从而滤波器增益增大,测量反馈的加权作用也增大,滤波器瞬态特性加快;而如果测量噪声增强,则R 值增大,导致滤波器增益减小,进而测量数据对系统的影响会减弱,滤波器瞬态特性减慢,甚至会使滤波过程不稳定或发散[12]。因此确定适合的Q 和R 的值对能否获得卡尔曼最优滤波至关重要[8-10]。

2 优化EKF 噪声矩阵的改进粒子群算法

在现实的无速度传感器闭环控制系统中,如果将EKF 应用于转速估计中就会出现EKF 估计转速同实际转速间产生不小的延迟。但延迟越多,影响系统控制性能往往越明显,因此,选取适当的噪声矩阵,能够将这种延迟减小到最低,达到提升系统性能的目的。最优化噪声矩阵R 和Q 从本质上来讲是一个有约束的最优化问题。

2.1 标准的粒子群算法(PSO)

标准的粒子群算法是由Kennedy 提出的,是受到人类决策的行为和鸟群觅食启发而来,算法的原理是以群体中的个体间进行信息共享以及协作来得到最优解。设粒子群体规模为N,每个粒子在D 维搜索空间中运动,粒子Pi(i =1,2,…,N)的当前位置为Xi={Xi1,Xi2,…,Xid},当前的飞行速度为Vi= {Vi1,Vi2,…,Vid},Pid为粒子i 当前的最优解,Pgd为种群中所有粒子全局最优解[12]。可用下式来说明标准的粒子群算法的进化过程:

其中:ω 表示惯性权重,其值在进化中慢慢变小;c1,c2分别表示用来调节Pid以及Pgd相对重要性的加速参数,r1~U(0,1)、r2~U(0,1)表示相互独立的两个随机函数。

2.2 粒子群算法的改进

遗传算法以及标准的粒子群算法都是经典的群智能算法,它们都具有一定的优劣性[14-15]。遗传算法的优点是具备极强的全局最优搜索能力以及变异能力,不足之处是局部寻优能力差以及早熟等情况。而粒子群算法具有收敛速度快的优点,是一种全局优化搜索智能算法,但也存在收敛精度较差以及易陷入局部最优解等不足。往往在实际应用中,需要将这两种智能算法进行综合处理,取其精华,避免不足,由此来设计高效可行的搜索算法。文中改进的粒子群算法就是于此来实现的,改进后的粒子群算法使用一个可调节的混合GA/PSO 模型,将PSO 以及GA 进行合理的混合,以此来克服它们所存在的不足。改进后的粒子群算法在寻优求解时利用遗传算法的交叉、选择以及变异思维,使用一个在0 ~1 之间变化的繁衍因子系数,并使每次迭代时所需的选择、交叉及变异的个体数量取决于该系数。对于每次的迭代,将所有个体的适应度值计算出来,然后将该值按照由大到小的顺序进行排序。给定N 为个体的数量,b 为繁衍因子,这时去掉适应度值最小的N* b 的个体,将保留下来的N* (1-b)的个体依据粒子群算法实施速度更新处理,接着按照锦标赛机制在速度更新后的群体中选取N* b 个个体,并按照式(13)做交叉操作。

式中,实施交叉后的子代粒子个体数分别用c1(x)以及c2(x)表示,两个按照锦标赛机制选取的父代粒子个体位置分别用p1(x)及p2(x)表示,两个按照锦标赛机制选取的父代粒子个体速度则分别用p1(v)及p2(v)表示。下式用来表示子代粒子的速度。

其中,子代粒子的速度用c1(v)及c2(v)表示。历经如此交叉处理后,使得子代粒子的速度及位置的信息源自于父代粒子。通过遗传交叉算子操作可以增加粒子多样性,搜寻更多区域的范围解,跳出局部最优,加强群体的寻优探索能力,充分利用群体中优良粒子的特性,加快收敛速度[11]。改进的粒子群算法如图1所示。

2.3 改进的粒子群(IPSO)算法优化EKF 噪声矩阵

现有的电机状态方程里共有2 个输出变量及5 个状态变量[13],而在系统噪声及测量噪声的协方差矩阵里也有相应的数量,即:

图1 改进的PSO 算法流程图

将上述的7 个变量在每个采样周期中实施相应的调整,即可实现噪声矩阵的优化。针对每个粒子在相应参数下实施多次迭代操作,在执行任一次迭代时,将系统的适应度值及其输出计算出来,然后依据计算得出的适应度值将个体历史最优粒子以及全局最优粒子选出,完成迭代后噪声矩阵参数用得到的全局最优粒子来替换,噪声矩阵元素不断的随着系统状态的变化而变化。在IPSO 算法中,粒子位置的好坏是依据适应度函数来确定的,因此,需要依据实际情况选取合理的适应度函数,文中对电机转速估计的适应度函数选取如下式(15)所示:

下述步骤表示在改进后的粒子群算法下的EKF转速估计:

步骤1:对噪声矩阵Q、R 做初始化处理,并且对粒子的速度向量以及位置向量做随机初始化处理,然后将适应度函数值计算出来,据此将粒子个体历史最优Pi以及群体全局最优Pg选取出来。

步骤2:对繁衍因子b 使用随机产生方式获取,然后根据步骤1 计算出的适应度函数值进行重新排序,将最差的N* b 个个体遗弃,并依据标准的PSO 算法对剩余的每个粒子进行速度更新处理。

步骤3:参照锦标赛制度,应用式(13)将粒子的位置做交叉运算,应用式(14)将粒子的速度做更新处理,接着将位置和速度都更新处理过的N* b 个粒子执行标准的变异操作并得到新的粒子,同时将得到的新粒子替代遗弃的N* b 个粒子。

步骤4:针对每个粒子的全局最优适应度值以及历史最优适应度值一一比较。若发现某个粒子的历史值劣于当前位置的适应度值,那么替换该粒子的历史最佳位置和适应函数值;若某个粒子的全局最优适应值劣于历史最优适应值,那么将全局最优适应值设置为该历史最优适应值,并且将该全局最优粒子的位置记录下来。

步骤5:重复执行步骤2-步骤4。直至算法的迭代次数达到设定的次数或算法的精度满足要求为止。

步骤6:将全局最优解输出,也就是所要求解的EKF 噪声矩阵Q 以及R。

3 仿真实验与结果分析

为了验证本文改进的粒子群算法在EKF 转速中的实际效果,设计了一个如图2 所示的无速度传感器矢量控制系统。实验中相关参数的设置如表1 所示:

图2 无速度传感器矢量控制系统

表1 电机相关参数表

本文改进的算法、标准PSO 算法和遗传算法的相关参数约定为:粒子群规模M=50,迭代数G =30。遗传算法中个体交叉率假定为PC =0.9,个体变异率假定为PM=0.01。图3 表示这三种算法在优化EKF 误差矩阵的收敛曲线图。

在图3 的曲线图中可以得出,在收敛速度和最优解方面,文中改进的粒子群算法明显比标准粒子群算法和遗传算法更优。经过优化处理后的三种算法的Q、R 分别如下所示:

遗传算法(GA):Q = diag[0. 228 1 1. 242 6 0.042 0 0.110 2 2.702 9],R=diag[3.892 9e-4 0.076 9]。

图3 优化算法的收敛曲线

标准粒子群算法(PSO):Q = diag[0. 010 1 11.350 2 5. 550 1 12. 426 3 9. 276 1],R = diag[5.211 3 5.584 1]。

IPSO:Q = diag[5. 602 5 0. 050 1 4. 869 5 2.189 9 12.516 7],R=diag[22.708 7 0.462 4]。

下面通过在三种不同的参数条件下来进行仿真实验来验证算法的有效性,及其对EKF 进行转速进行估计。

3.1 负载和电机参数都不变

本实验中,假定转速设定为1 242 r/min,负载设定为2 N·m。仿真结果图4 的曲线表示通过遗传算法、试凑法、标准粒子群算法以及文中改进的粒子群算法优化EKF 在稳态时的转速辨识效果图。并且满足试探法取值条件:Q =diag[7.5 0.03 4.4 2.2 12.4],R=diag[18 0.4]。通过曲线图可得出,使用试凑法优化的EKF 转速辨识曲线为稳定转速下的估计误差约为1.66%。但使用遗传算法、标准的粒子群算法以及改进的粒子群算法优化的EKF 转速估计误差分别约为0.52%、0.843%以及0.24%。

图4 EKF 估计转速和实际转速

3.2 电机参数不变,但负载发生变化

本实验中,通过改变负载的方法来验证算法的估算精度,即在时间t=0.5 s 时将负载的参数由2 N·m修改成4 N·m,得到如图5 所示的电机转速响应曲线图。通过曲线图能够得出,在负载扰动状态下,文中改进的粒子群算法具有更好的鲁棒性、更小的误差,并且在优化EKF 转速估计跟踪精度方面比较其他3 种算法更好。

图5 负载扰动情况下转速估计

3.3 电机参数变化,但负载不发生变化

在现实使用中,电机的很多参数都会随着温度升高等因素的影响而发生改变,例如定子电阻、转子电阻等参数。定子电阻的变化对转速估计器影响较大,现在通过实验来验证算法在电机参数发生改变的状态下的有效性,这里约定电机实际电阻Rs= 5. 07(1 +e-0.15t),Rr=5.27(1 +e-0.15t)转速响应曲线如图6 所示。从图6 所示的效果来看,电机参数的改变对优化EKF 转速估计精度的影响几乎可以忽略不计。

图6 电机参数变化时转速估计

4 结 语

文中提出的一种改进的粒子群算法,该算法能够很好地优化扩展卡尔曼滤波器的测量噪声矩阵和系统噪声矩阵。并通过在无速度传感器矢量控制系统中将该算法进行仿真实验验证。结果显示,在负载扰动以及电机参数发生变化等不同条件下,通过文中改进的粒子群算法优化的EKF能够更准确地估计电机转子转速,相比于使用遗传算法、试算法和标准的粒子群算法优化的EKF 转速估计而言,文中提出的改进的粒子群算法在抗噪声能力和跟踪性能方面都具有更优的效果。

[1] HASSAN K KHALIL,ELIAS G STRANGERS,SINISA JURKOVIC.Speed Observer and Reduced Nonlinear Model for Sensorless Control of Induction Motors[J]. IEEE Transactions on Control Systems Technology. 2009,17(2):327-339.

[2] Shi K L,Chan T F,WONG Y K,et al. Speed estimation of an induction motor drive using an optimized extended Kalman filter[J].IEEE Transactions on Industrial Electronics,2002,49(1):124-133.

[3] SALINDA BUYAMIN. Optimization of the Extended Kalman Filter for Speed Estimation of Induction Motor Drive[D]. Newcastle:Newcastle University,2007.

[4] ODESON B J,LUTZ A,JB. RAWLINGS. The auto covariance least squares method for estimating covariance:applications to model based control of chemical reactors[J]. IEEE Transactions on Control Systems Technology,2006,14(3):532-540.

[5] LOEBIS D,SUTTON R,CHUDLEY J. Adaptive tuning of a Kalman filter via fuzzy logic for an intelligent AUV navigation system[J].Control Engineering Practice,2004,12(12):1531-1539.

[6] POWELL T D. Automated Tuning of an Extended Kalman Filter Using the Downhill Simplex Algorithm[J]. Journal of guidance,control and dynamics. 2002 ,25(5):901-908.

[7] RAVI KUMAR JATOTH,KISHORE KUMAR T. Particle Swarm Optimization based Tuning of Extended Kalman Filter for Maneuvering Target Tracking[J]. International journal of Circuits,System and Signal Processing,2009,3(3):127-136.

[8] 张勇军,王 京,李华德.基于遗传算法优化的定子磁链扩展卡尔曼估计方法[J].电工技术学报,2009,24(9):64-69.

[9] 张寅孩,严利平,张仲超. 基于遗传算法辨识噪声模型的异步电机闭环卡尔曼速度估计[J].电机与控制学报,2005,9(2):161-165.

[10] 尹忠刚,张瑞峰,钟彦儒,等.基于抗差扩展卡尔曼滤波器的永磁同步电机转速估计策略[J].控制理论与应用,2012,29(7):921-927.

[11] LI SHUTAO. A Hybrid PSO-BFGS Strategy for Global Optimization of Multimodal Functions[J]. IEEE Transactions on Systems,Man,and Cybernetics.2011,41(4):1003-1014.

[12] 林国汉,章 兢,刘朝华,赵葵银,改进粒子群算法优化扩展卡尔曼滤波器电机转速估计[J].计算机应用研究,2013,7.

[13] 黄卫权,董 冀.基于MTi 微惯性航姿系统的卡尔曼滤波器设计[J].自动化技术与应用,2009(1):54-57.

[14] 乔相伟,周卫东,吉宇人. 用四元素状态切换无迹卡尔曼滤波器估计的飞行器姿态[J].控制理论与应用,2012(1):97-103.

[15] Karimi M,Bozorg M,Khayatian A R. A comparison of DVL/INS fusion by UKF and EKF to localize an autonomous underwater vehicle[C]//2013 First RSI/ISM International Conference on Robotics and Mechatronics,2013:62-67.

猜你喜欢

协方差卡尔曼滤波适应度
改进的自适应复制、交叉和突变遗传算法
一种基于改进适应度的多机器人协作策略
用于检验散斑协方差矩阵估计性能的白化度评价方法
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
多元线性模型中回归系数矩阵的可估函数和协方差阵的同时Bayes估计及优良性
二维随机变量边缘分布函数的教学探索
基于空调导风板成型工艺的Kriging模型适应度研究
不确定系统改进的鲁棒协方差交叉融合稳态Kalman预报器
基于模糊卡尔曼滤波算法的动力电池SOC估计
基于扩展卡尔曼滤波的PMSM无位置传感器控制