張建生 王一夫 馬嘯宇 沈瑩雅
(①南通大學(xué)電氣工程學(xué)院,江蘇 南通 226019;②常州工學(xué)院電氣與光電工程學(xué)院,江蘇 常州 213002)
改進(jìn)粒子群算法在主動(dòng)磁懸浮軸承系統(tǒng)中的應(yīng)用*
張建生①王一夫①馬嘯宇①沈瑩雅①
(①南通大學(xué)電氣工程學(xué)院,江蘇 南通 226019;②常州工學(xué)院電氣與光電工程學(xué)院,江蘇 常州 213002)
通過(guò)分析得知,主動(dòng)磁懸浮軸承系統(tǒng)本身是一個(gè)不穩(wěn)定系統(tǒng),可以采用PID控制器對(duì)其進(jìn)行控制。但是傳統(tǒng)PID控制在主動(dòng)磁懸浮軸承系統(tǒng)中還存在著不足之處,為此可以將粒子群優(yōu)化算法與常規(guī)PID控制相結(jié)合,對(duì)PID控制器中的參數(shù)進(jìn)行優(yōu)化,使系統(tǒng)能夠達(dá)到更好的控制效果。采用了一種改進(jìn)粒子群算法,對(duì)算法中的慣性權(quán)重w進(jìn)行自適應(yīng)調(diào)節(jié),從而使得算法能夠更快、更準(zhǔn)確地尋找到最優(yōu)值。通過(guò)Matlab/Simulink構(gòu)建系統(tǒng)模型并進(jìn)行仿真對(duì)比,改進(jìn)粒子群算法可以使得系統(tǒng)達(dá)到更好的控制效果。
主動(dòng)磁懸浮軸承;改進(jìn)粒子群算法;PID控制;MATLAB
為了解決傳統(tǒng)機(jī)械中的轉(zhuǎn)子動(dòng)力學(xué)問(wèn)題,可以通過(guò)對(duì)轉(zhuǎn)子進(jìn)行無(wú)接觸、無(wú)潤(rùn)滑、無(wú)磨損的懸浮支撐,并且進(jìn)行動(dòng)力學(xué)行為中的主動(dòng)控制,這種技術(shù)方案就是主動(dòng)磁懸浮軸承,簡(jiǎn)稱(chēng)為磁軸承[1]。和傳統(tǒng)的軸承相比,磁懸浮軸承還有許多優(yōu)點(diǎn),比如:無(wú)摩擦、維護(hù)費(fèi)用低、低噪音、精度高和運(yùn)行過(guò)程可調(diào)控。另一方面,主動(dòng)磁懸浮軸承可以比被動(dòng)磁懸浮軸承調(diào)整更多的參數(shù),比如:阻尼系數(shù)、靜態(tài)剛度和動(dòng)態(tài)剛度、懸浮位置等。對(duì)磁軸承系統(tǒng)分析可知,系統(tǒng)是開(kāi)環(huán)不穩(wěn)定的,因此需要進(jìn)行閉環(huán)控制。但是普通的閉環(huán)控制仍然不能使系統(tǒng)趨于穩(wěn)定,所以我們需要另外加上一個(gè)PID控制器。在PID控制器中,最重要的3個(gè)參數(shù)是KP、KI和KD,如何對(duì)這3個(gè)參數(shù)進(jìn)行準(zhǔn)確的設(shè)置一直是專(zhuān)家學(xué)者所要解決的問(wèn)題[2]。粒子群優(yōu)化算法就可以很好地解決這個(gè)參數(shù)設(shè)置問(wèn)題,該優(yōu)化算法能夠快速并且準(zhǔn)確地找到全局最優(yōu)解,并且已被證明在多種優(yōu)化環(huán)境中都可以進(jìn)行應(yīng)用。和傳統(tǒng)的優(yōu)化算法相比,它的全局搜索能力更強(qiáng)、計(jì)算速度更快,因此更具有優(yōu)勢(shì)。但是與此同時(shí),傳統(tǒng)的粒子群算法仍然有一些不足之處,本文就是基于改進(jìn)的粒子群算法,來(lái)對(duì)磁懸浮軸承系統(tǒng)進(jìn)行PID控制。
單自由度主動(dòng)磁懸浮軸承控制系統(tǒng)模型圖如圖1所示。
從圖1中可以看出,控制器、功率放大器、電磁鐵、轉(zhuǎn)子和位移傳感器這五個(gè)部分構(gòu)成了主動(dòng)磁懸浮軸承系統(tǒng),這里采用的雙電磁鐵差動(dòng)激磁連接方式。圖1中,i0為轉(zhuǎn)子平衡位置處的電流,x0為轉(zhuǎn)子的平衡位置;當(dāng)轉(zhuǎn)子向上偏移一定的距離x遠(yuǎn)離了原來(lái)的平衡位置時(shí),就會(huì)被位移傳感器檢測(cè)到此時(shí)的位移偏差信號(hào),然后位移信號(hào)經(jīng)過(guò)處理轉(zhuǎn)換成相應(yīng)的電壓信號(hào)Ux,Ux與轉(zhuǎn)子平衡時(shí)的電壓Ur進(jìn)行比較就能夠得到偏差信號(hào)Ue,緊接著通過(guò)計(jì)算得出控制信號(hào)Uc,再通過(guò)功率放大器的信號(hào)處理得到控制電流i,最終使得轉(zhuǎn)子向下運(yùn)動(dòng)并最終回到原來(lái)的平衡位置。
假設(shè)忽略轉(zhuǎn)子和鐵芯中的磁阻、磁滯和渦流及繞組漏磁,根據(jù)電磁學(xué)理論,電流i產(chǎn)生的電磁力為:
(1)
式中:μ0=4π×10-7H/m為真空磁導(dǎo)率,S0為氣隙面積,N為線(xiàn)圈匝數(shù);i為線(xiàn)圈電流;x為轉(zhuǎn)子與電磁鐵之間的距離。
圖1中,轉(zhuǎn)子在重力方向上受到上下電磁鐵產(chǎn)生的電磁合力為:
(2)
式中:F為總的電磁力,i0為電磁線(xiàn)圈的偏置電流即轉(zhuǎn)子平衡位置處的電流;i為控制電流;x0為轉(zhuǎn)子平衡位置處的位移;x為偏移位移。根據(jù)牛頓定律md2x/dt2=mg-F,并代入式(2)得到主動(dòng)磁懸浮軸承單自由度運(yùn)動(dòng)方程為:
(3)
由式(3)知,主動(dòng)磁懸浮軸承數(shù)學(xué)模型為一個(gè)二次非線(xiàn)性微分方程,電磁吸力與激磁電流、氣隙間距均為非線(xiàn)性關(guān)系。常用的方法是通過(guò)一些線(xiàn)性控制策略來(lái)獲得很好的控制效果,因此,磁場(chǎng)力F中的力/位移與力/電流的關(guān)系需要在工作點(diǎn)(x0、i0、mg)處做線(xiàn)性化處理。這個(gè)工作點(diǎn)表示了一個(gè)期望的理想平衡位置,即Fm(x0,i0)=mg,圖2描述了這些關(guān)系曲線(xiàn)[1]。
將式(1)在平衡點(diǎn)x=x0,i=i0處作泰勒級(jí)數(shù)展開(kāi):
(4)
將式(4)舍去二次及以上高次項(xiàng)后并計(jì)算代入偏導(dǎo)數(shù),得到電磁力F(x,i)的表達(dá)式為:
(5)
式中:Ks=-μ0S0N2i02/2x03為位移剛度系數(shù);Ki=μ0S0N2i0/2x02為電流剛度系數(shù)。由于在平衡點(diǎn)(x=x0,i=i0)處,F(xiàn)m(x0,i0)=mg,將式(5)代入式(3)中,得到線(xiàn)性化后的磁懸浮軸承系統(tǒng)開(kāi)環(huán)數(shù)學(xué)模型為:
(6)
將式(6)進(jìn)行拉氏變換并化簡(jiǎn)后,得到磁懸浮軸承系統(tǒng)的開(kāi)環(huán)傳遞函數(shù)為:
(7)
2.1 粒子群算法簡(jiǎn)介
在專(zhuān)家學(xué)者對(duì)鳥(niǎo)群的行為進(jìn)行研究的過(guò)程當(dāng)中,誕生了粒子群算法[5]。他們發(fā)現(xiàn),現(xiàn)實(shí)生活中的許多優(yōu)化問(wèn)題都可以使用這種粒子群算法。在粒子群算法中,每一個(gè)優(yōu)化問(wèn)題的潛在解都可以看成是一個(gè)粒子;并且每個(gè)粒子都有一個(gè)屬于自己的適應(yīng)值,這個(gè)適應(yīng)值是由所需要解決問(wèn)題的目標(biāo)函數(shù)決定的,此外每個(gè)粒子的運(yùn)動(dòng)距離和方向都由一個(gè)速度來(lái)控制。最終,種群里每個(gè)粒子就以此時(shí)的最優(yōu)粒子為目標(biāo)方向進(jìn)行搜索。
每個(gè)粒子根據(jù)下面的公式來(lái)更新自己的位置和速度:
vid=w×vid+c1r1(pid-xid)+c2r2(pgd-xid)
(8)
xid=xid+vid
(9)
式中:c1,c2是學(xué)習(xí)因子;r1,r2是[0,1]范圍內(nèi)的均勻隨機(jī)數(shù)。
基本粒子群算法的流程圖如圖3所示[9]。
2.2 改進(jìn)的粒子群算法
慣性權(quán)重w在粒子群算法中十分重要。增大w值可以提高算法的全局搜索能力,減小w值則可以提高局部搜索能力。因此,要想避免算法陷入局部最優(yōu)同時(shí)又能夠提高搜索效率,就必須想辦法得到最為合適的慣性權(quán)重w。
粒子當(dāng)前位置在全局當(dāng)中是否合適可以用其適應(yīng)度來(lái)反映。一些適應(yīng)度較高的粒子pi所在的區(qū)域可能存在著能夠更新全局最優(yōu)點(diǎn)的px。所以,想要及時(shí)更新px并迅速找到全局最優(yōu)解,就應(yīng)該減小粒子pi的慣性權(quán)重w,提高粒子局部尋優(yōu)能力;同時(shí),對(duì)于那些當(dāng)前位置較差的粒子而言,就必須要跳出當(dāng)前所在區(qū)域,此時(shí)應(yīng)當(dāng)增大慣性權(quán)重w,提高粒子全局搜索能力從而可以更快地找到全局最優(yōu)點(diǎn)。
粒子距全局最優(yōu)點(diǎn)的距離也會(huì)影響慣性權(quán)重w的大小,不同粒子的慣性權(quán)重會(huì)隨著迭代次數(shù)和距全局最優(yōu)點(diǎn)距離的增加而遞減,即慣性權(quán)重w的值會(huì)根據(jù)粒子的不同位置而發(fā)生動(dòng)態(tài)變化。在這里我們可以采用一種自適應(yīng)權(quán)重法,其非線(xiàn)性動(dòng)態(tài)慣性權(quán)重系數(shù)公式為:
當(dāng)f>favg時(shí),w=wmax。
式中:f為實(shí)時(shí)的粒子目標(biāo)函數(shù)值,favg和fmin分別為當(dāng)前所有粒子的平均值和最小目標(biāo)值。
從上面的公式可以看出,粒子的慣性權(quán)重值隨著目標(biāo)函數(shù)值的改變而改變。當(dāng)粒子的目標(biāo)值分散時(shí),減小慣性權(quán)重值;當(dāng)粒子的目標(biāo)值一致時(shí),增加慣性權(quán)重值。
算法的基本步驟如下:
(1)隨機(jī)初始化種群中各個(gè)粒子的位置和速度。
(2)計(jì)算每個(gè)粒子的適應(yīng)度值,將此時(shí)的位置和適應(yīng)值存放在粒子的個(gè)體極值pbest中,再通過(guò)相互比較將所有個(gè)體極值中最優(yōu)適應(yīng)值的位置和適應(yīng)值保存在全局極值gbest中。
(3)更新粒子的位置和速度:
xi,j(t+1)=xi,j(t)+vi,j(t+1),j=1,2,…,d
(4)更新權(quán)重:
當(dāng)f>favg時(shí),w=wmax。
(5)將每個(gè)粒子的適應(yīng)值和粒子中的最好適應(yīng)值相比較,如果適應(yīng)值較為接近,則全局粒子最好的位置就是此時(shí)的位置。比較當(dāng)前所有的pbest和gbest,更新gbest。
(6)當(dāng)算法達(dá)到其停止條件時(shí),則停止搜索并輸出結(jié)果,否則返回到第(3)步繼續(xù)搜索。
2.3 函數(shù)測(cè)試
本文將采用三個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)來(lái)對(duì)標(biāo)準(zhǔn)PSO算法及其改進(jìn)算法進(jìn)行實(shí)驗(yàn)研究,這些標(biāo)準(zhǔn)函數(shù)都是專(zhuān)家經(jīng)過(guò)精心設(shè)計(jì)和嚴(yán)格測(cè)試的,如果有優(yōu)化算法能夠準(zhǔn)確并且迅速地解決某一個(gè)標(biāo)準(zhǔn)測(cè)試的優(yōu)化問(wèn)題,那么在大部分優(yōu)化問(wèn)題中就可以使用這個(gè)優(yōu)化算法[5]。
(1)Rosenbrock函數(shù):
(10)
在這里涉及到的參數(shù)有:學(xué)習(xí)因子c1=2,學(xué)習(xí)因子c2=2,最大迭代次數(shù)M=100,搜索空間維數(shù)D=30,初始化種群個(gè)體數(shù)目N=50,標(biāo)準(zhǔn)粒子群算法(PSO)的慣性權(quán)重w=0.7,改進(jìn)粒子群算法(I-PSO)的慣性權(quán)重wmax=0.8,wmin=0.6。
函數(shù)測(cè)試曲線(xiàn)如圖4所示。
(2)Griewank函數(shù):
(11)
在這里涉及到的參數(shù)有:學(xué)習(xí)因子c1=2,學(xué)習(xí)因子c2=2,最大迭代次數(shù)M=100,搜索空間維數(shù)D=30,初始化種群個(gè)體數(shù)目N=50,標(biāo)準(zhǔn)粒子群算法(PSO)的慣性權(quán)重w=0.7,改進(jìn)粒子群算法(I-PSO)的慣性權(quán)重wmax=0.8,wmin=0.6。
函數(shù)測(cè)試曲線(xiàn)如圖5所示。
(3)Rastrigin函數(shù):
(12)
在這里涉及到的參數(shù)有:學(xué)習(xí)因子c1=2,學(xué)習(xí)因子c2=2,最大迭代次數(shù)M=400,搜索空間維數(shù)D=30,初始化種群個(gè)體數(shù)目N=50,標(biāo)準(zhǔn)粒子群算法(PSO)的慣性權(quán)重w=0.7,改進(jìn)粒子群算法(I-PSO)的慣性權(quán)重wmax=0.8,wmin=0.6。
函數(shù)測(cè)試曲線(xiàn)如圖6所示。
從三個(gè)函數(shù)測(cè)試曲線(xiàn)圖中可以清楚地看出,改進(jìn)的粒子群算法能夠比標(biāo)準(zhǔn)粒子群算法更快、更準(zhǔn)確地找出目標(biāo)函數(shù)的最小值。因此,我們認(rèn)為改進(jìn)的粒子群優(yōu)化算法可以很好的應(yīng)用在主動(dòng)磁懸浮軸承系統(tǒng)的優(yōu)化問(wèn)題中。
主動(dòng)磁懸浮軸承系統(tǒng)的結(jié)構(gòu)圖如圖7所示[6]。
圖中所表示的是帶有PID控制器的閉環(huán)控制回路,其中PID控制器可以表示為[10]:
(13)
系統(tǒng)的輸入可以給為單位階躍響應(yīng),經(jīng)相應(yīng)的傳遞函數(shù)計(jì)算和拉普拉斯變換,可以得出e(t)、u(t)和c(t),還可以計(jì)算出上升時(shí)間tu。
在磁軸承系統(tǒng)中,目標(biāo)函數(shù)采用基于時(shí)域指標(biāo)的設(shè)計(jì)方法,這個(gè)方法是將多個(gè)性能指標(biāo)的加權(quán)之和的最小值作為優(yōu)化目標(biāo),使得系統(tǒng)能夠有較好的響應(yīng)。在這里,可以取目標(biāo)函數(shù)為:
(14)
為了減小超調(diào)量對(duì)系統(tǒng)的影響,也把超調(diào)量算作目標(biāo)函數(shù)的一項(xiàng),并輔以一定的系數(shù),則目標(biāo)函數(shù)為:
(15)
式中的w1、w2、w3和w4為權(quán)值,并且w4?w1,在這里我們可以取w1=0.8,w2=0.001,w3=20,w4=100;ey(t)=y(t)-y(t-1),y(t)為被控對(duì)象輸出[8]。
有了目標(biāo)函數(shù)以后,就可以運(yùn)用改進(jìn)的粒子群優(yōu)化算法對(duì)系統(tǒng)參數(shù)進(jìn)行優(yōu)化,再在MATLAB/simulink中構(gòu)建系統(tǒng)的結(jié)構(gòu)圖進(jìn)行仿真研究[7]。系統(tǒng)的響應(yīng)曲線(xiàn)如圖8所示。在主動(dòng)磁懸浮軸承系統(tǒng)中,涉及的參數(shù)為:m=12kg,Ka=3.6,Kb=5 000N/m,Ks=-2.102 8×106N/m,Ki=420.56N/A。
圖8中相關(guān)參數(shù)如表1所示[4]。圖8中折線(xiàn)表示的是標(biāo)準(zhǔn)粒子群算法(PSO)得出的曲線(xiàn),實(shí)線(xiàn)表示的是改進(jìn)粒子群算法(I-PSO)得出的曲線(xiàn),虛線(xiàn)表示的是傳統(tǒng)ZN法得出的曲線(xiàn)。從圖8和表1中可以清楚地看出,與傳統(tǒng)ZN法相比兩種粒子群算法都使得系統(tǒng)的穩(wěn)定性和動(dòng)態(tài)性能得到了提升;進(jìn)一步比較可以看出改進(jìn)粒子群算法可以使得系統(tǒng)獲得更好的穩(wěn)定性和動(dòng)態(tài)性能,從而說(shuō)明了改進(jìn)粒子群算法可以在主動(dòng)磁懸浮軸承系統(tǒng)中得到很好的應(yīng)用。
表1 仿真圖參數(shù)表
KPKIKDtu/sσ/(%)PSO1.8306201.74680.02570.03084.32I-PSO1.6832213.79830.01820.02341.83ZN法2.1959217.48370.02940.036510.28
針對(duì)主動(dòng)磁懸浮軸承系統(tǒng)的高度非線(xiàn)性和本質(zhì)不穩(wěn)定等問(wèn)題,本文采用了改進(jìn)粒子群算法與傳統(tǒng)PID控制相結(jié)合的方式,使得傳統(tǒng)PID控制可以更好地發(fā)揮控制效果,從而提升了整個(gè)系統(tǒng)的運(yùn)行性能。因此,在主動(dòng)磁懸浮軸承系統(tǒng)的PID控制過(guò)程中,我們可以采用改進(jìn)的粒子群優(yōu)化算法,并且也可以將它應(yīng)用在其他類(lèi)似的工作場(chǎng)合中。
[1]GerhardSchweitzer,EricH.Maslen.磁懸浮軸承:理論、設(shè)計(jì)及旋轉(zhuǎn)機(jī)械應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2012.
[2]Kuan-YuChen,Pi-ChengTung,Mong-TaoTsai,etal.Aself-tuningfuzzyPID-typecontrollerdesignforunbalancecompensationinanactivemagneticbearing[J].ExpertSyst.Appl, 2009,Vol.36.
[3]Hung-ChengChen.OptimalfuzzyPIDcontrollerdesignforanactivemagneticbearingsystembasedonadaptivegeneticalgorithms[J].MathematicalStructuresinComputerScience, 2014, 24 (5).
[4]胡壽松.自動(dòng)控制原理簡(jiǎn)明教程[M].北京:科學(xué)出版社,2008.
[5]李麗,牛奔.粒子群優(yōu)化算法[M].北京:冶金工業(yè)出版社,2009.
[6]唐賢倫,張衡.基于多Agent混沌粒子群優(yōu)化的磁懸浮系統(tǒng)PID控制器[J].信息與控制,2013,42(6):758-764.
[7]王曉玲,張廣明.變論域模糊PID磁懸浮軸承控制系統(tǒng)仿真[J].儀表技術(shù)與傳感器,2012(12):144-147.
[8]施文娟.基于ARM微處理器開(kāi)發(fā)平臺(tái)的對(duì)磁懸浮軸承的控制研究[D].蘇州:蘇州大學(xué),2006:76-79.
[9]溫正.精通MATLAB智能算法[M].北京:清華大學(xué)出版社,2015.
[10]陶永華,尹怡欣.新型PID控制及其應(yīng)用[M].北京:機(jī)械工業(yè)出版社,1998.
如果您想發(fā)表對(duì)本文的看法,請(qǐng)將文章編號(hào)填入讀者意見(jiàn)調(diào)查表中的相應(yīng)位置。
Improved particle swarm optimization in active magnetic bearing system
ZHANG Jiansheng①②, WANG Yifu①, MA Xiaoyu①, SHEN Yingya①
(①School of Electrical Engineering, Nantong University, Nantong 226019, CHN; ②School of Electrical and Optical Engineering, Changzhou Institute of Technology, Changzhou 213002, CHN)
The analysis shows that the active magnetic bearing system is an unstable system, we can use a PID controller to control it. However, the traditional PID control still has some shortcomings in active magnetic bearing system, we can optimize the PID controller parameters through combining particle swarm optimization algorithm with conventional PID control, and make the system achieve better control effect. This article uses an improved particle swarm algorithm and adjusts its inertia weight w adaptive, so that the algorithm can find the optimal value more quickly and accurately. Through constructing system model by Matlab/Simulink and simulation comparison, improved particle swarm algorithm enables the system to achieve better control effect.
active magnetic bearing; improved particle swarm optimization; PID control; MATLAB
*國(guó)家自然科學(xué)基金項(xiàng)目(51175052)
TP273
A
10.19287/j.cnki.1005-2402.2016.09.008
張建生,男,1958年生,教授,博士生導(dǎo)師,研究方向?yàn)橛?jì)算機(jī)數(shù)字控制與控制工程。
(編輯 孫德茂)
2016-01-26)
160913