吳 軍,陳作懿,嚴 喆,王 吉,胡 奎
(華中科技大學 船舶與海洋工程學院, 武漢 430074)
軸承是船舶各個系統重要的組成部件,對整個船舶的安全穩定運行起著至關重要的作用。船舶在航行過程中,容易受到水流和氣流等因素的影響而產生不同程度的振動情況。隨著振動時間和強度的增加,作為船舶各系統支撐部件的軸承容易發生故障。如果不能及時發現軸承故障,可能會有災難性事故發生,威脅到船員安全。因此,開展船舶軸承健康狀態監測系統研制具有重要的工程應用價值。
隨著物聯網、智能傳感、無線通信等技術的飛速發展及其在船舶領域的應用,船舶軸承狀態監測數據日益龐大,呈現出大規模、高通量、多模態和強關聯等特點[1]。如何高精高效地處理這些海量船舶軸承狀態監測數據是一個亟待解決的關鍵性問題[1-2]。為此,本文研究基于Hadoop的船舶軸承健康狀態監測技術與系統。
目前,船舶軸承上安裝有數以千計的各類傳感器,實時采集溫度、壓力、熱能、振動和噪聲等信號,以實現船舶軸承健康狀態的在線監測。隨著監測時間的遞推,數據量越來越龐大,超出傳統的數據處理與存儲的范圍[3-4]。如何在大數據背景下實現船舶軸承健康狀態的監測已經成為現階段船舶狀態監測領域研究的熱點之一[5-6]。鑒于此,本文所提出的船舶軸承健康狀態系統應實現如下目標:
1) 存儲軸承在正常運行過程中的實時監測數據;
2) 在海量的船舶軸承狀態監測數據中更好地發現有價值的數據信息;
3) 利用廉價的個人PC實現海量狀態監測數據的存儲與計算,降低系統成本;
4) 基于分布式的數據存儲,實現系統的存儲與計算數據的容錯能力;
5) 建立海量數據存儲、計算與用戶之間的友好人機交互,使用戶更方便、更直接地掌握船舶軸承健康狀態。
通過對系統的需求進行分析,考慮到船舶軸承的工作條件惡劣、原始信息數據量大、傳感器的實時性、故障診斷的準確性和系統的經濟性等[3],明確船舶軸承健康狀態監測系統需要實現如下功能:
1) 能夠實現不同傳感器的數據進行搜集的功能;
2) 能夠實現滿足和智能類型的傳感器原始信號的大量數據存儲與管理功能[4]。
3) 能夠實現對軸承不同部件單獨進行數據分析,判斷該軸承的健康狀態和剩余壽命。
4) 能夠實現針對軸承的不同傳感器信號采取不同算法模型進行計算和預測的功能,不同算法模型得到不同結果,能夠實現評估哪一種模型更加可靠[5]。
5) 能夠實現船舶軸承的剩余壽命的在線查看的功能,滿足可視化的要求。
基于船舶軸承健康狀態監測系統的技術需求,利用“分層設計”的系統架構設計思想,并將大數據存儲結構與傳統的關系型數據庫相結合,實現船舶軸承的海量監測數據的采集、存儲、分析與應用,其系統整體框架如圖1所示。

圖1 系統整體框架示意圖
數據采集層是利用嵌入到船舶軸承中的各種傳感器對軸承的振動信號、溫度信號和壓力信號等進行采集,以不同頻率和不同數據格式采集軸承狀態參數,并將數據定時通過無線傳感網絡發送到指定的服務端中進行存儲[7],完成原始信號的采集和初步存儲工作。原始數據需要進行壓縮和簡單的降噪處理,之后再進行網絡傳輸。
數據存儲層是將采集層采集到的原始數據進行歸類保存,關系型數據和非關系型數據分別進行保存。使用HBase 進行非結構化數據的高效實時存儲,HDFS文件存儲系統存儲大規模文件數據,MySQL關系型數據庫存儲結構化數據[8]。
數據分析層是基于Hadoop分布式計算引擎和Mxnet的深度計算框架,集成大量的智能算法,利用GPU和CPU進行加速計算提高運行計算效率。集成的算法庫包括機器學習算法庫、統計分析算法庫、深度學習算法庫等。
數據應用層主要是實現系統功能,包括數據處理,狀態診斷、壽命預測,系統管理等,實行分模塊開發,便于維護和系統升級改造。該數據應用層的主要目的是向用戶明確展示如何進行數據分析和計算、判斷軸承處于哪種健康狀態和預測軸承的剩余壽命[9-10],何時采取維修措施提供技術支持。
系統功能模塊如圖2所示,主要包括數據管理、數據處理、狀態診斷、壽命預測、數據可視化和系統管理等功能。

