本发明属于精密数控机床热误差补偿技术领域,涉及一种具有外部输入的非线性自回归神经网络narx(nonlinearautoregressivewithexternalinputneuralnetwork)的机床热误差建模方法。
背景技术:
机床在工作过程中,由于主轴发热、运动部件摩擦生热、切削热和环境温度变化等因素会造成机床各部件的热变形,导致切削刀具与工件的理想位置发生变化引起加工误差。目前由于机械加工制造技术的提高,精密机床几何误差较小,而热误差成为影响其精度的最主要因素。相关研究表明,热误差可以占到精密机床加工的误差的70%左右,因此对精密数控机床进行热误差补偿就成为提高其加工精度的关键任务。
由于工业界认识到热误差对机床精度有重要影响,因此对减小或消除机床的热误差进行了大量的研究。目前,对热误差进行建模的常见方法有线性回归模型、支持向量机模型、神经网络模型、灰色预测模型等。其中,这些模型存在一个共性问题是没有考虑热误差变化的滞回特性或者说是多值特性,在复杂环境下使用时,模型无法适应热误差变化的强烈非线性,造成预测精度不高甚至失效。
温度-热误差的滞回特性是指当温度升高再降低时,升降温阶段的热误差曲线不重合,会产生一个温度值对应两个或多个热误差值得情况,如图1所示。由于温度-热误差的这一特性导致很难建立精确的热误差预测模型。
技术实现要素:
本发明所要解决的技术问题是,建立一种能克服温度-热误差滞回特性的预测模型,提供高精度的热误差预测方法。
本发明的技术方案是:引入具有外部输入的非线性自回归神经网络模型来建立热误差模型,针对温度-热误差的滞回特性,构造一种适用于热误差预测的神经网络模型,具体包括以下实施步骤:
步骤1:测试机床热误差及各点温度
在机床上布置大量温度传感器,测量建模所需要的温度数据;在主轴末端放置电涡流传感器测量机床的热误差。由于温度-热误差的滞回特性,采集温度、热误差数据必须有多个升降温周期,以使采集到信号含有足够多的信息,才能保证预测模型的适应能力和预测精度。
步骤2:选择关键温度测点作为热误差模型的输入
通过相对信息熵的算法选择与热误差最相关的温度变量作为模型输入。
相对信息熵的计算过程如下:对采集的温度、热误差数据做归一化处理;对幅值划分为n等分,然后对每一组数据按照幅值排序,按照划分区间数计算出每一区间的数据个数,每一区间的数据个数除以总数据个数得到每一区间的数据分布频度。得到每组数据的分布频度后,按照相对熵计算公式即可计算出每组温度数据与热误差的相对熵大小,选择熵最小的温度点。熵越小代表温度分布越接近于热误差分布。
对选出的最优测温点数据存入数组u=[u1,u2,…,um],热误差存入数组y=[y1,y2,…,ym],式中m表示数据采样个数。
步骤3:narx模型训练
narx模型是基于时间序列的神经网络模型,该函数关系为非线性函数,可用下式表示。
y(t)=f[y(t-1),y(t-2),…,y(t-n),u(t),u(t-1),u(t-2),…,u(t-n)]
式中:u(t),y(t)为当前时刻的输入值和输出值,u(t-n),y(t-n)为第前n个时刻的输入输出值,n为延迟阶次,f()为非线性函数。
对选出的温度数据u和热误差数据y,构造训练参数矩阵,然后采用levengerg-marquardt算法训练narx模型。
步骤4:得到机床的热误差补偿值
补偿时,把由步骤2得到的测温点实时温度数据依次输入到步骤3得到的narx模型,即可计算出机床应该补偿的热误差值。
本发明的有益效果是:
1)采用相对信息熵的方法寻找最佳温度测点,能够找到与热误差信息匹配度最高的温度变量,提高了建模精度。
2)采用具有外部输入的非线性自回归神经网络模型,能够克服温度-热误差的滞回特性,提高了模型预测精度和适应能力。
附图说明
图1主轴温度-热误差滞回特性曲线示意图
图2具有外部输入的非线性神经网络模型结构图
图3实施例各测点温度变化曲线
图4实施例热误差变化曲线
图5实施例温度测试数据
图6实施例热误差测试数据
图7实施例narx预测效果图
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。
步骤1:测试数据
如图1所示,由于主轴温度-热误差信号具有滞回特性,在采集建模信号时必须有多个升降温周期,以使采集到信号含有足够多的信息,才能保证预测模型的适应能力和预测精度。
把测试得到的温度数据和热误差数据存入数组。
步骤2:对测量得到的温度数据和热误差数据进行归一化处理,归一化公式如下所示:
xi归一化后的数据,xi第i个原始采样数据,xmax,xmin为该组数据中的最大值和最小值。
步骤3:寻找最佳测温点。
1.寻找最佳测温点是通过计算温度变量与热误差变量的相对信息熵大小确定的,熵越小温度变量与热误差变量越接近。
2.取n=50,计算每组数据中处在i≤x<i+0.02区间的数据个数,i=0,0.02,0.04,…,1。温度数据用upi表示,热误差用ypi表示。
3.计算各组温度数据u和热误差数据y中,各个区间数据出现的频度:
其中n=50。
步骤4:narx模型训练
图2为本发明的非线性神经网络结构图。图中z-1表示延迟算子。通过延迟算子的作用,神经网络的输入信号不仅包括当前值还包括前几个时刻的值;神经网络输出信号也通过延迟算子反馈到输入端;这样神经网络能够得到更多的输入信息,使之对处理时间序列信号具有极强的适应能力。
1.构造narx模型,输入、输出信号采用2阶延迟,隐含层10层,采用levengerg-marquardt算法训练神经网络。
2.对通过相对熵确定的最优测温点数据u和热误差数据y,得到训练数据。
3.有前面得到的训练数据对构造的神经网络进行训练得到narx模型。
步骤5:得到机床的热误差补偿值
把由步骤2得到的测温点实时温度数据依次输入到步骤3得到的narx模型,即可计算出机床此时刻的热误差值。
实施例:对一台数控车床主轴轴向热误差进行建模测试,测量得到的建模温度曲线如图3所示,热误差如图4所示。按照步骤2对所有测量数据做归一化处理;按照步骤3,数据分组时取n=50,计算出各温度点的相对信息熵,选择测温点6为建模输入点,测温点6与热误差的滞回曲线如图5所示;在步骤3,选择narx模型输入输出延迟为2阶,隐含层为10层,训练算法为levengerg-marquardt,然后对模型进行训练。得到模型后用图5、6数据进行测试,结果如图7所示,模型预测数据与实测数据相比最大误差约为1.5微米,能够满足实际应用要求。通过结果可以看出,narx热误差模型能够克服温度-热误差的滞回特性,提供高精度的热误差预测值。