刀具路径曲线化装置以及刀具路径曲线化方法转让专利

申请号 : CN201410574996.7

文献号 : CN104570951B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 水野彻千叶琢司

申请人 : 发那科株式会社

摘要 :

本发明提供一种刀具路径曲线化装置以及刀具路径曲线化方法。该刀具路径曲线化装置重复进行从表示对加工物进行加工的刀具的刀具路径的点列中取出其一部分作为部分点列而生成部分曲线的步骤,对刀具路径进行曲线化。该刀具路径曲线化装置具备利用分段曲线信息生成部分曲线的存储信息利用曲线生成单元,在曲线信息利用判定单元判断为利用所存储的信息时,通过上述存储信息利用曲线生成单元生成部分曲线。

权利要求 :

1.一种刀具路径曲线化装置,其重复进行从表示对加工物进行加工的刀具的刀具路径的点列中取出其一部分作为部分点列而生成部分曲线的步骤,对刀具路径进行曲线化,该刀具路径曲线化装置的特征在于,具备:曲线信息存储单元,其针对构成刀具路径的各个曲线区间即分段曲线,存储由包含该分段曲线所包含的部分曲线的个数、分段曲线的终点处的切线方向、各部分曲线的部分曲线长度和部分点列的点数的至少一个、以及以数学方式定义上述部分曲线的信息的部分曲线信息构成的分段曲线信息;

曲线信息利用判定单元,其判定在生成上述部分曲线时是否使用所存储的分段曲线信息;

存储信息利用曲线生成单元,其利用上述分段曲线信息生成部分曲线,其中,在上述曲线信息利用判定单元判断为利用所存储的信息时,通过上述存储信息利用曲线生成单元生成部分曲线。

2.根据权利要求1所述的刀具路径曲线化装置,其特征在于,上述曲线信息利用判定单元是判定是否是往返加工路径中的归路的单元。

3.根据权利要求1所述的刀具路径曲线化装置,其特征在于,选择基于点的个数的方法和基于部分点列的长度的方法的任意一个,进行上述部分点列的取出。

4.根据权利要求3所述的刀具路径曲线化装置,其特征在于,根据刀具路径是否是往返路径的归路,进行上述部分点列的取出方法的选择。

5.一种刀具路径曲线化方法,其重复进行从表示对加工物进行加工的刀具的刀具路径的点列中取出其一部分作为部分点列而生成部分曲线的步骤,对刀具路径进行曲线化,该刀具路径曲线化方法的特征在于,包括:针对构成刀具路径的各个曲线区间即分段曲线,存储由包含该分段曲线所包含的部分曲线的个数、分段曲线的终点处的切线方向、各部分曲线的部分曲线长度和部分点列的点数的至少一个、以数学方式定义上述部分曲线的信息的部分曲线信息构成的分段曲线信息;

判定在生成上述部分曲线时是否使用所存储的分段曲线信息,在判断为使用时,利用上述分段曲线信息生成部分曲线。

6.根据权利要求5所述的刀具路径曲线化方法,其特征在于,根据刀具路径是否是往返加工路径中的归路,来判定在生成上述部分曲线时是否使用所存储的分段曲线信息。

7.根据权利要求5所述的刀具路径曲线化方法,其特征在于,选择基于点的个数的方法和基于部分点列的长度的方法的任意一个,进行上述部分点列的取出。

8.根据权利要求7所述的刀具路径曲线化方法,其特征在于,根据刀具路径是否是往返路径的归路,进行上述部分点列的取出方法的选择。

说明书 :

刀具路径曲线化装置以及刀具路径曲线化方法

技术领域

[0001] 本发明涉及一种刀具路径曲线化装置以及刀具路径曲线化方法,其使用控制机床的数值控制装置或个人计算机等信息处理装置,求出用于在基于数值控制机床的加工中实现平滑的加工面的刀具路径。

背景技术

