莊志忠
(福建船政交通職業(yè)學院,福建福州350007)
港口作為國際貿易門戶,是物資進出口的集散地.隨著現代工業(yè)技術的快速發(fā)展,港口自動化、機械化程度逐漸提高.但由于港口機械工作環(huán)境復雜,且工作量巨大,因此機械的零件極易發(fā)生故障.為避免因機械故障帶來的經濟損失,有必要對機械故障進行實時準確的診斷,并及時對故障進行檢修,確保港口生產運輸的安全.目前,針對港口機械故障診斷的方法主要包括基于統計分析和基于信號處理的方法,如張龍[1]等、羅忠[2]等基于優(yōu)化指標一致性原則,提出了對滾動軸承故障的診斷方法,可有效檢測出故障部位;潘繼財[3]、孫玉偉[4]等基于采用聲音特征與改進稀疏表示的信號處理方法,有效實現了機械故障診斷.但上述方法往往存在診斷準確率較低的問題.近年來,人工智能技術的快速發(fā)展,為機械故障診斷帶來了新的契機,故本研究利用人工智能技術,通過FastAP聚類算法挖掘機械數據中有效的故障信息,并進行識別,實現了港口機械故障診斷,提高了故障診斷的準確率.
FastAP算法是在AP聚類算法基礎上,通過引入不完全相似度,以提高算法聚類效果的一種改進聚類算法[5].其具體實現流程如下:
步驟1:計算樣本的相似度矩陣S;
步驟2:根據壓縮相似度矩陣算法計算壓縮相似度矩陣S′,如式(1)[6];
式中,enew表示聚類范例;Cnew表示新聚類;Ne表示每次迭代中的范例.
步驟3:將S′進行稀疏化,得到稀疏性相似度矩陣S*;
步驟4:迭代計算吸引度矩陣R=(r(i,j))和歸屬度矩陣A=(a(i,j));
步驟5:判斷算法是否都達到迭代次數,若達到最大迭代次數,則返回聚類簇信息,結束算法;若算法沒有達到迭代次數,則判斷算法迭代過程是否收斂,若收斂,則返回聚類簇信息,結束算法,反之,則返回步驟4.
上述流程可用圖1示意.
圖1 FastAP算法流程
根據上述對FastAP算法分析可知,FastAP算法的聚類簇無須預先設置,且實現過程較為簡單[7].因此,研究選用該算法作為故障診斷算法,并構建如圖2所示的港口機械故障診斷模型.模型包括故障特征提取、聚類分析、故障診斷三個模塊.
圖2 基于FastAP的港口機械故障診斷模型
第一個模塊:故障特征提取
故障特征提取是為了更快速準確獲取樣本特征,以提高故障聚類精確度,進而提高故障診斷準確率[8].先采用EEMD分解港口機械時域振動信號,得到IMFs分量.然后采用近似熵分析方法計算IMFs分量近似熵,并將其轉換為故障特征向量.
假設每個港口機械原始故障樣本均包含一段長度為n的時域信號x=(x1,x2,…,xm),EEMD分解得到m個IMFs分量為I=(I1,I2,…,Im).采用近似熵方法計算IMFs分量近似熵,并組成特征向量V=(v1,v2,…,vm),V即為港口機械故障特征.
第二個模塊:聚類分析
聚類分析結果直接影響港口機械故障診斷準確率[9].本研究通過計算FastAP算法聚類結果的聚類精準度是否達到設定閾值,判斷算法聚類效果.若聚類精準度達到設定閾值,則保存聚類結果,結束聚類分析;若聚類精準度沒有達到設定閾值,說明算法沒有達到最佳聚類效果,此時調整算法參數并對調參后的算法再次進行聚類分析,直至聚類精度達到設定閾值.
第三個模塊:故障診斷
故障診斷即對故障樣本進行識別,是整個模型的最終目的,其具體診斷步驟如下:
步驟1:EEMD分解故障樣本信號x=(x1,x2,…,xm)得到IMFs分量I=(I1,I2,…,Im);
步驟2:計算I=(I1,I2,…,Im)的近似熵值,并組成特征向量V=(v1,v2,…,vm);
步驟3:根據式(3)計算v與聚類中心距離;
式中,s(i,j)表示數據點xi和xj的相似度值.
步驟4:選擇與特征向量距離最?。╠min)的簇,并計算簇內最大距離(dmax);
步驟5:比較dmin與dmax的大小,若dmin>dmax,則將故障樣本歸為未知類別,并轉至步驟7,反之則執(zhí)行步驟6;
步驟6:統計實際類別,并選取出現次數最多的類別為故障樣本類別;
步驟7:輸出診斷結果.
上述步驟可用圖3示意.
圖3 故障診斷流程
在MATLAB軟件上進行仿真,選用Windows7作為操作系統,硬件條件為Intel corei3-2328M,CPU為2.20 GHz,RAM為4 096 MB.
算法驗證數據集包括兩類,一類為MATLAB隨機生成的服從高斯分布的4個合成數據集,如表1;一類為UCI機器學習庫中的7個真實數據集,如表2.
表1 4個合成數據集
表2 7個真實數據集
考慮到7個真實數據集中不同數據集間屬性值變化范圍較大,會影響算法聚類精度,為減少不同數據集間的屬性值影響,對7個數據集進行歸一化處理.然后,將處理后的數據集轉化為.mat文件輸入算法即可.
故障診斷驗證選用美國凱斯西儲大學滾動軸承驅動端故障數據作為實驗數據集,包括軸承工作轉速為1797RPM和1772RPM的兩種數據集[10].具體如表3所示
表3 故障樣本
選用相似度總和(SS)、聚類精確性(Accu)、聚類計算時間作為評估FastAP算法性能的指標.其計算方法如式(4)和(5).
式中,N表示數據點xi的總數;s(i,ci)表示xi與其所屬范例xci的相似度;ci、c*分別表示算法聚類結果與實際聚類標簽,當時,δ(ci,
將AP算法和FastAP算法迭代次數分別設置為50和500,阻尼系數均設置為0.5,偏好參數均設置為相似度矩陣的中位數.FastAP算法的壓縮率和稀疏率分別設置為0.2和0.5.
3.5.1 算法驗證
為驗證本研究算法的有效性,采用本算法與標準AP算法對算法驗證實驗數據集進行聚類,結果如表4、5所示.由表4可知,在4個合成數據集上,標準AP算法和FastAP算法在相似度總和、聚類精確性指標差異較小,但FastAP算法的聚類計算時間更短,且隨著數據量的增加,聚類計算時間的優(yōu)勢更明顯.由表5可知,4個真實數據集在相似度總和指標上,標準AP、FastAP算法的差異較?。辉诰垲惥_性指標上,標準AP算法和FastAP算法較為接近;在聚類計算時間指標上,FastAP算法表現最好,標準AP算法表現最差.整體來看,雖然FastAP算法聚類精確度略低于標準AP算法,但其整體性能更好.
表4 合成數據集聚類結果
表5 真實數據集聚類結果
3.5.2 故障診斷驗證
為驗證基于FastAP算法對故障診斷的效果,利用港口機械故障數據集進行故障診斷,得到如表6和表7所示結果.由表可知,本研究提出的FastAP算法對故障的診斷準確率均高于92%,且隨著故障樣本的增多,故障診斷正確率逐漸增大.
表6 1797RPM轉速診斷結果
表7 1772RPM轉速診斷結果
表9 工作轉速為1772RPM的診斷結果
為進一步證明本算法對故障診斷的優(yōu)越性,采用k-means算法和FastAP算法對apen1~apen3進行故障診斷,得到如表8、9所示結果.當工作轉速為1797RPM時,k-means算法和FastAP算法對故障診斷的準確率差異明顯,FastAP算法的準確率明顯高于k-means算法,且當k-means算法聚類中心較少時,FastAP算法對故障診斷準確率優(yōu)勢更明顯;當工作轉速為1772RPM時,k-means算法和FastAP算法的故障診斷準確率差異較小,分析其原因是該工作轉速下,故障樣本較多,故兩種算法的診斷準確率都較高.整體來看,本研究提出的基于FastAP算法的故障診斷方法,無論故障樣本的多少均可進行準確診斷,故本研究算法性能優(yōu)于k-means算法.
表8 工作轉速為1797RPM的診斷結果
3.5.3 實例驗證
為驗證實際應用效果,選用某個散貨港口皮帶機系統部分歷史數據為故障樣本進行故障診斷,得到如表10所示結果.由表10可知,本研究提出的FastAP算法對正常狀態(tài)、內外圈故障、滾動體故障診斷的準確率達到100%;對裂紋故障的診斷準確率為80%,對軸承松動故障的診斷準確率為0,其原因是裂紋故障和軸承松動故障樣本較少,尤其是軸承松動故障僅有6個樣本,這導致算法在聚類分析時難以提取到有效信息,進而導致故障診斷準確率較低.
表10 故障診斷結果
綜上所述,通過構建的基于FastAP算法故障診斷方法,可有效識別不同類型的機械故障,相較于標準AP算法和k-centers算法,本研究算法性能更好,在相似度總和、標準化互信息、聚類精確性、聚類計算時間四項指標上表現更好;相較于k-means算法,本研究算法故障診斷準確率更高,達到92%以上;通過在港口機械故障診斷中的應用,驗證了本算法的可行性和有效性,可準確診斷港口皮帶機正常狀態(tài)、內外圈故障狀態(tài)、滾動體故障狀態(tài),診斷準確率達到了100%.但本算法仍存在待改進的地方,如FastAP算法運行模式為單機模式,一定程度上限制了故障聚類分析效率.下一步,研究將考慮在spark平臺上對算法進行實現,以提高故障分析效率.