王瑾,閆攀
(1.河南測繪職業(yè)學院計算機工程系,河南鄭州 451464;2.重慶移通學院大數(shù)據(jù)與軟件學院,重慶 401520)
高精度數(shù)控機床在工業(yè)制造領域有著十分廣泛的應用,在互聯(lián)網(wǎng)+、人工智能技術和大數(shù)據(jù)技術的推動下,數(shù)控機床朝著數(shù)字化、自動化和智能化的方向邁進,不僅可以大幅提高生產(chǎn)效率,同時零件的加工精度也能夠得到更好的保證。隨著高精度數(shù)控機床自動化程度的不斷提升,其結構設計復雜度和程序運行難度均有不同程度的提高,運行中出現(xiàn)故障的概率同步增加。對工作中的自動化數(shù)控機床實施在線故障檢測,不僅能夠準確掌握機床設備的工作狀態(tài),確保產(chǎn)品和工件的加工精度,還能夠有效避免由于自動化機床設備突然停機,給工廠造成更大的損失。目前,工廠針對自動化程度較高且重要性程度較強的機床設備,大都為之匹配一套在線故障監(jiān)測系統(tǒng),以便于實時監(jiān)控設備狀態(tài)。監(jiān)測系統(tǒng)通常基于振動信號分析或特征向量處理而構建。
例如,文獻[9]提出基于小波包絡分析的在線監(jiān)測系統(tǒng),通過分析與對比信號的頻譜特征,確定設備的振動信號是否存在異常。小波包絡分析具有較強的抗噪能力,但對于高頻振動信號的處理效果較差,且針對高維數(shù)據(jù)的故障識別率低;文獻[10]提出基于加速收斂BP神經(jīng)網(wǎng)絡模型的故障監(jiān)測系統(tǒng),在非線性的動力系統(tǒng)中不斷優(yōu)選參數(shù),并進行故障推理,以確定機床是否存在故障及潛在故障點的位置。但基于這種算法設計的系統(tǒng),在故障特征數(shù)據(jù)訓練中對故障樣本數(shù)量有要求,有時難于提取到足夠多的故障樣本作為數(shù)據(jù)訓練的基礎,會直接影響到對故障特征和故障點的判斷。為解決數(shù)控機床設備原始故障的小樣本、高維和局部極值等問題,本文作者設計了一種基于線性可分SVM(支持向量機)的在線故障監(jiān)測系統(tǒng),將待訓練的故障集分為正負解,同時引入線性幾何間隔確保分離超平面的唯一性,提升對機床故障數(shù)據(jù)的分類精度。
在系統(tǒng)總體框架設計上,基于線性可分SVM分類器的自動化機床在線故障監(jiān)測系統(tǒng),具體由在線故障監(jiān)測與診斷系統(tǒng)、人機交互系統(tǒng)和數(shù)據(jù)庫系統(tǒng)等3個控制部分構成,如圖1所示。
圖1 自動化機床在線故障監(jiān)測系統(tǒng)總體設計
故障監(jiān)測與診斷系統(tǒng)是整體設計框架的核心,通過對設備的狀態(tài)監(jiān)控與故障數(shù)據(jù)分析,對傳感器接收到的設備振動信號做出檢測與判定,并發(fā)出預警信息提醒后臺工作人員及時處理。在對采集到故障數(shù)據(jù)的分類識別方面,系統(tǒng)基于線性可分SVM分類器,增強對高維故障數(shù)據(jù)的處理能力,同時算法也不依賴于樣本數(shù)據(jù)集的規(guī)模,適用性更強;人機交互系統(tǒng)基于Web瀏覽器開發(fā)完成,后臺工作人員可通過系統(tǒng)實時監(jiān)控設備的運行狀態(tài),如果接收到系統(tǒng)的故障反饋信息,能夠及時地將信息傳遞給設備管理部門的人員;數(shù)據(jù)庫系統(tǒng)主要用于存儲用戶基礎數(shù)據(jù)、實時采集到與自動化設備相關有用參數(shù)數(shù)據(jù)和故障記錄數(shù)據(jù),數(shù)據(jù)庫的信息經(jīng)過整理后將具體的故障類型存檔,方便后續(xù)使用設備時的故障檢測和識別。
基于線性可分SVM的自動機床在線故障監(jiān)測系統(tǒng)硬件部分設計,采用了嵌入式的結構。嵌入式設計方案具有更好的可靠性、實用性和兼容性,且在系統(tǒng)功耗和設計成本方面也具有一定優(yōu)勢。監(jiān)測系統(tǒng)的硬件部分主要包括微處理器模塊、傳感器模塊、數(shù)據(jù)存儲模塊、通信模塊和顯示模塊。首先在線故障監(jiān)控系統(tǒng)的微處理器選用STM32F103ZET6型單片機,該芯片基于ARM架構設計完成,具有3組SPI串行外設接口,便于數(shù)據(jù)的采集、傳輸和功能拓展。在信號分析處理和數(shù)據(jù)傳輸方式上,STM32F103ZET6型單片機采用通用型異步收發(fā)方式,可以通過IC總線和USART實現(xiàn)多數(shù)據(jù)的同步收發(fā);芯片的RAM存儲容量可高達48 kB且具有4 GB線性可拓展的地址空間,STM32F103ZET6型單片機實物如圖2所示。
圖2 STM32F103ZET6型單片機實物
傳感器模塊的功能是實現(xiàn)對自動化機床相關物理量的采集和傳輸,傳感器模塊要采集機床工作中的振動信號變化、溫度信號變化、轉速信號變化等,并將這些數(shù)據(jù)上傳至上位機,用于數(shù)據(jù)分析。文中系統(tǒng)設計選用的振動傳感器和溫度傳感器分別為HZD-B-51型和DS18B20型,如圖3所示。
圖3 傳感器
在自動化機床設備上選取監(jiān)測點并固定放置不同類型的傳感器,傳感器采集脈沖信號至前端處理器,并通過無線傳感網(wǎng)絡上傳至系統(tǒng)的上位機,傳感器布置的密度可根據(jù)需要調(diào)整。其中,振動傳感器直接采集機床設備的振動信號,而溫度傳感器利用內(nèi)置的溫度敏感元件提取設備的溫度值。
在數(shù)據(jù)存儲方面,系統(tǒng)采用了芯片存儲和USB存儲相結合的方式。存儲芯片選用AC24C02型芯片,該芯片的優(yōu)點在于解決了采樣數(shù)據(jù)實時存儲及在Flash中實時更新的問題。AC24C02型芯片內(nèi)部的信息可以基于RS-485總線做調(diào)整和修改,數(shù)據(jù)的讀寫機制和存儲時間都完全滿足監(jiān)控系統(tǒng)的要求;USB存儲方式的加入一方面可以拓展芯片存儲的可用空間,另一方面,系統(tǒng)的監(jiān)控人員和維修人員通過USB存儲接口可以直接讀取相關數(shù)據(jù),確保自動化機床的安全穩(wěn)定運行。
監(jiān)控系統(tǒng)的通信模塊由RS-485總線、本地以太網(wǎng)模塊和MCP2515總線模塊等三部分構成。監(jiān)控系統(tǒng)上位機和主控芯片都自帶通信功能,單片機的3組SPI串行外設接口也能夠確保獲取良好的通信效果。本地以太網(wǎng)基于TCP協(xié)議進行數(shù)據(jù)的傳輸和通信,最大支持20 Mb/s的數(shù)據(jù)通信;而MCP2515總線模塊支持CAN V2.0B通信協(xié)議,且模塊自帶數(shù)據(jù)驗收濾波器,降低了內(nèi)存資源的占用和整個系統(tǒng)的功耗。系統(tǒng)的數(shù)據(jù)顯示模塊選用MAX7219顯示芯片和全LED顯示屏幕,能夠顯示出控制系統(tǒng)的全部相關信息,更加直觀地幫助后臺工作人員掌握自動化機床監(jiān)控系統(tǒng)的運行狀態(tài)。
故障診斷系統(tǒng)軟件部分要完成故障數(shù)據(jù)接收、儲存、訓練、分類及診斷等一系列操作,操作系統(tǒng)的軟件結構如圖4所示。
圖4 自動化機床故障診斷軟件系統(tǒng)結構
軟件系統(tǒng)啟動后監(jiān)控系統(tǒng)通過無線傳感網(wǎng)絡與各傳感器建立通信聯(lián)系。傳感器將采集到的實時數(shù)據(jù)傳遞到系統(tǒng)上位機并存儲于數(shù)據(jù)庫中,當完成數(shù)據(jù)轉換后對全部數(shù)據(jù)做分類檢測和訓練,最后根據(jù)訓練結果判斷抓取到的數(shù)據(jù)包是否包含潛在的風險因素。
對采集到故障數(shù)據(jù)做精確分類是數(shù)據(jù)集監(jiān)測、訓練和故障診斷的前提。SVM分類器是一種高效的機器學習算法,其優(yōu)勢在于結構簡單、泛化能力強,且適用于小樣本故障集的分類。在一個特定的特征空間內(nèi),存在一組規(guī)模較大的線性可分的故障數(shù)據(jù)訓練集:
={(,),(,),…,(,)}
(1)
其中,表示特征向量,其趨勢范圍是∈,是的分類標記,其取值范圍為∈[-1,+1],=1,2,…,。SVM分類器的原理就是在空間內(nèi)找尋到一個最優(yōu)的超平面·+=0,將兩類故障樣本分離,劃分結果具體見圖5。
圖5 線性可分SVM分類器原理
(2)
如果選定的超平面·+=0是最優(yōu)超平面時滿足如下條件:
(3)
(4)
傳感器從自動化機床采集到的故障數(shù)據(jù)集,多為線性可分數(shù)據(jù)集,基于線性可分SVM分類器處理該類數(shù)據(jù)集可以得到更精確的分類結果。針對特征向量,線性可分SVM分類器可表示為
()=sign(·+)
(5)
線性可分SVM分類器要確保線性可分數(shù)據(jù)集到最優(yōu)超平面的幾何間隔最大,求解最大值的問題可視為一種帶有約束條件的優(yōu)化問題,需要保證距離最優(yōu)超平面最近的數(shù)據(jù)點也具有可信度。線性可分SVM分類器的優(yōu)化過程描述如下:
(6)
(7)
從二次規(guī)劃模型中解出最優(yōu)解和,即可得到線性可分SVM的最優(yōu)分類超平面。在模型核函數(shù)的選擇方面,選擇徑向基核函數(shù)(,)與線性可分SVM分類器進行匹配,表示如下:
(8)
(9)
線性核函數(shù)中樣本總量可以近似為無窮大,但在線性可分的數(shù)據(jù)集中,可利用徑向基核函數(shù)去評估故障數(shù)據(jù)的出現(xiàn)的風險值,可以視為一種尺度參數(shù)協(xié)助對故障數(shù)據(jù)的分析和評估。
線性可分SVM分類器適用于線性可分的高維小樣本數(shù)據(jù)處理,在尋找最優(yōu)超平面時如果能夠將大樣本集轉換為小樣本集,就可以更好地為支持向量機的使用創(chuàng)造條件。將線性可分的大樣本集隨機拆分成小樣本集,這個過程稱為分組,每個小組數(shù)據(jù)都有與之匹配的訓練支持向量機,通過逐組訓練的方式找出每個小樣本故障數(shù)據(jù)組內(nèi)的支持向量。該種方法將會在很大程度上減少訓練時間,提高訓練效率。樣本容量為的故障數(shù)據(jù)集內(nèi)部包含容量為的正類樣本和容量為的負類樣本,將正類樣本和負類樣本劃分為標簽數(shù)量同為的子集。樣本分組通常采用均分的方式,兩類樣本的隨機編號為=1,2,…,:
(10)
對于任意一個,滿足?={1,2,…,},可將得到的樣本支持向量劃分到下一個小組,通過多次迭代就能夠得到兩類樣本的分組。分組訓練和檢測的過程和步驟如下:
步驟1,從第一組正類樣本集開始訓練,得到初始的分類器SVM1,并開始形成與SVM1相對應的集合。
步驟2,以SVM1為基礎,對第二組數(shù)據(jù)集作預測,如果上一組不存在錯分的數(shù)據(jù),進入到第二組數(shù)據(jù)集的訓練,并形成與SVM2相對應的集合;如果經(jīng)過第二組檢測上一組存在錯分情況,需要返回上一組重新劃分。
步驟3,以此類推完成組數(shù)據(jù)的訓練過程,直到將全部的故障數(shù)據(jù)訓練完成。
步驟4,以線性可分SVM的最終分類結果作為數(shù)據(jù)監(jiān)測的依據(jù),并將分類結果反饋給上位機系統(tǒng),識別出自動化機床運行中存在的故障。
文中監(jiān)測系統(tǒng)總體基于PYQT5通用平臺設計完成,以PYCHARM語言作為基礎開發(fā)和編程工具,并基于MYSQL5.5設計系統(tǒng)的數(shù)據(jù)庫。監(jiān)測系統(tǒng)的硬件、軟件環(huán)境分別如表1和表2所示。
表1 在線故障監(jiān)測系統(tǒng)的硬件環(huán)境
表2 在線故障監(jiān)測系統(tǒng)的軟件環(huán)境
監(jiān)測系統(tǒng)對自動化機床的故障診斷,主要通過對各類傳感器采集到的數(shù)據(jù)進行分析,進而得出判斷和結論。各類傳感器的采樣頻率設定見表3。
表3 各類傳感器的采樣頻率設定
系統(tǒng)連接完成后,首先檢測主控程序和各功能模塊的子程序運行情況,然后文中采用黑盒測試的方式驗證系統(tǒng)的整體功能和各模塊功能是否可以正常運行。檢測的功能項包括管理員的登錄功能、數(shù)據(jù)信息反饋功能和數(shù)據(jù)存儲功能。管理員登錄功能的測試用例見表4。
表4 管理員登錄功能測試用例
故障數(shù)據(jù)信息反饋功能測試主要檢測在網(wǎng)絡暢通的條件下是否能夠順利提交反饋信息,是否存在網(wǎng)絡延遲現(xiàn)象;故障數(shù)據(jù)存儲功能測試包括MYSQL測試和HDFS測試,具體內(nèi)容涵蓋了數(shù)據(jù)文件的存儲時間、格式、擴展名及結果顯示等。當系統(tǒng)的各項功能測試不存在問題時,測試系統(tǒng)的總體性能。
首先,分析監(jiān)測系統(tǒng)的故障數(shù)據(jù)訓練性能和分類性能,文中基于線性可分SVM分類器的監(jiān)測系統(tǒng)分別與文獻[9]、文獻[10]的訓練誤差收斂情況進行對比,收斂越快表明系統(tǒng)的數(shù)據(jù)處理效率越高,數(shù)據(jù)分析的結果見圖6—圖8(將訓練次數(shù)設定為70次,載入兩類故障樣本共120組,每種樣本60個)。
圖6 基于線性可分SVM分類器的訓練誤差收斂
圖7 基于文獻[9]的監(jiān)測系統(tǒng)訓練誤差收斂
圖8 基于文獻[10]的監(jiān)測系統(tǒng)訓練誤差收斂
仿真結果顯示:采用基于線性可分SVM分類器的故障監(jiān)測系統(tǒng)在第28次訓練就完成了收斂,而文獻[9]和文獻[10]系統(tǒng)的訓練次數(shù)則分別達到了50次和43次,由此可見文中所設計的在線故障監(jiān)測系統(tǒng)具有更高的故障數(shù)據(jù)訓練效率。三類故障數(shù)據(jù)監(jiān)測系統(tǒng)的分類性能表現(xiàn)仿真結果見圖9—圖11。
圖9 基于線性可分SVM分類器的分類結果
圖10 基于文獻[9]的監(jiān)測系統(tǒng)分類結果
圖11 基于文獻[10]的監(jiān)測系統(tǒng)分類結果
兩類樣本之間的相似度基于歐氏距離法測定,在文中故障監(jiān)測系統(tǒng)下,能夠完全將兩類故障樣本區(qū)分,表明線性可分SVM分類器具有良好的分類性能;文獻[9]和文獻[10]監(jiān)測系統(tǒng)未能完全區(qū)分兩類故障樣本,將不利于后續(xù)對故障樣本的定位與識別。
其次,選用特異度(設備為異常狀態(tài)下診斷結果為真的比例)和準確率(監(jiān)測結果中所有真值占總體樣本值的比例)2個指標評價自動化基礎監(jiān)測系統(tǒng)的總體性能表現(xiàn)(將故障監(jiān)測樣本的規(guī)模擴大至600且分為6組),統(tǒng)計結果見表5和表6。
表5 STNR指標統(tǒng)計
表6 δACC指標統(tǒng)計
(11)
(12)
其中:為真實負樣本;為錯誤的正樣本;為真實正樣本;為錯誤的負樣本。
與2種傳統(tǒng)在線故障監(jiān)測系統(tǒng)相比,文中設計的基于線性可分SVM分類器的在線故障監(jiān)測系統(tǒng),在特異度和準確率方面,均具有明顯優(yōu)勢,驗證文中提出系統(tǒng)設計的有效性和適用性。
對機床故障特征的分類識別是故障監(jiān)測和診斷的基礎。隨著人工智能技術的發(fā)展,各種人工智能分類檢測算法被不斷地應用到在線故障檢測當中。針對自動化機床工作中產(chǎn)生的線性可分數(shù)據(jù)集,文中設計了一種基于線性可分SVM分類器的故障監(jiān)測系統(tǒng),提高了采樣數(shù)據(jù)的分類性能和檢測準確率。測試結果顯示:文中提出的在線監(jiān)測系統(tǒng)具有更高的故障數(shù)據(jù)訓練效率、特異度和監(jiān)測準確率。