任佳,陳增強,2,孫明瑋,孫青林
(1. 南開大學 人工智能學院,天津 300350; 2. 天津市智能機器人重點實驗室,天津 300350)
自抗擾控制(active disturbance rejection con- trol, ADRC)和PI型廣義預測控制(PI type generalized predictive control, PI-GPC)都是為解決系統所受到干擾問題而引入的算法。
1988年韓京清提出ADRC算法[1-2],通過對系統受到的總擾動進行估計和補償,ADRC算法具有較強的克服干擾的能力,也因此有著廣泛的應用前景。鐘斌等[3]將ADRC算法應用于交流感應電動機的精確解耦模型,從而改善了交流感應電動機的調速性能并且快速跟蹤了負載轉矩。王東陽等[4]將ADRC算法應用于電壓型PWM整流器的功率控制,獲得了很好的控制效果。榮智林等[5]使用滑膜自抗擾算法調節永磁同步電動機的轉速,改進算法具有更好的抗干擾能力。Cao等[6]將自抗擾控制用于并網逆變器的電流控制,并研究了其魯棒性。Ramirez-Neria等[7]將自抗擾控制和微分平滑算法結合,在欠驅動系統中進行軌跡跟蹤,降低了實驗過程中對測量噪聲的敏感性。Das等[8]在風能轉換系統中使用自抗擾控制算法,增強了向電網傳輸的有功和無功功率的穩態和瞬態響應,得到了較好的效果。Wang等[9]將自抗擾控制和矢量諧振控制相結合,用于永磁同步直流電機的電流諧波抑制。從而建立了線性電動機控制平臺。Zhou等[10]使用基于偏差控制原理的線性自抗擾控制進行并網光伏逆變器的控制,提高了控制的穩定性和抗干擾性。
1994年陳增強等[11]提出了 PI-GPC 算法。通過對過程輸出進行多步預測,PI-GPC算法的動態性能和魯棒性較好,被廣泛應用于工業生產。仉寶玉等[12]提出了一種由遺傳算法進行參數優化的PI-GPC算法,它有效地解決了PI-GPC算法的參數優化問題。為了進一步提高非線性系統控制器的性能,朱峰等[13]提出了一種基于U模型的非線性系統的PI-GPC算法。
盡管有著上述優點,但是ADRC算法在時滯較大的系統中具有局限性;PI-GPC算法在線計算量大,在快速系統中的應用受限。因此,結合兩種算法的優勢,我們在先前的研究中設計了PI型自抗擾廣義預測控制(PI-ADRGPC)算法[14]。該算法不依賴于受控對象的具體模型,無需在線辨識系統參數,且可以對總擾動進行在線補償,從而將系統簡化成串聯積分器形式。該算法可以離線求解Diophantine方程,從而使在線計算量得以減少,克服了PI-GPC算法在線計算量大的問題。利用滾動優化的思想對系統輸出進行多步預測,該算法可以克服ADRC算法在大時滯系統中的局限性。
本節將對PI-ADRGPC進行詳細介紹,其算法結構如圖1所示。

圖1 PI-ADRGPC算法結構Fig. 1 PI-ADRGPC algorithm structure diagram
如圖1所示,將系統所有外部干擾以及內部未知信息看作總擾動,用擴張狀態觀測器(extended state observer, ESO)估計該擾動并將其擴張為xn+1,然后通過線性狀態誤差反饋控制律(linear states error feedback control laws, LSEF)補償總擾動,虛線框內部分被化為積分器串聯形式。針對該部分設計PI-GPC的控制量u,就完成了整個PIADRGPC的設計。和ADRC控制相比,該控制算法將原來PD控制器換成了PI-GPC,從而改善了算法性能。
給出以下形式的離散單輸入單輸出系統,稱為CARIMA模型:

式中:u(k?1)是被控對象輸入;y(k)是被控對象輸出;z?1是后移算子; ζ(t) 是表示擾動的隨機序列; ?=1?z?1為差分算子。A(z?1)、B(z?1)、C(z?1)分別為

