李志鵬,邵憲友,張東興,楊傳英
(東北林業大學交通學院,哈爾濱 150040)
為突破傳統的以技藝與經驗為主的汽車發動機故障診斷技術的瓶頸,建立以現代技術為基礎的故障診斷新理論,逐漸完善診斷系統的科學理論體系成為當今發動機故障診斷領域的重要發展趨勢。
人工神經網絡(artificial neural network,ANN)是對生物或人腦神經網絡的抽象表現,建立的模型以類似自然界生物的交互方式適應環境,具備從周圍環境學習的能力。以認知神經科學和腦科學理論為基礎的神經網絡為實現自動化控制、處理復雜問題提供了更多有效的途徑。其中BP神經網絡能夠以任意計算精度逼近控制系統的非線性函數,因而得到了非常廣泛的應用[1-9]。同時,BP網絡還能以較高的運算效率對所接受信息并行處理,自我學習能力、組織性以及創造性較強,且具有很好的魯棒性和容錯性,在汽車故障診斷領域具有廣闊的發展前景。
BP(Back-Propagation)神經網絡算法不僅包括輸入與輸出節點層,而且還有隱含節點層,其中隱含層可以是單層,也可以是多層。只要具備充分多的隱含層單元數,就能夠以任意計算精度逼近任意有限維函數。圖1為3層 BP神經網絡模型[10]。

圖1 3層BP神經網絡模型
設輸入層神經元有 n個,xi(i=1,2,…,n)表示其輸人,隱含層內有l個神經元,bh(h=1,2,…,l)表示隱層的輸出,輸出層內有m個神經元,yj(j=1,2,…,m),網絡的輸入矢量 X=(x1,x2,…,xn),中間層輸出矢量為 B=(b1,b2,…,bl),則有

式中:vhi為輸入層到隱含層的權值;θi為隱層的閾值。輸出層的輸出矢量Y=(y1,y2,…,ym),則有

式中:wij為隱含層到輸出層的權值;θj為輸出層的閾值。
式(1)、(2)中 f(·)為激活函數。一般情況下,f(·)不能為線性函數,否則神經網絡不能實現非線性映射特性。選取Sigmoid函數(簡稱S函數),其表達式為,系數λ取決于函數的壓縮程度。
BP算法的基本原理:網絡的學習過程由信號的正向傳播與誤差的反向傳播組成。正向傳播時,輸入樣本從輸入層輸入,經各個隱含層處理后傳向輸出層。如果輸出層的實際輸出與期望的輸出不符,則算法轉入誤差反向傳播階段。誤差反向傳播階段是將輸出誤差以某種形式經過隱含層向輸入層逐層反傳,并將誤差分攤給各層的所有神經元,從而獲得各層神經元的誤差信號。此誤差信號被作為修正各個神經元權值的依據。這種信號正向傳播與誤差反向傳播的各層權值調整過程周而復始地進行,權值也在不斷地調整,這就是網絡的學習訓練過程[11]。BP網絡學習的實質就是求取誤差函數最小值的問題。該算法采用學習規則,按誤差函數的負梯度方向修改權值。
在無負荷怠速(800 r/min左右)和加速工況(1800 r/min左右)的兩種狀態下,以韓國現代公司生產的Grander系列V63000汽油發動機為實驗對象,人為設置發動機常見的6種故障類型,即無故障(正常狀態)、空氣流量傳感器故障、節氣門位置傳感器故障、氧傳感器故障、點火線圈故障、噴油器故障。利用X-431診斷儀和AUTO5-1型尾氣分析儀測量傳感器故障數據流與尾氣排放故障的信息。
訓練樣本集(即故障征兆集)應適用于對網絡進行學習訓練,其對故障診斷起著關鍵的作用。訓練樣本集不僅應全面涵蓋所選故障模式類的數據,還應具有一定的代表性,并且還必須保證學習的有效性。表1是各類故障對應的理想輸出值。
當相應的故障發生時,其故障模式位輸出代碼為1。
本文采用傳統的3層BP神經網絡對電控發動機故障進行診斷,輸入數據為提取的相應數據流信號特征值,輸出是對故障原因進行的相應編碼。以發動機轉速、節氣門開度傳感器、空氣流量傳感器、氧傳感器、空氣溫度傳感器及發動機的排放信息的特征值作為網絡的輸入值,以理想的輸出作為網絡輸出值。執行器、傳感器故障特征因素及故障原因如表2所示。

表1 各種故障對應的理想輸出值

表2 故障特征因素及故障原因
以故障原因Y=(y1y2y3y4y5y6)T作為輸出,y1,y2,y3,y4,y5,y6分別代表發動機無故障、噴油器故障、點火線圈故障、節氣門開度傳感器故障、空氣流量傳感器故障、氧傳感器故障。輸出節點數等于所能識別的故障類型數,所以取6個輸出節點,相應的故障類型對應輸出神經元的輸出結果。以故障參數X=(x1x2x3x4x5x6x7x8x9x10)T作為樣本輸入,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10分別代表 CO(10-2),CO2(10-2),O2(10-2),HC(10-6),NOx(10-6)含量和發動機轉速、節氣門開度、空氣流量傳感器、氧傳感器、進氣溫度傳感器的數值信號。以多組不同故障類型下的樣本來訓練所搭建的神經網絡,從而建立起故障類型與故障模式之間的映射關系。
對于一般的模式識別及故障診斷問題[12],3層BP神經網絡就可以很好地解決。根據故障樣本的特點,設置輸人節點數為10,隱含層節點數為17,輸出層節點數為6。建立BP神經網絡,并且設定其歩長、目標、顯示間隔、學習率等。用train函數來對網絡進行訓練,相應的訓練語句如下:

