姜保軍,曹 浩
(重慶交通大學 a.機電與車輛工程學院;b.城市軌道車輛系統(tǒng)集成與控制重點實驗室,重慶 400074)
齒輪箱是機械設備中常用裝置,一旦發(fā)生故障,將會導致機器設備無法正常工作,因此,對齒輪箱故障進行檢測有著重要的意義。齒輪箱的故障信號具有非平穩(wěn)性以及復雜性等特點,其故障診斷方法的研究主要包括特征提取和模式識別這兩方面的工作。在特征提取方面,常見的特征提取方法主要包括時域分析[1]、小波變換[2-4]和能量譜等。文獻[5]提出了一種利用時序分析方法提取齒輪箱故障特征最終獲得較好的實驗結果,文獻[6]利用小波和能量譜的分析方法對風電機組齒輪箱故障進行診斷,該方法能準確地診斷出故障的形式以及位置。由此可見,小波分解是一種有效的齒輪箱故障診斷方法,對于機械設備的故障診斷具有重要意義。
在模式識別方面,主要的方法包括BP神經網絡[7]、支持向量機(support vector machine,SVM)[8]和深度學習[9]等。BP神經網絡算法收斂的速度較慢,并且容易陷入局部極值從而導致網絡訓練失敗[10],支持向量機在小樣本的分類能力上具有獨特的優(yōu)勢[11],但是在故障診斷的過程中受參數選取的影響較大,通常和參數優(yōu)化算法結合起來完成故障的診斷,常用的參數優(yōu)化方法包括網格劃分法、遺傳算法優(yōu)化(Genetic Algorithm,GA)[12]和粒子群優(yōu)化算法(Particle Swarm optimization,PSO),粒子群優(yōu)化算法容易陷入局部最優(yōu),并且在算法上容易不穩(wěn)定[13]。深度學習主要利用含有多隱層的多層感知器進行機器學習提取更加抽象的類別屬性以及特征,其訓練過程需要在大量的樣本下進行學習并且需要耗費較長的時間[14]。
綜上所述,選擇合適的特征提取方法以及識別模型對于齒輪箱故障檢測十分重要。針對復雜且非平穩(wěn)的齒輪箱故障信號,本文提出了一種基于小波分解和樣本熵的遺傳優(yōu)化支持向量機的齒輪箱故障診斷方法,該方法利用3層小波對齒輪箱故障信號進行分解,對分解后的信號進行樣本熵計算,并將結果輸入到用遺傳優(yōu)化方法優(yōu)化后的支持向量機中進行分類,實驗結果表明優(yōu)化后的分類模型具有更高的準確率。
小波分解是一種比較常用的信號處理方法。多尺度分解是由Mallat等人在進行正交小波基構造時提出的,按照多分辨分析理論,其分解尺度越大,分解的系數長度越小,對于任意的信號f(x)∈L2(R)均可以分解低頻部分(近似部分)和高頻部分(細節(jié)部分),而接近部分最能反映信號的本質信息,高頻部分則和噪音相關[15]。多尺度分析只對低頻部分進行進一步分解,而高頻部分則不考慮,因此,信號f(x)可以分解為:
f(x)=An+Dn+Dn-1+Dn-2+…+D2+D1
(1)
其中,An代表低頻近似部分,Dn代表高頻細節(jié)部分,n代表分解層數。對于?Ψ∈L2(R),如果Ψ(t)的Fourier 變換Ψ(w)滿足條件:
(2)
(3)
根據分解的需要,可對所得到的低頻部分作進一步的分解,這樣就能到更低頻部分的信號以及頻率相對較高部分的信號,然而信號的分解層數不是任意的,其最多可分解成log2N層,其中N為信號的長度。在實際過程中,可根據需要選擇合適的分層數。
設時間序列x(n)是由N個數據構成,其計算過程如下:
(1)重構一組m維的向量序列X(1),X(2),X(3),…,X(N-m+1),其中,Xm(i)=[x(i),x(i+1),x(i+2),…,x(i+m-1)],1≤i≤N-m+1。
(2) 計算Xm(i)和Xn(j)之間的距離d(i,j),計算公式如下:
d(i,j)=|x(i+k)-x(j+k)|,0≤k≤m-1
(4)
(5)
(6)
(5)令k=m+1,重復(2)和(3)步驟,得到Bm+1(r)。
(6)求出樣本熵SampEn
(7)
由于在實際的計算過程中,N的值不可能無限大,因此當N有限時,其樣本熵的估計值為:
(8)
由于參數m和r的取值直接決定最后樣本熵的計算結果,因此,本文在對小波系數進行計算的過程中,m設置為2,r設置為0.2。
支持向量機(Support Vector Machine,SVM)是由Vapnik 提出來的,其主要思想是建立一個決策分類的超平面作為決策曲面,在解決小樣本、非線性以及高維模式下的識別問題中具有特有的優(yōu)勢,其二分類的支持向量機具體形式如下:
給定含有m個樣本的樣本:
T={(x1,y1),(x2,y2),…,(xl,yl)}∈(X×Y)l
(9)
xi∈X=Rn,yi∈Y={1,-1}(i=1,2,…,l),xi為特征向量。在解決實際問題時,需要選擇合適的核函數K(x,x′)和適當的參數C,以達到最優(yōu)解目的。常見的核函數有三種,即:
線性核函數:
K(x,xi)=xΤxi
(10)
多項式核函數:
K(x,xi)=(γxTxi+r)p,γ>0
(11)
徑向基核函數:
(12)
本文選擇徑向基核函數作為SVM模型的核函數。
遺傳優(yōu)化算法(Genetic Algorithm ,GA)是一種更大范圍的尋求全局最優(yōu)解的算法,它是一種高效、實用且魯棒性強的技術?;贑V(Cross Validation)意義下的GA優(yōu)化算法流程如圖1所示。
圖1 CV意義下的GA遺傳優(yōu)化算法流程圖
本文利用GA算法對SVM的參數進行尋優(yōu),具體的實驗流程如下:
(1)對原始數據進行初步截斷處理,以1024個樣本點為基準對其進行截斷。
(2)對截斷后的數據進行小波分解和樣本熵計算,構建數據樣本特征。
(3)對提取的特征進行歸一化處理,歸一化的范圍為[0,1]之間,對歸一化的特征參數數據集進行訓練集和測試集劃分,并設置相應的訓練集標簽和測試集標簽。
(4)設置遺傳算法初始化參數:種群進化代數為200,種群數量為20,懲罰因子c的取值范圍為[0,100],徑向基參數g的參數范圍為[0,100],k-折交叉驗證法中的k為5,采用CV意義下訓練集精度作為GA的適應度函數值。
(5)利用GA算法選擇出最佳的參數c和g,利用訓練集訓練齒輪箱故障診斷模型。將測試集輸入到訓練好的SVM模型中進行測試,然后輸出測試結果。
為了驗證本文提出方法在齒輪箱故障診斷中的效果,使用QPZZ-II實驗平臺模擬齒輪箱故障,獲得正常、磨損故障、斷磨故障(大齒輪斷齒和小齒輪磨損)、斷齒故障、點蝕故障(大齒輪點蝕)和點磨故障(大齒輪點蝕和小齒輪磨損)這6種齒輪箱狀態(tài)數據。數據采樣頻率為5120Hz,每個齒輪箱狀態(tài)記錄由9個通道進行數據采集,所有的數據均在轉速為1470rpm和轉速為880rpm下得到,為了驗證相同轉速下不同負荷時齒輪箱的運轉狀態(tài),在880rpm的工況下,分別加載0.2A、0.1A、0.05A制動力矩輸出電流。4種不同工況下共獲得4類數據集,即A、B、C、D數據集,為了驗證本文模型在復雜工況下對齒輪箱的故障診斷效果,將相同故障類型數據樣本組合在一起構成復合型數據集E。在進行數據預處理的過程中,將數據樣本以1024個數據點為基準進行截斷,最終同一工況下每種類型數據將得到52個樣本,具體的數據如表1所示。
表1 齒輪箱狀態(tài)樣本表
續(xù)表
對每一類故障數據進行截斷之后,需要獲得表征齒輪箱類型的特征值,本文采用小波分解和樣本熵的方法對樣本數據進行特征提取??紤]到小波分解尺度太大會增加數據計算的復雜性,尺度太小可能導致信號分解不徹底,因此本文選擇3尺度的小波對樣本信號進行分解。在進行3層小波分解時采用db4小波基,然后分別提取不同尺度下分解后的低頻系數和高頻系數,最后計算其系數的樣本熵值,由于一個樣本記錄由9個通道的數據組成,每一個通道截斷后的樣本數據通過上述方法處理后得到4個樣本熵值,因此一個記錄共得到36個樣本熵值,最終每個樣本由36個樣本熵值組成的特征向量表征。利用T-SNE[16]流形學習方法對數據集E進行二維可視化,其結果如圖2所示。
圖2 數據集E特征可視化結果
從可視化結果可知,對于數據集E中的6類齒輪箱狀態(tài)特征數據,同一種類別的數據被有效地聚集起來,而不同類別的數據之間呈現較好地分離狀態(tài)。這說明原始信號經過小波分解和樣本熵的特征提取方法后所得到的特征數據具有較好的分類性。
對于數據集A、B、C、D,每個數據集均有312組樣本,其中每類故障樣本數均為52。從每類狀態(tài)樣本中隨機選擇26個樣本作為訓練樣本,剩余26個樣本作為測試樣本,最終每種工況得到的訓練集樣本數為156和測試集樣本數為156個。隨機進行10次試驗,將最后得到的準確率取平均值,其結果如表2所示。
表2 SVM模型和GA-SVM模型隨機試驗10次平均結果
從表2可以看出,對應數據集A而言,雖然正常樣本的識別率大體相當,但是其余故障類型的識別率均是GA-SVM分類模型比較高,對于數據集B而言,兩個模型每類狀態(tài)樣本的識別率整體相當,這可能是樣本的特征值均具有較高的區(qū)分性。對于數據集C和數據集D而言,除了正常樣本、磨損樣本以及點蝕樣本的識別率相當之外,其余類別的樣本識別率均是GA-SVM模型高于SVM模型,因此進行參數優(yōu)化的SVM識別模型具有更有效的識別率。
為了驗證復雜工況下,本文提出模型的實驗效果,利用數據集F進行試驗,其中“NOR”代表正常樣本,“MS”代表磨損故障樣本,“DM”代表斷磨故障樣本,“DC”代表斷齒故障樣本,“DS”代表點蝕故障樣本,“DM1”代表點磨故障樣本, 實驗結果如圖3、圖4 和表3所示。
圖3 GA算法適應度曲線
圖4 GA-SVM測試集樣本分類結果
表3 GA-SVM算法分類結果
從圖3中可以看出,通過遺傳算法優(yōu)化后得到的最佳懲罰因子參數值c為44.5004,徑向基參數g的值為0.18911,CV意義下的準確率為98.89%。由圖4可以看出,在624個樣本中,只有8個樣本預測錯誤,從表3可以得出,正常樣本和斷齒故障樣本的識別準確率為99%(103/104),磨損和點蝕故障樣本的識別準確率為100%(104/104),點蝕磨損的識別準確率為96.2%(100/104),平均準確率為98.7%(616/624)。由此可見,GA-SVM模型能較好的用于齒輪箱故障診斷,并能獲得較高的識別準確率。
為了進一步驗證分類模型的實驗效果,分別構建傳統(tǒng)的SVM、GA-SVM、BP神經網絡和SAE(稀疏自編碼器),其中SVM模型的核函數為RBF核函數(徑向基核函數),BP神經網絡輸入層節(jié)點數為36、隱含層節(jié)點數為37、輸出層節(jié)點數為6, SAE由兩層的稀疏自編碼器構建,其第一層隱含層節(jié)點數為80,第二層隱含層節(jié)點數為30,利用Softmax作為分類器。選擇數據集A、C和E隨機進行10次試驗,選擇數據A、C和E的原因是這幾類數據是常見工況下的故障數據類型,其結果如圖5、圖6和圖7所示。
圖5 數據集A隨機10次試驗準確率
圖6 數據集C隨機10次試驗準確率
圖7 數據集E隨機10次試驗準確率
從圖5~圖7中可以看出,在隨機試驗過程中,SVM模型和GA-SVM模型得到的實驗結果均高于其他模型,而所有數據集中GA-SVM分類模型所得到的準確率均高于單獨使用SVM分類模型所得到的準確率,并且波動比較小,相對比較穩(wěn)定,這說明遺傳優(yōu)化算法能對SVM中的核函數的參數進行優(yōu)化并能提高分類器的性能。對于數據集A、C、E,經過SAE堆棧所得到分類模型的準確率不穩(wěn)定,并且在數據集A中得到的分類準確率最低,因此深度學習網絡適用于解決大量樣本數據的分類問題。
在齒輪箱的故障診斷中,常見的故障診斷只是針對于點蝕、磨損以及斷齒進行故障診斷,本文針對齒輪箱4種工況下6類齒輪箱狀態(tài)樣本進行診斷,得出如下結論:
(1)利用小波分解和樣本熵方法對信號數據進行特征提取,能達到不同類別樣本具有較好區(qū)分度的目的。
(2)GA算法能對SVM的核函數參數和懲罰因子參數進行優(yōu)化,將優(yōu)化后的參數值輸入SVM模型中能獲得較高的分類識別率,且準確率均高于單獨使用SVM分類模型、BP神經網絡模型、經過SAE堆棧得到的深度學習模型,因此本文提出的方法適用于解決多工況下齒輪箱故障分類問題。