当前位置:首页 期刊杂志

基于DTW和DBA算法的CNC刀具破损在线检测

时间:2024-07-28

傅致远,王仲逸,吴一凡,张 铫,周 贺,路云浩

(东北大学秦皇岛分校 计算机与通信工程学院,河北 秦皇岛 066004)

0 引言

由于自动化程度高,需要人工干预少,机械加工企业普遍将加工设备升级为数控机床。数控机床可以按照程序自动实现重复的加工工艺,因此批量加工模式得到了广泛应用,降低了产品的成本。这两项进步组合在一起也产生了新的问题:数控机床切削刀具破损后无法及时发现,直到下个生产环节发现残次品后才能采取措施,此时生产线上已经加工出大量残次品,造成经济损失。因此批量加工生产线刀具破损检测技术成为降低产品不合格率的必需。

目前,国内外对刀具监控方法的研究有很多,包括利用切削力、振动、声反射、电流、功率等信号或综合利用多种信号[1-4],使用频域分析、时频域小波分析方法提取特征,并使用阈值比较、相关系数、神经网络、支持向量机等方法[5-7]识别特征信息,判断刀具状态。

在目前的研究中,绝大多数刀具破损检测都依赖单独安装的传感器来收集监控信号[1-2,5-6]。在机床外部加装传感器往往需要改变机床的机械结构,而且环境中的振动、切屑、冷却液会对外部传感器造成干扰。传统的功率监测方法以新刀加工过程的主轴功率数据为依据划定破损判断阈值,实时加工过程主轴功率超出阈值则发出刀具破损报警[3-4]。这种方法容易受到随机干扰的影响,而且对于数据的同步性要求很高。

本文充分利用已有设备,选择机床主轴功率信号作为监控信号,以数控机床内置功率传感器为数据源,使用PC与数控系统进行数据交换,获取机床主轴功率信号来监控刀具破损,达到了降低系统成本,减少干扰的效果。本文将在机床一次加工过程中采集的主轴功率数据按时间顺序先后排列起来,称为本次加工过程的功率时间序列。以时间序列作为功率变化对比的基本单位,用功率时间序列相似度作为衡量功率变化程度的标准,可以消除数据错位的影响,降低进行刀具破损检测对数据同步性的要求。针对加工参数浮动带来的随机干扰,本文使用多次正常加工过程功率时间序列的平均序列作为刀具破损识别的标准,实现多个时间序列之间随机干扰的相互抵消,破损识别更加准确。

1 刀具破损监控方法

1.1 现有刀具破损监控方法

在批量加工模式下,每次加工过程使用相同材料的工件、相同型号的刀具、相同的切削用量。因此,加工过程中的主轴功率具有重复性,即每次加工中的主轴功率相同。当刀具破损时,主轴功率不再具有重复性。刀具破损监控方法是以新刀加工过程中的主轴功率为标准划定主轴功率阈值范围,若监控过程中采集的主轴功率在阈值范围之外则认为主轴功率不再重复,发生刀具破损。

1.2 现有监控方法的不足

现有监控方法的不足之处主要体现在两方面:

(1)需要信号同步。加工过程中主轴功率在不断变化,因此监控过程中采集的主轴功率需要和新刀加工中对应时刻的阈值进行比较。由于加工过程中的时间不完全相同,不同加工中的主轴功率数据往往是错位的而且无法直接使用时间作为同步信号。实际功率数据的错位情况如图1所示。在使用数控机床内部传感器做数据源的情况下,信号同步更加困难。文献[3]提出了基于数控代码解析的信号同步方法,但是运用数控代码解析需要针对性的修改数据代码,过程繁琐。

图1 功率时间序列非同步对比图

(2)以单一加工过程的主轴功率作为标准。尽管设定了相同的切削用量,生产过程中它们仍然存在波动。因此单独一次正常加工过程中的功率数据可能包含有切削用量波动的影响。以单一加工过程作为标准,可能会导致阈值范围的取值受到干扰。

针对以上两点不足,本文提出了一种DTW和DBA组合的刀具破损监控算法。以加工过程中的功率时间序列为考虑对象,使用DTW衡量实时加工功率时间序列和标准功率序列的相似度,根据相似度的大小判断实时主轴功率是否符合功率重复性要求。由于不再孤立地考虑单个时刻,就避免了信号同步的问题。使用DBA算法计算正常加工功率时间序列集合的平均序列,以平均序列作为破损识别标准。由于切削用量的波动是随机的,因此在多条时间序列的平均序列中其影响被抵消。

