基于改进麻雀搜索算法的永磁同步电机多参数辨识

2022-05-30 08:24曹永娟冯亮亮
电工电能新技术 2022年5期
关键词:发现者搜索算法适应度

曹永娟,毛 瑞,冯亮亮,李 康

(1.南京信息工程大学自动化学院,江苏 南京 210044; 2.江苏省大气环境与装备技术协同中心,江苏 南京 210044)

1 引言

多年以来,永磁同步电机(Permanent Magnet Synchronous Motor,PMSM)凭借自身结构简单、功率密度高、可靠性强以及工作效率高等明显优点,被广泛应用于精度要求高、调速范围广等重大工业场合[1-3]。然而PMSM作为一个多变量及强耦合的非线性系统,电机在持续不断的运行过程中,受温度的持续升高、磁场饱和及突然的负载扰动等诸多不利因素影响[4],电机的电阻、电感等参数随之发生变化,造成电机控制性能和运行效率降低,甚至可能会直接影响到整个PMSM控制系统的稳定性。

如何迅速并且准确地将PMSM的关键参数辨识出来已经逐渐成为提高PMSM系统稳定性的热门研究方向之一。文献[5-7]分别采用最小二乘算法对电机参数进行辨识,该方法有着简单且易于操作的优点,但需要庞大的计算量,同时会产生很大的数据量,大大增加了计算时间。文献[8,9]提出结合模型参考自适应算法对电机参数进行辨识,该方法采用对参数进行分步辨识的思路,不需要一次性辨识出全部参数,从而简化了问题,但是该方法需要选取合适的自适应率,同时要考虑噪声的影响,否则会导致最终结果出现较大偏差。文献[10,11]对电机参数的辨识采用了神经网络方案,结果表明辨识的精度较高,同时收敛速度快,但因为需要大量的计算,在实际工程应用中难以实现。文献[12,13]采用基于扩展卡尔曼滤波算法对参数进行辨识,该算法进行参数辨识时要提前知道电机参数,这使得参数辨识的鲁棒性降低,还影响了辨识的精度。

由于传统的参数辨识方法中存在一些不足,近些年国内外专家将智能优化算法与系统辨识问题进行了结合。文献[14]提及了一种蜘蛛猴优化算法(Spider Monkey Optimization,SMO),该算法精度较高、收敛速度快,但有时会陷入局部最优。文献[15]提出了一种基于灰狼优化算法的永磁同步电机参数辨识,该算法能够同时辨识出定子电阻、d-q轴电感和永磁体磁链四个参数,但此算法的辨识精度不高,同时收敛速度也比较慢。文献[16]提出了一种基于改进综合学习粒子群算法的参数辨识方法,在粒子群算法首次增加了增长率算子和高斯扰动,一定程度上提高了算法的局部搜索能力。文献[17]提出了一种教与学优化算法,将辅导教学机制与学员的科目分步学习与反向学习策略相结合,增强了辨识的精度和可靠性。

原始的麻雀搜索算法[18](Sparrow Search Algorithm, SSA)根据麻雀种群日常生活中觅食和反捕食行为于2020年提出。该算法比较新颖,同时具有寻优能力强、收敛速度快等优点,但算法的种群多样性较低,迭代后期局部搜索能力低,因此算法精度有待提高。

本文将原始麻雀搜索算法与PMSM参数辨识两者相结合,同时为了解决原始麻雀搜索算法的缺点,提出了一种基于交叉变异策略和动态搜索的麻雀搜索(Cross Mutation Sparrow Search Algorithm,CMSSA)算法。在基于同步旋转d-q轴坐标系下建立4阶PMSM辨识模型,运用CMSSA算法可快速准确地辨识PMSM的Rs、Ld、Lq、Ψf四个参数。该算法在发现者的位置更新处加入了交叉变异和动态搜索两种策略,大大提高了算法种群的多样性,增强了后期算法的局部寻优能力,提高了收敛速度,在减少迭代次数的同时,提高了算法的精度。

2 PMSM数学模型

作为一个多变量强耦合的非线性系统,为便于设计永磁同步电机后期控制器,一般选择同步旋转坐标系d-q下的数学模型。本文忽略铁心饱和,认为空间磁场呈正弦分布,不计铁心磁滞损耗和涡流损耗等因素,对PMSM进行建模,其在同步旋转坐标系(d-q坐标系)下的定子电压方程为:

(1)

式中,ud、uq、id、iq、Ld、Lq分别为d、q轴电压、电流和电感;Rs为定子电阻;Ψf为永磁体磁链;ωe为转子电角速度。

