一种实现数控机床非线性误差的智能补偿方法与流程

文档序号:21317159发布日期:2020-06-30 20:46阅读:555来源:国知局
一种实现数控机床非线性误差的智能补偿方法与流程

本发明涉及自动控制领域,具体地说是一种实现数控机床非线性误差的智能补偿方法。



背景技术:

高端精密数控机床不但是工业现代化的技术基础,而且还是高技术产业发展的支撑工具。提高机床精度的基本方法有误差防止法和误差补偿法。误差补偿法由于具有成本低,实现方法灵活、方便等特点,已成为目前提高机床精度的主要手段及发展趋势之一。

数控机床的误差有很多,从误差源及各误差元素对数控机床加工误差的贡献分析,主要误差源包括:几何误差、热误差和力误差。这三类误差占总误差的70%~90%,是影响数控加工精度的主要因素。因此,数控机床的误差补偿非线性因素较为显著,其误差源的输入和误差值的输出不成比例,其输出不可避免地受到系统静态几何误差、动态时不可预测的热变形误差、运动学引起的误差、动力学效应误差,以这些因素相互作用叠加的误差等的严重影响,这就为寻找系统误差的主因带来难度。

对于非线性误差补偿,迄今为止,无论是数学理论还是系统辨识理论都没有很好的工具和方法能够给出系统精确的建模结果,而只能根据受控过程在线或离线的输入输出采样数据,从经验模型的集合中寻找与这些采样数据最贴近的被控对象的数学模型,这就要求这些经验模型集合必须能覆盖真实系统,才能使所建立的数学模型在一定程度的偏差下很好地逼近原有的真实系统。然而,由于实际系统内部结构和外部运行环境的复杂性,采用机理建模或通过系统辨识方法所建立的数学模型都仅是对真实系统带有一定偏差的逼近模型。换句话说,未建模动态和其他不确定性在上述的建模过程中总是不可避免的,在实际应用中由于未建模动力学因素以及各种外部扰动等原因可能引起模型系统的鲁棒性变差甚至系统失稳。



技术实现要素:

针对现有技术的不足,本发明提供一种实现数控机床非线性误差的智能补偿方法,该方法结合了补偿模糊逻辑和神经网络的混合系统,并且充分考虑了系统非线性、难以建模和具有强耦合性的特点,提高了数控机床非线性误差的补偿效果。

本发明为实现上述目的所采用的技术方案是:

一种实现数控机床非线性误差的智能补偿方法,包括以下步骤:

步骤1:采集误差源信号、机床坐标轴位置作为模糊神经网络的输入,采集误差信号作为模糊神经网络的输出,训练模糊神经网络;

步骤2:利用模糊神经网络进行plc误差表标定,生成plc误差表;

步骤3:plc线程采集实时补偿用误差源信号,运动控制模块采集实时机床坐标轴位置,存储于共享内存,plc通过读取共享内存中的实时机床坐标轴位置,通过plc误差表线性差值,确定当前待补偿轴的误差值;

步骤4:通过得到的误差值对当前待补偿轴进行误差补偿。

所述进行plc误差表标定,包括:

按照一定的间隔点确定待标定的误差源值和机床坐标轴位置值,将待标定的误差源值和机床坐标轴位置值作为模糊神经网络的输入,输出待标定的误差值,直至待标定的误差源值达到允许范围的上限值,将离散的机床坐标轴位置值作为横坐标,离散的误差源值作为纵坐标,离散的误差源值作为空间坐标,建立三维plc误差表。

将所述plc误差表存储于plc,用于确定各轴实时误差补偿值。

所述当前待补偿轴的误差值存储于共享内存,通过运动控制模块对共享内存中的当前待补偿轴的误差值进行调取,如果当前待补偿轴的误差值与上一周期的待补偿轴的误差值不相同,则根据当前待补偿轴的误差值进行误差补偿;如果当前待补偿轴的误差值与上一周期的待补偿轴的误差值相同,则当前周期内不进行补偿,并等待下一周期。

本发明具有以下有益效果及优点:

1.采用模糊神经网络实时确定各轴误差的补偿值,减小了非线性误差因素对数控机床加工精度的影响,提高了系统误差补偿的鲁棒性及加工稳定性;

2.添加的补偿程序梯形图对原有的机床工作没有任何影响,只有得到触发时才进行工作,这是本发明装置的最大优点,提高了数控机床运动控制的实时性能。

附图说明

图1是本发明的方法原理图;

图2是本发明的模糊神经网络模型训练流程图;

图3是本发明的误差计算流程图;

图4是本发明的模糊神经网络模型结构图。