為簡單起見,令C(z?1)=1。
在自抗擾算法中,對總擾動進行補償后,系統簡化為串聯積分器形式,一階系統就是單個積分器。傳遞函數為

用零階保持器對其離散化得到脈沖傳遞函數:

忽略擾動ζ(k),則式(1)化為

其脈沖傳遞函數可以定義為

由式(2)和式(3)對比得:

將丟番圖方程寫為

將式(4)代入式(5),得到一階系統丟番圖方程的解為

考慮以下PI-GPC算法的性能指標函數:

式中:Kp≥0,Ki>0 是給定常數,稱為比例因子和積分因子; ?u(k+j?1)=0(j=Nu,Nu+1,···,N)表示當j=Nu,Nu+1,···,N時,系統輸入不變;N是預測步長;Nu是控制步長;而λ(λ>0)是控制加權系數。

式中j=1,2,···,N。
誤差序列的計算如式(7)所示:

設計以下柔化序列w(k+j)來使輸出平緩達到給定值:

式中: α(0≤α≤1) 是柔化因子;yr(k)是參考軌跡;
j步后的預測輸出為


將式(9)寫為向量形式:

其中

根據式(7)和式(10),可得:

其中

將式(6)寫為向量形式:

當J為最小值時,


其中, ?u(k) 是的第一個分量。

其中,

則可以得到基于CARIMA模型的PI-ADRGPC算法控制律。
為了方便計算,本文把所得控制律進行簡化。
先定義:


由上述分析可知:

將式(8)代入式(12)得:


已知

式(14)兩邊同乘T?,并代入式(13)得:

PI-GPC算法可以轉化為閉環離散系統的形式,結構如圖2所示。

圖2 PI-GPC算法控制下的閉環反饋結構Fig. 2 Closed-loop feedback structure under the control of PI-GPC algorithm
LESO的內模控制結構如圖3所示[15]。

圖3 LESO的內模控制結構Fig. 3 Internal model control structure of LESO
所以PI-ADRGPC下的閉環離散系統結構如圖4所示[16]。

圖4 PI-ADRGPC算法的閉環反饋結構Fig. 4 Closed-loop feedback structure of PI-ADRGPC
對于一階慣性環節

ESO內模結構下的閉環傳遞函數為

設

則閉環系統的特征方程為

因此,只需考慮開環傳遞函數的頻率響應。

給出以下一階慣性環節:

控制過程中采樣時間T0=0.1,控制增益的估值價b0=1。
所以,PI-ADRGPC算法主要受參數N、wo、α、λ、Nu、KP、KI的影響。對參數進行調整,并且通過Bode圖來分析參數變化對系統性能的影響。
當N分別取5、8、10、17、20、30、40時,取λ=0.005,α= 0.2,wo= 8,Nu= 1,KP= 0.1,KI= 1開環系統的Bode圖如圖5所示。

圖5 當Nu = 1,N改變時的Bode圖Fig. 5 Bode diagram when N changes (Nu = 1)
實驗結果顯示,當Nu= 1時,N取值較大,系統截止頻率小,響應速度慢,但是相角裕度較大,穩定性較好。
當Nu= 2時,開環系統的伯德圖如圖6所示。對應的相角裕度和截止頻率如表1所示。

圖6 當Nu = 2,N改變時的Bode圖Fig. 6 Bode diagram when N changes (Nu = 2)

表1 當Nu = 2,N變化時的相角裕度和截止頻率Table 1 Crossover frequency and phase marginunder different N (Nu = 2)
從圖6和表1可得,預測時域的改變會同時影響系統的相角裕度和截止頻率。Nu= 2時,N取值較小,系統截止頻率小,響應速度慢,但是相角裕度較大,穩定性較好。
當Nu= 3時,開環系統的Bode圖如圖7所示。