本文以三相PMSM矢量控制策略为基础,在电机稳定运行时,可以近似认为did/dt=0、diq/dt=0,同时采用id=0控制策略,得到d-q坐标系下的PMSM的离散电压方程为:

(2)

由式(1)可看出方程组中的未知参数为(Ld、Lq、Rs、Ψf)四个参数,方程组的秩为2,有无数个解。为了解决方程组欠秩的问题,采用在d轴注入id≠0的负序弱磁电流策略。在两种策略下采集相同数量的数据构成满秩方程组,即:

(3)

式中,ud0(k)、uq0(k)、iq0(k)、ωe0(k)分别为id=0时间段第k次的采样数据;ud1(k)、uq1(k)、id1(k)、iq1(k)、ωe1(k)分别为id=-2 A时间段第k次的采样数据;式(3)中带“*”的参数为需要辨识的4个参数。

3 改进的麻雀搜索算法

3.1 原始麻雀搜索算法

SSA是针对麻雀种群日常的觅食行为和特殊的反捕食行为而提出的全新群体智能优化算法,可以将种群划分为发现者-加入者两部分,同时在种群中加入侦察预警机制。

发现者因为具备较强的全局搜索能力,种群中发现者的数量一般需要占到种群的10%~20%左右,随着迭代过程的进行,发现者的位置更新公式如下:

(4)

式中,Xij为第i只麻雀在第j维中的位置信息;t为当前的迭代数;G为算法的最大迭代次数;α∈(0,1]],为一个随机数;R∈(0,1]],S∈(0.5,1]],当R

除了发现者之外,其他种群中的麻雀一律视为加入者,并根据下式进行位置更新:

(5)

式中,Xp为发现者现在所占领的最佳位置;Xworst为当前全局最劣的位置;m为麻雀种群大小;A为一个大小为1×d,元素为1或-1随机赋值所组成的矩阵,其中A+=AT(AAT)-1。

当周围有危险时,有一定比例的麻雀会向周围的同伴发出警报,此刻整个种群会迅速地做出反捕食行为,其位置更新如下:

(6)

式中,τ为一个控制步长的参数,是一个服从均值为0,方差为1的正态分布随机数;D为[0,1]之间的一个随机数,同时也是步长控制参数;Xbest为当前的全局最优位置;fi为第i只麻雀当前的适应度值;fg和fw分别为当前麻雀种群的最好和最差适应度值,当fi>fg时,表明此时麻雀正位于种群的边缘位置,当fi=fg时,说明种群中心位置的麻雀突然意识到了危险,需要靠近其他麻雀以此尽量减少风险;ε为一个极小常数,避免分母等于0的情况发生。

3.2 融合交叉变异策略的麻雀搜索算法

因为PMSM为复杂的非线性系统,而且需要同时辨识出Ld、Lq、Rs、Ψf四个未知参数,后期种群的多样性过低可能会导致算法的收敛速度变慢,从而导致参数在辨识速度上的降低,进而影响整个系统稳定性。为了增加种群的多样性从而解决后期种群多样性降低的不足,本文首先在原始麻雀搜索算法中引入交叉变异策略,使算法更加适用于PMSM多参数辨识问题。

交叉变异策略源自于差分进化算法[19,20],该算法是基于群体智能理论的优化算法。首先利用差分进化算法中的变异策略进而产生变异个体,变异策略如下:

vi,N+1=xr1,N+F(xr2,N-xr3,N)

(7)

式中,vi,N+1为产生的变异向量;xri,N(i=1,2,…,n)为目标向量,N为当前迭代次数,并且随机选择的r1≠r2≠r3≠ri,因此n≥4;F为一个实常数因数,F∈[0,2],它控制着偏差变量的放大作用,当F选取的值较大时,可以保证种群的多样性,当F选取的值较小时,可以保证种群的局部搜索能力,加快收敛速度。

进行完变异策略后,将变异个体与目标个体进行交叉操作,此时就会产生一个新的实验个体,交叉策略如式(8)所示:

(8)

式中,uji,N+1为新的实验个体;vji,N+1为变异个体;xji,N+1为原个体;a为一个随机数,a∈[0,1];rnbr(i)为一个随机的序列,确保从变异个体中获得一个参数,rnbr(i)∈{1,2,…,h},h为种群维度;CR为交叉算子,其取值范围为[0,1]。

将发现者的位置更新式(4)与交叉变异策略相结合,则发现者的位置更新公式更改为式(9):

(9)

3.3 基于动态搜索的麻雀搜索算法

由式(9)可知,当R

