李 汐,盧少武,周鳳星
(武漢科技大學(xué) 信息科學(xué)與工程學(xué)院,武漢 430081)
永磁同步電機(jī)(PMSM, Permanent Magnet Synchronous Motor)以其結(jié)構(gòu)簡單,功率因數(shù)高,易于控制等優(yōu)點(diǎn)廣泛的應(yīng)用于伺服系統(tǒng)中,而伺服系統(tǒng)的性能很大程度上取決于控制參數(shù)的好壞。目前伺服系統(tǒng)一般采用三環(huán)控制的方法[1],速度環(huán)是決定伺服系統(tǒng)性能好壞的關(guān)鍵,所以速度環(huán)控制參數(shù)好壞就直接影響到整個(gè)系統(tǒng)的性能。因此,對(duì)速度環(huán)的控制參數(shù)整定就顯得格外重要[2]。
遺傳算法是一種對(duì)種群中個(gè)體進(jìn)行選擇復(fù)制、交叉、變異操作從而達(dá)到尋優(yōu)目的的算法[3]?,F(xiàn)如今,遺傳算法由于其尋優(yōu)性能強(qiáng)、原理簡單、易于實(shí)現(xiàn)等優(yōu)點(diǎn)被越來越多的人們所使用。文獻(xiàn)[4]提出了一種基于混合神經(jīng)遺傳算法(GANN)的新型預(yù)測(cè)模型,用于預(yù)測(cè)離子浮選過程中Ni(II)離子去除和脫水過程。在文獻(xiàn)[5]中,提出了一種新的強(qiáng)大的自動(dòng)對(duì)接方法,它可以估算柔性配體與大分子物質(zhì)的聯(lián)合構(gòu)象,并將其與預(yù)測(cè)自由能變化的新準(zhǔn)則函數(shù)結(jié)合起來。在文獻(xiàn)[6]中,以跨度最小化為準(zhǔn)則考慮了資源有限的項(xiàng)目調(diào)度問題, 并提出了一種新的遺傳算法來解決這個(gè)問題。
傳統(tǒng)遺傳算法雖具有一定的尋優(yōu)能力,但是其收斂速度慢和易陷入局部尋優(yōu)的局限性讓其在實(shí)際復(fù)雜的工程中應(yīng)用較其他算法優(yōu)勢(shì)不明顯。本文針對(duì)這些缺點(diǎn)進(jìn)行改進(jìn),分別對(duì)遺傳算法的初始尋優(yōu)種群、選擇復(fù)制算子、交叉算子,變異算子進(jìn)行改進(jìn),提高算法性能并應(yīng)用與伺服系統(tǒng)中來調(diào)節(jié)其控制參數(shù)。最后在Matlab中進(jìn)行仿真實(shí)驗(yàn),得到較為滿意的控制結(jié)果。
速度環(huán)的輸入為指令速度,輸出為電機(jī)實(shí)際轉(zhuǎn)速,作為伺服系統(tǒng),需要電機(jī)實(shí)際速度跟隨指令速度的變化而變化。而在實(shí)際工程項(xiàng)目中,伺服系統(tǒng)速度環(huán)不僅要有良好的跟隨性能,還要有一定的抗負(fù)載擾動(dòng)能力和較小的超調(diào)量。對(duì)于速度環(huán),一般采用PI控制[7-8],控制過程如圖1所示。
圖1 速度環(huán)PI控制過程
比例部分的作用是加快系統(tǒng)調(diào)節(jié)速度并減小穩(wěn)態(tài)誤差,但過大的比例增益會(huì)增大超調(diào),產(chǎn)生過度振蕩,動(dòng)態(tài)性能變差甚至系統(tǒng)不穩(wěn)定。積分部分的作用是消除靜態(tài)誤差,提高系統(tǒng)控制精度。
PI控制器的輸入為誤差e,輸出為u,則有:
(1)
本文通過改進(jìn)遺傳算法來整定kp,ki兩個(gè)控制參數(shù),對(duì)于伺服系統(tǒng)來說,要獲得滿意的跟蹤性能,采用誤差絕對(duì)值時(shí)間積分性能作為參數(shù)選擇的尋優(yōu)準(zhǔn)則函數(shù)。防止控制能量過大,加入控制輸入的平方項(xiàng)。采用了較大的懲罰因子來避免超調(diào)[9]。最后得到的尋優(yōu)準(zhǔn)則函數(shù)如下:
(2)
其中,e(t)為系統(tǒng)誤差,tu為上升時(shí)間,u(t)為控制器輸出,ω1,ω2,ω3,ω4為權(quán)值并且ω4>>ω1。
傳統(tǒng)遺傳算法的初始種群是在某范圍內(nèi)隨機(jī)取n個(gè)點(diǎn)作為初始種群[10],這種方法操作簡單,適用性強(qiáng),但是對(duì)于多峰值的函數(shù)有較大概率取不到最值點(diǎn)(峰值2)附近而取在了極值點(diǎn)(峰值1)附近,造成算法的局部收斂,情況如圖2a所示。
(a)傳統(tǒng)方法的初始種群
(b)改進(jìn)算法的初始種群圖2 傳統(tǒng)方法與改進(jìn)算法初始總?cè)?/p>
針對(duì)上述情況,本文對(duì)初始種群的選取方法進(jìn)行了改進(jìn),如圖2b所示,首先將初始尋優(yōu)范圍分為5個(gè)區(qū)間(A、B、C、D、E),然后在每個(gè)區(qū)間內(nèi)隨機(jī)選取n/5個(gè)點(diǎn),最后將所有選取的點(diǎn)組合成初始種群。這樣的改進(jìn)方法在保證初始種群的總體個(gè)數(shù)不變的基礎(chǔ)上,使種群個(gè)體更加均勻的分布在尋優(yōu)范圍內(nèi),增加了初始種群的多樣性,不僅減少了算法陷入局部收斂的概率,還使算法可以更早的收斂,提高了算法的準(zhǔn)確性和快速性。
復(fù)制是從舊種群中選擇出生命力強(qiáng)的個(gè)體來產(chǎn)生新種群的過程。根據(jù)達(dá)爾文進(jìn)化理論,模仿了自然選擇過程。根據(jù)種群個(gè)體的適配值的高低進(jìn)行排序操作,然后用個(gè)體的適配值除以種群的總適配值得到個(gè)體對(duì)于種群的相對(duì)適配值:
(3)
fi是個(gè)體相對(duì)適配值,f(ai)是種群個(gè)體的適配值,n是種群的個(gè)體總數(shù)。對(duì)此相對(duì)適配值fi進(jìn)行向下取整,去除相對(duì)適配值小于1的個(gè)體,在保證種群個(gè)體總數(shù)不變的情況下,根據(jù)相對(duì)適配值的大小進(jìn)行復(fù)制,適配值大的產(chǎn)生子代多,適配值小的產(chǎn)生子代少。
此方法去除了適應(yīng)度不高的個(gè)體,保留優(yōu)良個(gè)體并復(fù)制,這種改進(jìn)方法使種群整體更優(yōu)良,達(dá)到了進(jìn)化的目的。
交叉運(yùn)算模擬了生物進(jìn)化過程中個(gè)體與個(gè)體之間的繁殖現(xiàn)象,個(gè)體基因與另外個(gè)體基因通過自由組合的方式得到新的子代基因。對(duì)于遺傳算法來說,交叉算子對(duì)個(gè)體有基因重組的效果,有利于算法跳出局部收斂的不利情況。
傳統(tǒng)遺傳算法中任意取兩個(gè)個(gè)體對(duì)其基因進(jìn)行交叉,各段基因的交叉概率是固定不變的。但是隨著算法的推進(jìn),種群的多樣性是在逐漸減小的,如果交叉概率較小,會(huì)造成算法不能跳出局部收斂的情況,如果交叉概率較大,在算法初期就要進(jìn)行較多的交叉操作,算法的收斂速度就會(huì)很慢。為此,本文對(duì)交叉概率進(jìn)行了改進(jìn),提出了一種隨著算法迭代次數(shù)的增加而增加的交叉概率:
(4)
Pc是交叉概率,kg是算法迭代次數(shù)。由公式(4)可以看出在算法迭代次數(shù)kg高的情況下,雖然種群的多樣性低,但是交叉概率會(huì)高,有利于算法跳出局部收斂;而在算法迭代次數(shù)低的情況下,交叉概率低,交叉操作執(zhí)行少,算法速度快。
對(duì)于進(jìn)行交叉操作的個(gè)體,傳統(tǒng)遺傳算法是任意兩個(gè)個(gè)體隨機(jī)交叉,但是當(dāng)兩個(gè)個(gè)體非常相似的情況下交叉操作幾乎是沒有作用的。為了避免這種近親繁殖的現(xiàn)象,本文提出了一種以兩個(gè)個(gè)體的相似度大小為條件的交叉方法。對(duì)于伺服系統(tǒng),其控制參數(shù)就是其個(gè)體基因,假設(shè)需要進(jìn)行交叉操作的兩個(gè)個(gè)體中其中一個(gè)的基因?yàn)閗p1,ki1,另一個(gè)個(gè)體的基因?yàn)閗p2,ki2,則兩個(gè)個(gè)體的相似度值(X)為:
X=|kp1-kp2|+|ki1-ki2|
(5)
當(dāng)X大于某定值的時(shí)候,說明兩個(gè)個(gè)體差異較大,則進(jìn)行以Pc為交叉概率的交叉操作。但是當(dāng)X小于這個(gè)值的時(shí)候,說明這兩個(gè)個(gè)體相似,則不進(jìn)行交叉操作。對(duì)于伺服系統(tǒng)速度環(huán)參數(shù),交叉運(yùn)算如下:
(6)
其中,Y1,Y2為子代基因,kp1,ki1為進(jìn)行交叉的其中一個(gè)個(gè)體基因,kp2,ki2為另一個(gè)個(gè)體基因。α,β為兩個(gè)0~1之間的隨機(jī)數(shù)。
這樣的改進(jìn)方法避免了相似基因的近親繁殖,加快了算法的運(yùn)行和收斂速度。
變異運(yùn)算模擬了生物在自然環(huán)境中的基因突變情況,一般變異概率都很小,他能隨機(jī)的改變遺傳基因的值,它讓單一生物衍生出多樣群體變成了可能,是生物進(jìn)化的動(dòng)力。如果沒有變異,只有選擇和交叉,則算法無法在初始基因范圍之外的空間范圍進(jìn)行收索,會(huì)使進(jìn)化過程陷入局部收斂而無法跳出,影響解的質(zhì)量。
本文針對(duì)變異運(yùn)算中的變異概率,進(jìn)行了改進(jìn)。使適應(yīng)度較小的個(gè)體擁有較小的變異概率,適應(yīng)度較大的個(gè)體擁有較大的變異概率,這樣做的原因是隨著算法迭代次數(shù)的增加,種群的適應(yīng)度趨近一致,種群的多樣性很低,不利于算法跳出局部最優(yōu)解。所以當(dāng)適應(yīng)度趨近于一致的時(shí)候,需要加大變異概率以跳出局部最優(yōu)解,當(dāng)適應(yīng)度差別很大的時(shí)候減小變異概率以提升算法運(yùn)行速度。改進(jìn)后的變異概率如下:
(7)
其中,fi為個(gè)體的適應(yīng)度,favg為整個(gè)種群的平均適應(yīng)度,Pm為變異概率,Pmax為規(guī)定的最大變異概率,Pmin為最小變異概率,fmax為個(gè)體最大適應(yīng)度值。由式(7)可以看出當(dāng)個(gè)體適應(yīng)度fi>favg時(shí),Pm會(huì)增大,并且相差越大Pm越大,有利于算法跳出局部尋優(yōu)的情況。反之當(dāng)fi (8) 其中,kp,ki為子代控制參數(shù),kp min,ki min,kp max和ki max為控制參數(shù)的最大值和最小值,ε和θ為0~1的隨機(jī)數(shù)。 為驗(yàn)證本文提出的改進(jìn)遺傳算法在伺服系統(tǒng)參數(shù)自整定中的應(yīng)用效果相較于常規(guī)PI具有收斂速度更快,控制精度更高,抗負(fù)載能力更強(qiáng)等特點(diǎn),設(shè)計(jì)兩種方法的仿真實(shí)驗(yàn),通過對(duì)比實(shí)驗(yàn)結(jié)果來進(jìn)行對(duì)比驗(yàn)證。伺服電機(jī)的相關(guān)參數(shù)如表1所示。 表1 伺服電機(jī)參數(shù) 對(duì)伺服電機(jī)速度環(huán)被控對(duì)象的輸入輸出進(jìn)行在線采樣,使用遞推最小二乘法(RLS)對(duì)速度環(huán)的被控對(duì)象的數(shù)學(xué)模型進(jìn)行辨識(shí),采樣周期0.1ms,取準(zhǔn)則函數(shù)的值為ω1=0.999,ω2=0.01,ω3=2,ω4=100,得到: ω(k)=ω(k-1)-0.0003478ω(k-2)+ 1.388u(k-1)+0.1984u(k-2) (9) 若電機(jī)不加負(fù)載,指令信號(hào)為階躍信號(hào),則采用傳統(tǒng)PI調(diào)節(jié)和改進(jìn)遺傳算法的PI調(diào)節(jié)的仿真結(jié)果如圖3、圖4所示。 (a) 空載時(shí)傳統(tǒng)方法控制的輸入輸出 (b) 空載時(shí)傳統(tǒng)方法控制的誤差圖3 傳統(tǒng)方法空載情況 (a) 空載時(shí)改進(jìn)遺傳算法的輸入輸出 (b) 空載時(shí)改進(jìn)遺傳算法的誤差圖4 改進(jìn)算法空載情況 可以看出在空載情況下,傳統(tǒng)PI調(diào)節(jié)有明顯超調(diào),而且響應(yīng)速度較慢,初期波動(dòng)明顯,而采用改進(jìn)遺傳算法的情況下,無明顯超調(diào),波動(dòng)較小,控制效果得到明顯改善。 對(duì)于加負(fù)載的情況,采用改進(jìn)遺傳算法,輸入指令ω*=sin(0.02πt),尋優(yōu)準(zhǔn)則的權(quán)值為ω1=0.999,ω2=0.01,ω3=2,ω4=100。經(jīng)過200ms的運(yùn)行時(shí)間,并且在100ms的時(shí)候?qū)Ρ豢貙?duì)象施加負(fù)載,得到結(jié)果與采用傳統(tǒng)PI調(diào)節(jié)方法來控制的結(jié)果相比較,被控對(duì)象的數(shù)學(xué)模型為: (10) 得到如圖5、圖6所示的結(jié)果。 (a)傳統(tǒng)方法控制的輸入輸出 (b)傳統(tǒng)方法控制的誤差圖5 傳統(tǒng)方法加負(fù)載情況 (a)改進(jìn)遺傳算法的輸入輸出 (b)改進(jìn)遺傳算法的誤差圖6 改進(jìn)方法加負(fù)載情況 根據(jù)圖5a、圖6a可以看出,當(dāng)輸入正弦信號(hào)時(shí),改進(jìn)遺傳算法具有很好的跟蹤性能,而且在施加負(fù)載的時(shí)候,改進(jìn)遺傳算法所控制的系統(tǒng)能更好的跟隨輸入信號(hào),而傳統(tǒng)控制方法會(huì)有一點(diǎn)時(shí)間的明顯抖動(dòng)。根據(jù)圖5b、圖6b誤差比較,可以明顯的看出在施加負(fù)載的時(shí)刻傳統(tǒng)控制方法抖動(dòng)明顯且持續(xù)時(shí)間較長,而改進(jìn)遺傳算法能更快的實(shí)現(xiàn)跟蹤,抖動(dòng)微弱。改進(jìn)遺傳算法在運(yùn)行過程中PI參數(shù)如圖7所示。 (a)參數(shù)P的變化 (b)參數(shù)I的變化圖7 參數(shù)變化圖 可以看出,與常規(guī)控制方法相比,改進(jìn)的遺傳算法具有控制精度高,收斂速度快,抗負(fù)載擾動(dòng)能力強(qiáng)等優(yōu)點(diǎn),具有更好的控制效果。 本文以伺服系統(tǒng)中速度環(huán)作為研究對(duì)象,在傳統(tǒng)遺傳算法的基礎(chǔ)上,對(duì)初始種群、選擇算子、交叉算子、變異算子進(jìn)行了針對(duì)性改進(jìn),使改進(jìn)遺傳算法更好的應(yīng)用在伺服系統(tǒng)速度環(huán)的參數(shù)自整定中,并通過仿真實(shí)驗(yàn)進(jìn)行了驗(yàn)證,結(jié)果表明改進(jìn)遺傳算法能明顯改善傳統(tǒng)控制方法的控制效果,使其控制精度提高,收斂速度加快,抗負(fù)載能力增強(qiáng),達(dá)到了更好的控制效果。3 仿真實(shí)例
4 結(jié)束語