圖7 當Nu = 3,N改變時的Bode圖Fig. 7 Bode diagram when N changes (Nu = 3)
實驗結果顯示,當Nu= 3時,隨著N的改變,系統性能幾乎不發生變化。因此Nu取值越大,N的改變對系統性能的影響越不明顯。
N改變對系統性能的影響也和Nu的取值相關。應選擇合適的預測時域,使控制過程既能得到較快的響應速度,又具有較好的穩定性。
當wo分別取4、5、8、12、18、25、40、60時,取N=17,λ= 0.005,α= 0.2,Nu= 2,KP= 0.1,KI= 1,開環系統的Bode圖如圖8所示。
隨著wo增加,系統的截止頻率和相角裕度幾乎不變,但是ESO的精度提高了。即wo起濾波作用,wo越大,系統的輸入輸出對噪聲就越敏感。因此wo應該限制在一定范圍內以獲得較好的控制效果。

圖8wo改變時的Bode圖Fig. 8 Bode diagram when wo changes
當α分別取0、0.1、0.2、 0.4、0.5、0.6、0.7、0.9時,取N= 17,λ= 0.005,wo= 8,Nu= 2,KP= 0.1,KI= 1,開環系統的Bode圖如圖9所示。

圖9α改變時的Bode圖Fig. 9 Bode diagram when α changes
由圖9可得,α取較大值時,系統的截止頻率較低,響應速度慢,影響了系統的動態性能,但是系統穩定性較好。因此在確定了預測時域值N的基礎上進行參數調節,α應在1附近取值,才能獲得較好的控制效果。
當λ分別取1、0.5、0.1、0.05、0.01、0.005、0.001、0時,取N= 17,α= 0.2,wo= 8,Nu= 2,KP= 0.1,KI=1,開環系統的Bode圖如圖10所示。
由圖10可得,隨著λ減小,系統的截止頻率升高,響應速度變快。但同時系統的相角裕度減小,穩定性降低,而且也出現了超調。相反,如果λ增大,則相角裕度增加,超調消失,但響應速度減慢。所以實際會選擇較小的λ。

圖10λ改變時的Bode圖Fig. 10 Bode diagram when λ changes
當Nu分別取1、2、3、4、5、7、9時,取N= 17,λ= 0.005,α= 0.2,wo= 8,KP= 0.1,KI= 1。開環系統的Bode圖如圖11所示。對應的相角裕度和幅值裕度如表2所示。

圖11Nu改變時的Bode圖Fig. 11 Bode diagram when Nu changes

表2Nu變化時的相角裕度和截止頻率Table 2 Crossover frequency and phase marginunder different Nu
在PI-GPC中應滿足Nu≤N。圖11和表2顯示,當Nu= 1時,截止頻率最小,系統響應速度最慢。但是相角裕度最大,穩定性強。當Nu>1時,系統的響應速度比Nu= 1時快。但相角裕度與Nu=1時相比下降,系統的穩定性降低。當Nu= 2時,截止頻率最大,系統響應速度最快。但是相角裕度最小,穩定性差。因此,要根據對控制效果的要求選擇合適的Nu值。
當KP分別取0.001、0.01、0.1、0.5、1、10、50、100時,取N= 17,λ= 0.005,α= 0.2,wo= 8,Nu= 2,KI= 1開環系統的Bode圖如圖12所示。

圖12KP改變時的Bode圖Fig. 12 Bode diagram when KP changes
從圖12中可以看出,隨著KP的變化,系統的截止頻率和相角裕度變化不明顯。當KP取值較小時,系統截止頻率小,響應速度慢,但相角裕度較大,穩定性較好。應該選擇合適的KP,使控制過程既能得到較快的響應速度,又具有較好的穩定性。
當KI分別取0.01、0.1、1、5、10、50、100、500時,取N= 17,λ= 0.005,α= 0.2,wo= 8,Nu= 2,KP= 0.1開環系統的Bode圖如圖13所示。
實驗結果顯示,KI的改變會同時影響系統的相角裕度和截止頻率。當KI取值較小時,系統截止頻率小,響應速度慢,但是相角裕度較大,穩定性較好。但當KI≥ 5時,系統的截止頻率和相角裕度幾乎不隨著KI變化,所以KI的選擇不需要過大。應該選擇合適的KI,使控制過程既能得到較快的響應速度,又具有較好的穩定性。