因此,除了依靠交叉变异策略来使得整个种群多样化,增加搜索范围,还要寻求一种在不缩小搜索范围的情况下,仍能保持种群多样性的方法。本文在前述算法中引入一种动态搜索的策略,将当前最优位置和当前最差位置作为参考标准,个体结合自身位置与种群中最优、最差个体的位置,根据不同情况下的最优和最差位置得出最佳目标逃跑方向,结合式(9),新的发现者的位置更新公式如下:

(10)

式中,λ为服从均值为0、方差为1的正态分布随机数。

式(10)可以使发现者在未发现和发现危险时,都能保持良好的种群多样性以及后期的局部探索能力,种群可以根据全局最优及最差位置来寻找最佳的安全区域进行活动,大大降低了陷入局部最优情况的发生概率;也大大降低了因为算法局部探索能力的不足从而导致在PMSM参数辨识过程中某一参数甚至多个参数误差较大的问题。

3.4 CMSSA算法流程图

在原始麻雀搜索算法中引入交叉变异策略和动态搜索策略,可以使算法能够更好地应用于PMSM多参数辨识问题。根据上述优化算法,CMSSA算法工作流程如图1所示。

图1 CMSSA算法流程图Fig.1 CMSSA algorithm flow chart

4 基于CMSSA的PMSM参数辨识

不同于基于最小二乘法和模型参考自适应法的PMSM参数辨识问题,在基于CMSSA这类元启发式算法时,PMSM参数辨识问题不可以直接用CMSSA来解决,CMSSA是用来处理优化问题的算法,因此可以将PMSM参数辨识问题转化成一个求解最优化的问题。根据系统辨识的原理,将已有实际模型的输出和建立的辨识模型输出两者相减得到差值,再经过合适的适应度函数得到适应度值,利用CMSSA来对适应度值一次次进行优化和修正,当适应度值越来越小时,则表示实际模型与辨识模型越来越趋近,CMSSA计算出的四个参数值就越接近真实值。如此,便可以将PMSM辨识问题转换成一个简单的优化问题来进行求解。

所采用的适应度函数如式(11)所示:

(11)

图2 PMSM辨识原理Fig.2 Identification principle of PMSM

5 CMSSA算法辨识仿真分析

为了更好地检验CMSSA的优越性,将此算法同原始麻雀搜索算法、蜘蛛猴优化算法进行对比分析,在Matlab/Simulink软件平台上搭建仿真辨识模型,如图3所示,分别对PMSM进行多参数辨识。本次仿真是基于PMSM矢量控制模型下进行的,仿真中所采用的PMSM各参数具体见表1。

图3 PMSM矢量控制仿真模型Fig.3 Simulation model of PMSM vector control

在本次仿真实验中,电机转速设置为1 500 r/min,负载转矩为4 N·m,在矢量控制的前提下,在id=0和id=-2 A的情况下分别采集1 000组实验数据;初始种群规模均设置为50、迭代次数均为100;设置范围为[0,10],远离辨识参数的真实值,本次仿真结果均取每种算法运行15次后的平均值作为最终辨识结果。

表1 PMSM参数Tab.1 Parameters of PMSM

表2为3种算法的仿真运行结果,从表2可以明显看出,CMSSA的辨识结果是三者当中最为理想的,其适应度值要小于其他两种算法,同时可以看出四个待辨识参数(Rs、Ld、Lq、Ψf)的辨识误差也是最小的,最接近真实值,从而证明了CMSSA辨识算法具有较高的准确性;从表2中也可看出CMSSA的标准差也是最小的,这反映出了在整个辨识过程中,CMSSA的稳定性要高于SSA和SMO。由此通过仿真验证了本文对SSA所提的两种改进策略的可行性与正确性。

表2 三种算法的仿真结果比较Tab.2 Comparison of simulation results of three algorithms

6 实验与分析

6.1 实验平台与实验方案

为了进一步检验CMSSA的真实和有效性,在仿真的基础上进行了实验验证。搭建了如图4所示的电机实验平台,整个电机平台以DSP28335为控制核心,同时包括驱动电路、采集电路、光电编码器等。在电机稳定运行一段时间后,结合图1的方法分别对电压、电流、转速进行采样,利用DSP运算能力,对采样的数据进行坐标变换后,将变换后的数据经过CAN总线传递到计算机,计算机利用算法完成参数辨识。实验的所有参数设置均与仿真一样,结果仍为每个算法单独运行15次后取平均值为最终结果。

图4 电机实验平台Fig.4 Motor experiment platform

6.2 实验结果与分析

