本發(fā)明屬于無(wú)人機(jī)編隊(duì)系統(tǒng)領(lǐng)域,具體涉及一種具有通訊時(shí)延的無(wú)人機(jī)編隊(duì)的分布式速度傳感器故障診斷方法。
背景技術(shù):
近年來(lái),無(wú)人機(jī)編隊(duì)系統(tǒng)在森林防火、地圖測(cè)繪和人員搜救等領(lǐng)域中受到越來(lái)越多的關(guān)注。無(wú)人機(jī)編隊(duì)系統(tǒng)通過(guò)無(wú)人機(jī)之間的協(xié)同可以實(shí)現(xiàn)單個(gè)無(wú)人機(jī)無(wú)法實(shí)現(xiàn)的功能或者具有單個(gè)無(wú)人機(jī)無(wú)法具有的優(yōu)良性能。由于無(wú)人機(jī)之間具有通訊連接,單個(gè)無(wú)人機(jī)的故障會(huì)導(dǎo)致整個(gè)編隊(duì)系統(tǒng)的隊(duì)形無(wú)法保持,進(jìn)而影響編隊(duì)系統(tǒng)的功能和性能,甚至?xí)l(fā)生撞機(jī)事故。編隊(duì)系統(tǒng)的故障診斷是保證無(wú)人機(jī)安全編隊(duì)飛行的重要技術(shù)。
目前無(wú)人機(jī)編隊(duì)系統(tǒng)的故障診斷方法主要分為集中式故障診斷和分布式故障診斷兩種。在集中式故障診斷框架下,故障診斷算法集中在系統(tǒng)的單個(gè)無(wú)人機(jī)或者地面站中,此無(wú)人機(jī)或者地面站利用所有無(wú)人機(jī)的信息進(jìn)行故障診斷。此方法的缺點(diǎn)在于可靠性不高,通訊負(fù)載大。在分布式故障診斷框架下,故障診斷算法分布于所有無(wú)人機(jī)中,每個(gè)無(wú)人機(jī)中的故障診斷算法相同。每個(gè)無(wú)人機(jī)只利用自身和鄰居的信息對(duì)自身和鄰居進(jìn)行故障診斷。此方法通訊負(fù)載低,可靠性較高。
無(wú)人機(jī)編隊(duì)中,無(wú)人機(jī)之間的通訊由于受到環(huán)境干擾、通訊帶寬等因素的影響,容易產(chǎn)生時(shí)間延遲。在當(dāng)前的無(wú)人機(jī)編隊(duì)系統(tǒng)的分布式故障診斷方法中,沒(méi)有考慮時(shí)間延遲的影響。時(shí)間延遲使得當(dāng)前分布式故障診斷的結(jié)果產(chǎn)生很大誤差甚至錯(cuò)誤。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)當(dāng)前的無(wú)人機(jī)編隊(duì)系統(tǒng)的分布式故障診斷方法無(wú)法適用于編隊(duì)具有通訊時(shí)延的情況,本發(fā)明提供了一種針對(duì)具有定長(zhǎng)通訊時(shí)延的無(wú)人機(jī)編隊(duì)系統(tǒng)的分布式速度傳感器故障診斷方法。本方法可以有效的實(shí)現(xiàn)恒偏差傳感器故障或者周期為定長(zhǎng)時(shí)延的傳感器故障的分布式故障診斷。
為了實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
一種時(shí)延無(wú)人機(jī)編隊(duì)系統(tǒng)的分布式速度傳感器故障診斷方法,包括以下步驟:
步驟1:計(jì)算無(wú)人機(jī)編隊(duì)的通訊拓?fù)鋮?shù),針對(duì)由n個(gè)無(wú)人機(jī)組成的編隊(duì)系統(tǒng),g={v,e}為編隊(duì)系統(tǒng)的無(wú)向通訊拓?fù)?,其中v={1,2,...,n}為通訊拓?fù)涔?jié)點(diǎn),每個(gè)通訊拓?fù)涔?jié)點(diǎn)代表一個(gè)無(wú)人機(jī);
令矩陣ag=[aij]為通訊拓?fù)涞泥徑泳仃?,如?i,j)∈e,稱(chēng)節(jié)點(diǎn)i與節(jié)點(diǎn)j互為鄰居節(jié)點(diǎn),即節(jié)點(diǎn)i和節(jié)點(diǎn)j之間有通訊,則aij=aji=1,否則aij=aji=0;
令ni為第i個(gè)無(wú)人機(jī)的鄰居集合,|ni|為集合ni中元素的個(gè)數(shù);
令矩陣dg=[dij]為通訊拓?fù)涞亩染仃嚕染仃嚨姆菍?duì)角線元素為零,對(duì)角線元素取值為
令矩陣lg為通訊拓?fù)涞睦绽咕仃?,則lg=dg-ag;令0≤λ1<λ2≤...≤λn為lg的從小到大的n個(gè)特征值;
步驟2:基于無(wú)人機(jī)編隊(duì)的通訊拓?fù)鋮?shù)、給定軌跡、編隊(duì)向量和預(yù)設(shè)條件,設(shè)計(jì)分布式編隊(duì)控制律,具體如下:
第i個(gè)無(wú)人機(jī)在空間坐標(biāo)系x軸方向上的開(kāi)環(huán)模型如下:
其中,i=1,2,...,n,
其中,
編隊(duì)系統(tǒng)的給定軌跡為
其中,
步驟3:基于編隊(duì)系統(tǒng)閉環(huán)模型和每個(gè)無(wú)人機(jī)與鄰居的相對(duì)狀態(tài)測(cè)量,設(shè)計(jì)分布式故障檢測(cè)殘差生成器和對(duì)應(yīng)的故障檢測(cè)殘差評(píng)價(jià)函數(shù),具體如下:
基于第i個(gè)無(wú)人機(jī)的開(kāi)環(huán)模型和分布式控制律,可得第i個(gè)無(wú)人機(jī)的閉環(huán)模型如下:
其中,
令x=[ξ1,ξ2,...ξn,ζ1,ζ2,...,ζn]t,v=[v1,v2,...,vn]t,f=[f1,f2,...,fn]t;令yi(t)為第i個(gè)無(wú)人機(jī)與鄰居的相對(duì)狀態(tài)測(cè)量,形式如下:
其中,i1,i2,...,i|ni|分別為第i個(gè)節(jié)點(diǎn)的第1,2,...,|ni|個(gè)鄰域;
基于第i個(gè)無(wú)人機(jī)閉環(huán)模型和yi(t),整個(gè)編隊(duì)系統(tǒng)的閉環(huán)模型如下:
其中,
其中,ii和
基于編隊(duì)系統(tǒng)的閉環(huán)模型和第i個(gè)無(wú)人機(jī)與鄰居的相對(duì)狀態(tài)測(cè)量,第i個(gè)無(wú)人機(jī)的分布式故障檢測(cè)殘差生成器設(shè)計(jì)如下:
其中,
基于第i個(gè)無(wú)人機(jī)的分布式故障檢測(cè)殘差生成器,設(shè)計(jì)對(duì)應(yīng)的故障檢測(cè)殘差評(píng)價(jià)函數(shù)如下:
其中,
步驟4:基于編隊(duì)系統(tǒng)的閉環(huán)模型和每個(gè)無(wú)人機(jī)與鄰居的相對(duì)狀態(tài)測(cè)量,在每個(gè)無(wú)人機(jī)中,針對(duì)其所有鄰居節(jié)點(diǎn)設(shè)計(jì)一組分布式故障分離殘差生成器以及一組對(duì)應(yīng)的故障分離殘差評(píng)價(jià)函數(shù),具體如下:
在第i個(gè)無(wú)人機(jī)中,針對(duì)第k個(gè)鄰居節(jié)點(diǎn)設(shè)計(jì)分布式故障分離殘差生成器,具體形式如下:
其中,k∈ni,
其中,
基于第i個(gè)無(wú)人機(jī)的第k個(gè)分布式故障分離殘差生成器,設(shè)計(jì)對(duì)應(yīng)的故障分離殘差評(píng)價(jià)函數(shù)如下:
步驟5:基于每個(gè)無(wú)人機(jī)的開(kāi)環(huán)模型,設(shè)計(jì)分散式的故障分離殘差生成器以及對(duì)應(yīng)的故障分離殘差評(píng)價(jià)函數(shù);第i個(gè)無(wú)人機(jī)的分散式故障分離殘差生成器具體形式如下:
其中,
利用極點(diǎn)配置方法設(shè)計(jì)
基于第i個(gè)無(wú)人機(jī)的分散式故障分離殘差生成器,設(shè)計(jì)對(duì)應(yīng)的故障分離殘差評(píng)價(jià)函數(shù)如下:
步驟6:基于分布式故障檢測(cè)殘差評(píng)價(jià)函數(shù)和對(duì)應(yīng)的故障檢測(cè)閾值進(jìn)行故障檢測(cè),具體如下:
令
如果
步驟7:基于故障分離殘差評(píng)價(jià)函數(shù)和對(duì)應(yīng)的故障分離閾值進(jìn)行故障分離,具體如下:
令
如果
步驟8:無(wú)人機(jī)的運(yùn)動(dòng)學(xué)模型在空間坐標(biāo)系x軸、y軸和z軸上是解耦的,第i個(gè)無(wú)人機(jī)在空間坐標(biāo)系y軸方向上的運(yùn)動(dòng)學(xué)模型與步驟2中x軸方向上的運(yùn)動(dòng)學(xué)模型相同,重復(fù)步驟2至步驟7,得到無(wú)人機(jī)編隊(duì)系統(tǒng)在y軸上的故障診斷結(jié)果;
步驟9:無(wú)人機(jī)的運(yùn)動(dòng)學(xué)模型在空間坐標(biāo)系x軸、y軸和z軸上是解耦的,第i個(gè)無(wú)人機(jī)在空間坐標(biāo)系z(mì)軸方向上的運(yùn)動(dòng)學(xué)模型與步驟2中x軸方向上的運(yùn)動(dòng)學(xué)模型相同,重復(fù)步驟2至步驟7,得到無(wú)人機(jī)編隊(duì)系統(tǒng)在z軸上的故障診斷結(jié)果。
本發(fā)明所帶來(lái)的有益技術(shù)效果:
該方法中,每個(gè)無(wú)人機(jī)僅利用自身的輸出信號(hào)和與鄰居的相對(duì)狀態(tài)測(cè)量對(duì)所有殘差生成器的狀態(tài)進(jìn)行更新,在無(wú)人機(jī)之間的通訊受到定長(zhǎng)時(shí)延干擾下,仍然能夠使每個(gè)無(wú)人機(jī)實(shí)現(xiàn)自身和鄰居無(wú)人機(jī)的故障檢測(cè)和故障分離,即實(shí)現(xiàn)較為準(zhǔn)確的分布式故障診斷。
附圖說(shuō)明
圖1為本發(fā)明方法的流程圖。
圖2為實(shí)例1中三個(gè)四旋翼無(wú)人機(jī)編隊(duì)的通訊拓?fù)鋱D。
圖3為實(shí)施例1中三個(gè)四旋翼無(wú)人機(jī)編隊(duì)的飛行結(jié)果示意圖。
圖4為實(shí)施例1中四旋翼無(wú)人機(jī)1的故障檢測(cè)和分離結(jié)果示意圖。
圖5為實(shí)施例1中四旋翼無(wú)人機(jī)2的故障檢測(cè)和分離結(jié)果示意圖。
圖6為實(shí)施例1中四旋翼無(wú)人機(jī)3的故障檢測(cè)和分離結(jié)果示意圖。
具體實(shí)施方式
下面結(jié)合附圖以及具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明:
結(jié)合圖1至圖6,針對(duì)具有定長(zhǎng)通訊時(shí)延以及速度傳感器故障的無(wú)人機(jī)編隊(duì)系統(tǒng),提供一種時(shí)延無(wú)人機(jī)編隊(duì)系統(tǒng)的分布式速度傳感器故障診斷方法,下面針對(duì)由3架四旋翼無(wú)人機(jī)組成的編隊(duì)系統(tǒng),對(duì)本發(fā)明的故障診斷方法進(jìn)行說(shuō)明,其流程如圖1所示。
實(shí)施例1
步驟1:針對(duì)給定的無(wú)人機(jī)的通訊拓?fù)洌玫酵ㄓ嵧負(fù)鋮?shù)。計(jì)算通訊拓?fù)浜屠绽咕仃嚨奶卣髦?。針?duì)由3個(gè)無(wú)人機(jī)組成的編隊(duì)系統(tǒng),四旋翼無(wú)人機(jī)的通訊拓?fù)淙鐖D2所示。令g={v,e}為編隊(duì)系統(tǒng)的通訊拓?fù)?,且為無(wú)向聯(lián)通圖。其中,v={1,2,3}為通訊拓?fù)涔?jié)點(diǎn),每個(gè)通訊拓?fù)涔?jié)點(diǎn)代表一個(gè)無(wú)人機(jī)。e={(1,2),(2,3),(3,1)}為通訊拓?fù)涞倪?,每條邊代表了一對(duì)無(wú)人機(jī)之間的通訊。
令矩陣ag=[aij]為通訊拓?fù)涞泥徑泳仃?。如果?jié)點(diǎn)(i,j)∈e,稱(chēng)節(jié)點(diǎn)i和節(jié)點(diǎn)j互為鄰居,即節(jié)點(diǎn)i和節(jié)點(diǎn)j之間有通訊,則aij=aji=1,否則aij=aji=0。令ni為節(jié)點(diǎn)i的鄰居的集合。|ni|為集合ni中元素的個(gè)數(shù)。令矩陣dg=[dij]為通訊拓?fù)涞亩染仃?,度矩陣的非?duì)角線元素為零,對(duì)角線元素取值為
n1={2,3},n2={1,3},n3={1,2},|n1|=|n2|=|n3|=2。
步驟2:基于所述的通訊拓?fù)鋮?shù)、給定軌跡、編隊(duì)向量和預(yù)設(shè)條件,得到分布式編隊(duì)控制律。第i個(gè)無(wú)人機(jī)在空間坐標(biāo)系x軸方向上的開(kāi)環(huán)模型如下:
其中,i=1,2,3,
編隊(duì)系統(tǒng)的在x軸方向上的跟蹤軌跡為r(t)=43.5-0.5t(m)。編隊(duì)向量為d=[0m,-5m,-5m]t。在y軸和z軸方向上的跟蹤軌跡為常數(shù),本實(shí)例中的y軸和z軸方向上采用的控制律與x軸方向上類(lèi)似,在本發(fā)明中不作詳細(xì)說(shuō)明。本發(fā)明只針對(duì)x軸方向控制和故障診斷進(jìn)行詳細(xì)說(shuō)明。
第i個(gè)無(wú)人機(jī)的分布式控制律如下:
其中
根據(jù)預(yù)設(shè)條件,在實(shí)施例1中選擇控制律參數(shù)為k1=3,k2=0.17,k3=3,k4=0.37。編隊(duì)結(jié)果如圖3所示。圖3中第一個(gè)子圖為三架無(wú)人機(jī)編隊(duì)飛行軌跡,3個(gè)菱形分別代表3架無(wú)人機(jī),無(wú)人機(jī)之間的連線構(gòu)成的三角形代表編隊(duì),三條曲線代表無(wú)人機(jī)的飛行軌跡。第二個(gè)子圖代表3架無(wú)人機(jī)的編隊(duì)跟蹤誤差。由圖3可知,無(wú)故障時(shí),三角形編隊(duì)正常且編隊(duì)誤差較小,即控制律可以實(shí)現(xiàn)穩(wěn)定編隊(duì);故障發(fā)生后,隊(duì)形產(chǎn)生偏差且編隊(duì)誤差幅值顯著增大此時(shí)控制律雖然無(wú)法保證編隊(duì)誤差的收斂性,但是仍然可以使編隊(duì)誤差保持在一定范圍內(nèi)。
步驟3:基于編隊(duì)系統(tǒng)閉環(huán)模型和每個(gè)無(wú)人機(jī)與鄰居的相對(duì)狀態(tài)測(cè)量,設(shè)計(jì)分布式故障檢測(cè)殘差生成器和對(duì)應(yīng)的故障檢測(cè)殘差評(píng)價(jià)函數(shù),具體如下:
基于第i個(gè)無(wú)人機(jī)的開(kāi)環(huán)模型和分布式控制律,可得第i個(gè)無(wú)人機(jī)的閉環(huán)模型如下:
其中,
令x=[ξ1,ξ2,ξ3,ζ1,ζ2,ζ3]t,v=[v1,v2,v3]t,f=[f1,f2,f3]t。第i個(gè)無(wú)人機(jī)與鄰居的相對(duì)狀態(tài)觀測(cè)yi(t)的具體形式如下:
基于第i個(gè)無(wú)人機(jī)閉環(huán)動(dòng)態(tài)模型和yi(t),編隊(duì)系統(tǒng)的閉環(huán)模型如下:
其中,
在實(shí)施例1中,上述參數(shù)的取值具體如下:
基于編隊(duì)系統(tǒng)閉環(huán)模型,第i個(gè)無(wú)人機(jī)的分布式故障檢測(cè)殘差生成器設(shè)計(jì)如下:
其中,
在實(shí)例1中,基于第i個(gè)無(wú)人機(jī)的故障檢測(cè)殘差生成器,設(shè)計(jì)對(duì)應(yīng)的故障檢測(cè)殘差評(píng)價(jià)函數(shù)設(shè)計(jì)如下
其中,||ri0(t)||為ri0(t)的2范數(shù),i=1,2,3。
步驟4:基于編隊(duì)系統(tǒng)的閉環(huán)模型和每個(gè)無(wú)人機(jī)與鄰居的相對(duì)狀態(tài)測(cè)量,在每個(gè)無(wú)人機(jī)中,針對(duì)其所有鄰居設(shè)計(jì)一組分布式故障分離殘差生成器以及一組對(duì)應(yīng)的故障分離殘差評(píng)價(jià)函數(shù),具體如下:
在第i個(gè)無(wú)人機(jī)中,針對(duì)其第k個(gè)鄰居設(shè)計(jì)分布式故障分離殘差生成器,具體如下:
其中,k∈ni,
其中,
在實(shí)施例1中,所有的分布式故障分離殘差生成器的參數(shù)取值如下:
在實(shí)施例1中,基于每個(gè)無(wú)人機(jī)的每個(gè)分布式故障分離殘差生成器,設(shè)計(jì)對(duì)應(yīng)的故障分離殘差評(píng)價(jià)函數(shù)如下:
步驟5:基于每個(gè)無(wú)人機(jī)的開(kāi)環(huán)模型,設(shè)計(jì)分散式的故障分離殘差生成器以及對(duì)應(yīng)的故障分離殘差評(píng)價(jià)函數(shù);
第i個(gè)無(wú)人機(jī)的分散式故障分離殘差生成器的形式如下:
其中,
在實(shí)施例1中,利用極點(diǎn)配置方法,配置
在實(shí)施例1中,基于第i個(gè)無(wú)人的分散式故障分離殘差生成器,設(shè)計(jì)對(duì)應(yīng)的故障分離殘差評(píng)價(jià)函數(shù)如下:
步驟6:基于分布式故障檢測(cè)殘差評(píng)價(jià)函數(shù)和對(duì)應(yīng)的故障檢測(cè)閾值進(jìn)行故障檢測(cè),具體如下:
令
由圖4的第一個(gè)子圖可知,在655s左右,無(wú)人機(jī)1的分布式故障檢測(cè)殘差評(píng)價(jià)函數(shù)
由圖5的第一個(gè)子圖可知,在655s左右,無(wú)人機(jī)2的分布式故障檢測(cè)殘差評(píng)價(jià)函數(shù)
由圖6的第一個(gè)子圖可知,在655s左右,無(wú)人機(jī)3的分布式故障檢測(cè)殘差評(píng)價(jià)函數(shù)
步驟7:基于分布式故障分離殘差評(píng)價(jià)函數(shù)和對(duì)應(yīng)的故障分離閾值進(jìn)行故障分離。令
第i個(gè)無(wú)人機(jī)的故障分離邏輯如下:
如果
由圖4的第二個(gè)子圖可知,故障檢測(cè)結(jié)束后,無(wú)人機(jī)1的分散式故障分離殘差評(píng)價(jià)函數(shù)
由圖5的第二個(gè)子圖可知,故障檢測(cè)結(jié)束后,無(wú)人機(jī)2的分散式故障分離殘差評(píng)價(jià)函數(shù)
由圖6的第二個(gè)子圖可知,故障檢測(cè)結(jié)束后,無(wú)人機(jī)3的分散式故障分離殘差評(píng)價(jià)函數(shù)
步驟8:無(wú)人機(jī)的運(yùn)動(dòng)學(xué)模型在空間坐標(biāo)系x軸、y軸和z軸上是解耦的,第i個(gè)無(wú)人機(jī)在空間坐標(biāo)系y軸方向上的運(yùn)動(dòng)學(xué)模型與步驟2中x軸方向上的運(yùn)動(dòng)學(xué)模型相同,重復(fù)步驟2至步驟7,得到無(wú)人機(jī)編隊(duì)系統(tǒng)在y軸上的故障分析結(jié)果;
步驟9:無(wú)人機(jī)的運(yùn)動(dòng)學(xué)模型在空間坐標(biāo)系x軸、y軸和z軸上是解耦的,第i個(gè)無(wú)人機(jī)在空間坐標(biāo)系z(mì)軸方向上的運(yùn)動(dòng)學(xué)模型與步驟2中x軸方向上的運(yùn)動(dòng)學(xué)模型相同,重復(fù)步驟2至步驟7,得到無(wú)人機(jī)編隊(duì)系統(tǒng)在z軸上的故障分析結(jié)果。
當(dāng)然,上述說(shuō)明并非是對(duì)本發(fā)明的限制,本發(fā)明也并不僅限于上述舉例,本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明的實(shí)質(zhì)范圍內(nèi)所做出的變化、改型、添加或替換,也應(yīng)屬于本發(fā)明的保護(hù)范圍。