馮增喜,李丙輝,張 聰
(1.西安建筑科技大學建科學院,陜西 西安 710055;2.安徽建筑大學智能建筑與建筑節能安徽省重點實驗室,安徽 合肥 230022)
無模型自適應控制(Model Free Adaptive Control,MFAC)是一種基于數據驅動的先進控制方法,它不依賴于對象數學模型,僅基于被控系統的輸入輸出數據設計控制器,且能實現自適應控制[1]。無模型自適應控制具有廣泛的適用性,目前已經在自動泊車、機器人、側旋翼飛行器等多領域得到了應用[2-3]。對于相同的控制系統,控制器參數不同導致控制效果不同,因此,在控制過程中更快、更準確地設定合適的控制器參數顯得尤為重要。然而,目前針對MFAC控制器4個參數的尋優方法十分有限,且不成熟,也沒有系統化。文獻[4]在PID控制器參數整定方法的基礎上提出了基于臨界比例度參數整定法、Z-N經驗的參數整定方法、基于Cohen-Coon參數整定方法以及基于最速下降的參數整定法,控制性能有待提高;文獻[5]提出了基于單純形法的MFAC參數尋優法,但對初始參數設定有一定的要求;文獻[6]提出了基于二階泛模型的改進的無模型自適應控制器,并在此基礎上提出了基于下降梯度法的參數優化整定方法。總的來說,關于MFAC參數整定和優化的研究還處于探索階段,需進一步的深化和拓展。因此,本文采用遺傳算法 (Genetic Algorithm,GA)對MFAC控制器參數進行尋優。
MFAC是一種針對非線性系統的控制設計方法,侯忠生教授于1994年在其博士論文中首次提出,逐漸形成一套完整的理論體系[7]。MFAC是在閉環系統的每個工作點處建立非線性系統等價的動態線性數據模型,利用受控系統的輸入輸出數據在線估計系統的偽偏導數(pseudo partial derivative,PPD)、偽梯度和偽雅可比矩陣參數,然后設計加權一步向前的控制器,進而實現非線性系統數據驅動的無模型自適應控制[8]。由于具有以下4個優點:1)控制器設計不依賴受控系統的模型信息,僅需要被控系統的輸入輸出數據;2)不需要任何外在的實驗信號、測試信號和訓練過程;3)計算量小,方法結構簡單;4)可實現帶有參數變化和結構變化的非線性系統的自適應控制[8],使MFAC得以廣泛應用。MFAC數據模型有緊格式動態線性化、偏格式動態線性化和全格式動態線性化等三種形式,本文采用基于緊格式動態線性化的無模型自適應控制進行研究。
考慮如下SISO離散時間非線性系統
y(k+1)=f(y(k),…,y(k-ny),u(k),…,u(k-nu))
(1)
其中y(k)∈R,u(k)∈R分別表示系統在k時刻的輸出和輸入;ny,nu是兩個未知的正整數;f(…)為未知的非線性函數。
為了得到系統(1)控制方案,提出如下兩個假設:
假設1:除有限時刻點外,f(…)關于第(ny+2)個變量的偏導數是連續的[8];
假設2:除有限時刻點外,系統(1)滿足廣義Lipschitz條件[8],即對任一時刻k1≠k2,k1,k2≥0時,當u(k1)≠u(k2)有
|Δy(k+1)|≤b|Δu(k)|
(2)
式中:Δy(k+1)=y(k+1)-y(k);b>0是一個常數;Δu(k)=u(k)-u(k-1)。
在滿足上述兩個假設的情況下,可得到系統式(1)的泛模型,即
y(k+1)=y(k)+φ(k)Δu(k)
(3)
式中:φ(k)∈R為系統式(1)的偽偏導數(pseudo partial derivative,PPD)。
考慮如下準則函數:
J(u(k))=|y*(k+1)-y(k+1)|2

(4)
式中:λ>0是一個權重因子;y*(k+1)為期望的輸出信號。
將式(3)帶入式(4)中,對u(k)求導,并令其等于零,得到如下控制算法

