本發(fā)明涉及一種四旋翼無人機(jī)容錯控制問題。針對四旋翼無人機(jī)執(zhí)行器發(fā)生失效故障時的姿態(tài)控制問題,提出一種基于浸入-不變集觀測器技術(shù)的非線性自適應(yīng)容錯控制方法。
背景技術(shù):
四旋翼無人機(jī)依靠四個電機(jī)的轉(zhuǎn)動帶動螺旋槳旋轉(zhuǎn)產(chǎn)生升力,通過改變不同電機(jī)的轉(zhuǎn)速實現(xiàn)俯仰、滾轉(zhuǎn)、偏航等動作。受飛行器控制穩(wěn)定性及自身工藝影響,電機(jī)和螺旋槳的持續(xù)高速旋轉(zhuǎn)使其發(fā)生故障的概率大大提高。此外,在飛行器飛行過程中會不可避免地受到外界干擾(如障礙物撞擊、雨水強(qiáng)風(fēng)、強(qiáng)氣流等)、飛行器自身氣動特性發(fā)生強(qiáng)烈變化等諸多不確定因素,這些都直接關(guān)系到飛行器飛行性能和安全性能。由于多旋翼飛行器是一個具有強(qiáng)耦合特性的典型非線性系統(tǒng),一旦發(fā)生上述故障,飛行穩(wěn)定性就會急劇下降,甚至導(dǎo)致飛行器失控,對飛行器本身及地面人員造成極大的傷害。因此,在飛行器飛行控制中加入容錯控制模塊以保證飛行器安全穩(wěn)定的飛行顯得尤為重要。如何保證多旋翼飛行器在發(fā)生故障的情況下仍能得到有效控制,正成為多旋翼飛行器研究領(lǐng)域的一個熱點問題。
針對四旋翼無人機(jī)執(zhí)行器發(fā)生故障時的姿態(tài)控制問題,目前采用較為廣泛的容錯控制策略大體可分為兩類:被動容錯和主動容錯。被動容錯利用控制器的魯棒性使得控制器對故障信息不敏感,從而達(dá)到容錯控制的目的;而主動容錯則通過故障診斷與故障隔離能夠在線檢測并分離出所發(fā)生故障,再根據(jù)故障模式進(jìn)行故障重構(gòu),以此達(dá)到容錯控制目的。
對于上述兩種容錯控制策略,國內(nèi)外很多研究單位,如麻省理工學(xué)院、瑞士聯(lián)邦理工大學(xué)、康考迪亞大學(xué)、南京航空航天大學(xué)、北京航空航天大學(xué)等,基于多種線性或非線性控制方法開展了相關(guān)研究,如變增益PID、反步法、滑??刂?、模型參考自適應(yīng)、模型預(yù)測控制等方法,并且對這些方法的控制效果具有數(shù)值仿真或?qū)嶋H飛行實驗的驗證(書籍:Automatic Flight Control Systems-Latest Development;著者:Youmin Zhang,Annas Chamseddine;出版年月:2012年;文章題目:Fault Tolerant and Flight Control Techniques with application to a Quadrotor UAV Testbed;頁碼:119–150)。
但是,當(dāng)前各種容錯控制方法均有其各自的局限性。比如:在對執(zhí)行器故障進(jìn)行動力學(xué)建模時,將其視為外部擾動力矩,進(jìn)行了較大程度的近似,難以反映執(zhí)行器故障對無人機(jī)的真實影響(期刊:控制理論與應(yīng)用;著者:楊薈憭,姜斌,張柯;出版年月:2014年;文章題目:四旋翼直升機(jī)姿態(tài)系統(tǒng)的直接自我修復(fù)控制;頁碼:1053-1060);部分容錯控制方法在平衡點處對四旋翼無人機(jī)的動力學(xué)模型進(jìn)行了線性化處理,理論證明只能得到平衡點附近的穩(wěn)定結(jié)論,當(dāng)執(zhí)行器發(fā)生故障時,飛行器姿態(tài)會發(fā)生突變,且多數(shù)情況下飛行器姿態(tài)會偏離平衡點較大位置,控制器應(yīng)用范圍難以保證(期刊:IEEE Transactions on Control Systems Technology;著者:Z.T.Dydek,A.M.Annaswamy,E.Lavretsky;出版年月:2013年7月;文章題目:Adaptive Control of Quadrotor UAVs:a Design Trade Study with Flight Evaluations;頁碼:1400–1406);被動容錯方法應(yīng)用范圍有限,難以做到對外界擾動和執(zhí)行器故障魯棒性的兼容性,控制效果較差,而主動容錯控制方法則需要進(jìn)行故障診斷和故障隔離,并在此基礎(chǔ)上進(jìn)行故障重構(gòu),算法復(fù)雜,難以實現(xiàn)工程應(yīng)用(期刊:Proceedings of the Institution of Mechanical Engineers,Part I,Journal of Systems and Control Engineering;著者:T.Li,Y.M.Zhang,B.W.Gordon;出版年月:2012年1月;文章題目:Passive and Active Nonlinear Fault-Tolerant Control of a Quadrotor UAV Based on Sliding Mode Control Technique;頁碼:12-23)。
技術(shù)實現(xiàn)要素:
為克服現(xiàn)有技術(shù)的不足,實現(xiàn)四旋翼無人機(jī)執(zhí)行器故障情況下的姿態(tài)穩(wěn)定。本發(fā)明采用的技術(shù)方案是,基于觀測器的四旋翼無人機(jī)容錯控制方法,步驟如下:首先定義慣性坐標(biāo)系{I}、機(jī)體坐標(biāo)系{B}和目標(biāo)坐標(biāo)系{Bd},通過分析執(zhí)行器對四旋翼無人機(jī)的作用原理,用未知對角矩陣表示執(zhí)行器故障對其動力學(xué)特性的影響,得到四旋翼無人機(jī)執(zhí)行器發(fā)生故障時的非線性動力學(xué)模型:
式(1)中各變量定義如下:ω=[ω1 ω2 ω3]T∈R3×1表示機(jī)體坐標(biāo)系{B}相對于慣性坐標(biāo)系{I}的姿態(tài)角速度,ω1,ω2,ω3分別表示滾轉(zhuǎn)角速度、俯仰角速度和偏航角速度,[·]T表示矩陣的轉(zhuǎn)置,∈表示集合間的“屬于”關(guān)系,R3×1表示3行1列的實數(shù)向量,表示求取ω的一階時間導(dǎo)數(shù),下同;J∈R3×3為轉(zhuǎn)動慣量,S(ω)表示求取ω對應(yīng)的反對稱矩陣,L∈R3×4為與機(jī)身長度和反扭矩系數(shù)相關(guān)的常系數(shù)矩陣,F(xiàn)=diag{[f1 f2 f3 f4]T}∈R4×4表示升力矩陣,f1,f2,f3,f4分別表示四個電機(jī)產(chǎn)生的升力,diag{[f1 f2 f3 f4]T}表示向量[f1 f2f3 f4]張成的對角矩陣,λ=[λ1 λ2 λ3 λ4]T∈R4×1表示故障向量,λi=1,i=1,2,3,4表示第i個通道執(zhí)行器正常,λi≠1,i=1,2,3,4表示第i個通道執(zhí)行器發(fā)生故障,假設(shè)執(zhí)行器故障為常增益型故障,因此故障向量λ滿足:
為避免姿態(tài)表示奇異性問題,采用基于單位四元數(shù)的姿態(tài)表示方法,機(jī)體坐標(biāo)系{B}在慣性坐標(biāo)系{I}下的表達(dá)用“等效軸角坐標(biāo)系”方法,將{B}和{I}重合,將{B}繞矢量k∈R3×1按右手定則旋轉(zhuǎn)角,得到當(dāng)前姿態(tài)單位四元數(shù)其中且滿足k∈R3×1為定義在坐標(biāo)系{I}中的任意單位矢量,為坐標(biāo)系{B}繞矢量k旋轉(zhuǎn)的任意角度;由機(jī)體坐標(biāo)系{B}到慣性坐標(biāo)系{I}的坐標(biāo)變換矩陣用四元數(shù)表示為I3為3×3的單位矩陣,下同,S(qv)表示求取qv對應(yīng)的反對稱矩陣,同理,目標(biāo)坐標(biāo)系{Bd}在慣性坐標(biāo)系{I}下的表達(dá)也可以用“等效軸角坐標(biāo)系”方法,將{Bd}和{I}重合,將{Bd}繞矢量kd∈R3×1按右手定則旋轉(zhuǎn)角,得到目標(biāo)姿態(tài)單位四元數(shù)其中且滿足kd∈R3×1為定義在坐標(biāo)系{I}中的任意單位矢量,為坐標(biāo)系{Bd}繞矢量kd旋轉(zhuǎn)的任意角度;由目標(biāo)坐標(biāo)系{Bd}到慣性坐標(biāo)系{I}的坐標(biāo)變換矩陣用四元數(shù)表示為S(qvd)表示求取qvd對應(yīng)的反對稱矩陣,為了描述四旋翼無人機(jī)當(dāng)前姿態(tài)與目標(biāo)姿態(tài)之間的差異,定義姿態(tài)誤差四元數(shù)
其中e0和ev同樣滿足由目標(biāo)坐標(biāo)系{Bd}到機(jī)體坐標(biāo)系{B}的坐標(biāo)變換矩陣示為S(ev)表示求取ev對應(yīng)的反對稱矩陣;
為了對四旋翼無人機(jī)執(zhí)行器故障進(jìn)行更有針對性的容錯控制,采用基于浸入-不變集方法的觀測器技術(shù)對執(zhí)行器進(jìn)行觀測,定義觀測器為:
其中ξ∈R4為觀測器狀態(tài),表示求取ξ的一階時間導(dǎo)數(shù),R3×R3×R3×R3×R4→R4為待求函數(shù),為方便表示,用X代替ωd,eq,表示求取對ω的偏導(dǎo)數(shù),表示求取對的偏導(dǎo)數(shù),表示求取對X的偏導(dǎo)數(shù),J-1表示J的逆矩陣,表示求取的一階時間導(dǎo)數(shù),表示求取X的一階時間導(dǎo)數(shù),表示對λ的估計向量,表示對ω的估計值,且滿足:
其中為正增益函數(shù),定義故障觀測誤差為z∈R4:
其中r∈R為動態(tài)增益,對z求一階時間導(dǎo)數(shù),得
假設(shè)存在正常數(shù)γ和連續(xù)可微矩陣:利用分別表示的列向量,使得
定義其中W1,W2,W3分別為:
其中表示相對于σ從0到ω1的定積分,下同,式(8)中分別為:
其中表示在ω1=σ,時的取值,對W1求ω1的偏導(dǎo)數(shù),整理得
其中表示求取對ω1的偏導(dǎo)數(shù),同理可得,因此寫為:
定義ω的估計誤差為:由于連續(xù)可微,因此存在δij∈R4,i,j=1,2,3滿足:
因此寫為:
其中表示求取eω1Δ1+eω2Δ2+eω3Δ3的和,Δj=[δ1j δ2j δ3j]∈R4×3,δjj=0,j=1,2,3,將式(15)代入式(7),整理得
對eω求一階時間導(dǎo)數(shù),整理得
設(shè)計r,分別滿足:
其中,r(0)表示r的初值,c,m,p均為正常數(shù),且滿足c≥3/(2γ),表示Δj的上界,||·||表示2范數(shù),I3為3×3的單位矩陣,為3×3的對角矩陣,若式(16)和式(17)成立,則由式(16)和式(17)組成的系統(tǒng)有一個全局穩(wěn)定的平衡點(z,eω)=(0,0),且z,r,eω均有界。
由式(16)和式(17)組成的系統(tǒng)有一個全局穩(wěn)定的平衡點(z,eω)=(0,0),且z(t),r(t),eω(t)均有界的證明步驟是采用基于Lyapunov的分析方法進(jìn)行證明,具體地:
定義滑模面其中Ks為一3×3的正常數(shù)增益對角矩陣,證明當(dāng)s漸近收斂到0時,和ev也漸近收斂到0的過程是:
對s求導(dǎo),并將代入得
其中:
rLFz是有界的,因此假設(shè)||-rLFz||≤ρ,ρ為正常數(shù),設(shè)計控制輸入F為
其中LR=LT(LLT)-1表示矩陣L的偽逆矩陣,Γ為一3×3的正常數(shù)增益對角矩陣,sign為符號函數(shù),將式(19)代入式(18),采用基于Lyapunov的分析方法可以證明閉環(huán)系統(tǒng)全局漸近穩(wěn)定,即當(dāng)時間趨于無窮時,滑模面s漸近收斂到0,則和ev也漸近收斂到0。
本發(fā)明的特點及有益效果是:
本發(fā)明采用基于觀測器技術(shù)的方法針對四旋翼無人機(jī)執(zhí)行器故障的容錯控制進(jìn)行研究。該方法既能對故障信息進(jìn)行有效估計,進(jìn)行很好的抑制,又不需要主動容錯控制所需要的故障隔離,大大地減少了計算量,提高的控制效率。實驗表明,該方法對四旋翼無人機(jī)執(zhí)行器故障具有較好的魯棒性,當(dāng)四旋翼無人機(jī)執(zhí)行器發(fā)生故障時,無人機(jī)能夠迅速克服故障影響,保持姿態(tài)穩(wěn)定。
附圖說明:
圖1是本發(fā)明所用實驗平臺。
圖2是容錯控制實驗效果圖,圖中:
a是歐拉角形式的姿態(tài)角變化曲線;
b是姿態(tài)誤差四元數(shù)變化曲線;
c是角速度誤差變化曲線;
d是控制輸入變化曲線;
e是電機(jī)轉(zhuǎn)速變化曲線;
f是角速度估計誤差變化曲線;
g是故障估計變化曲線;
h是故障估計誤差變化曲線。
具體實施方式
可實現(xiàn)四旋翼無人機(jī)執(zhí)行器發(fā)生故障時的姿態(tài)控制,包括下列步驟:
為了進(jìn)行四旋翼無人機(jī)動力學(xué)和運(yùn)動學(xué)特性分析,首先定義慣性坐標(biāo)系{I}、機(jī)體坐標(biāo)系{B}和目標(biāo)坐標(biāo)系{Bd}。通過分析執(zhí)行器對四旋翼無人機(jī)的作用原理,用未知對角矩陣表示執(zhí)行器故障對其動力學(xué)特性的影響,得到四旋翼無人機(jī)執(zhí)行器發(fā)生故障時的非線性動力學(xué)模型:
式(1)中各變量定義如下:ω=[ω1 ω2 ω3]T∈R3×1表示機(jī)體坐標(biāo)系{B}相對于慣性坐標(biāo)系{I}的姿態(tài)角速度,ω1,ω2,ω3分別表示滾轉(zhuǎn)角速度、俯仰角速度和偏航角速度,[·]T表示矩陣的轉(zhuǎn)置,∈表示集合間的“屬于”關(guān)系,R3×1表示3行1列的實數(shù)向量,表示求取ω的一階時間導(dǎo)數(shù),下同;J∈R3×3為轉(zhuǎn)動慣量,S(ω)表示求取ω對應(yīng)的反對稱矩陣,L∈R3×4為與機(jī)身長度和反扭矩系數(shù)相關(guān)的常系數(shù)矩陣,F(xiàn)=diag{[f1 f2 f3 f4]T}∈R4×4表示升力矩陣,f1,f2,f3,f4分別表示四個電機(jī)產(chǎn)生的升力,diag{[f1 f2 f3 f4]T}表示向量[f1 f2f3 f4]張成的對角矩陣,λ=[λ1 λ2 λ3 λ4]T∈R4×1表示故障向量,λi=1,i=1,2,3,4表示第i個通道執(zhí)行器正常,λi≠1,i=1,2,3,4表示第i個通道執(zhí)行器發(fā)生故障,假設(shè)執(zhí)行器故障為常增益型故障,因此故障向量λ滿足:
為避免姿態(tài)表示奇異性問題,采用基于單位四元數(shù)的姿態(tài)表示方法,機(jī)體坐標(biāo)系{B}在慣性坐標(biāo)系{I}下的表達(dá)用“等效軸角坐標(biāo)系”方法,將{B}和{I}重合,將{B}繞矢量k∈R3×1按右手定則旋轉(zhuǎn)角,得到當(dāng)前姿態(tài)單位四元數(shù)其中且滿足k∈R3×1為定義在坐標(biāo)系{I}中的任意單位矢量,為坐標(biāo)系{B}繞矢量k旋轉(zhuǎn)的任意角度;由機(jī)體坐標(biāo)系{B}到慣性坐標(biāo)系{I}的坐標(biāo)變換矩陣用四元數(shù)表示為I3為3×3的單位矩陣,下同,S(qv)表示求取qv對應(yīng)的反對稱矩陣,同理,目標(biāo)坐標(biāo)系{Bd}在慣性坐標(biāo)系{I}下的表達(dá)也可以用“等效軸角坐標(biāo)系”方法,將{Bd}和{I}重合,將{Bd}繞矢量kd∈R3×1按右手定則旋轉(zhuǎn)角,得到目標(biāo)姿態(tài)單位四元數(shù)其中且滿足kd∈R3×1同樣為定義在坐標(biāo)系{I}中的任意單位矢量,為坐標(biāo)系{Bd}繞矢量kd旋轉(zhuǎn)的任意角度;由目標(biāo)坐標(biāo)系{Bd}到慣性坐標(biāo)系{I}的坐標(biāo)變換矩陣用四元數(shù)表示為S(qvd)表示求取qvd對應(yīng)的反對稱矩陣。為了描述四旋翼無人機(jī)當(dāng)前姿態(tài)與目標(biāo)姿態(tài)之間的差異,定義姿態(tài)誤差四元數(shù)
其中e0和ev同樣滿足由目標(biāo)坐標(biāo)系{Bd}到機(jī)體坐標(biāo)系{B}的坐標(biāo)變換矩陣可表示為S(ev)表示求取ev對應(yīng)的反對稱矩陣。
為了對四旋翼無人機(jī)執(zhí)行器故障進(jìn)行更有針對性的容錯控制,采用基于浸入-不變集方法的觀測器技術(shù)對執(zhí)行器進(jìn)行觀測,定義觀測器為:
其中ξ∈R4為觀測器狀態(tài),表示求取ξ的一階時間導(dǎo)數(shù),R3×R3×R3×R3×R4→R4為待求函數(shù),為方便表示,用X代替ωd,eq。表示求取對ω的偏導(dǎo)數(shù),表示求取對的偏導(dǎo)數(shù),表示求取對X的偏導(dǎo)數(shù),J-1表示J的逆矩陣,表示求取的一階時間導(dǎo)數(shù),表示求取X的一階時間導(dǎo)數(shù),表示對λ的估計向量,表示對ω的估計值,且滿足:
其中為正增益函數(shù),定義故障觀測誤差為z∈R4:
其中r∈R為動態(tài)增益。對z求一階時間導(dǎo)數(shù),得
假設(shè)存在正常數(shù)γ和連續(xù)可微矩陣:利用分別表示的列向量,使得
定義其中W1,W2,W3分別為:
其中表示相對于σ從0到ω1的定積分,下同。式(8)中分別為:
其中表示在ω1=σ,時的取值,下同。對W1求ω1的偏導(dǎo)數(shù),整理得
其中表示求取對ω1的偏導(dǎo)數(shù),下同。同理可得,因此寫為:
定義ω的估計誤差為:由于連續(xù)可微,因此存在δij∈R4,i,j=1,2,3滿足:
因此寫為:
其中表示求取eω1Δ1+eω2Δ2+eω3Δ3的和,Δj=[δ1j δ2jδ3j]∈R4×3,δjj=0,j=1,2,3,將式(15)代入式(7),整理得
對eω求一階時間導(dǎo)數(shù),整理得
設(shè)計r,分別滿足:
其中,r(0)表示r的初值,c,m,p均為正常數(shù),且滿足c≥3/(2γ),表示Δj的上界,||·||表示2范數(shù),I3為3×3的單位矩陣,為3×3的對角矩陣,若式(16)和式(17)成立,則由式(16)和式(17)組成的系統(tǒng)有一個全局穩(wěn)定的平衡點(z,eω)=(0,0),且z,r,eω均有界。該結(jié)論可采用基于Lyapunov的分析方法進(jìn)行證明。
定義滑模面其中Ks為一3×3的常數(shù)增益對角矩陣。可以證明,當(dāng)s漸近收斂到0時,和ev也漸近收斂到0。
對s求導(dǎo),并將代入可得
其中可以證明rLFz是有界的,因此假設(shè)||-rLFz||≤ρ,ρ為正常數(shù)。設(shè)計控制輸入F為
其中LR=LT(LLT)-1表示矩陣L的偽逆矩陣,Γ為一3×3的常數(shù)增益對角矩陣,sign為符號函數(shù)。將式(19)代入式(18),采用基于Lyapunov的分析方法可以證明閉環(huán)系統(tǒng)全局漸近穩(wěn)定,即當(dāng)時間趨于無窮時,滑模面s漸近收斂到0,則和ev也漸近收斂到0。
為驗證本發(fā)明所設(shè)計容錯控制方法的有效性,利用課題組自主研發(fā)的四旋翼無人機(jī)平臺進(jìn)行了實驗驗證。下面結(jié)合實驗和附圖對本發(fā)明針對四旋翼無人機(jī)執(zhí)行器故障的容錯控制方法作出詳細(xì)說明。
本發(fā)明針對四旋翼無人機(jī)執(zhí)行器發(fā)生故障時的姿態(tài)控制問題,基于浸入-不變集方法設(shè)計了觀測器對執(zhí)行器故障進(jìn)行觀測,然后根據(jù)觀測結(jié)果設(shè)計了滑??刂破鲗收线M(jìn)行補(bǔ)償,實現(xiàn)了四旋翼無人機(jī)執(zhí)行器故障情況下的姿態(tài)穩(wěn)定。
一、實驗平臺簡介
實驗平臺如圖1所示。該實驗平臺采用PC/104嵌入式計算機(jī)作為仿真控制器,基于Matlab RTW工具箱的xPC目標(biāo)作為實時仿真環(huán)境,采用自主設(shè)計的慣性測量單元作為姿態(tài)傳感器,俯仰角、滾轉(zhuǎn)角測量精度為±0.2°。偏航角測量精度為±0.5°。整個系統(tǒng)控制頻率為500Hz。
二、容錯控制實驗
本發(fā)明所采用方法中涉及的各參數(shù)取值如下:J=diag{[1.25 1.25 2.5]T}kg·m2,l=0.225m,ε=0.25,c=2.5,γ=1,p=1,m=50,Ks=diag{[2. 22.5 4]T},ρ=0.40,Γ=diag{[1.86 1.86 3.05]T}。初始姿態(tài)角和角速度分別為qd=[1 0 0 0]T,ωd=[0 0 0]Trad/s。保持上述各參數(shù)不變,令故障矩陣為:
即在前80s(‘s’為秒,下同),四旋翼無人機(jī)四個電機(jī)正常運(yùn)行。在第80s時,第3個電機(jī)只能提供正常升力的90%。在第125s時,第2個電機(jī)只能提供正常升力的80%。實驗結(jié)果分別如圖2(a)、圖2(b)、圖2(c)、圖2(d)、圖2(e)、圖2(f)、圖2(g)、圖2(h)所示。圖2(a)和圖2(b)表示姿態(tài)變化曲線,分別用歐拉角和四元數(shù)表示,在第80s,第三個電機(jī)發(fā)生故障,滾轉(zhuǎn)角和俯仰角發(fā)生8°左右的波動而偏航角為3°。在第125s,第二個電機(jī)發(fā)生了更為劇烈的故障,此時滾轉(zhuǎn)角變化約為12°,俯仰角為20°,偏航角為4°。故障發(fā)生后,姿態(tài)誤差均在5s之內(nèi)迅速收斂到0。圖2(c)為角速度誤差的變化曲線,故障發(fā)生后,其在2s之內(nèi)迅速收斂到0。圖2(d)和圖2(e)分別表示控制輸入曲線變化和電機(jī)轉(zhuǎn)速變化曲線,均在合理變化范圍內(nèi)。圖2(f)表示角速度估計誤差曲線,故障發(fā)生后迅速收斂到0。圖2(g)和圖2(h)分別表示對故障的估計值和估計誤差的變化曲線,均為穩(wěn)定狀態(tài),與理論計算結(jié)果相符。
經(jīng)過上述分析,證明了本發(fā)明所提算法的有效性。