数控系统中实现刀具半径补偿全局干涉的控制方法转让专利

申请号 : CN201310051619.0

文献号 : CN103116315B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈文君赵冬牟凤林汤同奎郑之开

申请人 : 上海维宏电子科技股份有限公司

摘要 :

本发明涉及一种数控系统中实现刀具半径补偿全局干涉的控制方法,属于数据系统控制方法技术领域。该方法先将原有工件路径和刀具外侧路径的组成线段的端点按序进行排列,并将端点依序存入事件队列中;而后判断事件队列中是否有事件点,若有,则利用扫描线依序各个事件点,更新状态队列;状态队列中的线段的交点若是原有工件路径的组成线段和刀具外侧路径的组成线段的交点,则报告存在全局干涉。该方法基于扫描线进行快速的全局干涉判断,其运行时间只与线段交点数量相关,判断速度快,准确率高,而且能够实时警告可能产生过切的情况,适用于复杂的工件加工,且本发明的数控系统中实现刀具半径补偿全局干涉的控制方法实现方式简便,实现成本低廉。

权利要求 :

1.一种数控系统中实现刀具半径补偿全局干涉的控制方法,其特征在于,事件点为原有工件路径或刀具外侧路径的组成线段的交点,所述的方法包括以下步骤:(1)数控系统根据原有工件路径生成刀具外侧路径;

(2)数控系统将所述的原有工件路径和刀具外侧路径的组成线段的端点按从左到右的顺序进行排列,并将所述的端点按照自上而下的顺序存入事件队列中;

(3)数控系统判断所述的事件队列中是否有事件点,若没有,则结束本方法,若有,则进入步骤(4);

(4)数控系统初始化状态队列;所述的状态队列用以存储当前与扫描线相交的所有线段,并指定顺序存储;

(5)数控系统利用扫描线从左到右扫描所述的事件队列中的事件点,并根据扫描状态更新所述的状态队列;

(6)数控系统判断所述的状态队列中的线段是否产生交点,若是,则进入步骤(7),若否,则返回步骤(5);

(7)数控系统将交点插入所述的事件队列中,并判断构成交点的线段是否分别为原有工件路径的组成线段和刀具外侧路径的组成线段,若是,则进入步骤(8),若否,则返回步骤(5);

(8)数控系统报告存在全局干涉。

2.根据权利要求1所述的数控系统中实现刀具半径补偿全局干涉的控制方法,其特征在于,所述的数控系统根据扫描状态更新所述的状态队列,具体为:所述的数控系统将所述的事件点之后的线段顺序更新入所述的状态队列。

3.根据权利要求2所述的数控系统中实现刀具半径补偿全局干涉的控制方法,其特征在于,所述的数控系统判断所述的状态队列中的线段是否产生交点,具体包括以下步骤:(61)所述的数控系统判断所述的状态队列中更新的线段顺序是否有新的相邻线段;

(62)所述的数控系统判断所述的新的相邻线段是否会产生交点。

4.根据权利要求2所述的数控系统中实现刀具半径补偿全局干涉的控制方法,其特征在于,所述的状态队列为平衡二叉树结构的状态队列。

说明书 :

数控系统中实现刀具半径补偿全局干涉的控制方法

技术领域

[0001] 本发明涉及数控系统技术领域,特别涉及利用数控系统的加工工艺中刀具控制方法技术领域,具体是指一种数控系统中实现刀具半径补偿全局干涉的控制方法。

背景技术

