劉興建 原振文
1(廣東工商職業技術大學計算機應用技術系 廣東 肇慶 526040) 2(國防科技大學炮兵學院 湖南 長沙 410111)
當前工業產業和工業技術的飛速發展,使旋轉設備的應用領域逐漸擴大,并開始拓展到了航天、交通、電力、電子等諸多關鍵的高科技產業部門[1-2]。與此同時,旋轉機械設備應用范圍的持續擴大,對設備本身性能的穩定性提出了更高的要求。旋轉機械設備在使用過程中的壽命曲線呈現出逐漸降低的趨勢,由于機械設備少量磨損到完全失效是一個相對漫長的過程,頻繁更換關鍵零部件也會顯著增加設備的使用成本,因此最為有效的方式是對旋轉設備整體和關鍵零部件的工作狀態進行監控[3-4]。由于大型旋轉設備的工作環境大都十分惡劣,對關鍵部件的連接可靠性及零部件本身的磨損情況具有極高的要求,如果關鍵零部件出現故障,會造成嚴重的工程事故和經濟損失。滾動軸承是旋轉機械設備中最為關鍵的零部件之一[5],其工作的穩定性將關系到整個設備能否安全運行[6]。如果能夠采取有效方法預測出滾動軸承是否存在故障隱患,將會在很大程度上避免安全事故的發生。
關于旋轉設備中滾動軸承的故障預測問題,已經成為當前國內外機械自動化領域的一個研究熱點問題。文獻[7]提出一種基于中值濾波和小波去噪相結合的故障預測方法,但該種預測方法過于復雜,不易操作,且預測精度和可靠性都較低。文獻[8]從壓縮感知的視角出發,基于信號集的變化提取滾動軸承的振動信息,但該種算法的實際可行性和適用性與理論上存在差距。文獻[9]提出一種智能SVM與PCA相結合的故障預測算法研究,引入一種振動信號降維的處理理念,但該種方法僅針對少量集中故障類型有效,在算法分類和全局尋優的過程中易陷入局部最優解。大數據和云計算技術在機械故障檢測中的應用已經成為一種發展趨勢,尤其是Spark平臺的應用,為海量故障信息的提取和處理提供了一種新的模式。本文在大數據的環境下基于Spark和蟻群k類均值聚類算法(Ant Colony System-kmeans clustering algorithm,Aco-k means)提出了一種用于滾動軸承故障預測的方法,利用Aco-k means算法在數據聚類和全局尋優中的優勢,可以顯著提高對滾動軸承故障預測的精度和預測效率。
由于滾動軸承的摩擦力很小[10-11],因此在旋轉設備中有較為廣泛的應用,導致滾動軸承出現故障和失效的原因很多,如金屬疲勞、進入異物、軸承腐蝕、軸承過載等。滾動軸承在正常工作中會發生振動,此時發生振動的頻率為設備的固有頻率。一旦滾動軸承發生故障,軸體與故障點發生接觸,滾動軸承的振動頻率也會發生相應的變化[12],這種頻率上的變化是判定故障類別和故障程度的一個重要指標。由于軸承的正常磨損而發生的振動頻率變化與故障變化存在差別,可以利用Spark平臺環境下的大數據引擎,提取和分析待檢測滾動軸承的故障特征,并基于Aco-k means算法在數據聚類分析中和全局尋優中的優勢,實現對故障程度的準確定位。Spark平臺是大數據產業發展到一定階段的產物,是一種開源的數據計算框架,由于該平臺采用了多節點的計算模式,因此能夠在短時間內識別出滾軸數據集合的不同特征,進而識別出滾軸發生故障的嚴重程度,Spark平臺基礎框架結構如圖1所示。