[0002] 普遍知道求出对所给出的点列进行插补的曲线、通过各点的近旁的曲线的方法(Les Piegl,Wayne Tiller,The NURBS Book,Springer-Verlag、I.J.Schoenberg,Spline functions and the problem of graduation,Proceedings of the National Academy of Sciences of the U.S.A.,52(1964))。在基于数值控制机床的加工中,以实现平滑的加工面和缩短加工时间为目的,为了将用点列给出的刀具路径变换为曲线,而利用了该方法(日本特开2013-171376号公报、日本特开2007-293478号公报、日本特开2006-309645号公报、日本特开2005-182437号公报、日本特开2004-078516号公报)。
[0003] 一般,加工程序的长度根据加工物而变化,在花费时间的加工中,构成刀具路径的点的个数也非常多。因此,难以通过一次的处理完成曲线化,而采用分割点列而逐渐地生成曲线的方式。另外,如果要并行地进行曲线生成和加工,则必然采取该方法。
[0004] 通常通过从开头开始取出预定个数的点的方法来进行点列的分割。在点列中有弯曲的地方的情况下,即使不满足预定个数,也将该地方作为点列的分割点。用参数曲线的形式表示根据分割后的点群生成的曲线,采用B样条曲线、NURBS曲线等适合于用途的表现形式。
[0005] 现有的加工路径的曲线化着眼于根据分割后的点列生成曲线的方法,没有特别考虑将生成的曲线连接起来时的刀具路径整体的形状。其结果是存在以下的问题,即求出如往返加工路径的去路和归路那样相邻的曲线之间的形状的类似性时,无法生成能够满足的曲线。
[0006] 一般在CAM输出的加工程序中,根据计算方法等,通常存在表示刀具路径的点的位置从成为目标的路径稍微偏离,点的间隔也有偏差的问题。在往返路径中,赋予去路的点和赋予归路的点并不一定对应,在取出预定个数的点的点列分割方法中,在去路和归路中分割的点列的空间分布不同。如果点列的空间分布不同,则所生成的曲线的形状也变化,在对去路和归路的曲线进行比较时表现为曲线间的阶差。在围绕加工物旋转的螺旋状的刀具路径的情况下,也有可能产生同样的问题。其原因是在取出预定个数的点的方法中无法控制点列的空间分布,表示需要一种空间分布一致的分割方法。

发明内容

[0007] 因此,为了解决上述现有技术的问题,本发明的目的在于提供一种刀具路径曲线化装置,其存储根据表示刀具路径的点列而生成的曲线的信息,在要求曲线的类似性的地方,利用该信息生成希望的曲线。
[0008] 本发明的刀具路径曲线化装置重复进行从表示对加工物进行加工的刀具的刀具路径的点列中取出其一部分作为部分点列而生成部分曲线的步骤,对刀具路径进行曲线化,该刀具路径曲线化装置具备:曲线信息存储单元,其针对构成刀具路径的各个曲线区间即分段曲线,存储由包含该分段曲线所包含的部分曲线的个数、分段曲线的终点处的切线方向、各部分曲线的部分曲线长度和部分点列的点数的至少一个、以数学方式定义上述部分曲线的信息的部分曲线信息构成的分段曲线信息;曲线信息利用判定单元,其判定在生成上述部分曲线时是否使用所存储的分段曲线信息;存储信息利用曲线生成单元,其利用上述分段曲线信息生成部分曲线,其中,在上述曲线信息利用判定单元判断为利用所存储的信息时,通过上述存储信息利用曲线生成单元生成部分曲线。由此,在对用点列给出的加工路径进行曲线化时,在应该生成相互类似的形状的曲线的地方,能够得到满足要求的曲线。
[0009] 上述曲线信息利用判定单元可以是判定是否是往返加工路径中的归路的单元。由此,在往返加工路径的去路和归路中,能够得到阶差比现有的曲线化方法少的曲线。
[0010] 可以选择基于点的个数的方法和基于部分点列的长度的方法的任意一个,进行上述部分点列的取出。由此,在点列的曲线化中,能够只在必要的地方应用基于点列的长度的分割,缩短曲线生成所需要的时间,并且生成类似的曲线。
[0011] 可以根据刀具路径是否是往返路径的归路,进行上述部分点列的取出方法的选择。由此,能够高效地生成曲线,同时抑制往返加工路径的去路和归路之间的阶差。
[0012] 本发明的刀具路径曲线化方法重复进行从表示对加工物进行加工的刀具的刀具路径的点列中取出其一部分作为部分点列而生成部分曲线的步骤,对刀具路径进行曲线化,该刀具路径曲线化方法包括:针对构成刀具路径的各个曲线区间即分段曲线,存储由包含该分段曲线所包含的部分曲线的个数、分段曲线的终点处的切线方向、各部分曲线的部分曲线长度和部分点列的点数的至少一个、以数学方式定义上述部分曲线的信息的部分曲线信息构成的分段曲线信息;判定在生成上述部分曲线时是否使用所存储的分段曲线信息,在判断为使用时,利用上述分段曲线信息生成部分曲线。
[0013] 也可以根据刀具路径是否是上述往返加工路径中的归路,来判定在生成上述部分曲线时是否使用存储的分段曲线信息。
[0014] 也可以选择基于点的个数的方法和基于部分点列的长度的方法的任意一个,进行上述部分点列的取出。进而,也可以根据刀具路径是否是往返路径的归路,进行上述部分点列的取出方法的选择。
[0015] 本发明通过具备以上的结构,能够提供一种刀具路径曲线化装置,其存储根据表示刀具路径的点列而生成的曲线的信息,在要求曲线的类似性的地方,利用该信息生成希望的曲线。

