馬平,趙倩
(華北電力大學(xué)自動(dòng)化系,河北保定 071003)
PID預(yù)測控制算法在大遲延系統(tǒng)中的應(yīng)用
馬平,趙倩
(華北電力大學(xué)自動(dòng)化系,河北保定 071003)
對(duì)于大遲延控制系統(tǒng),傳統(tǒng)的比例-積分-微分(PID)控制不能使其達(dá)到理想控制效果,而預(yù)測控制也存在結(jié)構(gòu)復(fù)雜、參數(shù)多、在線計(jì)算量大、參數(shù)含義與實(shí)際系統(tǒng)的對(duì)應(yīng)關(guān)系不明晰等缺點(diǎn)。綜合PID控制與預(yù)測控制的優(yōu)點(diǎn),提出一種計(jì)算量小、易于工程實(shí)踐且控制效果好的PID預(yù)測控制算法,將該算法應(yīng)用于大遲延被控對(duì)象進(jìn)行仿真研究。研究結(jié)果表明,PID預(yù)測控制算法能有效地解決大遲延系統(tǒng)的控制問題,提高系統(tǒng)的控制品質(zhì)。
大遲延;PID控制;預(yù)測控制;魯棒性
在工業(yè)生產(chǎn)系統(tǒng)中,隨著生產(chǎn)規(guī)模的不斷擴(kuò)大,機(jī)組容量也在不斷增大,使得絕大部分被控對(duì)象具有不同程度的遲延[1]。在解決系統(tǒng)控制問題時(shí),傳統(tǒng)的比例-積分-微分(PID)控制方法以其原理簡單、參數(shù)整定容易、魯棒性強(qiáng)等優(yōu)點(diǎn)一直被工程人員青睞[2],但對(duì)于大遲延系統(tǒng)來說,用傳統(tǒng)PID控制方法得到的控制品質(zhì)較差,不能滿足工業(yè)需求。預(yù)測控制在理論上具有預(yù)測系統(tǒng)在一定控制作用下的行為、根據(jù)要求滾動(dòng)求解最優(yōu)控制作用、反饋修改預(yù)測模型的功能,能夠有效解決大遲延系統(tǒng)的控制問題,并且在航空航天等領(lǐng)域取得了巨大成果[3],但預(yù)測控制的結(jié)構(gòu)復(fù)雜、參數(shù)多、計(jì)算量大、參數(shù)含義與物理系統(tǒng)對(duì)應(yīng)關(guān)系不明晰,在實(shí)際應(yīng)用中工程人員很難接受。為了克服上述方法的不足,需要找到一種既具有預(yù)測模型、滾動(dòng)優(yōu)化、反饋矯正[4]的特征,同時(shí)又操作簡單、易被工程人員熟練掌握的方法,即PID預(yù)測控制算法。
本文對(duì)PID預(yù)測控制算法和原始的PID控制算法進(jìn)行系統(tǒng)響應(yīng)試驗(yàn)、擾動(dòng)試驗(yàn)、被控對(duì)象模型變化試驗(yàn),試驗(yàn)結(jié)果表明:與普通PID控制算法相比,PID預(yù)測控制算法可有效克服大遲延系統(tǒng)在控制中存在的上述困難,具有更好的動(dòng)態(tài)性能,增強(qiáng)了系統(tǒng)的魯棒性。
1.1 PID預(yù)測控制算法原理
PID預(yù)測控制系統(tǒng)主要由預(yù)測器和控制器兩部分組成,可以看作是對(duì)普通PID反饋控制的反饋環(huán)節(jié)增加了一個(gè)預(yù)測器。對(duì)于大遲延的被控對(duì)象,普通PID控制算法的控制效果必須經(jīng)過遲延時(shí)間t之后才能夠作用于被控對(duì)象并在系統(tǒng)的輸出中得到體現(xiàn),因此其控制作用對(duì)于大遲延對(duì)象總是具有t遲滯,控制效果較差;而PID預(yù)測控制的思想正是要通過預(yù)測器預(yù)測t之后的狀態(tài),把被控對(duì)象在當(dāng)前控制作用下未來將達(dá)到的狀態(tài)提前準(zhǔn)確地反映給控制器,控制器根據(jù)預(yù)測器所預(yù)測的狀態(tài)發(fā)出控制指令,使控制器的控制作用經(jīng)過遲延時(shí)間t正好作用于被控對(duì)象上,以實(shí)現(xiàn)系統(tǒng)輸出,更好地跟蹤設(shè)定值。該結(jié)構(gòu)采取的反饋矯正能夠在一定程度上補(bǔ)償模型失配、不確定性擾動(dòng)等未知情況。應(yīng)用PID預(yù)測控制算法去控制大遲延被控對(duì)象,等效于用PID算法去控制一個(gè)沒有遲延的簡單易控對(duì)象,故能有效解決系統(tǒng)的遲延問題,控制效果較好且容易在工程上應(yīng)用。
圖1 PID預(yù)測控制系統(tǒng)框圖
綜上所述,該算法從結(jié)構(gòu)上看具有預(yù)測控制中預(yù)測模型反饋矯正兩個(gè)特征,控制器采用PID控制,利用PID魯棒性強(qiáng)的特點(diǎn)去替換預(yù)測控制的滾動(dòng)優(yōu)化求解最優(yōu)控制作用,其結(jié)構(gòu)簡單、易于工程實(shí)踐、控制效果好。
1.2 預(yù)測器的實(shí)現(xiàn)原理
在PID預(yù)測控制中,預(yù)測器通過模仿現(xiàn)場操作人員的思想與行為來實(shí)現(xiàn)對(duì)系統(tǒng)未來狀態(tài)的預(yù)測,即根據(jù)被控對(duì)象現(xiàn)在和以前的系統(tǒng)輸出值和變化率進(jìn)行簡單的在線計(jì)算,推導(dǎo)出系統(tǒng)在遲延t之后的狀態(tài)(即被控對(duì)象未來t之后輸出值與設(shè)定值的偏差),以利于控制器根據(jù)這些先驗(yàn)知識(shí)去調(diào)節(jié)大遲延被控對(duì)象,保證被控對(duì)象的輸出能夠很好地跟蹤設(shè)定值。
圖1中預(yù)測器的求取原理[5]為:把被控對(duì)象的輸出看成在小區(qū)間內(nèi)緩慢變化的曲線,用二次方程的形式表示系統(tǒng)的輸出,隨著時(shí)間的遞進(jìn),二次方程的輸出逼近變化的曲線。假設(shè)對(duì)系統(tǒng)t之后的狀態(tài)做一個(gè)正確的估計(jì),在求取系統(tǒng)的預(yù)測值之前,記k為系統(tǒng)的當(dāng)前時(shí)刻,L為預(yù)測時(shí)間,k-L表示k時(shí)刻前L時(shí)刻,k+L表示k時(shí)刻后L時(shí)刻,當(dāng)前時(shí)刻的輸出為y(k),產(chǎn)生這一輸出結(jié)果的控制器輸出表示為μ(k)=Δμ(k)+μ(k-L),根據(jù)已知的輸出y(k)和輸出變化率˙y(k)對(duì)未來k+L時(shí)刻的輸出和輸出變化率進(jìn)行預(yù)測,記預(yù)測值為(k+L)、預(yù)測值的變化為Δy(t),則被控對(duì)象輸出的近似二次方程的形式如下
式中:A,B,C為常系數(shù)。
由式(2)和式(3)可以得到
由式(1)和式(4)可以得到
由式(1)和式(5)可以得到
所以有
則預(yù)測輸出值與設(shè)定值的偏差為
式中:R為設(shè)定值。
至此,根據(jù)k時(shí)刻以及k-L時(shí)刻系統(tǒng)的輸出及輸出變化率,利用數(shù)學(xué)算式推導(dǎo)得到k+L時(shí)刻系統(tǒng)輸出值與設(shè)定值的偏差。
綜上所述,PID預(yù)測控制在預(yù)測模型時(shí)不像傳統(tǒng)預(yù)測控制采用階躍響應(yīng)、傳遞函數(shù)、狀態(tài)方程等復(fù)雜的形式,而是把輸出看成一條曲線,利用求導(dǎo)等簡便方法計(jì)算系統(tǒng)未來的輸出,大大減小了計(jì)算量,結(jié)構(gòu)簡單,易于工程實(shí)踐。
1.3 PID預(yù)測控制算法參數(shù)設(shè)置
在式(11)中,系統(tǒng)進(jìn)行控制時(shí),預(yù)測器的目的是預(yù)測出系統(tǒng)遲延t之后的狀態(tài),所以預(yù)測時(shí)間L必須大于或等于t,對(duì)于這一狀態(tài)既可以進(jìn)行單步預(yù)測也可以進(jìn)行多步預(yù)測[6]。記l為單次預(yù)測的預(yù)測步長,對(duì)不同的預(yù)測步長,系統(tǒng)的預(yù)測結(jié)果和實(shí)際狀態(tài)差異不同,得到的控制效果也不同。
如果預(yù)測步長l等于預(yù)測時(shí)間L,則需進(jìn)行單步預(yù)測,進(jìn)行單步預(yù)測時(shí)要求控制增量可以保證輸出一步達(dá)到設(shè)定值,但是此時(shí)控制增量的幅值很大,一般難以實(shí)施。所以,在實(shí)際應(yīng)用中要在L時(shí)間內(nèi)進(jìn)行多步預(yù)測也就是多值預(yù)測。
對(duì)于多步預(yù)測的控制方法,要明確預(yù)測時(shí)間L及預(yù)測次數(shù)n。由于PID控制器的魯棒性好,n的取值范圍可以比較大,n的取值越大系統(tǒng)預(yù)測越準(zhǔn)確,但同時(shí)計(jì)算量增大,預(yù)測所需時(shí)間也加長,所以一般定為4~8;另外,l為單次預(yù)測的預(yù)測步長,所以l的取值由n和L決定。
在式(11)的基礎(chǔ)上可以推導(dǎo)出在l,2l,3l,…,nl時(shí)刻的系統(tǒng)輸出與設(shè)定值之間的偏差e(t+l),e(t+2l),e(t+3l),…,e(t+nl)在某一點(diǎn)通過計(jì)算預(yù)測出未來的t+l,t+2l,t+3l,…,t+nl的n個(gè)點(diǎn)的值,并將其組成矩陣的某一行,當(dāng)預(yù)測超過1次時(shí)預(yù)測值就可以組成一個(gè)誤差矩陣
預(yù)測值的選取由誤差矩陣E和預(yù)測次數(shù)決定。預(yù)測次數(shù)小于P(一般考慮計(jì)算量可以令P為3~5)次時(shí)預(yù)測值取最后一個(gè)值,當(dāng)預(yù)測超過P次時(shí)預(yù)測值就取該點(diǎn)最后P次預(yù)測值的加權(quán)平均值。以此類推,滾動(dòng)求解得到被控對(duì)象的預(yù)測模型。
綜上所述,用滾動(dòng)的方法去逼近被控對(duì)象預(yù)測模型,類似于預(yù)測控制中用滾動(dòng)優(yōu)化的方法求最優(yōu)控制作用,這樣求得的預(yù)測模型更加準(zhǔn)確。工程人員根據(jù)最逼近的預(yù)測模型求解PID的控制參數(shù),結(jié)合PID控制魯棒性強(qiáng)的特點(diǎn),控制效果能夠達(dá)到最佳。
2.1 設(shè)定值擾動(dòng)
圖2 PID預(yù)測控制系統(tǒng)輸出與PID系統(tǒng)輸出
試驗(yàn)結(jié)果表明:對(duì)于具有大遲延特點(diǎn)的被控對(duì)象,應(yīng)用PID預(yù)測控制算法,系統(tǒng)在410 s達(dá)到穩(wěn)定,其超調(diào)量為9.070 7%,應(yīng)用普通PID控制,系統(tǒng)輸出曲線在560 s達(dá)到穩(wěn)定,其超調(diào)量為12.296 0%。綜合以上可以看出,應(yīng)用PID預(yù)測控制算法,被控對(duì)象的階躍響應(yīng)表現(xiàn)為調(diào)節(jié)時(shí)間短、超調(diào)小、能夠明顯改善系統(tǒng)的控制品質(zhì)。
2.2 內(nèi)部擾動(dòng)
實(shí)際情況下,系統(tǒng)存在不同程度的內(nèi)部擾動(dòng),對(duì)該大遲延系統(tǒng)加一個(gè)如圖3所示的階躍擾動(dòng)。該擾動(dòng)的幅值為0.5,進(jìn)入系統(tǒng)的時(shí)間為第1 000 s,在兩種控制方法的作用下,系統(tǒng)的輸出曲線如圖4所示。
圖3 系統(tǒng)加階躍擾動(dòng)
圖4 加階躍擾動(dòng)后系統(tǒng)的輸出曲線
由圖4可以看出:在第1 000 s對(duì)系統(tǒng)加入幅值為0.5的階躍擾動(dòng)后,應(yīng)用PID預(yù)測控制算法,系統(tǒng)在1322 s達(dá)到穩(wěn)定,其超調(diào)量為25.3793%,應(yīng)用普通PID控制,系統(tǒng)的輸出曲線在1 656 s達(dá)到穩(wěn)定,其超調(diào)為32.0718%。綜合以上可以看出,應(yīng)用PID預(yù)測控制算法,階躍擾動(dòng)的控制效果表現(xiàn)為調(diào)節(jié)時(shí)間短、超調(diào)量小、抗干擾能力強(qiáng)。
2.3 魯棒性檢驗(yàn)
圖5 被控對(duì)象模型參數(shù)變化后的系統(tǒng)輸出曲線
試驗(yàn)分析:由圖5可以看出,被控對(duì)象發(fā)生變化后,應(yīng)用PID預(yù)測控制算法,系統(tǒng)在706 s達(dá)到穩(wěn)定,超調(diào)為15.1376%,而應(yīng)用普通PID控制時(shí),系統(tǒng)在942 s達(dá)到穩(wěn)定,超調(diào)為17.437 1%。綜合以上可以看出,應(yīng)用PID預(yù)測控制算法在被控對(duì)象發(fā)生變化時(shí)的控制效果表現(xiàn)為調(diào)節(jié)時(shí)間短、超調(diào)量小、魯棒性強(qiáng)。
本文在文獻(xiàn)[5]提出的基于已知系統(tǒng)輸出狀態(tài)求系統(tǒng)未來狀態(tài)預(yù)測模型的基礎(chǔ)上,針對(duì)預(yù)測控制結(jié)構(gòu)復(fù)雜、計(jì)算量大、參數(shù)多、參數(shù)與物理系統(tǒng)難以一一對(duì)應(yīng)等特點(diǎn),綜合PID控制算法的參數(shù)設(shè)置容易、魯棒性強(qiáng)的特點(diǎn),提出了PID預(yù)測控制算法。應(yīng)用此算法進(jìn)行了階躍響應(yīng)、干擾、被控對(duì)象參數(shù)變化3個(gè)仿真試驗(yàn),驗(yàn)證了PID預(yù)測控制算法相比普通PID算法的優(yōu)越性。預(yù)測PID不僅能夠有效克服被控對(duì)象的大遲延問題,提高了系統(tǒng)的快速性,而且抑制了系統(tǒng)的超調(diào)量,在系統(tǒng)存在擾動(dòng)以及被控對(duì)象參數(shù)發(fā)生變化的情況下能夠快速克服干擾,很大程度上提高了系統(tǒng)的控制品質(zhì)。文中提出的PID預(yù)測控制算法結(jié)構(gòu)簡單、參數(shù)整定容易、在線計(jì)算量小,可以通過簡單編程在物理實(shí)驗(yàn)室系統(tǒng)設(shè)備上實(shí)現(xiàn)控制,也可以經(jīng)過簡單的轉(zhuǎn)換、組合,利用分散控制系統(tǒng)(DCS)用戶自定義模塊編程實(shí)現(xiàn)控制,是一種有推廣價(jià)值的新型預(yù)測控制算法。
[1]王國玉,韓璞.預(yù)測控制及其在熱工過程控制中的應(yīng)用[J].電站系統(tǒng)工程,2002(3):53-56.
[2]楊麗華.預(yù)測控制及其在熱工過程控制中的研究[D].北京:華北電力大學(xué),2013.
[3]張春慧.預(yù)測控制算法及其在熱工系統(tǒng)中的應(yīng)用研究[D].北京:華北電力大學(xué),2007.
[4]張嘉英,席東民,胡琳靜.廣義預(yù)測控制在鍋爐燃燒控制系統(tǒng)中的應(yīng)用[J].熱力發(fā)電,2011(2):56-59.
[5]陳亮.循環(huán)流化床鍋爐建模及其智能控制系統(tǒng)的研究[D].杭州:浙江大學(xué),2005.
[6]王桂增,王詩宓,徐博文,等.高等過程控制[M].北京:清華大學(xué)出版社,2002:10-11,40-41.
[7]何同祥,杜瑤.一種改進(jìn)的廣義預(yù)測控制算法仿真研究[J].計(jì)算機(jī)仿真,2013(9):391-393.
[8]SAVITA G K,AMITK C,SONMATH N,etal.Modeling and monitoring of batch processes using principal component analysis assisted generalized regression neural networks(GRNN)[J].Biochemical Engineering Journal,2004,18(3):193-210.
[9]HAJISALEH M H,SALAHSHOOR K,SEFATM H.A new methodology for simulation and optimization of CO2sequestration in a saline aquifer using artificial neural network and model predictive control approach[J].Energy Sources,Part A:Recovery,Utilization and Environmental Effects,2014,36(3):336-346.
[10]席裕庚.預(yù)測控制[M].2版.北京:國防工業(yè)出版社,2013:274-277.
[11]韓璞,董澤,王東風(fēng),等.智能控制[M].北京:中國電力出版社,2013:144-150.
[12]金以慧.過程控制[M].北京:清華大學(xué)出版社,1993:312.
(本文責(zé)編:劉芳)
TP 273+.2
A
1674-1951(2015)07-0015-03
馬平(1961—),女,湖南湘潭人,教授,碩士研究生導(dǎo)師,從事過程控制、火電廠單元機(jī)組控制和優(yōu)化、計(jì)算機(jī)原理及應(yīng)用等方面的教學(xué)科研工作(E-mail:maping2067@163.com)。
2015-03-17;
2015-06-23
趙倩(1988—),女,河北保定人,在讀碩士研究生,從事預(yù)測控制在過程控制中的應(yīng)用等方面的研究(E-mail:614243463@qq.com)。