圖1 Spark平臺的框架結構
此外,Spark平臺所應用的彈性數據集可以幫助用戶實現代碼轉換,將提取到的故障數據集投影到平臺工作節點的隨機運行內存中(Random Access Memory,RAM),便于后續的數據調用和讀取。由此可見,Spark平臺強大的數據分析和處理功能,可以有效應對海量的滾動軸承故障數據集分析。Spark平臺還具有極高的軟件兼容性,能夠與其他開源軟件實現無縫對接[13-14],Spark平臺支持市面上主流的計算機算法和計算機語言,能夠為數據處理提供統一的解決方案,從而省去了大量的磁盤操作時間,能夠提高對滾動軸承故障數據的識別和處理效率。Spark平臺采用了彈性分布數據集(Resilient Distributed Datasets,RDD)內存計算模式,具有強大的數據迭代處理能力,增強了系統的執行速度。k means算法是故障數據聚類分析中的常用算法之一,但該方法對于樣本集合中的孤立數據較為敏感[15],容易陷入局部最優解。Aco算法應用仿生學的原理對故障數據的特征項進行全局尋優,將兩種算法相結合,能夠最大限度地減少聚類中孤立數據點所產生的不利影響[16],提高對滾動軸承故障數據聚類分析的準確性,算法總體的流程設計如下:
Step1提取旋轉設備滾動軸承工作中的時頻域特征數據集,并對數據集做降維處理。
Step2對種群數據集進行初始化處理,并獲取降維處理的候選故障數據集。
Step3確定聚類中心的數量及樣本數據間的歐氏距離,并基于蟻群算法優化聚類中心。
Step4獲取新的聚類中心及數據集合的邊界,確定算法的收斂性能。
Step5基于滾動軸承故障特征聚類分析結果,最終確定旋轉設備是否存在故障風險。
判斷旋轉設備滾動軸承的工作狀態和故障狀態,主要依靠采集到的振動信號,但該類設備的工作環境往往十分惡劣和復雜,因此提取到的振動信號往往不具有線性分布特征,而且還包含大量的環境噪聲,穩定性極差。振動信號的特征提取,將會對性能評估構成重要的影響,因此傳統單純的時域振動特征提取與頻域振動特征提取方法,都無法準確地提取到設備的振動特征,為此本文采用時頻域相結合的提取振動故障特征數據集,進而分析滾動軸承的故障嚴重程度。滾動軸承發生故障時,瞬時振動狀態和突變振動狀態中都包含著高頻率畸變故障特征,因此采用小波包變換的方法分解振動信號中的高頻部分,既可以保持高頻信號中的瞬態特征,又可以兼顧低頻信號的特征。設提取到的滾動軸承振動原始信號為x(t),用小波變換函數η(t)和正交函數κ(t)遞推及提取原始信號中的故障時頻域特征,遞推關系過程可以表示為:
(1)
式中:y(i)和z(i)分別為高低頻濾波系數。兩者表達式如下:
(2)
式中:y(i)和z(i)滿足關系z(i)=(-1)iy(1-i)。將式(1)的應用范圍擴展進行拓展,當i=0時,有η(t)=ζ0(t)、κ(t)=ζ1(t),則有:
(3)

(4)

