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模型,即可计算出机床应该补偿的热误差值。