楊銘 李翔龍 陳兵
1.四川大學(xué)機(jī)械工程學(xué)院;2.創(chuàng)新方法與創(chuàng)新設(shè)計(jì)四川省重點(diǎn)實(shí)驗(yàn)室;3.東方電氣股份有限公司
為降低伺服系統(tǒng)的響應(yīng)時(shí)間、提高控制精度,基于神經(jīng)網(wǎng)絡(luò)等智能算法設(shè)計(jì)出的速度環(huán)伺服控制器與電機(jī)和負(fù)載的參數(shù)密切相關(guān)。對(duì)于伺服系統(tǒng)負(fù)載轉(zhuǎn)動(dòng)慣量和負(fù)載轉(zhuǎn)矩難以實(shí)時(shí)測(cè)量的問(wèn)題,本文提出用改進(jìn)的粒子群算法進(jìn)行辨識(shí)。通過(guò)使用非線性變化的學(xué)習(xí)因子和慣性權(quán)重來(lái)改善傳統(tǒng)粒子群算法易陷入局部最小、收斂速度慢等問(wèn)題。當(dāng)電機(jī)啟動(dòng)處于加速階段或運(yùn)行過(guò)程中速度突變超過(guò)設(shè)定閾值時(shí),采用改進(jìn)粒子群算法來(lái)辨識(shí)負(fù)載轉(zhuǎn)矩和慣量。論文首先分析永磁同步電機(jī)模型,抽象出參數(shù)辨識(shí)的基本問(wèn)題,并用改進(jìn)的粒子群尋優(yōu)方法解決問(wèn)題。仿真結(jié)果驗(yàn)證了方法的可行性和有效性。
以永磁同步電機(jī)(PMSM)為核心運(yùn)動(dòng)裝置的交流伺服裝置被用于高精度控制領(lǐng)域,如數(shù)控機(jī)床、多軸機(jī)械臂等。在實(shí)際應(yīng)用中,復(fù)雜的運(yùn)行工況、電機(jī)內(nèi)部的材料變化等,使電機(jī)參數(shù)產(chǎn)生變化,例如,機(jī)械臂關(guān)節(jié)的位姿變化,使電機(jī)受到的負(fù)載轉(zhuǎn)矩和轉(zhuǎn)動(dòng)慣量在實(shí)時(shí)變化。而應(yīng)用于此的高性能控制器設(shè)計(jì),大多需要電機(jī)和負(fù)載的實(shí)時(shí)參數(shù)。
負(fù)載端的慣量和轉(zhuǎn)矩識(shí)別主要有:(1)離線識(shí)別[1]。主要方法有直流衰減法、直接計(jì)算法、實(shí)驗(yàn)測(cè)定法、加減速法等。雖然離線方法能為控制器參數(shù)整定提供初始依據(jù),但難以解決電機(jī)在運(yùn)行過(guò)程中因參數(shù)變化引起的控制性能降低的問(wèn)題。(2)在線識(shí)別[2]。主要方法有滑模觀測(cè)器法、神經(jīng)網(wǎng)絡(luò)擬合方法等智能算法以及遞推最小二乘法等常規(guī)方法。在線方法雖能在設(shè)定的周期內(nèi)辨識(shí)參數(shù),但仍存在需要先驗(yàn)知識(shí)、算法復(fù)雜度高、收斂慢等問(wèn)題。
粒子群優(yōu)化[3](Particle Swarm Optimization,PSO)是受動(dòng)物覓食行為啟發(fā)而得到的一種全局隨機(jī)尋優(yōu)搜索算法。該算法有眾多優(yōu)點(diǎn):如控制參數(shù)少、無(wú)需參數(shù)先驗(yàn)知識(shí)、計(jì)算內(nèi)存需求少等。但同樣存在收斂速度慢、精度低等問(wèn)題。許多學(xué)者提出了不同的改進(jìn)方式,主要分為對(duì)PSO 參數(shù)的改進(jìn)、運(yùn)動(dòng)方程的改進(jìn)和融合其他方法[4]。引用[5]提出了慣性權(quán)重隨機(jī)線性遞減的策略,解決了線性遞減策略逐漸加強(qiáng)局部搜索而陷入局部最優(yōu)的缺陷。引用[6]針對(duì)PSO 參數(shù)固定導(dǎo)致參數(shù)辨識(shí)精度較差的問(wèn)題,提出學(xué)習(xí)因子隨慣性權(quán)重變化的策略,擺脫局部最優(yōu)解的陷阱。如圖1 所示,引用[7]在引用[8]的基礎(chǔ)上提出一個(gè)改進(jìn)均值粒子群算法(MeanPSO),使用個(gè)體極值和全局極值進(jìn)行速度計(jì)算,使算法的搜索范圍更大,在算法前期更容易得到最優(yōu)解,位置更新采用隨當(dāng)前種群適應(yīng)度大小而改變的方法,增強(qiáng)算法局部勘探能力,加快收斂速度。
圖1 均值粒子群算法原理圖Fig.1 Schematic diagram of mean PSO
以上提出的方法雖能提高辨識(shí)精度,但也同樣增加了算法的復(fù)雜性,與粒子群算法本身的原理簡(jiǎn)單、參數(shù)少的優(yōu)點(diǎn)相悖。所以在不增加算法復(fù)雜程度的前提下,本文提出改進(jìn)學(xué)習(xí)因子和慣性權(quán)重的粒子群算法來(lái)實(shí)時(shí)同步辨識(shí)負(fù)載轉(zhuǎn)矩及慣量。通過(guò)仿真實(shí)驗(yàn)對(duì)比傳統(tǒng)粒子群算法、引用[8]的改進(jìn)算法和本文提出的改進(jìn)算法的辨識(shí)效果。
在建立PMSM 的模型之前,補(bǔ)充如下條件便于簡(jiǎn)化分析,可將其視為理想電機(jī)[9]:
(1)忽略電機(jī)鐵芯的飽和;
(2)不計(jì)電機(jī)中的渦流和磁滯損耗;
(3)電流三相正弦且對(duì)稱。
這樣可得出三相電壓方程如式(1)所示:
其中,U、i、ψ分別表示電壓、電流和磁鏈,R為每一相的相電阻。
將式(1)經(jīng)過(guò)Clark 坐標(biāo)變換和Park 坐標(biāo)變換后得到dq坐標(biāo)系下的電壓方程如式(2)所示:
定子磁鏈方程如式(3)所示:
將式(3)代入式(2)中,得到d-q軸電壓方程如式(4)所示:
其中,Ud、Uq表示d-q軸電壓,id、iq表示d-q軸電流,ψd、ψq表示d-q軸磁鏈,ωe表示電角速度,Ld、Lq表示的d-q軸電感,ψf表示磁鏈。
此時(shí)電磁轉(zhuǎn)矩方程可寫為如式(5)所示:
其中,Te表示電機(jī)當(dāng)前的電磁轉(zhuǎn)矩,pn表示電機(jī)的極對(duì)數(shù)。
另外,電機(jī)的機(jī)械運(yùn)動(dòng)方程如式(6)-式(8)所示:
其中,ωm為電機(jī)機(jī)械角速度,J為轉(zhuǎn)動(dòng)慣量,B為阻尼系數(shù),TL為負(fù)載轉(zhuǎn)矩,Nr為電機(jī)的轉(zhuǎn)速。
PMSM 模型的運(yùn)動(dòng)學(xué)方程為式(6)和式(7),忽略阻尼系數(shù)B,式(6)可以簡(jiǎn)化為如式(9)所示:
伺服系統(tǒng)采樣數(shù)據(jù)因電磁、溫度等環(huán)境因素的影響存在擾動(dòng)和噪聲誤差,要通過(guò)多個(gè)離散采樣點(diǎn)來(lái)計(jì)算出近似斜率和截距。同樣,伺服系統(tǒng)的位置信息由光電編碼器采集,當(dāng)電機(jī)處于低轉(zhuǎn)速時(shí),編碼器信息會(huì)有較大誤差。而通過(guò)微分得到的加速度數(shù)據(jù)將放大此誤差。綜上,式(9)實(shí)際上并不是一條直線,只能把采樣的離散數(shù)據(jù)點(diǎn)經(jīng)過(guò)篩選后擬合出一條近似的直線。
記采集的M個(gè)離散點(diǎn)為Pi(ω(i),Te(i)),i=1,2,...,M,根據(jù)最小方差原理,計(jì)算每個(gè)離散點(diǎn)到擬合直線距離的平方和,設(shè)計(jì)適應(yīng)度函數(shù)如式(10)所示:
式(10)中,T是采樣周期,表示電機(jī)轉(zhuǎn)子和負(fù)載的慣量和的估計(jì)值, ?LT表示負(fù)載轉(zhuǎn)矩的估計(jì)值,C(ω(i),Te(i))為適應(yīng)度函數(shù)。與每個(gè)時(shí)鐘周期相比,假設(shè)負(fù)載轉(zhuǎn)矩在一個(gè)時(shí)鐘周期內(nèi)不變化,則負(fù)載轉(zhuǎn)矩可以被視為緩慢變化的量。適應(yīng)度函數(shù)是點(diǎn)和擬合線之間距離的平方和的最小值。當(dāng)取當(dāng)前迭代的最小值時(shí),可以獲得最接近所有離散點(diǎn)的線,這是最佳近似線。
通過(guò)工程上的經(jīng)驗(yàn)可以知道[11]:電機(jī)轉(zhuǎn)動(dòng)慣量的最小值為轉(zhuǎn)子的轉(zhuǎn)動(dòng)慣量,最大一般為轉(zhuǎn)子慣量十倍。電機(jī)空載時(shí)為負(fù)載轉(zhuǎn)矩的最小值,看作為0,最大一般為額定轉(zhuǎn)矩的三倍。因此,可以獲得轉(zhuǎn)動(dòng)慣量和轉(zhuǎn)矩的經(jīng)驗(yàn)范圍作為優(yōu)化算法的解空間的搜索域。到目前為止,只需要在解空間中找到慣性矩的估計(jì)值和負(fù)載轉(zhuǎn)矩的估計(jì)值,以最小化適應(yīng)度函數(shù)。
對(duì)于d維的空間,種群中有i個(gè)粒子,每個(gè)粒子包含兩個(gè)信息:位置和速度。在搜尋空間中,每一顆粒在各個(gè)時(shí)間上會(huì)對(duì)各個(gè)個(gè)體的方向進(jìn)行簡(jiǎn)單的調(diào)節(jié),并且將整體粒子的最優(yōu)軌跡取向,從而尋找整體最優(yōu)解。該方法采用迭代對(duì)各顆粒的速度及位置進(jìn)行更新,并對(duì)多維空間內(nèi)的運(yùn)動(dòng)軌跡進(jìn)行了動(dòng)態(tài)的調(diào)節(jié)。再利用適應(yīng)度函數(shù)對(duì)各粒子的適應(yīng)度進(jìn)行運(yùn)算,從而得到空間內(nèi)更好的位置。通過(guò)如式(11)和式(12)所示的去更新每個(gè)粒子的速度和位置,以便在下一次迭代中進(jìn)行適應(yīng)度評(píng)估:
式中:i=1,2,…,x;d=1,2,…,D;?id(k+ 1)表示在k+1 時(shí)刻粒子i在第d維度的速度;pid為個(gè)體極值;pgd為全局極值;ω為慣性權(quán)重;c1和c2為學(xué)習(xí)因子;r1和r2是范圍為(0,1)的隨機(jī)數(shù)。
通過(guò)式(11)可知,ωid?表示上一周期的速度值,它對(duì)于粒子的初始移動(dòng)是非常必要的。接著,c1r1(pid-xid)表示單個(gè)個(gè)體的信息,是能夠讓粒子向目前最優(yōu)的個(gè)體極值前進(jìn)的啟發(fā)項(xiàng)。第三項(xiàng)c2r2(pgd-xid)表示粒子之間的協(xié)同效應(yīng),啟發(fā)粒子向當(dāng)前全局極值移動(dòng)。
當(dāng)ω值過(guò)小時(shí),粒子群優(yōu)化算法全局求優(yōu)能力較差,局部求優(yōu)能力較好;當(dāng)ω值過(guò)大時(shí),粒子群優(yōu)化算法的全局求優(yōu)能力較強(qiáng),而局部求優(yōu)能力較差。因此提出改進(jìn)的非線性變化慣性權(quán)重算法為[12]:提出Y與U兩個(gè)可變算子,分別在不同情況下,對(duì)慣性權(quán)重ω進(jìn)行優(yōu)化,增強(qiáng)PSO 前期全局搜索能力與后期局部搜索能力,算子及慣性權(quán)重的算法如式(13)、式(14)、式(15)所示:
式中:k為當(dāng)前迭代次數(shù),kmax為最大迭代次數(shù),Y算子與U算子可以通過(guò)因子c1和c2進(jìn)行自適應(yīng)調(diào)整。當(dāng)c1=0、c2≠0 時(shí),粒子群收斂速度快,容易出現(xiàn)早熟現(xiàn)象;當(dāng)c1≠0、c2=0 時(shí),粒子只考慮自己的信息,各個(gè)粒子之間卻交流較少,大大降低收斂的速度,導(dǎo)致粒子會(huì)在一定的區(qū)間內(nèi)漂移。
為了獲得全局最優(yōu)值,避免陷入局部最優(yōu)狀態(tài),基于粒子群算法對(duì)學(xué)習(xí)因子c1和c2的值進(jìn)行動(dòng)態(tài)調(diào)整。使用如式(16)和式(17)所示的公式對(duì)c1和c2進(jìn)行自適應(yīng)優(yōu)化:
式中:α=β=1。
算法的尋優(yōu)過(guò)程如圖2 所示,分為如下幾個(gè)步驟:
圖2 改進(jìn)PSO 辨識(shí)流程圖Fig.2 Improved PSO identification flowchart
步驟1:初始化種群粒子數(shù)、離散點(diǎn)數(shù)、搜索區(qū)間和最大迭代次數(shù)。在搜索空間對(duì)每個(gè)粒子賦隨機(jī)初值。
步驟2:?jiǎn)?dòng)電機(jī)使之進(jìn)入加速階段。采樣所需數(shù)據(jù)后,舍棄電機(jī)剛啟動(dòng)時(shí)速度100r/min 以下的爬行數(shù)據(jù),取連續(xù)的離散點(diǎn)作為代入適應(yīng)度函數(shù)的數(shù)據(jù)集合。
步驟3:把數(shù)據(jù)集代入適應(yīng)度函數(shù)更新粒子的適應(yīng)度值。
步驟4:迭代后粒子更新位置、速度、學(xué)習(xí)因子和慣性權(quán)重。比較每個(gè)粒子現(xiàn)期與前期的適應(yīng)度,對(duì)個(gè)體極值進(jìn)行記憶與更新。
步驟5:最優(yōu)的個(gè)體極值將被保存為全局極值p_gd,每個(gè)個(gè)體極值也將被更新保存。
步驟6:當(dāng)全局極值連續(xù)穩(wěn)定5 次以上或達(dá)到最大迭代次數(shù)后,結(jié)束迭代,全局極值就是得到的解。否則繼續(xù)迭代更新。
為了證明本辨識(shí)負(fù)載及慣量方法的有效性,在搭建PMSM 仿真模型上進(jìn)行帶載實(shí)驗(yàn)。其中辨識(shí)轉(zhuǎn)動(dòng)慣量為0.52e-4,負(fù)載轉(zhuǎn)矩為0.05,粒子群的粒子數(shù)為20,離散點(diǎn)數(shù)據(jù)組數(shù)為30,最大迭代數(shù)為100,傳統(tǒng)PSO 和MeanPSO 的慣性因子為0.8,學(xué)習(xí)因子均為2[3]。本文提出的非線性學(xué)習(xí)因子和慣性權(quán)重變化曲線如圖3 和圖4所示。辨識(shí)結(jié)果如圖5、圖6 所示。
圖3 改進(jìn)PSO 的學(xué)習(xí)因子曲線Fig.3 Learning factor curve for improved PSO
圖4 改進(jìn)PSO 的慣性權(quán)重曲線Fig.4 Inertia weight curve of improved PSO
圖5 轉(zhuǎn)動(dòng)慣量辨識(shí)曲線Fig.5 Inertia identification curve
圖6 負(fù)載轉(zhuǎn)矩辨識(shí)曲線Fig.6 Load torque identification curve
通過(guò)分析圖5 和圖6 的辨識(shí)結(jié)果,經(jīng)過(guò)迭代12 次左右后本文提出的改進(jìn)粒子群算法收斂,辨識(shí)速度較快且精度高,與給定值的相對(duì)誤差分別為0.07%和4%。而其他兩種方法在迭代30 次以上收斂,同時(shí)存在精度不足的問(wèn)題。
本文基于針對(duì)永磁同步電機(jī)負(fù)載轉(zhuǎn)矩及慣量的辨識(shí)問(wèn)題,提出基于非線性學(xué)習(xí)因子和慣性權(quán)重的改進(jìn)粒子群優(yōu)化辨識(shí)算法。此時(shí)把伺服系統(tǒng)的負(fù)載和慣量辨識(shí)問(wèn)題轉(zhuǎn)化成直線擬合問(wèn)題,這種問(wèn)題可以通過(guò)算法進(jìn)行求優(yōu)。仿真結(jié)果顯示,這種改進(jìn)方法在不會(huì)增加算法復(fù)雜度的同時(shí),可以有效解決粒子群算法本身較慢的收斂速度,容易得到極小值而不是全局最小值等問(wèn)題。本文雖然驗(yàn)證了算法的有效性,但仍然存在抗干擾能力不足、響應(yīng)是否及時(shí)等問(wèn)題,在以后的實(shí)際使用中需要進(jìn)一步研究并解決。