王思鵬,杜昌平,葉志賢,宋廣華,鄭 耀
(浙江大學航空航天學院,杭州310027)
隨著社會的不斷發(fā)展,無人機在軍事、農(nóng)業(yè)等各個領(lǐng)域的作用日益凸顯,特別是能量利用效率高、隱蔽性強的撲翼飛行器(Flapping Wing Micro Aerial Vehicle,F(xiàn)WMAV)近年來受到了越來越多的關(guān)注[1-5]。與有人機不同,為了保證續(xù)航性與足夠的有效載荷,無人機大部分采用無冗余系統(tǒng)或者低冗余度系統(tǒng)。目前無人機主要采用慣性/衛(wèi)星組合的松組合導航方式。在飛控系統(tǒng)的姿態(tài)解算與飛行控制算法中,陀螺儀、加速度計等傳感器測量值作為觀測量,會對狀態(tài)量的估計產(chǎn)生直接影響。在緩變故障產(chǎn)生的初期,由于故障變化幅值較小,算法所估計出的殘差值常小于所設(shè)定的門限值,難以引起故障檢測算法的響應(yīng),導致狀態(tài)量對故障信號產(chǎn)生跟隨,逐漸偏離真實的狀態(tài)。待到故障檢測算法檢測到故障時,算法所估計的狀態(tài)量已經(jīng)與真實值之間產(chǎn)生了較大的偏差,導致飛行失穩(wěn)甚至墜機。此外,由于載荷與成本的限制,F(xiàn)WMAV 一般采用低精度的微機電系統(tǒng)(Micro-Electro-Mechanical System,MEMS)傳感器,且受其飛行過程中撲動運動的影響,容易出現(xiàn)緩變故障,進而對緩變故障的檢測方法提出了更高的要求。
文獻[6]中設(shè)計了一種神經(jīng)網(wǎng)絡(luò)觀測器,用于觀測飛行器姿態(tài)角等狀態(tài)量,同時能夠得到故障類型的信息;這種方法對于突變故障效果較好,但是難以及時檢測出緩變故障。文獻[7]中針對于水下設(shè)備設(shè)計了開環(huán)觀測器,并將預測殘差與實際殘差進行綜合評價。文獻[8-9]中采用支持向量機的方法進行故障檢測,有效提高了故障檢測精度;但是支持向量機計算量較大,對機載處理器要求較高。文獻[10-11]中利用小波變換提取傳感器輸出向量的奇異點,從而檢測出故障發(fā)生的準確時刻,但是小波基選取的優(yōu)劣對檢測性能影響很大。文獻[12-14]中通過搭建神經(jīng)網(wǎng)絡(luò)模型進行傳感器故障檢測,這些方法對于突變故障檢測效果良好,但是對于緩變故障的檢測效果欠佳。
針對于以上幾種故障檢測方法在應(yīng)用于緩變故障檢測時存在的問題,本文提出一種基于神經(jīng)網(wǎng)絡(luò)觀測器的FWMAV傳感器緩變故障檢測方法。該方法構(gòu)建了一個多步預測的觀測器模型,并分析了其多步觀測器窗口寬度對檢測結(jié)果的影響;同時提出了一種自適應(yīng)閾值策略,通過殘差χ2檢測算法輔助進行觀測器殘差值的故障檢測。分析結(jié)果表明,和傳統(tǒng)觀測器相比,本文所提出的算法能夠快速準確地檢測出緩變故障。
FWMAV 是一個典型的非線性系統(tǒng),難以對其進行精確的建模觀測。而神經(jīng)網(wǎng)絡(luò)觀測器具有良好的自適應(yīng)能力,在已知輸入與輸出數(shù)據(jù)的情況下,能夠通過訓練充分逼近飛行器的非線性模型。本文設(shè)計的網(wǎng)絡(luò)觀測器在系統(tǒng)中的結(jié)構(gòu)如圖1所示。
圖1 FWMAV系統(tǒng)結(jié)構(gòu)及觀測與故障診斷單元Fig. 1 System structure of FWMAV and units of observation and fault diagnosis
在觀測器訓練過程中,將式(1)右側(cè)作為觀測器輸入量,將等式左側(cè)作為觀測器輸出量,進行非線性擬合。在工作狀態(tài)下,該觀測器模型可以通過當前時刻狀態(tài)的控制器輸入量與狀態(tài)量來預測下一時刻待檢測傳感器的輸出量,將預測值與該傳感器的真實輸出值進行比較,計算真實值與預測值之間的殘差并根據(jù)所設(shè)定的閾值判斷傳感器是否正常工作。
傳統(tǒng)神經(jīng)網(wǎng)絡(luò)觀測器使用前一時刻狀態(tài)量的輸入值來預測當前時刻的傳感器輸出值。這種觀測器結(jié)構(gòu)預測精度較高、計算量小,對于傳感器突變故障和卡死故障有較好的檢測性能;但是對于緩變故障,尤其是變化率比較小的緩變故障來說難以滿足要求。設(shè)傳感器在k 時刻開始出現(xiàn)緩變故障,在傳統(tǒng)觀測器中,取k - 1 時刻的狀態(tài)量進行觀測,殘差rk+1=當殘差沒有達到檢測閾值時,故障就難以被檢測出來。若考慮采用k - N 時刻的觀測量作為觀測器預測的先驗值,則可進行N步時間窗的狀態(tài)預測。為此,本文提出一種多步觀測器預測模型。設(shè)所診斷的目標狀態(tài)量為xi,則k -N + 1時刻:
其中:
k - N + 2 時刻則使用k - N + 1 時刻xi的預測值代替真實值進行狀態(tài)預測:
其中:
如此迭代,始終使用當前時刻的狀態(tài)預測值x^ i 代替真實值xi作為下一時刻的狀態(tài)量輸入值。最終k 時刻的觀測器輸出值為:
其中:
這樣就可以保證,在k + N - 1 時刻之前,觀測器的輸出值不會受到緩變故障的污染。當N的取值適當時,在k + m時刻,緩變誤差已經(jīng)積累得足夠大,殘差|達到所設(shè)定的檢測閾值,即可及時檢測出存在的緩變故障。
針對FWMAV 的數(shù)據(jù)特性,選擇殘差χ2檢測法進行閾值的選?。?5-16]。FWMAV的非線性狀態(tài)空間為:
進行線性化之后,得到的擴展卡爾曼濾波(Extended Kalman Filter,EKF)狀態(tài)空間為:
卡爾曼濾波(Kalman Filter,KF)中,將殘差定義為測量值與觀測量之間的差值:
當卡爾曼濾波器正常工作時,殘差值服從零均值的高斯分布。殘差值的協(xié)方差為:
則故障檢測函數(shù)為:
由于 δk服從高斯分布,則 λk服從自由度為n 的 χ2分布(n為狀態(tài)量數(shù)量)。當傳感器出現(xiàn)故障時,λk的χ2分布特性就會發(fā)生改變,從而檢測出緩變故障的發(fā)生。故障檢測的策略為:
其中,閾值TD根據(jù)所容忍的虛警率進行選取。設(shè)所容忍的虛警率為α,則
由于神經(jīng)網(wǎng)絡(luò)觀測器的觀測值存在誤差,因此自適應(yīng)閾值的選取不僅僅與EKF 殘差有關(guān),也與神經(jīng)網(wǎng)絡(luò)觀測器的觀測誤差有關(guān)。將自適應(yīng)閾值調(diào)整為:
其中:Ek為神經(jīng)網(wǎng)絡(luò)觀測器觀測值與傳感器輸出值的殘差;a與b為加權(quán)系數(shù),根據(jù)實際觀測器與EKF 的精度進行選?。ㄎ闹刑岢龅亩嗖接^測器模型與EKF 權(quán)重相同,即a和b均取1)。當觀測器殘差增大時,閾值取值增大,從而抑制噪聲對虛警率的影響。
神經(jīng)網(wǎng)絡(luò)故障觀測器的算法流程如圖2 所示。算法流程包括閾值選取、數(shù)據(jù)預處理、目標傳感器輸出值預測、故障檢測、故障隔離與信號重構(gòu)等步驟。
圖2 多步神經(jīng)網(wǎng)絡(luò)觀測器算法流程Fig. 2 Algorithm flow of multistep neural network observer
本節(jié)以全球定位系統(tǒng)(Global Positioning System,GPS)高度為例,進行觀測器網(wǎng)絡(luò)的搭建與離線訓練。分析FWMAV的非線性模型可知,飛行器k+ 1時刻GPS 高度的預測值h^k+1與k時刻的GPS 高度值hk、地向速度vd有關(guān),同時也會受到飛行器俯仰角θ、油門P以及平尾偏轉(zhuǎn)角度α的影響。因此,建立的傳統(tǒng)神經(jīng)網(wǎng)絡(luò)觀測器模型為:
對于觀測器窗口寬度的選擇而言,窗口寬度越小,觀測器的預測精度越高,但同時能夠檢測到的緩變故障增益范圍越??;反之,窗口寬度越大,觀測器精度越低,但是能夠檢測到增益更小的緩變故障。因此模型窗口寬度的選取需要根據(jù)實際數(shù)據(jù)的情況進行選取與調(diào)整。在搭建模型時,選取窗口寬度N=1~15,并在之后的測試環(huán)節(jié)進行分析比較,從而選取最優(yōu)的窗口寬度。
多步觀測器的反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搭建的網(wǎng)絡(luò)如圖3所示。其中Ck(k= 1,2,…,N- 1)為k時刻除GPS高度外其他觀測器輸入量的狀態(tài)值。對于每個輸入,采用“輸入層+融合層+隱層+輸出層”的四層BP神經(jīng)網(wǎng)絡(luò)。每一步GPS高度值預測之后,都將高度預測值輸出,用于觀測器模型的殘差計算。這樣,對于圖3 中的每一個GPS 預測值,均有GPS 真實值進行比較與損失值計算。因此,多步神經(jīng)網(wǎng)絡(luò)可以分為多個四層神經(jīng)網(wǎng)絡(luò),從而防止多層神經(jīng)網(wǎng)絡(luò)參數(shù)過多導致過擬合等問題。
神經(jīng)網(wǎng)絡(luò)采用FWMAV 飛行過程中真實的飛行數(shù)據(jù)進行訓練。飛行數(shù)據(jù)為FWMAV 團隊于浙江大學玉泉校區(qū)田徑場試飛所采集的FWMAV 真實飛行數(shù)據(jù)。FWMAV 的飛行軌跡與高度變化分別如圖4、5所示。
圖3 多步觀測器神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig. 3 Neural network structure of multistep observer
圖4 FWMAV飛行軌跡Fig. 4 Flight trajectory of FWMAV
以5 步觀測器預測模型為例,隱層采用ReLU(Rectified Liner Unit)激活函數(shù),輸出層采用linear 線性激活函數(shù),避免出現(xiàn)梯度爆炸與梯度消失的問題。根據(jù)經(jīng)驗公式與訓練效果,每個隱層選取10 個神經(jīng)元。為提高學習速率,設(shè)置初始學習率(learning rate)lr= 0.001,并且每進行100 輪學習,學習率下降為上一階段學習率的0.1。通過分析可知,對于多步預測來說,每一步預測的誤差都會對之后的預測產(chǎn)生誤差積累,因此對各輸出值誤差賦予權(quán)重,即前期預測誤差的權(quán)重大于后期預測誤差,從而抑制前期預測誤差對后續(xù)預測的影響。本文算法中選擇的誤差權(quán)重為:
同時設(shè)置當連續(xù)10 輪學習的損失值不下降的情況下停止訓練,以提高訓練的效率,避免過擬合。
圖5 FWMAV的GPS高度變化曲線Fig. 5 GPS height curve of FWMAV
取上述數(shù)據(jù)中的70%用于模型訓練,30%用于模型測試。訓練的損失值下降曲線如圖6所示,可以看出:損失值在前30輪訓練中下降較快,30 輪之后呈緩慢下降趨勢,逐漸收斂,并最終在第294 輪達到結(jié)束訓練條件。測試集的損失值為1.805× 10-3,能夠達到模型訓練的要求。
圖6 觀測器神經(jīng)網(wǎng)絡(luò)訓練損失曲線Fig. 6 Training loss curve of observer neural network
本節(jié)在FWMAV 實際飛行實驗數(shù)據(jù)基礎(chǔ)上注入如表1 所示的緩變故障進行測試和分析。其中:模式一表示傳統(tǒng)神經(jīng)網(wǎng)絡(luò)觀測器,模式二表示多步神經(jīng)網(wǎng)絡(luò)觀測器。為了測試多步神經(jīng)網(wǎng)絡(luò)觀測器的觀測性能,設(shè)置了不同的故障變化率與觀測器窗口寬度。
由于涉及的觀測器窗口寬度與緩變故障變化率較多,因此不失一般性,以緩變斜率0.1 m/s、預測窗口寬度10 為例進行詳細說明。為了提高不同算法之間性能比較的精確性,在本節(jié)中以數(shù)據(jù)采樣步數(shù)來描述數(shù)據(jù)。GPS 采樣頻率為5 Hz,因此上述100 s 注入故障,在本節(jié)中即為第500 步數(shù)據(jù)注入故障。算法計算結(jié)果如圖7 所示,其中,實線為觀測器預測值與傳感器測量值的殘差變化曲線,虛線為自適應(yīng)閾值變化曲線。
表1 注入故障類型Tab. 1 Input fault types
圖7 傳統(tǒng)觀測器與多步神經(jīng)網(wǎng)絡(luò)觀測器的殘差曲線Fig. 7 Residual curves of traditional observer and multistep neural network observer
通過圖7(a)可以看出,500 步產(chǎn)生緩變故障之后,殘差雖然由零均值噪聲變?yōu)閹Я闫肼?,但是噪聲波動變化很小,在緩變故障的后期,殘差也只是? 左右波動,即傳統(tǒng)神經(jīng)網(wǎng)絡(luò)觀測器易于對緩變故障形成跟隨。由圖7(a)可見,在閾值自適應(yīng)時,傳統(tǒng)神經(jīng)網(wǎng)絡(luò)觀測器在第883步才檢測出故障。
而對于圖7(b)所示的多步觀測器殘差曲線,在500 步注入故障之前,觀測器的殘差符合零均值噪聲特性。當500 步開始注入數(shù)據(jù)之后,初始階段,由于緩變故障幅度較小,觀測器殘差值產(chǎn)生小幅波動,數(shù)據(jù)噪聲增大。隨著注入的故障逐漸增大,殘差值也不斷上升。對于自適應(yīng)閾值來說,對殘差數(shù)據(jù)有一定的跟隨效果,故障發(fā)生之后,閾值會隨著殘差的波動而波動;但是閾值的跟隨具有一定的延遲性,因此對故障檢測的快速性影響不大。多步神經(jīng)網(wǎng)絡(luò)觀測器在第580 步即檢測出了緩變故障。
通過比較可以看出,與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)觀測器相比,本文提出的多步神經(jīng)網(wǎng)絡(luò)觀測器的性能大幅提升。
對于不同的傳感器輸出數(shù)據(jù)類型,本文提出的觀測器具有不同的預測性能。因此,對于不同的緩變故障變化率,以下將測試不同的觀測器觀測窗口寬度,以尋找針對FWMAV 最優(yōu)的觀測器模型。不同故障變化率與不同觀測器窗口寬度下,緩變故障的檢出點如圖8所示。
從圖8(a)~(c)可以看出,當緩變故障變化率小于0.3 m/s時,故障檢測難度較大,因此在觀測器產(chǎn)生一定噪聲的情況下,緩變故障的檢出點也產(chǎn)生較大的波動;但是相較于傳統(tǒng)觀測器,本文提出的觀測器性能仍有較大的提升。隨著緩變故障變化率增大,觀測器的性能雖仍有波動,但基本趨于平穩(wěn)。圖8(h)~(j)中,當緩變故障變化率大于0.8 m/s 時,觀測窗口寬度在9 步以上的觀測器能夠在10 步以內(nèi)觀測到緩變故障。各個窗口寬度下,不同緩變故障變化率的平均檢出點如表2所示。在本次的觀測器設(shè)計中,傳統(tǒng)神經(jīng)網(wǎng)絡(luò)觀測器可視為多步神經(jīng)網(wǎng)絡(luò)觀測器在窗口寬度為1 時的特殊情況,因此將表格合并,即表2中窗口寬度為1時即為傳統(tǒng)神經(jīng)網(wǎng)絡(luò)觀測器的性能。通過表2可以看出,傳統(tǒng)的觀測器平均在第634步檢測出緩變故障,檢測步數(shù)達到134 步,故障檢測率為33.4%。隨著觀測器窗口寬度增加,故障檢測步數(shù)逐漸減少,故障檢測率逐漸上升,由于觀測噪聲的影響,檢測步數(shù)最終在520 步左右產(chǎn)生波動。綜合比較可以得出,預測窗口寬度為12 時觀測器性能達到最佳,當在第500 步注入故障時,平均在第516 步檢測出緩變故障,故障檢測率達到65.5%。與基于傳統(tǒng)神經(jīng)網(wǎng)絡(luò)觀測器的故障檢測算法相比,本文算法的故障檢測速度提高了737.5%,故障檢測率提高了96.1%。
圖8 不同故障變化率下多步神經(jīng)網(wǎng)絡(luò)觀測器性能曲線Fig.8 Curves of multistep neural network observer performance with different fault change rates
表2 不同窗口寬度下平均故障檢出點與故障檢測率Tab. 2 Average fault detection points and fault detection rates of different window widths
本文提出了一種基于多步神經(jīng)網(wǎng)絡(luò)觀測器的仿鳥撲翼飛行器的傳感器緩變故障檢測方法。在傳統(tǒng)神經(jīng)網(wǎng)絡(luò)觀測器難以適應(yīng)撲翼飛行器大波動的傳感器輸出信號的情況下,該方法通過多步數(shù)據(jù)預測神經(jīng)網(wǎng)絡(luò)觀測器來解決緩變故障檢測問題。依據(jù)真實飛行實驗數(shù)據(jù),本文提出的多步觀測器能夠及時檢測出緩變故障,性能優(yōu)于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)觀測器。此外,本文測試了在不同的緩變故障變化率與不同的觀測器時間窗寬度下,觀測器模型檢測緩變故障的性能,并對最佳的觀測器時間窗寬度進行了測試與分析。結(jié)果表明,本文模型能夠及時準確地對多種變化率的緩變故障進行檢測和隔離,保證了撲翼飛行器飛行過程中的穩(wěn)定性與可靠性。