傅致遠(yuǎn),王仲逸,吳一凡,張 銚,周 賀,路云浩
(東北大學(xué)秦皇島分校 計(jì)算機(jī)與通信工程學(xué)院,河北 秦皇島 066004)
由于自動(dòng)化程度高,需要人工干預(yù)少,機(jī)械加工企業(yè)普遍將加工設(shè)備升級(jí)為數(shù)控機(jī)床。數(shù)控機(jī)床可以按照程序自動(dòng)實(shí)現(xiàn)重復(fù)的加工工藝,因此批量加工模式得到了廣泛應(yīng)用,降低了產(chǎn)品的成本。這兩項(xiàng)進(jìn)步組合在一起也產(chǎn)生了新的問題:數(shù)控機(jī)床切削刀具破損后無法及時(shí)發(fā)現(xiàn),直到下個(gè)生產(chǎn)環(huán)節(jié)發(fā)現(xiàn)殘次品后才能采取措施,此時(shí)生產(chǎn)線上已經(jīng)加工出大量殘次品,造成經(jīng)濟(jì)損失。因此批量加工生產(chǎn)線刀具破損檢測技術(shù)成為降低產(chǎn)品不合格率的必需。
目前,國內(nèi)外對(duì)刀具監(jiān)控方法的研究有很多,包括利用切削力、振動(dòng)、聲反射、電流、功率等信號(hào)或綜合利用多種信號(hào)[1-4],使用頻域分析、時(shí)頻域小波分析方法提取特征,并使用閾值比較、相關(guān)系數(shù)、神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等方法[5-7]識(shí)別特征信息,判斷刀具狀態(tài)。
在目前的研究中,絕大多數(shù)刀具破損檢測都依賴單獨(dú)安裝的傳感器來收集監(jiān)控信號(hào)[1-2,5-6]。在機(jī)床外部加裝傳感器往往需要改變機(jī)床的機(jī)械結(jié)構(gòu),而且環(huán)境中的振動(dòng)、切屑、冷卻液會(huì)對(duì)外部傳感器造成干擾。傳統(tǒng)的功率監(jiān)測方法以新刀加工過程的主軸功率數(shù)據(jù)為依據(jù)劃定破損判斷閾值,實(shí)時(shí)加工過程主軸功率超出閾值則發(fā)出刀具破損報(bào)警[3-4]。這種方法容易受到隨機(jī)干擾的影響,而且對(duì)于數(shù)據(jù)的同步性要求很高。
本文充分利用已有設(shè)備,選擇機(jī)床主軸功率信號(hào)作為監(jiān)控信號(hào),以數(shù)控機(jī)床內(nèi)置功率傳感器為數(shù)據(jù)源,使用PC與數(shù)控系統(tǒng)進(jìn)行數(shù)據(jù)交換,獲取機(jī)床主軸功率信號(hào)來監(jiān)控刀具破損,達(dá)到了降低系統(tǒng)成本,減少干擾的效果。本文將在機(jī)床一次加工過程中采集的主軸功率數(shù)據(jù)按時(shí)間順序先后排列起來,稱為本次加工過程的功率時(shí)間序列。以時(shí)間序列作為功率變化對(duì)比的基本單位,用功率時(shí)間序列相似度作為衡量功率變化程度的標(biāo)準(zhǔn),可以消除數(shù)據(jù)錯(cuò)位的影響,降低進(jìn)行刀具破損檢測對(duì)數(shù)據(jù)同步性的要求。針對(duì)加工參數(shù)浮動(dòng)帶來的隨機(jī)干擾,本文使用多次正常加工過程功率時(shí)間序列的平均序列作為刀具破損識(shí)別的標(biāo)準(zhǔn),實(shí)現(xiàn)多個(gè)時(shí)間序列之間隨機(jī)干擾的相互抵消,破損識(shí)別更加準(zhǔn)確。
在批量加工模式下,每次加工過程使用相同材料的工件、相同型號(hào)的刀具、相同的切削用量。因此,加工過程中的主軸功率具有重復(fù)性,即每次加工中的主軸功率相同。當(dāng)?shù)毒咂茡p時(shí),主軸功率不再具有重復(fù)性。刀具破損監(jiān)控方法是以新刀加工過程中的主軸功率為標(biāo)準(zhǔn)劃定主軸功率閾值范圍,若監(jiān)控過程中采集的主軸功率在閾值范圍之外則認(rèn)為主軸功率不再重復(fù),發(fā)生刀具破損。
現(xiàn)有監(jiān)控方法的不足之處主要體現(xiàn)在兩方面:
(1)需要信號(hào)同步。加工過程中主軸功率在不斷變化,因此監(jiān)控過程中采集的主軸功率需要和新刀加工中對(duì)應(yīng)時(shí)刻的閾值進(jìn)行比較。由于加工過程中的時(shí)間不完全相同,不同加工中的主軸功率數(shù)據(jù)往往是錯(cuò)位的而且無法直接使用時(shí)間作為同步信號(hào)。實(shí)際功率數(shù)據(jù)的錯(cuò)位情況如圖1所示。在使用數(shù)控機(jī)床內(nèi)部傳感器做數(shù)據(jù)源的情況下,信號(hào)同步更加困難。文獻(xiàn)[3]提出了基于數(shù)控代碼解析的信號(hào)同步方法,但是運(yùn)用數(shù)控代碼解析需要針對(duì)性的修改數(shù)據(jù)代碼,過程繁瑣。
圖1 功率時(shí)間序列非同步對(duì)比圖
(2)以單一加工過程的主軸功率作為標(biāo)準(zhǔn)。盡管設(shè)定了相同的切削用量,生產(chǎn)過程中它們?nèi)匀淮嬖诓▌?dòng)。因此單獨(dú)一次正常加工過程中的功率數(shù)據(jù)可能包含有切削用量波動(dòng)的影響。以單一加工過程作為標(biāo)準(zhǔn),可能會(huì)導(dǎo)致閾值范圍的取值受到干擾。
針對(duì)以上兩點(diǎn)不足,本文提出了一種DTW和DBA組合的刀具破損監(jiān)控算法。以加工過程中的功率時(shí)間序列為考慮對(duì)象,使用DTW衡量實(shí)時(shí)加工功率時(shí)間序列和標(biāo)準(zhǔn)功率序列的相似度,根據(jù)相似度的大小判斷實(shí)時(shí)主軸功率是否符合功率重復(fù)性要求。由于不再孤立地考慮單個(gè)時(shí)刻,就避免了信號(hào)同步的問題。使用DBA算法計(jì)算正常加工功率時(shí)間序列集合的平均序列,以平均序列作為破損識(shí)別標(biāo)準(zhǔn)。由于切削用量的波動(dòng)是隨機(jī)的,因此在多條時(shí)間序列的平均序列中其影響被抵消。
兩個(gè)形狀相似的時(shí)間序列長度未必相等而且特征點(diǎn)在時(shí)間軸上可以是錯(cuò)位的,這導(dǎo)致直接計(jì)算歐式距離不能很好地反映兩個(gè)時(shí)間序列的相似度。動(dòng)態(tài)時(shí)間規(guī)整距離是一種常用的時(shí)間序列相似度度量方法,依靠在時(shí)間軸上對(duì)時(shí)間序列進(jìn)行拉伸和壓縮來實(shí)現(xiàn)時(shí)間序列間的特征點(diǎn)對(duì)齊,校正時(shí)間軸上的錯(cuò)位。
假設(shè)有兩個(gè)時(shí)間序列X,Y。X的長度為m,Y的長度為n,表示為:
X=
(1)
Y=
(2)
序列X中的第i個(gè)元素i和序列Y中的第j個(gè)元素j之間的距離記做d(i,j)。一個(gè)記錄元素之間的匹配關(guān)系的序列被稱作規(guī)整路徑,記做w1(i,j),w2(i,j),...,wk(i,j),規(guī)整路徑不能夠隨意地選擇,它至少要滿足3種約束:
(1)邊界條件。規(guī)整路徑一定從w1(1,1)開始,到wk(m,n)結(jié)束。由于邊界條件的存在,max(m,n)≤K (2)連續(xù)性。假設(shè)已知wk-1(i′,j′),則wk(i,j)必定滿足|i-i′|≤1,|j-j′|≤1。 (3)單調(diào)性。假設(shè)已知wk-1(i′,j′),則wk(i,j)必定滿足i-i′≥0,i-i′≥0。 將連續(xù)性和單調(diào)性約束結(jié)合起來之后,假設(shè)已知wk-1(i′,j′),wk(i,j)只能從以下3個(gè)元素當(dāng)中進(jìn)行選擇:wk(i′,j′+1),wk(i′+1,j′),wk(i′+1,j′+1)。規(guī)整路徑上的某個(gè)元素對(duì)應(yīng)的距離為d(i,j),而規(guī)整路徑上某一元素wk(i,j)及它之前所有元素對(duì)應(yīng)的距離之和為該元素的累積距離,記做Dk(i,j)。DTW計(jì)算時(shí)的規(guī)整路徑是在滿足條件的前提下使得wk(m,n)處累積距離最小的規(guī)整路徑,此時(shí)的累積距離Dk(m,n)就是最能反映兩時(shí)間序列相似性的距離[8-9]。 由于理想的規(guī)整路徑使得累積距離最小,因此問題被轉(zhuǎn)化為求取最小的累積距離Dk(m,n)。DTW算法運(yùn)用動(dòng)態(tài)規(guī)劃的思想來求取最小的累積距離Dk(m,n)。規(guī)整路徑上某處的累積距離可以表示為: Dk(i,j)=d(i,j)+Dk-1(i′,j′) (3) 規(guī)整路徑的選擇受到限制,因此Dk-1(i′,j′)一定是Dk-1(i-1,j-1),Dk-1(i-1,j),Dk-1(i,j-1)之一,Dk(i,j)可以表示為遞歸公式(4): Dk(i,j)=d(i,j)+min{Dk-1(i-1,j),Dk-1(i,j-1), (4) 規(guī)整路徑的累積距離就是兩序列的動(dòng)態(tài)規(guī)整距離,序列之間的動(dòng)態(tài)規(guī)整距離越小,其相似度越高。 在很多應(yīng)用中,需要使用一條平均時(shí)間序列來代表多條時(shí)間序列組成的集合。由于時(shí)間序列集合內(nèi)部每條序列的長度未必相等,時(shí)間序列的特征在時(shí)間軸上可能有錯(cuò)位,因此按一一對(duì)應(yīng)方式對(duì)時(shí)間序列集合內(nèi)每一點(diǎn)求取平均值,從而計(jì)算平均時(shí)間序列的方法無法取得較好的效果。動(dòng)態(tài)時(shí)間規(guī)整重心平均(DTW Barycenter Averaging, DBA)利用動(dòng)態(tài)時(shí)間規(guī)整距離的大小作為求取平均序列的優(yōu)化指標(biāo),計(jì)算平均序列的效果較好。 DBA 的輸入是一個(gè)時(shí)間序列集合,輸出是該序列集的平均序列,目的是計(jì)算一個(gè)到序列集內(nèi)各序列的DTW距離平方和最小的平均序列。由1.1節(jié)介紹的DTW計(jì)算方式可知,這個(gè)距離是由平均序列的一個(gè)坐標(biāo)與集合內(nèi)其他序列上與之匹配的一個(gè)或多個(gè)坐標(biāo)計(jì)算歐氏距離而得。因此,通過計(jì)算所有匹配坐標(biāo)的均值代替原平均序列的坐標(biāo)的方式可以減少這一距離,計(jì)算出新的平均時(shí)間序列。新的平均序列再次計(jì)算DTW會(huì)形成新的匹配關(guān)系,因此需要反復(fù)對(duì)平均時(shí)間序列進(jìn)行更新,直至更新后的平均時(shí)間序列不再變化。 DBA算法的具體步驟如下: (1)從時(shí)間序列集合中隨機(jī)選取一條作為當(dāng)前平均序列。 (2)計(jì)算當(dāng)前平均序列和序列集中每一條序列的DTW距離,將平均序列的坐標(biāo)和序列集中其他序列的坐標(biāo)匹配起來。 (3)判斷是否是第一次計(jì)算DTW距離,如果是,執(zhí)行(5),如果不是,執(zhí)行(4)。 (4)判斷DTW距離平方和是否下降,如果是,執(zhí)行(5),如果不是,將當(dāng)前平均序列作為結(jié)果輸出,程序結(jié)束。 (5)將平均序列的每個(gè)坐標(biāo)更新為序列集中與之匹配的坐標(biāo)的均值。返回(2)繼續(xù)運(yùn)行。 DBA算法流程圖如圖2所示。 圖2 DBA算法流程圖 DTW和DBA是兩種時(shí)間序列處理的常用算法。本文將這兩種算法組合起來運(yùn)用到刀具破損檢測過程中,提出了一種基于DTW和DBA組合算法的刀具破損檢測算法。 傳統(tǒng)的基于閾值比較的刀具破損識(shí)別算法存在兩大問題:信號(hào)難以同步和識(shí)別標(biāo)準(zhǔn)存在干擾。針對(duì)第一點(diǎn),在一次加工結(jié)束,得到其功率時(shí)間序列后,運(yùn)用DTW算法計(jì)算該功率時(shí)間序列和標(biāo)準(zhǔn)功率時(shí)間序列的距離。這種方式的優(yōu)勢在于不再孤立地考慮單個(gè)時(shí)刻,而是考慮整個(gè)加工過程的功率時(shí)間序列。由于DTW是為了在時(shí)間軸上有變形和錯(cuò)位的情況下判斷時(shí)間序列相似度而提出的,因此可以不必單獨(dú)考慮時(shí)間軸錯(cuò)位問題,針對(duì)第二點(diǎn),本文首先采集多次正常加工過程中的主軸功率數(shù)據(jù),形成正常加工功率時(shí)間序列集合,并使用DBA算法計(jì)算正常加工功率時(shí)間序列集合的平均時(shí)間序列作為刀具破損判斷標(biāo)準(zhǔn)。多次正常加工過程中發(fā)生的生產(chǎn)要素波動(dòng)大小、趨勢都是隨機(jī)的,在正常加工功率時(shí)間序列集合包含足夠多時(shí)間序列的情況下,生產(chǎn)要素波動(dòng)造成的功率變化因變化趨勢不同而相互抵消,最終得到的平均序列更加接近理論上的周期性功率時(shí)間序列,適合作為刀具破損識(shí)別標(biāo)準(zhǔn)時(shí)間序列。計(jì)算平均時(shí)間序列時(shí)的DTW距離平方和下降狀況如圖3所示。 圖3 DTW距離平方和變化圖 基于DTW和DBA的刀具破損檢測算法具體步驟如下: (1)采集多次正常加工過程主軸功率數(shù)據(jù),并以時(shí)間序列形式存儲(chǔ)。 (2)將正常加工過程主軸功率數(shù)據(jù)集劃分為生成標(biāo)準(zhǔn)序列和計(jì)算閾值兩部分。 (3)以生成標(biāo)準(zhǔn)序列部分為數(shù)據(jù)源,使用DBA算法計(jì)算這一部分時(shí)間序列的平均序列。DBA是一種啟發(fā)式算法,得到的計(jì)算結(jié)果未必是最優(yōu)的,通常要進(jìn)行多次計(jì)算,從結(jié)果中選取最優(yōu)值作為刀具破損判斷的標(biāo)準(zhǔn)時(shí)間序列。 (4)以計(jì)算閾值部分為數(shù)據(jù)源,使用DTW算法計(jì)算這一部分時(shí)間序列和標(biāo)準(zhǔn)時(shí)間序列的DTW距離,以此為依據(jù)確定刀具破損判斷閾值。 (5)采集一次加工中的主軸功率數(shù)據(jù)。 (6)計(jì)算這條主軸功率時(shí)間序列和標(biāo)準(zhǔn)功率時(shí)間序列的DTW距離。 (7)比較計(jì)算得出的距離和閾值的大小,假如超出閾值范圍就觸發(fā)刀具破損報(bào)警;假如沒有超出閾值范圍,等待下一次加工過程的開始。 刀具破損檢測示意圖如圖4所示。 圖4 刀具破損檢測示意圖 為了檢驗(yàn)本文所提算法的有效性,進(jìn)行了車削過程實(shí)驗(yàn)。實(shí)驗(yàn)的數(shù)控系統(tǒng)平臺(tái)為FANUC-0i-TD,實(shí)驗(yàn)試件為鋁合金車輪,使用的切削用量為主軸轉(zhuǎn)速500r/min,進(jìn)給量0.5mm/r,背吃刀量3.5mm。首先設(shè)置刀具破損監(jiān)控軟件的運(yùn)行狀態(tài)為“模型訓(xùn)練”,進(jìn)行正常車削加工200次,為軟件提供正常加工過程中的主軸功率數(shù)據(jù)。隨后令軟件計(jì)算刀具破損識(shí)別標(biāo)準(zhǔn)時(shí)間序列以及判斷閾值。正常狀況下刀具破損是隨機(jī)發(fā)生的,為了使刀具在實(shí)驗(yàn)中發(fā)生破損,在待加工車輪中嵌入硬質(zhì)點(diǎn),這樣刀尖碰到硬質(zhì)點(diǎn)后必然發(fā)生破損。將軟件運(yùn)行狀態(tài)設(shè)置為“破損檢測”,進(jìn)行150次車削加工,其中10次加工使用嵌入硬質(zhì)點(diǎn)的車輪作為原料,發(fā)生的10次刀具破損全部被監(jiān)控到,準(zhǔn)確率100%。 本文提出了一種利用機(jī)床主軸功率信息對(duì)數(shù)控機(jī)床刀具破損進(jìn)行檢測的方法:該方法以機(jī)床內(nèi)部功率傳感器作為數(shù)據(jù)源,按時(shí)間順序記錄一次加工過程中的主軸功率數(shù)據(jù)作為此次加工的功率時(shí)間序列;在正常加工時(shí),記錄多次加工的功率時(shí)間序列,使用DBA算法對(duì)這些時(shí)間序列進(jìn)行處理以得到刀具破損判斷標(biāo)準(zhǔn)時(shí)間序列和監(jiān)控閾值;在監(jiān)控狀態(tài)下,使用DTW算法計(jì)算當(dāng)前加工功率時(shí)間序列和標(biāo)準(zhǔn)時(shí)間序列的相似度,當(dāng)?shù)毒咂茡p時(shí),該相似度會(huì)顯著降低,使用閾值監(jiān)控相似度的變化即可在刀具破損時(shí)發(fā)出報(bào)警。 本文所提方法的優(yōu)勢主要有:①使用機(jī)床內(nèi)置功率傳感器作為數(shù)據(jù)源,能夠降低成本,利于該方法的推廣;②已有研究對(duì)主軸功率信號(hào)同步程度要求較高,本文所提方法使用DTW距離衡量時(shí)間序列相似度,重視的是功率時(shí)間序列的整體趨勢,對(duì)信號(hào)同步程度的要求較低;③生產(chǎn)參數(shù)波動(dòng)會(huì)對(duì)刀具破損識(shí)別造成干擾,本文所提方法使用DBA算法處理大量正常加工功率時(shí)間序列,以得到的平均序列作為刀具破損識(shí)別的標(biāo)準(zhǔn)時(shí)間序列,生產(chǎn)參數(shù)波動(dòng)帶來的影響相互抵消,避免了波動(dòng)對(duì)刀具破損識(shí)別進(jìn)行干擾。 本文所提方法成本低、應(yīng)用簡便,為使用數(shù)控系統(tǒng)內(nèi)部傳感器數(shù)據(jù)和時(shí)間序列相似度算法進(jìn)行故障檢測拓寬了研究思路。
Dk-1(i-1,j-1)},Dk(0,0)=d(0,0)2.2 時(shí)間序列集合的平均序列計(jì)算
2.3 DTW和DBA組合刀具破損檢測算法
3 實(shí)驗(yàn)測試
4 結(jié)論