李國(guó)軍王 亢盧甜甜董齊芬陳東杰
(1.浙江警察學(xué)院公共基礎(chǔ)部,浙江杭州 310053;2.浙江工業(yè)大學(xué)信息工程學(xué)院,浙江杭州 310023;3.浙江警察學(xué)院計(jì)算機(jī)與信息安全系,浙江杭州 310053)
對(duì)于可重復(fù)作業(yè)的場(chǎng)合,迭代學(xué)習(xí)控制(iterative learning control,ILC)能夠展現(xiàn)較好的跟蹤性能.ILC通過(guò)先前的試驗(yàn)或迭代來(lái)改進(jìn)當(dāng)前的控制輸入,改善輸出性能,以便快速跟蹤上期望軌跡[1–2].由于設(shè)計(jì)簡(jiǎn)單、應(yīng)用方便、在線計(jì)算量小等特點(diǎn),所以ILC被應(yīng)用于化工間歇過(guò)程控制,注塑機(jī)控制,工業(yè)機(jī)器人控制以及電路穩(wěn)定性控制等場(chǎng)合.應(yīng)用ILC方法時(shí),一般要求每次試驗(yàn)時(shí)初始定位相同(即初態(tài)偏差相同),對(duì)高階系統(tǒng)而言,如果跟蹤對(duì)象從靜止?fàn)顟B(tài)開(kāi)始,容易做到速度偏差為零,但由于測(cè)量誤差、試驗(yàn)環(huán)境等因素,每次試驗(yàn)或迭代時(shí)很難讓位移偏差相同或等于零.因此,任意初值條件下的迭代學(xué)習(xí)控制問(wèn)題引起了學(xué)者們的關(guān)注.重復(fù)學(xué)習(xí)控制放松了對(duì)初始定位的要求,但其只能在無(wú)限區(qū)間上實(shí)現(xiàn)漸近跟蹤[3].
在迭代學(xué)習(xí)控制初態(tài)偏差問(wèn)題的研究過(guò)程當(dāng)中,成果較為豐碩.文獻(xiàn)[4]引入邊界層,并使邊界層隨時(shí)間單調(diào)收斂至零,由于控制誤差受邊界層限定,所以控制誤差漸近收斂至零,但該方法只能達(dá)到漸近跟蹤,不能達(dá)到完全跟蹤.對(duì)于二階系統(tǒng)而言,如果只存在位移偏差,文獻(xiàn)[5–6]在滑模誤差中引入吸引子函數(shù)進(jìn)行修正,經(jīng)過(guò)預(yù)設(shè)的修正時(shí)間以后達(dá)到了精確跟蹤.針對(duì)位移和速度均存在初始偏差的情形,文獻(xiàn)[7]在文獻(xiàn)[5–6]的基礎(chǔ)上進(jìn)行了改進(jìn)并達(dá)到了完全跟蹤.文獻(xiàn)[5–7]方法的本質(zhì)都是在預(yù)設(shè)區(qū)間內(nèi)通過(guò)不斷迭代逐漸逼近相應(yīng)微分方程的解,并最終達(dá)到完全跟蹤.在系統(tǒng)輸入增益已知的情形下,文獻(xiàn)[8]利用滑??刂频乃枷牒蚅yapunov函數(shù)分析法,經(jīng)過(guò)預(yù)設(shè)時(shí)間以后,隨著迭代次數(shù)的增加實(shí)現(xiàn)了精確跟蹤.文獻(xiàn)[9–11]通過(guò)改變期望軌跡的方式,實(shí)現(xiàn)了在預(yù)設(shè)時(shí)間以后的精確跟蹤.對(duì)于系統(tǒng)參數(shù)沿迭代軸可變的不確定系統(tǒng),在初始定位滿足一定規(guī)律的前提下,文獻(xiàn)[12]利用內(nèi)??刂品椒ù_保系統(tǒng)收斂.文獻(xiàn)[13]針對(duì)任意初態(tài)下的非線性離散系統(tǒng),實(shí)現(xiàn)了逐點(diǎn)跟蹤.文獻(xiàn)[14]在初態(tài)可學(xué)的條件下設(shè)計(jì)的分布式模糊自適應(yīng)控制律實(shí)現(xiàn)了對(duì)多智能體的控制.在壓縮映射方法研究過(guò)程中,對(duì)于高階多智能體系統(tǒng),如果系統(tǒng)初態(tài)固定不變,文獻(xiàn)[15]提出了的修正方法,能夠確保系統(tǒng)在預(yù)設(shè)時(shí)間以后達(dá)到精確跟蹤.在系統(tǒng)信息精確已知的條件下,文獻(xiàn)[16]能夠處理任意初態(tài)下的線性系統(tǒng)的精確跟蹤問(wèn)題.對(duì)于一階非線性連續(xù)系統(tǒng)的任意初態(tài)問(wèn)題,文獻(xiàn)[17]提出的設(shè)計(jì)方法在跟蹤時(shí)存在穩(wěn)態(tài)誤差.到目前為止,對(duì)迭代學(xué)習(xí)控制而言,采用壓縮映射方法來(lái)應(yīng)對(duì)任意初態(tài)問(wèn)題仍無(wú)較好方案.
自適應(yīng)控制能夠修正自身特性來(lái)適應(yīng)被控對(duì)象的動(dòng)態(tài)變化,其基本思想可以歸納為:當(dāng)系統(tǒng)參數(shù)未知時(shí)或者對(duì)被控對(duì)象的本身特性了解不多時(shí)如何設(shè)計(jì)控制律使得系統(tǒng)能夠根據(jù)實(shí)際情況自動(dòng)調(diào)節(jié)控制律并跟蹤上被控對(duì)象,達(dá)到人們期望的結(jié)果[18–19].目前自適應(yīng)控制在電力電機(jī)系統(tǒng)[20]、石油化工[21]、航天[22]等諸多領(lǐng)域都得到了廣泛應(yīng)用.自20世紀(jì)90年代以來(lái),自適應(yīng)方法陸續(xù)應(yīng)用于迭代學(xué)習(xí)控制或重復(fù)控制中,并取得了一定的進(jìn)展.Sadegh等人較早的將自適應(yīng)控制的方法應(yīng)用于重復(fù)控制的控制器設(shè)計(jì)[23],并引入Lyapunov泛函進(jìn)行收斂性分析.文獻(xiàn)[24]針對(duì)機(jī)器人系統(tǒng),設(shè)計(jì)了基于線性反饋和學(xué)習(xí)前饋的控制律,并利用Lyapunov來(lái)分析系統(tǒng)穩(wěn)定性.文獻(xiàn)[25]將經(jīng)典自適應(yīng)控制的一些設(shè)計(jì)方法引入到迭代學(xué)習(xí)控制中,并證明了系統(tǒng)誤差L2收斂.對(duì)于可參數(shù)化非線性系統(tǒng),文獻(xiàn)[26]引入復(fù)合能量函數(shù),方便了迭代學(xué)習(xí)控制的收斂性分析.文獻(xiàn)[27]針對(duì)分散自適應(yīng)神經(jīng)網(wǎng)絡(luò)系統(tǒng),利用Backstepping方法,實(shí)現(xiàn)了系統(tǒng)的全局穩(wěn)定.對(duì)于含有時(shí)變參數(shù)的時(shí)滯非線性系統(tǒng),文獻(xiàn)[28]用自適應(yīng)迭代學(xué)習(xí)控制方法實(shí)現(xiàn)了系統(tǒng)的穩(wěn)定.針對(duì)非線性多智能體系統(tǒng),文獻(xiàn)[29]用無(wú)模型自適應(yīng)迭代學(xué)習(xí)控制方法達(dá)到了一致性跟蹤.這些文獻(xiàn)為自適應(yīng)方法在迭代學(xué)習(xí)控制中得到更廣泛的應(yīng)用提供了參考.
其實(shí),在自適應(yīng)迭代學(xué)習(xí)控制中,系統(tǒng)參數(shù)雖然在某次迭代過(guò)程中隨著時(shí)間的變化而變化,但是如果沿著迭代軸來(lái)看,在某個(gè)固定的時(shí)刻,系統(tǒng)參數(shù)其實(shí)是常量,這也是自適應(yīng)控制能夠在迭代學(xué)習(xí)中被廣泛應(yīng)用的前提條件.從某種意義上來(lái)說(shuō),迭代學(xué)習(xí)控制中的自適應(yīng)學(xué)習(xí)其實(shí)學(xué)的就是這種不變性.如果在某個(gè)過(guò)程中,系統(tǒng)參數(shù)的界是一個(gè)常量,即具有不變性,這種情形下就可以借助迭代學(xué)習(xí)控制的思想進(jìn)行控制律設(shè)計(jì).
本文將自適應(yīng)迭代學(xué)習(xí)控制方法應(yīng)用于非重復(fù)場(chǎng)合,雖然控制過(guò)程并不滿足可重復(fù)性或周期性,并且在控制過(guò)程中系統(tǒng)參數(shù)隨時(shí)間的變化而變化,但系統(tǒng)參數(shù)的界存在,并且小于某個(gè)常數(shù).針對(duì)這一點(diǎn),本文在進(jìn)行控制律設(shè)計(jì)時(shí),利用迭代學(xué)習(xí)控制及其初始修正的思想,提出了一種新的自適應(yīng)控制方法,并且該方法能夠使得系統(tǒng)快速收斂.最后,通過(guò)計(jì)算機(jī)仿真驗(yàn)證了該算法的有效性.
考慮以下的二階系統(tǒng)[30]:
其中:t ∈[0,T];x1(t),x2(t)∈R為系統(tǒng)的狀態(tài)變量;u(t)∈R為系統(tǒng)的控制輸入(前述變量相應(yīng)可以簡(jiǎn)寫(xiě)為x1,x2,u);J(t)為系統(tǒng)未知的轉(zhuǎn)動(dòng)慣量,且J(t)>0,J(t)∈[Jmin,Jmax](其中Jmin,Jmax為已知常數(shù),J(t)可以是常數(shù)也可以是變量);d(t)為系統(tǒng)內(nèi)部和外部擾動(dòng)作用的總和,且有界,即|d(t)|≤D(D為已知量).
xd(t)(簡(jiǎn)寫(xiě)為xd)是給定的期望信號(hào).根據(jù)期望信號(hào),可以定義如下的角度位置跟蹤誤差:
假設(shè)1初始狀態(tài)x1(0),x2(0)是任意值但不是無(wú)限大,也就是說(shuō),系統(tǒng)初始誤差e(0),˙e(0)可以是任意值但有界,并且狀態(tài)x1(t),x2(t)可測(cè).
假設(shè)2˙J(t)有界,即|˙J(t)|<β,但β不能精確已知.
為了便于后續(xù)收斂性分析,采用下面的形式來(lái)描述系統(tǒng)(1):
其中:t ∈[0,h)為有限時(shí)間;k1,2,……,N(N為正整數(shù))表示第k個(gè)過(guò)程,并且h和N滿足(N ?1)h 由于系統(tǒng)(1)和系統(tǒng)(3)描述的是同一個(gè)對(duì)象,所以它們是等價(jià)的,因此有下式成立: 同理,Jk(t),xk,d(t),˙xk,d(t),xk,2(t),ek(t),˙ek(t)也具有上述性質(zhì). 注1式(4)中的xk,1(t)以及xk,2(t),xk,d(t),ek(t),Jk(t),只是采用了迭代學(xué)習(xí)或重復(fù)學(xué)習(xí)中變量的描述方式,其實(shí)并不滿足迭代學(xué)習(xí)或重復(fù)學(xué)習(xí)的要求,因?yàn)楸桓檶?duì)象的軌跡并不滿足重復(fù)性或周期性,實(shí)際上,式(4)只是將一個(gè)過(guò)程進(jìn)行了分段描述而已,式中的k并不是迭代次數(shù),只是第k個(gè)時(shí)間段而已.本文方法并不要求在控制過(guò)程中區(qū)間有限,如果控制過(guò)程區(qū)間有限,只是將被控過(guò)程分成有限個(gè)子過(guò)程,即k為有限值;如果控制過(guò)程區(qū)間無(wú)限,則要求系統(tǒng)(3)中的k →∞.系統(tǒng)(3)在控制過(guò)程中將整個(gè)過(guò)程分成k個(gè)子過(guò)程的目的只是讓每一個(gè)子過(guò)程(第1個(gè)子過(guò)程除外)都可以學(xué)習(xí)前一子過(guò)程的信息而已.在控制過(guò)程中進(jìn)行子過(guò)程切分時(shí),必須要求子過(guò)程區(qū)間長(zhǎng)度相等(當(dāng)然,最后一個(gè)過(guò)程除外),目的是為了讓系統(tǒng)(3)在相鄰區(qū)間上學(xué)習(xí)時(shí)能夠?qū)崿F(xiàn)一一對(duì)應(yīng),比如uk+1(t0)和uk(t0)對(duì)應(yīng). 文獻(xiàn)[5]中定義:如果使得χ(t)0,t>t1,其中t1<∞,則稱(chēng)χ(t)為有限時(shí)間吸引子.本文在該定義的基礎(chǔ)上進(jìn)行適當(dāng)?shù)男薷暮脱由? 定義1如果 其中:χ(t),r(t)∈R,a是常數(shù),如果能夠使得當(dāng)t>t1,有χ(t)0成立,則稱(chēng)r(t)為一階吸引子初始修正函數(shù);如果只能使得0,稱(chēng)r(t)為零階吸引子初始修正函數(shù). 式(5)中,按如下方式選擇r(t): 其中exp表示以自然常數(shù)為底的指數(shù)函數(shù).對(duì)式(5)進(jìn)行微分方程求解,可得 對(duì)χ(t)進(jìn)行求導(dǎo)可得 當(dāng)t≥t1時(shí),如果要使得0,χ0,ζ(t)必須滿足 注2式(9)的第2個(gè)等式是確保當(dāng)t=t0時(shí),式(7)的左、右兩側(cè)都等于χ(t0),式(8)的左右兩側(cè)都等于目的是與微分方程的初始值保持一致;式(9)的第3個(gè)等式是確保當(dāng)t=t1時(shí),χ(t)=0,目的是讓函數(shù)r(t)同時(shí)修正和χ(t)的偏差. 特別地,式(5)中當(dāng)a0時(shí),則式(5)簡(jiǎn)化為 通過(guò)上述的定義和求解過(guò)程中可知,χ(t)的連續(xù)性和可導(dǎo)性嚴(yán)格依賴于ζ(t),所以在設(shè)計(jì)時(shí)不僅要讓?duì)?t)連續(xù),還要讓其光滑. 為了便于后面的收斂性分析,引入文獻(xiàn)[5]中的定義和引理. 定義2設(shè)飽和函數(shù)定義如下: 引理1設(shè)a為實(shí)變量,并令a那么 證當(dāng)ap,易證上面的引理成立. 當(dāng)a 當(dāng)a>p時(shí),證明方法和a 后續(xù)本文將設(shè)計(jì)包含合適的一階吸引子修正函數(shù)和零階吸引子修正函數(shù)的兩種控制器(簡(jiǎn)稱(chēng)為一階吸引子控制器和零階吸引子控制器),并通過(guò)收斂性分析證明兩種控制器皆能使得系統(tǒng)達(dá)到漸近跟蹤的效果. 定義3引入濾波誤差函數(shù) 其中:t>0;h的定義和前述相同;c21;c1是Hurwitz多項(xiàng)式系數(shù),并且 式中ζ(t)按如下定義給出: 為了將σ(t),r(t),ζ(t)的形式和ek(t),的形式統(tǒng)一,分別用如下的σk(t),rk(t),ζk(t)來(lái)描述σ(t),r(t),ζ(t): 其中t ∈[0,h),并且 式中ζk(t)中的參數(shù)需要滿足式(9)的要求,因此 求解上述方程組可得 注3從上面的定義可知,式(10)中σk(t)并不滿足周期性,也不滿足可重復(fù)性,它只是將σ(t)換了一種描述而已,并不改變其本身.從ζk(t)的表達(dá)式中可以看出,不同區(qū)間的ζk(t)函數(shù)是不同的,因?yàn)棣苉(t)函數(shù)的參數(shù)a,p,q與每個(gè)子過(guò)程的初態(tài)誤差ek(0),有關(guān),并且當(dāng)ek(0)=0,時(shí),相應(yīng)就有a=0,p=0,q=0,也就是說(shuō),如果每個(gè)子過(guò)程的初態(tài)誤差為零,則在跟蹤過(guò)程中修正函數(shù)不起作用.修正函數(shù)rk(t)更不滿足周期性,因?yàn)樾拚瘮?shù)中不僅包含了包含ζk(t),而且還包括了一個(gè)非周期的指數(shù)函數(shù)exp(?c1(t ?(k ?1)h)+ek(0)). 在等式(10)的兩側(cè)同時(shí)求導(dǎo) 其中φk(t)(相應(yīng)可以簡(jiǎn)寫(xiě)為φk). 選擇下面的正定函數(shù): 注4在σk(t)函數(shù)中引入誤差修正函數(shù)rk(t)主要有兩個(gè)作用,首先是使得Vk(t)函數(shù)滿足Babalat引理中的一個(gè)條件:即Vk(0)=0,繼而能夠證明確保系統(tǒng)收斂;其次,引入修正rk(t)函數(shù)能夠讓系統(tǒng)在控制過(guò)程中不斷修正誤差,從而促使系統(tǒng)快速收斂. 對(duì)Vk進(jìn)行求導(dǎo),可以得到 根據(jù)上面的推導(dǎo),使用下面的控制律來(lái)完成跟蹤任務(wù): 在控制過(guò)程中,雖然Jk和都是變量,無(wú)法估計(jì).但是Jmax和可以是固定量,所以在控制過(guò)程中,使用來(lái)對(duì)Jmax,進(jìn)行估計(jì).如果Jk是一個(gè)常量,則0,此時(shí)還可以用下面的控制律來(lái)完成跟蹤任務(wù): 其他參數(shù)的學(xué)習(xí)律及變量的含義與式(15)和式(16)中相同. 對(duì)于上一節(jié)設(shè)計(jì)的控制律和更新律,有如下的收斂性定理.為了方便書(shū)寫(xiě),在證明過(guò)程中變量都用相應(yīng)的簡(jiǎn)寫(xiě)形式來(lái)替代. 定理1如果系統(tǒng)(3)滿足假設(shè)1 和2,并且當(dāng)k →∞時(shí)控制律(15)和參數(shù)更新律(16)能夠讓系統(tǒng)(3)中的滑模誤差函數(shù)σk及能量函數(shù)Vk在區(qū)間[kh,(k+1)h)上一致收斂于零. 證考慮下面的Lyapunov-like函數(shù): 根據(jù)引理1可得 利用式(16)和式(22),式(21)可化為 利用同樣的方法,可以得到 將式(14)(23)和式(24)代入式(20): 將式(15)代入上式并根據(jù)參數(shù)學(xué)習(xí)律(16)可得 對(duì)于反正切函數(shù)arctanz,如果ε>0,則有|z|?zarctan(εz)≤由于|dk|≤D,上式可以進(jìn)一步化簡(jiǎn)為 根據(jù)參數(shù)更新律可得 進(jìn)一步化簡(jiǎn)可得 根據(jù)式(25)和式(26)可知,如果增大c1的值,不僅可以加快收斂速度,還可以減小跟蹤誤差.由ζk(t)的表達(dá)式可知,當(dāng)ek(t),˙ek(t)都趨于零時(shí),修正作用并不明顯. 在設(shè)計(jì)控制器之前先做如下定義. 定義4 其中?是事先指定的一個(gè)常數(shù),并且0 定義5引入誤差函數(shù) 同樣,式中的c21,c1是Hurwitz多項(xiàng)式系數(shù),并且 從上面的定義可知,rk,1(t)和rk,2(t)分別具有如下性質(zhì): 注6根據(jù)σk(t),rk,1(t)和rk,2(t)的定義可知,在第k個(gè)過(guò)程中,式(28)中誤差函數(shù)σk(t),t ∈[0,h)包含了兩個(gè)子過(guò)程.第1個(gè)子過(guò)程為σk(t)=Ek,2(t)+rk,2(t),t ∈[0,?);第2個(gè)子過(guò)程為σk(t)=c1Ek,1(t)+c1rk,1(t),t ∈[?,h).在控制過(guò)程中,第1個(gè)子過(guò)程修正x2,k(t)的狀態(tài)誤差,在第1個(gè)子過(guò)程操作完成以后立即開(kāi)始第2個(gè)子過(guò)程操作.第2個(gè)子過(guò)程主要是修正x1,k(t)的狀態(tài)誤差,當(dāng)?shù)趉個(gè)過(guò)程完成以后,進(jìn)入第k+1個(gè)過(guò)程.同樣第k+1個(gè)過(guò)程也分為兩個(gè)子過(guò)程,如此往復(fù),最后達(dá)到完全跟蹤. 根據(jù)式(27)和式(30)中Ek,i(t)和rk,i(t)(i1,2)的定義,當(dāng)t ∈[0,?)時(shí),對(duì)式(28)中的σk(t)進(jìn)行求導(dǎo)可得 其中φk(t) 同樣選擇下面的正定函數(shù): 本節(jié)提出與上節(jié)式(15)–(16)相似的控制律和學(xué)習(xí)律來(lái)完成跟蹤任務(wù),唯一不同的是φk(t)所包含的內(nèi)容和上一節(jié)有區(qū)別. 在限幅條件下,所有參數(shù)的估計(jì)通過(guò)下面的更新律給出: 控制律和學(xué)習(xí)律中相關(guān)變量的定義和前述相同. 同樣,如果Jk是一個(gè)常量,此時(shí)還可以應(yīng)用類(lèi)似于式(17)(18)的控制律和更新律來(lái)完成跟蹤任務(wù). 當(dāng)t ∈[?,h)時(shí), 當(dāng)t ∈[?,h)時(shí),因?yàn)楫?dāng)t ∈[?,h)時(shí),Ek,2(t)0,Ek,1(t)ek(t).此時(shí)不包含所以需要對(duì)再求一次導(dǎo)數(shù).由于0,所以 其中φk(t) 選擇下面的正定函數(shù): 對(duì)Vk進(jìn)行求導(dǎo)可得 根據(jù)上面的推導(dǎo),提出下面的控制律來(lái)完成跟蹤任務(wù): 在限幅條件下,所有參數(shù)的估計(jì)通過(guò)下面的更新律給出: 如果Jk是一個(gè)常量,同樣還可以應(yīng)用下面的控制律和學(xué)習(xí)律來(lái)完成跟蹤任務(wù): 對(duì)于上一節(jié)設(shè)計(jì)的控制律和更新律,有如下的收斂性定理: 定理2如果系統(tǒng)(3)滿足假設(shè)1和2,并且當(dāng)k→∞時(shí)控制律(34)(38)和參數(shù)更新律(35)(39)能夠讓系統(tǒng)(3)中的誤差函數(shù)ek(t),滑模誤差函數(shù)σk及能量函數(shù)Vk在區(qū)間[0,h)上一致收斂于零. 證當(dāng)k →∞時(shí),運(yùn)用控制律(34)和參數(shù)更新律(35)能夠證明滑模誤差函數(shù)σk及能量函數(shù)Vk在區(qū)間[0,?)上一致收斂于零,證明方法同定理1,故此處省略. 同樣,當(dāng)k →∞時(shí),運(yùn)用控制律(38)和參數(shù)更新律(39)能夠證明滑模誤差函數(shù)的導(dǎo)數(shù)以及相應(yīng)的能量函數(shù)Vk在區(qū)間[?,h)上一致收斂于零,證明方法同定理1,故此處省略. 也就是說(shuō),當(dāng)k→∞時(shí),在區(qū)間[0,?)一致趨于0. 另一方面,在[?,t)上對(duì)式(41)兩邊同時(shí)積分可得 根據(jù)rk,1(t)的定義可知 因此,在區(qū)間[?,h)上,當(dāng)k →∞時(shí),rk,1(t)一致為0.所以根據(jù)式(43)有 證畢. 注7對(duì)于零階吸引子控制器而言,每一個(gè)子過(guò)程都分為兩個(gè)階段:在第1階段系統(tǒng)通過(guò)控制算法使得σk(t)=0,即+rk,2(t)=0;在第2階段系統(tǒng)通過(guò)控制算法目的是讓=0,可以看出零階吸引子控制器在控制過(guò)程中用到的誤差量其實(shí)只有一個(gè),即只是在控制過(guò)程中,讓rk,2(t)和交互作用,分別修正和ek(t),當(dāng)時(shí)間趨向無(wú)窮時(shí),誤差也相應(yīng)趨于零.在進(jìn)行控制律切換時(shí),為了防止控制器出現(xiàn)顫振,需要滿足即在進(jìn)行控制器設(shè)計(jì)時(shí),讓目的是讓=0;而讓rk,1(?)=?ek(?),目的是為了消除ek(?)的影響,繼而使得ek(t)沿著rk,1(t)的路徑到達(dá)零. 注8本節(jié)中無(wú)論是采用一階吸引子控制器,還是采用零階吸引子控制器,系統(tǒng)最后都是通過(guò)相應(yīng)算法使得σk(t)=0或者是對(duì)于兩種吸引子控制器而言,根據(jù)σk(t)的定義可知,σk(t)=0或者=0其實(shí)都是一個(gè)一階微分方程,所以系統(tǒng)的跟蹤誤差一定是滿足這個(gè)微分方程的一個(gè)解. 注9對(duì)于更高階的系統(tǒng),比如n階系統(tǒng),如果設(shè)計(jì)滑模誤差函數(shù) 當(dāng)σk(t)=0時(shí),即有 很明顯,這是一個(gè)高階非齊次微分方程,其特征方程為cnL(n?1)+cnL(n?2)+……+c1=0,設(shè)特征方程的特征根為λ1,λ2,……,λn?1(皆具有負(fù)實(shí)部),那么原來(lái)的高階非齊次微分方程即具有如下形式的特解: 此情形下,很難設(shè)計(jì)一個(gè)r(t),使得r(t)成為n?1階吸引子,讓同時(shí)為零.針對(duì)更高階的系統(tǒng),如果使用零階吸引子,依次修正反而更容易實(shí)現(xiàn). 假定系統(tǒng)(1)中的參考信號(hào)為xd(t)0 ≤t≤4,伺服系統(tǒng)的摩擦系數(shù)μ?0.2,擾動(dòng)d(t)0.1rand(rand 表示0到1之間的隨機(jī)數(shù)),系統(tǒng)初態(tài)隨機(jī),時(shí)間間隔h0.2.本節(jié)當(dāng)中系統(tǒng)分別采用一階吸引子控制器和零階吸引子控制器進(jìn)行仿真. 系統(tǒng)的轉(zhuǎn)動(dòng)慣量J是變量,并且J2+0.2 sint,系統(tǒng)的初態(tài)x1,0(0)0.2,仿真過(guò)程中,滑模誤差函數(shù)中的c130,修正函數(shù)rk(t)中的參數(shù)a,p,q可以根據(jù)式(12)計(jì)算.控制器增益b15.參數(shù)更新律(16)中,γ15,γ25;參數(shù)更新律中的上限為6,下限為2.5;參數(shù)的上限為?0.1,下限為?0.3;參數(shù)的上限為2,下限為1.仿真結(jié)果如圖1–9所示. 圖1 實(shí)際軌跡x1(t)和期望軌跡xd(t)Fig.1 Actual trajectory x1(t)and desired trajectory xd(t) 圖2 跟蹤誤差e(t)Fig.2 Tracking error ek(t) 圖3 實(shí)際狀態(tài)x2(t)和期望狀態(tài)˙xd(t)Fig.3 Actual state x2(t)and desired state ˙xd(t) 圖4 狀態(tài)誤差(t)Fig.4 State error (t) 圖5 滑模誤差函數(shù)σ(t)Fig.5 Sliding-mode error σ(t) 圖6 控制輸入u(t)Fig.6 Control input u(t) 圖7 參數(shù)Fig.7 The parameter 圖8 參數(shù)Fig.8 The parameter 圖9 參數(shù)Fig.9 The parameter 從圖1和圖3中可以看出,系統(tǒng)在區(qū)間[0,0.2)上并沒(méi)有跟蹤上期望軌跡xd和期望狀態(tài)經(jīng)過(guò)若干個(gè)周期的狀態(tài)偏差修正以后,xk,1和xk,2才基本達(dá)到期望軌跡xd和期望狀態(tài)由于跟蹤誤差ek(t)與狀態(tài)誤差和修正函數(shù)ζk(t)有關(guān),即ek(0)和決定后續(xù)跟蹤誤差走勢(shì).根據(jù)前面的分析可知,跟蹤誤差ek(t)和狀態(tài)誤差無(wú)限逼近式(25)和式(26).從圖2和圖4的放大圖當(dāng)中也能看出,后期的誤差走勢(shì)雖有不同,但幅度都在減小. 由于控制器(15)的修正周期為0.2 s,并且每個(gè)周期的初始時(shí)刻都要求σk(0)0,直接導(dǎo)致了圖5和圖6中的變量在前期每隔0.2 s會(huì)有一個(gè)微小的凸起,實(shí)際上并不是凸起,而是因?yàn)榈襨(0)0.也就是說(shuō),每隔0.2 s會(huì)有一個(gè)類(lèi)似于復(fù)位的操作.當(dāng)基本跟蹤上目標(biāo)軌跡以后,這個(gè)復(fù)位操作的影響就不明顯了,相應(yīng)的凸起逐漸消失.而且從圖6中還可以看出,如果要求在很短的時(shí)間內(nèi)修正較大的初態(tài)偏差,則要求必須提供較大的控制量.所以在實(shí)際中考慮到控制量的限制時(shí),如果狀態(tài)偏差較大,一般要求修正時(shí)間不能太短. 雖然系統(tǒng)(1)中的Jmax,μ和β都是常量,但由于在控制過(guò)程中進(jìn)行了不斷的學(xué)習(xí),所以從圖7–9中反映出來(lái)的并不是常量,但隨著時(shí)間的延長(zhǎng),和會(huì)趨于穩(wěn)定. 將本文方法和文獻(xiàn)[30]中的方法進(jìn)行對(duì)比可知,當(dāng)初態(tài)偏差不明顯時(shí),兩種方法的差異較小,當(dāng)初態(tài)偏差較大時(shí),對(duì)比結(jié)果體現(xiàn)了本文方法中誤差修正項(xiàng)的作用.對(duì)比過(guò)程中,本文設(shè)置的初態(tài)為 其他參數(shù)分別與仿真1和文獻(xiàn)[30]中的參數(shù)相同.圖10的上半部分表示本文方法的跟蹤誤差曲線;下半部分表示文獻(xiàn)[30]方法的誤差曲線.為了方便比較,只顯示e(t)在0到1之間的部分曲線. 圖10 位置跟蹤誤差對(duì)比Fig.10 Comparison of position errors 本節(jié)中系統(tǒng)的轉(zhuǎn)動(dòng)慣量J是常量,并且J2,系統(tǒng)的初態(tài)x1,0(0)0.1,仿真過(guò)程中,滑模誤差函數(shù)中的c11,修正函數(shù)rk(t)中的參數(shù)?0.1.控制器增益b15.參數(shù)更新律(35)和(39)中的γ1和γ2保持一致,γ115,γ215;參數(shù)更新律中的上限為2.5,下限為1.5;參數(shù)的上限為?0.1,下限為?0.3.仿真結(jié)果如圖11–18所示. 圖11 實(shí)際軌跡x1(t)和期望軌跡xd(t)Fig.11 Actual trajectory x1(t)and desired trajectory xd(t) 圖12 跟蹤誤差e(t)Fig.12 Tracking error e(t) 圖13 實(shí)際狀態(tài)x2(t)和期望狀態(tài)d(t)Fig.13 Actual state x2(t)and desired stated(t) 圖14 狀態(tài)誤差(t)Fig.14 State error (t) 圖15 滑模誤差函數(shù)σ(t)Fig.15 Sliding-mode error σ(t) 圖16 控制輸入u(t)Fig.16 Control input u(t) 圖17 參數(shù)Fig.17 The parameter 圖18 參數(shù)Fig.18 The parameter 和上一節(jié)相似,系統(tǒng)在經(jīng)過(guò)多個(gè)子過(guò)程的狀態(tài)偏差修正以后,x1和x2基本能夠到達(dá)期望軌跡xd和期望狀態(tài)從圖12和圖14的放大圖當(dāng)中,跟蹤誤差和狀態(tài)誤差呈現(xiàn)明顯的規(guī)律性,根據(jù)上一節(jié)的收斂性分析可知,狀態(tài)誤差在相應(yīng)子過(guò)程內(nèi)無(wú)限逼近下面的表達(dá)式. ek(t)是在相應(yīng)區(qū)間上的積分.當(dāng)ek(?)和都趨于零時(shí),則相應(yīng)的ek(t)和也趨于零. 兩種控制器中,如果增大b,γ1,γ2的值,縮短修正時(shí)間,也會(huì)加快收斂速度.從理論上說(shuō),如果不考慮控制量的限制,兩種控制器都能在較短的時(shí)間內(nèi)將跟蹤誤差減小到一定范圍內(nèi),實(shí)現(xiàn)精確跟蹤. 上述仿真結(jié)果表明本文所設(shè)計(jì)的兩種學(xué)習(xí)控制器可用于解決不確定系統(tǒng)任意初態(tài)偏差的修正,而且這種方法設(shè)計(jì)的控制器具有較快的收斂速度和較高的控制精度,體現(xiàn)了該方法的有效性. 本文研究了一類(lèi)二階系統(tǒng)在任意初態(tài)偏差下的自適應(yīng)控制問(wèn)題,提出了兩種帶有修正狀態(tài)偏差功能的自適應(yīng)學(xué)習(xí)控制策略:一階吸引子控制器和零階吸引子控制器.和傳統(tǒng)自適應(yīng)控制不同的是本文中的兩種控制器都運(yùn)用了學(xué)習(xí)控制及其初始修正的思想,將整個(gè)控制過(guò)程分成若干等長(zhǎng)時(shí)間的子過(guò)程,在每個(gè)子過(guò)程中控制算法都會(huì)在前一子過(guò)程的基礎(chǔ)上進(jìn)行參數(shù)學(xué)習(xí),并對(duì)當(dāng)前子過(guò)程的初態(tài)偏差進(jìn)行修正,直到子過(guò)程的初態(tài)誤差為零為止.當(dāng)時(shí)間趨向無(wú)窮時(shí),兩種算法都能使得系統(tǒng)達(dá)到完全跟蹤.并且兩種控制器在控制過(guò)程中,都利用反正切函數(shù)對(duì)控制量進(jìn)行連續(xù)化處理,基本解決了控制過(guò)程中的顫振問(wèn)題.最后,通過(guò)兩個(gè)算例驗(yàn)證了兩種算法的有效性.3 一階吸引子控制器
3.1 控制器設(shè)計(jì)
3.2 收斂性分析
4 零階吸引子控制器
4.1 控制器設(shè)計(jì)
4.2 收斂性分析
5 數(shù)值仿真
5.1 一階吸引子控制律
5.2 零階吸引子控制律
6 結(jié)論