国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Spark流處理的軸承剩余使用壽命預(yù)測*

2021-11-29 11:01:36馬榮杰吳文江
關(guān)鍵詞:平方和使用壽命數(shù)控機床

馬榮杰,吳文江,胡 毅

(1.中國科學(xué)院大學(xué),北京 100049;2.中國科學(xué)院沈陽計算技術(shù)研究所,沈陽 110168)

0 引言

數(shù)控機床是高端制造業(yè)的一個基本資源,減少故障時間,增加機床的使用效率,為企業(yè)創(chuàng)造了更多的經(jīng)濟效益[1],是一個緊迫的問題[2]。滾動軸承由滾動體、保持架、軸承內(nèi)圈和軸承外圈組成[3]。數(shù)控機床系統(tǒng)產(chǎn)生的運行數(shù)據(jù)正逐漸出現(xiàn)高容量、高速度、多樣性和低值的“4V”大數(shù)據(jù)特性[4]。故障具有隱蔽性及復(fù)雜性的特點[5],如何從大量歷史數(shù)據(jù)中提取關(guān)鍵信息并預(yù)測設(shè)備的運行狀況,對于設(shè)備的預(yù)先維修和正常運行至關(guān)重要[6]。文獻[7]利用基于廣泛數(shù)據(jù)的存儲和管理技術(shù)、數(shù)據(jù)檢索和分析技術(shù),收集機床運行期間產(chǎn)生的大量數(shù)據(jù),并對歷史數(shù)據(jù)進行在線存儲和分析。文獻[8]對工業(yè)能耗大數(shù)據(jù)分析平臺進行研究,對能耗數(shù)據(jù)進行離線分析,實現(xiàn)了能耗與設(shè)備綜合信息的聚類與影響分析。當(dāng)前,工業(yè)大數(shù)據(jù)處理技術(shù)的應(yīng)用主要集中在以Hadoop為核心的離線處理框架上。然而,對數(shù)控機床海量運行數(shù)據(jù)的實時監(jiān)測要求處理系統(tǒng)更加高效[9]?;跈C床運行數(shù)據(jù)的特殊性,傳統(tǒng)的離線數(shù)據(jù)處理框架難以滿足實時流處理和動態(tài)彈性計算等需求。

目前主流的大數(shù)據(jù)流處理框架有Storm、Spark Streaming和Flink[10]。Spark Streaming在實時性方面不如Strom。然而Spark Streaming的集成性更好,通過RDD不僅可以和Spark進行銜接,也可以很容易的與Kafka結(jié)合。同時Spark Streaming的吞吐量也遠(yuǎn)遠(yuǎn)高于Strom。Spark Streaming可以支持秒級計算,它屬于微小批次處理框架,F(xiàn)link屬于準(zhǔn)實時處理框架,它支持毫秒級計算,然而本文對軸承剩余壽命的預(yù)測精度為分鐘量級,所以都可以滿足條件,同時Spark對SQL的支持比Flink要多一些,而且支持對SQL的優(yōu)化。鑒于以上研究,選擇Spark Streaming作為流處理框架。

1 設(shè)計思想系統(tǒng)框架的核心定位如下

(1)數(shù)據(jù)采集層:通過傳感器等組件采集數(shù)控機床關(guān)鍵部件的運行數(shù)據(jù)。

(2)數(shù)據(jù)接入層:通過Kafka將數(shù)控機床產(chǎn)生的數(shù)據(jù)進行緩存,彌補數(shù)控機床發(fā)送數(shù)據(jù)與服務(wù)器接收數(shù)據(jù)之間的速度差異。

(3)數(shù)據(jù)流處理層:主要通過Spark Streaming微批次處理框架對采集到的數(shù)據(jù)進行批次處理。做到分鐘級別的預(yù)測精度。

