倪洪杰 朱俊威 俞 立 禹鑫燚
(浙江工業(yè)大學(xué)信息工程學(xué)院 杭州 310023)
隨著現(xiàn)代展演藝術(shù)需求越來越旺盛,舞臺(tái)演出中逐漸出現(xiàn)多個(gè)足形機(jī)器人、智能車臺(tái)以及其他移動(dòng)體等協(xié)同參與舞臺(tái)演出,以提升演出效果[1, 2]。通常在各類實(shí)際演出中,多個(gè)舞臺(tái)移動(dòng)機(jī)器人往往需要根據(jù)演出劇情的特點(diǎn)進(jìn)行編隊(duì)移動(dòng)演出,特別在現(xiàn)有演出中,經(jīng)常要求多個(gè)相同控制結(jié)構(gòu)的舞臺(tái)移動(dòng)機(jī)器人實(shí)現(xiàn)運(yùn)動(dòng)和狀態(tài)表現(xiàn)一致性,以配合演員或者劇情變化來特定演繹。與多智能協(xié)同控制類似,多舞臺(tái)移動(dòng)機(jī)器人協(xié)同編隊(duì)演出的核心問題同樣是分布式協(xié)調(diào)控制,其目的是通過設(shè)計(jì)合適的控制協(xié)議,建立各舞臺(tái)移動(dòng)機(jī)器人之間的關(guān)系,實(shí)現(xiàn)共同的目標(biāo)。同時(shí)多舞臺(tái)移動(dòng)機(jī)器人之間存在通訊拓?fù)溥B接,其拓?fù)淇赡茈S時(shí)間或任務(wù)目標(biāo)的變化而進(jìn)行實(shí)時(shí)切換。
在切換拓?fù)湎碌亩嘀悄荏w協(xié)同控制問題上,Shen等人[3]利用半馬爾可夫鏈來描述可能由于網(wǎng)絡(luò)通信復(fù)雜性而引起的隨機(jī)拓?fù)浣粨Q,并提出了一種容錯(cuò)事件觸發(fā)控制協(xié)議,以獲得多智能體系統(tǒng)的領(lǐng)導(dǎo)跟隨一致性。Saboori等人[4]研究了具有交換拓?fù)浜陀邢蛲ㄐ啪W(wǎng)絡(luò)圖的線性時(shí)不變多智能體系統(tǒng)的協(xié)同執(zhí)行器故障調(diào)節(jié)策略,故障可以同時(shí)發(fā)生在多個(gè)代理中。Gallehdari等人[5]研究了面向有向交換拓?fù)渚W(wǎng)絡(luò)多智能體系統(tǒng)的分布式控制重構(gòu)策略,將所提出的可重構(gòu)控制律應(yīng)用于一組自主水下航行器(ALIV)在有向切換拓?fù)浜屯瑫r(shí)執(zhí)行器故障等條件下的控制。Jia等人[6]討論了在有向切換拓?fù)錀l件下四軸飛行器群的領(lǐng)導(dǎo)跟隨問題,利用自適應(yīng)神經(jīng)網(wǎng)絡(luò)狀態(tài)觀測(cè)器逼近未知非線性函數(shù),重構(gòu)不可測(cè)的內(nèi)部狀態(tài),結(jié)合動(dòng)態(tài)表面控制技術(shù),提出了一種新的分布式輸出反饋形成控制協(xié)議。Wang和Yang[7]研究一類高階多智能體系統(tǒng)(MASs)的分布式容錯(cuò)控制問題,該系統(tǒng)具有切換無向拓?fù)?、異?gòu)匹配不確定性、擾動(dòng)和執(zhí)行器失效、偏置、停機(jī)和阻塞等故障, 基于相鄰節(jié)點(diǎn)的相關(guān)信息,通過分布式自適應(yīng)機(jī)制,設(shè)計(jì)了一種新的容錯(cuò)一致性跟蹤協(xié)議。Ye等人[8]研究了具有半馬爾可夫跳變拓?fù)涞膹?fù)雜動(dòng)態(tài)網(wǎng)絡(luò)的容錯(cuò)同步控制問題,其主要目的是設(shè)計(jì)一個(gè)容錯(cuò)控制器,使閉環(huán)系統(tǒng)在執(zhí)行機(jī)構(gòu)發(fā)生隨機(jī)故障時(shí)具有同步特性。Zheng和Zhang[9]利用增量算子方法研究了切換拓?fù)湎露嘀悄荏w系統(tǒng)故障和不匹配的一致性問題,引入了delta算子來統(tǒng)一連續(xù)、離散或采樣系統(tǒng)在一個(gè)框架下的一致分析。Patel和Mehta[10]針對(duì)具有切換拓?fù)浣Y(jié)構(gòu)的離散多智能體系統(tǒng),提出了一種領(lǐng)導(dǎo)跟隨一致性的離散滑模協(xié)議。Yan等人[11]針對(duì)基于離散信息的開關(guān)通信拓?fù)浣Y(jié)構(gòu)下的多水下機(jī)器人協(xié)調(diào)控制問題,提出了具有或不具有時(shí)滯的協(xié)調(diào)控制協(xié)議。此外還有研究人員采用耗散理論和干擾觀測(cè)的方法研究了具有靜態(tài)領(lǐng)導(dǎo)者的多機(jī)器人系統(tǒng)跟蹤控制問題[12]。
上述文獻(xiàn)中大多只考慮了系統(tǒng)發(fā)生單個(gè)故障的情況,實(shí)際舞臺(tái)移動(dòng)機(jī)器人在演出過程中不可避免會(huì)因驅(qū)動(dòng)執(zhí)行器出現(xiàn)瞬間異常或者轉(zhuǎn)速編碼盤損壞等而出現(xiàn)各類故障現(xiàn)象,需要考慮在切換拓?fù)湎碌亩嘁苿?dòng)機(jī)器人編隊(duì)同步跟蹤控制問題。本文和上述研究相比,主要突出點(diǎn)在于:(1)考慮了切換拓?fù)湎碌亩辔枧_(tái)移動(dòng)機(jī)器人跟蹤控制問題,通過設(shè)計(jì)一種容錯(cuò)跟蹤控制協(xié)議,在多個(gè)單體移動(dòng)機(jī)器人均發(fā)生多種故障的情況也能保證群體同步運(yùn)行。(2)觀測(cè)器增益的切換并非隨著拓?fù)鋵?shí)時(shí)變化。在切換拓?fù)浜螅?jì)算拉普拉斯矩陣的特征值,只有當(dāng)特征值上下界發(fā)生變化時(shí),才需要重新計(jì)算觀測(cè)器增益,從而避免了頻繁切換增益。
考慮實(shí)際演出中,有1+N個(gè)同構(gòu)舞臺(tái)移動(dòng)機(jī)器人進(jìn)行編隊(duì)運(yùn)動(dòng)控制,其中由N個(gè)舞臺(tái)移動(dòng)機(jī)器人作為跟隨機(jī)器人構(gòu)建組成的一個(gè)網(wǎng)絡(luò),假設(shè)每一個(gè)跟隨機(jī)器人的動(dòng)力學(xué)方程可以用以下連續(xù)時(shí)間的線性時(shí)不變(linear time-invariant, LTI)系統(tǒng)來表示:
(1)
其中,xi(t)∈Rn,ui(t)∈Rm,yi(t)∈Rp分別表示跟隨機(jī)器人的系統(tǒng)狀態(tài)、控制輸入和測(cè)量輸出。fi(t),fsi(t)分別表示執(zhí)行器故障、傳感器故障,其導(dǎo)數(shù)范數(shù)均有界。wi(t)表示外部擾動(dòng),其范數(shù)有界。A,B,C,D,E,Bw為給定的實(shí)數(shù)矩陣。
1個(gè)同構(gòu)舞臺(tái)移動(dòng)領(lǐng)航機(jī)器人的動(dòng)力學(xué)方程為
(2)
其中,x0(t)∈Rn,r0(t)∈Rm,y0(t)∈RP分別表示領(lǐng)航機(jī)器人的系統(tǒng)狀態(tài)、控制輸入和測(cè)量輸出,A、B、C同樣為給定的實(shí)數(shù)矩陣。定義δi(t)=xi(t)-x0(t)作為第i個(gè)機(jī)器人節(jié)點(diǎn)的跟蹤誤差,由式(1)和(2)可以得到跟蹤誤差為
+Bwwi(t)
(3)
則可以得到一個(gè)增廣后的誤差跟蹤系統(tǒng):
(4)
其中i=1, 2, 3, 4。
在設(shè)計(jì)切換拓?fù)湎碌娜蒎e(cuò)跟蹤控制協(xié)議前,先將擾動(dòng)投影到匹配分量和不匹配分量[13],如下所示:
(5)
(6)
為構(gòu)造分布式中間觀測(cè)器,定義中間變量為
(7)
其中ω是一個(gè)調(diào)優(yōu)參數(shù)。從式(6)和(7)中可以得到:
(8)
對(duì)于第i個(gè)機(jī)器人節(jié)點(diǎn),基于式(6)、(8),設(shè)計(jì)分布式中間觀測(cè)器為
(9)
(10)
在前面分析的基礎(chǔ)上,將第i個(gè)機(jī)器人節(jié)點(diǎn)的容錯(cuò)跟蹤控制協(xié)議設(shè)計(jì)為
(11)
K的取值要使得A-BK是Hurwitz矩陣。將式(11)代入式(3),得到第i個(gè)節(jié)點(diǎn)的閉環(huán)系統(tǒng)狀態(tài)方程為
+Beξi(t)+Bw2wi(t)
(12)
由式(10)和(12)則整個(gè)閉環(huán)系統(tǒng)可以表示為
+(IN?S2)eξ(t)+(IN?Bw2)w(t)
(13)
其中,
M=L+G,S1=BK+ωBBT,S2=B
如果存在標(biāo)量ω>0,ε>0,矩陣P1>0,P2>0,P3>0和H使得整個(gè)閉環(huán)系統(tǒng)的狀態(tài)式(11)一致最終有界,則:
φi<0
(14)
其中,
證明給出Lyapunov函數(shù)為
V(t)=δT(t)(IN?P1)δ(t)
(15)
由式(13)和(14),可以得到V(t)對(duì)時(shí)間的導(dǎo)數(shù)如下:
δT(t)[IN?P1(A-BK)+(A-BK)TP1]δ(t)
+2δT(t)(IN?P1S1)eδ(t)+2δT(t)(IN?P1S2)
(16)
2δT(t)(IN?P1Bw2)w(t)
(17)
(18)
(19)
(20)
(21)
(22)
由式(15)~(22)得到:
+(A-BK)TP1]δ(t)
+2δT(t)(IN?P1S1)eδ(t)
+2δT(t)(IN?P1S2)
(23)
(24)
Σ11=He[IN?P1(A-BK)]
Σ12=IN?P1S1,Σ13=IN?P1S2,
+(1/ε)(IN?P3P3)
并且從式(15)中,可以得知:
V(t)≤max[λmax(P1),λmax(P2),λmax(P3)]
(25)
記Σp=-Σ,若Σ<0(即Σp>0),則可以從式(24)和(25)中得出:
(26)
其中,
記集合Z為如下形式:
(27)
記Zs為Z的補(bǔ)集,則可以得知:
V(t)≥λmin(P1)‖δ(t)‖2
+λmin(P2)‖eδ(t)‖2
(28)
(29)
由于M是對(duì)稱實(shí)矩陣,對(duì)M進(jìn)行譜分解可以得到:
M=QΛQT
(30)
其中,Q是由M的特征值構(gòu)成的矩陣,Λ= diag{λ1,…,λN} (i=1,2,…,N)是矩陣M的特征值。定義一個(gè)轉(zhuǎn)移矩陣如下所示:
(31)
左乘Σ,右乘T及其轉(zhuǎn)置后:
(32)
其中,
通過應(yīng)用舒爾補(bǔ)引理,可得Σ<0,即Σo<0等價(jià)于式(14)。證畢。
注1本例所設(shè)計(jì)的切換拓?fù)湎碌亩辔枧_(tái)移動(dòng)機(jī)器人容錯(cuò)跟蹤協(xié)議流程如圖1所示,主要有以下步驟。
(1) 設(shè)定調(diào)優(yōu)參數(shù)ω和反饋增益K,若最后估計(jì)性能不滿意,則需要重新設(shè)定ω和K;
圖1 容錯(cuò)跟蹤控制協(xié)議流程圖
(2) 在當(dāng)前拓?fù)淝闆r下,通過LMI計(jì)算觀測(cè)器增益。由于本例中,系統(tǒng)之間的拓?fù)潆S時(shí)間而變化,因此需要根據(jù)當(dāng)前拓?fù)涞倪B接性質(zhì)重新計(jì)算觀測(cè)器增益;
(3) 設(shè)計(jì)中間觀測(cè)器同時(shí)估計(jì)系統(tǒng)狀態(tài)和發(fā)生的故障;
(4) 利用估計(jì)值設(shè)計(jì)基于狀態(tài)反饋的容錯(cuò)跟蹤控制協(xié)議,使得跟隨機(jī)器人和領(lǐng)航機(jī)器人的狀態(tài)保持一致。
注2在每次切換拓?fù)浜?,重新?jì)算當(dāng)前拓?fù)湎吕绽咕仃嚨奶卣髦?,由于最大最小特征值決定了式(12)是否有解,其本質(zhì)上是一個(gè)凸條件。因此當(dāng)特征值的上下界發(fā)生變化時(shí),才需要重新計(jì)算觀測(cè)器增益,避免了系統(tǒng)頻繁切換。
由于舞臺(tái)移動(dòng)機(jī)器人運(yùn)行在一個(gè)不完備的知識(shí)空間,因此需要為機(jī)器人編隊(duì)設(shè)計(jì)一種實(shí)時(shí)檢測(cè)故障,并保證編隊(duì)同步運(yùn)行的控制策略。本文以一種輪式移動(dòng)機(jī)器人編隊(duì)為例,通過仿真實(shí)驗(yàn)來說明所設(shè)計(jì)的容錯(cuò)跟蹤控制協(xié)議的有效性。其中,舞臺(tái)移動(dòng)機(jī)器人的動(dòng)力學(xué)模型[14]為
其中,Iv表示繞輪式機(jī)器人重心的轉(zhuǎn)動(dòng)慣量;m表示移動(dòng)機(jī)器人總質(zhì)量;l表示移動(dòng)機(jī)器人寬度的一半;Iω表示移動(dòng)機(jī)器人驅(qū)動(dòng)輪的轉(zhuǎn)動(dòng)慣量;c表示車輪與地面的摩擦系數(shù);r表示車輪半徑;k表示移動(dòng)機(jī)器人控制電機(jī)及驅(qū)動(dòng)機(jī)構(gòu)的驅(qū)動(dòng)增益。
代入其具體參數(shù):
Iv=10 kg·m2,m=50 kg,l=0.5 m,
Iω=0.05 kg·m2,c=0.05 kg·m2/s,
r=0.125 m,k=20 N·m/V
得到其領(lǐng)航機(jī)器人的狀態(tài)空間方程為
考慮跟隨機(jī)器人系統(tǒng)同時(shí)發(fā)生執(zhí)行器故障和傳感器故障以及擾動(dòng)的情況,可得跟隨機(jī)器人的狀態(tài)空間方程:
假設(shè)外部擾動(dòng)為wi(t)=0.1sin(0.2t),u0(t)為控制輸入。其中u0(t)的第1個(gè)分量表示右車輪的驅(qū)動(dòng)電壓ur(t),u0(t)的第2個(gè)分量表示左車輪的驅(qū)動(dòng)電壓ul(t),同前面領(lǐng)航機(jī)器人一樣,任何跟隨機(jī)器人無法直接獲得該驅(qū)動(dòng)實(shí)時(shí)量。同樣假設(shè)u0(t)=r0(t)=3sin(0.2t),需要指出的,在當(dāng)前移動(dòng)機(jī)器人系統(tǒng)框架下,故障fi(t)和fsi(t)實(shí)際上分別表示左車輪的驅(qū)動(dòng)電壓偏差和移動(dòng)機(jī)器人方向角的量測(cè)偏差。在舞臺(tái)表演中,移動(dòng)機(jī)器人需要根據(jù)實(shí)際的表演需求不斷變換其通訊拓?fù)洌詽M足各種各樣的隊(duì)形要求,圖2為其拓?fù)渥儞Q流程。
圖2 拓?fù)渥儞Q1流程圖
為了模擬故障下同構(gòu)移動(dòng)機(jī)器人編隊(duì)跟蹤效果,設(shè)定各個(gè)跟隨機(jī)器人的執(zhí)行器和傳感器故障,分別如表1和表2所示。
表1 執(zhí)行器故障
表2 傳感器故障
采用式(14)來計(jì)算觀測(cè)器增益,由λ1、λ2、λ3特征值可以看出,在第2種拓?fù)淝闆r下,4個(gè)特征值的上下界沒有發(fā)生全部變化,因此在此拓?fù)淝闆r下,不需要重新計(jì)算觀測(cè)器增益,如圖3所示。
在MatLab程序下進(jìn)行本算法的仿真驗(yàn)證,領(lǐng)航機(jī)器人和跟隨機(jī)器人的跟蹤狀態(tài)如圖4、圖 5所示,圖6~9給出了組合未知信號(hào)及其估計(jì)值,圖10給出了傳感器故障及其估計(jì)值。從上述圖表中可以看出,切換拓?fù)湎碌亩辔枧_(tái)移動(dòng)機(jī)器人容錯(cuò)跟蹤控制問題得到了解決。
圖3 拓?fù)渥儞Q2流程圖
圖4 領(lǐng)航與跟隨機(jī)器人狀態(tài)1
圖5 領(lǐng)航與跟隨機(jī)器人狀態(tài)2
圖6 組合未知信號(hào)1及其估計(jì)
注3本例中每個(gè)節(jié)點(diǎn)上有4個(gè)未知輸入信號(hào),但是每個(gè)節(jié)點(diǎn)只有2個(gè)輸出,根據(jù)故障估計(jì)理論,無法單獨(dú)估計(jì)每一個(gè)未知輸入信號(hào),因此本文將多個(gè)未知輸入信號(hào)整合為一個(gè)組合未知信號(hào)進(jìn)行估計(jì),即τi(t)=-r0(t)+fi(t)+wi(t)。
注4本例中,在40 s和80 s分別切換一次拓?fù)洌^測(cè)器增益只切換了一次。從上述圖表中可以看出,在增益切換時(shí),系統(tǒng)狀態(tài)和故障的估計(jì)均發(fā)生一定程度的抖動(dòng),但隨后又立刻得到調(diào)節(jié),并且其抖動(dòng)的超調(diào)量較小,證明了本例中所設(shè)計(jì)的切換拓?fù)湎碌亩辔枧_(tái)移動(dòng)機(jī)器人容錯(cuò)跟蹤控制協(xié)議的有效性。
圖7 組合未知信號(hào)2及其估計(jì)
圖8 組合未知信號(hào)3及其估計(jì)
圖9 組合未知信號(hào)4及其估計(jì)
圖10 傳感器故障及其估計(jì)
圍繞現(xiàn)代舞臺(tái)演出高品質(zhì)藝術(shù)表現(xiàn)需求,針對(duì)多舞臺(tái)移動(dòng)機(jī)器人協(xié)同編隊(duì)演出特點(diǎn),提出了一種在切換拓?fù)淝闆r下的移動(dòng)舞臺(tái)機(jī)器人容錯(cuò)跟蹤控制方法。在完成不確定性量進(jìn)行匹配分量和不匹配分量分解后,繼而通過分布式中間觀測(cè)器設(shè)計(jì)來估計(jì)由多種組合未知輸入信號(hào),進(jìn)而設(shè)計(jì)基于估計(jì)值的容錯(cuò)跟蹤控制協(xié)議對(duì)匹配未知輸入進(jìn)行有效補(bǔ)償,又通過調(diào)節(jié)特定參數(shù)充分抑制不匹配不確定性效應(yīng)。機(jī)器人驅(qū)動(dòng)器和傳感器等多個(gè)故障發(fā)生下的仿真結(jié)果表明,本文設(shè)計(jì)方法仍能確保舞臺(tái)移動(dòng)機(jī)器人獲得較好的容錯(cuò)跟蹤控制性能,同時(shí)避免觀測(cè)器增益頻繁切換。下一步將圍繞多舞臺(tái)移動(dòng)機(jī)器人故障特征點(diǎn)不確性來進(jìn)一步提升容錯(cuò)控制算法的魯棒性。