发明内容
针对现有技术中存在的上述不足之处,本发明要解决的技术问题是提供一种面向高速加工的速度优先样条曲线实时插补方法,追求单位时间内 去除物料的体积,在满足加工精度、速度连续过渡的同时,充分利用各个运动轴的最大加减速能力的时间近似最优样条曲线实时插补技术。
为解决上述技术问题,本发明采用的技术方案是:
本发明面向高速加工的速度优先样条曲线实时插补方法包括以下步骤:
求速度限制曲线:在数控***的解释器中根据加工误差和各个运动轴的最大加速度约束条件求出;
划分加工区:根据所加工的物料进入高速加工区的临界速度信息划分速度加工区,并对上述初始速度曲线进行修改,得到修改后的速度曲线;
速度曲线反向链接:去除修改后的速度曲线上的速度不连续点,使整条速度曲线连续;
实时插补:根据反向链接后的速度曲线进行插补运算,完成速度优先样条曲线实时插补。
求速度限制曲线的过程为:
在数控***的解释器中输入加工程序,设置初始速度;
确定当前插补周期的控制轴,并求出控制轴所约束的最大/最小速度值;
计算加工误差允许的最大速度值;
判断误差允许的最大速度值是否大于控制轴所约束的最大速度值,若大于控制轴所约束的最大速度值,则设置当前插补周期速度为控制轴所约束的最大速度值,求下一插补点节点矢量,进入下一插补周期。
若上述判断为小于控制轴所约束的最大速度值,则设置当前插补周期速度为误差允许的最大速度;
判断误差允许的最大速度是否大于控制轴所约束的最小速度值?
若上述判断为小于控制轴所约束的最小速度值,则将该点写入速度不连续点数组,求下一插补点节点矢量,进入下一插补周期。
若上述判断为大于控制轴所约束的最小速度值,则求下一插补点节点矢量,进入下一插补周期。
求划分加工区的过程为:
根据求速度限制曲线得到的速度限制曲线和高速加工信息库划分速度加工区,并读入第一个速度加工区;
判断当前速度加工区是否为低速区?若是低速区,则进入下一个速度加工区。
若不是低速区,则接续判断当前速度加工区是否为高速加工区?若是高速加工区,则进入下一个速度加工区。
若不是高速加工区,则接续判断当前速度加工区是否为禁止区?若是禁止区,则修改该段速度曲线值为高速区的最高速度值,进入下一个速度加工区。
若不是禁止区,则判断该段两侧是否分别是低速区和高速区?若两侧 不是低速区和高速区,则修改该段的速度值为低速区的最高速度值,并将速度不连续点写入速度不连续点数组,进入下一个速度加工区。
若两侧分别是低速区和高速区,则判断该段是否一直沿着单轴最大加速度约束进行插补?若一直沿着单轴最大加速度约束进行插补,则进入下一个速度加工区。
若不是一直沿着单轴最大加速度约束进行插补,则修改该段的速度值为低速区的最高速度值,并将速度不连续点写入速度不连续点数组,进入下一个速度加工区。
所述速度曲线反向链接步骤为:
读入不连续点,判断当前不连续点是否为求速度限制曲线时得到的速度不连续点?若是求速度限制曲线时得到的速度不连续点,则从不连续点开始反向加速,直到反向链接的速度曲线与原速度限制曲线相交为止,读入下一个不连续点。
若不是求速度限制曲线时得到的速度不连续点,则判断该段是否为划分加工区时产生的从高速区向低速区过渡时的速度不连续点?若是划分加工区时产生的从高速区向低速区过渡时的速度不连续点,则从不连续点开始向前减速,直到新生成的速度曲线与原速度限制曲线相交为止,读入下一个不连续点。
若不是划分加工区时产生的从高速区向低速区过渡时的速度不连续点,则从不连续点开始反向减速,直到新生成的速度曲线与原速度限制曲线相交为止,读入下一个不连续点。
本发明具有以下有益效果及优点:
1.本发明提出了一种时间近似最优的样条曲线插补算法,在保证机床平稳运行的前提下,充分利用单轴的最大加减速能力,从而满足数控***对高速加工的要求。
2.考虑到粗加工和高速加工对速度规划的特殊要求,本发明所设计的算法考虑了高速加工中不同速度区间的不同加工特性,并在此基础上设计了一套与之相适应的速度规划策略,在尽可能提高加工效率的同时,兼顾刀具磨损和加工质量的约束。
3.与传统的样条曲线插补算法相比,时间近似最优算法能对中间以及最终减速更精确的定位,同时取得较高的加工效率和光滑的加工表面。
具体实施方式
下面结合附图对本发明作进一步详细说明。
如图1所示,本发明面向高速加工的速度优先样条曲线实时插补方法包括以下步骤:
求速度限制曲线:在数控***的解释器中根据加工误差和各个运动轴的最大加速度约束条件求出;
划分加工区:根据所加工的物料进入高速加工区的临界速度信息划分速度加工区,并对上述初始速度曲线进行修改,得到修改后的速度曲线;
速度曲线反向链接:去除修改后的速度曲线上的速度不连续点,使整条速度曲线连续;
实时插补:根据反向链接后的速度曲线进行插补运算,完成速度优先样条曲线实时插补。
本实施方案从CAD/CAM装置中输出的加工程序首先进入数控装置的解释器,解释器分为加工程序解释、求速度限制曲线、划分加工区和速度曲线反向链接几部分,它对加工程序进行解释并求出速度曲线,然后将得到的速度曲线数据通过共享缓存发给运动控制器。运动控制器是实时的,每个插补周期通过读取速度曲线进行实时插补计算出下一个插补点坐标,最后将该坐标发送给伺服装置,驱动电机运动。
求速度限制曲线的***流程图如图2所示,所述对加工程序求速度限制曲线包括以下步骤:
S1:输入加工程序,设置初始速度;
S2:判断当前插补周期的控制轴,并求出控制轴所约束的最大/最小速度值;
S3:计算误差允许的最大速度值;
S4:判断误差允许的最大速度值是否大于S2求出的最大速度值,若是,设置当前插补周期速度为S2求出的最大速度值,转到S8;
S5:若上述判断为否,设置当前插补周期速度为误差允许的最大速度。
S6:判断误差允许的最大速度是否大于S2求出的最小速度?若是,转到S8;
S7:若上述判断为否,则将该点写入速度不连续点数组;
S8:求出下一插补点节点矢量;
S9:判断加工程序是否结束?若否,返回S2;
用Vi代表当前插补点速度,S2中的Vmax和Vmin分别代表控制轴所约束的最大和最小速度值,Ve是加工误差约束的速度,ui是当前插补周期的节点矢量。
图3是Salomon曲线图,考虑到刀具磨损的限制,可以将整个加工过 程分为低速加工区、过渡区、高速加工区和禁止区。由于不同的加工物料进入各个加工区的临界速度不同,因此这些临界速度作为该加工物料的加工特性记录在高速加工信息库中。
在划分加工区时首先根据高速加工信息库中的数据划分速度加工区,然后根据加工原则修改速度限制曲线,各个加工区的加工原则如下:
加工原则1:尽量减少刀具在低速区的加工时间,只有当误差和单轴加速度所限制的速度无法达到高速区要求时,刀具可以长时间工作在该区间。
加工原则2:过渡区只能用作低速区和高速区之间的快速加减速过渡。
加工原则3:当速度能够达到高速加工区要求时,应尽量保证刀具工作在该区间。
加工原则4:要确保速度不进入禁止区。
速度限制曲线是一条在满足加工精度和单轴最大加减速能力等约束条件的最高速度曲线,因此当速度限制曲线处于低速区时就证明当前速度无法达到高速区的速度要求,根据加工原则1,此时刀具只能工作在该区间,速度限制曲线不做修改。
若速度限制曲线处于过渡区则存在两种可能,一种是速度限制曲线沿着单轴最大加速度约束进行插补;另一种是沿着误差限制曲线进行插补。根据加工原则2,过渡区只能用作低速区和高速区之间的快速加减速过渡,因此符合要求的过渡区应该同时满足两个条件:1)过渡区的两侧分别是低速区和高速区;2)过渡区中的每个插补点都是沿着单轴最大加速度约束进行插补,且速度满足单调性。当处于过渡区速度限制曲线不满足上述任一条件时,就需要对速度限制曲线进行修改。
从加工原则3可以看出,加工过程中会尽可能的保证刀具工作在高速加工区,因此当速度限制曲线处于高速区时,并不需要进行修改。而禁止区则完全相反,根据加工原则4,若速度限制曲线处于禁止区则必须降低速度,以保证刀具的使用寿命和加工安全。
从上述分析可以看出,需要修改的速度限制曲线只有处于禁止区的曲线和部分处于过渡区的曲线。当速度限制曲线处于禁止区时,需要将该区间的速度设定为高速区的最高速度。同样需要修改的过渡区也需要将速度设定为低速区的最高速度,若速度限制曲线处于过渡区则存在两种可能,一种是速度限制曲线沿着单轴最大加速度约束进行插补;另一种是沿着误差限制曲线进行插补。根据加工原则2,过渡区只能用作低速区和高速区之间的快速加减速过渡,因此符合要求的过渡区应该同时满足两个条件:1)过渡区的两侧分别是低速区和高速区;2)过渡区中的每个插补点都是沿着单轴最大加速度约束进行插补,且速度满足单调性。当处于过渡区速度限制曲线不满足上述任一条件时,就需要对速度限制曲线进行修改。
从加工原则3可以看出,加工过程中会尽可能的保证刀具工作在高速加工区,因此当速度限制曲线处于高速区时,并不需要进行修改。而禁止区则完全相反,根据加工原则4,若速度限制曲线处于禁止区则必须降低速 度,以保证刀具的使用寿命和加工安全。
如图4所示,所述划分加工区的具体实现步骤如下:
P1:根据速度限制曲线和高速加工信息库划分速度加工区,并进入第一个速度加工区;
P2:判断当前速度加工区是否为低速区?若是,进入下一个速度加工区,转到P8;
P3:判断当前速度加工区是否为高速加工区?若是,转到P8;
P4:判断当前速度加工区是否为禁止区?若是,将该速度加工区内的速度设为高速区的最高速度,转到P8;
P5:若上述判断为否,接续判断该段两侧是否分别是低速区和高速区?若否,修改该段的速度值为低速区的最高速度值,并将速度不连续点写入速度不连续点数组;
P6:若上述判断为是,接续判断该段是否一直沿着单轴最大加速度约束进行插补?若是,转到P8;
P7:若上述判断为否,修改该段的速度值为低速区的最高速度值,并将速度不连续点写入速度不连续点数组。
P8:判断当前加工区是否为最后一个加工区?若否,进入下一加工区,返回P2。
将求速度限制曲线时得到的速度不连续点定义为类型1,将划分加工区时产生的从高速区向低速区过渡时的速度不连续点定义为类型2,将从低速区向高速区过渡时的速度不连续点定义为类型3,如图5所示,所述的速度曲线反向链接的具体实现步骤为:
读入不连续点,进入步骤K1;
K1:判断当前不连续点是否为类型1?若是,转到K3;
K2:若上述判断为否,接续判断该段是否为类型2?若是,转到K4;若否,转到K5;
K3:从不连续点开始反向加速,直到反向链接的速度曲线与原速度限制曲线相交为止,转到K6;
K4:从不连续点开始向前减速,直到新生成的速度曲线与原速度限制曲线相交为止,转到K6;
K5:从不连续点开始反向减速,直到新生成的速度曲线与原速度限制曲线相交为止。
K6:判断当前不连续点是否为最后一个?若否,读入下一个速度不连续点,返回K1。
对于类型2,3两种不连续点,因为是修改过渡区时产生的,所在从不连续点开始向前或向后以单轴最大的减速能力减速,所得到的速度应该会小于原过渡区曲线的速度。因此这样并不会出现减速过程中加工速度超过误差允许的最大速度情况,从而最大化的保留了高速加工区,提高加工效 率。
所述的实时插补是在每一个插补点首先根据当前点的节点矢量求取速度曲线上相应的速度值,因为所谓的速度曲线是以离散数据点的形式保存下来的,若当前节点矢量刚好等于保存数据点的节点矢量,则该点的速度值应等于与之节点矢量相等的保存数据点速度值;若该点节点矢量落在两个相邻的保存数据点节点矢量之间,则该点的速度值可根据这两个相邻数据点对应的速度值插值求出。
本发明方法的测试是通过加工具有代表性的工件测试程序来完成的。所用装置采用编码器反馈,形成全闭环控制***,驱动交流伺服电机。装置的主要参数如下:
数控***:CPU Pentium M-1.6GHz、RAM-512M、HD-40G、I/O-32/24、编码器输入-4,D/A输出-4、显示-10.4”彩色液晶显示;安川-2伺服与电机;
切削材料为镍基合金;X轴、Y轴和Z轴的最大加速度均为7m/s2;插补周期T=1ms;·轮廓误差Emax=0.000001m。
本发明方法及实现装置效果的评价以加工图6所示的曲线为评测依据。而采用本发明方法与实现装置,
误差曲线如图7所示,速度规划曲线如图8所示,X轴加速度曲线图如图9所示。从上述加工效果图中可以看到:
1.精确定位减速点是数控加工中的一个难点,从图7的加工误差曲线可以看出,所述的样条插补方法是完全满足加工精度要求的,也就是说不存在减速不及时的问题,能够实现减速点的精确定位;
2.从图8可以看出,所述样条插补方法得到的速度曲线时连续的,这种插补方法是针对高速加工所设计的,它根据高速加工中不同加工的特点,分别设计了速度规划策略,尽可能地减少了刀具工作在过渡区的时间。
3.所述样条插补方法在速度规划时考虑了单轴的最大加速度约束,所以图9中X轴的加速度值始终是满足其最大加速度约束的。