李弘基, 簡獻(xiàn)忠, 汪祖儉
(上海理工大學(xué)光電信息與計算機(jī)工程學(xué)院,上海 200093)
永磁同步電機(jī)(permanent magnet synchronous motor,PMSM)具有體積小、結(jié)構(gòu)簡單、功率密度高、性能穩(wěn)定等優(yōu)點,在高性能工業(yè)領(lǐng)域得到了廣泛應(yīng)用[1,2]。PID參數(shù)[3]與電機(jī)的定子電阻、dq軸電感與轉(zhuǎn)子磁鏈等固有參數(shù)緊密相關(guān),而電機(jī)參數(shù)容易受到溫度變化、集膚響應(yīng)和磁通飽和等影響,這些影響會導(dǎo)致PID調(diào)節(jié)器的控制效果不佳影響電機(jī)運(yùn)行性能。因此,精確有效的電機(jī)參數(shù)辨識方法對于獲得高性能PMSM控制系統(tǒng)具有重要研究意義[4]。
尋求更加精確有效地辨識PMSM參數(shù)的方法引起了科研工作者的廣泛關(guān)注,目前的研究工作分為傳統(tǒng)的辨識方法[5~8]和基于人工智能優(yōu)化算法的辨識方法兩大類。PMSM具有非線性時變特性,傳統(tǒng)的辨識方法不能很好地權(quán)衡收斂性、復(fù)雜性和收斂精度等因素。近年來,人工智能優(yōu)化算法憑借對目標(biāo)函數(shù)要求低、效率較高的優(yōu)勢,在解決很多優(yōu)化問題上取得了不錯的效果,并開始應(yīng)用于PMSM領(lǐng)域。文獻(xiàn)[9]采用了遺傳算法來進(jìn)行PMSM的參數(shù)辨識,雖然可以同時辨識出定子電阻、dq軸電感以及轉(zhuǎn)子磁鏈,但是存在計算量較大、收斂速度慢、容易陷入局部最優(yōu)導(dǎo)致辨識誤差較大的問題。文獻(xiàn)[10~12]提出了一種神經(jīng)網(wǎng)絡(luò)算法來識別電機(jī)的參數(shù)。該方法減小了電機(jī)參數(shù)的穩(wěn)態(tài)誤差,提高了辨識參數(shù)的收斂速度。然而,辨識效果的穩(wěn)定性和收斂速度在很大程度上取決于收斂因子,算法的收斂程度對數(shù)據(jù)訓(xùn)練非常敏感,導(dǎo)致數(shù)據(jù)量大,難以實現(xiàn)。文獻(xiàn)[13]利用了粒子群算法在單峰函數(shù)優(yōu)化問題的優(yōu)勢,能較好地辨識出定子電阻與轉(zhuǎn)矩,但是當(dāng)辨識參數(shù)增加時,就無法準(zhǔn)確地辨識出電機(jī)參數(shù)。而后來的學(xué)者針對這一問題對算法進(jìn)行了改進(jìn),文獻(xiàn)[14]將柯西變異引入粒子群算法,利用柯西擾動策略來提高粒子群算法的全局探索能力,進(jìn)而提高參數(shù)辨識精度,但是還有待進(jìn)一步提高。文獻(xiàn)[15]提出一種基于變異珊瑚礁算法的PMSM參數(shù)辨識,將高斯變異和柯西變異相結(jié)合提高算法跳出局部最優(yōu)的性能,最終的辨識誤差也得到降低,但是算法復(fù)雜,采用隨機(jī)數(shù)的方法選擇變異策略,沒有充分挖掘高斯與柯西函數(shù)的分布特性。
RAO-1是Rao R V繼JAYA算法之后2020年提出的又一種無隱喻優(yōu)化算法[16]。該算法核心公式簡單,算法參數(shù)少且易于嵌入式系統(tǒng)實現(xiàn),但存在種群多樣性差且在迭代后期不能進(jìn)行精確尋優(yōu)等缺點。本文將RAO-1算法應(yīng)用于PMSM參數(shù)辨識領(lǐng)域,同時為了解決RAO-1在求解復(fù)合問題時存在容易陷入局部最優(yōu)導(dǎo)致精度不高、辨識速度慢的問題,提出一種混合變異RAO算法應(yīng)用于PMSM參數(shù)辨識。將辨識結(jié)果與PSO算法、RAO-1算法辨識的PMSM參數(shù)從辨識精度和速度兩個方面進(jìn)行對比,實驗結(jié)果表明GCRAO能較快地辨識電磁參數(shù)并具有更好的收斂精度。
PWSM是一個強(qiáng)耦合、非線性時變的復(fù)雜系統(tǒng)。為了便于分析,假設(shè)PMSM為理想電機(jī),在忽略PMSM的渦流損耗以及鐵損耗的情況下,其數(shù)學(xué)模型在dq同步旋轉(zhuǎn)坐標(biāo)系下的電壓方程如下:
(1)
磁鏈方程為:
(2)
式中:id、iq、ud、uq為dq軸定子電流電壓;Rs為定子電阻;ψq、ψd為dq軸轉(zhuǎn)子磁鏈;ωe為轉(zhuǎn)子電角速度;Ld、Lq為dq軸電感;ψf為永磁轉(zhuǎn)子磁鏈。
將式(2)代入式(1),并采用id=0矢量控制方式來進(jìn)行解耦控制,在穩(wěn)定情況下,did/dt=0,diq/dt=0可以得到:
(3)
(4)
RAO-1算法在參數(shù)辨識領(lǐng)域具有良好的前景,目前已經(jīng)開始應(yīng)用于眾多工業(yè)領(lǐng)域。相對于其他優(yōu)化算法,RAO-1算法最大的優(yōu)點是核心公式簡單,迭代速度更快,利用迭代過程最優(yōu)解和最差解來迭代出新解,候選解的更新只包括2種最基礎(chǔ)的運(yùn)算,即加法、乘法。所以RAO-1算法對于硬件要求極低,更容易跨平臺實現(xiàn)。RAO算法只有2個最簡單的參數(shù),分別是迭代次數(shù)與種群數(shù)量。RAO-1核心公式如下:
(5)
3.2.1 變異策略
高斯分布是數(shù)學(xué)、物理和工程中廣泛使用的一種概率分布形式。高斯分布的概率密度函數(shù)為:
(6)
式中:σ表示方差;μ表示平均值。通過改進(jìn)對重點區(qū)域的局部搜索性能的操作稱為變異。高斯變異是指用符合正態(tài)分布的隨機(jī)數(shù)來指導(dǎo)變異過程。當(dāng)算法進(jìn)入收斂狀態(tài)時,高斯變異RAO算法的新解更新公式為:
(7)
式中:Gaussian(0,1)服從方差為0,均值為1的高斯分布。在RAO進(jìn)入收斂時,可以令其重點探索最優(yōu)解附近的新解,進(jìn)而可以跳出局部最優(yōu)的局面。
柯西分布是一個數(shù)學(xué)期望不存在的連續(xù)型概率分布。當(dāng)隨機(jī)變量x滿足它的概率密度函數(shù)時,稱x服從柯西分布。柯西分布的概率密度公式為:
(8)
當(dāng)δ=1,μ=0表示服從標(biāo)準(zhǔn)柯西分布,本文使用柯西變異來在算法收斂時更新最優(yōu)個體,這對提高種群多樣性,跳出局部最優(yōu)解和改善RAO探索特性十分有效。當(dāng)算法進(jìn)入收斂狀態(tài)時,柯西變異公式如下:
(9)
為了充分發(fā)揮上述兩種變異策略的特性,圖1對比了高斯函數(shù)與標(biāo)準(zhǔn)柯西函數(shù)的分布。
圖1 高斯柯西函數(shù)對比圖Fig.1 Gaussian Cauchy function comparison diagram
可以發(fā)現(xiàn)高斯函數(shù)的中心分布相對于柯西函數(shù)更加集中,而柯西函數(shù)的兩側(cè)分布更加離散,這表明柯西分布可以以更高的概率來產(chǎn)生一個遠(yuǎn)離原點的隨機(jī)數(shù),相比高斯分布產(chǎn)生的隨機(jī)數(shù)具有更寬的分布范圍,更加容易跳出局部最優(yōu)的現(xiàn)象,探索全局最優(yōu)解的能力更強(qiáng)。高斯函數(shù)可以大概率產(chǎn)生原點附近的隨機(jī)數(shù),可以加強(qiáng)對于當(dāng)前局部最優(yōu)點附近更優(yōu)點的探索,進(jìn)而加快RAO-1算法的局部搜索能力和速度。本文結(jié)合了2種變異策略的優(yōu)勢,提出了混合變異RAO算法。
3.2.2 混合變異RAO算法
基于上述分析,當(dāng)RAO-1算法運(yùn)行到較為穩(wěn)定的局部最優(yōu)點時,可以利用高斯變異具有重點搜索當(dāng)前最優(yōu)個體的局部區(qū)域這一特點,提升算法的局部搜索能力;而當(dāng)高斯變異尋找到當(dāng)前區(qū)域的最優(yōu)點時,使用柯西變異較強(qiáng)的擾動能力來讓算法具有更高的概率來跳出局部最優(yōu)點,從而提升算法的全局探索能力。為了使所提出的算法具有自主選擇變異策略的功能,本文提出了1種算法分段的思想來指導(dǎo)算法的變異過程。
圖2 算法迭代過程Fig.2 Algorithmic iterative process
參考數(shù)學(xué)中斜率的概念,斜率表示的是一條直線(或者曲線的切線)關(guān)于(橫坐標(biāo)正方向)坐標(biāo)軸的傾斜量,反應(yīng)的是在此處的函數(shù)值變化量大小,其數(shù)值為關(guān)于橫坐標(biāo)夾角的正切值。
如圖2所示,算法的迭代運(yùn)行是一個自適應(yīng)函數(shù)值不斷減小、最終穩(wěn)定在極小值、函數(shù)值變化量不斷趨近于0的過程。經(jīng)過上述斜率以及自適應(yīng)函數(shù)的分析,本文將2次迭代過程中最優(yōu)個體的自適應(yīng)函數(shù)差來類比自適應(yīng)函數(shù)曲線的斜率,并分別給定兩個參數(shù)值k1、k2。令算法初步運(yùn)行,當(dāng)運(yùn)行至總迭代數(shù)的1/5后,若算法此時斜率大于k1,則說明算法仍處于未收斂狀態(tài),若斜率小于k1大于k2,則說明算法進(jìn)入初步收斂狀態(tài),當(dāng)算法斜率小于k2時,則算法此時進(jìn)入了重度收斂狀態(tài)。
不同收斂狀態(tài),采用不同的個體更新策略。未收斂階段,利用RAO-1的核心公式(5)進(jìn)行迭代,此時為初始狀態(tài)向初步收斂狀態(tài)發(fā)展,找到局部最優(yōu)點后進(jìn)入第二個狀態(tài)初步收斂階段,以高斯變異核心公式(7)進(jìn)行迭代,向著重度收斂狀態(tài)發(fā)展,進(jìn)一步探索當(dāng)前局部更優(yōu)的點。隨后進(jìn)入第3個階段重度收斂階段,為提高算法全局搜索能力選擇采用柯西變異核心公式(9)進(jìn)行迭代,此時為重度收斂向完全收斂狀態(tài)轉(zhuǎn)變,嘗試著跳出當(dāng)前局部最優(yōu)點,直到算法結(jié)束。
為了驗證算法的局部開采能力與跳出局部最優(yōu)的全局探索能力,對5種標(biāo)準(zhǔn)測試函數(shù)進(jìn)行優(yōu)化,函數(shù)具體信息見表1。其中f1,f2為單峰函數(shù)(有且僅有一個最優(yōu)解)用于來檢測算法的局部開采能力,f3、f4、f5為多峰函數(shù)(在所考慮的區(qū)間中有多個局部極小值的實值函數(shù)),檢測算法的全局探索能力。參數(shù)設(shè)置如下:種群大小為30,迭代次數(shù)為800,維度均為30。
表1 5個標(biāo)準(zhǔn)函數(shù)信息Tab.1 Information of five standard functions
圖3展示了GCRAO與RAO-1算法在上面5種標(biāo)準(zhǔn)測試函數(shù)的結(jié)果對比??梢园l(fā)現(xiàn)GCRAO具有更高的收斂速度和求解精度。尤其是在處理類似于f3、f4、f5的多峰函數(shù)時候,GCRAO的性能優(yōu)越性更加明顯。
為了進(jìn)一步驗證將算法運(yùn)行劃分分成3階段的思想正確性,在同樣引入高斯柯西變異條件下,GCRAO采用了3運(yùn)行階段思想來自主選擇變異策略,CGRAO則采用隨機(jī)數(shù)來選擇變異策略。表2展示了兩者在上面5個標(biāo)準(zhǔn)測試各運(yùn)行10次的性能對比。
從表2可以看出采用了3運(yùn)行階段思想的混合變異RAO不論從最優(yōu)平均值還是標(biāo)準(zhǔn)差都比采用隨機(jī)數(shù)的混合變異RAO更小,這無疑證明了將算法劃分為3階段的思想正確性,能賦予算法自主選擇的能力,相比之下,GCRAO具有更強(qiáng)的全局尋優(yōu)能力,和更加穩(wěn)定的收斂精度。
PMSM參數(shù)辨識的基本原理是根據(jù)電機(jī)理論模型與實際系統(tǒng)輸出的差值,通過優(yōu)化算法對待辨識參數(shù)得到的自適應(yīng)函數(shù)值不斷修正,最終收斂到適應(yīng)度最小的參數(shù)值,從而得到PMSM的參數(shù)。PMSM參數(shù)辨識模型如圖4所示。
圖4 PMSM參數(shù)辨識模型Fig.4 PMSM parameter identification model
圖4中的自適應(yīng)函數(shù)如下:
(10)
步驟1:運(yùn)行腳本文件,加載電機(jī)模型,導(dǎo)入電機(jī)所需的各個參數(shù)值。開始運(yùn)行PMSM,采集并且保存id=0,id≠0模式下電機(jī)運(yùn)行的數(shù)據(jù),包括dq軸電壓、電流、以及電角速度。
步驟2:設(shè)置種群大小,迭代次數(shù),種群初始化。
步驟3:判斷是否達(dá)到最大迭代次數(shù)。“是”則執(zhí)行步驟8,“否”則執(zhí)行步驟4到步驟7。
步驟4:利用式(4)、式(10)計算個體的自適應(yīng)函數(shù)值,并找出最優(yōu)值和最差值個體及其對應(yīng)的自適應(yīng)函數(shù)值。
步驟5:根據(jù)收斂狀態(tài)來進(jìn)行個體更新,未收斂狀態(tài)采用RAO-1核心公式(5)進(jìn)行個體更新,初步收斂狀態(tài)采用高斯變異核心公式(7)進(jìn)行個體更新,重度收斂狀態(tài)進(jìn)入柯西變異核心公式(9)進(jìn)行個體更新。
步驟6:邊界處理,并計算新個體的自適應(yīng)函數(shù)值。
步驟7:判斷新個體是否優(yōu)于舊個體,“是”則用新個體取代舊個體,“否”則保留舊個體。
通過Matlab/Simulink軟件平臺搭建了基于GCRAO算法的PMSM辨識系統(tǒng),系統(tǒng)框圖如圖5所示,圖中r、s分別代表旋轉(zhuǎn)坐標(biāo)系和靜止坐標(biāo)系。電機(jī)采用矢量控制策略,算法輸入信號為ud,uq,id,iq,ωe。實驗中的SVPMSM具體參數(shù)見表3。
表3 模型中電機(jī)具體參數(shù)Tab.3 Specific motor parameters in the model
電機(jī)運(yùn)行的其他參數(shù):母線電壓400 V,開關(guān)頻率10 kHz,在初試時刻給定的電機(jī)轉(zhuǎn)速為2 500 r/min,給定的負(fù)載轉(zhuǎn)矩為5 N·m。總仿真時長為0.4 s,在仿真加入PSO算法、RAO-1算法做對比實驗時,3種算法的種群規(guī)模均為100,最大迭代數(shù)均為1 000。
為了驗證本文提出的基于混合變異RAO算法在永磁同步電機(jī)參數(shù)辨識的有效性與可行性,設(shè)計了RAO-1算法,PSO算法和GCRAO算法SVPMSM參數(shù)辨識的對比實驗。
圖5 基于混合變異RAO算法的PMSM辨識框架圖Fig...5 Identification frame diagram of PMSM based on RAO algorithm of mixed variation
3種算法設(shè)置的種群大小為100,迭代次數(shù)為200,辨識參數(shù)的范圍設(shè)置為Rs∈(0,5),L∈(0,0.01),ψf∈(0,0.05)。粒子群算法的初始化相關(guān)參數(shù)為:慣性權(quán)重ω=0.8,學(xué)習(xí)因子C1=C2=1.4。
3種算法的辨識結(jié)果如圖6所示,可以看到GCRAO算法辨識的3個參數(shù)更加快速平穩(wěn)地收斂到真實值附近。表4的辨識參數(shù)值對比結(jié)果表明GCRAO辨識各參數(shù)誤差都小于其他兩個算法辨識結(jié)果。
圖6 參數(shù)辨識對比結(jié)果Fig.6 Comparison of parameter identification results
表4 辨識參數(shù)值對比Tab.4 Identification comparison of the three algorithm
為了對比3種算法的計算工作量,本文采用了事前估計法和事后統(tǒng)計法相結(jié)合的方式,重點考慮算法種群規(guī)模、迭代次數(shù)、算法核心公式、編程語言和機(jī)器執(zhí)行速度等因素。在確保相關(guān)因素一致的條件下,利用算法的執(zhí)行時間(運(yùn)行20次取其平均值)來反應(yīng)算法的計算工作量,結(jié)果如表5所示。
表5 算法運(yùn)行時間對比Tab.5 Comparison of algorithm running time
在種群規(guī)模為100,迭代次數(shù)為200的情況下,分別計算了3種算法的運(yùn)行時間。從表5可以看出,RAO-1、GCRAO算法的運(yùn)行時間明顯小于PSO算法,這是因為RAO-1具有核心公式較為簡單,需要設(shè)置的算法參數(shù)極少,而GCRAO在RAO-1的基礎(chǔ)上引入了高斯柯西變異策略,算法根據(jù)不同的運(yùn)行狀態(tài)來選擇變異策略,這無疑會增加算法的計算量,但是從表中可以看出相差較小。這說明GCRAO具有較快的電機(jī)參數(shù)辨識速度。
由上所述可知,RAO-1相較于PSO算法在PMSM參數(shù)辨識問題上精度已經(jīng)得到了提高,誤差更小,除了對于電感辨識還存在一定偏差外,其他各個參數(shù)誤差都已經(jīng)小于百分之一,而GCRAO在RAO-1基礎(chǔ)上精度進(jìn)一步提高。從算法辨識結(jié)果看出,GCRAO的初步收斂狀態(tài)與PSO、RAO-1算法大致相同,但是GCRAO在迭代次數(shù)達(dá)到85左右的時候自適應(yīng)函數(shù)進(jìn)一步減小,精度又提高了,這說明算法從初步收斂向重度收斂方向取得了進(jìn)展,算法的全局探索能力確實得到了增強(qiáng),進(jìn)而也驗證了上述算法運(yùn)行分段思想的正確性。從最后的結(jié)果來看,GCRAO參數(shù)辨識誤差都在0.1%左右,對比之下,證明了GCRAO算法的性能優(yōu)越,具有更高的辨識精度。
GCRAO保留了原RAO算法的優(yōu)勢,相較于其他復(fù)雜的智能算法而言,不需要過多的算法參數(shù),有更簡潔的核心公式,算法精度較高。同時GCRAO的通用性較廣,同樣也可以用來辨識異步電機(jī)或者風(fēng)力發(fā)電機(jī)等多種類型的電機(jī)。
本文針對傳統(tǒng)電機(jī)參數(shù)辨識存在算法復(fù)雜度高、辨識速度慢、辨識精度低的問題,通過對RAO-1算法進(jìn)行改進(jìn),提出算法3運(yùn)行階段,利用高斯柯西的函數(shù)特性來契合各個階段的算法變異策略,來改善原RAO-1容易陷入局部最優(yōu)的問題,并通過5個標(biāo)準(zhǔn)測試函數(shù)來驗證GCRAO具有更強(qiáng)的全局探索能力,然后通過在Matlab/Simulink軟件中搭建了基于矢量控制的PMSM模型,并分別將PSO、RAO-1和GCRAO應(yīng)用于電機(jī)的參數(shù)辨識領(lǐng)域進(jìn)行對比實驗,最終的實驗結(jié)果表明GCRAO對于電機(jī)辨識更為精確,進(jìn)一步驗證GCRAO算法的性能優(yōu)越。由于GCRAO算法參數(shù)設(shè)置少,易于嵌入式系統(tǒng)實現(xiàn),因此本文的研究成果為智能算法應(yīng)用于電機(jī)參數(shù)辨識的嵌入式系統(tǒng)應(yīng)用提供了一種方法。