馮增喜,李丙輝,張 聰
(1.西安建筑科技大學(xué)建科學(xué)院,陜西 西安 710055;2.安徽建筑大學(xué)智能建筑與建筑節(jié)能安徽省重點(diǎn)實(shí)驗(yàn)室,安徽 合肥 230022)
無(wú)模型自適應(yīng)控制(Model Free Adaptive Control,MFAC)是一種基于數(shù)據(jù)驅(qū)動(dòng)的先進(jìn)控制方法,它不依賴(lài)于對(duì)象數(shù)學(xué)模型,僅基于被控系統(tǒng)的輸入輸出數(shù)據(jù)設(shè)計(jì)控制器,且能實(shí)現(xiàn)自適應(yīng)控制[1]。無(wú)模型自適應(yīng)控制具有廣泛的適用性,目前已經(jīng)在自動(dòng)泊車(chē)、機(jī)器人、側(cè)旋翼飛行器等多領(lǐng)域得到了應(yīng)用[2-3]。對(duì)于相同的控制系統(tǒng),控制器參數(shù)不同導(dǎo)致控制效果不同,因此,在控制過(guò)程中更快、更準(zhǔn)確地設(shè)定合適的控制器參數(shù)顯得尤為重要。然而,目前針對(duì)MFAC控制器4個(gè)參數(shù)的尋優(yōu)方法十分有限,且不成熟,也沒(méi)有系統(tǒng)化。文獻(xiàn)[4]在PID控制器參數(shù)整定方法的基礎(chǔ)上提出了基于臨界比例度參數(shù)整定法、Z-N經(jīng)驗(yàn)的參數(shù)整定方法、基于Cohen-Coon參數(shù)整定方法以及基于最速下降的參數(shù)整定法,控制性能有待提高;文獻(xiàn)[5]提出了基于單純形法的MFAC參數(shù)尋優(yōu)法,但對(duì)初始參數(shù)設(shè)定有一定的要求;文獻(xiàn)[6]提出了基于二階泛模型的改進(jìn)的無(wú)模型自適應(yīng)控制器,并在此基礎(chǔ)上提出了基于下降梯度法的參數(shù)優(yōu)化整定方法??偟膩?lái)說(shuō),關(guān)于MFAC參數(shù)整定和優(yōu)化的研究還處于探索階段,需進(jìn)一步的深化和拓展。因此,本文采用遺傳算法 (Genetic Algorithm,GA)對(duì)MFAC控制器參數(shù)進(jìn)行尋優(yōu)。
MFAC是一種針對(duì)非線(xiàn)性系統(tǒng)的控制設(shè)計(jì)方法,侯忠生教授于1994年在其博士論文中首次提出,逐漸形成一套完整的理論體系[7]。MFAC是在閉環(huán)系統(tǒng)的每個(gè)工作點(diǎn)處建立非線(xiàn)性系統(tǒng)等價(jià)的動(dòng)態(tài)線(xiàn)性數(shù)據(jù)模型,利用受控系統(tǒng)的輸入輸出數(shù)據(jù)在線(xiàn)估計(jì)系統(tǒng)的偽偏導(dǎo)數(shù)(pseudo partial derivative,PPD)、偽梯度和偽雅可比矩陣參數(shù),然后設(shè)計(jì)加權(quán)一步向前的控制器,進(jìn)而實(shí)現(xiàn)非線(xiàn)性系統(tǒng)數(shù)據(jù)驅(qū)動(dòng)的無(wú)模型自適應(yīng)控制[8]。由于具有以下4個(gè)優(yōu)點(diǎn):1)控制器設(shè)計(jì)不依賴(lài)受控系統(tǒng)的模型信息,僅需要被控系統(tǒng)的輸入輸出數(shù)據(jù);2)不需要任何外在的實(shí)驗(yàn)信號(hào)、測(cè)試信號(hào)和訓(xùn)練過(guò)程;3)計(jì)算量小,方法結(jié)構(gòu)簡(jiǎn)單;4)可實(shí)現(xiàn)帶有參數(shù)變化和結(jié)構(gòu)變化的非線(xiàn)性系統(tǒng)的自適應(yīng)控制[8],使MFAC得以廣泛應(yīng)用。MFAC數(shù)據(jù)模型有緊格式動(dòng)態(tài)線(xiàn)性化、偏格式動(dòng)態(tài)線(xiàn)性化和全格式動(dòng)態(tài)線(xiàn)性化等三種形式,本文采用基于緊格式動(dòng)態(tài)線(xiàn)性化的無(wú)模型自適應(yīng)控制進(jìn)行研究。
考慮如下SISO離散時(shí)間非線(xiàn)性系統(tǒng)
y(k+1)=f(y(k),…,y(k-ny),u(k),…,u(k-nu))
(1)
其中y(k)∈R,u(k)∈R分別表示系統(tǒng)在k時(shí)刻的輸出和輸入;ny,nu是兩個(gè)未知的正整數(shù);f(…)為未知的非線(xiàn)性函數(shù)。
為了得到系統(tǒng)(1)控制方案,提出如下兩個(gè)假設(shè):
假設(shè)1:除有限時(shí)刻點(diǎn)外,f(…)關(guān)于第(ny+2)個(gè)變量的偏導(dǎo)數(shù)是連續(xù)的[8];
假設(shè)2:除有限時(shí)刻點(diǎn)外,系統(tǒng)(1)滿(mǎn)足廣義Lipschitz條件[8],即對(duì)任一時(shí)刻k1≠k2,k1,k2≥0時(shí),當(dāng)u(k1)≠u(mài)(k2)有
|Δy(k+1)|≤b|Δu(k)|
(2)
式中:Δy(k+1)=y(k+1)-y(k);b>0是一個(gè)常數(shù);Δu(k)=u(k)-u(k-1)。
在滿(mǎn)足上述兩個(gè)假設(shè)的情況下,可得到系統(tǒng)式(1)的泛模型,即
y(k+1)=y(k)+φ(k)Δu(k)
(3)
式中:φ(k)∈R為系統(tǒng)式(1)的偽偏導(dǎo)數(shù)(pseudo partial derivative,PPD)。
考慮如下準(zhǔn)則函數(shù):
J(u(k))=|y*(k+1)-y(k+1)|2
(4)
式中:λ>0是一個(gè)權(quán)重因子;y*(k+1)為期望的輸出信號(hào)。
將式(3)帶入式(4)中,對(duì)u(k)求導(dǎo),并令其等于零,得到如下控制算法
(5)
其中,ρ∈(0,1]是步長(zhǎng)因子。
由式(5)可知,為了實(shí)現(xiàn)上述控制算法,需要獲取PPD值φ(k),由于系統(tǒng)的數(shù)學(xué)模型未知,精確的PPD值很難獲取,因此需要根據(jù)系統(tǒng)的輸入輸出數(shù)據(jù)對(duì)PPD值進(jìn)行估計(jì)。為了防止參數(shù)估計(jì)值對(duì)不準(zhǔn)確的采樣數(shù)據(jù)過(guò)于敏感,考慮引入如下準(zhǔn)則函數(shù)[7]
J(φ(k))=|y(k)-y(k-1)-φ(k)Δu(k-1)|2+
μ|φ(k)-φ(k-1)|2
(6)
其中μ>0是權(quán)重因子。
對(duì)式(6)關(guān)于φ(k)求極值,可得到如下控制算法
(7)
其中,η∈(0,1]為步長(zhǎng)因子,為偽偏導(dǎo)數(shù)φ(k)的估計(jì)值。
(k)=(1)
(8)
其中,ε是一個(gè)充分小的正整數(shù);(1)為(k)的初始值。
由式(2)~式(8)可知,無(wú)模型自適應(yīng)控制算法存在4個(gè)參數(shù)μ、ρ、λ、η,在進(jìn)行無(wú)模型自適應(yīng)控制器的設(shè)計(jì)時(shí),需要設(shè)定參數(shù)值。不同的控制器參數(shù)值導(dǎo)致不同的控制效果。為得到MFAC最優(yōu)參數(shù),考慮到遺傳算法的全局尋優(yōu)特點(diǎn),因此本文采用遺傳算法對(duì)MFAC控制器參數(shù)進(jìn)行尋優(yōu)。
遺傳算法是以所求問(wèn)題可能存在的某一解集為一個(gè)初始種群,該種群由經(jīng)過(guò)基因編碼的個(gè)體組成。初始種群遵循適者生存和優(yōu)勝劣汰的原理,逐代演化產(chǎn)生更優(yōu)的近似解。遺傳算法迭代尋優(yōu)過(guò)程中,依據(jù)每代中個(gè)體的適應(yīng)度大小挑選適應(yīng)性更好的個(gè)體,同時(shí)根據(jù)遺傳算子進(jìn)行交叉和變異從而產(chǎn)生新的個(gè)體,最終形成新種群。此過(guò)程可使種群逐代進(jìn)化,使后代比前代適應(yīng)環(huán)境的能力更強(qiáng),最終末代種群中的最優(yōu)個(gè)體經(jīng)過(guò)解碼就可作為所求問(wèn)題的近似最優(yōu)解。
遺傳算法所涉及參數(shù)編碼、初始群體設(shè)定、適應(yīng)度函數(shù)的設(shè)計(jì)、復(fù)制交叉變異等遺傳操作和控制參數(shù)設(shè)定等五大要素[9]。使用遺傳算法對(duì)MFAC控制器4個(gè)參數(shù)μ、ρ、λ、η進(jìn)行尋優(yōu)時(shí)的主要步驟如下:
1)遺傳算法運(yùn)行參數(shù)設(shè)定。確定遺傳算法終止進(jìn)化代數(shù)G、種群大小M、交叉概率Pc及變異概率Pm。
2)參數(shù)編碼。確定μ、ρ、λ、η的尋優(yōu)范圍以及編碼方式,參數(shù)范圍內(nèi)隨機(jī)產(chǎn)生M個(gè)個(gè)體樣本并對(duì)個(gè)體樣本進(jìn)行編碼,從而產(chǎn)生初始種群。
3)適應(yīng)度計(jì)算。調(diào)用適應(yīng)度計(jì)算子函數(shù),計(jì)算種群中個(gè)體的適應(yīng)度,根據(jù)優(yōu)勝略汰的原則保留適應(yīng)度較大的個(gè)體,淘汰適應(yīng)度較小的個(gè)體。
4)遺傳操作。通過(guò)復(fù)制、交叉和變異等方法對(duì)種群個(gè)體進(jìn)行操作,使其進(jìn)化產(chǎn)生下一代種群。
5)終止。當(dāng)進(jìn)化代數(shù)達(dá)到設(shè)定的迭代終止次數(shù)G時(shí)終止進(jìn)化,最優(yōu)個(gè)體即為末代種群中的最優(yōu)個(gè)體。
具體的尋優(yōu)流程如圖1所示。
圖1 基于遺傳算法的MFAC控制器參數(shù)尋優(yōu)流程
在遺傳算法優(yōu)化MFAC控制器參數(shù)的過(guò)程中,適應(yīng)度函數(shù)的選取對(duì)優(yōu)化效果的好壞有重要的影響。常用的ITAE性能指標(biāo)函數(shù)綜合考慮系統(tǒng)的調(diào)節(jié)時(shí)間和誤差的影響,調(diào)節(jié)時(shí)間短,具有較好的適用性。但是,ITAE性能指標(biāo)函數(shù)在超調(diào)量、上升時(shí)間以及穩(wěn)態(tài)誤差方面仍有不足[9]。因此本文在ITAE性能指標(biāo)函數(shù)的基礎(chǔ)上加入了超調(diào)量、上升時(shí)間以及控制量作為約束條件,得到如下新的性能指標(biāo)函數(shù)作為適應(yīng)度函數(shù):
ω3|Δy(t)|]dt+ω4tu
(9)
式中:e(t)為系統(tǒng)誤差;u(t)為控制器輸出;tu為上升時(shí)間;Δy(k)=y(k)-y(k-1),y(t)為被控對(duì)象的輸出;ω1、ω2、ω3、ω4為權(quán)值,其數(shù)值需根據(jù)被控對(duì)象進(jìn)行選取,本文仿真用到的權(quán)值如下:
仿真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)
為了驗(yàn)證基于遺傳算法的MFAC參數(shù)尋優(yōu)效果,本文選取了具有非線(xiàn)性、一階慣性加大滯后、高階加大滯后等三個(gè)不同的典型被控系統(tǒng)作為仿真對(duì)象。
考慮如下非線(xiàn)性系統(tǒng)
(13)
期望輸出信號(hào)為
(14)
該非線(xiàn)性系統(tǒng)出自《無(wú)模型自適應(yīng)控制—理論與應(yīng)用》[8],書(shū)中的初始參數(shù)u(1)=0,u(2)=0,y(1)=1,y(2)=-1,(1)=2,ε=10-5,MFAC控制器參數(shù)為η=1,μ=1,ρ=0.6,λ=1,在此設(shè)定下控制效果較好,因此本次仿真將以該組參數(shù)下MFAC控制器效果與尋優(yōu)后的MFAC控制器控制效果進(jìn)行對(duì)比。
在matlab環(huán)境下,通過(guò)遺傳算法對(duì)MFAC控制器參數(shù)進(jìn)行優(yōu)化得到如下MFAC控制器參:η=0.8797,μ=0.2731,ρ=0.8989,λ=2.8074。
具體的仿真結(jié)果如圖2、圖3、圖4所示。
圖2 適應(yīng)度函數(shù)優(yōu)化過(guò)程
圖3 MFAC控制器參數(shù)優(yōu)化過(guò)程
圖4 仿真結(jié)果對(duì)比
圖2和圖3表明在經(jīng)過(guò)6代尋優(yōu)后,尋優(yōu)值趨于平穩(wěn),在之后的20-100代的尋優(yōu)過(guò)程中,適應(yīng)度函數(shù)值和MFAC控制器參數(shù)值保持不變,證明遺傳算法優(yōu)化MFAC控制參數(shù)的尋優(yōu)速度較快,且尋優(yōu)結(jié)果穩(wěn)定可靠。圖4表明優(yōu)化后的MFAC控制器控制效果相較于有明顯提升。被控系統(tǒng)期望值發(fā)生變化時(shí),優(yōu)化前有較大超調(diào),并且在700s之后出現(xiàn)了明顯的震蕩,而優(yōu)化后的控制效果超調(diào)量有大幅度減小,并且沒(méi)有出現(xiàn)震蕩的現(xiàn)象,且隨著控制的推進(jìn),700s之后在期望值發(fā)生階躍變化時(shí),超調(diào)量均為零,控制性能越來(lái)越好。故被控系統(tǒng)在優(yōu)化后的MFAC控制器參數(shù)的控制作用下,無(wú)論是超調(diào)量還是系統(tǒng)穩(wěn)定性都有明顯改善。
由于大部分的工業(yè)控制都是時(shí)滯系統(tǒng),所以以一階慣性滯后系統(tǒng)為仿真對(duì)象
(15)
期望輸出信號(hào)為
(16)
由式(14)可以看出,該被控系統(tǒng)滯后時(shí)間較大,對(duì)MFAC控制器控制效果要求較高。仿真采用試湊法尋找到一組最佳的MFAC控制器參數(shù),即η=1,μ=1,ρ=0.6,λ=2,并以此作為對(duì)照組與遺傳算法尋優(yōu)后MFAC控制器控制效果進(jìn)行對(duì)比。同時(shí),為了進(jìn)一步驗(yàn)證尋優(yōu)前后MFAC控制器在期望值值發(fā)生變化時(shí)的控制效果,如式(15)所示,讓期望值在500時(shí)刻發(fā)生變化。
在matlab環(huán)境下通過(guò)遺傳算法對(duì)MFAC控制器參數(shù)進(jìn)行尋優(yōu),得到如下一組控制器參數(shù):
η=0.0053,μ=0.1406,ρ=0.3791,λ=1.6360。
針對(duì)兩組參數(shù)進(jìn)行了仿真,具體的仿真結(jié)果如圖5、圖6、圖7所示。
圖5 適應(yīng)度函數(shù)優(yōu)化過(guò)程
圖6 MFAC控制器參數(shù)優(yōu)化過(guò)程
圖7 仿真結(jié)果對(duì)比
圖5表明,在尋優(yōu)進(jìn)行到60代以后基本趨于穩(wěn)定。圖6表明在尋優(yōu)過(guò)程中,MFAC控制器四個(gè)參數(shù)值在尋優(yōu)進(jìn)行到40代以后基本趨于穩(wěn)定。圖7表明尋優(yōu)后的控制器控制效果明顯優(yōu)于尋優(yōu)前:在500時(shí)刻之前,尋優(yōu)前被控系統(tǒng)輸出超調(diào)量為11.03%,尋優(yōu)后超調(diào)量為2.56%,尋優(yōu)后相較于尋優(yōu)前超調(diào)量下降了8.47%;控制性能中調(diào)節(jié)時(shí)間是針對(duì)5 %的相對(duì)誤差而言,調(diào)節(jié)時(shí)間減小。系統(tǒng)期望值在500時(shí)刻時(shí)發(fā)生變化,優(yōu)化前系統(tǒng)超調(diào)量為10.48%,尋優(yōu)后超調(diào)量為2.54%,超調(diào)量下降7.94%;調(diào)節(jié)時(shí)間減小。因此,優(yōu)化后的控制器參數(shù)系統(tǒng)具有更小的超調(diào)量和更快的調(diào)節(jié)過(guò)程,控制效果更好。
為進(jìn)一步驗(yàn)證該方法的適用性,本次仿真選取了文獻(xiàn)[11]中的三階滯后系統(tǒng)為被控對(duì)象進(jìn)行仿真
(17)
期望輸出信號(hào)為
(18)
該系統(tǒng)較仿真2的被控系統(tǒng)階數(shù)更高、更加復(fù)雜,且其作者給出一組MFAC控制器參數(shù),即η=0.001,μ=1,ρ=0.14,λ=2,并取采樣時(shí)間為1s。在matlab環(huán)境下,通過(guò)遺傳算法對(duì)MFAC控制器參數(shù)進(jìn)行優(yōu)化得到如下MFAC控制器參數(shù):η=0.0344,μ=0.9520,ρ=0.1531,λ=2.4773。
具體仿真結(jié)果如圖8、圖9、圖10所示。
圖8 適應(yīng)度函數(shù)優(yōu)化過(guò)程
圖9 MFAC控制器參數(shù)優(yōu)化過(guò)程
圖10 仿真結(jié)果對(duì)比
圖8表明適應(yīng)度函數(shù)值在尋優(yōu)進(jìn)行到第20代時(shí)基本趨于穩(wěn)定。圖9表明MFAC控制器四個(gè)參數(shù)在尋優(yōu)進(jìn)行到45代時(shí)都趨于穩(wěn)定,說(shuō)明尋優(yōu)最終所得參數(shù)穩(wěn)定可靠。由圖10可以看出,雖然按照文獻(xiàn)[11]所給定的參數(shù)MFAC控制器已取得較好的控制效果,但優(yōu)化后的MFAC參數(shù)仍然顯著提升了控制效果,具體對(duì)照如下:在1500s之前,優(yōu)化前的超調(diào)量為3.04%,優(yōu)化后的超調(diào)量為0.57%,超調(diào)量下降2.47%;控制性能中調(diào)節(jié)時(shí)間是針對(duì)2 %的相對(duì)誤差而言,調(diào)節(jié)時(shí)間減小。在1500s之后,當(dāng)期望值發(fā)生變化時(shí),優(yōu)化前的超調(diào)量為3.04%,優(yōu)化后的超調(diào)量為0.64%,超調(diào)量下降2.4%,調(diào)節(jié)時(shí)間減小。仿真結(jié)果表明,雖然相較于仿真2被控系統(tǒng)結(jié)構(gòu)更為復(fù)雜,但遺傳算法對(duì)MFAC控制器參數(shù)整定依然取得了很好的效果,系統(tǒng)輸出超調(diào)量幾乎為零。
本文在MFAC控制器參數(shù)整定和優(yōu)化方法較為匱乏的前提下,提出了一種基于遺傳算法的MFAC控制器參數(shù)尋優(yōu)方法,并選取了3個(gè)不同的典型被控系統(tǒng),利用matlab對(duì)其進(jìn)行仿真對(duì)比,結(jié)果表明:基于遺傳算法可快速對(duì)MFAC控制器參數(shù)尋優(yōu),且尋優(yōu)后控制器在超調(diào)量、防止調(diào)節(jié)過(guò)程振蕩方面效果明顯改善。