图5所示为所使用的3种算法依次对PMSM进行参数辨识的适应度值变化曲线,从图5中可以很明显地看出,在迭代次数100内3种算法均能够收敛到一定的范围内,CMSSA在迭代次数达到30时开始收敛,而且收敛的速度高于SSA和SMO;在保证收敛速度的同时,CMSSA最后收敛精度也比其他两种算法更高,因此CMSSA的参数辨识效果要优于SSA与SMO。

图5 适应度曲线Fig.5 Fitness curves

图6为3种算法单独运行15次时每一次的时间对比。从图6中可以看出,CMSSA相较于其他两种算法运算的速度更快。

图6 算法时间对比Fig.6 Algorithm time comparison

图7为定子电阻的辨识曲线图,从图7中可以看出,本文所采用的3种算法均能有效地收敛到电机实际的定子电阻值附近,都表现出良好的全局搜索能力,但是依然可以看出CMSSA具有较强的稳定性,且能较早地收敛到真实值附近,反映了CMSSA的收敛速度要高于SSA和SMO。

图7 定子电阻辨识曲线Fig.7 Stator resistance identification curves

图8~图10为d-q轴电感与永磁体磁链的辨识变化曲线。电感和磁链的辨识曲线波动相比于定子电阻的波动要小很多,而且算法都能够以较快的速度辨识出真实值,此时的CMSSA的效果仍明显好于其他两种算法。结合图5可以看出在整个辨识过程中,Ld、Lq、Ψf的变化是影响适应度函数值变化的关键因素。实验结果对比见表3。

图8 d轴电感辨识曲线Fig.8 d-axis inductance identification curves

图9 q轴电感辨识曲线Fig.9 q-axis inductance identification curves

图10 永磁体磁链辨识曲线Fig.10 Identification curves of permanent magnet flux linkage

表3 算法实验结果对比Tab.3 Comparison of algorithm experimental results

从表3可知,优化后的CMSSA算法更加接近实际值,验证了仿真的有效性和改进算法的正确性。

从四个参数的辨识曲线可明显看出,利用CMSSA算法进行参数辨识,在迭代次数到达30左右时,四个参数均开始收敛到真实值附近,稳定性高于其他两种算法,进一步验证了在迭代次数较少的情况下,CMSSA算法仍然保持较高的收敛速度和精度。

图11、图12为利用CMSSA算法对电阻、磁链、d-q轴电感随着电机运行时间增加分别进行的3次辨识结果,第一次为电机刚平稳运行时的辨识结果,第二次为运行5 min时的辨识结果,第三次为运行10 min后的辨识结果。通过图11、图12可以看出电机的参数随着电机运行发生改变,同时利用本文所提的方法可以辨识出改变后的参数值。

图11 电阻、磁链随电机运行的辨识结果对比Fig.11 Comparison of identification results of resistance and flux linkage with motor operation

图12 d-q轴电感随电机运行的辨识结果对比Fig.12 Comparison of identification results of d-q axis inductance with motor operation

7 结论

本文在PMSM矢量控制模型下,结合坐标变换公式,在id=0和id=-2 A的负序弱磁电流两种不同的情况下构造出一个满秩的辨识模型。通过融合交叉变异策略及动态搜索的麻雀搜索算法,准确并且快速地辨识出定子电阻、d-q轴电感、永磁体磁链四个参数。从仿真结果看,CMSSA由于在发现者的位置更新阶段引入交叉变异和动态搜索两种改进策略,扩大了搜索范围、增加了种群多样性,在辨识的精度上高于SSA和SMO,验证了所提方法的有效性。实验结果进一步验证CMSSA的优越性:CMSSA具有更快的收敛速度以及更低的适应度值,从四个待辨识参数的辨识曲线可以明显看出,CMSSA所辨识出来的参数可以更快、更平稳地收敛到真实值附近,并没有出现算法早熟的问题,同时误差比SMO和SSA更小。由于本文是算法单独运行15次之后取的平均值作为最终结果,因此最终结果会产生一些波动,但不影响本文所做的结论。

猜你喜欢
发现者搜索算法适应度
改进的自适应复制、交叉和突变遗传算法
改进和声搜索算法的船舶航行路线设计
基于信息素决策的无人机集群协同搜索算法
改进的非结构化对等网络动态搜索算法
基于莱维飞行的乌鸦搜索算法
让学生做“发现者”
让学生在小学数学课堂中做一个“发现者”和“创造者”
启发式搜索算法进行乐曲编辑的基本原理分析
法治媒体如何讲好法治故事
基于人群搜索算法的上市公司的Z—Score模型财务预警研究