(5)
其中,ρ∈(0,1]是步長因子。
由式(5)可知,為了實現上述控制算法,需要獲取PPD值φ(k),由于系統的數學模型未知,精確的PPD值很難獲取,因此需要根據系統的輸入輸出數據對PPD值進行估計。為了防止參數估計值對不準確的采樣數據過于敏感,考慮引入如下準則函數[7]
J(φ(k))=|y(k)-y(k-1)-φ(k)Δu(k-1)|2+
μ|φ(k)-φ(k-1)|2
(6)
其中μ>0是權重因子。
對式(6)關于φ(k)求極值,可得到如下控制算法
(7)
其中,η∈(0,1]為步長因子,為偽偏導數φ(k)的估計值。
(k)=(1)
(8)
其中,ε是一個充分小的正整數;(1)為(k)的初始值。
由式(2)~式(8)可知,無模型自適應控制算法存在4個參數μ、ρ、λ、η,在進行無模型自適應控制器的設計時,需要設定參數值。不同的控制器參數值導致不同的控制效果。為得到MFAC最優參數,考慮到遺傳算法的全局尋優特點,因此本文采用遺傳算法對MFAC控制器參數進行尋優。
遺傳算法是以所求問題可能存在的某一解集為一個初始種群,該種群由經過基因編碼的個體組成。初始種群遵循適者生存和優勝劣汰的原理,逐代演化產生更優的近似解。遺傳算法迭代尋優過程中,依據每代中個體的適應度大小挑選適應性更好的個體,同時根據遺傳算子進行交叉和變異從而產生新的個體,最終形成新種群。此過程可使種群逐代進化,使后代比前代適應環境的能力更強,最終末代種群中的最優個體經過解碼就可作為所求問題的近似最優解。
遺傳算法所涉及參數編碼、初始群體設定、適應度函數的設計、復制交叉變異等遺傳操作和控制參數設定等五大要素[9]。使用遺傳算法對MFAC控制器4個參數μ、ρ、λ、η進行尋優時的主要步驟如下:
1)遺傳算法運行參數設定。確定遺傳算法終止進化代數G、種群大小M、交叉概率Pc及變異概率Pm。
2)參數編碼。確定μ、ρ、λ、η的尋優范圍以及編碼方式,參數范圍內隨機產生M個個體樣本并對個體樣本進行編碼,從而產生初始種群。
3)適應度計算。調用適應度計算子函數,計算種群中個體的適應度,根據優勝略汰的原則保留適應度較大的個體,淘汰適應度較小的個體。
4)遺傳操作。通過復制、交叉和變異等方法對種群個體進行操作,使其進化產生下一代種群。
5)終止。當進化代數達到設定的迭代終止次數G時終止進化,最優個體即為末代種群中的最優個體。
具體的尋優流程如圖1所示。

圖1 基于遺傳算法的MFAC控制器參數尋優流程
在遺傳算法優化MFAC控制器參數的過程中,適應度函數的選取對優化效果的好壞有重要的影響。常用的ITAE性能指標函數綜合考慮系統的調節時間和誤差的影響,調節時間短,具有較好的適用性。但是,ITAE性能指標函數在超調量、上升時間以及穩態誤差方面仍有不足[9]。因此本文在ITAE性能指標函數的基礎上加入了超調量、上升時間以及控制量作為約束條件,得到如下新的性能指標函數作為適應度函數:

ω3|Δy(t)|]dt+ω4tu
(9)
式中:e(t)為系統誤差;u(t)為控制器輸出;tu為上升時間;Δy(k)=y(k)-y(k-1),y(t)為被控對象的輸出;ω1、ω2、ω3、ω4為權值,其數值需根據被控對象進行選取,本文仿真用到的權值如下:
仿真1:取ω1=0.001,ω2=0.01,ω3=10,ω4=2,即

+10|Δy(t)|]dt+2tu
(10)
仿真2:取ω1=0.001,ω2=0.01,ω3=2500,ω4=1,即

2500|Δy(t)|]dt+tu
(11)
仿真3:取ω1=0.001,ω2=0.01,ω3=2000,ω4=0.5,即

2000|Δy(t)|]dt+0.5tu
(12)
為了驗證基于遺傳算法的MFAC參數尋優效果,本文選取了具有非線性、一階慣性加大滯后、高階加大滯后等三個不同的典型被控系統作為仿真對象。
考慮如下非線性系統

(13)
期望輸出信號為

(14)
該非線性系統出自《無模型自適應控制—理論與應用》[8],書中的初始參數u(1)=0,u(2)=0,y(1)=1,y(2)=-1,(1)=2,ε=10-5,MFAC控制器參數為η=1,μ=1,ρ=0.6,λ=1,在此設定下控制效果較好,因此本次仿真將以該組參數下MFAC控制器效果與尋優后的MFAC控制器控制效果進行對比。
在matlab環境下,通過遺傳算法對MFAC控制器參數進行優化得到如下MFAC控制器參:η=0.8797,μ=0.2731,ρ=0.8989,λ=2.8074。
具體的仿真結果如圖2、圖3、圖4所示。

圖2 適應度函數優化過程

圖3 MFAC控制器參數優化過程