2 刀具破损检测算法

2.1 动态时间规整距离(DTW)

两个形状相似的时间序列长度未必相等而且特征点在时间轴上可以是错位的,这导致直接计算欧式距离不能很好地反映两个时间序列的相似度。动态时间规整距离是一种常用的时间序列相似度度量方法,依靠在时间轴上对时间序列进行拉伸和压缩来实现时间序列间的特征点对齐,校正时间轴上的错位。

假设有两个时间序列X,Y。X的长度为m,Y的长度为n,表示为:

X=

(1)

Y=

(2)

序列X中的第i个元素i和序列Y中的第j个元素j之间的距离记做d(i,j)。一个记录元素之间的匹配关系的序列被称作规整路径,记做w1(i,j),w2(i,j),...,wk(i,j),规整路径不能够随意地选择,它至少要满足3种约束:

(1)边界条件。规整路径一定从w1(1,1)开始,到wk(m,n)结束。由于边界条件的存在,max(m,n)≤K

(2)连续性。假设已知wk-1(i′,j′),则wk(i,j)必定满足|i-i′|≤1,|j-j′|≤1。

(3)单调性。假设已知wk-1(i′,j′),则wk(i,j)必定满足i-i′≥0,i-i′≥0。

将连续性和单调性约束结合起来之后,假设已知wk-1(i′,j′),wk(i,j)只能从以下3个元素当中进行选择:wk(i′,j′+1),wk(i′+1,j′),wk(i′+1,j′+1)。规整路径上的某个元素对应的距离为d(i,j),而规整路径上某一元素wk(i,j)及它之前所有元素对应的距离之和为该元素的累积距离,记做Dk(i,j)。DTW计算时的规整路径是在满足条件的前提下使得wk(m,n)处累积距离最小的规整路径,此时的累积距离Dk(m,n)就是最能反映两时间序列相似性的距离[8-9]。

由于理想的规整路径使得累积距离最小,因此问题被转化为求取最小的累积距离Dk(m,n)。DTW算法运用动态规划的思想来求取最小的累积距离Dk(m,n)。规整路径上某处的累积距离可以表示为:

Dk(i,j)=d(i,j)+Dk-1(i′,j′)

(3)

规整路径的选择受到限制,因此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),
Dk-1(i-1,j-1)},Dk(0,0)=d(0,0)

(4)

规整路径的累积距离就是两序列的动态规整距离,序列之间的动态规整距离越小,其相似度越高。

2.2 时间序列集合的平均序列计算

在很多应用中,需要使用一条平均时间序列来代表多条时间序列组成的集合。由于时间序列集合内部每条序列的长度未必相等,时间序列的特征在时间轴上可能有错位,因此按一一对应方式对时间序列集合内每一点求取平均值,从而计算平均时间序列的方法无法取得较好的效果。动态时间规整重心平均(DTW Barycenter Averaging, DBA)利用动态时间规整距离的大小作为求取平均序列的优化指标,计算平均序列的效果较好。

DBA 的输入是一个时间序列集合,输出是该序列集的平均序列,目的是计算一个到序列集内各序列的DTW距离平方和最小的平均序列。由1.1节介绍的DTW计算方式可知,这个距离是由平均序列的一个坐标与集合内其他序列上与之匹配的一个或多个坐标计算欧氏距离而得。因此,通过计算所有匹配坐标的均值代替原平均序列的坐标的方式可以减少这一距离,计算出新的平均时间序列。新的平均序列再次计算DTW会形成新的匹配关系,因此需要反复对平均时间序列进行更新,直至更新后的平均时间序列不再变化。

DBA算法的具体步骤如下:

(1)从时间序列集合中随机选取一条作为当前平均序列。

(2)计算当前平均序列和序列集中每一条序列的DTW距离,将平均序列的坐标和序列集中其他序列的坐标匹配起来。

(3)判断是否是第一次计算DTW距离,如果是,执行(5),如果不是,执行(4)。

(4)判断DTW距离平方和是否下降,如果是,执行(5),如果不是,将当前平均序列作为结果输出,程序结束。

(5)将平均序列的每个坐标更新为序列集中与之匹配的坐标的均值。返回(2)继续运行。

DBA算法流程图如图2所示。

图2 DBA算法流程图

2.3 DTW和DBA组合刀具破损检测算法

DTW和DBA是两种时间序列处理的常用算法。本文将这两种算法组合起来运用到刀具破损检测过程中,提出了一种基于DTW和DBA组合算法的刀具破损检测算法。