(4)數(shù)據(jù)存儲與可視化層:Spark將處理完成的數(shù)據(jù)進行保存,存儲到Mysql數(shù)據(jù)庫中,方便后續(xù)可視化組件的使用。采用WEB可視化組件來訪問數(shù)據(jù)庫中的數(shù)據(jù),從而對預(yù)測數(shù)據(jù)進行可視化處理。

Spark Streaming結(jié)合Kafka分布式日志收集框架進行數(shù)據(jù)緩存。由于多臺數(shù)控機床設(shè)備同時運行會產(chǎn)生大量數(shù)據(jù),如果不使用消息緩存機制,容易造成數(shù)據(jù)過時或數(shù)據(jù)丟失等問題,使用Kafka消息緩存框架可以以生產(chǎn)者消費者模式對數(shù)據(jù)進行緩存,解決速度差異問題。同時Kafka作為分布式的框架,更加適合于同時對多臺數(shù)控機床設(shè)備進行數(shù)據(jù)采集的任務(wù)。

對數(shù)控機床信息進行采集和動態(tài)監(jiān)控等技術(shù)進行探索[11]。Spark對數(shù)據(jù)進行處理,建立軸承剩余使用壽命的模型。Spark Streaming接收來自Kafka的數(shù)據(jù),利用得到的預(yù)測模型對接收的數(shù)據(jù)進行預(yù)測,并將結(jié)果保存到Mysql數(shù)據(jù)庫中,通過web將結(jié)果進行可視化處理。在設(shè)備出現(xiàn)故障之前系統(tǒng)會給出對應(yīng)提示[12],方便數(shù)控機床維護人員及時了解數(shù)控機床的健康狀態(tài)。實現(xiàn)數(shù)控機床的預(yù)防性維護[13]。

2 剩余使用壽命預(yù)測實驗

2.1 實驗數(shù)據(jù)

采用法國FEMTO-ST實驗室提供的軸承加速度數(shù)據(jù)作為實驗數(shù)據(jù)集。該數(shù)據(jù)集含有6個軸承全生命周期的水平振動加速和垂直振動加速度數(shù)據(jù)。數(shù)據(jù)如表1所示排列。

表1 數(shù)據(jù)排列

2.2 Spark Streaming窗口大小的選擇

Spark Streaming對于數(shù)據(jù)的接收是實時的,但是對于數(shù)據(jù)的處理是分批次進行的。所以,應(yīng)該將數(shù)據(jù)按照一定的時間間隔進行劃分,把這個時間間隔稱為批處理時間間隔。數(shù)據(jù)是源源不斷發(fā)送來的,Spark Streaming將數(shù)據(jù)進行切分,數(shù)據(jù)流每被切分一次就生成一個對應(yīng)的RDD,RDD包含了該時間片段內(nèi)所有的數(shù)據(jù)。

窗口時間間隔決定了RDD的切分粒度。

如圖1所示,可以看到窗口內(nèi)RDD的數(shù)量為5,也就是每次對5個RDD的數(shù)據(jù)進行處理分析。考慮到服務(wù)器的性能以及每次處理完成的時間不到1 min,所以將批處理時間間隔設(shè)置為1 min,考慮到軸承的加速度數(shù)據(jù)在5 min為時間間隔的時候較為平穩(wěn),所以設(shè)置窗口時間間隔為5 min。在系統(tǒng)啟動的前5 min內(nèi),進入窗口的RDD數(shù)量不足5個,但是會隨著時間的推移,滿足條件。

圖1 窗口時間間隔示意圖

滑動時間間隔代表了數(shù)據(jù)分析的頻率。滑動時間間隔是基于批處理時間間隔提出的。對應(yīng)圖中兩個透明框之間的時間間隔,這里將滑動時間間隔設(shè)置為1 min,即每隔1 min,對數(shù)據(jù)進行一次處理分析。

2.3 線性預(yù)測方法