x″(t)=C×x(t)
(5)
對包含頻帶能量時域特征信號進行聚類處理,獲取候選的節點數據集,以精確地確定旋轉設備滾軸軸承的故障類別及程度。
包含時頻域特征的故障信號具有海量性的特征,而Spark平臺的應用,為海量滾軸故障信息的提取和處理提供了一種新的模式。對原始的信號特征種群進行初始化處理,從降維處理后的滾動軸承特征數據樣本集合x″(t)中隨機選取h個對象作為數據的原始聚類中心,開始對全部的樣本振動信號數據進行聚類處理,將數據對象按照其本身的特征分配到最適合的類別當中,進而計算出滾動軸承故障數據對象距離聚類中心的平均值,在計算過程中會存在平方誤差。因此數據聚類的過程是一個反復迭代尋優的過程,不斷地循環操作這一步驟,直到將故障預測誤差控制在最小的區間之內。
在傳統k means數據聚類算法中,常用數據間的歐氏距離來衡量和判斷數據之間的相似度,以便對時頻域特征相似的數據進行聚類處理。設滾動軸承特征數據樣本集合x″(t)中的任兩個數據a和b,滿足條件a,b∈xi,則a和b之間的歐氏距離D(a,b)可以表示為:
(6)
分別設nq和mq為第q類故障數據中的樣本數據與樣本均值,則與歐氏距離相關的數據聚類平方誤差準則函數f(D)可以表示為:
(7)
由于k means數據聚類算法數據迭代尋優的過程中對于初選值具有較高的依賴性,因此極容易陷入局部范圍的最優,使滾動軸承故障預測結果出現偏差,為此本文在傳統k means算法的基礎上引入了Aco仿生算法,在全局范圍內迭代尋優,提高k means數據聚類算法的魯棒性。基于Aco仿生算法優化樣本數據集的聚類中心,設樣本數據集合中的初始故障數據特征對象xi∈x″(t),滾動軸承故障數據的聚集可視為一個半徑為r的圓形區域,用函數γ(xi,r)表示以xi為中心,r為半徑的區域內的故障數據數量,經Aco仿生算法優化后的聚類中心數量r(xi)可以表示為:
r(xi)=γ(xi,R)≥ζ
(8)
式中:R=[maxr(xp,xq)]/2;ζ為樣本數據集開平方根函數,ζ=sqrt(h)。傳統k means數據聚類算法下,滾動軸承的故障數據開始圍繞著h個原始聚類中心,聚類中心可能會借助孤立的數據點表示,進而在故障特征數據聚集的過程中陷入局部最優解,影響最終的聚類效果。而引入Aco仿生算法后,能夠優化原有的聚類中心,避免了傳統k means算法下隨機選擇聚類中心,而給選擇設備滾動軸承的故障預測帶來不利的影響。
設χq和ωχ第q故障數據集的上逼近集與權重比例,ξq和ωζ為第q故障數據集的邊界集和權重比例,則經過Aco仿生算法優化后的故障數據劇烈中心h′可以表示為:
(9)
按照Aco-k means算法優化聚類中心后,再以新的聚類中心及故障特征數據與聚類中心間的歐氏距離重新進行全局范圍內的聚類劃分,有助于顯著提高聚類精度。同時基于最大最小原則,采用動態調整的模式調整滾動軸承故障數據簇的數量及與新聚類中心的距離,并求解出每一個故障數據簇中的上逼近集χq和邊界集ξq。對在Aco-k means算法下得到的經過優化的聚類中心記性循環迭代,并逐漸調節參數,判斷算法的收斂性能,最后,算法結束時獲得全局最優解,準確識別出滾動軸承的故障特征與故障程度。
為驗證提出旋轉設備滾動軸承故障預測方法的性能,搭建仿真實驗環境,仿真實驗臺由底座部分、步進電機、主軸、皮帶、軸承等部分組成,如圖2所示。

圖2 滾軸故障測試實驗平臺組成
實驗過程中系統模擬真實的工作情況,旋轉動力經由步進電機與皮帶向主軸系統傳遞,滾動軸承被安裝在主軸的另一端,配備了各類傳感器監控故障信號的變化情況,故障振動測試臺的相關參數與測試用滾動軸承的相關參數如表1和表2所示。

表1 滾動軸承故障測試臺相關參數

表2 實驗用戶滾動軸承的相關參數
本文的部分參考比較數據來自凱斯西儲大學的滾動軸承的基準數據庫中,其提供了不同參數條件下軸承運動和軸承故障的基礎測試數據,在表1和表2的條件下從仿真實驗臺采集了一組樣本數據,并以同等條件下西儲大學的測試數據區間為標準,剔除奇異樣本數據和標準差超出范圍的異常數據,最終確定出實驗所用故障數據樣本數量為25 200個,樣本長度為128。基于MATLAB 8.0軟件對實驗采集到的數據進行分析,在大數據的仿真環境下,為驗證提出基于Spark平臺和Aco-k means算法的滾動軸承預測算法的有效性,對提起的故障特征數據樣本進行訓練,測試提出方法的效率、預測準確率和信號解調譜的變化情況。
在滾動軸承故障檢測過程中,故障數據集具有海量性的特征,因此預測方法的計算效率指標十分重要。用500個故障數據節點模擬既定比例條件下的數據聚類效果,并分析滾動軸承故障數據的尋優情況,能夠成功識別到50個有效數據節點即可。分別引入文獻[8]和文獻[9]方法進行對比驗證,三種方法的計算效率對比結果如圖3所示。

