徐雪松,倪 赟,吳儀政
(華東交通大學(xué)電氣與自動化工程學(xué)院,南昌 330013)
多旋翼無人機具有體積小、運行維護成本低、機械結(jié)構(gòu)簡單等諸多優(yōu)點,近年來被廣泛應(yīng)用于軍事及民用領(lǐng)域。無人機在軍事領(lǐng)域主要用于遠距離偵察;在民用領(lǐng)域主要用于航拍、森林火情監(jiān)測、替代人力進行電力線路巡檢、攜帶設(shè)備進行科研工作等等。隨著無人機運用范圍的擴展,其工作環(huán)境也變得更為復(fù)雜多樣,尤其是在一些環(huán)境惡劣的地區(qū),發(fā)生故障的概率大大增加,嚴(yán)重時可能會造成無人機及其攜帶設(shè)備的墜毀,造成不必要的經(jīng)濟損失。因此,在無人機發(fā)生故障時如何保持穩(wěn)定飛行和安全降落成為國內(nèi)外專家學(xué)者重點研究方向。
相比四旋翼無人機,六旋翼無人機存在結(jié)構(gòu)冗余,為單個電機故障下的容錯控制提供了機械基礎(chǔ)。文獻[6]針對電機故障采取將故障電機及對角電機關(guān)閉的極端處理方式,這種處理方式將無人機的負載能力降低了三分之一。文獻[7]針對執(zhí)行器故障設(shè)計了參考模型與加權(quán)偽逆分配相結(jié)合的控制器,能實現(xiàn)多個電機同時故障下的容錯控制,但是沒有考慮到偽逆法處理故障下電機轉(zhuǎn)速分配,存在超出電機約束上限問題。
以上提出的容錯控制方案都是針對標(biāo)準(zhǔn)旋翼轉(zhuǎn)向布局的無人機,但近年來有研究表明,該類無人機在容錯可行性方面存在一定的缺陷。文獻[8]通過構(gòu)造可達控制集,提出評估多旋翼無人機在電機故障下的靜態(tài)可控性方法,表明了旋翼轉(zhuǎn)向布局對容錯性能有很大的影響,標(biāo)準(zhǔn)旋翼布局的無人機在單個電機故障情況下會喪失對偏航的控制。文獻[9]提出了可用控制權(quán)限索引(ACAI)來量化無人機的可控性,通過計算和理論分析得出無人機在電機故障下的可控性,結(jié)果表明,一種新型旋翼轉(zhuǎn)向布局(PPNNPN)的無人機在其中4 個電機分別發(fā)生故障時依然能保持良好的可控性。
基于上述分析,本文以PPNNPN 型六旋翼無人機為研究對象,解決電機轉(zhuǎn)速存在上下限約束時,單個執(zhí)行器發(fā)生完全失效故障下的穩(wěn)定控制問題。
本文利用迭代修正算法克服偽逆算法無法解決電機轉(zhuǎn)速限制的缺陷,并利用交互多模型算法實現(xiàn)對應(yīng)控制效率矩陣的調(diào)用,通過在線調(diào)整剩余電機的輸出,實現(xiàn)容錯飛行。
圖1 為PPNNPN 型六旋翼無人機簡化結(jié)構(gòu)示意圖,1 號和2 號電機順時針旋轉(zhuǎn),3 號和4 號電機逆時針旋轉(zhuǎn),5 號和6 號電機分別為順時針旋轉(zhuǎn)和逆時針旋轉(zhuǎn)。
圖1 六旋翼無人機簡化結(jié)構(gòu)示意圖
根據(jù)牛頓歐拉方程建立無人機的數(shù)學(xué)模型:
式中,B 為控制效率矩陣,與無人機的結(jié)構(gòu)有關(guān);ω表示第i 號電機轉(zhuǎn)速,其上下限為ω和ω。
本文的研究對象為“十字型”PPNNPN 六旋翼無人機在單個電機完全卡死或螺旋槳完全斷裂等極端故障下的容錯控制,表現(xiàn)為故障執(zhí)行器的升力和力矩輸出為0,為了方便研究,故障的影響通過控制效率矩陣表示??紤]引入故障系數(shù)η,控制效率矩陣可以表示為:
式中,c表示升力系數(shù);c表示拖拽系數(shù);d 為電機到無人機質(zhì)心距離;η∈[0,1](i=1,2,…,6),當(dāng)η=0 表示i 號執(zhí)行器發(fā)生完全失效故障,η=1 表示執(zhí)行器正常工作。其控制效率矩陣包括7 種,分別為6種不同故障和1 種正常工作情況。
無人機執(zhí)行器主要由無刷直流電機、螺旋槳以及電調(diào)組成,其被控過程為無人機在收到虛擬控制指令后,通過控制分配矩陣解算出各個旋翼轉(zhuǎn)速的大小,隨后通過電調(diào)輸出占空比為σ 的PWM 信號,無刷電機在接收到PWM 信號后輸出相應(yīng)的轉(zhuǎn)速進而實現(xiàn)無人機姿態(tài)控制和垂直起降。電機的一階慣性環(huán)節(jié)的傳遞函數(shù)可以表示成:
式中,ω表示第i 號電機的瞬時轉(zhuǎn)速,T 表示電機的慣性時間常數(shù),ω表示第i 號電機的穩(wěn)態(tài)轉(zhuǎn)速。穩(wěn)態(tài)轉(zhuǎn)速與電調(diào)輸出的PWM 信號滿足如下線性關(guān)系:
式中,C為PWM 信號與轉(zhuǎn)速的比例系數(shù)。
針對容錯控制器,采用分層設(shè)計結(jié)構(gòu),包括基本控制律和控制分配律。PID 控制器設(shè)計簡單,算法成熟,被廣泛應(yīng)用于飛控。因此,將文獻[11]中的串級PID 控制算法作為本文的基本控制律。
在無人機的轉(zhuǎn)速分配問題中,主要是對式(2)進行求解,通常是運用偽逆法,這種方法能很好的解決無故障時的飛行控制,但是當(dāng)發(fā)生故障時,無人機的控制分配還要受到電機轉(zhuǎn)速上限的約束,此時,利用偽逆法會出現(xiàn)在約束范圍內(nèi)無解的情況。針對這一問題,本文在利用偽逆法進行初步求解的基礎(chǔ)上,對超出電機轉(zhuǎn)速約束的解進行修正,使得分配結(jié)果既滿足范數(shù)最優(yōu)同時又滿足執(zhí)行器約束。具體修正步驟如下:
Step 1:采用偽逆法對式(2)進行初步求解:
Step 2:對式(8)中的每個電機轉(zhuǎn)速ω進行判斷,若滿足式(4),則不進行處理;若超出約束范圍,則令超出約束的解為ω=ω或ω=ω,在約束范圍內(nèi)的解保持不變;
至此,通過最大化剩余正常電機的利用率解決了部分電機轉(zhuǎn)速超出約束的問題。
交互多模型(Interacting Multiple Model,IMM)算法能夠?qū)Χ鄠€模型同時濾波,并能對各個模型的概率進行調(diào)整,具有準(zhǔn)確性高、速度快等優(yōu)點,被廣泛應(yīng)用于機動目標(biāo)的定位跟蹤,但在故障診斷方面應(yīng)用較少??紤]到故障診斷的準(zhǔn)確性和快速性是容錯控制的前提,而六旋翼無人機的故障模型較多,通過觀測器進行故障診斷與定位消耗時間較長,因此,本文考慮將IMM 算法運用于故障診斷。與IMM 算法在目標(biāo)跟蹤問題的應(yīng)用不同,本文設(shè)計了一個故障檢測閾值,通過判斷各模型的概率是否大于設(shè)定的故障檢測閾值來確定故障的位置。圖2為IMM 算法應(yīng)用于故障檢測的原理圖:
圖2 IMM 故障診斷原理圖
IMM 算法每次循環(huán)包含以下4 個步驟:輸入交互,并行濾波,模型概率更新和融合輸出。具體步驟如下:
Step 1:建立模型集
其中,U為控制輸入量,w,v為過程噪聲和觀測噪聲,均為零均值和協(xié)方差為Q 和R 的高斯白噪聲。
對式(9)線性化,得到系統(tǒng)離散線性狀態(tài)方程:
Step 2:輸入交互
在進行濾波前,先設(shè)計模型概率轉(zhuǎn)移矩陣P,矩陣元素P表示第i(i=1,2,…,7)個模型到第j(j=1,2,…,7)個模型的概率。輸入交互設(shè)計如下:
k 至k+1 時刻的預(yù)測模型概率:
k 時刻模型i 到j(luò) 的混合概率:
k 時刻的混合狀態(tài)估計:
k 時刻的混合協(xié)方差:
Step 3:模型并行濾波
k 至k+1 時刻的預(yù)測狀態(tài):
k 至k+1 時刻的預(yù)測協(xié)方差:
k+1 時刻的測量殘差:
k+1 時刻的殘差協(xié)方差:
濾波增益:
k+1 時刻的狀態(tài)更新:
k+1 時刻的協(xié)方差更新:
Step 4:模型概率更新
似然函數(shù):
模型概率:
Step 5:交互輸出
總的狀態(tài)估計:
總的協(xié)方差:
Step 6:故障診斷結(jié)果
判斷模型概率向量中最大值與故障檢測閾值μ的關(guān)系:
為了驗證設(shè)計的容錯控制策略的有效性,在MATLAB/Simulink 環(huán)境中建立模型并進行數(shù)值模擬仿真。無人機模型仿真參數(shù)選取如下:
表1 六旋翼無人機參數(shù)
本文研究的PPNNPN 型六旋翼無人機在1、2、3、4 號執(zhí)行器分別發(fā)生故障時,能實現(xiàn)姿態(tài)完全可控,而對于5、6 號執(zhí)行器故障,通過舍棄偏航實現(xiàn)容錯控制,因此,本文分別對兩種情況進行仿真。
針對不完全可控情況,本文舍棄對偏航方向的控制,以犧牲部分性能為代價,通過控制滾轉(zhuǎn)和偏航角使無人機能夠穩(wěn)定降落,以5 號電機為例,進行仿真實驗。設(shè)定無人機懸停在離地面高度為3 m處,在第20 s 時,令5 號電機故障,并在第40 s 時發(fā)出降落指令。
圖3 3 號電機故障診斷結(jié)果
圖4 3 號電機故障時的姿態(tài)控制
圖5 3 號電機故障時的轉(zhuǎn)速分配
圖6 5 號電機故障診斷結(jié)果
圖7 5 號電機故障時的姿態(tài)控制
圖8 5 號電機故障下的轉(zhuǎn)速分配
為了充分說明本文算法的有效性,在3 號電機故障時分別運用偽逆法和本文的迭代修正法進行仿真。圖3 表示3 號電機故障時,本文算法和偽逆法分別作為控制分配算法時,交互多模型故障診斷結(jié)果,數(shù)字7 表示正常運行,數(shù)字6 表示6 號電機故障,以此類推。可以看出,在前20 s 無人機處于無故障狀態(tài),偽逆法和本文算法都能很好地處理無人機控制問題,因此,運用兩種算法進行控制分配時診斷出故障的時間相同,均為20.5 s,并且本文算法能在30.4 s 時準(zhǔn)確診斷出無人機恢復(fù)正常,而偽逆分配法則出現(xiàn)了誤診斷的情況,這是因為在故障時,偽逆法無法解決控制分配問題,無人機失控導(dǎo)致狀態(tài)變化大影響故障診斷效果。圖4 為3 號電機故障下,分別運用本文算法和偽逆法時,無人機對于期望姿態(tài)的跟蹤情況,由圖4 可以看出,無人機姿態(tài)跟蹤過程存在一定的波動,這是由于外界干擾導(dǎo)致的;在前20 s,兩種算法都能很好地跟蹤期望姿態(tài),但是當(dāng)發(fā)生故障時,本文算法能夠快速調(diào)整無人機姿態(tài),使飛行保持穩(wěn)定,而偽逆法則出現(xiàn)了失控現(xiàn)象。圖5 為在兩種算法下電機轉(zhuǎn)速分配的情況,可以看出,在前20 s 兩種算法對于轉(zhuǎn)速的分配相同,而在發(fā)生故障后,由于本文限制最大轉(zhuǎn)速為1 000 rad/s,運用偽逆法使轉(zhuǎn)速達到最大值且無法進行改正,最終導(dǎo)致失控,而本文算法能夠在部分電機轉(zhuǎn)速達到最大值時通過增大其他電機的使用率,使無人機快速調(diào)整實現(xiàn)容錯控制。
針對5、6 號電機故障,由于舍棄了對偏航的控制,式(2)少了一個約束,因此,解的范圍更廣,這就使得本文算法和偽逆法都能適用,因此,針對5 號故障,只采用本文算法進行仿真。仿真結(jié)果表明,5號電機故障下,本文算法能控制無人機實現(xiàn)對高度、滾轉(zhuǎn)角及俯仰角的跟蹤,并能控制無人機穩(wěn)定降落,實現(xiàn)了容錯控制的目的。
本文針對PPNNPN 型六旋翼無人機電機完全失效故障問題,提出了一種迭代修正控制分配方案。在無人機飛行時,利用交互多模型濾波器對無人機的飛行狀態(tài)進行實時在線監(jiān)測,并將結(jié)果反饋給控制器,在基本控制器保持不變的情況下,通過調(diào)用對應(yīng)的控制效率矩陣并進行控制分配解算,實現(xiàn)容錯控制。仿真結(jié)果表明,該方法能夠有效解決故障下電機轉(zhuǎn)速分配問題,具有良好的容錯效果。今后將對控制算法進一步優(yōu)化,并考慮不同結(jié)構(gòu)的多旋翼無人機,以實現(xiàn)所有旋翼故障情況下均可控的目標(biāo)。