任佳,陳增強(qiáng),2,孫明瑋,孫青林
(1. 南開大學(xué) 人工智能學(xué)院,天津 300350; 2. 天津市智能機(jī)器人重點(diǎn)實(shí)驗(yàn)室,天津 300350)
自抗擾控制(active disturbance rejection con- trol, ADRC)和PI型廣義預(yù)測控制(PI type generalized predictive control, PI-GPC)都是為解決系統(tǒng)所受到干擾問題而引入的算法。
1988年韓京清提出ADRC算法[1-2],通過對系統(tǒng)受到的總擾動(dòng)進(jìn)行估計(jì)和補(bǔ)償,ADRC算法具有較強(qiáng)的克服干擾的能力,也因此有著廣泛的應(yīng)用前景。鐘斌等[3]將ADRC算法應(yīng)用于交流感應(yīng)電動(dòng)機(jī)的精確解耦模型,從而改善了交流感應(yīng)電動(dòng)機(jī)的調(diào)速性能并且快速跟蹤了負(fù)載轉(zhuǎn)矩。王東陽等[4]將ADRC算法應(yīng)用于電壓型PWM整流器的功率控制,獲得了很好的控制效果。榮智林等[5]使用滑膜自抗擾算法調(diào)節(jié)永磁同步電動(dòng)機(jī)的轉(zhuǎn)速,改進(jìn)算法具有更好的抗干擾能力。Cao等[6]將自抗擾控制用于并網(wǎng)逆變器的電流控制,并研究了其魯棒性。Ramirez-Neria等[7]將自抗擾控制和微分平滑算法結(jié)合,在欠驅(qū)動(dòng)系統(tǒng)中進(jìn)行軌跡跟蹤,降低了實(shí)驗(yàn)過程中對測量噪聲的敏感性。Das等[8]在風(fēng)能轉(zhuǎn)換系統(tǒng)中使用自抗擾控制算法,增強(qiáng)了向電網(wǎng)傳輸?shù)挠泄蜔o功功率的穩(wěn)態(tài)和瞬態(tài)響應(yīng),得到了較好的效果。Wang等[9]將自抗擾控制和矢量諧振控制相結(jié)合,用于永磁同步直流電機(jī)的電流諧波抑制。從而建立了線性電動(dòng)機(jī)控制平臺(tái)。Zhou等[10]使用基于偏差控制原理的線性自抗擾控制進(jìn)行并網(wǎng)光伏逆變器的控制,提高了控制的穩(wěn)定性和抗干擾性。
1994年陳增強(qiáng)等[11]提出了 PI-GPC 算法。通過對過程輸出進(jìn)行多步預(yù)測,PI-GPC算法的動(dòng)態(tài)性能和魯棒性較好,被廣泛應(yīng)用于工業(yè)生產(chǎn)。仉寶玉等[12]提出了一種由遺傳算法進(jìn)行參數(shù)優(yōu)化的PI-GPC算法,它有效地解決了PI-GPC算法的參數(shù)優(yōu)化問題。為了進(jìn)一步提高非線性系統(tǒng)控制器的性能,朱峰等[13]提出了一種基于U模型的非線性系統(tǒng)的PI-GPC算法。
盡管有著上述優(yōu)點(diǎn),但是ADRC算法在時(shí)滯較大的系統(tǒng)中具有局限性;PI-GPC算法在線計(jì)算量大,在快速系統(tǒng)中的應(yīng)用受限。因此,結(jié)合兩種算法的優(yōu)勢,我們在先前的研究中設(shè)計(jì)了PI型自抗擾廣義預(yù)測控制(PI-ADRGPC)算法[14]。該算法不依賴于受控對象的具體模型,無需在線辨識(shí)系統(tǒng)參數(shù),且可以對總擾動(dòng)進(jìn)行在線補(bǔ)償,從而將系統(tǒng)簡化成串聯(lián)積分器形式。該算法可以離線求解Diophantine方程,從而使在線計(jì)算量得以減少,克服了PI-GPC算法在線計(jì)算量大的問題。利用滾動(dòng)優(yōu)化的思想對系統(tǒng)輸出進(jìn)行多步預(yù)測,該算法可以克服ADRC算法在大時(shí)滯系統(tǒng)中的局限性。
本節(jié)將對PI-ADRGPC進(jìn)行詳細(xì)介紹,其算法結(jié)構(gòu)如圖1所示。
圖1 PI-ADRGPC算法結(jié)構(gòu)Fig. 1 PI-ADRGPC algorithm structure diagram
如圖1所示,將系統(tǒng)所有外部干擾以及內(nèi)部未知信息看作總擾動(dòng),用擴(kuò)張狀態(tài)觀測器(extended state observer, ESO)估計(jì)該擾動(dòng)并將其擴(kuò)張為xn+1,然后通過線性狀態(tài)誤差反饋控制律(linear states error feedback control laws, LSEF)補(bǔ)償總擾動(dòng),虛線框內(nèi)部分被化為積分器串聯(lián)形式。針對該部分設(shè)計(jì)PI-GPC的控制量u,就完成了整個(gè)PIADRGPC的設(shè)計(jì)。和ADRC控制相比,該控制算法將原來PD控制器換成了PI-GPC,從而改善了算法性能。
給出以下形式的離散單輸入單輸出系統(tǒng),稱為CARIMA模型:
式中:u(k?1)是被控對象輸入;y(k)是被控對象輸出;z?1是后移算子; ζ(t) 是表示擾動(dòng)的隨機(jī)序列; ?=1?z?1為差分算子。A(z?1)、B(z?1)、C(z?1)分別為
為簡單起見,令C(z?1)=1。
在自抗擾算法中,對總擾動(dòng)進(jìn)行補(bǔ)償后,系統(tǒng)簡化為串聯(lián)積分器形式,一階系統(tǒng)就是單個(gè)積分器。傳遞函數(shù)為
用零階保持器對其離散化得到脈沖傳遞函數(shù):
忽略擾動(dòng)ζ(k),則式(1)化為
其脈沖傳遞函數(shù)可以定義為
由式(2)和式(3)對比得:
將丟番圖方程寫為
將式(4)代入式(5),得到一階系統(tǒng)丟番圖方程的解為
考慮以下PI-GPC算法的性能指標(biāo)函數(shù):
式中:Kp≥0,Ki>0 是給定常數(shù),稱為比例因子和積分因子; ?u(k+j?1)=0(j=Nu,Nu+1,···,N)表示當(dāng)j=Nu,Nu+1,···,N時(shí),系統(tǒng)輸入不變;N是預(yù)測步長;Nu是控制步長;而λ(λ>0)是控制加權(quán)系數(shù)。
式中j=1,2,···,N。
誤差序列的計(jì)算如式(7)所示:
設(shè)計(jì)以下柔化序列w(k+j)來使輸出平緩達(dá)到給定值:
式中: α(0≤α≤1) 是柔化因子;yr(k)是參考軌跡;
j步后的預(yù)測輸出為
將式(9)寫為向量形式:
其中
根據(jù)式(7)和式(10),可得:
其中
將式(6)寫為向量形式:
當(dāng)J為最小值時(shí),
其中, ?u(k) 是的第一個(gè)分量。
其中,
則可以得到基于CARIMA模型的PI-ADRGPC算法控制律。
為了方便計(jì)算,本文把所得控制律進(jìn)行簡化。
先定義:
由上述分析可知:
將式(8)代入式(12)得:
已知
式(14)兩邊同乘T?,并代入式(13)得:
PI-GPC算法可以轉(zhuǎn)化為閉環(huán)離散系統(tǒng)的形式,結(jié)構(gòu)如圖2所示。
圖2 PI-GPC算法控制下的閉環(huán)反饋結(jié)構(gòu)Fig. 2 Closed-loop feedback structure under the control of PI-GPC algorithm
LESO的內(nèi)模控制結(jié)構(gòu)如圖3所示[15]。
圖3 LESO的內(nèi)模控制結(jié)構(gòu)Fig. 3 Internal model control structure of LESO
所以PI-ADRGPC下的閉環(huán)離散系統(tǒng)結(jié)構(gòu)如圖4所示[16]。
圖4 PI-ADRGPC算法的閉環(huán)反饋結(jié)構(gòu)Fig. 4 Closed-loop feedback structure of PI-ADRGPC
對于一階慣性環(huán)節(jié)
ESO內(nèi)模結(jié)構(gòu)下的閉環(huán)傳遞函數(shù)為
設(shè)
則閉環(huán)系統(tǒng)的特征方程為
因此,只需考慮開環(huán)傳遞函數(shù)的頻率響應(yīng)。
給出以下一階慣性環(huán)節(jié):
控制過程中采樣時(shí)間T0=0.1,控制增益的估值價(jià)b0=1。
所以,PI-ADRGPC算法主要受參數(shù)N、wo、α、λ、Nu、KP、KI的影響。對參數(shù)進(jìn)行調(diào)整,并且通過Bode圖來分析參數(shù)變化對系統(tǒng)性能的影響。
當(dāng)N分別取5、8、10、17、20、30、40時(shí),取λ=0.005,α= 0.2,wo= 8,Nu= 1,KP= 0.1,KI= 1開環(huán)系統(tǒng)的Bode圖如圖5所示。
圖5 當(dāng)Nu = 1,N改變時(shí)的Bode圖Fig. 5 Bode diagram when N changes (Nu = 1)
實(shí)驗(yàn)結(jié)果顯示,當(dāng)Nu= 1時(shí),N取值較大,系統(tǒng)截止頻率小,響應(yīng)速度慢,但是相角裕度較大,穩(wěn)定性較好。
當(dāng)Nu= 2時(shí),開環(huán)系統(tǒng)的伯德圖如圖6所示。對應(yīng)的相角裕度和截止頻率如表1所示。
圖6 當(dāng)Nu = 2,N改變時(shí)的Bode圖Fig. 6 Bode diagram when N changes (Nu = 2)
表1 當(dāng)Nu = 2,N變化時(shí)的相角裕度和截止頻率Table 1 Crossover frequency and phase marginunder different N (Nu = 2)
從圖6和表1可得,預(yù)測時(shí)域的改變會(huì)同時(shí)影響系統(tǒng)的相角裕度和截止頻率。Nu= 2時(shí),N取值較小,系統(tǒng)截止頻率小,響應(yīng)速度慢,但是相角裕度較大,穩(wěn)定性較好。
當(dāng)Nu= 3時(shí),開環(huán)系統(tǒng)的Bode圖如圖7所示。
圖7 當(dāng)Nu = 3,N改變時(shí)的Bode圖Fig. 7 Bode diagram when N changes (Nu = 3)
實(shí)驗(yàn)結(jié)果顯示,當(dāng)Nu= 3時(shí),隨著N的改變,系統(tǒng)性能幾乎不發(fā)生變化。因此Nu取值越大,N的改變對系統(tǒng)性能的影響越不明顯。
N改變對系統(tǒng)性能的影響也和Nu的取值相關(guān)。應(yīng)選擇合適的預(yù)測時(shí)域,使控制過程既能得到較快的響應(yīng)速度,又具有較好的穩(wěn)定性。
當(dāng)wo分別取4、5、8、12、18、25、40、60時(shí),取N=17,λ= 0.005,α= 0.2,Nu= 2,KP= 0.1,KI= 1,開環(huán)系統(tǒng)的Bode圖如圖8所示。
隨著wo增加,系統(tǒng)的截止頻率和相角裕度幾乎不變,但是ESO的精度提高了。即wo起濾波作用,wo越大,系統(tǒng)的輸入輸出對噪聲就越敏感。因此wo應(yīng)該限制在一定范圍內(nèi)以獲得較好的控制效果。
圖8wo改變時(shí)的Bode圖Fig. 8 Bode diagram when wo changes
當(dāng)α分別取0、0.1、0.2、 0.4、0.5、0.6、0.7、0.9時(shí),取N= 17,λ= 0.005,wo= 8,Nu= 2,KP= 0.1,KI= 1,開環(huán)系統(tǒng)的Bode圖如圖9所示。
圖9α改變時(shí)的Bode圖Fig. 9 Bode diagram when α changes
由圖9可得,α取較大值時(shí),系統(tǒng)的截止頻率較低,響應(yīng)速度慢,影響了系統(tǒng)的動(dòng)態(tài)性能,但是系統(tǒng)穩(wěn)定性較好。因此在確定了預(yù)測時(shí)域值N的基礎(chǔ)上進(jìn)行參數(shù)調(diào)節(jié),α應(yīng)在1附近取值,才能獲得較好的控制效果。
當(dāng)λ分別取1、0.5、0.1、0.05、0.01、0.005、0.001、0時(shí),取N= 17,α= 0.2,wo= 8,Nu= 2,KP= 0.1,KI=1,開環(huán)系統(tǒng)的Bode圖如圖10所示。
由圖10可得,隨著λ減小,系統(tǒng)的截止頻率升高,響應(yīng)速度變快。但同時(shí)系統(tǒng)的相角裕度減小,穩(wěn)定性降低,而且也出現(xiàn)了超調(diào)。相反,如果λ增大,則相角裕度增加,超調(diào)消失,但響應(yīng)速度減慢。所以實(shí)際會(huì)選擇較小的λ。
圖10λ改變時(shí)的Bode圖Fig. 10 Bode diagram when λ changes
當(dāng)Nu分別取1、2、3、4、5、7、9時(shí),取N= 17,λ= 0.005,α= 0.2,wo= 8,KP= 0.1,KI= 1。開環(huán)系統(tǒng)的Bode圖如圖11所示。對應(yīng)的相角裕度和幅值裕度如表2所示。
圖11Nu改變時(shí)的Bode圖Fig. 11 Bode diagram when Nu changes
表2Nu變化時(shí)的相角裕度和截止頻率Table 2 Crossover frequency and phase marginunder different Nu
在PI-GPC中應(yīng)滿足Nu≤N。圖11和表2顯示,當(dāng)Nu= 1時(shí),截止頻率最小,系統(tǒng)響應(yīng)速度最慢。但是相角裕度最大,穩(wěn)定性強(qiáng)。當(dāng)Nu>1時(shí),系統(tǒng)的響應(yīng)速度比Nu= 1時(shí)快。但相角裕度與Nu=1時(shí)相比下降,系統(tǒng)的穩(wěn)定性降低。當(dāng)Nu= 2時(shí),截止頻率最大,系統(tǒng)響應(yīng)速度最快。但是相角裕度最小,穩(wěn)定性差。因此,要根據(jù)對控制效果的要求選擇合適的Nu值。
當(dāng)KP分別取0.001、0.01、0.1、0.5、1、10、50、100時(shí),取N= 17,λ= 0.005,α= 0.2,wo= 8,Nu= 2,KI= 1開環(huán)系統(tǒng)的Bode圖如圖12所示。
圖12KP改變時(shí)的Bode圖Fig. 12 Bode diagram when KP changes
從圖12中可以看出,隨著KP的變化,系統(tǒng)的截止頻率和相角裕度變化不明顯。當(dāng)KP取值較小時(shí),系統(tǒng)截止頻率小,響應(yīng)速度慢,但相角裕度較大,穩(wěn)定性較好。應(yīng)該選擇合適的KP,使控制過程既能得到較快的響應(yīng)速度,又具有較好的穩(wěn)定性。
當(dāng)KI分別取0.01、0.1、1、5、10、50、100、500時(shí),取N= 17,λ= 0.005,α= 0.2,wo= 8,Nu= 2,KP= 0.1開環(huán)系統(tǒng)的Bode圖如圖13所示。
實(shí)驗(yàn)結(jié)果顯示,KI的改變會(huì)同時(shí)影響系統(tǒng)的相角裕度和截止頻率。當(dāng)KI取值較小時(shí),系統(tǒng)截止頻率小,響應(yīng)速度慢,但是相角裕度較大,穩(wěn)定性較好。但當(dāng)KI≥ 5時(shí),系統(tǒng)的截止頻率和相角裕度幾乎不隨著KI變化,所以KI的選擇不需要過大。應(yīng)該選擇合適的KI,使控制過程既能得到較快的響應(yīng)速度,又具有較好的穩(wěn)定性。
圖13Ki改變時(shí)的Bode圖Fig. 13 Bode diagram when Ki changes
3.8.1 一階線性系統(tǒng)驗(yàn)證
對于上述系統(tǒng),當(dāng)控制器參數(shù)為N= 17,wo=8, λ = 0.005,α= 0.2,Nu= 2,KP= 0.1,KI= 1時(shí),其離散系統(tǒng)的開環(huán)傳遞函數(shù)為
可以得出離散系統(tǒng)的奈奎斯特圖,如圖14所示。從圖14可以看出,系統(tǒng)的奈氏曲線逆時(shí)針繞(?1,j0)點(diǎn)0圈,它的開環(huán)傳遞函數(shù)在單位圓外沒有特征根,因此離散系統(tǒng)穩(wěn)定。
圖14 離散系統(tǒng)的奈奎斯特圖Fig. 14 Nyquist diagrams of discrete systems
將PI-ADRGPC算法的控制效果和ADRCGPC算法進(jìn)行對比,兩種算法的參數(shù)如表3所示,其輸出響應(yīng)對比如圖15所示。
由圖15和表4可知,對于一階線性系統(tǒng),由PI-ADRGPC算法控制的系統(tǒng)輸出上升時(shí)間短、調(diào)節(jié)時(shí)間短,控制過程響應(yīng)速度更快。ITAE性能指標(biāo)小,PI-ADRGPC具有更好的控制效果。
表3 兩種控制器的參數(shù)Table 3 Parameters of the two controllers
圖15 輸出響應(yīng)對比Fig. 15 Comparison graph of output response
表4 控制過程的性能指標(biāo)Table 4 Performance indexes of the control processes
控制過程中,系統(tǒng)的性能指標(biāo)如表4所示。表4中數(shù)據(jù)的計(jì)算閾值為±0.5%,即控制量達(dá)到100%±0.5%時(shí)計(jì)算上升時(shí)間、調(diào)節(jié)時(shí)間、超調(diào)量和靜差。其中ITAE為時(shí)間與絕對誤差乘積積分。
3.8.2 船舶航向控制驗(yàn)證
為檢驗(yàn)算法在實(shí)際系統(tǒng)中的性能,本文使用PI-ADRGPC控制船舶航向,并將其與使用ADRCGPC算法的控制效果進(jìn)行比較。
船舶的非線性響應(yīng)模型可以表示為
式中: ψ 表示船舶的實(shí)時(shí)航向;δ 為舵機(jī)輸出的實(shí)際舵角; δr為舵機(jī)輸出舵角的期望值;r為航向角速度;K、T為船舶操縱性指數(shù);α 為非線性系數(shù),KE為舵機(jī)控制增益;TE為舵機(jī)時(shí)間常數(shù)[17]。
本文選擇“育龍輪”為實(shí)驗(yàn)對象。當(dāng)航速為7.2 m/s時(shí),其操縱性指數(shù)為K=0.478s?1,T=216s,α=30 ;舵機(jī)特性參數(shù)KE=1,TE=2.5s,舵機(jī)的最大舵角[18]為 35°。
一般情況下,船舶航行過程中會(huì)受到二階波浪力干擾,在200 s之后給船施加一個(gè)頻率為0.1rad/s,幅值為 4?的等效正弦干擾,如式(15)所示:
船舶航向控制器參數(shù)如表5所示。船舶航向輸出曲線如圖16所示。
表5 船舶航向控制器的參數(shù)Table 5 Parameters of the ship heading controllers
圖16 船舶航向輸出響應(yīng)對比Fig. 16 Ship heading output response comparison graph
由圖16得,PI-ADRGPC控制器對船舶航向的跟蹤偏差比ADRC-GPC控制器小。經(jīng)計(jì)算PIADRGPC控制器控制船舶航向平均誤差(每個(gè)采樣點(diǎn)誤差的絕對值除以采樣點(diǎn)個(gè)數(shù))為0.121 9。ADRC-GPC控制器控制平均誤差為1.904 8。所以PI-ADRGPC控制器對船舶航向的控制效果優(yōu)于ADRC-GPC控制器。
為克服ADRC算法在大時(shí)滯系統(tǒng)中具有局限性、PI-GPC算法在線計(jì)算量大的缺點(diǎn),我們提出了PI-ADRGPC算法。本文利用頻域法對該算法進(jìn)行了分析。針對一階線性系統(tǒng),推導(dǎo)了PI-ADRGPC算法的閉環(huán)反饋結(jié)構(gòu),證明了算法的穩(wěn)定性;利用開環(huán)傳遞函數(shù)的頻域特性,分析了參數(shù)變化對PI-ADRGPC性能的影響;將所提出的算法應(yīng)用于一階線性系統(tǒng)和船舶航向控制系統(tǒng),驗(yàn)證了算法的性能。仿真結(jié)果顯示,所提出的算法和傳統(tǒng)ADRC和ADRC-GPC算法相比具有更快的響應(yīng)速度和更短的調(diào)節(jié)時(shí)間。在未來,我們將繼續(xù)提高算法的性能并加以推廣。