圖3 不同預測方法的計算效率對比
可以看出,在同樣的有效節點效率條件下本文算法的耗時更少,這主要是由于Spark平臺在處理海量故障數據中具有明顯的優勢,而蟻群算法在全局尋優中也能夠選擇最短的連接,進而提高故障數據聚類的效率。Aco-k means算法隨著有效節點效率的降低,這種計算效率上的優勢會越發明顯。
算法的復雜度也是衡量滾軸故障檢測算法性能的重要指標之一,本文從算法復雜度衡量標準中的時間資源消耗維度出發,分別計算本文算法與文獻[7]算法在復合訓練樣本條件下的故障檢測耗時。在相同樣本條件下時間資源消耗越多,證明算法越復雜,故障檢測時的計算代價越高。具體的數據統計結果如圖4所示。

圖4 檢測算法復雜度的時間維度分析
可以看出,隨著樣本數量的增加兩種算法的時間消耗都在增加,本文檢測算法時間資源消耗在每一個節點都保持更低的水平,且變化趨勢較為平穩;而文獻[7]檢測算法在樣本值為1 632點和3 745點時出現了波動,單位時間資源消耗開始顯著增加。由圖4曲線變化趨勢可知,本文算法在檢測中計算復雜度更低,因此時間資源的消耗更少,同時本文算法的穩定性相對于文獻[7]也具有優勢,時間資源的消耗更為平穩。
旋轉設備滾動軸承的故障有可能發生在外圈、內圈、滾子或三者之間的復合狀態模式,6種不同的故障狀態下生成的訓練故障樣本與真實故障樣本如表3所示。

表3 不同故障狀態下的測試樣本數量
分別驗證文獻[8]、文獻[9]和本文方法對全部6種滾動軸承故障狀態下的25 200個測試樣本故障檢驗的準確性,基于MATLAB 8.0軟件對全部提取的樣本數據故障檢測準確率進行分析,6種故障狀態下的準確率測試結果如表4所示。

表4 三種故障檢測方法的滾軸故障檢測準確率對比
從測試樣本的分析結果可知,單一故障條件下三種檢測方法的故障檢測準確率相差不大,但復合狀態下本文方法的故障檢測率具有明顯優勢。例如在符合故障狀態下,文獻[8]方法下的測試樣本平均故障檢測率為95.26%,文獻[9]方法下測試樣本平均故障檢測率為94.71%,而本文方法的評價故障檢測率仍可以達到99.24%。
旋轉設備滾動軸承的故障提取效率是衡量預測方法有效性的重要指標之一,在故障樣本數據集中截取一段樣本數量為400,其中訓練信號的長度為128,先采用文獻[8]和文獻[9]的方法診斷是否存在故障信號,檢測的頻率幅值變化分別如圖5和圖6所示。

圖5 文獻[8]方法下的信號解調頻譜

圖6 文獻[9]方法下的信號解調頻譜
可以看出,在文獻[8]方法下并未檢測出故障樣本集中存在信號畸變;而文獻[9]方法下識別出了樣本集中存在微弱的故障信號。而本文提出的基于Spark平臺和Aco-k means算法的滾動軸承預測方法則可以識別出樣本集合中存在的全部滾軸故障畸變點,如圖7所示。

圖7 本文方法檢測的故障信號解調頻譜
可以看出,本文方法的故障特征提取效率要顯著優于傳統方面,在故障檢測方面具有更高的穩定性和可靠性。
本文在大數據環境下提出了一種基于Spark平臺和Aco-k means算法的滾動軸承故障數據預測方法,在引入Aco蟻群仿生算法后,能夠有效避免傳統k means算法存在的局部最優解問題,實現了在全局范圍內的滾軸故障集尋優。仿真實驗也證明了本文方法的有效性和實用性。