[0002] 在数控系统中,经常需要对待加工的工件进行刀具半径补偿,刀具的实际运行路径相对于工件的编程路径有一个刀具半径的偏移。在数控系统常用的G代码指令中,G41和G42分别指示建立刀具的左刀补和右刀补。刀具半径补偿对于精确加工工件具有重要意义:客户的刀具在加工了一些工具之后会有一些磨损,利用半径补偿,还可以利用原有的工件路径为磨损了的刀具生成合适的加工路径。
[0003] 现有技术中的刀具补偿控制方法,当刀具半径补偿的路径生成以后,补偿后的刀具运行路径经过的区域不能与原有工件路径相交,如果有相交出现就会切坏工件,这称为干涉,有切坏工件的危险。对于刀补干涉的检测,大部分数控系统都只有局部干涉检测,加工过程中可以利用刀补后路径方向向量与工件路径方向向量进行比较来确定是否有局部干涉。
[0004] 然而,实际的加工文件可能会产生全局干涉的情况。这种情况无法用检测局部干涉的方法检测出来。一旦出现这种干涉,如果没有及时发现就会切坏工件。
[0005] 如图1所示,如果此时按刀补后的路径加工,就会把工件切坏。椭圆中,刀具将工件的一个棱角切掉了。对于此类的干涉是无法实时计算的,因为未来任意一条线段都可能与当前红色线段相交。所以检测全局干涉只能离线进行。
[0006] 现实加工的工件会比图1所示的复杂很多,并且线段数量多,如果出现的工件路径有几十万条,上百万条的线段,那么采用一般的方法离线进行检测全局干涉速度会非常慢。庞大的数据量可能使程序检测速度极慢,无法应用于实际的软件产品中。因此,如何实现快速有效地检测全局干涉,提前警告用户用当前刀具加工工件可能产生过切的情况,成为本技术领域中亟待解决的问题。

发明内容

[0007] 本发明的目的是克服了上述现有技术中的缺点,提供一种基于扫描线进行快速的全局干涉判断,其运行时间只与线段交点数量相关,判断速度快,准确率高,能够实时警告用户用当前刀具加工工件可能产生过切的情况,适用于复杂的工件加工,且实现方式简便,实现成本低廉的数控系统中实现刀具半径补偿全局干涉的控制方法。
[0008] 为了实现上述的目的,本发明的数控系统中实现刀具半径补偿全局干涉的控制方法包括以下步骤:
[0009] (1)数控系统根据原有工件路径生成刀具外侧路径;
[0010] (2)数控系统将所述的原有工件路径和刀具外侧路径的组成线段的端点按从左到右的顺序进行排列,并将所述的端点按照自上而下的顺序存入事件队列中;
[0011] (3)数控系统判断所述的事件队列中是否有事件点,若没有,则结束本方法,若有,则进入步骤(4);
[0012] (4)数控系统初始化状态队列;所述的状态队列用以存储当前与扫描线相交的所有线段,并指定顺序存储;
[0013] (5)数控系统利用扫描线从左到右扫描所述的事件队列中的事件点,并根据扫描状态更新所述的状态队列;
[0014] (6)数控系统判断所述的状态队列中的线段是否产生交点,否是则进入步骤(7),若否,则返回步骤(5);
[0015] (7)数控系统将交点插入所述的事件队列中,并判断构成交点的线段是否分别为原有工件路径的组成线段和刀具外侧路径的组成线段,若是,则进入步骤(8),若否,则返回步骤(5);
[0016] (8)数控系统报告存在全局干涉。
[0017] 该数控系统中实现刀具半径补偿全局干涉的控制方法中,所述的事件点为所述的原有工件路径或刀具外侧路径的组成线段的交点。
[0018] 该数控系统中实现刀具半径补偿全局干涉的控制方法中,所述的数控系统根据扫描状态更新所述的状态队列,具体为:所述的数控系统将所述的事件点之后的线段顺序更新入所述的状态队列。
[0019] 该数控系统中实现刀具半径补偿全局干涉的控制方法中,所述的数控系统判断所述的状态队列中的线段是否产生交点,具体包括以下步骤:
[0020] (61)所述的数控系统判断所述的状态队列中更新的线段顺序是否有新的相邻线段;
[0021] (62)所述的数控系统判断所述的新的相邻线段是否会产生交点。
[0022] 该数控系统中实现刀具半径补偿全局干涉的控制方法中,所述的状态队列为平衡二叉树结构的状态队列
[0023] 采用了该发明的数控系统中实现刀具半径补偿全局干涉的控制方法,其先将原有工件路径和刀具外侧路径的组成线段的端点按从左到右的顺序进行排列,并将端点按照自上而下的顺序存入事件队列中;而后判断事件队列中是否有事件点,若没有,则不存在全局干涉,若有,则利用扫描线从左到右扫描所述的事件队列中的事件点,并根据扫描状态更新状态队列;而后判断状态队列中的线段是否产生交点,否是则进一步判断构成交点的线段是否分别为原有工件路径的组成线段和刀具外侧路径的组成线段,若是,则报告存在全局干涉。该方法基于扫描线进行快速的全局干涉判断,其运行时间只与线段交点数量相关,从而能够保证判断速度快,准确率高,而且能够实时警告用户用当前刀具加工工件可能产生过切的情况,适用于复杂的工件加工,且本发明的数控系统中实现刀具半径补偿全局干涉的控制方法,其实现方式简便,实现成本低廉。