具体实施方式

下面结合附图及实施例对本发明做进一步的详细说明。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但本发明能够以很多不同于在此描述的其他方式来实施,本领域技术人员可以在不违背发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施的限制。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。

如图1所示是本发明的方法原理图。

1)模糊神经网络的训练,该部分包括生成训练数据及训练模糊神经网络;

2)利用模糊神经网络进行plc误差表的标定。按照一定的间隔点选取要标定的误差源值,将该误差源值作为模糊神经网络的输入,确定指定点处的误差值。直到选取的标定误差源值达到允许范围的上限值,获得误差的标定表格,将以上表格存储在plc程序中,用于确定各轴实时误差补偿值。

3)plc线程进行误差源信号的采集,通过与运动模块的交互,获得当前机床各轴的位置值,将各轴坐标位置及误差源信号作为输入,经查表处理后,得到各轴误差补偿值,并向运动模块发送误差值更新信号。

4)运动线程周期更新机床各轴坐标位置值,如接收到plc的误差值更新信号,则读取plc的误差值作为各轴误差补偿值,否则,不补偿,等待下一周期。

5)运动线程根据4)中的各轴误差补偿值完成命令位置修正,进行各轴的位置控制。

所采用的系统结构包括plc线程及运动线程等线程。plc线程主要负责敏感点误差源信号的采集,坐标位置的采集,各轴补偿误差的确定;运动线程负责各轴实时误差补偿,位置控制等。

如图2所示是本发明的模糊神经网络模型训练流程图;

模糊神经网络的训练过程包括两个阶段:训练数据集的生成及网络的实际训练过程。在训练数据集生成阶段,首先根据实际需求确定数据集的采集样本个数,然后按照一定的时间间隔依次所需的样本,其样本内容包括敏感点误差源信号、各轴坐标位置信息、各轴补偿误差等,并将以上样本保存成数据文件进行保存;模糊神经网络的实际训练过程就是以上所保存的数据集进行学习,将敏感点误差源信号、各轴坐标位置信息作为模糊神经网络输入,各轴补偿误差为模糊神经网络输出,通过逐个样本对网络的相关参数进行拟合。

如图3所示是本发明的误差计算流程图;

通过得到的误差值对当前待补偿轴进行误差补偿,当前待补偿轴的误差值存储于共享内存,通过运动控制模块对共享内存中的当前待补偿轴的误差值进行调取,如果当前待补偿轴的误差值与上一周期的待补偿轴的误差值不相同,则根据当前待补偿轴的误差值进行误差补偿;如果当前待补偿轴的误差值与上一周期的待补偿轴的误差值相同,则当前周期内不进行补偿,并等待下一周期。

其中的误差计算流程为:在实时plc线程中,周期执行误差源信号、各轴位置坐标值的读取,结合plc误差表,根据以上读取的信息,通过线性插值的方法,确定该周期的误差补偿值,并输出到共享内存中,然后,在运动线程中,判断当前待补偿轴的误差值与上一周期的待补偿轴的误差值不相同,则根据当前待补偿轴的误差值进行误差补偿;如果当前待补偿轴的误差值与上一周期的待补偿轴的误差值相同,则当前周期内不进行补偿,并等待下一周期。

如图4所示是本发明的模糊神经网络模型结构图。

模糊神经网络(fnn)是由模糊逻辑系统(fls)和人工神经网络(ann)相互结合产生的一种神经网络。既具备神经网络的网络结构,也具备模糊逻辑系统的推理和计算能力。

本文中所使用的模型为模糊多层感知神经网络模型,采用多层前向网络形式,结合了神经网络和模糊逻辑系统的优势,定义明确,并行计算,并且具备自主学习能力和处理模糊信息的能力。其基本模型如下:

(1)模糊神经网络模型该模型包括4层节点:

①layer1:输入层。

接收输入信号xi,其中i=1,2,,m。

②layer2:模糊化层。

生成隶属函数为:

i=1,2,,m;j=1,2,,n;

其中m为输入参数,σ为隶属函数方差,n为模糊神经元个数。

③layer3:隐藏规则层。

具有m个节点,这些节点通过聚类算法得到的。定义模糊连乘算子:ωk

④layer4:去模糊化层

去模糊化输出为:

(2)模糊神经网络的学习算法

fnn的算法是基于常规算法或延伸算法,本模型中的算法是基于梯度算法提出的。

平方误差函数为:

其中y为模型是实际输出,y为期望输出。在梯度学习的过程中,定义为模糊神经网络权值,为模糊神经网络学习率,系数修正如下:

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1