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