圖13Ki改變時的Bode圖Fig. 13 Bode diagram when Ki changes
3.8.1 一階線性系統驗證
對于上述系統,當控制器參數為N= 17,wo=8, λ = 0.005,α= 0.2,Nu= 2,KP= 0.1,KI= 1時,其離散系統的開環傳遞函數為

可以得出離散系統的奈奎斯特圖,如圖14所示。從圖14可以看出,系統的奈氏曲線逆時針繞(?1,j0)點0圈,它的開環傳遞函數在單位圓外沒有特征根,因此離散系統穩定。

圖14 離散系統的奈奎斯特圖Fig. 14 Nyquist diagrams of discrete systems
將PI-ADRGPC算法的控制效果和ADRCGPC算法進行對比,兩種算法的參數如表3所示,其輸出響應對比如圖15所示。
由圖15和表4可知,對于一階線性系統,由PI-ADRGPC算法控制的系統輸出上升時間短、調節時間短,控制過程響應速度更快。ITAE性能指標小,PI-ADRGPC具有更好的控制效果。

表3 兩種控制器的參數Table 3 Parameters of the two controllers

圖15 輸出響應對比Fig. 15 Comparison graph of output response

表4 控制過程的性能指標Table 4 Performance indexes of the control processes
控制過程中,系統的性能指標如表4所示。表4中數據的計算閾值為±0.5%,即控制量達到100%±0.5%時計算上升時間、調節時間、超調量和靜差。其中ITAE為時間與絕對誤差乘積積分。
3.8.2 船舶航向控制驗證
為檢驗算法在實際系統中的性能,本文使用PI-ADRGPC控制船舶航向,并將其與使用ADRCGPC算法的控制效果進行比較。
船舶的非線性響應模型可以表示為

式中: ψ 表示船舶的實時航向;δ 為舵機輸出的實際舵角; δr為舵機輸出舵角的期望值;r為航向角速度;K、T為船舶操縱性指數;α 為非線性系數,KE為舵機控制增益;TE為舵機時間常數[17]。
本文選擇“育龍輪”為實驗對象。當航速為7.2 m/s時,其操縱性指數為K=0.478s?1,T=216s,α=30 ;舵機特性參數KE=1,TE=2.5s,舵機的最大舵角[18]為 35°。
一般情況下,船舶航行過程中會受到二階波浪力干擾,在200 s之后給船施加一個頻率為0.1rad/s,幅值為 4?的等效正弦干擾,如式(15)所示:

船舶航向控制器參數如表5所示。船舶航向輸出曲線如圖16所示。

表5 船舶航向控制器的參數Table 5 Parameters of the ship heading controllers

圖16 船舶航向輸出響應對比Fig. 16 Ship heading output response comparison graph
由圖16得,PI-ADRGPC控制器對船舶航向的跟蹤偏差比ADRC-GPC控制器小。經計算PIADRGPC控制器控制船舶航向平均誤差(每個采樣點誤差的絕對值除以采樣點個數)為0.121 9。ADRC-GPC控制器控制平均誤差為1.904 8。所以PI-ADRGPC控制器對船舶航向的控制效果優于ADRC-GPC控制器。
為克服ADRC算法在大時滯系統中具有局限性、PI-GPC算法在線計算量大的缺點,我們提出了PI-ADRGPC算法。本文利用頻域法對該算法進行了分析。針對一階線性系統,推導了PI-ADRGPC算法的閉環反饋結構,證明了算法的穩定性;利用開環傳遞函數的頻域特性,分析了參數變化對PI-ADRGPC性能的影響;將所提出的算法應用于一階線性系統和船舶航向控制系統,驗證了算法的性能。仿真結果顯示,所提出的算法和傳統ADRC和ADRC-GPC算法相比具有更快的響應速度和更短的調節時間。在未來,我們將繼續提高算法的性能并加以推廣。