数控机床中处理微小路径段的方法及设备的制造方法
【技术领域】
[0001]本发明属于机床的数字控制领域,尤其涉及数控机床中处理微小路径段的方法。
【背景技术】
[0002]计算机数字控制(Computer Numerical Control, CNC)机床是一种由程序控制的自动化机床,其可以简称为数控机床。CNC控制器能够处理具有控制编码或其他符号指令规定的程序,控制机床执行规定好了的动作,通过刀具切削将毛坯料加工成半成品或成品零件。在数控机床中,刀具通常以折线轨迹逼近所要加工的曲线。CNC控制器根据输入的零件程序的信息,将程序段所描述的曲线的起点、终点之间的空间进行数据密化,从而形成要求的轮廓轨迹,这种“数据密化”机制就称为“插补(interpolat1n)”。而零件程序通常是按EIA RS274/IS06938标准编写的机器代码,也可称为“G代码和M代码”,其主要用来描述刀具的运动轨迹。
[0003]图1给出了传统数控机床的工作流程示意图。如图1所示,通常是由计算机辅助制造(Computer Aided Manufacturing, CAM)系统根据来自 CAD(Computer Aided Design,计算机辅助设计)的零件几何设计生成机器命令文件。机器命令文件包括直线指令(GOl)或圆弧指令(G02,G03)。CNC控制器对该机器命令进行插补,并对每一个轴的伺服控制器每x毫秒(X可以从10毫秒到0.1毫秒变化)产生位移命令来控制刀具的运动。此外,CNC控制器还可以操作进给锁定和从某个位置重新启动以及通过倍率改变速度。传统的CNC控制器只提供直线和圆弧插补,对于非直线和非圆弧曲线的零件轮廓,例如任意曲线或复杂曲线,则采用直线和圆弧分段拟合的方法进行插补。这种方法会产生很多微小的GOl直线段以及一些微小的G02/G03圆弧段(在本申请中统称为微小路径段)。这使得在处理任意曲线和复杂曲线时会导致数据量大、精度差、进给速度不均、编程复杂等一系列问题,对零件的加工质量和加工成本造成较大的影响。
[0004]为此,已有研究者提出了直接对复杂曲线的插补方法,以避免产生这些微小路径段,其中最有效并被广泛使用的是样条插补方法。图2给出了采用样条插补的数控机床工作流程图。如图2所示,在CAD设计时采用样条函数描述一些指定点连接成的光滑曲线。样条函数实际上是满足一定的连续条件的分段多项式。由CAM根据零件的CAD设计产生机器命令文件,需要通过特殊结构给出样条的定义,然后在CNC控制器中根据机器命令文件中的样条定义再生成样条函数,并对其进行插补。但是这种方法要求在CAD、CAM、机器命令文件的标准以及CNC控制器中都要做出相应的改变,因此这样的CNC控制器并不能与不支持样条计算的CAD/CAM系统兼容。而且目前的CNC控制器是以I毫秒的速度执行插补数学计算的,当CNC控制器以实时的方式来插补这些样条时,这种采用复杂的数学多项式的方法相比传统的直线和圆弧插补需要更多的计算和处理能力。
[0005]此外,对于所有的CNC操作者来说,作为经典方式的操作,CNC控制器必须能够进给锁定,(重新)循环启动,单程序段执行,和通过倍率改变速度。但如果要对上述复杂曲线进行这些操作,数控系统也需要额外的处理能力。
【发明内容】
[0006]因此,本发明的目的在于克服上述现有技术的缺陷,提供一种处理微小路径段的CNC插补方法。
[0007]本发明的目的是通过以下技术方案实现的:
[0008]一方面,本发明提供了一种用于数控机床中处理微小路径段的方法,包括:
[0009]步骤1,对于机器命令文件中连续的多个微小路径段,选择这些微小路径端的起点位置与终点位置之间的若干个中间点;
[0010]步骤2,采用以距离为变量的三次多项式来描述相邻两个中间点之间的样条曲线段;
[0011]步骤3,将机器命令文件中与所述多个微小路径段对应的程序段转换成与所述样条曲线段对应的程序段,产生新的机器命令文件,并依据该新的机器命令文件来控制刀具的运行。
[0012]上述方法中,所述步骤I中选择中间点的步骤可包括:
[0013]对于机器命令文件中连续的多个微小路径段对应的曲线,从第一微小路径段的起点开始,计算在每个微小路径段的起点和终点处的弯曲的曲率,如果曲率符号发生改变,或相对于前一个点曲率变化很快,则选择该点为一个中间点;其中,所选的中间点与上一个中间点之间的距离至少应该大于设定的阈值,该阈值为期望的切割速度的平方除以该机床的最大加速度。
[0014]上述方法中,所述步骤I选择中间点的步骤可以包括:
[0015]对于机器命令文件中连续的多个微小路径段对应的曲线,从第一微小路径段的起点开始,计算在每个微小路径段的起点和终点处的弯曲的曲率,如果曲率符号发生改变,或相对于前一个点曲率变化很快,则选择该点为一个中间点;其中,所选的中间点与上一个中间点之间的距离不低于设定的阈值,该阈值为期望的切割速度除以每秒编译的程序段数。
[0016]上述方法中,在所述步骤2中,对于在X-Y-Z空间中的任意两个点Pl和P2,连接这两个点Pl和P2的所述样条曲线的轮廓可以下面的以距离为变量的三次多项式来描述:
[0017]Px (d) =Cx3.d3+CX2.d2+Cxl.d+CX0
[0018]Py (d) =CY3.d3+CY2.d2+CY1.d+CY0
[0019]Pz (d) =Cz3.d3+CZ2.d2+Czl.d+CZ0
[0020]其中,d变量表示沿着连接这两个点的GOl直线的标准化的距离,O ^ d ^ I,在起点Pl时,d为O,到线的终点P2时,d达到I ;CX1、CY1、Czi (O彡i彡3)表示三次多项式的系数;其中,(I=Petll (t)/pg,pg为起点到终点的沿着连接这两个点的GOl直线的距离,Petll⑴表示当时间为t时,刀具的当前位置与起点之间的、沿连接起点与终点的GOl直线的距离。
[0021]上述方法中,所述步骤2还可包括基于相邻两个中间点在X,Y,Z的方向上的位置以及速度矢量来确定描述连接这两个中间点之间的样条曲线的三次多项式的系数。
[0022]上述方法中,所述中间点的速度矢量的方向可以是在由该中间点与其相邻的上下两个点的两条连线构成的平面上确定的,该中间点的速度矢量的方向垂直于由该中间点与其相邻两个点的连线构成的夹角的中间线。
[0023]上述方法中,所述起点和终点的速度矢量的方向可以是以其与相邻的中间点的连线为基准线,对与其相邻的中间点的速度矢量方向作镜像而得到的。
[0024]上述方法中,所述步骤2可包括:
[0025]21)基于相邻两个中间点在X,Y,Z的方向上的位置以及速度矢量来确定描述连接这两个中间点之间的样条曲线的三次多项式的系数;
[0026]22)对于相邻中间点之间的其他点,判断该点与连接这两个中间点的样条曲线上的相应位置之间的距离是否大于期望的精度;如果小于,则继续评估下一个点;如果大于,则选择在这两个中间点位置处的点作为一个中间点,并回到21)继续执行。
[0027]上述方法中,可以通过下面的方式来确定所述三次多项式的系数:
[0028]对于X,Y,Z轴中的任一轴而言,该轴的位置P、速度V和加速度A可以表示为:
[0029]P (d) =C3.d3+C2.(^+C1.d+C0
[0030]V (d) =3.C3.d2+2.C2.d+C,
[0031]A (d) =6.C3.d+2.C2
[0032]其中,V(d)是对P(d)求导得到的,A(d)是对V(d)求导得到的;假设对于任意相邻的两个中间点,在该轴向上的位置为P1, P2和速度为V1, V2,则上述三次多项式的系数为:
[0033]C0=P1
[0034]C1=V1
[0035]C2=3p2 - - Sp
1 - V2
[0036]C3=V2 - 2p2+2p1+v1
[0037]又一方面,本发明提供了一种用于数控机床中处理微小路径段的设备,包括:
[0038]用于对于机器命令文件中连续的多个微小路径段,选择这些微小路径端的起点位置与终点位置之间的若干个中间点的装置;
[0039]用于采用以距离为变量的三次多项式来描述相邻两个中间点之间的样条曲线段的装置;
[0040]用于将机器命令文件中与所述多个微小路径段对应的程序段转换成与所述样条曲线段对应的程序段,产生新的机器命令文件并依据该新的机器命令文件来控制刀具的运行的装置。
[0041]又一方面,本发明提供一种CNC控制器,其包括如上所述的处理微小路径段的设备。
[0042]与现有技术相比,本发明的优点在于:
[0043]在机器命令文件中插补过程形成的多个连续的微小路径段,采用以距离为变量的三次多项式来进行拟合。该方法不要求对CAD/CAM系统进行任何改变,可兼容目前所有的CAD/CAM系统。对机器命令文件不需进行任何改变,不需要增加样条计算,完全保留了成熟传统的G/Μ代码编程的优点。所有传统的数控功能,如进给锁定,(重新)循环启动和倍率、单程序段执行等仍然适用。该方法对于CNC操作人员以及CAD设计人员都是透明的,而且采用三次多项式来拟合微小路径段,算法简单,不需要额外的计算能力,同时能保证精度。
【附图说明】
[0044]以下参照附图对本发明实施例作进一步说明,其中:
[0045]图1为传统数控机床的工作流程示意图;
[0046]图2为采用样条插补的数控机床工作流程图;
[0047]图3为根据本发明实施例的数控机床工作流程示意图;
[0048]图4为根据本发明实施例的插补方法产生新的机器命令文件的过程示意图;
[0049]图5为传统的CNC控制器对微小路径段处理结果示意图;
[0050]图6为根据本发明实施例的插补方法对微小路径段处理结果示意图;
[0051]图7为根据本发明实施例的G06样条曲线示意图;
[0052]图8为示出了在刀具切割过程中刀具的位置、速度、加速度、加加速度以及时间之间的关系不意图;
[0053]图9为根据本发明实施例的确定各中间的速度矢量的方向的示意图
[0054]图10为根据本发明实施例的三次多项式方法拟合微小路径段的流程示意图。
【具体实施方式】
[0055]为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0056]在传统数控机床的运动控制中,工作台(刀具)X,Y,Z轴的最小移动单位是一个脉冲当量。因此,刀具的运动轨迹是具有极小台阶所组成的折线(数据点密化)。例如,用数控机床加工轮廓线上两点之间的曲线,刀具可从起始点沿X轴移动一步或几步(一个或几个脉冲当量Dx),再沿Y轴方向移动一步或几步(一个或几个脉冲当量Dy),再沿X轴移动一步或几步等等,直至到达目标点,从而合成所需的运动轨迹(直线或曲线)。数控系统根据给定的直线、圆弧(曲线)函数,在将程序段所描述的理想轨迹上的起点、终点之间的已知点之间,进行数据点密化,确定一些中间点的过程,被称为插补过程。
[0057]图3给出了根据本发明一个实施例的数控机床工作流程示意图。CNC控制器收到机器命令文件后,采用以距离为函数的三次多项式来拟合该机器命令文件中的微小路径段,并对所述三次多项式进行插补及分配,以产生位移命令来控制刀具的运动。所有的操作全部集中在CNC控制器上完成,不要求对CAD/CAM系统进行任何改变,可兼容目前所有的CAD/CAM系统。对机器命令文件也不需进行任何改变,不需要增加样条计算,完全保留了成熟传统的G/Μ代码编程的优点。此外,所有传统的数控功能,如进给锁定,(重新)循环启动和倍率、单程序段执行等仍然适用。下文中将详细地讨论,如何对于微小路径段生成三次多项式,并对三次多项式进行插补。
[0058]更具体地,首先当CNC控制器收到机器命令文件时,检测其中是否存在多个连续的微小路径段。如上文所提到的,这些微小路径段是对任意曲线或复杂曲线采用直线和圆弧分段拟合所产生的很多微小的GOl直线段以及微小的G02/G03圆弧段(统称为微小路径段)。在机器文件中会有对应于各个路径段的程序段,通常可以取各个程序段的起点和终点来计算对应路径长度。例如,如果该路径长度小于设定的阈值,则可判断该路径长度为微小路径段。该设定的阈值可以是期望的切割速度V的平方除以该机床的最大加速度A而得到的。或者,为了进一步提高插补过程的效率和稳定性,可以将该阈值再增加一倍,即S=2*V2/A。其中期望的切割速度可以通过CNC控制器的参数设置命令进行设置,而该机床的最大加速度取决于该机床的物理限制。
[0059]图4示出了根据本发明实施例的插补方法产生新的机器命令文件的过程示意图。在传统的CAD/CAM系统中,通常对于不长的一段曲线,可能就有上万条GOl、G02/03路径段,对应于机器命令文件中上万条命令。如图4所示,由CAD/CAM系统产生的机器命令文件401中有很多细分的点组成的微小路径段。由于在实际数控加工切削过程中,对于任何一个路径段,刀具都会经过加速一匀速一减速的过程。但由于这些微小路径段太小了,还没达到匀速就已经减速了。而且对于真正的切割来说不是完全一个运动停止下一个运动才开始,而是同时进行的,这就是产生了重叠。如图5所示,如果按照这些微小路径段,逐条执行切害I],则根本达不到预设的期望速度。因此,在该实施例中,如图4所示对于这些细分的点,从中选择一些中间点,采用基于三次多项式定义的G06样条曲线来拟合两个中间点之间的路径,而同时忽略除中间点之外的其余的点。实际上就是将几个或几十个相邻的微小路径段拟合成一条由三次多项式表示的曲线段。从而可以将由这些细分的点组成的路径转换成由若干个G06样条曲线段构成的路径。在产生的新的机器命令文件402中包含与这些G06样条曲线段对应的程序段,这样也就没有由于微小路径段带来的上万条命令了。图6给出了根据本发明实施例的插补方法对微小路径段处理结果示意图。如图6所示,在实际数控加工切削过程中,以G06样条曲线段为单位逐条执行,既可达到期望的速度,又可减少重叠,从而提闻了加工的效率。
[0060]图7给出了根据本发明实施例的G06样条曲线示意图。如图7所示,在X-Y-Z空间中的任意两个点Pl和P2,定义一个标记为“G06样条”的曲线。通常的样条曲线都是以时间为变量的函数曲线。但在该实施例中,采用下面的以距离为变量的三次多项式来描述连接这两个点Pl和P2的G06样条曲线的轮廓:
[0061 ] Px (d) =Cx3.d3+CX2.d2+Cxl.d+CX0
[0062]Py (d) =CY3.d3+CY2.d2+CY1.d+CY0
[0063]Pz (d) =Cz3.d3+CZ2.d2+Czl.d+CZ0
[0064]其中,d变量表示沿着连接这两个点的GOl直线的标准化的距离,O ^ d ^ 10在起始点Pl时,d为0,到线的终点P2时,d达到I。其中,CX1、CY1、Czi (O彡i彡3)表示三次多项式的系数。下文将详细介绍在给定两个点的位置和速度时如何求解上述三次多项式的系数。
[0065]图8为示出了在刀具切割过程中刀具的位置、速度、加速度、加加速度以及时间之间的关系示意图。如图8所示,在刀具切割过程中,刀具从起始位置开始,随时间经过加速-匀速-减速的过程到达目标位置。其中将起始位置与目标位置间的距离进行标准化,即从起始位置开始到达目标位置时距离为I。从图8可以看出,在加速的过程中,加速度逐渐增加至保持一段时间不变,然后逐渐减小。当达到期望的速度时,即匀速过程中时,加速度减至O。对应的减速过程与之相反。这里的距离是指刀具运行的距离,对
以时间为变量的距离函数求导后会得到速度,这里的速度就是刀具的运动速度,再求导是加速度,当再求导是加加速度。从图8可以看出,距离曲线是单调的,也就是距离d与时间t之间存在单调关系。例如,对于任一轴方向上,时间t与标准化距离d之间的关系可以表示为:d=Pe(ll(t)/Pg7 Pg为起点(例如,Pl点)到终点(例如P2点)的沿着连接这两个点的GOl直线的距离,Poi1 (t)表示当时间为t时,刀具的当前位置与起点之间的、沿连接起点与终点(例如,Pl和P2)的GOl直线的距离。由此,在本发明的实施例中,将以时间t为变量的样条曲线转换为上文所述的以距离为变量的三次多项式,来描述连接G06样条曲线的轮廓。
[0066]下面以单个轴为例来说明如何将以d为变量的G06样条曲线函数转化为以t为变量的样条以及如何确定三次多项式的系数。对于X, Y, Z轴中的任一轴而言,该轴的位置P、速度V和加速度A可以表示为:
[0067]P (d) =C3.d3+C2.(^+C1.d+C0
[0068]V (d) =3.C3.d2+2.C2.d+C,
[0069]A (d) =6.C3.d+2.C2
[0070]其中,V(d)是对P(d)求导得到的,A(d)是对V(d)求导得到的。对于作为任意两个点,可以在这两个点的位置连续性和速度连续性来获取边界条件,例如假设这两个点的位置P1, P2和速度Vl,V2,则可得到4个边界条件:
[0071]P(O)=P1, V (O) =V1,即在起始位置点,d=0 ;
[0072]P(l)=p2, V(I)=V2,即在结束位置点,d=l。
[0073]将上述边界条件代入上述多项式可得:
[0074]C0=P1
[0075]C1=V1
[0076]p2=C3+C2+v1+p1
[0077]v2=3.C3+2.CJv1
[0078]由此,可得到上述三次多项式的系数:
[0079]C0=P1
[0080]C1=V1
[0081]C2=3p2 - - Sp1 - V2
[0082]C3=V2 - 2p2+2p1+v1
[0083]可见,只要确定了两个点Pl和P2在X,Y,Z的方向上的位置(例如,P1, P2)以及速度矢量(例如,V1, V2)就可以确定表示在相应方向上连接这两个点的G06样条曲线的三次多项式的系数。其中,各个点的位置和速度可以从由CAD/CAM系统产生的机器命令文件中获取,其中各个点的速度可以是根据CNC控制器的参数设置命令设置的期望达到的速度,其取决于该机床的物理限制。在从机器命令文件中获取了各个中间点的位置P和速度V以及确定各个中间点的速度矢量的方向之后,就可以获得各个中间点在X,Y,Z的方向上速度大小,即 Vx, Vy, Vz。
[0084]图9给出了确定各中间的速度矢量的方向的示意图。在图9中,①标识如上文所确定的中间点,②标识起点与终点。首先确定起点与终点之间的中间点的速度矢量的方向,然后再确定起点与终端的方向。某个中间点速度矢量的方向是在由该中间点与其相邻的上下两个点的连线构成的平面上确定的,该中间点的速度矢量的方向垂直于由该中间点与其相邻两个点的连线构成的夹角的中间线。如图9所示的从起点开始的第一个中间点,该点的速度矢量的方向垂直于由该点与起点的连线和该点与下一个中间点的连线构成的夹角的中间线,其朝向刀具行进的方向。对于起点和终点,以其与相邻的中间点的连线为基准线,对与其相邻的中间点的速度矢量方向作镜像,即可得到起点与终点的速度矢量的方向。图9中③所标识的是处于特殊情况的中间点,该中间点与其相邻的上下两个中间点的连线的夹角非常小,近似平行,通过这两条连线确定平面比较困难,此时,可以由这两条连线以及与这两条连线连接的上一条和/或下一条连线来确定平面,然后该中间点速度矢量的方向仍垂直于由该中间点与其相邻两个点的连线构成的夹角的中间线。
[0085]现回到图4,如上文所述对于如图4中所示的这些细分的点,从中选择一些中间点,采用基于三次多项式定义的G06样条曲线来拟合两个中间点之间的路径,而同时忽略除中间点之外的其余的点。实际上就是将几个或几十个相邻的微小路径段拟合成一条由三次多项式表示的曲线。从而可以将由这些细分的点组成的路径转换成由若干个G06样条曲线段构成的路径。下面主要讨论如何选择这些中间点。
[0086]在一个实施例中,主要根据下面的标准来确定这些中间点:
[0087]I)依据机器的物理限制、所设置的最大加速度和期望的切割速度来决定每个G06样条曲线段的最小长度,即任意两个点之间的最小距离。该最小长度至少应该大于设定的阈值,该设定的阈值为期望的切割速度V的平方除以该机床的最大加速度A。或者,为了进一步提高插补过程的效率和稳定性,可以将该阈值再增加一倍,即S=2*V2/A。
[0088]2) CNC编译器的性能,可以每秒编译的程序段数来表示(记为C),或以每一个程序段的最少执行时间来表示,对每一台工业电脑来说,C是固定的。令P为每一程序段刀具执行的路径长度,则速度V=c*p。因此为了达到所设定的期望的切割速度,则需要保证两个中间点之间的路径尽可能达到一定的长度,例如,大于V/C。
[0089]3)依据曲线弯曲的曲率来确定是否开始一个新的G06样条曲线段。对于曲率是常数情况,可保留一个45度的路径段。当曲率改变符号,或变化太快,开始一个新的G06样条曲线段。
[0090]4)期望的精度(例如,I微米),例如,对于图4中细分的点,除了依据I)和2)标准选择的中间点之外的每一个点,判断该点与依据中间点所拟合的样条曲线上相应位置之间的距离,如果这个距离在期望精度之内,则舍弃这个点,反之,将这个点也选为中间点,以上文所述的方法重新拟合该曲线,重新评估除中间点之外的每一个点的期望的精度,直到所有的点都符合期望的精度为止。
[0091]图10给出了根据本发明实施例的三次多项式方法拟合微小路径段的流程示意图。该方法包括:对于机器命令文件中连续的多个微小路径段,选择这些微小路径端的起点位置与终点位置之间的若干个中间点(步骤Si);根据上文所述的三次多项式来描述相邻两个中间点之间的样条曲线段(步骤S2);将机器命令文件中与所述多个微小路径段对应的程序段转换成与所述样条曲线段对应的程序块,从而产生新的机器命令文件(步骤S3);依据新的机器命令文件来控制刀具的运行(步骤S4)。
[0092]根据本发明的一个实施例,在步骤SI,对于所接收的机器命令文件中连续的多个微小路径段中的每个微小路径段,确定该微小路径段的起点和终点;然后,以第一微小路径段的起点作为起始位置,以最后一个微小路径段的终点作为终点位置,从所确定的每个微小路径段的起点和终点的集合中选择若干个点作为中间点。在一个实施例中,选择中间点的步骤可包括:对于所接收的机器命令文件中连续的多个微小路径段对应的曲线,从第一微小路径段的起点开始,计算在每个微小路径段的起点和终点处的弯曲的曲率,如果曲率符号发生改变,或相对于前一个点曲率变化很快,则选择该点为一个中间点;其中,所选的中间点与上一个中间点之间的距离至少应该大于设定的阈值,该设定的阈值为期望的切割速度V的平方除以该机床的最大加速度A。
[0093]在又一个实施例中,还可以根据CNC的编译性能来选择中间点。如上文所提到的CNC编译器的性能可以以每秒编译的程序段数C来表示,为了达到所设定的期望的切割速度V,相邻中间点之间的路径长度应尽可能大于V/C。也就是在选择中间点时,相邻两个中间点之间的距离应尽可能不低于期望的切割速度V与每秒编译的程序段数C的比值。
[0094]在一个实施例中,在步骤S2,对于所选择的点中的任何两个相邻的点,以上文所述的以距离为变量的三次多项式来表示连接这两个点的G06样条曲线,以及参考上文所述的方法,基于这两个点的位置和速度矢量来确定该三次多项式的系数。这样,通过将几个或几十个相邻的微小路径段拟合成一
条由三次多项式表示的样条曲线段,可以将由这些细分的微小路径段组成的路径转换成由若干个G06样条曲线段构成的路径。
[0095]在又一个实施例中,在步骤S2,还包括根据期望的精度来调整所选的中间点的数量的步骤。该步骤S2可包括:
[0096]S2a)确定代表相邻两个中间点之间的G06样条曲线的三次多项式的系数;
[0097]S2b)对于相邻两个中间点之间的每个点,判断该点与连接这两个中间点G06样条曲线上的相应位置之间的距离是否大于期望的精度;如果大于,则选择在这两个中间点的中间位置的点作为一个中间点,并回到步骤S2a)继续执行,直到相邻两个中间点之间的每个点都满足期望的精度为止。也就是回到步骤s2a)继续执行,重新拟合连接相邻中间点的G06样条曲线,即重新确定相邻两个中间点之间的G06样条曲线的三次多项式的系数,并在步骤S2b)重新依据期望的精度来评估相邻两个中间点之间的每个点。
[0098]在步骤S3,基于这些所确定的中间点,将机器命令文件中与所述多个微小路径段对应的程序段转换成与所述样条曲线段对应的程序段,从而产生新的机器命令文件。
[0099]在步骤S4,CNC控制器依据所产生的新的机器命令文件中来控制刀具的运行。也就是说CNC控制器可以依据以距离为变量的三次多项式来表示的G06样条曲线来产生刀具在各个方向上的位移命令,从而控制刀具的运行路径。
[0100]在又一个实施例中,还提供了一种用于数控机床中处理微小路径段的设备。该设备包括用于对于机器命令文件中连续的多个微小路径段,选择这些微小路径端的起点位置与终点位置之间的若干个中间点的装置;用于采用以距离为变量的三次多项式来描述相邻两个中间点之间的样条曲线段的装置;以及用于将机器命令文件中与所述多个微小路径段对应的程序段转换成与所述样条曲线段对应的程序段,产生新的机器命令文件并依据该新的机器命令文件来控制刀具的运行的装置。
[0101]在又一个实施例中,提供一种CNC控制器,其包括如上所述的处理微小路径段的设备,采用上文所述的方法处理机器命令文件中的连续的多个微小路径段。
[0102]虽然本发明已经通过优选实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所作出的各种改变以及变化。
【主权项】
1.一种用于数控机床中处理微小路径段的方法,所述方法包括: 步骤1,对于机器命令文件中连续的多个微小路径段,选择这些微小路径端的起点位置与终点位置之间的若干个中间点; 步骤2,采用以距离为变量的三次多项式来描述相邻两个中间点之间的样条曲线段; 步骤3,将机器命令文件中与所述多个微小路径段对应的程序段转换成与所述样条曲线段对应的程序段,产生新的机器命令文件,并依据该新的机器命令文件来控制刀具的运行。
2.根据权利要求1所述的方法,所述步骤I中选择中间点的步骤包括: 对于机器命令文件中连续的多个微小路径段对应的曲线,从第一微小路径段的起点开始,计算在每个微小路径段的起点和终点处的弯曲的曲率,如果曲率符号发生改变,或相对于前一个点曲率变化很快,则选择该点为一个中间点;其中,所选的中间点与上一个中间点之间的距离至少应该大于设定的阈值,该阈值为期望的切割速度的平方除以该机床的最大加速度。
3.根据权利要求1所述的方法,所述步骤I选择中间点的步骤包括: 对于机器命令文件中连续的多个微小路径段对应的曲线,从第一微小路径段的起点开始,计算在每个微小路径段的起点和终点处的弯曲的曲率,如果曲率符号发生改变,或相对于前一个点曲率变化很快,则选择该点为一个中间点;其中,所选的中间点与上一个中间点之间的距离不低于设定的阈值,该阈值为期望的切割速度除以每秒编译的程序段数。
4.根据权利要求1所述的方法,在所述步骤2中,对于在X-Y-Z空间中的任意两个点Pl和P2,连接这两个点Pl和P2的所述样条曲线的轮廓以下面的以距离为变量的三次多项式来描述: Px ⑷=Cx3.d3+CX2.d2+Cxl.d+CX0 Py (d) =CY3.d3+CY2.d2+CY1.d+CY0 Pz ⑷=Cz3.d3+CZ2.d2+Czl.d+CZ0 其中,d变量表示沿着连接这两个点的GOl直线的标准化的距离,O ^ d ^ I,在起点Pl时,d为0,到线的终点P2时,d达到I ;CX1、CY1、CZi(0彡i彡3)表示三次多项式的系数;其中,d=PG01 (t)/pg, pg为起点到终点的沿着连接这两个点的GOl直线的距离,Petll⑴表示当时间为t时,刀具的当前位置与起点之间的、沿连接起点与终点的GOl直线的距离。
5.根据权利要求4所述的方法,所述步骤2还包括基于相邻两个中间点在X,Y,Z的方向上的位置以及速度矢量来确定描述连接这两个中间点之间的样条曲线的三次多项式的系数。
6.根据权利要求5所述的方法,其中所述中间点的速度矢量的方向是在由该中间点与其相邻的上下两个点的两条连线构成的平面上确定的,该中间点的速度矢量的方向垂直于由该中间点与其相邻两个点的连线构成的夹角的中间线。
7.根据权利要求5所述的方法,其中所述起点和终点的速度矢量的方向是以其与相邻的中间点的连线为基准线,对与其相邻的中间点的速度矢量方向作镜像而得到的。
8.根据权利要求3所述的方法,其中,所述步骤2包括: 21)基于相邻两个中间点在Χ,Υ,Ζ的方向上的位置以及速度矢量来确定描述连接这两个中间点之间的样条曲线的三次多项式的系数; 22)对于相邻中间点之间的其他点,判断该点与连接这两个中间点的样条曲线上的相应位置之间的距离是否大于期望的精度;如果小于,则继续评估下一个点;如果大于,则选择在这两个中间点位置处的点作为一个中间点,并回到21)继续执行。
9.根据权利要求5或8所述的方法,其中通过下面的方式来确定所述三次多项式的系数: 对于X,Y,Z轴中的任一轴而言,该轴的位置P、速度V和加速度A可以表示为: P (d) =C3.d3+C2.(^+C1.d+C0 V(d) =3.C3.d2+2.C2.d+Q A (d) =6.C3.d+2.C2 其中,V(d)是对P(d)求导得到的,A(d)是对V(d)求导得到的;假设对于任意相邻的两个中间点,在该轴向上的位置为P1, P2和速度为V1, V2,则上述三次多项式的系数为: C0=Pi C1=V1 C2=3p2 - 2y1 - Sp1 - v2 C3=V2 — 2p2+2p1+v1
10.一种用于数控机床中处理微小路径段的设备,所述设备包括: 用于对于机器命令文件中连续的多个微小路径段,选择这些微小路径端的起点位置与终点位置之间的若干个中间点的装置; 用于采用以距离为变量的三次多项式来描述相邻两个中间点之间的样条曲线段的装置; 用于将机器命令文件中与所述多个微小路径段对应的程序段转换成与所述样条曲线段对应的程序段,产生新的机器命令文件并依据该新的机器命令文件来控制刀具的运行的>j-U ρ?α装直。
11.一种CNC控制器,其包括如权利要求10是所述的处理微小路径段的设备。
【专利摘要】本发明提供数控机床中处理微小路径段的方法,对于机器命令文件中连续的多个微小路径段,采用以距离为变量的三次多项式来拟合微小路径段。该方法算法简单,不需要额外的计算能力,同时能保证精度。而且该方法对机器命令文件不需进行任何改变,不需要增加样条计算,完全保留了成熟传统的G/M代码编程的优点。此外,该方法可完全在CNC控制器中执行,不要求对CAD/CAM系统进行任何改变,可兼容目前所有的CAD/CAM系统。
【IPC分类】G05B19-41
【公开号】CN104865898
【申请号】CN201410066952
【发明人】弗兰克·埃里克·马力诺·德·舍佩尔
【申请人】温州博纳激光科技有限公司, 四川博纳科技有限公司
【公开日】2015年8月26日
【申请日】2014年2月26日