王書暢 , 方 達
(1.湖北西塞山發(fā)電有限公司,湖北 黃石 435000;2.武漢交通職業(yè)學院,湖北 武漢 430065)
隨著我國智能制造不斷發(fā)展,數(shù)控機床作為制造的最終端,在生產(chǎn)加工中的作用日益增強。數(shù)控機床機械結(jié)構(gòu)復雜,控制精度極高,若其發(fā)生故障,不僅會威脅生產(chǎn)人員的生命安全,還會對加工零件和機床本身造成損壞[1]。因此,研發(fā)人員在設計產(chǎn)品時有以下兩方面的目標:首先,要保證數(shù)控機床安全穩(wěn)定運行,盡量降低設備的故障率;其次,有在故障發(fā)生后快速判斷故障類型的智能方法[2]。實現(xiàn)智能檢測是企業(yè)亟需實現(xiàn)一項重大功能,同時也是實現(xiàn)智能制造的重要途徑[3]。當前,常見的智能診斷方法有以下幾種:模糊控制、專家系統(tǒng)、人工神經(jīng)網(wǎng)絡、基于向量機、故障樹分析法、小波分析、粗集理論等[4],本文主要使用BP神經(jīng)網(wǎng)絡進行故障診斷。
人工神經(jīng)網(wǎng)絡簡稱神經(jīng)網(wǎng)絡,它是一種通過模仿動物神經(jīng)網(wǎng)絡行為從而建立分布式信息并行運算的數(shù)學模型。這種網(wǎng)絡系統(tǒng)連接極其復雜,在處理信息時需要不斷調(diào)整內(nèi)部大量節(jié)點相互之間的連接關系。BP神經(jīng)網(wǎng)絡由Rumelhart和McClelland等人于1986年提出,是一種按照誤差逆向傳播算法訓練的多層前饋神經(jīng)網(wǎng)絡,目前得到了廣泛的應用。BP神經(jīng)網(wǎng)絡可以將任何復雜的模式進行分類,同時可以擬合任意非線性函數(shù),其主要由輸入層、隱含層和輸出層組成[5]。圖1為一個典型三層BP神經(jīng)網(wǎng)絡模型,層與層之間的元素相連,同一層不連,其中隱含層可以有多層。
圖1 三層BP神經(jīng)網(wǎng)絡結(jié)構(gòu)圖
其中,X1,X2,X3,…,Xm代表輸入層的輸入?yún)?shù),O1,Ok,…,On代表輸出層的輸出參數(shù),ωij代表隱含層第i個節(jié)點連接輸入層第j個節(jié)點間的權(quán)值,θi代表隱含層第i個節(jié)點的閾值,Φ代表隱含層的激勵函數(shù),ωki代表輸出層節(jié)點到隱含層節(jié)點的權(quán)值,ak代表輸出層第k個節(jié)點的閾值,Ψ代表輸出層的激勵函數(shù),Ok代表輸出層第k個節(jié)點的輸出。在相鄰的層之間有兩個方向的信號在傳遞:一個是輸入信號,主要從輸入到輸出方向傳播,將輸入通過隱含層和輸出層進行計算;另一個是反向傳播誤差信號,主要用于修改權(quán)值和閾值從而減少誤差。BP神經(jīng)網(wǎng)絡計算過程如下:
1)輸入信號的前向傳播原理。隱含層第i個節(jié)點的輸入neti為:
隱含層第i個節(jié)點的輸入Oi為:
輸出層第k個節(jié)點的輸入netk為:
輸出層第k個節(jié)點的最后輸出Ok為:
2)誤差的反向傳播。根據(jù)輸出層的輸出誤差,計算出總誤差。按照梯度下降法來調(diào)整各層的權(quán)值和閾值,使得最終的誤差值能達到期望值。假設共有p個樣本,則總誤差函數(shù)為:
依據(jù)誤差梯度下降法,依次計算隱含層的權(quán)值修正值Δωij和閾值修正值Δθi,然后計算輸出層權(quán)值修正值Δωki和輸出層閾值修正值Δa。
整個BP神經(jīng)網(wǎng)絡工作流程如圖2所示。
圖2 BP神經(jīng)網(wǎng)絡工作流程
BP神經(jīng)網(wǎng)絡具有簡單、易于計算、并行性強等優(yōu)點,現(xiàn)廣泛用于神經(jīng)網(wǎng)絡訓練中[6],其本質(zhì)是找到誤差函數(shù)最小值的最優(yōu)解。由于使用非線性算法中的最速下降法通過負梯度方向修改權(quán)值和閾值,故存在以下問題:首先是學習效率較低且收斂速度較慢,然后可能會陷于局部極小值附近,造成錯誤值。為解決該問題,使用附加動量法來進行修正[7]。附加動量法在BP神經(jīng)網(wǎng)絡修改權(quán)值和閾值時,不僅加上誤差在梯度上的分量,同時還加上在誤差曲面上的變化趨勢。利用這個變化趨勢,可以劃過一些極小值,避免陷于其附近[8]。在沒有附加動量的作用下,網(wǎng)絡可能陷入淺的局部極小值,利用附加動量的作用則可能劃過這些極小值。新的加上附加動量因子的權(quán)值和閾值調(diào)節(jié)公式為:
式中,k表示訓練次數(shù);mc表示動量因子,取0.95。
整個數(shù)控機床故障檢測平臺使用凱恩帝K2000MC(i)新一代總線式高檔加工中心數(shù)控系統(tǒng)。本研究以該數(shù)控銑床加工中心為例,收集常見的主軸電氣故障,分析對應的電氣故障點,并一一列出。圖3為本次使用的數(shù)控機床平臺。
圖3 凱恩帝數(shù)控機床故障檢測平臺
由圖3可知,電路圖中有很多電壓檢測點,通過采集電壓可以判斷故障類型及故障點。整個系統(tǒng)監(jiān)測點很多,本研究選擇與主軸電機相關部分。考慮到不同故障類型電壓值變化較大,且比較依賴個人的分析能力,故嘗試使用BP神經(jīng)網(wǎng)絡來進行自動判斷。主軸部分電氣控制圖如圖4所示。
圖4 主軸部分電氣控制圖
主軸電氣控制圖主回路元器件包括隔離開關QS1、QS2、變壓器、斷路器QF1和接觸器KM;二次回路包括QF2和接觸器線圈KM。在圖中數(shù)字位置設置電壓采樣點,在QS1后接線端1處采集平均電壓,2處采集斷路器QF1處平均電壓,3處采集KM主觸頭后接線端電壓,4處采集QS2后端平均電壓,5處采集變壓器交流電壓,6處采集QF2后端電壓。將統(tǒng)計的電壓值使用歸一法,將其值限制在0到1之間。表1為6種不同故障的訓練樣本。
表1 數(shù)控機床主軸電氣故障訓練樣本
取輸出向量Y表示故障產(chǎn)生的原因,具體如下:Y1為主電路沒有通電;Y2為QF1沒有正常接通; Y3為接觸器主觸頭接觸不良;Y4為刀開關沒有完全閉合;Y5為變壓器接觸不良;Y6為QF2沒有正常接通。故障訓練樣本的目標輸出如表2所示。通過訓練使目標盡量滿足目標輸出。
表2 故障訓練樣本目標輸出
由表2可知,網(wǎng)絡的輸入層為6,輸出層為6,根據(jù)經(jīng)驗公式確定隱含層為12。這里隱含層節(jié)點使用的傳遞函數(shù)為Sigmoid函數(shù),輸出層節(jié)點使用的傳遞函數(shù)為線性函數(shù)。網(wǎng)絡訓練函數(shù)采用梯度下降法和附加動量法兩種方法,對比訓練效果。網(wǎng)絡的訓練參數(shù)設置如下:
兩種方法唯一的不同在于訓練函數(shù),梯度下降法使用的是traind,而附加動量法使用的是trainlm。
即最大訓練次數(shù)為1 000,目標誤差達到0.02。通過仿真得到梯度下降法的收斂效果如圖5所示。
圖5 梯度下降法的BP神經(jīng)網(wǎng)絡訓練收斂圖
由圖5可知,梯度下降的BP神經(jīng)網(wǎng)絡在經(jīng)過200次迭代后,網(wǎng)絡的誤差性能未達到期望的要求,誤差最小為2.777 8×10-2。
附加動量法的BP神經(jīng)網(wǎng)絡訓練收斂圖如圖6所示。由圖6可知,附加動量法的BP神經(jīng)網(wǎng)絡在經(jīng)過8次迭代后,訓練輸出的誤差性能滿足了期望的目標,并且誤差最小為1.690 4×10-3。可見基于附加動量法的BP網(wǎng)絡收斂速度很快。
圖6 附加動量法的BP神經(jīng)網(wǎng)絡訓練收斂圖
將圖5與圖6相比,可知基于附加動量法改進的BP神經(jīng)網(wǎng)絡比傳統(tǒng)BP神經(jīng)網(wǎng)絡的收斂速度更快,并且避免了經(jīng)典BP神經(jīng)網(wǎng)絡極易陷入局部極值的缺陷。故在數(shù)控機床主軸電氣系統(tǒng)的故障診斷中,采用基于附加動量法的BP神經(jīng)網(wǎng)絡方法[9]。
針對完成訓練好的BP網(wǎng)絡,采集若干次主軸故障作為檢驗。輸入向量x為:
則經(jīng)過網(wǎng)絡計算的故障向量y為:
與目標結(jié)果y=[0 1 0 0 0 0 ; 0 0 0 1 0 0]基本一致,與期望輸出值相吻合,因此該模型可以滿足診斷需求。
將神經(jīng)網(wǎng)絡算法應用于數(shù)控機床的電氣故障診斷,是智能診斷的形式之一。將Matlab作為仿真平臺,可以提高數(shù)控機床的控制精度和故障診斷準確度。伴隨著數(shù)控技術(shù)和人工智能的發(fā)展,各種先進的故障診斷平臺也會變得更加智能化,同時需要采集的信息也會越來越多。如何增加更多的信息、處理繁多的信息將會是未來數(shù)控機床故障診斷的趨勢。將神經(jīng)網(wǎng)絡優(yōu)勢與其他算法相結(jié)合來提高診斷的速度和準確率,是今后的研究方向[10-11]。