汪謙松, 夏 鏈, 韓 江
(合肥工業(yè)大學(xué) 機(jī)械工程學(xué)院,安徽 合肥 230009)
直線電機(jī)在執(zhí)行高速、高精的直線運(yùn)動(dòng)時(shí),相對(duì)“旋轉(zhuǎn)電機(jī)+滾珠絲桿”的運(yùn)動(dòng)方式革除了中間傳動(dòng)環(huán)節(jié),提高了機(jī)械傳動(dòng)效率,減小了傳動(dòng)誤差,因此直線電機(jī)在許多領(lǐng)域均得到了廣泛的應(yīng)用。但由于沒(méi)有中間環(huán)節(jié),外界的任何擾動(dòng)將直接作用于直線電機(jī),增加了控制難度,同時(shí)直線電機(jī)是個(gè)時(shí)變的、強(qiáng)耦合的非線性系統(tǒng),單純采用傳統(tǒng)PID控制達(dá)不到理想的效果,直線電機(jī)的精確控制是目前電機(jī)控制領(lǐng)域要解決的問(wèn)題之一[1]。國(guó)內(nèi)外也有不少學(xué)者對(duì)其進(jìn)行了研究。文獻(xiàn)[2]針對(duì)直線電機(jī)的推力波動(dòng)和非線性摩擦力,提出一種滑模自適應(yīng)控制策略,改善了直線電機(jī)的自適應(yīng)性;文獻(xiàn)[3]為減小外界擾動(dòng)對(duì)直線電機(jī)的干擾,設(shè)計(jì)一種自適應(yīng)前饋補(bǔ)償器,提高了控制性能;文獻(xiàn)[4]采用遺傳算法對(duì)直線電機(jī)的位置環(huán)和速度環(huán)參數(shù)進(jìn)行聯(lián)合整定,與單獨(dú)整定比較,跟蹤誤差減小了40%以上。
模糊控制是通過(guò)模擬人的思考方式,對(duì)控制對(duì)象進(jìn)行模糊推理來(lái)解決控制系統(tǒng)中存在的不確定性問(wèn)題,很適合直線電機(jī)的伺服系統(tǒng)[5-7]。本文在位置環(huán)PID控制的基礎(chǔ)上,結(jié)合模糊控制思想,設(shè)計(jì)了模糊PID控制器,并通過(guò)改進(jìn)人群搜索算法(improved seeker optimization algorithm,ISOA)對(duì)模糊PID控制器的參數(shù)進(jìn)行優(yōu)化,從而提高了直線電機(jī)的快速性和穩(wěn)定性。
在d-q坐標(biāo)系下,永磁同步直線電機(jī)的電壓平衡方程為:
(1)
其中:ud、uq分別為d、q軸的電壓;id、iq分別為d、q軸的電流;Ld、Lq分別為d、q軸的電感;ω為電角速度;Rs為繞組;ψf為磁鏈。
各種擾動(dòng)框圖如圖1所示。
圖1 直線電機(jī)干擾力模型
在永磁同步直線電機(jī)正常工作過(guò)程中受到的干擾很多,如負(fù)載變化、摩擦力、紋波推力、振動(dòng)以及參數(shù)攝動(dòng)等[8-10],這些干擾都會(huì)導(dǎo)致直線電機(jī)運(yùn)行的平穩(wěn)性降低。根據(jù)牛頓第二定律,永磁同步直線電機(jī)的動(dòng)力學(xué)方程可表示為:
(2)
Fd(t)=Frip(x)+Fload(t)+Fn(t)
(3)
本文采用id=0的電流矢量控制策略,簡(jiǎn)化永磁同步直線電機(jī)的模型,其框圖如圖2所示。
圖2 永磁同步直線電機(jī)模型框圖
PID控制是最早使用的控制方法之一,由于PID控制具有簡(jiǎn)單、控制穩(wěn)定性好等優(yōu)點(diǎn),被廣泛應(yīng)用于各個(gè)領(lǐng)域。
PID控制時(shí)域表達(dá)形式為:
(4)
其中:e(t)為偏差量;u(t)為輸出量;Kp、Ki、Kd均為PID參數(shù)。
模糊控制對(duì)時(shí)變的、參數(shù)不確定的非線性系統(tǒng)具有很好的控制效果[6],因此針對(duì)直線電機(jī)位置環(huán)控制引入二維模糊控制器,其原理如圖3所示。
圖3 二維模糊PID控制原理框圖
從圖3可以看出,模糊PID控制器的原理是將偏差e和偏差變化率ce通過(guò)模糊化后轉(zhuǎn)為模糊量;然后經(jīng)模糊推理得到模糊輸出量;最后對(duì)模糊輸出量進(jìn)行解模糊操作,轉(zhuǎn)化為初始PID參數(shù)K1p、K1i和K1d的調(diào)節(jié)量ΔKp、ΔKi和ΔKd,最終作用于系統(tǒng)位置環(huán)的PID參數(shù)Kp、Ki和Kd分別為:
(5)
模糊控制器一般有4個(gè)模塊,即模糊化、模糊規(guī)則、模糊推理和解模糊。
模糊化指將控制系統(tǒng)輸入的精確量轉(zhuǎn)化為計(jì)算機(jī)可以識(shí)別的模糊量。本文將系統(tǒng)輸入和輸出的模糊語(yǔ)言變量均設(shè)置為7個(gè),即{NB,NM,NS,ZO,PS,PM,PB},這樣既能保證模糊推理的速度,也可以清晰準(zhǔn)確地描述輸入和輸出變量;設(shè)置輸入和輸出的模糊論域均為[-3,3];選擇靈敏度
較好的三角形隸屬度函數(shù)具有較好的靈敏度,因此將其作為輸入和輸出變量的隸屬度函數(shù),如圖4所示。
圖4 輸入和輸出變量的隸屬度函數(shù)
模糊規(guī)則是根據(jù)專家推理和人類在控制領(lǐng)域得到的一系列經(jīng)驗(yàn)相結(jié)合的產(chǎn)物,其語(yǔ)句通常用一些關(guān)系詞組合表示,即
ifeisA1andceisA2then ΔKuisB,
其中:A1、A2均為輸入變量的模糊集合;B為輸出變量的模糊集合。
參考專家經(jīng)驗(yàn),結(jié)合實(shí)驗(yàn)平臺(tái)PID參數(shù)的調(diào)試經(jīng)驗(yàn),建立模糊規(guī)則見(jiàn)表1所列。
表1 ΔKp、ΔKi和ΔKd的模糊規(guī)則
模糊推理是模糊控制器的核心,是依據(jù)模糊規(guī)則來(lái)推理出合適的輸出量,其推理方式的合理性將決定著控制系統(tǒng)性能的好壞。Mamdani推理法是通過(guò)采用取小運(yùn)算來(lái)計(jì)算模糊關(guān)系,該方法相對(duì)來(lái)說(shuō)比較簡(jiǎn)便,能對(duì)控制輸出量進(jìn)行線性控制,是目前應(yīng)用最多的一種推理方法。
解模糊是將模糊推理后得到的模糊量轉(zhuǎn)化為清晰量。本文選擇目前使用最多的面積中心(重心)法作為解模糊化算法。
模糊PID控制器中的量化因子和比例因子雖然可以根據(jù)相關(guān)公式獲得,但是往往使用這些計(jì)算來(lái)的參數(shù)控制效果并不好,而人工試湊費(fèi)時(shí)費(fèi)力,因此本文提出采用ISOA對(duì)這5個(gè)參數(shù)進(jìn)行尋優(yōu),獲得最佳的控制參數(shù),以提高直線電機(jī)系統(tǒng)的控制性能。
人群搜索算法(seeker optimization algorithm,SOA)是對(duì)人的搜索行為進(jìn)行研究的基礎(chǔ)上,得出的一種新型的啟發(fā)式優(yōu)化算法。
3.1.1 搜索步長(zhǎng)
通過(guò)算法的不確定性建立隸屬度函數(shù)與搜索步長(zhǎng)的關(guān)聯(lián)。采用高斯隸屬度函數(shù)來(lái)表示搜索步長(zhǎng)的模糊變量,即
(6)
其中:αij為每個(gè)搜索者i在j維空間的搜索步長(zhǎng);u(αij)為隸屬度函數(shù);δij為參數(shù)。當(dāng)步長(zhǎng)αij?[-3δij,+3δij]時(shí),隸屬度函數(shù)的值小于0.011 1,將忽略不計(jì),因此,常設(shè)最小隸屬度值umin=0.011 1,最大隸屬度umax=0.95。
將各搜索者的適應(yīng)度值按遞減的順序排序,可將函數(shù)值轉(zhuǎn)為自然數(shù)1~S的模糊輸入,適應(yīng)度目標(biāo)函數(shù)的模糊輸入“小”的隸屬度函數(shù)如下:
i=1,…,S
(7)
uij=rand(ui,1),j=1,…,D
(8)
其中:ui為適應(yīng)度值i的隸屬度;uij為j維搜索空間適應(yīng)度值i的隸屬度;Ii為適應(yīng)度值降序排列后的編號(hào);umin、umax為最小、最大隸屬度值;rand(ui,1)為[ui,1]上的隨機(jī)數(shù)。
根據(jù)(7)式和(8)式,結(jié)合不確定性行為部分,得出步長(zhǎng)計(jì)算公式如下:
(9)
其中:w為慣性權(quán)重;xmin、xmax分別為最小、最大適應(yīng)度值對(duì)應(yīng)的位置。
3.1.2 搜索方向
第i個(gè)搜索者的利己方向di,ego、利他方向di,alt以及預(yù)動(dòng)方向di,pro,可分別表示為:
di,ego(t)=pi,best-xi(t)
(10)
di,alt(t)=gi,best-xi(t)
(11)
di,pro=xi(t1)-xi(t2)
(12)
其中:pi,best為當(dāng)前最佳位置;gi,best為歷史最佳位置;xi(t1)、xi(t2)為{xi(t-2),xi(t-1),xi(t)}中的最佳位置。
搜尋者在搜索過(guò)程中需要考慮的因素較多,通常確定搜索方向dij的公式為:
dij(t)=sign(wdi,pro+φ1di,ego+φ2di,alt)
(13)
其中:φ1、φ2為[0,1]區(qū)間上的隨機(jī)實(shí)數(shù)。
3.1.3 位置更新
在搜索者確定搜索步長(zhǎng)和方向后進(jìn)行位置更新,其計(jì)算公式為:
Δxij(t+1)=αij(t)dij(t)
(14)
xij(t+1)=xij(t)+Δxij(t+1)
(15)
雖然SOA已經(jīng)具有很好的優(yōu)化效果,但也存在著陷入局部最優(yōu)、搜索精度不高等缺點(diǎn),為解決這些問(wèn)題,還需要對(duì)算法進(jìn)行改進(jìn),以提高算法的尋優(yōu)能力。
3.2.1 模擬退火思想的引入
模擬退火(simulated annealing,SA)算法具有很強(qiáng)的突跳能力,能夠有效地避免該算法在搜索過(guò)程中陷入局部最優(yōu)?,F(xiàn)定義初始溫度T0:
(16)
其中:fmin、fmax為初始種群的最小、最大適應(yīng)度值。
退火溫度可根據(jù)經(jīng)典降溫方式確定,具體公式如下:
(17)
其中:Tt為第t次迭代時(shí)的溫度。
每一個(gè)搜索者位置被選擇的概率pi可根據(jù)Metropolis準(zhǔn)則進(jìn)行確定,具體公式如下:
(18)
其中:Ti為當(dāng)前的溫度;f(i)、f(j)為當(dāng)前位置的適應(yīng)度值和新位置的適應(yīng)度值,Δf=f(i)-f(j)。當(dāng)Δf<0時(shí),以概率1接受新位置;當(dāng)Δf≥0時(shí),以概率exp(-Δf/Ti)接受新位置。
3.2.2 慣性權(quán)重非線性化
由文獻(xiàn)[11]可知,慣性權(quán)重采用非線性遞減比線性遞減具有更快的收斂速度,且尋優(yōu)質(zhì)量更高。故本文提出一種基于橢圓曲線的慣性改進(jìn)策略,在迭代初期,w遞減速度較慢,維持較大值,算法有著較強(qiáng)的全局搜索能力;在迭代中期,w迅速遞減;在迭代后期,w一直保持較小值,算法具有較強(qiáng)的局部搜索能力。改進(jìn)前后慣性權(quán)重w的對(duì)比如圖5所示。
圖5 改進(jìn)前后慣性權(quán)重w的對(duì)比曲線
改進(jìn)后慣性權(quán)重w的表達(dá)式如下:
(19)
其中:Δw=(wmax-wmin)/2;t為當(dāng)前迭代次數(shù);Tmax為最大迭代次數(shù)。
3.2.3ISOA優(yōu)化步驟
ISOA優(yōu)化步驟如下:
(1) 初始化,產(chǎn)生S個(gè)初始位置。
(2) 計(jì)算、評(píng)價(jià)每個(gè)搜索者位置的適應(yīng)度函數(shù)值,將第i個(gè)搜尋者的位置置于個(gè)體最佳位置gbesti,將所有成員中最好的位置置于全局最佳位置zbest。
(3) 設(shè)定初始溫度T0。
(4) 計(jì)算當(dāng)前溫度下的所有搜索者個(gè)體的適應(yīng)度值,根據(jù)Metropolis準(zhǔn)則從這些個(gè)體的最佳位置中選擇一個(gè)作為全局最佳位置的替代量。
(5) 計(jì)算每一個(gè)搜索者i在j維空間的搜索方向和搜索步長(zhǎng),更新每個(gè)搜索者的位置。
(6) 根據(jù)個(gè)體最佳適應(yīng)度值f(gbesti)判斷每個(gè)搜索者所到位置是否是個(gè)體最佳位置gbesti,若是,則進(jìn)行個(gè)體最佳位置更新。
(7) 根據(jù)全局最佳適應(yīng)度值f(zbest)判斷每個(gè)搜索者所到位置是否是全局最佳位置zbest,若是,則進(jìn)行全局最佳位置更新。
(8) 進(jìn)行降溫操作,t→t+1。
(9) 判斷是否滿足結(jié)束優(yōu)化條件(t≥Tmax),若是,則停止搜索,得到最佳位置zbest和最佳適應(yīng)
度值f(zbest);否則返回步驟(2)。
(10) 結(jié)束尋優(yōu)。
3.2.4ISOA的測(cè)試
為了驗(yàn)證ISOA具有更佳的搜索性能,采用3個(gè)經(jīng)典測(cè)試函數(shù)進(jìn)行尋優(yōu)測(cè)試,設(shè)置測(cè)試函數(shù)的搜索參數(shù)見(jiàn)表2所列。
表2 3種測(cè)試函數(shù)的搜索參數(shù)
設(shè)置最大迭代次數(shù)為200,分別采用SOA和ISOA對(duì)3種函數(shù)分別尋優(yōu)30次,得到的結(jié)果見(jiàn)表3所列。
表3 SOA和ISOA尋優(yōu)結(jié)果
從表3可以看出,ISOA和SOA雖都具有很好的搜索性能,但I(xiàn)SOA比SOA跳出局部最優(yōu)的能力更強(qiáng),搜索精度也優(yōu)于SOA。
將ISOA用于解決永磁同步直線電機(jī)模糊PID控制的參數(shù)優(yōu)化,以時(shí)間t乘誤差e(t)積分準(zhǔn)則作為適應(yīng)度函數(shù),具體如下:
(20)
在Simulink中分別建立直線電機(jī)傳統(tǒng)PID控制和ISOA優(yōu)化的模糊PID(ISOA+FPID)控制的仿真模型,以單位階躍為系統(tǒng)輸入,得到響應(yīng)曲線如圖6所示。
圖6 系統(tǒng)單位階躍響應(yīng)曲線
ISOA優(yōu)化中適應(yīng)度值隨迭代次數(shù)變化的曲線如圖7所示。
從仿真結(jié)果可看出,采用ISOA優(yōu)化的模糊PID(ISOA+FPID)控制比傳統(tǒng)PID控制在性能上有明顯提升,其上升時(shí)間和穩(wěn)態(tài)誤差上相比傳統(tǒng)PID控制分別減少了62.5%和96.7%,進(jìn)一步驗(yàn)證了本文改進(jìn)的ISOA算法的優(yōu)越性及實(shí)用性。
圖7 適應(yīng)度函數(shù)迭代曲線
在基于PMAC運(yùn)動(dòng)控制卡的直線電機(jī)實(shí)驗(yàn)平臺(tái)驗(yàn)證算法的實(shí)用性,通過(guò)PEWIN32 PRO2軟件進(jìn)行伺服算法的編寫(xiě)、調(diào)試,給定階躍運(yùn)動(dòng)和正弦運(yùn)動(dòng),驗(yàn)證算法的實(shí)用性和優(yōu)越性。直線電機(jī)實(shí)驗(yàn)平臺(tái)如圖8所示。
圖8 直線電機(jī)實(shí)驗(yàn)平臺(tái)
在空載的情況下,針對(duì)直線電機(jī)實(shí)驗(yàn)平臺(tái)X軸的位置環(huán)分別采用傳統(tǒng)PID控制和本文提出的ISOA+FPID控制,設(shè)置階躍信號(hào)的步長(zhǎng)為1 000 cts(1 cts=0.1 μm),步長(zhǎng)時(shí)間為500 ms,對(duì)比實(shí)驗(yàn)結(jié)果如圖9所示。
圖9 2種控制算法的階躍運(yùn)動(dòng)實(shí)驗(yàn)結(jié)果
從圖9可以看出,給定階躍信號(hào),采用傳統(tǒng)的PID控制,直線電機(jī)伺服控制系統(tǒng)的超調(diào)量為13.7%,調(diào)整時(shí)間為72 ms,最終穩(wěn)態(tài)值為6.1 cts;采用本文提出的ISOA+FPID控制策略,系統(tǒng)的超調(diào)量為7.2%,為前者的52.5%,調(diào)整時(shí)間為52 ms,為前者的72.2%,穩(wěn)態(tài)誤差更是減小到0.9 cts,僅為前者的15.7%。上述結(jié)果表明,ISOA+FPID控制與傳統(tǒng)PID控制相比,直線電機(jī)控制系統(tǒng)的響應(yīng)速度有著明顯的提高,超調(diào)量減小,且靜態(tài)特性也變得更好,控制性能得到了顯著的提高。
在空載的情況下,針對(duì)直線電機(jī)實(shí)驗(yàn)平臺(tái)X軸的位置環(huán)分別采用傳統(tǒng)PID控制和本文提出的ISOA+FPID控制,設(shè)置正弦運(yùn)動(dòng)f(t)=1 000 sin(2πt),為了減少系統(tǒng)誤差,其運(yùn)動(dòng)的起始位置與上述實(shí)驗(yàn)一致,對(duì)比實(shí)驗(yàn)結(jié)果如圖10所示。
圖10 2種控制算法的正弦運(yùn)動(dòng)實(shí)驗(yàn)結(jié)果
從圖10可以看出,采用傳統(tǒng)的PID控制,直線電機(jī)伺服控制系統(tǒng)的跟蹤誤差變化范圍為[-31,49]cts;采用本文提出的ISOA+FPID控制策略,系統(tǒng)的跟蹤誤差變化范圍為[-13,19]cts,為前者的40.0%。上述結(jié)果表明,ISOA+FPID控制策略相對(duì)傳統(tǒng)PID控制,直線電機(jī)控制系統(tǒng)的跟蹤誤差有了明顯的減小,表現(xiàn)出良好的動(dòng)態(tài)性能。
本文將模糊控制技術(shù)與PID控制相結(jié)合,同時(shí)將ISOA用于優(yōu)化模糊PID的參數(shù),通過(guò)單位階躍信號(hào)仿真,結(jié)果表明,ISOA+FPID控制相比傳統(tǒng)PID控制,系統(tǒng)的響應(yīng)速度和跟蹤誤差均有明顯的改善。
在直線電機(jī)實(shí)驗(yàn)平臺(tái)上進(jìn)行階躍運(yùn)動(dòng)實(shí)驗(yàn),采用ISOA+FPID控制,系統(tǒng)的超調(diào)量和調(diào)整時(shí)間較傳統(tǒng)PID控制分別減少了47.5%、27.8%,穩(wěn)態(tài)誤差降低了84.3%;進(jìn)行正弦運(yùn)動(dòng)實(shí)驗(yàn),ISOA+FPID控制的跟蹤誤差比傳統(tǒng)PID控制降低了60.0%,系統(tǒng)的控制系統(tǒng)得到明顯提升,進(jìn)一步驗(yàn)證了算法的有效性。為進(jìn)一步減小直線電機(jī)的跟蹤誤差,參考文獻(xiàn)[12],后續(xù)研究中將嘗試引入前饋控制技術(shù),同時(shí)利用ISOA對(duì)前饋控制器參數(shù)和模糊PID參數(shù)進(jìn)行聯(lián)合整定。