李孟克,許昕,潘宏俠,1b,張航,高俊峰,劉燕軍
(1. 中北大學 a. 機械工程學院;b. 系統辨識與診斷技術研究所,山西 太原 030051;2. 中車永濟電機有限公司,山西 永濟 044500;3. 內蒙古一機集團,內蒙古 包頭 014030; 4. 內蒙古北方重工集團,內蒙古 包頭 014000)
供輸彈系統是一種復雜的機電液一體化系統,其內部結構復雜、外部工作環境惡劣,對其采集的信號中常夾雜著大量的干擾信號,因而導致用于供輸彈系統故障診斷的特征參量中常常會出現數量不足或多余,甚至也會出現這些特征參量出現沖突矛盾的現象。這給供輸彈系統故障的有效識別帶來了極大難度。因此急需一種有效的辦法來解決這種問題,這將對我國火炮的可靠性和安全性具有深遠而又重要的影響[1]。
本文使用蟻群優化支持向量機(ACO-SVM)算法對供輸彈系統進行故障診斷。首先從供輸彈系統的振動信號中提取特征,然后使用ACO-SVM算法對其不同工況的特征參量進行故障診斷,并與支持向量機(SVM)算法進行對比。

(1)
式中:Jkξ(i)={S-tabuξ}表示第ξ個螞蟻下一步要選擇的食物源節點;η表示路徑的啟發信息;α表示路徑上信息量的相對重要性;β表示啟發信息的相對重要性[3]。
當其完成對m個食物源節點的信息訪問后,為防止在尋找食物源節點的非最優路途上的信息素量過多。因此需及時對螞蟻所在路途中釋放的信息量進行及時更新:
τij(t+n)=(1-ρ)τij(t)+ρΔτij(t)
(2)
(3)

(4)
式中:Q為正常數,影響算法的收斂速度;Lξ代表第ξ只螞蟻在本次循環中走過的路徑長度。由此設計出一套使用ACO算法優化參量,得到最優值的約簡圖,如圖1所示。

圖1 ACO算法尋優流程圖
支持向量機算法[4]是一種將復雜樣本數據進行分類與回歸的復雜算法,設一組樣本集為
T={(xi,yi)},i=1,2,…,n,xi∈Rm,yi∈{-1,1}
(5)
式中:xi為輸入變量;yi為輸出變量。
為了使樣本集中的數據能夠正確分類識別,建立最佳超平面函數如下[5]:
f(x)=wT·x+b
(6)
式中:w為權向量;b為偏置截距。
樣本輸入點到超平面的距離公式為
(7)

樣本點到分類平面的距離為
(8)

由于每個支持向量的y(wT·x+b)>1>0,故最大距離d為
(9)

(10)
樣本集的某類組合為w:
(11)
式中:λi為拉格朗日乘子;n為樣本集里的個數。因為樣本集的組合會受樣本集里點的位置和類別yi的影響[6],故將其修改為
(12)
進而得到SVM算法的決策回歸方程為
(13)
式中〈xi,x〉表示向量的內積。
在1949年香農提出信息熵用來度量信息不確定性[7-8]。任何一件事情的發生都會帶來不同的信息量(即可能產生n種信息量),且每一個信息量的出現都有一定的概率(將每個信息量出現的概率記為P(B1),P(B2),…,P(Bn)),而信息熵則是在結果出來前對所有可能發生事件所帶來的信息量的一種期望。由此可以得出信息熵的計算公式:
(14)
ACO-SVM算法進行供輸彈系統的機械故障診斷[9],其具體步驟如圖2所示。

圖2 ACO-SVM算法流程圖
在對供輸彈系統進行振動信號采集時,選擇的測點顯得尤為重要。測點的選擇應盡量靠近易發生故障的位置附近。這樣既能防止振動信號在沿傳播路徑發生分散而導致采集的工況信息不完整,又能減少外界條件的干擾[10]。此次通過對供輸彈系統的工作原理和常易出現的故障進行分析并布置測點,本次試驗對某火炮進行故障信息采集,此次共涉及6處采集點,使用三相加速度傳感器進行x、y、z三個方向的信號采集,設置本次實驗的采樣頻率為25 600Hz,對振動信號的收集使用LMS信號收集儀。表1為各測點的分布說明,圖3為各測點的示意圖。

表1 某型火炮測點位置說明表

圖3 振動測點布置示意圖(后視圖)
本次試驗限定發射子彈的速度為450發/min,并對其產生的振動信號進行收集。在本次實驗步驟如下。
第一步:讓火炮分別進行1次3連發和1次6連發,在此次發射過程中每顆炮彈發射時均未出現異常現象,全程射速均維持在450發/min。
第二步:讓火炮進行1次40連發,前期炮彈發射表現良好,但在第25發時出現了炮彈射速異常。經研究發現其射速顯著降低,但最終也完成了40連發的任務。圖4為此次試驗各發之間射擊時間間隔圖。
第三步:隨后現場工作人員對該火炮的供輸彈系統進行及時的修復后,本實驗繼續進行接下來60連發的炮彈射擊。在這60連發的炮彈射擊中均表現良好,射擊速度維持在450發/min。
本次實驗共進行180發射擊試驗,其中正常狀況100發,其余狀況80發。首先對供輸彈系統所采集的復雜振動信號進行特征提取得到信息熵中的樣本熵[11],以此來反映供輸彈系統在不同狀態下的運動狀態。由于篇幅有限,隨機選取不同狀態下5發樣本數據進行討論。具體如表2所示。

圖4 40連發射擊實驗時間間隔統計圖

表2 不同工況不同測點信息熵提取情況
在所提取的180組樣本熵中,選取正常狀態的前30組,其余狀態的前30組,作為訓練樣本。剩余120組的樣本熵作為測試樣本,分別輸入到ACO-SVM算法和SVM算法中進行故障的分類識別,并將兩組數據的診斷結果進行對比,分類的結果如圖5和圖6所示。圖中圓圈代表實際的測試集分類,星號則代表預測測試集分類。若分類識別正確,則圈號和星號重疊,反之不重疊。此外算法分類識別中定義,y=+1代表為正常狀態,y=-1代表除正常狀態以外的其余狀態。診斷結果對比如表3所示。

圖5 SVM分類結果

圖6 ACO-SVM分類結果

表3 診斷結果對比
本文針對火炮供輸彈系統故障信號所提取出的特征參量冗余復雜而導致故障類型不易識別的問題,提出一種基于ACO-SVM算法的供輸彈系統的機械故障診斷方法。通過分別使用ACO-SVM算法與SVM算法進行機械故障分類識別,根據診斷結果對比發現,在相同的測試樣本中,采用SVM算法準確率為89.2%,而采用ACO-SVM算法準確率為95.0%,從而突顯出ACO-SVM算法對供輸彈系統的機械故障診斷方面的優勢。