圖2 系統主要功能模塊框圖
1) 數據管理
實現結構化和非結構化數據的導入管理功能。提供相應的數據導入接口,能夠根據傳感器的類型區別導入的數據是結構化數據還是非結構化數據;非結構化數據存儲到Hbase中并進行拷備、刪除、轉移等管理方式,結構化數據存儲到MySQL中以供實現備份、轉移、刪除功能。
2) 數據處理
實現數據的預處理、特征提取、特征選擇和特征融合功能。預處理可以采取濾波平滑、去空奇異值、快速傅里葉變換、小波分析等方法。特征提取實現在時域和頻域中進行特征值的提取[11]。特征選擇采用斯皮爾曼系數對特征進行隨時間的相關系數計算進行特征選擇。特征融合實現將不同算法得到的特征值進行消減融合,得到比單個算法提取特征值更為優越的特征值。
3) 狀態診斷
實現狀態識別和狀態預測的功能。狀態識別功能實現根據選擇的模型進行特征值輸入網絡或者分類模型中進行機械狀態的識別,判斷當前軸承處于哪種健康狀態;狀態預測功能實現根據當前機器設備所處的狀態進行預測下一階段可能會是哪種狀態或者當天狀態還能持續多久等。進行狀態識別和預測所用的模型工具有、深度學習模型、支持向量機模型、隱馬爾科夫模型等。
4) 壽命預測
實現單精度預測和雙精度預測壽命的功能。進行壽命預測所用的模型工具有深度學習、統計分析和支持向量機。判斷當前軸承是否已經到達壽命退化階段并進行估計機器設備剩余壽命時間。
5) 數據可視化
實現監測軸承的狀態功能,實時顯示設備變化趨勢,以及給出軸承維修決策的參考意見。對軸承的歷史數據進行分析后的可視化包括顯示設備整個壽命周期健康狀態變化趨勢,以及在整個壽命周期的重要節點顯示維修策略(維護,小修,中修,大修,是否值得維修等);對軸承的在線監測數據的可視化包括實時顯示設備的健康狀態變化,并在關鍵節點提醒用戶該采取的維修策略。
6) 系統管理
實現增、刪、改用戶功能,管理平臺所有人和用戶權限。實現配置軟件系統的參數功能例如軟件的背景,顏色,字體大小等設置。實現系統登錄、退出記錄的歷史數據保留功能。
基于Hadoop的船舶軸承健康狀態監測系統能夠并行處理海量狀態監測數據。其采用的數據處理機制是MapReduce分布式計算,集成了機器學習、統計學習和深度學習的算法。業務流程如圖3所示。

圖3 業務流程框圖
首先,傳感器采集的海量原始信號經過簡單數據預處理后導入到HDFS分布式文件系統。然后,對數據進行相應的去空值和去奇異值等預處理。對預處理之后的數據采用MapReduce模型進行時域、頻域以及時頻域特征的提取,提取相應的特征集。接著,基于斯皮爾曼系數方法下計算出每個特征隨著時間的斯皮爾曼相關系數,斯皮爾曼等級相關系數大于0.8時,表明該特征隨時間具有很強的相關性,即可篩選出作為有效的特征量;再基于PCA方法對篩選出的有效特征進行特征融合,可 根據選擇合適貢獻率來消除特征之間的冗余信息;將處理之后數據可根據需要選擇狀態診斷功能或壽命預測功能,然后基于深度學習、機器學習和統計分析的方法下進行建模和測試,若模型訓練達到要求后,可基于該模型下對進行診斷或預測。
船舶軸承健康狀態監測系統的開發硬件環境為三臺Centos6.9操作系統下搭建Hadoop分布式存儲系統。在此基礎上,以eclipse為開發環境,采用了java編程語言,運用了Mysql5.73和Hbase2.0數據庫,開發了船舶軸承健康狀態監測系統。系統主界面如圖4所示。系統實現了數據管理、數據處理、狀態診斷、壽命預測、數據可視化和系統管理功能。

圖4 系統主界面圖
基于船舶軸承健康狀態監測系統下,以IEEE Prognostic and Health Management 2012數據挑戰賽提供的軸承數據作為對象開展軸承壽命預測案例實驗。該軸承數據的采集系統平臺如圖5所示,試驗平臺有旋轉部件、退化產生部件(對測試軸承施加徑向力)、測量部件三部分組成。通過安裝在軸承上方的加速度傳感器收集數據,設置傳感器的采樣頻率為25.6 kHz。

圖5 數據采集系統平臺
將實驗數據上傳到該系統上對該數據進行數據處理,有關處理過程界面如圖6,圖6 (a)描述時域和頻域的特征提取;圖6 (b)描述基于斯皮爾曼相關系數特征選擇;圖6 (c)描述基于PCA方法特征融合。
數據處理完之后,再基于機器學習的SVM進行模型訓練和測試有關界面如圖7;圖7(a)描述基于SVM模型訓練和模型保存;圖7(b)描述基于該模型下壽命預測結果;圖7(c)描述預測壽命值的可視化。
案例分析的結果表明了,該系統能夠對船舶軸承監控狀態監測,在圖7(c)顯示預測壽命值在隨著數據集增大有出現負值情況,這主要是由于軸承在運行過程中,早期故障時期軸承健康狀態迅速惡化,過渡期較短采集的樣本不夠充分導致模型訓練不夠充分。

圖6 數據處理界面
為了體現該系統數據分析效率性能,從軸承數據集中取6個規模不同的樣本集,分別在該系統3個節點Hadoop集群上和單機環境下運行,從負荷挖掘分析到預測完成所需要時間如圖8所示,可以得出單機環境下的數據分析速度明顯低于該分布式環境下的速度。

圖7 軸承壽命預測

圖8 單機環境和三臺物理集群環境運行時間
可以看出,與傳統數據分析方式相比,本文提出基于Hadoop分布式軸承健康狀態監測系統,可以滿足軸承健康狀態監測功能和有效提高了海量數據分析速度。
本文針對大規模船舶軸承數據在存儲和處理性能方面的要求,提出了一種基于Hadoop的船舶軸承健康狀態監測系統。系統的測試結果表明,系統能夠滿足軸承健康狀態監測的要求極大減小時間消耗,具有實際應用價值。