首先將數(shù)據(jù)以圖表的形式顯示出來,方便發(fā)現(xiàn)振動加速度和剩余使用壽命的關(guān)系。利用知識發(fā)現(xiàn)的維護方式對關(guān)鍵設(shè)備進行維護[14]。作圖API生成的水平加速度的每秒平均值如圖所示。

可以發(fā)現(xiàn),能夠?qū)?shù)據(jù)整體分為三部分(由黑色粗線進行劃分),在第Ⅰ階段,數(shù)據(jù)呈現(xiàn)平穩(wěn)狀態(tài),幾乎沒有變化,此階段稱為平穩(wěn)期;在第Ⅱ階段,加速度的平方和呈現(xiàn)緩慢的上升狀態(tài),但是變化的幅度沒有太大,此階段稱為退化期;在第Ⅲ部分,加速度的平方和呈現(xiàn)快速上升的狀態(tài),意味著軸承迅速損壞,此階段稱為失效期。

通過圖2可以發(fā)現(xiàn),軸承的水平振動加速度和剩余使用壽命呈現(xiàn)線性相關(guān)的關(guān)系,所以可以利用線性相關(guān)性來生成對應(yīng)的線性模型來對剩余使用壽命進行預(yù)測。首先對于階段Ⅰ,因為數(shù)據(jù)幾乎呈現(xiàn)平穩(wěn)無變化的狀態(tài),所以不進行預(yù)測,對于階段Ⅲ,我們認(rèn)為此軸承已經(jīng)損壞,所以無需繼續(xù)預(yù)測。主要使用第Ⅱ階段根據(jù)機器學(xué)習(xí)線性回歸的思路對剩余使用壽命進行預(yù)測。對數(shù)控機床的故障特征進行分析并建立故障模型,為后續(xù)的數(shù)控機床故障診斷系統(tǒng)的開發(fā)建立支撐[15]。

圖2 水平振動加速度圖

首先獲取到n組數(shù)控機床的水平加速度和剩余使用壽命的數(shù)據(jù),然后對這n組數(shù)據(jù)進行過濾,得到他們的水平加速度大于0.55且小于1.4之間的數(shù)據(jù),即第Ⅱ階段的數(shù)據(jù)。

利用hθ(x)=θ0+θ1x1+θ2x2+…θnxn來表示水平加速度和軸承剩余使用壽命的線性關(guān)系,從而可以通過公式對后續(xù)接收到的數(shù)據(jù)進行預(yù)測。在此基礎(chǔ)上構(gòu)建損失函數(shù),即:

其中,α為學(xué)習(xí)率。J(θ)對θ的偏導(dǎo)決定了梯度下降的方向。J(θ)對θ的偏導(dǎo)為:

將J(θ)對θ的偏導(dǎo)帶入更新規(guī)則中得到:

由于本實驗只涉及到一個變量,即軸承水平振動加速度,那么預(yù)測模型的公式為hθ(x)=θ0+θ1x1,只涉及到兩個未知參數(shù)θ0和θ1,將其帶入更新規(guī)則中得到:

然后不斷迭代改變θ的值使其損失函數(shù)J(θ)根據(jù)梯度下降的方向減小,直至收斂。即可得到最終θ0的和θ1,也就是得到了線性預(yù)測模型。并以此線性預(yù)測模型對數(shù)控機床的剩余使用壽命進行預(yù)測,按照批處理時間間隔將數(shù)據(jù)切分為多個RDD,方便后續(xù)處理,每次同時處理最近接收到的5個RDD,即每次處理最近5 min內(nèi)的全部數(shù)據(jù)。前期接收到的數(shù)據(jù)處于第Ⅰ階段平穩(wěn)期,Spark每分鐘都會計算最近5 min內(nèi)接收到數(shù)據(jù)的平均值,如果小于0.55,那么就會認(rèn)為當(dāng)前軸承處于平穩(wěn)期,所以不會進行預(yù)測。當(dāng)接收到的數(shù)據(jù)平均值大于等于0.55以后,系統(tǒng)認(rèn)為當(dāng)前處于第二階段,即退化期,此時Spark會根據(jù)之前得到的線性模型對當(dāng)前接收到的數(shù)據(jù)進行預(yù)測,將加速度的平均值作為自變量x輸入到公式中,得到一個預(yù)測的剩余使用壽命。隨后當(dāng)接收到的數(shù)據(jù)平均值大于1.4時,系統(tǒng)認(rèn)為當(dāng)前軸承水平振動加速度進入第Ⅲ階段失效期,即認(rèn)為此軸承已經(jīng)損壞,剩余使用壽命為0,無需再將數(shù)據(jù)輸入公式進行預(yù)測。通過階段Ⅱ得到的軸承實際已使用時間和預(yù)測已使用時間如圖3所示。