程序運行完畢出現如圖2所示的BP神經網絡模型訓練界面。

圖2 BP神經網絡模型訓練界面
為更好地提高數據的有效性,在無負荷怠速(800 r/min左右)和加速工況(1800 r/min左右)兩種狀態下,采集6種常見故障的多組各10個發動機的樣本數據,從中隨機選出兩組(表3、4)。由于大部分相對于測量值比較大的波動會破壞神經網絡的學習過程,使其不能反映小測量值變量的變化,而且網絡是通過調整各層權值的大小來學習變量相對重要性的。若輸入變量幅值相差太大,則網絡完成學習時權值之間的大小相差很大,導致診斷結果偏差過大,所以對其樣本數據進行歸一化處理,所得數據如表5、6所示。
利用表5、6中已經歸一化的數據樣本進行訓練。在訓練函數trainglm的訓練下其網絡訓練誤差平方和隨訓練步數的變化曲線如圖3所示。從圖3(a)中可見:在怠速狀態下,在模型訓練迭代到第24步時,訓練誤差平方和為0.000057463,此時達到最小值;在加速狀態下,迭代到第13步時,訓練誤差平方和為0.0000149。兩者都在期望誤差0.001范圍內,且訓練時間很短。這說明BP神經網絡訓練步數和訓練時間少、收斂速度快,利用此神經網絡能快速診斷出發動機故障。
利用己經訓練好的神經網絡權值,將采集的待診斷樣本數據進行歸一化處理,再輸入到BP網絡中進行仿真,以此來驗證BP神經網絡診斷故障的準確性。待診斷數據經歸一化處理后見表7、8,其診斷結果如表9、10所示。

表3 怠速狀態下的故障樣本數據

表4 加速狀態下的故障樣本數據

表5 怠速狀態下的訓練樣本

表6 加速狀態下的訓練樣本

圖3 BP神經網絡訓練誤差平方和隨訓練步數的變化曲線

表7 怠速狀態下驗證數據

表8 加速狀態下驗證數據

表9 驗證診斷結果1

表10 驗證診斷結果2
1)對比怠速和加速兩種狀態下的驗證診斷結果,實際輸出值與期望輸出值很接近,驗證了所建神經網絡模型的準確性及有效性。
2)通過訓練后的BP神經網絡能準確診斷電控發動機的故障,可進一步完善后將其理論運用到汽車尾氣分析儀中,使分析儀不僅檢測尾氣參數,還可根據尾氣值的數量關系判斷發動機的相應故障,降低故障檢測的勞動強度和成本,提高故障診斷效率。
[1]董長虹.Matlab神經網絡與應用[M].北京:國防工業出版社,2005.
[2]陳瑜,胡毅.基于BP神經網絡的發動機故障診斷研究[J].計算機應用技術,2008(1):81.
[3]李書明,黃燕曉,程關兵.應用BP神經網絡方法的民航發動機故障診斷[J].中國民航大學學報,2012,25(1):40.
[4]蘭勝坤.遺傳算法優化BP神經網絡的說話人識別系統[J].重慶理工大學學報:自然科學版,2013(10):91-95.
[5]鐘宇平,王麗丹,段書凱,等.基于神經網絡及強化學習的智能控制系統[J].西南大學學報:自然科學版,2013(11):172-180.
[6]江雷,任德奎,張寧,等.BP神經網絡在裝備保障性評估中的應用[J].四川兵工學報,2014(10):74-76.
[7]鄭丹平,朱名日,劉文彬,等.基于BP神經網絡的冷極射頻消融凝固灶預測研究[J].激光雜志,2014(11):95-97.
[8]郭陽明,冉從寶,姬昕禹,等.基于組合優化BP神經網絡的模擬電路故障診斷[J].西北工業大學學報,2013(1):44-48.
[9]羅學東,范新宇,代貞偉,等.BP神經網絡模型在露天礦爆破振動參數預測中的應用及修正[J].中南大學學報:自然科學版,2013(12):5019-5024.
[10]Jian-Ping Wang,Xiao-Min Li,Yong Hang.Motor failure diagnosis based on ant colony algorithm and BP neural network[M].Noise:Vibration Worldwide,2011.
[11]肖云魁.汽車故障診斷學[M].北京:北京理工大學出版社,2001.
[12]Kosmas Kosmidis,Antonios Stavropoulos.Corporate failure diagnosis in SMEs:A longitudinal analysis based on alternative prediction models[J].International Journal of Accounting and Information Management,2014(6):221.