传统的基于阈值比较的刀具破损识别算法存在两大问题:信号难以同步和识别标准存在干扰。针对第一点,在一次加工结束,得到其功率时间序列后,运用DTW算法计算该功率时间序列和标准功率时间序列的距离。这种方式的优势在于不再孤立地考虑单个时刻,而是考虑整个加工过程的功率时间序列。由于DTW是为了在时间轴上有变形和错位的情况下判断时间序列相似度而提出的,因此可以不必单独考虑时间轴错位问题,针对第二点,本文首先采集多次正常加工过程中的主轴功率数据,形成正常加工功率时间序列集合,并使用DBA算法计算正常加工功率时间序列集合的平均时间序列作为刀具破损判断标准。多次正常加工过程中发生的生产要素波动大小、趋势都是随机的,在正常加工功率时间序列集合包含足够多时间序列的情况下,生产要素波动造成的功率变化因变化趋势不同而相互抵消,最终得到的平均序列更加接近理论上的周期性功率时间序列,适合作为刀具破损识别标准时间序列。计算平均时间序列时的DTW距离平方和下降状况如图3所示。

图3 DTW距离平方和变化图

基于DTW和DBA的刀具破损检测算法具体步骤如下:

(1)采集多次正常加工过程主轴功率数据,并以时间序列形式存储。

(2)将正常加工过程主轴功率数据集划分为生成标准序列和计算阈值两部分。

(3)以生成标准序列部分为数据源,使用DBA算法计算这一部分时间序列的平均序列。DBA是一种启发式算法,得到的计算结果未必是最优的,通常要进行多次计算,从结果中选取最优值作为刀具破损判断的标准时间序列。

(4)以计算阈值部分为数据源,使用DTW算法计算这一部分时间序列和标准时间序列的DTW距离,以此为依据确定刀具破损判断阈值。

(5)采集一次加工中的主轴功率数据。

(6)计算这条主轴功率时间序列和标准功率时间序列的DTW距离。

(7)比较计算得出的距离和阈值的大小,假如超出阈值范围就触发刀具破损报警;假如没有超出阈值范围,等待下一次加工过程的开始。

刀具破损检测示意图如图4所示。

图4 刀具破损检测示意图

3 实验测试

为了检验本文所提算法的有效性,进行了车削过程实验。实验的数控系统平台为FANUC-0i-TD,实验试件为铝合金车轮,使用的切削用量为主轴转速500r/min,进给量0.5mm/r,背吃刀量3.5mm。首先设置刀具破损监控软件的运行状态为“模型训练”,进行正常车削加工200次,为软件提供正常加工过程中的主轴功率数据。随后令软件计算刀具破损识别标准时间序列以及判断阈值。正常状况下刀具破损是随机发生的,为了使刀具在实验中发生破损,在待加工车轮中嵌入硬质点,这样刀尖碰到硬质点后必然发生破损。将软件运行状态设置为“破损检测”,进行150次车削加工,其中10次加工使用嵌入硬质点的车轮作为原料,发生的10次刀具破损全部被监控到,准确率100%。

4 结论

本文提出了一种利用机床主轴功率信息对数控机床刀具破损进行检测的方法:该方法以机床内部功率传感器作为数据源,按时间顺序记录一次加工过程中的主轴功率数据作为此次加工的功率时间序列;在正常加工时,记录多次加工的功率时间序列,使用DBA算法对这些时间序列进行处理以得到刀具破损判断标准时间序列和监控阈值;在监控状态下,使用DTW算法计算当前加工功率时间序列和标准时间序列的相似度,当刀具破损时,该相似度会显著降低,使用阈值监控相似度的变化即可在刀具破损时发出报警。

本文所提方法的优势主要有:①使用机床内置功率传感器作为数据源,能够降低成本,利于该方法的推广;②已有研究对主轴功率信号同步程度要求较高,本文所提方法使用DTW距离衡量时间序列相似度,重视的是功率时间序列的整体趋势,对信号同步程度的要求较低;③生产参数波动会对刀具破损识别造成干扰,本文所提方法使用DBA算法处理大量正常加工功率时间序列,以得到的平均序列作为刀具破损识别的标准时间序列,生产参数波动带来的影响相互抵消,避免了波动对刀具破损识别进行干扰。

本文所提方法成本低、应用简便,为使用数控系统内部传感器数据和时间序列相似度算法进行故障检测拓宽了研究思路。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!