圖3 線性預(yù)測圖

按照軸承實際已使用時間和預(yù)測已使用時間之差是否大于5 min為基準(zhǔn),大于5 min,則認(rèn)為預(yù)測錯誤,小于等于5min則認(rèn)為預(yù)測正確。按照此基準(zhǔn)得到的剩余使用壽命的預(yù)測準(zhǔn)確度為0.806 1。

2.4 相似度預(yù)測方法

首先將數(shù)據(jù)以圖表的形式顯示出來,方便對數(shù)據(jù)的整體了解。作圖API生成的水平加速度和垂直加速度平方和的每秒平均值如圖4所示。

圖4 振動加速度平方和圖

可以很容易的發(fā)現(xiàn)第Ⅱ和第Ⅲ階段的分界線為加速度的平方和等于5g的時候。第Ⅰ階段和第Ⅱ階段的分界線可以設(shè)置為加速度平方和等于0.4g。然后過濾掉加速度小于0.4g和大于5g的數(shù)據(jù)得到圖表如圖5所示。

圖5 振動加速度平方和圖

從圖中可以發(fā)現(xiàn)軸承振動加速度存在很多的毛刺,所以對數(shù)據(jù)進行平滑處理。首先獲取接收到數(shù)據(jù)的總條數(shù)n,利用小頂堆存放總條數(shù)n×0.1個最小數(shù)據(jù)集之和summin,利用大頂堆存放總條數(shù)n×0.1個的最大數(shù)據(jù)集之和summax。同時記錄全部數(shù)據(jù)的總和sum。利用如下公式得到去毛刺的效果:

同時將數(shù)據(jù)的時間粒度進行擴大,通過多組數(shù)據(jù)的對比,發(fā)現(xiàn)將時間粒度設(shè)置為5 min比較合適。即得到水平加速度和垂直加速度平方和的每5 min的平均值如下圖所示。

圖6 振動加速度平方和圖

通過對圖表的觀察可以發(fā)現(xiàn),軸承的水平加速度和垂直加速度的平方和與軸承剩余使用壽命呈現(xiàn)正相關(guān)性??梢岳么讼嚓P(guān)性,對軸承剩余使用壽命進行預(yù)測。同樣,對于第Ⅰ階段平穩(wěn)期,不會對該階段的數(shù)據(jù)進行預(yù)測,所以會對該階段的數(shù)據(jù)進行過濾;隨后數(shù)據(jù)進入第二階段退化期,樣本數(shù)據(jù)平均值大于0.5了,Spark會對數(shù)據(jù)進行預(yù)測,所以保留該階段的數(shù)據(jù),并根據(jù)該階段數(shù)據(jù)進行建模,方便后續(xù)的預(yù)測工作;當(dāng)樣本數(shù)據(jù)平均值大于1.5以后,數(shù)據(jù)進入第三階段失效期,系統(tǒng)認(rèn)為該軸承已經(jīng)失效,所以同樣會對該階段的數(shù)據(jù)進行過濾?;谙嗨贫鹊姆椒ㄒ仓饕玫诙A段對剩余使用壽命進行預(yù)測。

