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