附图说明

[0016] 本发明的上述以及其他目的和特征能够通过参照附图的以下的实施例的说明而明了。其中,
[0017] 图1是说明刀具路径曲线化装置的结构的框图。
[0018] 图2是说明点列数据的图。
[0019] 图3是说明刀具路径的弯曲点的判定方法的图。
[0020] 图4是说明分段曲线数据和部分曲线数据之间的关系的图。
[0021] 图5是说明曲线生成的步骤的流程图。
[0022] 图6是说明是否是归路的判定步骤的流程图。
[0023] 图7是说明生成通常的分段曲线的步骤的流程图。
[0024] 图8是说明生成归路的分段曲线的步骤的流程图。

具体实施方式

[0025] 在本发明的若干实施方式中,提供从用点列给出的刀具路径中逐渐地取出点列而生成参数曲线的曲线化方法,其预先存储对生成的曲线赋予特征的信息,在要求与已经生成的曲线类似的曲线时,使用存储的信息来生成曲线。
[0026] 首先,定义若干术语。将为了生成曲线而分割出的各个点列作为部分点列,将根据部分点列生成的曲线作为部分曲线。刀具路径弯曲了的地方是曲线的端点,在此,曲线暂时结束,而另外的曲线开始。从一个端点到下一个端点为分段曲线。曲线化后的刀具路径是分段曲线的集合。分段曲线由一个以上的部分曲线构成。往返路径中的去路和归路分别是一个分段曲线。
[0027] 在本发明的若干个实施方式的方法中,将以分段曲线为单位生成的曲线的信息作为分段曲线信息而存储。分段曲线信息由包含在分段曲线中的部分曲线的个数和与各部分曲线有关的部分曲线信息构成。部分曲线信息包含端点的位置、部分曲线的长度、成为部分曲线的基础的部分点列的点数。对于部分点列的分割,以处理简单的基于点的个数的分割为基本。设置判定应该使部分点列的空间分布一致的地方的单元,在判定是应该使分布一致的地方的情况下,不进行基于点的个数的分割,而根据所存储的信息取出部分点列。在往返加工路径的情况下,归路是应该使分布一致的地方,在判定为归路的情况下,使用去路的分段曲线信息,使构成归路的部分曲线的个数、各部分点列的长度等与去路一致。由此,根据存储的信息使构成去路和归路的各部分点列的空间分布一致,由此生成在去路和归路中没有阶差的曲线。
[0028] 刀具路径的曲线化的方法的关键在于:判定如与去路对应的归路那样应该使曲线的形状一致的地方,在判定后的地方,通过与通常的曲线生成步骤不同的专用的生成步骤,利用所存储的曲线信息生成曲线。
[0029] 在此,采用包含往返加工路径的情况为例子,说明本发明的若干个实施方式的方法的具体步骤。图1是一个实施方式的框图。刀具路径曲线化装置1具备NC指令解读部10、点列取得部20、归路判定部30、分段曲线生成部40、分段曲线信息存储部50、归路曲线生成部60、曲线输出部70。此外,可以使用控制机床的数值控制装置或个人计算机等信息处理装置来构成刀具路径曲线化装置1。
[0030] NC指令解读部10与安装在控制机床的数值控制装置中的NC指令解读部相同,解读NC指令2(加工程序),取出构成刀具路径的点列的点列数据。点列数据是表示刀具路径上的点的位置的数据,在5轴加工的情况下,除了位置以外,还包含表示刀具的方向的数据。在图2中表示3轴加工的情况下的点列数据的构造。点列数据的一个点的数据由刀具前端的坐标X、Y、Z构成,仅包含点的个数的该数据。
[0031] 点列取得部20向NC指令解读部10请求并取得所需的点列数据。以取得预定个数N(个)的点的数据为基本,在归路的情况下,取得归路曲线生成部60所要求的范围的点列数据。如果在所要求的点列中存在被判定为刀具路径的弯曲点的位置,则取得到弯曲点为止的点列数据。
[0032] 在CAM输出的加工程序中,由于计算上的问题,有时输出局部位置紊乱的点。为了判别这样的异常的点和真正的弯曲点,如图3所示求出对连接点列的线段的方向进行平均化所得的q(带横杠)、p(带横杠),在平均化后的方向的差为阈值以上时设为弯曲点。此外,q(带横杠)、p(带横杠)分别是图3中表示的
[0033] 归路判定部30从点列取得部20接受点列数据,判定该点列是否是归路。在该判定中,使用由分段曲线信息存储部50存储的信息,因此在后面说明细节。
[0034] 分段曲线生成部40在判定为不是归路的情况下,重复进行从点列取得部20取得部分点列来生成部分曲线的处理,生成将刀具路径的弯曲点作为终点的分段曲线。部分曲线是通过部分点列的起点和终点并通过其他点的近旁的参数曲线。使用B样条曲线作为参数曲线,但也可以是NURBS曲线、分段多项式曲线等其他形式的曲线。通过公式(1)表示部分曲线。
[0035]
[0036] U是曲线的参数,取0≤u≤1的值的范围。
[0037] 表示参数值为u时曲线上的点所占的位置。
[0038] N1、3(u)是三次的B样条基底函数。
[0039] 是B样条曲线的控制点。
[0040] 曲线通过点的近旁意味着公式(1)的曲线和部分点列的各点之间的距离为预先设定的公差以下、即公式(2)。
[0041]
[0042] ε表示公差。
[0043] 表示部分点列的点。
[0044] 是在曲线上最接近 的点的参数的值。
[0045] 表示参数的值为 时的点。
[0046] 参数u的定义域被称为节点的数的组U={u0、……un+4}分割。因此,公式(1)表示以节点和控制点为变量的曲线,通过决定这些变量的值来确定曲线。决定公式(1)那样的曲线的方法有若干,如在Les Piegl,Wayne Tiller,The NURBS Book,Springer-Verlag、I.J.Schoenberg,Spline functions and the problem of graduation,Proceedings of the National Academy of Sciences of the U.S.A.,52(1964)中记载的那样,是公知的,因此省略。
[0047] 分段曲线信息存储部50存储以分段曲线为单位生成的曲线的信息。在图4中表示分段曲线数据的构造。部分曲线数表示分段曲线所包含的部分曲线的个数,取1以上的值。终点处的微分是在终点对参数曲线进行微分。部分曲线数据存储包含在分段曲线中的各部分曲线的信息,形成图4所示的构造。端点的位置表示部分曲线的起点和终点的位置。点数表示成为部分曲线的基础的部分点列所包含的点的个数。节点是用B样条曲线表示的部分曲线的各节点的值,是0~1之间的数值的组。长度表示用线段连接部分点列的各点所得的折线的长度。存储分段曲线的信息是为了以后在出现归路时作为去路的信息而利用。一般归路通过短的路径与去路连接,因此在去路和归路之间不存在许多分段曲线。因此,对要存储的分段曲线数据的个数设置上限,如果存储数据的个数达到上限,则从旧的数据开始进行舍弃。
[0048] 通过比较成为要生成的分段曲线的基础的点列和所存储的分段曲线的数据,来进行是否是归路的判定。在满足以下的条件(1)~条件(3)的全部条件时,判定为从此要生成的分段曲线是以存储的分段曲线的一个作为去路的归路。
[0049] 条件(1)在所存储的分段曲线中,存在终点的切线方向与点列的起点处的切线方向相反的分段曲线。
[0050] 这要求去路和归路是大致相反方向。
[0051] 条件(2)该分段曲线的终点位于点列的起点的附近。
[0052] 这要求去路和归路存在于空间上接近的位置。
[0053] 条件(3)该分段曲线的长度和点列的折线长度大致相同。
[0054] 上述的条件取决于在去路和归路是大致相同的长度、长度有某种程度的不同的情况下,使用与去路相同的曲线生成方法给出良好的结果。
[0055] 归路曲线生成部60根据被判定为归路的点列生成曲线。归路由与去路相同个数的部分曲线构成。在归路中,根据点列长度取出部分点列。如果将去路的部分曲线依次设为C1、……、Cm(Cm是末尾的部分曲线),将归路的部分曲线依次设为C`1、……、C`m(C`m是末尾的部分曲线),则在与Ci相对的位置是C`m-i+1(i=1、……、m)。可以使用作为去路的候选的分段曲线的长度L、点列长度L`,将与去路对应的归路的比例尺表示为公式(3)。
[0056]
[0057] 根据该点列长度lm-i+1`为Ci的长度li和r,如公式(4)所表示的那样取得成为C`m-i+1的基础的部分点列。
[0058] lm-i+1'=li×r……(4)
[0059] 一般,在与lm-i+1`对应的位置不存在包含在点列中的点,因此向该位置追加新的点,作为部分点列的终点。如果这样决定部分点列,则生成部分曲线的步骤与通常的分段曲线的情况相同。
[0060] 依照图5的流程图说明生成曲线的步骤。
[0061] [步骤SA100]从指令点列中取出预先决定的预定的个数的点。
[0062] [步骤SA101]判定取出的点列是否是归路的一部分。后面说明其方法。
[0063] [步骤SA102]在判定为不是归路的情况下,通过通常的方法生成分段曲线。在后面说明该方法。
[0064] [步骤SA103]在判定为是归路的情况下,通过归路用的方法生成分段曲线。在后面说明该方法。
[0065] [步骤SA104]将生成的分段曲线的信息存储为分段曲线数据。
[0066] [步骤SA105]判定在指令点列中是否还残留没有曲线化的点。如果残留,则返回到步骤SA100,继续进行曲线生成,如果没有残留,则前进到步骤SA106。
[0067] [步骤SA106]输出所生成的曲线的数据,结束曲线生成。在此,在对全部点进行曲线化后输出曲线数据,但也可以在每次生成一个分段曲线时输出等,更细致地输出。
[0068] 接着,依照图6的流程图说明判定是否是归路的步骤SA101的步骤。
[0069] [步骤SB100]与上述条件(1)对应地,求出部分点列的起点的切线方向,如果在存储的分段曲线中存在终点处的切线方向与其相反的分段曲线,则将其作为去路的候选,前进到步骤SB101。如果不存在,则前进到步骤SB104。求出切线方向的方法有多种,可以是任意的方法。例如,取得该点的近旁的数点,对将它们连接起来的线段的方向平均化。根据将2个切线所成的角度θ与阈值进行比较,来判定切线是相反方向。在阈值≤θ≤180°时为相反方向。
[0070] [步骤SB101]与上述条件(2)对应地,求出在步骤SB100中成为去路的候选的分段曲线的终点和点列的起点之间的距离,如果是阈值以下,则判定为接近。
[0071] [步骤SB102]与上述条件(3)对应地,对成为从此要生成的分段曲线的基础的点列的长度和作为去路的候选的分段曲线的长度进行比较。点列的长度为将点列的各点连接起来的折线的长度。点列的终点为刀具路径的下一个弯曲点。对此使用已经说明的弯曲点的判定方法。在将作为去路的候选的分段曲线的长度设为L,将点列长度设为L`,将阈值设为k,用公式(5)表示时,判定为两者是大致相同的长度。
[0072]
[0073] [步骤SB102]使表示为归路的标记有效。
[0074] [步骤SB103]使表示为归路的标记无效。
[0075] 接着,依照图7的流程图说明生成通常的分段曲线的图5的步骤SA102的步骤。
[0076] [步骤SC100]将通过点列的起点和终点、并且起点和终点的微分具有指定的值的贝济埃曲线作为初始曲线。使用起点和其近旁的点,通过Les Piegl,Wayne Tiller,The NURBS Book,Springer-Verlag所记载的方法,求出起点处的微分的值。对于终点也同样。另外,作为其他方法,也可以使用通过起点近旁的3点和终点的贝济埃曲线的起点处的微分。在终点的情况下,为通过终点近旁的3点和起点的贝济埃曲线的终点处的微分。
[0077] [步骤SC101]由公式(2)求出被赋予的部分曲线的各点和曲线之间的距离,得到其最大值。
[0078] [步骤SC102]如果最大值为公差以下,则将当前的曲线作为部分曲线,结束处理。如果比公差大,则前进到步骤SC103。
[0079] [步骤SC103]逐一地追加内部节点和控制点,修正曲线,返回到步骤SC101。使用Les Piegl,Wayne Tiller,The NURBS Book,Springer-Verlag所记载的方法的任意一个,决定要追加的节点的值。修正后的曲线是公式(1)的形式所示的B样条曲线。
[0080] [步骤SC104]将生成的部分曲线的信息存储为部分曲线数据。
[0081] [步骤SC105]如果上一个生成的部分曲线的终点是刀具路径的弯曲点,则判断为到达了分段曲线的终点,结束处理。如果不是,则前进到步骤SC106。
[0082] [步骤SC106]新取出预定个数的点列作为部分点列,返回到生成初始曲线的步骤SC100。
[0083] 最后,依照图8的流程图说明生成归路的分段曲线的图5的步骤SA103的步骤。
[0084] [步骤SD100]求出公式(3)的r。在判定为是归路的阶段,读出点列到归路的终点为止,因此能够求出L`。
[0085] [步骤SD101]取出部分点列,使得点列长度成为由公式(4)给出的长度。
[0086] [步骤SD102]从去路所对应的部分曲线的部分曲线数据取得节点,使用对其反转后的节点,生成B样条曲线。所谓节点的反转,是在将原来的节点设为ui时,将1-ui作为新的节点。与在通常的分段曲线生成中初始曲线是贝济埃曲线相对,在归路中是利用了去路的信息的B样条曲线。
[0087] [步骤SD103]~[步骤SD105]生成部分曲线自身的这些步骤的处理与通常的分段曲线生成时相同。
[0088] [步骤SD106]存储部分曲线信息的处理也与通常的分段曲线生成时相同。
[0089] [步骤SD107]判定分段曲线生成结束的处理也与通常的分段曲线生成时相同。
[0090] 曲线输出部70以预定的形式输出所得到的曲线的数据。在曲线生成装置与数值控制装置独立的情况下,将曲线变换为数值控制装置所能够解读的形式、例如NURBS指令形式。在将曲线生成装置内置于数值控制装置中,一边变换为曲线一边进行加工的情况下,变换为数值控制装置容易处理的内部形式、即在加工程序中包含曲线插补指令时NC指令解读部输出的形式。
[0091] 此外,在此,使用B样条曲线作为参数曲线,但在向NURBS曲线等其他形式的曲线扩展时,只要改变公式(1)的表现形式,应用相同的思考方法即可。