附图说明

[0024] 图1为利用现有技术的刀具补偿方法发生全局干涉的加工路径示意图。
[0025] 图2为本发明的数控系统中实现刀具半径补偿全局干涉的控制方法的流程示意图。
[0026] 图3为本发明的数控系统中实现刀具半径补偿全局干涉的控制方法中利用扫描线进行快速的全局干涉判断的示意图。

具体实施方式

[0027] 为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。
[0028] 请参阅图2所示,为本发明的数控系统中实现刀具半径补偿全局干涉的控制方法的流程示意图。
[0029] 在一种实施方式中,该方法包括以下步骤:
[0030] (1)数控系统根据原有工件路径生成刀具外侧路径;
[0031] (2)数控系统将所述的原有工件路径和刀具外侧路径的组成线段的端点按从左到右的顺序进行排列,并将所述的端点按照自上而下的顺序存入事件队列中;
[0032] (3)数控系统判断所述的事件队列中是否有事件点,若没有,则结束本方法,若有,则进入步骤(4),其中,所述的事件点为所述的原有工件路径或刀具外侧路径的组成线段的交点;
[0033] (4)数控系统初始化状态队列;所述的状态队列用以存储当前与扫描线相交的所有线段,并指定顺序存储;
[0034] (5)数控系统利用扫描线从左到右扫描所述的事件队列中的事件点,并根据扫描状态更新所述的状态队列;
[0035] (6)数控系统判断所述的状态队列中的线段是否产生交点,否是则进入步骤(7),若否,则返回步骤(5);
[0036] (7)数控系统将交点插入所述的事件队列中,并判断构成交点的线段是否分别为原有工件路径的组成线段和刀具外侧路径的组成线段,若是,则进入步骤(8),若否,则返回步骤(5);
[0037] (8)数控系统报告存在全局干涉。
[0038] 在较优选的实施方式中,所述的步骤(5)中数控系统根据扫描状态更新所述的状态队列,具体为:所述的数控系统将所述的事件点之后的线段顺序更新入所述的状态队列。其步骤(6)所述的数控系统判断所述的状态队列中的线段是否产生交点,具体包括以下步骤:
[0039] (61)所述的数控系统判断所述的状态队列中更新的线段顺序是否有新的相邻线段;
[0040] (62)所述的数控系统判断所述的新的相邻线段是否会产生交点。
[0041] 在更优选的实施方式中,所述的状态队列为平衡二叉树结构的状态队列。
[0042] 在实际的数控系统加工过程中,补偿后刀具的另一侧形成了一个与原有工件路径平行的线段,如果没有全局干涉,则此路径应当与原有工件的加工路径不会出现交点。
[0043] 所以在本发明的实际应用中,第一步,利用传统的方法生成刀具外侧路径,该刀具外侧路径不是刀具补偿后的刀具中心点运行轨迹,而是刀具与工件路径相对应的另一端的路径,距离工件路径正好是刀具直径,即图1中实线线段组成的路径。生成后的两种类型的路径其实都是线段的集合。
[0044] 假设有一条扫描线从图形的左边扫描到右边。当某个地方出现全局干涉,扫描线在扫描到该点时会将结果警告用户。一次从左到右的扫描就可以将所有干涉点输出。
[0045] 将所有工件路径和刀具外侧路径的端点都存储到一个队列中,并将这些点按照从左到右,从上到下的顺序排序。这些节点用平衡二叉树存储,每次插入新的节点和删除新的节点都相当迅速。用Q表示此二叉树,实际上Q就是一个事件点队列,随着扫描线从左到右扫描检测可能出现的交点,如果有新的交点出现,则将此交点加入Q。另外定义一个平衡二叉树L,L记录了扫描线状态,即所有与当前扫描线相交的线段集合。当然,有些线段来自于工件路径,有些线段来自于刀具外侧路径。L中的线段按照与扫描线的交点,从小到大进行排列,扫描线从左向右边扫描,遇到事件点就处理当前节点出现的事件。每一个事件点都会更新L中的记录,并且将可能产生的新的线段交点插入到Q中。
[0046] 如图3所示,在事件点(2、4交点),绿色扫描线与1、2、3、4、5、6相交,那么,在扫描线处理此事件点之前,L中的线段顺序是(5、4、3、2、1),经过事件点处理后,使L中的线段顺序为(5、6、2、4、1),这样产生了新的1、4相邻和5、6相邻。由于新相邻线段的产生,会判断新相邻的线段是否有交点,如果有新的交点产生(这里5、6产生新的交点),将新的交点插入到事件点队列Q中。
[0047] 具体处理某一事件点P时,对L有如下操作:
[0048] 1、定义与P点相交的所有线段集合A,找出A上面的线段,如果存在,用u表示,找出A下面的线段,如果存在,用d表示。
[0049] 2、删除L中所有右端点在P点的线段。
[0050] 3、删除L中与P点相交的线段。
[0051] 4、插入与P点相交的线段到L中,插入所有左端点在P点的线段。
[0052] 之所以要进行步骤3、4的操作,是为了正确地更新L中线段顺序,找到新插入线段的最上面线段nu;找到新插入线段的最下面线段nd(nu和nd在只有一条线段插入时代表同一线段)。L为平衡二叉树,但与一般的平衡二叉树有区别,每次删除和插入判决元素顺序的标准不一样。
[0053] 5、如果同时存在nu和u,判断两个线段是否相交,如果产生新的交点,并且新的交点在扫描线的右边,则将新的交点作为新的事件点插入到Q中。如果同时存在nd和d,则进行同样的操作。当然,如果没有nu和nd,那么如果存在u和d,就进行u和d的相交检测,如果产生新的交点,并且新的交点在扫描线的右边,则将新的交点作为新的事件点插入到Q中。
[0054] 只要还有Q中的事件点,继续对其它事件点进行如上操作。过程中可能产生新的事件点,插入到Q中适当位置。
[0055] 如果在处理某一事件点时,出现了新的交点,这个交点的两个线段分别是来自于工件路径和刀具外侧路径,那么,就出现了全局干涉。
[0056] 在实际的刀补模块中,高效全局干涉模块实现非常复杂。涉及到L中线段更新操作实际上是根据在扫描线左边还是右边采用完全想法的斜率判决标准。要完成本发明的方法,需要可以在状态队列L中从指定线段按顺序遍历,这是为了可以较快的寻找到待判定的相邻线段。
[0057] 采用了该发明的数控系统中实现刀具半径补偿全局干涉的控制方法,其先将原有工件路径和刀具外侧路径的组成线段的端点按从左到右的顺序进行排列,并将端点按照自上而下的顺序存入事件队列中;而后判断事件队列中是否有事件点,若没有,则不存在全局干涉,若有,则利用扫描线从左到右扫描所述的事件队列中的事件点,并根据扫描状态更新状态队列;而后判断状态队列中的线段是否产生交点,否是则进一步判断构成交点的线段是否分别为原有工件路径的组成线段和刀具外侧路径的组成线段,若是,则报告存在全局干涉。该方法基于扫描线进行快速的全局干涉判断,其运行时间只与线段交点数量相关,从而能够保证判断速度快,准确率高,而且能够实时警告用户用当前刀具加工工件可能产生过切的情况,适用于复杂的工件加工,且本发明的数控系统中实现刀具半径补偿全局干涉的控制方法,其实现方式简便,实现成本低廉。
[0058] 在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。