圖4 仿真結果對比
圖2和圖3表明在經過6代尋優后,尋優值趨于平穩,在之后的20-100代的尋優過程中,適應度函數值和MFAC控制器參數值保持不變,證明遺傳算法優化MFAC控制參數的尋優速度較快,且尋優結果穩定可靠。圖4表明優化后的MFAC控制器控制效果相較于有明顯提升。被控系統期望值發生變化時,優化前有較大超調,并且在700s之后出現了明顯的震蕩,而優化后的控制效果超調量有大幅度減小,并且沒有出現震蕩的現象,且隨著控制的推進,700s之后在期望值發生階躍變化時,超調量均為零,控制性能越來越好。故被控系統在優化后的MFAC控制器參數的控制作用下,無論是超調量還是系統穩定性都有明顯改善。
由于大部分的工業控制都是時滯系統,所以以一階慣性滯后系統為仿真對象

(15)
期望輸出信號為

(16)
由式(14)可以看出,該被控系統滯后時間較大,對MFAC控制器控制效果要求較高。仿真采用試湊法尋找到一組最佳的MFAC控制器參數,即η=1,μ=1,ρ=0.6,λ=2,并以此作為對照組與遺傳算法尋優后MFAC控制器控制效果進行對比。同時,為了進一步驗證尋優前后MFAC控制器在期望值值發生變化時的控制效果,如式(15)所示,讓期望值在500時刻發生變化。
在matlab環境下通過遺傳算法對MFAC控制器參數進行尋優,得到如下一組控制器參數:
η=0.0053,μ=0.1406,ρ=0.3791,λ=1.6360。
針對兩組參數進行了仿真,具體的仿真結果如圖5、圖6、圖7所示。

圖5 適應度函數優化過程

圖6 MFAC控制器參數優化過程

圖7 仿真結果對比
圖5表明,在尋優進行到60代以后基本趨于穩定。圖6表明在尋優過程中,MFAC控制器四個參數值在尋優進行到40代以后基本趨于穩定。圖7表明尋優后的控制器控制效果明顯優于尋優前:在500時刻之前,尋優前被控系統輸出超調量為11.03%,尋優后超調量為2.56%,尋優后相較于尋優前超調量下降了8.47%;控制性能中調節時間是針對5 %的相對誤差而言,調節時間減小。系統期望值在500時刻時發生變化,優化前系統超調量為10.48%,尋優后超調量為2.54%,超調量下降7.94%;調節時間減小。因此,優化后的控制器參數系統具有更小的超調量和更快的調節過程,控制效果更好。
為進一步驗證該方法的適用性,本次仿真選取了文獻[11]中的三階滯后系統為被控對象進行仿真

(17)
期望輸出信號為

(18)
該系統較仿真2的被控系統階數更高、更加復雜,且其作者給出一組MFAC控制器參數,即η=0.001,μ=1,ρ=0.14,λ=2,并取采樣時間為1s。在matlab環境下,通過遺傳算法對MFAC控制器參數進行優化得到如下MFAC控制器參數:η=0.0344,μ=0.9520,ρ=0.1531,λ=2.4773。
具體仿真結果如圖8、圖9、圖10所示。

圖8 適應度函數優化過程

圖9 MFAC控制器參數優化過程

圖10 仿真結果對比
圖8表明適應度函數值在尋優進行到第20代時基本趨于穩定。圖9表明MFAC控制器四個參數在尋優進行到45代時都趨于穩定,說明尋優最終所得參數穩定可靠。由圖10可以看出,雖然按照文獻[11]所給定的參數MFAC控制器已取得較好的控制效果,但優化后的MFAC參數仍然顯著提升了控制效果,具體對照如下:在1500s之前,優化前的超調量為3.04%,優化后的超調量為0.57%,超調量下降2.47%;控制性能中調節時間是針對2 %的相對誤差而言,調節時間減小。在1500s之后,當期望值發生變化時,優化前的超調量為3.04%,優化后的超調量為0.64%,超調量下降2.4%,調節時間減小。仿真結果表明,雖然相較于仿真2被控系統結構更為復雜,但遺傳算法對MFAC控制器參數整定依然取得了很好的效果,系統輸出超調量幾乎為零。
本文在MFAC控制器參數整定和優化方法較為匱乏的前提下,提出了一種基于遺傳算法的MFAC控制器參數尋優方法,并選取了3個不同的典型被控系統,利用matlab對其進行仿真對比,結果表明:基于遺傳算法可快速對MFAC控制器參數尋優,且尋優后控制器在超調量、防止調節過程振蕩方面效果明顯改善。