余 臻,付江夢,劉利軍
(廈門大學航空航天學院,廈門 361005)
在航空工業(yè)和航天技術(shù)中,可靠性和安全性不僅是技術(shù)創(chuàng)新與發(fā)展的主要問題,也是飛行器的基本保障.電機作為執(zhí)行器最重要的部分,是無人機動力的全部來源,同時旋翼的轉(zhuǎn)動效益直觀地體現(xiàn)了電機性能,影響飛行器的整體穩(wěn)定性,因此其安全性十分重要.而傳感器作為無人機系統(tǒng)中的關(guān)鍵部件,對飛行狀態(tài)實時測量,并通過執(zhí)行器完成控制.當兩者出現(xiàn)微小故障時,如果能及時準確地診斷出故障并明確具體故障部件,便可提前檢修,大大提高無人機的安全性.
根據(jù)目前發(fā)展現(xiàn)狀,關(guān)于多旋翼無人機領(lǐng)域的研究方向主要包括三點,分別是無人機的飛行控制研究、無人機的建模分析以及無人機的故障診斷與容錯控制[1].其中,故障診斷是無人機的一個重要研究方向,參考最前沿的研究結(jié)論,可分為基于數(shù)學解析模型,基于專家知識和基于數(shù)據(jù)驅(qū)動的三類故障診斷方法[2].而神經(jīng)網(wǎng)絡與頻域分析是基于數(shù)據(jù)驅(qū)動的兩種典型故障診斷策略.
近年來,深度學習與故障診斷工作密切聯(lián)系,而概率神經(jīng)網(wǎng)絡(Probabilistic Neural Network,PNN)作為一種常用的深度學習框架,在各領(lǐng)域的工程實踐中發(fā)揮著巨大作用,例如:利用PNN實現(xiàn)對損傷儀器的高效鑒別[3];以動態(tài)PNN對地質(zhì)屬性進行類別判斷[4]等等.
時頻分析也是目前故障診斷研究的一個重要方向,其中最典型的方法包括小波變換和傅里葉變換.本文將直接采用快速傅里葉變換進行信號處理.因此,根據(jù)神經(jīng)網(wǎng)絡與頻域分析的故障診斷方法,針對Simulink環(huán)境下六旋翼無人機電機和角速度傳感器的單故障模式,本文提出一種基于FFT的概率神經(jīng)網(wǎng)絡故障診斷模型,實現(xiàn)無人機的故障診斷與故障模式識別.
圖1所示的六旋翼建立有效的數(shù)學模型.為了簡化模型計算的復雜度,首先作如下假設(shè):
(1) 無人機為剛體,飛行過程中質(zhì)量保持不變;
(2) 地面坐標系視為慣性坐標系,且重力加速度保持不變;
(3) 不計飛行時的空氣阻力和陀螺效應.
圖1 六旋翼模型及坐標定義Fig.1 Six-rotor model and coordinate definition
根據(jù)文獻[5-8]中的推導及相關(guān)物理原理,可推導出簡化的六旋翼無人機運動與動力學方程.
(1)
其中,m為無人機質(zhì)量;g為重力加速度;l為臂長;b為推力因子;d為反扭矩系數(shù);φ,θ,ψ分別代表滾轉(zhuǎn)、俯仰和偏航角;Ix,Iy,Iz代表位置x,y,z通道上的轉(zhuǎn)動慣量,U1~U4分別代表在垂直、滾轉(zhuǎn)、俯仰和偏航4個通道上Backstepping控制法的控制率.
本文以一階慣性環(huán)節(jié)模擬無人機的電機系統(tǒng),具體可表示為[9-10]:
(2)
其中,ω(s)為電機轉(zhuǎn)速;Uc(s)為控制量;b為尺度因子;a為電機時間常數(shù),由具體電機型號與硬件決定.本文取a=0.01,b=1.同時引入電機的效率參數(shù)Pi(i=1~6),以實現(xiàn)對電機故障的模擬.
Backstepping控制是一種具有魯棒性的遞歸設(shè)計方法.設(shè)計過程中,復雜系統(tǒng)被劃分各個子系統(tǒng)并逐步修正,最終集成為一個完整控制律.根據(jù)相關(guān)推導[6],可得控制律U為
其中,a1=(Ix-Iz)/Iy,a2=(Iz-Ix)/Iy,a3=(Ix-Iy)/Iz,同時α1~α8為系統(tǒng)的可調(diào)參數(shù),可針對具體不同的控制效果進行參數(shù)調(diào)節(jié).
根據(jù)上述分析,最終可得六旋翼無人機Simulink系統(tǒng)控制圖,具體如圖2所示.
圖2 六旋翼系統(tǒng)控制仿真圖Fig.2 Six-rotor system control simulation diagram
接下來,對上述六旋翼無人機模型進行仿真分析.首先,設(shè)置模型的期望輸入為xd=yd=zd=3,rolld=pitchd=yawd=0,系統(tǒng)仿真時間為15 s.仿真后便可得如圖3所示的六自由度時域曲線.由圖可得,該模型的控制效果良好.
圖3 六旋翼系統(tǒng)位置與姿態(tài)響應Fig.3 Six-rotor system position and attitude response
概率神經(jīng)網(wǎng)絡(Probabilistic Neural Networks,PNN)是一種典型的分類器,廣泛地應用于預測分類領(lǐng)域[11],在故障診斷領(lǐng)域中有著不可比擬的作用.
針對六旋翼而言,一方面,當電機發(fā)生失效時,輸出效率的改變將直接反映到螺旋槳轉(zhuǎn)速上,使得無人機飛行姿態(tài)產(chǎn)生變化,且故障電機不同,飛行姿態(tài)的偏轉(zhuǎn)也不同;另一方面,當角速度傳感器發(fā)生最常見的偏移故障時[12],很明顯將直接影響無人機對應姿態(tài)角速度及其角度的變化.因此,本文重點關(guān)注滾轉(zhuǎn)Roll、俯仰Pitch和偏航Y(jié)aw三個姿態(tài)角及對應角速度這六個有關(guān)輸出量,同時將三個姿態(tài)角作為電機故障的特征元素,在此基礎(chǔ)上,額外引入三個姿態(tài)角速度與之共同作為傳感器故障的特征元素.
本文假設(shè)均在仿真飛行中途的第10 s為無人機注入不同類型的單故障模式.
首先,針對電機故障設(shè)計三種狀態(tài):(1) 6個電機均為全效率(Pi=1,i=1~6)輸出時的正常情況;(2) 6個電機單獨為可忽略失效(Pi>0.98,i=1~6)時的正常情況;(3) 6個電機單獨為本文自定義的微小失效(0.9≤Pi≤0.98,i=1~6)的故障情況.針對以上3種情況,共仿真出50種不同飛行狀態(tài).
以六旋翼正常和1號電機第10 s時發(fā)生10%的失效狀態(tài)為例,其原始仿真數(shù)據(jù)如表1和表2所示.
表1 六旋翼正常時的原始仿真數(shù)據(jù)Tab.1 Original simulation data for normal Six-rotor
其中,NO.代表序號;normal和fault分別用于標注電機處于正常和故障狀態(tài).由表1和表2可得,針對每一次飛行實驗,單個輸出變量均可仿真出150 206條數(shù)據(jù),本文設(shè)計了50種飛行狀態(tài),則總共可仿真出22 530 900條數(shù)據(jù).
表2 六旋翼1號電機失效10%的原始仿真數(shù)據(jù)Tab.2 Original simulation data for NO.1 motor failure 10% of Six-rotor
同理,針對角速度傳感器故障設(shè)計兩種狀態(tài):(1) 三個角速度傳感器均正常時的正常情況;(2) 三個傳感器單獨為偏移故障時的故障情況.針對以上兩種情況,共仿真出16種不同飛行狀態(tài),則總共可仿真出14 419 776條數(shù)據(jù).
快速傅里葉變換(Fast Fourier Transform,F(xiàn)FT)是一種離散傅里葉變換的高效快速算法.本文在MATLAB環(huán)境中實現(xiàn)FFT功能,為后續(xù)故障診斷提供有效的數(shù)據(jù)處理方法.其核心代碼如下.
Fs=100; % 采樣頻率
t=roll.time(11000∶14000); % 采樣時間
y=roll.signals.values(11000∶14000);
%采樣值
L=length(t); % 信號時長
NFFT = 2^nextpow2(L);
Y=fft(y,NFFT)/L; %歸一化處理
f=Fs/2*linspace(0,1,NFFT/2+1);
下面以表1中的Roll_normal為例,對FFT的設(shè)計進行說明:(1) 選取第11 s后的穩(wěn)定狀態(tài)進行分析,即大約40 000條穩(wěn)定數(shù)據(jù);(2) 對每1 000條時域數(shù)據(jù)分別進行相同的FFT處理,并從數(shù)據(jù)集中選取最大值作為當前數(shù)據(jù)條目的最終FFT幅值,并記為Roll_FFT.
針對電機故障,按上述操作得到對應1 000條數(shù)據(jù)的Pitch_FFT與Yaw_FFT值,形成一個特征列向量,并記為[Roll_FFT; Pitch_FFT; Yaw_FFT].同理,針對傳感器故障可得特征列向量[Roll_FFT; Pitch_FFT; Yaw_FFT; Roll_V; Pitch_V; Yaw_V],其中,Roll_V; Pitch_V; Yaw_V分別代表3個姿態(tài)角的角速度.因此,每一次飛行一共可形成40個穩(wěn)定數(shù)據(jù)的FFT特征向量.
綜上所述,針對電機故障最終可得2 000個特征向量,即2 000組數(shù)據(jù)樣本.針對傳感器故障可得640組數(shù)據(jù)樣本.
概率神經(jīng)網(wǎng)絡是一個典型的分類器,其主要包括4部分.如圖4所示,分別為輸入層、模式層、加法層和類別層.輸入層是輸入樣本進入網(wǎng)絡的入口;模式層用于計算各樣本的類別概率;加法層則將模式層同類別的輸出作加權(quán)平均;類別層實現(xiàn)了在bayes原理基礎(chǔ)上,選取最大后驗概率的類別作為輸出類別[13-14].
圖4 概率神經(jīng)網(wǎng)絡模型Fig.4 Probabilistic neural network model
本文利用MATLAB的庫函數(shù)newpnn建立PNN模型[15-16].其表達式為newpnn(P,T,SPREAD),其中參數(shù)有特征輸入矩陣P、類別向量T以及延伸因子SPREAD.下面詳細介紹網(wǎng)絡建立的步驟.
(1) 分別定義六旋翼無人機電機和角速度傳感器的模式類別標簽.如表3和表4所示.
表3 電機模式類別標簽Tab.3 Motor mode category label
表4 角速度傳感器模式類別標簽Tab.4 Angular velocity sensor mode category label
(2) 針對電機故障,本文從2 000組數(shù)據(jù)樣本中隨機選取700組構(gòu)成3700維的訓練樣本,并形成對應模式類別向量,同時對輸入樣本實現(xiàn)歸一化.然后將剩余1 300組數(shù)據(jù)作為網(wǎng)絡的測試樣本;同理,針對傳感器故障,從640組數(shù)據(jù)樣本中隨機選取200組作為訓練樣本,將剩余440組作為測試樣本.
(3) 利用newpnn函數(shù)建立PNN模型,并設(shè)置相關(guān)參數(shù)后,進行概率神經(jīng)網(wǎng)絡的建立與訓練.
(4) 重新載入已訓練的PNN模型,對原有訓練集和更新測試集進行模式識別,并分析結(jié)果.
首先利用700組訓練樣本對PNN網(wǎng)絡進行訓練,然后將這700組數(shù)據(jù)作為測試樣本重新輸入至網(wǎng)絡模型,以分析該網(wǎng)絡的故障模式識別能力,結(jié)果如圖5所示.
由圖5可得,700組輸入樣本中有38組數(shù)據(jù)出現(xiàn)了誤診斷,其準確率達到94.6%,可見網(wǎng)絡的訓練效果比較可觀.接下來,將剩余1 300組測試樣本,輸入到網(wǎng)絡模型中作進一步的故障模式識別.具體預測結(jié)果如圖6所示.
圖5 電機故障的概率神經(jīng)網(wǎng)絡訓練效果Fig.5 Probabilistic neural network training effect of motor fault
圖6 電機故障的概率神經(jīng)網(wǎng)絡預測效果Fig.6 Probabilistic neural network prediction effect of motor fault
由圖6可得,1 300組測試樣本中大約有90組數(shù)據(jù)出現(xiàn)了誤診斷,準確率達到93.1%.由此可見,該PNN模型對無人機電機具有良好的故障模式識別能力,其故障診斷能力得到了驗證.
同理,首先利用200組訓練樣本對PNN網(wǎng)絡進行訓練,然后再將此數(shù)據(jù)作為測試樣本重新輸入至網(wǎng)絡模型中進行分析,具體結(jié)果如圖7所示.
圖7 傳感器故障的概率神經(jīng)網(wǎng)絡訓練效果Fig.7 Probabilistic neural network training effect of sensor fault
由圖7可得,200組輸入樣本中存在8組數(shù)據(jù)識別錯誤,其準確率達到96%,可見網(wǎng)絡的訓練效果十分可觀.我們再利用剩余440組測試樣本作進一步的模式識別.具體預測結(jié)果如圖8所示.
圖8 傳感器故障的概率神經(jīng)網(wǎng)絡預測效果Fig.8 Probabilistic neural network prediction effect of sensor fault
由圖8得,440組測試樣本中有25組數(shù)據(jù)存在誤診斷,其準確率達到94.3%.從而驗證了該PNN模型對無人機傳感器的故障模式識別能力.
本文在六旋翼Simulink仿真模型基礎(chǔ)上,分別針對電機失效和角速度傳感器的單故障模式,提出了一種基于FFT的概率神經(jīng)網(wǎng)絡故障診斷模型.首先在Simulink平臺上對六旋翼無人機完成了數(shù)學建模;其次設(shè)計了無人機的仿真飛行試驗以及FFT處理方法;然后在MATLAB環(huán)境下實現(xiàn)了概率神經(jīng)網(wǎng)絡模型的設(shè)計與建立,并通過此網(wǎng)絡模型對電機失效和傳感器偏移故障進行了模式分類,驗證了其良好的故障模式識別能力與網(wǎng)絡預測能力.由于本文建模所考慮的外界干擾不全面,同時仿真數(shù)據(jù)有限,因此未來還需進行一步設(shè)計該故障診斷模型,并提供更多的數(shù)據(jù)支持.