申旭晨 何小陽 黎丹

摘要:針對工業過程控制中存在的大時滯問題,提出一種無模型自適應控制改進算法(ImprovedModelFreeAdaptiveControl,IMFAC),其優點是不需要對象的具體模型,僅僅根據系統的輸入和輸出即可對系統進行控制。在改進算法中通過引入帶滯后時間輸出的變化率的約束項,從而來減小大時滯對系統的影響。同時通過MATLAB與SMPT-1000仿真驗證改進算法對大時滯系統在系統響應速度與系統穩定性方面有很好的控制效果。
關鍵詞:大時滯;無模型自適應;改進算法;SMPT-1000仿真
中圖分類號:TP273;TM621.2文獻標識碼:A
1引言
工業生產過程中,具有時滯特性的被控對象是非常普遍的,而時滯對象也較難控制,尤其是大時滯對象的控制一直是一個難題,文獻[1]和文獻[2]提出了無模型自適應控制算法理論,并證明了基于全格式無模型自適應控制算法的穩定性與收斂性。文獻[3]進行了無模型自適應算法的仿真與改進,并且證明了無模型自適應算法對大時滯系統具有有效的控制效果,文獻[4-7]將無模型自適應控制算法運用到高階系統以及非線性系統仿真中,證明了在高階系統以及非線性系統中,無模型自適應控制算法也有很好的控制和抗干擾效果。文獻[8]通過無模型自適應控制算法對直線電機的仿真,論述了算法的有效性。同時文獻[9]再次展望了無模型自適應控制算法在未來具有實用可能的研究話題。
本文針對大時滯系統的特點,提出基于全格式無模型自適應控制算法的改進算法(FFLIMFAC),并選取了大時滯對象和鍋爐仿真平臺進行實驗。實驗表明改進的算法在大時滯系統中有很好的控制效果。
2無模型自適應控制算法
一般離散時間非線性系統系統[1]如下:
y(k+1)=f(y(k),y(k-1),…,y(k-ny),u(k),u(k-1),…,u(k-nu))(1)
其中y(k),u(k)分別表示系統的輸出與輸入,u(k)∈Rp,ny,nu分別表示系統階數。對于某兩個整數Ly和Lu(稱為偽階數),則一定存在一個被稱為擬梯度向量的相量(gradientlikevector),使得
Δy(k+1)=φT(k)θ(k)(2)
其中
φ(k)T=(Δy(k),Δy(k-1),…,Δy(k-Ly),Δu(k),Δu(k-1),…,Δu(k-Lu)),
θ(k)是一個列向量且‖θ(k)‖有界,稱為系統的擬梯度向量(gradientlikevector)。通過(2)式可以將一個復雜的非線性系統線性化。
給出輸入準則函數[10]:
J(u(k))=y*(k+1)-y(k+1)2+λu(k)-u(k-1)2(3)
以及擬梯度向量準則函數:
J(θ(k))=[y0(k)-y(k-1)-θ(k)φT(k-1)]2+μ[θ(k)-(k-1)]2(4)
其中,y*(k+1)是系統在k+1時刻的期望輸出,y0(k)是系統在k時刻的實際輸出,λ和μ是權重系數,(k)是擬梯度向量在k時刻的估計值。
結合全格式線性化方法,可以得到如下FFLMFAC算法:
(k+1)=(k)+ηkφ(k)‖φ(k)‖2+μ
Δy(k+1)-φT(k)(k)
u(k)=u(k-1)+ρkLy+1(k)λ+2Ly+1(k)
[y*(k+1)-y(k)-,T(k)′(k)]
其中ρk和ηk是系統參數,
T(k)=[1(k),…,Ly(k),Ly+1(k)
Ly+2(k),…,Ly+Lu(k)]
Ly+1(k)是擬梯度向量中一個元素Ly+1在k時刻的在線估計值。且
φ′T(k)=[Δy(k),…,Δy(k-Ly+1),
Δu(k-1),…,Δu(k-Lu+1)]
'T(k)=[1(k),…,Ly(k),
Ly+2(k),…,Ly+Lu(k)]
3改進的無模型自適應控制算法
為了提高控制系統的快速性與穩定性,本文將k時刻系統輸出與k+1時刻之前τ時刻的系統輸出以及k時刻擬梯度向量與k+1時刻之前τ時刻擬梯度向量進行關聯,并且將有關約束項添加入準則函數中,通過仿真對改進算法與未改進算法進行對比,觀察約束項的引入對控制系統是否具有有效性,以下給出對控制算法的改進設計:
在輸入準則函數(3)中增添帶有滯后時間常數τ的滯后輸出變化率的約束項:[y(k)-y(k-τ+1)T]2,其中τ是針對系統滯后特性給出的一個估計常數,并且可以人為調整,y(k)是k時刻系統輸出,y(k-τ+1)是系統在k+1時刻之前τ時間的系統輸出,改進后的輸入準則函數為:
J(u(k))=[y*(k+1)-y(k+1)]2+
λ[u(k)-u(k-1)]2+η[y(k)-y(k-τ+1)T]2(5)
在之前的擬梯度向量估計準則(4)中引入帶滯后擬梯度向量變化率的約束項:[θ(k)-(k-τ+1)T]2,得到新的擬梯度向量估計準則:
J(θ(k))=[y0(k)-y(k-1)-
θ(k)fT(k-1)]2+μ[θ(k)-(k-1)]2+
β[θ(k)·(k-τ+1)T]2(6)
將式(2)分別帶入式(5)與式(6)中,并分別對u(k)和θ(k)求導,便可得到FFLIMFAC算法,具體如下:
(k)=(k-1)+ηkφ(k-1)‖φ(k-1)‖2+μ+βT2
[Δy(k)-φT(k-1)(k-1)]+endprint
βT2‖φ(k-1)‖2+μ+βT2[(k-τ+1)-(k-1)]
u(k)=u(k-1)+ρkLy+1(k)λ+(1+ηT2)2Ly+1(k)
[y*(k+1)-y(k)+ηT2φT(k-τ)
θ(k-τ)-(1+ηT2)φ'T(k)′(k)]
其中,y*(k+1)是系統在k+1時刻的期望輸出,y0(k)表示系統在k時刻的輸出值,T是采樣時間,ρk和ηk是系統參數,λ、η、μ和β分別是約束項的權重系數,Ly+1(k)是擬梯度向量中一個元素Ly+1在k時刻的在線估計值,(k)是擬梯度向量在k時刻的估計值。
4MATLAB仿真研究
為了驗證改進算法的有效性,分別使用不同控制算法對實驗進行仿真研究,實驗中選取的對象模型僅僅使用其輸入、輸出數據,并不使用其他任何信息。
仿真一:構建一階大時滯對象[11]:G(s)=e-50s15s+1,通過逐步調試方法對FFLIMFAC和FFLMFAC控制算法進行參數調試,以及臨界比例度方法對PID控制算法進行參數調試,得FFLIMFAC算法各參數選取為τ=5,ηk=1.7,μ=0.6,ρk=1.25,λ=14.3,η=20,β=0.2,FFLMFAC算法參數為τ=5,ηk=1.5,μ=0.4,ρk=1.05,λ=13.9,PID算法參數為,kp=0.4,ki=0.0063,kd=2.3。PID算法,FFLMFAC算法和FFLIMFAC控制算法的仿真結果如圖1所示:
通過上圖可以看出,FFLIMFAC算法響應速度最快,FFLMFAC算法速度稍慢,但是兩種控制算法都比PID算法速度快很多,同時三種控制算法均能使系統達到穩定。
仿真二:構建二階大時滯對象[3]:G(s)=s-1s2+4s+5e-20s,FFLIMFAC控制算法參數分別選取為,τ=6,ηk=3.33,μ=0.1,ρk=0.38,λ=7.9,η=5.9,β=0.00002,FFLMFAC控制算法參數為,τ=6,ηk=3.33,μ=0.1,ρk=0.6,λ=7.9,PID控制算法參數為,kp=0.02,ki=0.015,kd=0.28。PID算法,FFLMFAC算法和FFLIMFAC控制算法的仿真結果如圖2所示:
顯然該二階大滯后系統屬于非最小相位系統,所以該系統控制起來有一定的難度。通過三種不同算法的仿真比較,可以看出FFLIMFAC算法比其他兩種算法擁有更快的響應性,通過二階大時滯系統的仿真能夠更清楚看出改進算法比未改進算法擁有的優勢。
仿真三:取非線性大時滯對象[10]:
y(k)=y(k-1)y(k-2)1+y2(k-1)+u(k-5)+1.5u(k-6),仿真取給定信號為rin(t)=1.0,當系統進入穩定狀態之后,在t=500s和t=1000s時分別給系統±0.1的干擾,此時u(k)=u(k)±0.1。對比不同算法的抗干擾性能。FFLIMFAC算法的參數為,τ=7,ηk=2,μ=0.11,ρk=0.15,λ=10,η=15,β=0.01,FFLMFAC算法的參數為,τ=7,ηk=1.9,μ=0.1,ρk=0.17,λ=9。FFLMFAC算法和FFLIMFAC控制算法的仿真結果如圖3所示:
由上圖可知,在抗干擾性能方面FFLIMFAC算法也是優于FFLMFAC算法的,在系統被干擾時,FFLIMFAC算法產生的超調量更小,系統恢復穩定所需的時間更短。
5SIMATICPCS7仿真
為了驗證改進算法FFLIMFAC控制算法在實際工業過程控制中的可行性,本文通過對SIMATICPCS7鍋爐系統中過熱出口蒸汽壓力控制的仿真來對算法進行驗證,并將傳統PID控制算法與FFLIMFAC算法進行控制性能的比較。
1)將PI1104的設定值從3.8MPa變為3.9MPa,并記錄PI1104的響應曲線。
2)待PI1104穩定后,將PI1104的設定值從3.9MPa再變回為3.8MPa,記錄PI1104的響應曲線。
3)將PIC1104設為手動狀態,將控制器輸出MAN_OP修改為80,也就是將FV1104的開度突變為80,經過10s左右后再將控制器投為自動。觀察在FV1104自身受到擾動的情況下PI1104曲線的變化趨勢。
4)待系統穩定后,手動將FV1105的開度設置為30,觀察PI1104曲線的變化趨勢。
5)當PI1104穩定之后,再將FV1105開度調回到25,等待PI1104穩定。具體結果如下圖所示:
其中PI1104為過熱蒸汽出口壓力值分別是圖4的第二條曲線和圖5的第一條曲線,FV1104是燃料流量開度閥。通過圖5與圖4的比較,我們可以清楚的看到當PI1104設定值從3.8MPa變為3.9MPa時,系統的超調量變小了,同時,系統穩定時間也變少,從之前的50s縮短為20s。當將PI1104設定值從3.9MPa變為3.8MPa時,FFL-IMFAC算法也比PID算法在超調量和穩定時間方面有所提高,但不是很大。當將控制器輸出修改為80,經過10s之后將控制器投入自動運行,FFL-IMFAC算法在這一項中與PID相比優勢不是很大。但是在負載發生變化時FFL-IMFAC算法在超調量和響應時間方面都明顯優于傳統PID控制算法。
6結論
本文簡單的介紹了基于大時滯系統的無模型自適應控制算法,并給出了在其算法上進行的改進,最后通過選取兩個不同的滯后對象進行MATLAB仿真對比,同時為了驗證改進算法的可行性也進行了SIMATICPCS7仿真,通過不同算法之間的仿真比較,實驗表明FFL-IMFAC算法可以很好的適應大時滯系統,并且在控制性能方面也是有效的。
參考文獻endprint
[1]侯忠生.非參數模型及其自適應控制理論[M].北京:中國科學技術出版社,1999.
[2]TAN.K.K,S.N.HUANG,T.H.Lee,F.M.Lee.Adaptive-PIControlofaClassofSISOSystems[C].SanDiego,California:ProceedingsoftheAmericanControlConference,1999:3848-3852.
[3]陳琛,何小陽.一種大時滯系統的無模型自適應控制改進算法[J].計算機技術與自動化,2012,31(3):10-13.
[4]ZhongshenHou,DanXiong.TheAdaptiveControlSystemDesignwithaModelFreeExternalLoopasaCompensator[C].Hangzhou,P.R.China:Proceedingsofthe5thWorldCongressonIntelligentControlandAutomation,2004:444-448.
[5]梁永興.電動變槳系統的無模型自適應控制研究[D].蘭州:蘭州交通大學,2012.
[6]ChiR.H.&HOUZ.S.OptimalhigherorderlearningadaptivecontrolforaclassofSISOnonlinearsystems[J],JournalofControlTheoryandApplications,2005,3(3):247-251.
[7]姚文龍,張均東,池榮虎,等.船舶吊艙SSP推進電機的無模型自適應矢量控制方法[J].交通運輸工程學報,2014,(6):59-66.
[8]李萍,趙銘揚.緊格式無模型自適應控制在直線電機中的仿真[J].寧夏大學學報:自然科學版,2014,(4):324-327.
[9]侯忠生.再論無模型自適應控制[J].系統科學與數學,2014,10:1182-1191.
[10]侯立剛,徐利軍,蘇成利,等.基于緊格式線性化的無模型動態矩陣控制[J].控制工程,2013,(2):246-249+253.
[11]劉金琨.先進PID控制及其MATLAB仿真[M].北京:電子工業出版社,2003.
第35卷第1期2016年3月計算技術與自動化ComputingTechnologyandAutomationVol35,No1Mar.2016第35卷第1期2016年3月計算技術與自動化ComputingTechnologyandAutomationVol35,No1Mar.2016endprint