首先對樣本數(shù)據(jù)進行過濾,獲取樣本數(shù)據(jù)的第Ⅱ階段的數(shù)據(jù),并計算每隔5 min內(nèi)數(shù)據(jù)的平均值,由于Spark大數(shù)據(jù)框架本身就會以多線程的方式運行,所以利用線程安全的Map鍵值對的形式對模型進行保存。因為前面已經(jīng)執(zhí)行了去毛刺工作,所以這里的平均值是所有數(shù)據(jù)的平均值即可,Map鍵值對的鍵就是該時間的前5 min內(nèi)所有數(shù)據(jù)的平均值,值就是軸承剩余使用壽命的時間。最終通過樣本得到的預(yù)測工具就是“Map<該時間段內(nèi)加速度平方和的平均值, 時間>”的形式。

得到每5 min數(shù)據(jù)的平均值后,即可用此模型對數(shù)據(jù)進行預(yù)測。對于要預(yù)測數(shù)據(jù),系統(tǒng)每隔1 min都會計算出一個最近5 min內(nèi)數(shù)據(jù)的平均值,并且會將該平均值與Map的鍵進行比較,會選擇出與該平均值之差的絕對值最小的鍵,然后可以得到該鍵對應(yīng)的值,也就是剩余使用壽命的時間。最終得到的預(yù)測效果如下(藍色為預(yù)測數(shù)據(jù),紅色為實際數(shù)據(jù))。

圖7 預(yù)測圖

按照和線性預(yù)測同樣的準(zhǔn)確度計算方法得到基于相似度的預(yù)測準(zhǔn)確度為0.860 6。

3 總結(jié)

通過軸承加速度和剩余使用壽命的關(guān)系,研究了基于線性模型和基于相似度的剩余使用壽命預(yù)測方法,對比發(fā)現(xiàn)基于相似度的預(yù)測方法要比線性預(yù)測的準(zhǔn)確率要高一些,所以將基于相似度的預(yù)測方法得到的數(shù)據(jù)保存到數(shù)據(jù)庫中。

可視化組件主要通過WEB端實現(xiàn),WEB程序通過訪問存儲了剩余使用壽命的Mysql數(shù)據(jù)庫來獲取相應(yīng)的數(shù)據(jù),隨后將數(shù)據(jù)進行顯示,方便數(shù)控機床維護人員進行健康維護。

猜你喜歡
平方和使用壽命數(shù)控機床
筒間密封裝置使用壽命研究
數(shù)控機床的節(jié)能應(yīng)用
費馬—歐拉兩平方和定理
高檔數(shù)控機床數(shù)據(jù)采集應(yīng)用
利用平方和方法證明不等式賽題
數(shù)控機床電氣系統(tǒng)的故障診斷與維修
電子制作(2018年10期)2018-08-04 03:24:46
提高齒輪對輥式破碎機滾齒使用壽命的探討
電子制作(2017年8期)2017-06-05 09:36:15
PLC在數(shù)控機床中應(yīng)用
電子制作(2017年20期)2017-04-26 06:57:41
勾股定理的擴展
延長攪拌主機刀臂使用壽命的方法
中國公路(2017年12期)2017-02-06 03:07:37
施甸县| 清水河县| 苍南县| 开封市| 金华市| 庆城县| 美姑县| 武平县| 都江堰市| 武邑县| 许昌市| 皮山县| 页游| 七台河市| 惠州市| 钟祥市| 上犹县| 福建省| 宜春市| 广水市| 全州县| 沂南县| 晋州市| 柳州市| 即墨市| 子洲县| 宁化县| 房山区| 四川省| 化德县| 莆田市| 龙门县| 江口县| 闵行区| 大足县| 固安县| 信阳市| 黑水县| 五指山市| 剑川县| 布尔津县|