張 榕, 陳 欣
(南京航空航天大學(xué)自動化學(xué)院,南京 211106)
飛行控制系統(tǒng)的可靠性和安全性一直是航空飛行器的重要研究方向,飛行控制系統(tǒng)包括飛行控制計算機(jī)(FCC)、執(zhí)行機(jī)構(gòu)(Actuator)、傳感器(Sensor)以及其他機(jī)載計算機(jī)(Task Computer)。其中,飛行控制計算機(jī)的工作職責(zé)是完成無人機(jī)的飛行控制任務(wù)并對機(jī)載設(shè)備進(jìn)行管理和調(diào)度,實現(xiàn)資源共享以及數(shù)據(jù)信息的融合,是空中和地面指揮系統(tǒng)的聯(lián)系樞紐。目前,無人機(jī)的任務(wù)數(shù)量和復(fù)雜度增加、傳感器多數(shù)據(jù)融合以及飛行范圍和性能邊界增大等對飛行控制計算機(jī)可靠性和安全性提出了更高的要求。
飛行控制系統(tǒng)的故障診斷主要分為基于模型、基于知識以及基于數(shù)據(jù)信號的方法[1]?;谀P偷墓收显\斷方法對被監(jiān)控系統(tǒng)過程機(jī)理和特性的定性描述,可以獲得系統(tǒng)運(yùn)行的狀態(tài)信息和預(yù)測系統(tǒng)未來的動態(tài)特性;基于知識的故障診斷方法依賴對系統(tǒng)運(yùn)行機(jī)理、故障特性以及故障行為與成因之間因果關(guān)系等先驗信息的分析,利用邏輯推理的方法進(jìn)行故障的檢測和分離;基于數(shù)據(jù)的故障診斷方法對測量到的信號和數(shù)據(jù)進(jìn)行分析處理,提取故障信號特征,檢測和隔離故障。國內(nèi)對基于模型的故障觀測器有廣泛的研究,針對執(zhí)行機(jī)構(gòu)和傳感器的突變故障和漸變故障有了較為成熟的算法[1-6],飛行控制系統(tǒng)各傳感器的輸出因系統(tǒng)特性而具有內(nèi)在的一致性,發(fā)生故障時會打破內(nèi)在一致性,奇偶動態(tài)方程是能夠反映傳感器之間內(nèi)在一致性的數(shù)學(xué)模型[5,7]。執(zhí)行機(jī)構(gòu)和傳感器故障屬于飛行控制計算機(jī)外部故障,飛行控制計算機(jī)對執(zhí)行機(jī)構(gòu)的輸出控制和傳感器的信息接收均由飛行控制計算機(jī)內(nèi)部對外接口完成,執(zhí)行機(jī)構(gòu)和傳感器故障檢測無法與此接口故障分離,也無法對飛行控制計算機(jī)的內(nèi)部故障進(jìn)行檢測和隔離。
分布式飛行控制計算機(jī)中的各個功能單元獨(dú)立分開,各部分運(yùn)行不同的功能程序,將復(fù)雜的飛行控制和通信任務(wù)進(jìn)行分離。余度技術(shù)可以通過在設(shè)計中使用多個相同的功能單元和模塊,接收相同的信息,通過余度表決和檢測來獲取單元的工作狀態(tài),但是由于余度資源成本和代價高,一般只在飛行控制計算機(jī)內(nèi)部重要功能單元進(jìn)行冗余備份。
分布式飛行控制計算機(jī)可以在各個單元上使用不同的模型觀測器構(gòu)造相應(yīng)的模型解析余度,降低軟件程序的復(fù)雜度,提高飛行控制計算機(jī)的可靠性。本文針對傳統(tǒng)單一觀測器覆蓋率不足的問題,提出了一種結(jié)合硬件余度和模型觀測器的故障診斷方法,提高飛行控制計算機(jī)的可靠性和故障診斷覆蓋率。
分布式飛行控制計算機(jī)將功能單元獨(dú)立分開,使用內(nèi)部總線進(jìn)行通信。常見的分布式飛行控制計算機(jī)余度結(jié)構(gòu)有主從備份模式和多余度表決模式:主從備份模式在同一個時刻,只有一個主單元繼續(xù)工作,其他單元處于備份狀態(tài),只有當(dāng)主單元故障時,切換至備份單元工作,備份方式分為熱備份和冷備份,熱備份指主從單元同步運(yùn)行,冷備份指備份時單元不運(yùn)行;多余度表決模式需要3個及3個以上的相似單元同步運(yùn)行,對各個單元的輸出信息繼續(xù)表決,多數(shù)一致作為正確信息。
本文所研究的分布式飛行控制計算機(jī)包含了中央處理單元(CPU)、串行通信單元(SIO)、模擬量接口單元(AIO)以及開關(guān)量接口單元(DIO)[8],如圖1所示。
圖1 分布式飛行控制計算機(jī)結(jié)構(gòu)圖Fig.1 Structure of distributed flight control computer
CPU為分布式飛行控制計算機(jī)的主控制單元,主要功能為控制結(jié)算、外圍設(shè)備管理等,是飛行控制計算機(jī)的核心單元;SIO負(fù)責(zé)接收與發(fā)送機(jī)載和地面串行通信量信息;AIO包含A/D輸入模塊和D/A輸出模塊,負(fù)責(zé)采集模擬量信息、輸出控制指令到舵回路;DIO包含D/I輸入模塊和D/O輸出模塊,負(fù)責(zé)采集機(jī)載設(shè)備狀態(tài)信息及輸出開關(guān)控制指令。飛行控制計算機(jī)中央處理單元采用三余度配置,串行通信單元和模擬量單元采用雙余度配置,計算機(jī)內(nèi)部總線采用四余度配置。
飛行控制計算機(jī)與傳感器系統(tǒng)、舵回路和其他機(jī)載系統(tǒng)之間的信息流如圖2所示。
圖2 飛行控制計算機(jī)與外部設(shè)備連接與信息流示意圖Fig.2 The connection and information flow indication between flight control computer and external device
本文將飛行控制計算機(jī)的故障分為分布式單元功能故障和單元功能模塊故障:分布式單元功能故障為板卡級,表示板卡單元已經(jīng)無法正常工作;單元功能模塊故障為功能部件級,表示單元上某個功能模塊無法正常工作,但不影響單元上其他的功能模塊。
飛行控制計算機(jī)模擬量控制模塊與執(zhí)行機(jī)構(gòu)進(jìn)行數(shù)據(jù)交互,串行通信接收傳感器信息,兩者發(fā)生故障會影響執(zhí)行機(jī)構(gòu)和傳感器的正常運(yùn)行,模擬量控制模塊的D/A和A/D通道故障和傳感器串行通信通道有恒偏差、突變及漸變故障等類型,如圖3所示[3]。
圖3 故障類型示意圖Fig.3 The chart of fault types
飛行控制計算機(jī)與外部設(shè)備接口信息需要能夠檢測出圖3所示的故障類別,以便讓控制器進(jìn)行故障調(diào)節(jié),使得故障不會影響飛行器的安全飛行。
設(shè)某控制系統(tǒng)的動態(tài)方程為
(1)
式中:x(t)∈Rn,u(t)∈Rm,y(t)∈Rp分別為系統(tǒng)的狀態(tài)向量、輸入向量和輸出向量;A,B,C分別為已知的適維矩陣;(A,C)為可觀測對。
執(zhí)行機(jī)構(gòu)和傳感器等故障可分為加性故障和乘性故障,本文以加性故障為例,執(zhí)行機(jī)構(gòu)控制鏈路故障模型和傳感器通信故障模型分別為
(2)
(3)
式中:E和D為適維矩陣;fa(t)為系統(tǒng)的執(zhí)行機(jī)構(gòu)故障;fs(t)為系統(tǒng)的傳感器故障。
執(zhí)行機(jī)構(gòu)控制故障觀測器[3]為
(4)
令
(5)
傳感器通信故障觀測器為
(6)
令
(7)
執(zhí)行機(jī)構(gòu)誤差動態(tài)方程表示為
(8)
傳感器誤差動態(tài)方程表示為
(9)
突變故障和漸變故障的故障估計算法分別為
(10)
(11)
式中:Γ為適維矩陣,表示故障估計的學(xué)習(xí)率;F為故障估計的適維矩陣。文獻(xiàn)[3]描述了運(yùn)用線性矩陣不等式求解故障觀測器矩陣L和H的方法,文獻(xiàn)[3-4]描述了基于式(10)故障估計算法的觀測器,此算法能夠提升故障估計的性能。
分布式飛行控制計算機(jī)內(nèi)部單元之間通過總線通信進(jìn)行心跳檢測算法實現(xiàn)分布式單元的故障檢測,可以分為Push方式和Pull方式[9],兩種方式按照一定周期ΔT發(fā)送狀態(tài)檢測幀來檢測單元的狀態(tài)。Push方式是被檢測單元主動向主控制單元發(fā)送狀態(tài)幀,Pull方式是由主控制單元向被檢測單元發(fā)送狀態(tài)檢測幀,被檢測單元接收到檢測幀后,向主控制單元發(fā)送狀態(tài)檢測應(yīng)答幀。采用余度結(jié)構(gòu)的飛行控制計算機(jī),各個余度之間使用多機(jī)表決方法檢測主控制單元的故障,避免因為主控制單元故障影響其他單元的心跳檢測。Pull分布式結(jié)構(gòu)心跳檢測方法如圖4所示。
圖4 Pull分布式結(jié)構(gòu)心跳檢測方法Fig.4 Pull heartbeat detection method for distributed structure
飛行控制計算機(jī)內(nèi)部通信總線采用四余度配置,一路總線是主通信通道,另外三路進(jìn)行熱備份,優(yōu)先級固定。每條總線上都使用心跳檢測方法檢測總線上的節(jié)點通信是否正常。
CPU單元發(fā)送狀態(tài)檢測幀,開始周期計數(shù),在接收檢測應(yīng)答幀后,清除相應(yīng)單元的周期計數(shù),一旦計數(shù)超過預(yù)先設(shè)計的閾值,判定單元與CPU節(jié)點通信故障,當(dāng)判定CPU節(jié)點與其他節(jié)點均通信故障,則認(rèn)為總線故障,按照優(yōu)先級切換至備份總線通道工作。
通信總線的故障診斷閾值可以根據(jù)實際的系統(tǒng)確定,飛行控制系統(tǒng)對控制輸出的實時性要求較高,閾值不能超過飛行控制的周期,一般飛行控制計算機(jī)控制周期為20 ms,通信總線心跳檢測周期為5 ms,因此進(jìn)行周期計數(shù)時,設(shè)計的閾值不能超過4。由此得出通用心跳檢測閾值的條件,設(shè)飛行控制的控制周期為T,通信總線心跳檢測周期為Th,心跳檢測閾值設(shè)計條件為0<μ≤T/Th,在此區(qū)間的取值不同會影響心跳檢測的靈敏度。
飛行控制計算機(jī)的主控制單元采用三余度配置,故障診斷所采用的輸出表決結(jié)構(gòu)如圖5所示。
圖中:CPU單元運(yùn)行執(zhí)行機(jī)構(gòu)控制故障觀測器Ob_a(U,Y),U和Y分別表示觀測器控制輸入和傳感器反饋信息,用 (Ua,Ub,Uc)和YsM表示,(Ua,Ub,Uc)分別為CPU-A,CPU-B,CPU-C解算出的控制數(shù)據(jù);Ur為進(jìn)行三余度表決輸出的控制解算數(shù)據(jù),且Ur∝{Ua,Ub,Uc}。
圖5 主控制單元輸出表決結(jié)構(gòu)圖Fig.5 Output voting structure of main control unit
三余度CPU單元輸入相同的傳感器信號Ys,在主控制單元中進(jìn)行三余度控制解算或者執(zhí)行機(jī)構(gòu)故障觀測器的余度表決。常見的余度表決方法有多數(shù)一致表決法、加權(quán)平均表決法以及中值表決法等[10],系統(tǒng)按照表決結(jié)果進(jìn)行主控制CPU單元的切換。
串行通信單元采用硬件雙余度輸入表決和傳感器通信故障觀測器組成多余度故障診斷結(jié)構(gòu),見圖6。
圖6 串行通信單元故障診斷結(jié)構(gòu)圖Fig.6 Fault diagnosis structure of serial communication unit
圖中:串行通信單元運(yùn)行傳感器通信故障觀測器Ob_s(U,Y);反饋回CPU單元的信號為YsM。雙余度串行通信單元輸入相同的傳感器信號Ys,經(jīng)過串行接口輸入為YsA,YsB,兩者組成主從備份方式,配合使用觀測器Ob_s(U,Y)解析余度,在主串行通信單元中形成四余度形式,并依據(jù)YsA,YsB以及Ob_s(U,Y)結(jié)果進(jìn)行串行通信接口的故障診斷。
如表1所示:序號1~4表示兩組的串行接口輸入相同,且兩者故障模型觀測器輸出故障信息時,執(zhí)行機(jī)構(gòu)處于故障狀態(tài),兩者故障模型觀測器輸出信息不相同時,將非故障單元的信息作為YsM;序號5~7表示兩組的串行接口輸入不相同,可以判斷單元接口故障;只有序號8無法確定具體故障單元,需要與CPU單元進(jìn)行交互判斷。
表1中:×表示觀測器輸出判別為故障狀態(tài),√表示觀測器輸出判別為無故障狀態(tài),下同。
模擬量單元采用雙余度與執(zhí)行機(jī)構(gòu)冗余備份結(jié)構(gòu),結(jié)構(gòu)如圖7所示。
表1 串行通信單元外部接口故障診斷
圖7 模擬量單元接口故障診斷結(jié)構(gòu)圖Fig.7 Fault diagnosis structure of analog unit interface
圖7中,CPU單元運(yùn)行執(zhí)行機(jī)構(gòu)控制故障觀測器Ob_a(U,Y),觀測器控制輸入為CPU單元解算控制數(shù)據(jù)Ur。模擬量單元運(yùn)行執(zhí)行機(jī)構(gòu)控制故障觀測器,觀測器控制輸入為執(zhí)行機(jī)構(gòu)反饋控制數(shù)據(jù)Ub,飛行器傳感器狀態(tài)為YsM。模擬量單元使用觀測器組合方式診斷模擬量單元內(nèi)部A/D,D/A功能模塊故障和執(zhí)行機(jī)構(gòu)故障。
如表2所示,依照CPU單元故障觀測器和模擬量單元故障觀測器結(jié)果的不同組成4種判斷結(jié)果,能夠有效覆蓋無故障狀態(tài)和3處故障定位,并且根據(jù)故障估計算法來估計故障類型,反饋回主控制單元,進(jìn)行相應(yīng)的故障調(diào)節(jié)。
表2 模擬量單元外部接口故障診斷
考慮飛行器縱向運(yùn)動方程
狀態(tài)向量x(t)由俯仰角速率q、真空速vt、迎角α和俯仰角θ組成??刂戚斎雞(t)由推力TN和升降舵偏角δe組成。以執(zhí)行機(jī)構(gòu)故障為例,故障發(fā)生在控制輸入通道,因此E=B。式(10)中自適應(yīng)學(xué)習(xí)率Γ取值為diag(2,2),由3節(jié)描述的模型觀測器方法計算得出
假設(shè)恒偏差故障發(fā)生2 s處,幅值為
(12)
假設(shè)漸變故障發(fā)生2 s處,變化率為
(13)
以升降舵偏角δe為例,恒偏差故障估計的仿真結(jié)果如圖8所示。
圖8 執(zhí)行機(jī)構(gòu)恒偏差故障及故障估計曲線Fig.8 Curves of constant deviation fault and its estimated value
以升降舵偏角δe為例,漸變故障估計的仿真結(jié)果如圖9所示。
圖9 執(zhí)行機(jī)構(gòu)漸變故障及故障估計曲線Fig.9 Curves of time-varying fault and its estimated value
由圖8和圖9可以看出,故障發(fā)生于2 s處,δe恒偏差故障估計時間為3~4 s,漸變故障估計為±0.05,模型觀測器故障估計算法可以較好地對恒偏差故障及漸變故障進(jìn)行跟蹤和估計,與執(zhí)行機(jī)構(gòu)相關(guān)聯(lián)的飛行控制計算機(jī)模擬量單元外部接口A/D,D/A功能模塊故障,通過本文提出的故障診斷方法和模型觀測器組合結(jié)構(gòu),按照表2總結(jié)的模擬量單元診斷表格進(jìn)行A/D,D/A功能模塊故障以及執(zhí)行機(jī)構(gòu)故障的檢測和分離。
本文以分布式飛行控制計算機(jī)為對象,提出了一種硬件余度和模型解析余度相結(jié)合的方法,該方法可以對計算機(jī)外部傳感器、外部執(zhí)行機(jī)構(gòu)以及計算機(jī)內(nèi)部功能模塊進(jìn)行故障診斷。針對飛行控制計算機(jī)傳感器接口、執(zhí)行機(jī)構(gòu)接口故障無法與傳感器故障和執(zhí)行機(jī)構(gòu)故障分離的問題,使用組合觀測器的方式進(jìn)行飛行控制計算機(jī)外部設(shè)備接口的故障診斷。本文方法能夠有效進(jìn)行飛行控制系統(tǒng)中的控制器、執(zhí)行機(jī)構(gòu)和傳感器的故障檢測和隔離,解決了傳統(tǒng)單一故障觀測器無法診斷計算機(jī)內(nèi)部故障的不足,提高了飛行控制系統(tǒng)的故障診斷覆蓋率和可靠性。
參 考 文 獻(xiàn)
[1] 姜斌,冒澤慧,楊浩,等.控制系統(tǒng)的故障診斷與故障調(diào)節(jié)[M].北京:國防工業(yè)出版社,2009.
[2] 邱靜,劉冠軍,呂克洪,等.機(jī)電系統(tǒng)機(jī)內(nèi)測試降虛警技術(shù)[M].北京:科學(xué)出版社,2009.
[3] ZHANG K,JIANG B,PENG S.Observer-based fault estimation and accomodation for dynamic systems[M].Berlin:Springer,2012.
[4] 張珂,姜斌.一種改進(jìn)的自適應(yīng)故障診斷設(shè)計方法及其在飛控系統(tǒng)中的應(yīng)用[J].航空學(xué)報,2009,30(7):1271-1276.
[5] 劉劍慰,姜斌.基于動態(tài)奇偶動態(tài)空間法的傳感器故障診斷[J].控制工程,2012,19(5):870-876.
[6] 冒澤慧,姜斌.基于自適應(yīng)觀測器的MIMO系統(tǒng)執(zhí)行器故障調(diào)節(jié)[J].山東大學(xué)學(xué)報:工學(xué)版,2005,35(3):17-19.
[7] 劉劍慰.基于模型的飛行控制系統(tǒng)故障診斷方法研究[D].南京:南京航空航天大學(xué),2014.
[8] 王琴.飛行控制計算機(jī)余度管理與總線通信技術(shù)研究[D].南京:南京航空航天大學(xué),2012.
[9] 董劍.分布式系統(tǒng)故障檢測的關(guān)鍵技術(shù)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2007.
[10] 鄭雷.無人機(jī)余度飛行控制計算機(jī)設(shè)計及研究[D].南京:南京航空航天大學(xué),2011.