吳延凱, 張 偉
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
隨著社會(huì)的發(fā)展進(jìn)步,PID的參數(shù)調(diào)節(jié)方法同樣也在不斷地進(jìn)步。1942年,Ziegler和Nichols運(yùn)用一階慣性加延遲對(duì)象的PID控制器參數(shù)整定,也即Z-N方法,這為PID控制器的進(jìn)步奠定了基礎(chǔ)[1]。1970年,Astrom和Hagglund在臨界比例度原理上,結(jié)合ISTE標(biāo)準(zhǔn),提出使用基于臨界信息的相幅裕度設(shè)置參數(shù),并給出了參數(shù)整定公式,解決了Z-N法整定時(shí)間長、臨界穩(wěn)定的缺點(diǎn)[2]。隨后,針對(duì)運(yùn)用Z-N法得到的PID參數(shù)在實(shí)際控制中往往會(huì)引起系統(tǒng)響應(yīng)的過度超調(diào)、過度振蕩等不符合工藝要求的結(jié)果,C.C.Hang在原始Z-N法的基礎(chǔ)上,在Z-N法中增加了設(shè)定值權(quán)值和積分時(shí)間修正系數(shù),很好地解決了這些缺點(diǎn)[3]。2011年,Karunagaran等人創(chuàng)建了一種基于二自由度并行控制結(jié)構(gòu)的PID控制器,改善了單自由度PID控制器不能同時(shí)兼顧目標(biāo)值跟蹤特性及外擾動(dòng)抑制特性的缺點(diǎn)[4]。
目前,火電廠的火電機(jī)組控制回路正向著大容量,高參數(shù)的方向發(fā)展,對(duì)控制系統(tǒng)的可靠性和精度提出了更為嚴(yán)格的要求[5]。尤其是對(duì)鍋爐的主蒸汽溫度的控制上,顯示出了更為嚴(yán)格的要求,因?yàn)橹髌麥氐闹祰?yán)重影響著火電機(jī)組能否正常的運(yùn)行[6]。在此環(huán)境下,本文提出了一種基于遺傳算法的二自由度PID控制器的多參數(shù)智能調(diào)節(jié)方法。保證主汽溫維持平衡,以確?;痣姀S的火電機(jī)組控制回路更有效的運(yùn)轉(zhuǎn)。針對(duì)PID的多目標(biāo)優(yōu)化問題,采用自適應(yīng)遺傳算法對(duì)二自由度PID控制器的參數(shù)進(jìn)行調(diào)節(jié)與優(yōu)化。由控制系統(tǒng)的性能需求,對(duì)每一項(xiàng)指標(biāo)值進(jìn)行適當(dāng)?shù)募訖?quán),并實(shí)時(shí)優(yōu)化。最終通過仿真證明,基于遺傳算法改進(jìn)的二自由度PID要優(yōu)于文獻(xiàn)[7]中的二自由度并行控制結(jié)構(gòu)PID,在各項(xiàng)性能指標(biāo)值、目標(biāo)值跟蹤特性及抗擾動(dòng)特性上有著極大程度地改善,能夠更好地應(yīng)用于主汽溫的控制上。
在工業(yè)生產(chǎn)中,由于PID控制器具有良好的控制性能,故被廣泛的應(yīng)用。尤其是用在生產(chǎn)過程中干擾作用強(qiáng),被控制對(duì)象的極易變化,并且對(duì)控制的需求要求很高的地方。一般情況下,PID控制器將比例、積分及微分調(diào)節(jié)三者組合在一起,各自發(fā)揮出各自的長處,共同對(duì)被控對(duì)象進(jìn)行良好的控制[8]。
在常規(guī)的單自由度PID控制器中,它僅有唯一的一個(gè)PID可以進(jìn)行調(diào)節(jié)。這樣,就會(huì)出現(xiàn)一個(gè)問題:控制系統(tǒng)不能同時(shí)使得系統(tǒng)的抑制擾動(dòng)的能力和目標(biāo)值的追蹤同步的到達(dá)最佳控制效果。當(dāng)利用抗干擾性質(zhì)調(diào)整PID的參數(shù)時(shí),就不能保證目標(biāo)值的追蹤效果是好的;相應(yīng)的,當(dāng)利用目標(biāo)值的追蹤性質(zhì)調(diào)整PID的參數(shù)時(shí),會(huì)讓系統(tǒng)在抑制擾動(dòng)方面的性能下降[9]。對(duì)待這一問題,只能采用一種兩者同時(shí)兼顧的方法來進(jìn)行PID控制器參數(shù)的調(diào)節(jié)。因此,二自由度的PID控制器就應(yīng)運(yùn)而生,并在實(shí)際應(yīng)用中取得了良好的效果[10]。與一般的單自由度PID相比較,二自由度的PID大大提高了目標(biāo)值的跟蹤特性和抑制干擾的特性。如圖1所示為文獻(xiàn)[7]中提出的一種二自由度并行控制結(jié)構(gòu)PID控制器的原理框圖。
圖1 二自由度并行控制結(jié)構(gòu)PID控制器原理圖
其中,r(t)為系統(tǒng)輸入,d(t)為擾動(dòng)輸入,u1(t)為PD輸出,u2(t)為PID輸出,u(t)為兩個(gè)控制器輸出的疊加,y(t)為系統(tǒng)輸出。
對(duì)于PD(Gc1),主要調(diào)節(jié)跟蹤特性,其控制方程可表示為:
Gc1(s)=Kc1(1+Td1s)
(1)
對(duì)于PID(Gc2),主要調(diào)節(jié)抗擾動(dòng)特性,其表達(dá)式為:
(2)
該二自由度并行控制結(jié)構(gòu)的閉環(huán)輸出表達(dá)式為:
(3)
在二自由度PID的參數(shù)調(diào)整過程中,采?。篏p=Gm,則可表示為:
(4)
在式(1)和(2)中,Kc1和Kc2為控制器增益,Td1和Td2為微分時(shí)間常數(shù),Ti2為積分時(shí)間常數(shù)。比例調(diào)節(jié)的過程簡單迅速,并且參數(shù)的調(diào)節(jié)也很方便,但結(jié)果有一定的殘差。積分調(diào)節(jié)可以很好地減小系統(tǒng)的不平穩(wěn)而帶來的穩(wěn)態(tài)誤差,它的缺點(diǎn)就是會(huì)減緩系統(tǒng)的控制速率。微分調(diào)節(jié)則具有超前調(diào)節(jié)的作用,因此在處理嚴(yán)重滯后的對(duì)象時(shí)會(huì)具有良好的成效。因此,在實(shí)際中常把比例、積分、微分調(diào)節(jié)這3者結(jié)合起來使用。尤其是利用二自由度并行控制結(jié)構(gòu)的PID,它可以在實(shí)際控制中達(dá)到更加良好的調(diào)節(jié)效果。
基于遺傳算法的改進(jìn)二自由度PID控制器的設(shè)計(jì)由兩部分組成:一般的二自由度PID控制器和遺傳算法模塊組成。被控制對(duì)象由二自由度PID進(jìn)行重復(fù)性的控制,而對(duì)于遺傳算法,它按照對(duì)應(yīng)的算法流程,對(duì)二自由度PID的Kc1、Kc2、Td1、Td2、Ti2這5個(gè)參數(shù)進(jìn)行一代代的優(yōu)化下去。同時(shí),不斷地同步調(diào)整PID的這5個(gè)參數(shù)值,快速找出最優(yōu)值,以便于讓主汽溫控制系統(tǒng)的目標(biāo)值跟蹤特性和抗擾動(dòng)特性能同步快速到達(dá)最佳控制狀態(tài)。這樣,系統(tǒng)就能夠快速穩(wěn)定的輸出。遺傳算法模塊中將二自由度PID的Kc1、Kc2、Td1、Td2、Ti2這5個(gè)參數(shù)整合在一起作為遺傳算法中的每個(gè)個(gè)體。根據(jù)遺傳算法流程對(duì)個(gè)體編碼,計(jì)算每個(gè)個(gè)體的適應(yīng)度,對(duì)種群進(jìn)行選擇、交叉及變異操作,這樣可以使種群不斷繁殖延續(xù),直到尋到全局的最優(yōu)值為止。GA-二自由度PID結(jié)構(gòu)原理圖如圖2所示。
圖2 GA-二自由度PID控制器原理圖
根據(jù)遺傳算法的實(shí)現(xiàn)過程,對(duì)種群進(jìn)行迭代尋優(yōu)操作,這個(gè)過程將一直持續(xù)下去,直到尋到一個(gè)最優(yōu)解為止[11]。遺傳算法的操作步驟如下:
Step1 初始化群體生成: 首先利用隨機(jī)函數(shù)產(chǎn)生一個(gè)n=100的種群。
Step2 編碼方式: 接著利用二進(jìn)制編碼,把Kc1、Kc2、Td1、Td2和Ti25個(gè)參數(shù)組合在一起,形成一條染色體。
Step3 適應(yīng)度函數(shù)的選取: 適應(yīng)度函數(shù)的選取是至關(guān)重要的,選擇一個(gè)合適、優(yōu)良的適應(yīng)度函數(shù)對(duì)整個(gè)尋優(yōu)過程有著重要意義,它可以直觀地表達(dá)出個(gè)體的好壞。
Step4 選擇操作: 對(duì)于種群中每個(gè)個(gè)體的選擇,要根據(jù)Step3中的適應(yīng)度函數(shù)對(duì)每個(gè)個(gè)體所計(jì)算出來的適應(yīng)度數(shù)值來衡量。此外,如果種群中每一代的個(gè)體數(shù)選擇得當(dāng),對(duì)遺傳算法的尋優(yōu)有著極大的幫助,可以避免種群的快速早熟而帶來的尋優(yōu)過早結(jié)束問題。
Step5 交叉操作: 根據(jù)實(shí)際情況,此次使用單點(diǎn)交叉來進(jìn)行。
Step6 變異操作: 自然界中,由于各種因素會(huì)導(dǎo)致生物基因的突變,進(jìn)而導(dǎo)致個(gè)體變異,表現(xiàn)出新的特征。同樣,在遺傳算法中,也可以人為地加入一些變異,使群體有更多的表現(xiàn)型,增加種群的多樣性。
Step7 解碼: 當(dāng)尋優(yōu)結(jié)束之后,就要對(duì)找到的最優(yōu)值做解碼操作,也即把對(duì)應(yīng)的二進(jìn)制數(shù)值變?yōu)槭M(jìn)制數(shù)值。具體的實(shí)現(xiàn)方法如下:若某個(gè)參數(shù)取值區(qū)間是[Umin,Umax],則該參數(shù)可以用長度為m的二進(jìn)制數(shù)值來表示,可表示為x:bmbm-1bm-2…b2b1,上述對(duì)應(yīng)的二進(jìn)制數(shù)值的解碼公式為[12]:
(5)
遺傳算法的操作流程框圖如圖3所示。
在遺傳算法的尋優(yōu)操作過程中,終止條件是一個(gè)關(guān)鍵部分。因此,對(duì)于如何判斷系統(tǒng)已經(jīng)找到最優(yōu)解,本文以所有種群個(gè)體的目標(biāo)函數(shù)值(IAE值)是否一致來作為終止條件。這樣可以避免過早收斂、產(chǎn)生早熟現(xiàn)象,可以更準(zhǔn)確地尋到最優(yōu)解。
圖3 遺傳算法操作流程圖
為驗(yàn)證方法的有效性,本文將該方法應(yīng)用于火電廠火電機(jī)組主蒸汽溫度控制系統(tǒng)中,通過對(duì)該控制系統(tǒng)的辨識(shí),得到被控對(duì)象的數(shù)學(xué)模型為:
(6)
對(duì)二自由度的PID控制器的5個(gè)參數(shù)進(jìn)行二進(jìn)制編碼,其中Kc1∈(0,10),Td1∈(0,1),Kc2∈(0,10),Ti2∈(0,20),Td2∈(0,1)每個(gè)參數(shù)的長度取8位二進(jìn)制數(shù),5個(gè)參數(shù)依次串接,形成一個(gè)個(gè)體,個(gè)體長度為L=40,種群大小取n=100。其中,選擇算法采用常用的輪盤賭算法。交叉概率一般取0.4~0.9,本文取Pc=0.9,變異概率取0.001~0.1,本文取Pm=0.001 。此外,為了實(shí)現(xiàn)超調(diào)量、調(diào)節(jié)時(shí)間等時(shí)域指標(biāo)的統(tǒng)一優(yōu)化,本文的目標(biāo)函數(shù)取絕對(duì)誤差積分準(zhǔn)則:
(7)
對(duì)于適應(yīng)度函數(shù)的選擇,取當(dāng)前群體中最大的目標(biāo)函數(shù)值(IAE值)減去當(dāng)前個(gè)體的目標(biāo)函數(shù)值(IAE值)來作為適應(yīng)度函數(shù)。也即:
f=Objmax-Obji
(8)
因此,當(dāng)某個(gè)體目標(biāo)函數(shù)值越大時(shí)其適應(yīng)度函數(shù)值越小。而且,在任何一代的種群中,無論目標(biāo)函數(shù)值相差多么接近,適應(yīng)度函數(shù)總會(huì)相差很大。且當(dāng)種群所有個(gè)體目標(biāo)函數(shù)值完全一致時(shí),所有個(gè)體的適應(yīng)度函數(shù)均為零。故在迭代結(jié)束時(shí),種群目標(biāo)函數(shù)已經(jīng)收斂到一個(gè)固定值。例如:假設(shè)當(dāng)前種群有5個(gè)個(gè)體,目標(biāo)函數(shù)值為[10,10.1,11,11.1,11],根據(jù)公式(8)可得本文選取的適應(yīng)度函數(shù)值為[1.1,1,0.1,0,0.1]。而根據(jù)一般情況,適應(yīng)度函數(shù)的選取是由目標(biāo)函數(shù)的倒數(shù)所得,其適應(yīng)度函數(shù)值為[0.1,0.099,0.091,0.090,0.091],可見該方法所獲得的適應(yīng)度函數(shù)值相差不大,用輪盤賭方式淘汰個(gè)體時(shí),淘汰概率相差不大。而本文所選取的適應(yīng)度函數(shù)所得到的適應(yīng)度函數(shù)值相差較大,有一定的區(qū)分度。
通過遺傳算法尋優(yōu)得到5個(gè)參數(shù)的最終值與文獻(xiàn)[7]采用二自由度得到的5個(gè)參數(shù)值、文獻(xiàn)[8]采用二自由度得到的5個(gè)參數(shù)值以及文獻(xiàn)[13]采用單自由度得到的3個(gè)參數(shù)值結(jié)果,如表1所示。
表1 PID控制器參數(shù)值對(duì)比
通過進(jìn)行MATLAB仿真,得到了種群平均IAE值隨迭代次數(shù)的優(yōu)化過程。如圖4所示。
圖4 種群平均IAE值的優(yōu)化過程
從圖中的曲線可以看出:隨著迭代次數(shù)的增加,不斷對(duì)種群中IAE值進(jìn)行尋優(yōu)選擇,最終迭代結(jié)束時(shí)能夠?qū)さ靡粋€(gè)最優(yōu)的IAE值,為 0.591 2。最終尋得的最優(yōu)IAE值是由目標(biāo)值跟蹤部分的IAE1和抗擾動(dòng)部分的IAE2,這兩部分的最優(yōu)值之和組成。
通過遺傳算法整定后的二自由度PID的階躍響應(yīng)曲線和文獻(xiàn)[7]中的二自由度PID、文獻(xiàn)[8]中的二自由度PID以及文獻(xiàn)[13]中的單自由度PID的階躍響應(yīng)曲線對(duì)比效果展示,如圖5所示。
通過以下2個(gè)計(jì)算IAE和ISE的數(shù)學(xué)表達(dá)式,并運(yùn)用MATLAB進(jìn)行計(jì)算,可以得到如表2所示的4種情況下的性能指標(biāo)數(shù)值。
圖5 GA-二自由度PID與其他3種方法調(diào)節(jié)效果對(duì)比圖
(9)
(10)
表2 性能指標(biāo)值對(duì)比結(jié)果
通過對(duì)圖5和表2的仿真結(jié)果分析,可以清晰地得到:本文提出的遺傳算法改進(jìn)的GA-二自由度PID無論是目標(biāo)值跟蹤還是外擾動(dòng)抑制方面,IAE、ISE及ts這3個(gè)性能指標(biāo)的值均優(yōu)于其他3種方法得到的結(jié)果。此外,通過圖5還可以清晰地看出本文所提出的方法在超調(diào)量和調(diào)節(jié)時(shí)間上也是遠(yuǎn)遠(yuǎn)優(yōu)于其他3種方法。由此可知,本文提出的基于遺傳算法改進(jìn)的二自由度PID在目標(biāo)值跟蹤特性及外擾動(dòng)抑制特性的控制效果和性能指標(biāo)上明顯要優(yōu)于其他3種方法。
在PID的應(yīng)用設(shè)計(jì)中,PID參數(shù)的調(diào)節(jié)是一個(gè)重要的環(huán)節(jié)。本文從二自由度PID和遺傳算法的原理出發(fā),將遺傳算法應(yīng)用于二自由度PID參數(shù)的調(diào)節(jié)與優(yōu)化,并利用MATLAB進(jìn)行火電機(jī)組鍋爐主蒸汽溫度控制系統(tǒng)的仿真實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明: 對(duì)于主汽溫系統(tǒng)的控制效果上,基于遺傳算法的改進(jìn)二自由度PID在目標(biāo)值跟蹤特性及外擾動(dòng)抑制特性等方面的成效均優(yōu)于文獻(xiàn)[7]的二自由度PID、文獻(xiàn)[8]的二自由度PID以及文獻(xiàn)[13]的單自由度PID。使得輸出值最大程度上接近于輸入值,減小了系統(tǒng)的誤差值,并使得系統(tǒng)具有更小的超調(diào)量和調(diào)節(jié)時(shí)間。實(shí)驗(yàn)清晰地證明了采用遺傳算法對(duì)二自由度PID參數(shù)調(diào)節(jié)和優(yōu)化是有效的,能夠獲得更好的控制效果,滿足了火電廠火電機(jī)組主蒸汽溫度控制系統(tǒng)的需求。