杜柳青,李仁杰,李宝钏
(重庆理工大学 机械工程学院,重庆 400054)
数控机床热误差预测与补偿是提高数控机床加工精度和可靠性的重要技术[1-2]。有效补偿的关键是热误差准确建模,近年来,国内外学者对机床热误差预测模型的研究分为理论热误差模型与经验热误差模型[3-5]。理论热误差模型依靠对机床部件的物理机理进行实验研究,进而进行物理建模[6]。Kim[7]、Yun[8]等利用质量集中法对机床丝杠系统建模,并与有限元模型进行对比。谢飞等[9]发现了机床伪滞后现象,建立了基于优化最小二乘支持向量机的热误差伪滞后预测模型。谭峰等[10]利用二进制鲸鱼优化算法对最小二乘支持向量机的超参数进行优化,其损失函数设计考虑最大化预测精度和最小化最优温度关键点,实验结果表明热误差模型精度提高约62.8%,温度测点从20个减至3个。上述研究在机床热态性能方面均取得较好进展,但现有热误差模型受温度测点的影响很大,模型的建立和精度依赖于机床温度敏感点进行布局并优化选取。
热误差具有时变、非线性和耦合的特点,工况不同,机床的温度场分布模式和热误差均会发生变化。而温度传感器的优化布置一直是热误差补偿研究和实际应用中的一个瓶颈。魏弦等[11]利用模糊聚类与相关性分析对温度测点进行优化后,采用特征提取法得到预测模型的自变量,从而建立了自适应模糊聚类热关键点优化方法,消除了复共线性对模型精度与鲁棒性的影响。张伟等[12]采用灰色关联法计算温度与热误差之间的相关系数,并选取最优温度变量;再用模糊聚类对所选变量进行聚类,确定关键温度点;最后,建立线性回归模型,将机床热误差由41.3 µm减小到7.6 µm。凡志磊等[13]提出了一种基于偏相关分析的数控机床温度测点优化方法,实现了温度测点的优化,并提高了所建立的多元回归热误差模型的精确性与鲁棒性。Chen等[14]通过分别计算9个温度传感器与3个方向的位移传感器之间的关系,利用判定系数,确定进给量的5次多项式与6个温度敏感点作为模型的输入。以上温度优化研究均需面对一个难以克服的问题,即数控机床的温度分布具有极强的耦合性并且存在热弹性效应[15],数控机床的热特性不可能达到绝对的稳定状态,且随着机床的工况不同,以及季节与气候等影响因素的作用,机床的温度敏感点是可能发生变化的[16]。使用传统热误差建模方法对机床热误差进行预测就会产生较大的预测误差,导致数控机床加工精度降低,满足不了不同工况运行下的精度要求。
深度学习算法具有强大的数据处理与特征自学习能力。目前,针对深度学习的研究主要集中在图像处理、字符识别、语义分割等方面,并取得了一些成果[17-19]。为避免温度测点变化与敏感点人工选择对机床精度的影响,提高机床热误差预测精度和鲁棒性,提出一种基于注意力机制的温度敏感点自动识别网络,根据计算出的温度测点与热误差关联程度,赋予各温度测点不同的权值;基于卷积神经网络(convolutional neural network,CNN),建立数控机床热误差深度学习预测模型;利用深度CNN的强大特征提取能力,自动提取机床温度数据图像的特征,准确建立温度图像与热误差的非线性映射关系,在实验中获得了较高的热误差预测精度。
作者建立了一种基于注意力机制与卷积神经网络的深度学习热误差模型,结构如图1所示,主要包括数据转换模块、敏感点注意力网络、深度CNN预测网络等。该模型的输入为图像化的温度数据,将数控机床原始温度数据转化为温度图像,建立的数控机床温度分布图与深度卷积神经网络系统特性具有高度契合性,也即全部原始温度数据直接作为深度学习网络的输入,完整保留了数控机床温度特征。敏感点注意力网络自动挖掘温度敏感点,避免了温度测点人工优化,有利于提高效率。深度CNN预测网络进行特征自动提取,从多维带有耦合性的数据中自动提取出机床热误差的高层次特征,通过训练自动找到合适的卷积核,避免了传统热误差建模方法中需要人为优化温度敏感点而存在的种种弊端,从而提升模型的精度与鲁棒性。
图1 基于注意力机制的深度CNN热误差模型Fig. 1 Thermal error modeling of CNN based on attention mechanism
数控机床温度场是在某一瞬间机床内各点温度分布点的总称,是时间与空间位置点分布函数,其温度分布属于非稳态温度场。采用温度场数据转换为温度图像点的方式保留了机床温度场的完整信息;同时,利用深度学习建模方法也避免了温度测点之间的非线性与耦合问题。转化思路基于图像的数值属性,即图像由0~256数值组成,转换原理如图2所示。
图2 温度场转换示意图Fig. 2 Schematic diagram of temperature field conversion
将同一时刻温度测点数据转换为温度矩阵,即组成同一时刻具有机床完整温度信息的温度图像。
构建的深度学习热误差模型一共有12层,除输入层和输出层以外,还含有10个隐藏层,分别为4个卷积层、3个池化层、1个全连接层和2个回归层,具体网络结构如图3所示,结构参数如表1所示。
表1 CNN具体结构Tab. 1 CNN structure
图3 深度CNN预测网络Fig. 3 Deep learning prediction net
卷积层与池化层交替连接。卷积层实现特征自动提取,其映射公式为:
式中:x为热误差模型的层次特征图;k为提取温度抽象特征而构造的卷积核;M为温度特征学习的感受野;b为层次特征图的偏置;l为热误差模型的卷积层序号;j为当前层特征图序号;i为前一层特征图序号;*为卷积运算;f(·)为激活函数,采用ReLU型激活函数,其计算速度与收敛速度快于Sigmoid和tanh,同时能消除负信号的干扰,解决了梯度消失的问题,表达式为:
池化层尽可能保留较多原始特征信息,同时降低特征维度,减少运算量,并且具有平移不变性的特点。池化层的映射公式为:
式中,down(·)为池化函数, β为权重,b为池化层偏置。
全连接层的功能是将多维的特征图展成单一维度的向量,向下传递进入全连接层网络,传递式为:
式中,b为全连接层偏置,w为权值。
回归层用于将卷积神经网络输出的传统分类模式变成回归预测模式,计算热误差预测值,计算式为:
式中,h为回归层的偏置,s为权值,h(·)为线性变换函数。
注意力机制(attention mechanism,AM)[20]能从较大的信息集里面挑选出有用信息。设计一种温度敏感点注意力网络,自动挖掘温度测点与机床热误差间的关联关系,根据关联程度,对温度测点赋予不同的重要性,以提高机床热误差预测的效率和准确性。温度敏感点注意力网络如图4所示。
图4 敏感点注意力网络Fig. 4 Sensitive attention network
注意力网络采用softmax函数实现注意力评分操作,softmax将上一层网络输出的相关性系数转化为权值,即状态信号权重矩阵a,得到各温度测点对机床热误差的重要程度。
然后,对输入的温度数据对应加权,对不同测点数据采取不同的权重,加权后的温度数据再作为深度CNN预测网络的输入。
深度CNN热误差模型网络结构较复杂,导致模型在训练过程中提取数据特征时,可能相应对随机噪声特征进行了提取,从而导致模型的过拟合。因此,在模型中引入Dropout[21]正则化方法防止模型过拟合,以一定概率随机放弃一些被激活的神经元,让模型不会太依赖某些局部的特征,使网络具有稀疏特性,模型更健壮,泛化能力更强。
传统网络训练采用随机梯度下降法(stochastic gradient descent,SGD)求解局部最优值,由于方向选择的问题,其得到的结果不一定是全局最优。因此,在深度CNN热误差模型的构建中引入Adam(adaptive momentum,Adam)[22]自适应动量的随机优化方法,通过控制超参数和调整学习率改善模型的训练过程。
温度图像数据直接输入网络的第一层,即输入层;经过中间各隐层,逐层变换,逐层映射,直到输出层。
前向传播过程包含数据前向传播与Dropout正则化过程,设置热误差深度学习网络的丢弃率p(一般为0.3~0.6),生成一个0~1之间均匀分布的随机数组U1,U1中小于p的被置0,大于p的被置1。
设置神经元H1=U1,U1中置0位对应的神经元被放弃,即随机选择神经层中的一些单元,并将其临时隐藏。
使用Dropout正则化后神经元的连接方式变化如图5所示。
图5 Dropout正则化Fig. 5 Dropout regularization
Adam基于训练数据迭代更新热误差深度学习网络参数,热误差模型参数的更新不受梯度的伸缩变换影响,计算效率高,对内存需求少。该算法从梯度均值及梯度平方2个角度进行更新,步长自适应地调节,而不是直接取决于前梯度值。
在G460L高速线轨刀塔式数控车床上进行了验证应用。采用PT100温度传感器采集机床温度信息,采用ML33-B-V2-3型电涡流位移传感器测量主轴径向与轴向热误差,并分别经过SBWZ-2460温度变送器、前置器,以及USB-3120数据采集卡将测得模拟信号转变为数字信号,输出到数据采集软件进行处理。部分传感器布置如图6所示。
图6 部分传感器布置Fig. 6 Partial sensors arrangement
温度传感器在机床各部件的布置如表2所示。
表2 温度传感器布置Tab. 2 Arrangement of temperature sensors
机床工况发生变化,以及不同季节条件下,实际的机床温度场将发生不确定的变化。因此,在不同季节、不同时间、不同工况下,采集G460L机床热误差与温度数据,如表3所示。噪声问题在空载时更为突出,空载曲线最富有意义[23-24],因此,设定机床主轴为空转模式,机床主轴以1 500和3 000 r/min 2种转速模拟实际加工的空载转速;为了提高模型的泛化性,也设置了6 000 r/min的高转速空载。数据采集系统的取样间隔为30 s,为了降低高采样频率带来的误差影响,对测量数据进行移动均值滤波处理。
表3 G460L温度数据采集Tab. 3 Acquisition of G460L’s temperature data
随机选取K8与K11这2组热误差和温升的数据进行对比,如图7所示。从图7可以看出:在开始测量的前100 min内,机床X方向上热误差内小于机床Z方向热误差。随着测试时间的增加,X向热误差逐渐增大并超过Z向热误差;X向热误差值总体上呈现指数形式增长,在测量时长达到150 min左右时,机床达到了准热特性平衡状态,热误差值变化较小。随着测量时间的增加,机床温度也在不断地增加。部分测点温度变化趋势十分相近,且呈现出一定的耦合性与相关性;在不同转速下,同一温度测点的温度值变化也可能发生较大变化,这与环境温度及车间的空气流通有一定的关系。
图7 热误差比较、温升比较Fig. 7 Comparison of temperature rise and thermal error
因此,机床的温度变化呈现出较大耦合性与不确定性,这对热误差模型的建立产生了极大影响,使模型的鲁棒性及预测精度在一定程度上受到影响。相关研究指出,温度敏感点在不同工况下会发生变化,故根据现有热误差模型选择温度敏感点作为模型的输入,在机床工况发生变化时会产生模型预测精度下降和泛化性降低等问题。
为了减少长时间测量过程中其他因素对数据的影响,采用增量形式记录数据;同时,也对数据进行归一化处理,减小因数据维度差距过大所带来的影响。将训练数据集的顺序进行随机打乱,避免每次训练都以相同的数据集顺序传入网络模型中。这种措施可以在一定程度上缓解过度拟合。
在模型训练过程中,采用了水平或垂直翻转图像、随机角度旋转图像、比例缩放图像、随机剪裁图像、位移图像、添加高斯噪声、颜色增强等“数据增强”方法提高热误差模型的准确性与泛化性。对卷积神经网络在每个图像的多个不同副本上进行训练,有利于针对同一对象的变化进行泛化,从而提高模型的泛化能力与鲁棒性。
采用平均绝对误差(mean absolute error,MAE)、均方差(mean squared error,MSE)和修正决定系数R2adj对模型的性能进行量化评定,弥补R2随样本量增加而增大的缺陷。决定系数R2越接近1,模型预测效果越好,精度越高。模型训练后的决定系数R2值最大的同时,MAE与MSE越小,模型预测误差越小。f(value)为数据的相对变化值,上述指标的计算公式如下:
数据增强后的温度图像大小对模型精度会产生的影响如图8所示。从图8中可以看出,选择将图像增强为12×12大小时,模型训练后的输入模型训练后得到的模型各项指标均为最优。故采用12×12输入图像大小作为模型输入尺寸时能获得最高的预测精度。
图8 数据增强图像尺寸对模型精度的影响Fig. 8 Influence of image size on model accuracy in data enhancement
带注意力机制CNN模型的建立基于Tensor-Flow框架,集成开发环境为Pycharm以及GTX 1050 Ti显卡。表4为模型训练参数的设置,在模型的全连接层到输出层之间再设置2个回归层,用于将传统的卷积神经网络输出的分类模式变成回归预测模式。2个回归层都使用Dropout正则化优化方法,分别设置Dropout值为0.4和0.3。模型的输出层激活函数选择回归预测模型中常用的Sigmoid激活函数,以得到具有连续性的热误差预测值。
表4 CNN热误差模型参数设置Tab. 4 Parameters setting of CNN thermal error model
选择最大值池化函数减少估计值方差。卷积层与池化层之间的激活函数为ReLU激活函数,卷积核的初始化采用正态分布的随机数,结合Adam优化算法对卷积核进行优化,模型训练结果如图9所示。基于深度卷积神经网络的热误差模型设置有4个卷积层,深度不断加深。卷积层的卷积核大小通常优先选择3×3或更小的卷积核,在每个卷积核后进行非线性化,使得在具有相同感受野大小的同时,可以节省参数,减少过拟合。而且由于网络更深,非线性更强,效果往往更好[25-28]。
图9 CNN模型训练集和测试集的损失函数曲线Fig. 9 Loss function value curves of CNN model training set and test set
选用应用改进优化的BP神经网络热误差模型[29]、MLR热误差模型和非改进CNN热误差模型用于验证本文AM−CNN热误差模型的预测效果,并进行对比。将不同工况、不同季节的数据合并作为训练数据,对不同转速下测试集进行预测[30]。
根据前述方法进行数据预处理及降噪后,一共得到23组数据,其中17组作为训练集合,选择不同典型环境温度下的6组数据进行热误差预测验证。根据前述建模方法与优化方法,建立热误差预测模型,6组数据均有较高的预测准确性,其中,转速条件分别为1 500、3 000、6 000 r/min的K8、K13、K23组预测效果如图10所示(热误差观测值为X向数据)。
图10 不同混合转速下预测模型预测结果对比Fig. 10 Comparison of prediction results of different prediction models under mixed speed
MLR模型、BP模型均采用灰色关联度与聚类分析方法筛选出4个温度敏感点作为模型的输入,CNN与本文AM−CNN模型则采用温度场转化方法,将温度图像作为模型的输入。BP模型的网络超参数采用遗传算法对其进行优化,优化后其网络结构为4-9-3-1。从图10可以看出,基于注意力机制的CNN热误差模型具有较好的预测精度与准确性,对于混合转速下的数控机床热误差做出预测的同时也表现出了良好的泛化性,能够在不同的条件下对机床热误差做出准确的预测。
AM-CNN模型采用的注意力网络能自动对机床温度场敏感特征进行识别,进行一次建模即能取得和其他模型针对性建模的预测效果。注意力机制对温度敏感点特征重构如图11所示,在不同的时间,机床温度特征重要性发生了变化,注意力机制很好地抓住了这个变化并分配不同的重要性权重,与传统CNN方法比较,本文模型的预测精度更好,具有更高的鲁棒性。
图11 注意力机制对温度敏感点特征重构Fig. 11 Reconstruction of temperature sensitive point features by attention mechanism
图12为BP方法、CNN方法、MLR方法、本文基于注意力机制的CNN方法3种数据残差对比。由图12可以看出,与CNN模型、BP和MLR模型相对比,本文AMCNN模型的残差值波动最小,预测表现更加稳定。幅度的上升。由公式(14)、(15)可得:以K8数据集转速为基准,AM-CNN模型的泛化性指标Rrpm为0.134 7与0.076 0,BP模型的泛化性指标为0.185 2与0.167 1,CNN模型的泛化性指标为0.137 4与0.073 3,MLR模型的泛化性指标Rrpm为0.098 9与0.282 4。
图12 模型残差对比Fig. 12 Comparison of model residuals
表5 K8数据集下各模型预测指标Tab. 5 Prediction indexes of each model in K8 data set
表6 K13数据集下各模型预测指标Tab. 6 Prediction index of each model in K13 data set
表7 K23数据集下各模型预测指标Tab. 7 Prediction index of each model in K23 data set
从各个模型的残差对比(图12)中也可以看出,AMCNN模型的残差值波动范围均为最小。MLR作为热误差经验模型中应用最广泛的模型,在针对不同工况下进行的建模,其模型的预测指标与AM-CNN表现较为接近。但是,AM-CNN模型建模与训练过程较为简单,且不需要人为地对温度敏感点进行数学分析与选择,采用全部原始机床温度场数据,利用注意力机制对其进行识别,很好地利用数据驱动模型的特点,增加了模型的泛化性。
综合上述分析,在变转速状况下,AM-CNN模型更能学习到机床热特性动态变化的特征,综合预测指标相较于BP、MLR和CNN模型更优,很好地体现出了基于深度卷积神经网络热误差模型对机床温度场信息的特征提取能力。
温度敏感点随着季节、工况、气候变化而变化,从而影响机床热误差补偿的鲁棒性和补偿精度。基于注意力机制和卷积神经网络探索建立了无温度敏感点预选的热误差预测模型,并在G460L型高速线轨刀塔式数控车床上进行了验证应用,提高效率的同时取得了良好的预测精度与鲁棒性,可在机床热误差建模与补偿中应用推广。
1)本文热误差模型预测准确,且泛化性好,得益于深度卷积神经网络高层次特征提取能力。该模型可以学习温度与热误差之间的高层次映射关系,提高了模型的适用性。与BP模型、MLR和CNN模型相比较,AM-CNN模型具有更好的泛化性与预测准确性。
2)基于注意力机制的敏感点自动识别网络解决了温度测点人为选取对热误差模型的精度与鲁棒性的影响。模型的建立所采用的温度传感器数量为16个,无需对敏感点进行预选择,在保留尽可能多的温度特征信息的同时也能抑制各温度点的共线性弊端,解决不同工况、季节与气候等因素导致的温度敏感点变化对模型精度的影响,与传统线性模型和机器学习模型相比,优势明显。