CN110026820B - 机床防碰撞方法及应用其的系统 - Google Patents
机床防碰撞方法及应用其的系统 Download PDFInfo
- Publication number
- CN110026820B CN110026820B CN201810094410.5A CN201810094410A CN110026820B CN 110026820 B CN110026820 B CN 110026820B CN 201810094410 A CN201810094410 A CN 201810094410A CN 110026820 B CN110026820 B CN 110026820B
- Authority
- CN
- China
- Prior art keywords
- path
- track
- point
- period
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000006870 function Effects 0.000 claims description 30
- 230000001133 acceleration Effects 0.000 claims description 17
- 238000003754 machining Methods 0.000 claims description 14
- 238000007689 inspection Methods 0.000 claims description 2
- 238000004088 simulation Methods 0.000 description 70
- 238000001514 detection method Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 8
- 229910019250 POS3 Inorganic materials 0.000 description 6
- 102100024061 Integrator complex subunit 1 Human genes 0.000 description 4
- 101710092857 Integrator complex subunit 1 Proteins 0.000 description 4
- 102100033265 Integrator complex subunit 2 Human genes 0.000 description 4
- 108050002021 Integrator complex subunit 2 Proteins 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 3
- 102100033263 Integrator complex subunit 3 Human genes 0.000 description 2
- 101710092886 Integrator complex subunit 3 Proteins 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003801 milling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/406—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
- G05B19/4061—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23Q—DETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
- B23Q17/00—Arrangements for observing, indicating or measuring on machine tools
- B23Q17/22—Arrangements for observing, indicating or measuring on machine tools for indicating or measuring existing or desired position of tool or work
- B23Q17/2208—Detection or prevention of collisions
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/406—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
- G05B19/4069—Simulating machining process on screen
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35306—Interference of all tools of turret, or part of tool base with chuck, workpiece
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/49—Nc machine tool, till multiple
- G05B2219/49141—Detect near collision and slow, stop, inhibit movement tool
Abstract
本发明公开一种机床防碰撞方法及应用其的系统,该方法包括:载入多条加工码;模拟对应这些加工码的多个路径轨迹;估计运行这些路径轨迹的多个执行期间;自这些执行期间中选取最短执行期间;判断在最短执行期间内,这些路径轨迹中的任两者的轨迹位置点的间距是否小于安全距离;当第一路径轨迹中的第一轨迹位置点与第二路径轨迹中的第二轨迹位置点的距离小于安全距离时,估计第一刀塔运行至第一轨迹位置点的第一时间点以及第二刀塔运行至第二轨迹位置点的第二时间点;当第一时间点与第二时间点之间的时间差距值低于容忍值时,产生碰撞警告。
Description
技术领域
本发明涉及一种机床防碰撞方法及应用其的系统。
背景技术
由于科技的进步,机床的应用越来越多样化,多系统的机床数量也开始成长。多系统的机床例如是指同时采用多个刀塔(turret)的机床。
然而,旧有的防碰撞机制大多是针对单一系统(如单一个刀塔)来设计,而未考虑多系统的情况。此外,旧有的防碰撞机制往往是在机床实际执行插值加工或是空跑时进行,然此方式需花费较多的时间成本。
发明内容
本发明是关于一种机床防碰撞方法及应用其的系统,可利用快速模拟的方式,先检测多个刀塔的路径轨迹之间的距离是否小于安全距离,若是,则进一步计算刀塔运行至可能发生碰撞的轨迹位置点的时间,以评估刀塔间是否会发生碰撞。通过此方式与系统,可以在快速模拟时即对多刀塔的路径轨迹进行碰撞检测,其执行单节的速度远比实际插值或空跑的速度快,进而节省使用者正式加工前的准备时间。
根据本发明的一实施例,提出一种由处理电路所执行的机床防碰撞方法,包括:载入对应多个刀塔在第一单节操作的多条加工码;模拟对应这些加工码的多个路径轨迹;估计这些刀塔运行这些路径轨迹的多个执行期间;自这些执行期间中选取时间长度最短的最短执行期间;判断在最短执行期间内,这些路径轨迹中的任两者的轨迹位置点的间距是否小于安全距离;当这些路径轨迹中的第一路径轨迹中的第一轨迹位置点与第二路径轨迹中的第二轨迹位置点的距离小于安全距离时,估计这些刀塔中的第一刀塔运行至第一轨迹位置点的第一时间点以及这些刀塔中的第二刀塔运行至第二轨迹位置点的第二时间点;判断第一时间点与第二时间点之间的时间差距值是否低于一容忍值;当第一时间点与第二时间点之间的时间差距值低于容忍值时,产生碰撞警告。
根据本发明的一实施例,提出一种防碰撞系统,其包括存储器以及处理电路。处理电路耦接存储器,并用以执行以下步骤:载入对应多个刀塔在第一单节操作的多条加工码;模拟对应这些加工码的多个路径轨迹;估计这些刀塔运行这些路径轨迹的多个执行期间;自这些执行期间中选取时间长度最短的最短执行期间;判断在最短执行期间内,这些路径轨迹中的任两者的轨迹位置点的间距是否小于安全距离;当这些路径轨迹中的第一路径轨迹中的第一轨迹位置点与第二路径轨迹中的第二轨迹位置点的距离小于安全距离时,估计这些刀塔中的第一刀塔运行至第一轨迹位置点的第一时间点以及这些刀塔中的第二刀塔运行至第二轨迹位置点的第二时间点;判断第一时间点与第二时间点之间的时间差距值是否低于一容忍值;当第一时间点与第二时间点之间的时间差距值低于容忍值时,产生碰撞警告。
为了对本发明的上述及其他方面有更佳的了解,下文特举实施例,并配合附图详细说明如下:
附图说明
图1绘示依据本发明一实施例的防碰撞系统的方块图。
图2绘示依据本发明一实施例的机床防碰撞方法的流程图。
图3A至图3C绘示针对双刀塔机床的防碰撞方法的一例流程图。
图4绘示双路径轨迹的安全距离检测的示意图。
图5绘示双路径轨迹的碰撞检测的示意图。
图6A至图6C绘示针对三刀塔机床的防碰撞方法的一例流程图。
图7绘示双路径轨迹的安全距离检测的示意图。
图8绘示双路径轨迹的碰撞检测的示意图。
图9绘示依据本发明一实施例的双路径轨迹的防碰撞示意图。
图10绘示依据本发明一实施例的双路径轨迹的防碰撞示意图。
【符号说明】
100:防碰撞系统
104:存储器
106:处理电路
TR1~TRM:刀塔
108:快速模拟单元
110:防碰撞单元
S202、S204、S206、S208、S210、S212、S214、S216、S218、S302、S304、S306、S308、S310、S312、S314、S316、S318、S320、S322、S324、S326A、S326B、S328A、S328B、S602、S604、S606、S608、S610、S612、S614、S616A、S616B、S616C、S618、S620、S622、S624、S626A、S626B、S626C、S628A、S628B、S628C:步骤
A、B、C、A’、B’、C’:节点
Oldtime1、Oldtime2、Oldtime3、Oldtime1’、Oldtime2’、Oldtime1”、Oldtime2”:期间起点参数
Runtime1、Runtime2、Runtime3、Runtime1’、Runtime2’、Runtime1”、Runtime2”:期间终点参数
Path1、Path2、Path3、Path1’、Path2’、Path1”、Path2”:路径轨迹
V1、V2、V3、V1’、V2’、V1”、V2”:速度值
A1、A2、A3、A1’、A2’、A1”、A2”:加速度值
POS2r1、POS3r1、POS1、POS2、POS1’、POS3:轨迹位置点
d12、d13:轨迹位置点之间的距离
具体实施方式
图1绘示依据本发明一实施例的防碰撞系统100的方块图。防碰撞系统100包括存储器104以及处理电路106。机床102例如是铣削机床。机床102可包括M个刀塔TR1~TRM,其中M为大于1的正整数。各个刀塔TR1~TRM可分别包括一或多个刀具。应注意,本发明虽以刀塔为例说明机床防碰撞方法与其系统,但本发明并不以此为限。本发明提出的机床防碰撞方法与其系统可应用至任意多系统的机床的防碰撞控制。
在一实施例中,防碰撞系统100可被实施在机床102自身的控制器当中(封闭式系统)。又一实施例中,防碰撞系统100可被实施成外接至机床102的计算机或控制台(开放式系统)。防碰撞系统100可控制机床102的运作,并实现本发明实施例的刀塔防碰撞机制。
存储器104用以存储可供处理电路106取得或执行的程序、指令、数据或文件。处理电路106耦接存储器104,其经配置后可执行本发明实施例的机床防碰撞方法。处理电路106可例如通过微控制单元(microcontroller)、微处理器(microprocessor)、数字信号处理器(digital signal processor)、特殊应用集成电路(application specific integratedcircuit,ASIC)、数字逻辑电路、现场可编程逻辑门阵列(field programmable gatearray,FPGA)、或其它具有运算处理功能的硬件元件来实现。
处理电路106可包括快速模拟单元108以及防碰撞单元110,其中这些单元可例如通过软件元件(如程序、指令、文件、数据)、硬件元件(如逻辑电路)或两者的组合来实现。
快速模拟单元108用以快速模拟刀塔TR1~TRM在每个单节的路径轨迹。防碰撞单元110可根据路径轨迹的空间信息(例如,路径轨迹的轨迹位置点)以及时间信息(例如,模拟刀塔运行至特定轨迹位置点的时间点)判断是否发生碰撞,并在判断出碰撞发生时,产生碰撞警告。
本文所指的“快速模拟”,指的是一种直接连接单节端点(如单节起点、终点)的路径模拟方式,快速模拟并不需通过插值运算来产生单节端点间的中间插值点位置。举例来说,假定一方形路径其边长为100毫米(mm),以机床常见的最大切削速度为1000毫米/分钟为例,一般模拟执行时间约为24秒,但若采用快速模拟,由于只需四次中断,而不需藉由插值计算逐一产生方形路径边长上的各个位置点,故模拟执行时间仅约12毫秒,较传统模拟的执行速度可快上约2000倍。
此外,本发明实施例中有关快速模拟单元108及防碰撞单元110的操作可实施在机床102实际运作前的一前置阶段,此前置阶段并不需涉及刀塔TR1~TRM的实际运行或空跑,而是纯粹以软件方式模拟刀塔TR1~TRM的路径轨迹,并在刀塔TR1~TRM实际依照加工码操作前,预先判断是否会发生碰撞。
图2绘示依据本发明一实施例的机床防碰撞方法的流程图。所述的机床防碰撞方法的流程图可例如由防碰撞系统100执行。
在步骤S202,快速模拟单元108载入对应多个刀塔在第一单节操作的多条加工码。加工码例如是NC指令码或其他用于控制机床102操作的指令码。
在步骤S204,快速模拟单元108模拟对应这些加工码的多个路径轨迹。举例来说,快速模拟单元108可通过快速模拟方式描绘刀塔TR1~TRM运行第一单节的多个路径轨迹。在一实施例中,不同的路径轨迹分别表示不同刀塔TR1~TRM的刀尖点轨迹。然本发明并不限于此。在一实施例中,也可将一刀塔中特定质点或质心的轨迹表示为该刀塔的路径轨迹。
在步骤S206,快速模拟单元108估计刀塔TR1~TRM运行路径轨迹的执行期间。举例来说,快速模拟单元108可自机床102的控制器取得刀塔TR1~TRM运行第一单节所分别采用的运动参数组,再根据这些运动参数组估计出各个刀塔TR1~TRM运行对应路径轨迹所需的执行期间。各个运动参数组可包括一或多个速度相关参数,像是用以表示刀塔运行速度的速度参数以及用以表示刀塔运行加速度的加速度参数等。
在一实施例中,快速模拟单元108可设定多个期间起点参数Oldtime#,这些期间起点参数Oldtime#分别指示不同执行期间的期间起点。快速模拟单元108也可经由机床102和/或加工码取得不同刀塔运行对应路径轨迹所采用的运动参数组,并根据这些运动参数组,估计不同刀塔运行路径轨迹的所需时间,以设定多个期间终点参数Runtime#,这些期间终点参数Runtime#分别指示不同执行期间的期间终点。举例来说,假定刀塔在0秒~5秒此一期间内运行一路径轨迹,则运行该路径轨迹的执行时间可通过[Oldtime=0,Runtime=5]来描述。
在步骤S208,防碰撞单元110自这些执行期间中选取时间长度最短的最短执行期间。举例来说,假设刀塔TR1在第一单节运行其路径轨迹的执行期间为0~5秒,刀塔TR2在第一单节运行其路径轨迹的执行期间为0~10秒,则最短执行期间为0~5秒。
在步骤S210,防碰撞单元110判断任两路径轨迹的轨迹位置点的间距是否小于一安全距离。若是,表示刀塔间有发生碰撞的可能,流程将接续步骤S212。若否,表示第一单节中刀塔间并无发生碰撞的可能,流程将接续步骤S214,快速模拟单元108将执行轨迹数据更新程序,以针对第二单节进行碰撞检测。第二单节例如是接续第一单节。
在一实施例中,假设步骤S208选出的最短执行期间[Oldtime#Ta,Runtime#Tb],也就是该最短执行期间的期间起点定义成Oldtime#Ta,且该最短执行期间的期间终点值定义成Runtime#Tb,快速模拟单元108在步骤S214执行轨迹数据更新程序后,将更新各个执行期间。轨迹数据更新程序例如包括:将各个执行期间的期间起点参数更新成Runtime#Tb;载入另一加工码,此另一加工码用以描述一特定刀塔在第二单节的操作,且此特定刀塔完成第一单节的所需时间对应最短执行期间(换句话说,此特定刀塔在第一单节运行路径轨迹的所需时间即步骤S208选出的最短执行期间);估计此特定刀塔完成第二单节的操作的所需时间,并据以更新特定期间终点参数,例如将Runtime#Tb更新成Runtime#Tb’。
通过上述程序,每个执行期间的期间起点皆被更新成Runtime#Tb,且原最短执行期间的期间终点将被更新成Runtime#Tb’。更新后的执行期间的时间长度将产生变化,因此,针对下一单节的碰撞检测,步骤S208中防碰撞单元110将从更新后的执行期间中挑选出时间长度最短者作为最短执行期间。
在步骤S212,当防碰撞单元110检测出第一刀塔运行的第一路径轨迹中的第一轨迹位置点与第二刀塔运行的第二路径轨迹中的第二轨迹位置点之间的距离小于安全距离,表示第一轨迹位置点与第二轨迹位置点是第一刀塔与第二刀塔可能会发生碰撞的轨迹位置点,此时防碰撞单元110将进一步估计第一刀塔运行至第一轨迹位置点的第一时间点以及第二刀塔运行至第二轨迹位置点的第二时间点。
在一实施例中,防碰撞单元110可根据第一轨迹位置点的位置、第一刀塔运行第一路径轨迹所采用的第一运动参数组(例如与速度相关之一或多个参数)、以及描述第一路径轨迹的第一运动学函数来估计第一时间点;并且根据第二轨迹位置点的位置、第二刀塔运行第二路径轨迹所采用的第二运动参数组(例如与速度相关之一或多个参数)、以及描述第二路径轨迹的第二运动学函数来估计第二时间点。
在一实施例中,第一运动学函数以及第二运动学函数可包括直线运动函数以及曲线运动函数至少其一。举例来说,第一运动学函数以及第二运动学函数可以皆为直线运动函数、或皆为曲线运动函数、或是其一为直线运动函数、另一为曲线运动函数。然本发明并不限于此,所述的运动学函数可配合对应加工码所描述的路径轨迹来定义。
在步骤S216,防碰撞单元110判断第一时间点与第二时间点之间的时间差距值是否低于容忍值。若是,表示第一刀塔与第二刀塔将在第一单节发生碰撞,步骤S218中防碰撞单元110将产生碰撞警告,以指示操作员相关的碰撞信息,例如指出可能发生碰撞的位置、单节行号等,以方便操作员修改加工码/程序代码内容,并终止模拟。若否,表示刀塔在第一单节并不会发生碰撞,流程将返回步骤S214,以载入下一单节的轨迹数据。上述的容忍值可视不同应用而定,在一实施例中,可设定容忍值为10毫秒。
通过上述方式,可实现多刀塔机床的防碰撞机制,且因快速模拟单元108及防碰撞单元110的实施并不需涉及刀塔的实际运行或空跑,而是通过快速模拟方式模拟刀塔的路径轨迹并进行碰撞检测,故可明显提升防碰撞模拟的执行速度。
图3A至图3C绘示针对双刀塔机床的防碰撞方法的一例流程图。此范例用以说明通过防碰撞系统100实现针对机床102的两座刀塔TR1、TR2的防碰撞机制。
首先请参考图3A。在步骤S302,快速模拟单元108载入分别针对刀塔TR1以及TR2的两条加工码。
在步骤S304,快速模拟单元108以快速模拟方式描绘图形,并建立对应刀塔TR1以及TR2的两路径轨迹的变量数据。
以快速模拟方式描绘图形包括:直接连接路经轨迹在一单节开始、结束的两端点。以直线运动的路径轨迹为例,快速模拟单元108会将路径轨迹在单节开始的轨迹位置点与路径轨迹在单节结束的轨迹位置点直接相连,以描绘出直线的路径轨迹图形。由于是直接相连两端点,故在两端点之间的轨迹位置点并不需通过插值运算逐一取得。
针对刀塔TR1的路径轨迹的变量数据可例如包括[Path1,Int1,POS1,Runtime1,Oldtime1],其中Path1表示路径轨迹的索引值,Int1表示解译对应加工码的所需数据,POS1表示路径轨迹Path1的轨迹位置点,Runtime1表示路径轨迹Path1的期间终点参数,用以描述刀塔TR1在单节的执行期间的期间终点,Oldtime1表示路径轨迹Path1的期间起点参数,用以描述刀塔TR1在单节的执行期间的期间起点。类似地,针对刀塔TR2的路径轨迹的变量数据包括[Path2,Int2,POS2,Runtime2,Oldtime2],其中Path2表示路径轨迹的索引值,Int2表示解译对应加工码的所需数据,POS2表示路径轨迹Path2的轨迹位置点,Runtime2表示路径轨迹Path2的期间终点参数,用以描述刀塔TR2在单节的执行期间的期间终点,Oldtime2表示路径轨迹Path2的期间起点参数,用以描述刀塔TR2在单节的执行期间的期间起点。
在开始模拟前,快速模拟单元108可例如对时间起点参数Oldtime1、Oldtime2作初始化,例如设定Oldtime1=0、Oldtime2=0。
在步骤S306,快速模拟单元108根据路径轨迹的变量数据开始解译并进行快速模拟,以执行单节。
在步骤S308,快速模拟单元108更新各路径轨迹的数据。路径轨迹数据的更新端视目前碰撞检测的执行单节进度而定。此步骤将配合图3C节点B至节点C的流程作说明。
在步骤S310,快速模拟单元108根据运动参数组估计刀塔执行单节所需时间,以取得Runtime1、Runtime2的值,也就是对应不同路径轨迹的执行期间的期间终点。运动参数组例如包括刀塔运行路径轨迹的一或多个速度相关参数,例如速度参数、加速度参数等。快速模拟单元108可例如自机床102取得运动参数组。
在步骤S312,快速模拟单元108设定安全距离。当两路径轨迹的轨迹位置点之间的距离小于安全距离,则该两轨迹位置点将被视为可能发生碰撞的位置点。安全距离的值可以是任意的,端视实际的应用而定。步骤S312后将接续节点A。
接着请参考图3B。进入节点A后,在步骤S314,防碰撞单元110判断Runtime2是否大于Runtime1。若是,在步骤S316,防碰撞单元110将比较在[Oldtime1,Runtime1]此段执行期间内,两路径轨迹的轨迹位置点是否相距小于安全距离。若否,在步骤S318,防碰撞单元110将比较[Oldtime2,Runtime2]此段执行期间内,两路径轨迹的轨迹位置点是否相距小于安全距离。
换句话说,防碰撞单元110会比较执行期间[Oldtime1,Runtime1]以及执行期间[Oldtime2,Runtime2]的时间长度,并从中选出时间长度较短者(最短执行期间),以判断该最短执行期间内,两路径轨迹的轨迹位置点是否相距小于安全距离。
若步骤S316或S318的判断结果为“是”,表示就空间上来说,两路径轨迹有发生碰撞的可能,流程将接续步骤S320作时间上的碰撞检测。若步骤S316或S318的判断结果为“否”,表示两路径轨迹并不会发生碰撞,流程将接续节点B以更新路径轨迹的数据。关于流程的节点B的相关细节将配合图3C作说明。
在步骤S320,防碰撞单元110估计对应刀塔分别运行至可能发生碰撞的轨迹位置点的时间点。举例来说,若路径轨迹Path1的第一轨迹位置点POS1与路径轨迹Path2的第二轨迹点POS2之间的距离小于安全距离,防碰撞单元110将根据对应的运动参数组,估计刀塔TR1运行至第一轨迹位置点POS1的第一时间点,以及刀塔TR2运行至第二轨迹位置点POS2的第二时间点。
在一实施例中,假设路径轨迹Path1的模拟运行采用第一运动参数组,路径轨迹Path2的模拟运行采用第二运动参数组,防碰撞单元110将在最短执行期间内,根据第一运动参数组估计路径轨迹Path1在多个检查时间间隔的多个轨迹位置点,并根据第二运动参数组估计路径轨迹Path2在这些检查时间间隔的多个轨迹位置点。防碰撞单元110将比较路径轨迹Path1的轨迹位置点与路径轨迹Path2的轨迹位置点之间的距离,以检测出可能发生碰撞的第一轨迹位置点POS1以及第二轨迹位置点POS2。
上述检查时间间隔的时间长度可以是任意的。在一实施例中,防碰撞单元110可例如规划每个检查时间间隔为200毫秒。
在步骤S322,防碰撞单元110判断时间点之间的时间差距值是否小于容忍值。举例来说,防碰撞单元110会判断第一时间点与第二时间点之间的时间差距值是否小于容忍值。若是,表示两刀塔TR1、TR2在运行时很可能发生碰撞,步骤S324中防碰撞单元110将产生碰撞警告,以指示操作员相关的碰撞信息,例如指出可能发生碰撞的位置、单节行号等,以方便使用者修改加工码/程序代码内容,并终止模拟。若步骤S322的判断结果为“否”,表示两路径轨迹并不会发生碰撞,流程将接续节点B以更新路径轨迹的数据。
接着请参考图3C。流程进入节点B之后,步骤S326中快速模拟单元108将判断期间终点参数Runtime2是否大于期间终点参数Runtime1。若是,表示执行期间[Oldtime1,Runtime1]为最短执行期间,步骤S326A中快速模拟单元108将设定各个执行期间的期间起点参数为Runtime1,也就是设定Oldtime1=Runtime1、Oldtime2=Runtime1,并在步骤S328A中更新路径轨迹Path1所需数据。若否,表示执行期间[Oldtime2,Runtime2]为最短执行期间,步骤S326B中快速模拟单元108将设定各个执行期间的期间起点参数为Runtime2,也就是设定Oldtime1=Runtime2、Oldtime2=Runtime2,并在步骤S328B中更新路径轨迹Path2所需数据。
举例来说,假设刀塔TR1在第一单节运行路径轨迹Path1的执行期间为0~5秒(Oldtime1=0;Runtime1=5),而刀塔TR2在该第一单节运行路径轨迹Path2的执行期间为0~10秒(Oldtime2=0;Runtime2=10),在完成针对0~5秒此一执行期间的碰撞检测后,快速模拟单元108将针对刀塔TR1载入第二单节的加工码,并据以更新路径轨迹的数据。假设刀塔TR1在第二单节运行路径轨迹Path1的执行期间为5~15秒,则快速模拟单元108将设定[Oldtime1=5,Runtime1=10]、[Oldtime2=5,Runtime2=10],以针对路径轨迹Path2在第一单节尚未执行碰撞检测的部分(5~10秒),以及路径轨迹Path1的对应执行期间部分(5~10秒)作碰撞检测。
步骤S328A及S328B完成后将接续节点C,以返回图3A的步骤S308。
图4绘示双路径轨迹的安全距离检测的示意图。根据图4的模拟,刀塔TR1在单节开始时的期间起点参数为Oldtime1,且刀塔TR1以速度值V1、加速度值A1沿路径轨迹Path1运行至单节结束时的期间终点参数为Runtime1;刀塔TR2在单节开始时的期间起点参数为Oldtime2,且刀塔TR2以速度值V2、加速度值A2沿路径轨迹Path2运行至单节结束时的期间终点参数为Runtime2。
假设Runtime2大于Runtime1,且刀塔TR2在时间Runtime1时的轨迹位置点为POS2r1,防碰撞单元110将检测路径轨迹Path1在执行期间[Oldtime1,Runtime1]内的轨迹位置点与路径轨迹Path2在执行期间[Oldtime2,Runtime1]内的轨迹位置点之间的距离是否小于安全距离,如图中附加斜线的线段所示,其中期间起点参数Oldtime1等于Oldtime2。
图5绘示双路径轨迹的碰撞检测的示意图。根据图5的模拟,假设路径轨迹Path1的轨迹位置点POS1与路径轨迹Path2的轨迹位置点POS2之间的距离d12小于安全距离,表示该两轨迹位置点POS1、POS2为可能发生碰撞的点位,防碰撞单元110将进一步计算对应该两轨迹位置点POS1、POS2的时间信息。
举例来说,假定检查时间间隔TC为200毫秒,防碰撞单元110可根据各路径轨迹Path1、Path2的速度值V1、V2以及加速度值A1、A2可估计出各路径轨迹Path1、Path2每200毫秒的轨迹位置点,并估计出小于安全距离的轨迹位置点POS1与轨迹位置点POS2。
接着,两轨迹位置点POS1、POS2的时间信息可利用以下运动学函数求得:
其中X为轨迹位置点的值,V为速度值,t为时间,A为加速度值。
将轨迹位置点POS1与路径轨迹Path1的运动参数代入式一可得:
其中T1表示运行至轨迹位置点POS1的时间点。
另外,将轨迹位置点POS2与路径轨迹Path2的运动参数代入式一可得:
其中T2表示运行至轨迹位置点POS2的时间点。
防碰撞单元110可分别自式二及式三求解时间点T1、T2的值,若时间点T1、T2两者相差小于容忍值(如10毫秒),则表示两路径轨迹会发生碰撞,防碰撞单元110将发出碰撞警告。
应意识到,上述范例仅是用以说明本发明的其中一实施例,而非用以限制本发明。路径轨迹并不限于直线,也可是任意的曲线,只要防碰撞单元110可根据曲线函数及相关运动参数推估轨迹位置点的对应时间点即可。
图6A至图6C绘示针对三刀塔机床的防碰撞方法的一例流程图。此范例通过防碰撞系统100实现针对机床102的三座刀塔TR1、TR2、TR3的防碰撞机制。
首先请参考图6A。在步骤S602,快速模拟单元108载入分别针对刀塔TR1、TR2以及TR3的三条加工码。
在步骤S604,快速模拟单元108以快速模拟方式描绘图形,并建立对应刀塔TR1、TR2以及TR3的三个路径轨迹的变量数据。
针对刀塔TR1的路径轨迹的变量数据可例如包括[Path1,Int1,POS1,Runtime1,Oldtime1],其中Path1表示路径轨迹的索引值,Int1表示解译对应加工码的所需数据,POS1表示对应刀塔TR1的路径轨迹Path1的轨迹位置点,Runtime1表示期间终点参数,用以描述刀塔TR1在单节的执行期间的期间终点,Oldtime1表示期间起点参数,用以描述刀塔TR1在单节的执行期间的期间起点。针对刀塔TR2的路径轨迹的变量数据包括[Path2,Int2,POS2,Runtime2,Oldtime2],其中Path2表示路径轨迹的索引值,Int2表示解译对应加工码的所需数据,POS2表示对应刀塔TR2的路径轨迹Path2的轨迹位置点,Runtime2表示期间终点参数,用以描述刀塔TR2在单节的执行期间的期间终点,Oldtime2表示期间起点参数,用以描述刀塔TR2在单节的执行期间的期间起点。针对刀塔TR3的路径轨迹的变量数据包括[Path3,Int3,POS3,Runtime3,Oldtime3],其中Path3表示路径轨迹的索引值,Int3表示解译对应加工码的所需数据,POS3表示对应刀塔TR3的路径轨迹Path3的轨迹位置点,Runtime3表示期间终点参数,用以描述刀塔TR3在单节的执行期间的期间终点,Oldtime3表示期间起点参数,用以描述刀塔TR3在单节的执行期间的期间起点。
在开始模拟前,快速模拟单元108可例如对时间起点参数Oldtime1、Oldtime2、Oldtime3作初始化,例如设定Oldtime1=0,Oldtime2=0、Oldtime3=0。
在步骤S606,快速模拟单元108根据路径轨迹的变量数据开始解译并进行快速模拟,以执行单节。
在步骤S608,快速模拟单元108更新各路径轨迹的数据。路径轨迹数据的更新端视目前碰撞检测的执行单节进度而定。此步骤将配合图6C节点B’至节点C’的流程作说明。
在步骤S610,快速模拟单元108根据运动参数组估计刀塔执行单节所需时间,以取得Runtime1、Runtime2、Runtime3的值。
在步骤S612,快速模拟单元108设定安全距离。当任两路径轨迹的轨迹位置点之间的距离小于安全距离,则该两轨迹位置点将被视为可能发生碰撞的位置点。安全距离的大小可以是任意的,端视实际的应用而定。步骤S612后将接续节点A’。
接着请参考图6B。进入节点A’后,在步骤S614,防碰撞单元110比较Runtime1、Runtime2、Runtime3,以搜寻三者中时间长度最短者。若Runtime1最短,在步骤S616A,防碰撞单元110将比较在[Oldtime1,Runtime1]此段执行期间内,三路径轨迹中的任两者的轨迹位置点是否相距小于安全距离。若Runtime2最短,在步骤S616B,防碰撞单元110将比较在[Oldtime2,Runtime2]此段执行期间内,三路径轨迹中的任两者的轨迹位置点是否相距小于安全距离。若Runtime3最短,在步骤S616C,防碰撞单元110将比较在[Oldtime3,Runtime3]此段执行期间内,三路径轨迹中的任两者的轨迹位置点是否相距小于安全距离。
换句话说,防碰撞单元110会比较执行期间[Oldtime1,Runtime1]、[Oldtime2,Runtime2]、[Oldtime3,Runtime3]三者的时间长度,并从中选出时间长度较短者(最短执行期间),以判断该最短执行期间内,任两路径轨迹的轨迹位置点是否相距小于安全距离。
若步骤S616A、S616B或S616C的判断结果为“是”,表示就空间上来说,路径轨迹有发生碰撞的可能,流程将接续步骤S618作时间上的碰撞检测。若步骤S616A、S616B或S616C的判断结果为“否”,表示路径轨迹之间并不会发生碰撞,流程将接续节点B’以更新路径轨迹的数据。关于流程的节点B’的相关细节将配合图6C作说明。
在步骤S618,防碰撞单元110估计对应刀塔分别运行至可能发生碰撞的轨迹位置点的时间点。举例来说,若路径轨迹Path1的第一轨迹位置点POS1与路径轨迹Path3的第三轨迹点POS3距离小于安全距离,防碰撞单元110将根据对应的运动参数组,估计刀塔TR1运行至第一轨迹位置点POS1的第一时间点,以及刀塔TR3运行至第三轨迹位置点POS3的第三时间点。
在步骤S620,防碰撞单元110判断各时间点之间的时间差距值是否小于容忍值。举例来说,防碰撞单元110会判断第一时间点与第三时间点之间的时间差距值是否小于容忍值。若是,表示两刀塔TR1、TR3在运行时会发生碰撞,步骤S622中防碰撞单元110将产生碰撞警告,以指示操作员相关的碰撞信息。若步骤S622的判断结果为“否”,表示三路径轨迹间无发生碰撞的可能,流程将接续节点B’以更新路径轨迹的数据。
接着请参考图6C。流程进入节点B’之后,步骤S624中快速模拟单元108将比较Runtime2、Runtime1、Runtime3,以搜寻三者中时间长度最短者。若Runtime1最短,表示执行期间[Oldtime1,Runtime1]为最短执行期间,步骤S626A中快速模拟单元108将设定各个执行期间的期间起点参数为Runtime1,也就是设定Oldtime1=Runtime1、Oldtime2=Runtime1、Oldtime3=Runtime1,并在步骤S628A中更新路径轨迹Path1所需数据。
若Runtime2最短,表示执行期间[Oldtime2,Runtime2]为最短执行期间,步骤S626B中快速模拟单元108将设定各个执行期间的期间起点参数为Runtime2,也就是设定Oldtime1=Runtime2、Oldtime2=Runtime2、Oldtime3=Runtime2,并在步骤S628B中更新路径轨迹Path2所需数据。
类似地,若Runtime3最短,表示执行期间[Oldtime3,Runtime3]为最短执行期间,步骤S626C中快速模拟单元108将设定各个执行期间的期间起点参数为Runtime3,也就是设定Oldtime1=Runtime3、Oldtime2=Runtime3、Oldtime3=Runtime3,并在步骤S628C中更新路径轨迹Path3所需数据。
举例来说,假设刀塔TR1在第一单节运行路径轨迹Path1的执行期间为0~5秒(Oldtime1=0;Runtime1=5)、刀塔TR2在该第一单节运行路径轨迹Path2的执行期间为0~10秒(Oldtime2=0;Runtime2=10)、刀塔TR3在该第一单节运行路径轨迹Path3的执行期间为0~12秒(Oldtime3=0;Runtime3=12),在完成针对0~5秒此一最短执行期间的碰撞检测后,快速模拟单元108将针对刀塔TR1载入第二单节的加工码,并据以更新路径轨迹的数据。假设刀塔TR1在第二单节运行路径轨迹Path1的执行期间为5~15秒,则快速模拟单元108将设定[Oldtime1=5,Runtime1=15]、[Oldtime2=5,Runtime2=10]、[Oldtime3=5,Runtime2=12],以针对路径轨迹Path1、以及路径轨迹Path2、Path3在第一单节尚未执行碰撞检测的部分作碰撞检测。
步骤S628A、S628B、S628C完成后将接续节点C’,以返回图6A的步骤S608。
图7绘示三路径轨迹的安全距离检测的示意图。根据图7的模拟,刀塔TR1在单节开始时的期间起点参数为Oldtime1,且刀塔TR1以速度值V1、加速度值A1沿路径轨迹Path1运行至单节结束时的期间终点参数为Runtime1;刀塔TR2在单节开始时的期间起点参数为Oldtime2,且刀塔TR2以速度V2、加速度A2沿路径轨迹Path2运行至单节结束时的期间终点参数为Runtime2。刀塔TR3在单节开始时的期间起点参数为Oldtime3,且刀塔TR3以速度V3、加速度A3沿路径轨迹Path3运行至单节结束时的期间终点参数为Runtime3。换句话说,路径轨迹Path1的执行期间为[Oldtime1,Runtime1],路径轨迹Path2的执行期间为[Oldtime2,Runtime2],路径轨迹Path3的执行期间为[Oldtime3,Runtime3]。
假设刀塔TR2、TR3在时间Runtime1时的轨迹位置点分别为POS2r1、POS3r1,防碰撞单元110将检测路径轨迹Path1、Path2、Path分别在执行期间[Oldtime1,Runtime1]、[Oldtime2,Runtime1]、[Oldtime3,Runtime1]内的轨迹位置点之间的距离是否小于安全距离,如图中附加斜线的线段所示。
图8绘示双路径轨迹的碰撞检测的示意图。根据图8的模拟,路径轨迹Path1的轨迹位置点POS1与路径轨迹Path2的轨迹位置点POS2之间的距离d12小于安全距离,且路径轨迹Path1的轨迹位置点POS1’与路径轨迹Path3的轨迹位置点POS3之间的距离d13亦小于安全距离,防碰撞单元110将进一步计算对应轨迹位置点POS1、POS2、POS1’以及POS3的时间信息。
举例来说,轨迹位置点POS1、POS2、POS1’以及POS3的时间信息可利用式一求得,其中刀塔TR1运行至轨迹位置点POS1的时间点T1可通过式二求得,刀塔TR2运行至轨迹位置点POS2的时间点T2可通过式二求得。刀塔TR1运行至轨迹位置点POS1’的时间点T1’则可通过下式求得:
刀塔TR3运行至轨迹位置点POS3的时间点T3则可通过下式求得:
防碰撞单元110可比较时间点T1、T2的值,若时间点T1、T2两者相差小于容忍值,则表示路径轨迹Path1与Path2发生碰撞,防碰撞单元110将发出碰撞警告。防碰撞单元110亦会比较时间点T1’与T3的值,若时间点T1’与T3两者相差小于容忍值,则表示路径轨迹Path1与Path3发生碰撞,防碰撞单元110亦将发出碰撞警告
图9绘示依据本发明一实施例的双路径轨迹的防碰撞示意图。根据图9的实施例,欲进行碰撞检测的两个路径轨迹Path1’、Path2’中,路径轨迹Path1’为直线轨迹,路径轨迹Path2’为曲线轨迹。针对路径轨迹Path1’,其对应刀塔的期间起点参数为Oldtime1’,且该对应刀塔以速度值V1’、加速度值A1’沿路径轨迹Path1’运行至单节结束时的期间终点参数为Runtime1’;针对路径轨迹Path2’,其对应刀塔的期间起点参数为Oldtime2’,且该对应刀塔以速度V2’、加速度A2’沿路径轨迹Path2’运行至单节结束时的期间终点参数为Runtime2’。
防碰撞单元110可根据各路径轨迹的运动参数组(如V1’、A1’、V2’、A2’)以及描述路径轨迹Path1’的直线运动函数以及描述路径轨迹Path2’的曲线运动函数,以类似图4~5、或是图7~8的判断机制,判断两路径轨迹Path1’、Path2’是否发生碰撞。
图10绘示依据本发明另一实施例的双路径轨迹的防碰撞示意图。
根据图10的实施例,欲进行碰撞检测的两个路径轨迹Path1”、Path2”皆为曲线轨迹。针对路径轨迹Path1”,其对应刀塔的期间起点参数为Oldtime1”,且该对应刀塔以速度值V1”、加速度值A1”沿路径轨迹Path1”运行至单节结束时的期间终点参数为Runtime1”;针对路径轨迹Path2”,其对应刀塔的期间起点参数为Oldtime2”,且该对应刀塔以速度V2”、加速度A2”沿路径轨迹Path2”运行至单节结束时的期间终点参数为Runtime2”。
防碰撞单元110可根据各路径轨迹的运动参数组(如V1”、A1”、V2”、A2”)以及分别描述路径轨迹Path1”、Path2”的曲线运动函数,以类似图4~5、或是图7~8的判断机制,判断两路径轨迹Path1”、Path2”是否发生碰撞。
本发明的机床防碰撞方法也可实作为一或多个软件程序,此一或多个软件程序可存储于非暂态计算机可读存储介质(non-transitory computer readable storagemedium),例如硬盘、光盘、随身碟、存储器,当处理电路从非暂态计算机可读存储介质载入软件程序时,可执行本发明的机床防碰撞方法。然本领域技术人员应了解到,在本发明实施例中所提及的方法步骤,除特别叙明其顺序者外,均可依实际需要调整其前后顺序,甚至可同时或部分同时执行。
综上所述,本发明实施例提出一种机床防碰撞方法及应用其的系统,可利用快速模拟的方式,先检测多个刀塔的路径轨迹之间的距离是否小于安全距离,若是,则进一步计算刀塔运行至可能发生碰撞的轨迹位置点的时间,以评估刀塔间是否会发生碰撞。通过此方式,可以在快速模拟时即对多刀塔的路径轨迹进行碰撞检测,其执行单节的速度远比实际插值或空跑的速度快,进而节省使用者正式加工前的准备时间。
虽然本发明已以实施例公开如上,然其并非用以限定本发明。本发明所属领域技术人员在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视所附权利要求书界定范围为准。
Claims (20)
1.一种机床防碰撞方法,适用于具备多个刀塔的机床,包括以下步骤并由处理电路执行:
(a)载入对应这些刀塔在第一单节操作的多条加工码;
(b)模拟对应这些加工码的多个路径轨迹;
(c)估计这些刀塔运行这些路径轨迹的多个执行期间;
(d)自这些执行期间中选取时间长度最短的最短执行期间;
(e)判断在该最短执行期间内,这些路径轨迹中的任两者的轨迹位置点的间距是否小于安全距离;
(f)当这些路径轨迹中的第一路径轨迹中的第一轨迹位置点与第二路径轨迹中的第二轨迹位置点的距离小于该安全距离时,估计这些刀塔中的第一刀塔运行至该第一轨迹位置点的第一时间点以及这些刀塔中的第二刀塔运行至该第二轨迹位置点的第二时间点;以及
(g)判断该第一时间点与该第二时间点之间的时间差距值是否低于容忍值;以及
(h)当该第一时间点与该第二时间点之间的时间差距值低于该容忍值时,产生碰撞警告。
2.如权利要求1所述的机床防碰撞方法,还包括:
设定多个期间起点参数,这些期间起点参数分别指示这些执行期间的期间起点;
取得这些刀塔运行这些路径轨迹所采用的多个运动参数组;
根据这些运动参数组,估计这些刀塔运行这些路径轨迹的所需时间,以设定多个期间终点参数,这些期间终点参数分别指示这些执行期间的期间终点。
3.如权利要求2所述的机床防碰撞方法,其中该最短执行期间的期间起点由这些期间起点参数中的特定期间起点参数来定义,该最短执行期间的期间终点由这些期间起点参数中的特定期间终点参数来定义,该机床防碰撞方法还包括:
当步骤(e)或步骤(g)的判断结果为否,执行轨迹数据更新程序以更新这些执行期间,该轨迹数据更新程序包括:
将这些执行期间的这些期间起点参数更新成该特定期间终点参数;
载入另一加工码,该另一加工码用以描述这些刀塔中的特定刀塔在第二单节的操作,且该特定刀塔完成该第一单节的所需时间对应该最短执行期间;
估计该特定刀塔完成该第二单节的操作的所需时间,并据以更新该特定期间终点参数。
4.如权利要求3所述的机床防碰撞方法,还包括:
将该最短执行期间更新成这些更新后执行期间中时间长度最短者。
5.如权利要求2所述的机床防碰撞方法,其中该第一路径轨迹的模拟运行采用这些运动参数组中的第一运动参数组,该第二路径轨迹的模拟运行采用这些运动参数组中的第二运动参数组,该机床防碰撞方法还包括:
在该最短执行期间内,根据该第一运动参数组估计该第一路径轨迹在多个检查时间间隔的多个轨迹位置点;
在该最短执行期间内,根据该第二运动参数组估计该第二路径轨迹在这些检查时间间隔的多个轨迹位置点;以及
比较该第一路径轨迹的这些轨迹位置点与该第二路径轨迹的这些轨迹位置之间的距离,以分别自该第一路径轨迹的这些轨迹位置点以及该第二路径轨迹的这些轨迹位置点检测该第一轨迹位置点以及该第二轨迹位置点。
6.如权利要求5所述的机床防碰撞方法,其中各该检查时间间隔为200毫秒。
7.如权利要求2所述的机床防碰撞方法,其中各该运动参数组包括至少一速度参数以及至少一加速度参数。
8.如权利要求2所述的机床防碰撞方法,还包括:
根据该第一轨迹位置点的位置、该第一刀塔运行该第一路径轨迹所采用的第一运动参数组、以及描述该第一路径轨迹的第一运动学函数,估计该第一时间点;以及
根据该第二轨迹位置点的位置、该第二刀塔运行该第二路径轨迹所采用的第二运动参数组、以及描述该第二路径轨迹的第二运动学函数,估计该第二时间点。
9.如权利要求8所述的机床防碰撞方法,其中该第一运动学函数以及该第二运动学函数包括一直线运动函数以及曲线运动函数至少其一。
10.如权利要求1所述的机床防碰撞方法,其中这些路径轨迹分别表示这些刀塔的刀尖点轨迹。
11.一种防碰撞系统,适用于具备多个刀塔的机床,包括:
存储器;以及
处理电路,耦接该存储器,用以执行以下步骤:
(a)载入对应多个刀塔在第一单节操作的多条加工码;
(b)模拟对应这些加工码的多个路径轨迹;
(c)估计这些刀塔运行这些路径轨迹的多个执行期间;
(d)自这些执行期间中选取时间长度最短的最短执行期间;
(e)判断在该最短执行期间内,这些路径轨迹中的任两者的轨迹位置点的间距是否小于安全距离;
(f)当这些路径轨迹中的第一路径轨迹中的第一轨迹位置点与第二路径轨迹中的第二轨迹位置点的距离小于该安全距离时,估计这些刀塔中的第一刀塔运行至该第一轨迹位置点的第一时间点以及这些刀塔中的第二刀塔运行至该第二轨迹位置点的第二时间点;
(g)判断该第一时间点与该第二时间点之间的时间差距值是否低于容忍值;以及
(h)当该第一时间点与该第二时间点之间的时间差距值低于该容忍值时,产生碰撞警告。
12.如权利要求11所述的防碰撞系统,其中该处理电路还用以:
设定多个期间起点参数,这些期间起点参数分别指示这些执行期间的期间起点;
取得这些刀塔运行这些路径轨迹所采用的多个运动参数组;
根据这些运动参数组,估计这些刀塔运行这些路径轨迹的所需时间,以设定多个期间终点参数,这些期间终点参数分别指示这些执行期间的期间终点。
13.如权利要求12所述的防碰撞系统,其中该最短执行期间的期间起点由这些期间起点参数中的特定期间起点参数来定义,该最短执行期间的期间终点由这些期间起点参数中的特定期间终点参数来定义,该处理电路还用以:
当步骤(e)或步骤(g)的判断结果为否,执行轨迹数据更新程序以更新这些执行期间,该轨迹数据更新程序包括:
将这些执行期间的这些期间起点参数更新成该特定期间终点参数;
载入另一加工码,该另一加工码用以描述这些刀塔中的特定刀塔在第二单节的操作,且该特定刀塔完成该第一单节的所需时间对应该最短执行期间;
估计该特定刀塔完成该第二单节的操作的所需时间,并据以更新该特定期间终点参数。
14.如权利要求13所述的防碰撞系统,其中该处理电路还用以:
将该最短执行期间更新成这些更新后执行期间中时间长度最短者。
15.如权利要求12所述的防碰撞系统,其中该第一路径轨迹的模拟运行采用这些运动参数组中的第一运动参数组,该第二路径轨迹的模拟运行采用这些运动参数组中的第二运动参数组,该处理电路还用以:
在该最短执行期间内,根据该第一运动参数组估计该第一路径轨迹在多个检查时间间隔的多个轨迹位置点;
在该最短执行期间内,根据该第二运动参数组估计该第二路径轨迹在这些检查时间间隔的多个轨迹位置点;以及
比较该第一路径轨迹的这些轨迹位置点与该第二路径轨迹的这些轨迹位置之间的距离,以分别自该第一路径轨迹的这些轨迹位置点以及该第二路径轨迹的这些轨迹位置点检测该第一轨迹位置点以及该第二轨迹位置点。
16.如权利要求15所述的防碰撞系统,其中各该检查时间间隔为200毫秒。
17.如权利要求12所述的防碰撞系统,其中各该运动参数组包括至少一速度参数以及至少一加速度参数。
18.如权利要求11所述的防碰撞系统,其中该处理电路还用以:
根据该第一轨迹位置点的位置以及描述该第一路径轨迹的第一运动学函数,估计该第一时间点;以及
根据该第二轨迹位置点的位置以及描述该第二路径轨迹的第二运动学函数,估计该第二时间点。
19.如权利要求18所述的防碰撞系统,其中该第一运动学函数以及该第二运动学函数包括一直线运动函数以及曲线运动函数至少其一。
20.如权利要求11所述的防碰撞系统,其中这些路径轨迹分别表示这些刀塔的刀尖点轨迹。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107101285A TWI656942B (zh) | 2018-01-12 | 2018-01-12 | 工具機防碰撞方法及工具機防碰撞系統 |
TW107101285 | 2018-01-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110026820A CN110026820A (zh) | 2019-07-19 |
CN110026820B true CN110026820B (zh) | 2020-04-10 |
Family
ID=66996098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810094410.5A Active CN110026820B (zh) | 2018-01-12 | 2018-01-31 | 机床防碰撞方法及应用其的系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10509391B2 (zh) |
CN (1) | CN110026820B (zh) |
TW (1) | TWI656942B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6346256B2 (ja) * | 2016-12-14 | 2018-06-20 | ファナック株式会社 | 数値制御装置 |
EP3838504A1 (de) * | 2019-12-19 | 2021-06-23 | FRONIUS INTERNATIONAL GmbH | Verfahren und vorrichtung zur überwachung eines bearbeitungsprozesses und bearbeitungsmaschine mit einer solchen vorrichtung |
US11537998B2 (en) * | 2020-05-21 | 2022-12-27 | HUDDL Inc. | Capturing meeting snippets |
CN111958589A (zh) * | 2020-07-06 | 2020-11-20 | 佛山科学技术学院 | 一种多机械臂轨迹防碰撞方法及系统 |
TWI744147B (zh) * | 2020-12-24 | 2021-10-21 | 財團法人工業技術研究院 | 可動式機械的動作測試方法與控制主機 |
TWI806405B (zh) | 2022-02-08 | 2023-06-21 | 財團法人工業技術研究院 | 加工路徑的閃避方法及加工系統 |
CN117057055A (zh) * | 2023-07-19 | 2023-11-14 | 湖北工业大学 | 基于虚拟运行轨迹的缆机碰撞概率演化分析方法 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4489377A (en) * | 1982-09-07 | 1984-12-18 | General Electric Company | Method for preventing machine component interference |
JPS60247421A (ja) * | 1984-05-24 | 1985-12-07 | Fanuc Ltd | タレツトパンチプレス用数値制御におけるワ−クホルダと工具との衝突防止装置 |
DE3633639A1 (de) * | 1986-10-03 | 1988-04-14 | Index Werke Kg Hahn & Tessky | Drehmaschine |
DE4443669A1 (de) * | 1994-12-08 | 1996-06-13 | Index Werke Kg Hahn & Tessky | Verfahren und Einrichtung zum Überwachen der Bewegung eines Maschinenbauteils |
US6678582B2 (en) | 2002-05-30 | 2004-01-13 | Kuka Roboter Gmbh | Method and control device for avoiding collisions between cooperating robots |
AT502286B1 (de) | 2004-09-15 | 2008-09-15 | Wfl Millturn Tech Gmbh & Co Kg | Verfahren zur kollisionsvermeidung |
DE102004062163A1 (de) * | 2004-12-20 | 2006-06-22 | Dr. Johannes Heidenhain Gmbh | Verfahren zur Ermittlung einer möglichen Kollision mindestens zweier zueinander beweglicher Objekte |
CN1796046B (zh) | 2004-12-30 | 2010-05-26 | 鸿富锦精密工业(深圳)有限公司 | 数控机床碰撞自动侦测系统 |
TWI330303B (en) | 2004-12-31 | 2010-09-11 | Hon Hai Prec Ind Co Ltd | Detector device of numerical control machine |
DE502005008569D1 (de) * | 2005-07-28 | 2009-12-31 | Klingelnberg Gmbh | Universalmaschine zur weichbearbeitung von kegelrädern und entsprechendes verfahren |
CN102016733B (zh) * | 2008-04-22 | 2013-06-12 | 三菱电机株式会社 | 数控方法及其装置 |
TWI372321B (en) * | 2008-08-15 | 2012-09-11 | Ren An Information Technology Co Ltd | Sychronous dynamic interference verification method for cnc machines and computer program product of the same |
WO2012101790A1 (ja) * | 2011-01-26 | 2012-08-02 | 三菱電機株式会社 | 数値制御装置 |
DE102011003374A1 (de) * | 2011-01-31 | 2012-08-02 | Deckel Maho Pfronten Gmbh | Werkzeugmaschine mit einer Vorrichtung zur Kollisionsüberwachung |
EP2515193B1 (de) * | 2011-04-18 | 2014-04-02 | Siemens Aktiengesellschaft | Verfahren zur Vermeidung einer ungewollten Kollision zwischen einem Werkzeug und einem Werkstück bei einer Werkzeugmaschine |
US10109097B2 (en) | 2011-08-01 | 2018-10-23 | Autodesk, Inc. | Dynamic collision avoidance for crowd simulation over structured paths that intersect at waypoints |
ITMI20111868A1 (it) | 2011-10-13 | 2013-04-14 | Gima Spa | Procedimento per il controllo dell'interferenza e/o collisione d'organi meccanici e sistema connesso |
JP6175249B2 (ja) * | 2013-02-26 | 2017-08-02 | 三菱重工工作機械株式会社 | 工作機械の衝突回避システム |
US9465380B2 (en) | 2013-08-02 | 2016-10-11 | ICAM Research Corporation | Device, system and methods for automatic development and optimization of positioning paths for multi-axis numerically controlled machining |
US9216745B2 (en) | 2013-09-16 | 2015-12-22 | Disney Enterprises, Inc. | Shared control of semi-autonomous vehicles including collision avoidance in multi-agent scenarios |
CH709347A2 (de) * | 2014-03-10 | 2015-09-15 | Tecan Trading Ag | Verfahren zur Wegfindung in einem automatisierten Handhabungssystem sowie Handhabungssystem mit entsprechendem Kontrollmodul zur Wegfindung. |
CN104589346A (zh) | 2014-12-15 | 2015-05-06 | 广西科技大学 | 一种适用于机械手的无碰撞路径规划方法 |
EP3292060A4 (en) | 2015-05-04 | 2019-05-08 | Mitutoyo Corporation | INSPECTION PROGRAM EDITING ENVIRONMENT PROVIDING USER-DEFINED COLLISION AVOIDANCE VOLUMES |
CN106127845B (zh) * | 2016-06-28 | 2019-01-25 | 同济大学 | 车铣复合加工中心在线防碰撞系统部件模型位姿变换方法 |
CN107486858A (zh) * | 2017-08-08 | 2017-12-19 | 浙江工业大学 | 基于RoboDK的多机械臂协同离线编程方法 |
-
2018
- 2018-01-12 TW TW107101285A patent/TWI656942B/zh active
- 2018-01-31 CN CN201810094410.5A patent/CN110026820B/zh active Active
- 2018-05-03 US US15/970,666 patent/US10509391B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10509391B2 (en) | 2019-12-17 |
US20190219984A1 (en) | 2019-07-18 |
TWI656942B (zh) | 2019-04-21 |
CN110026820A (zh) | 2019-07-19 |
TW201929997A (zh) | 2019-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110026820B (zh) | 机床防碰撞方法及应用其的系统 | |
JP5139230B2 (ja) | 数値制御装置における衝突防止装置 | |
JP4056542B2 (ja) | ロボットのオフライン教示装置 | |
CN103076762B (zh) | 基于htm40100车铣复合加工中心三维在线防碰撞方法 | |
CN104793560A (zh) | 用于生成轨迹的方法和系统 | |
US20090326892A1 (en) | System and method for constructing virtual nc controllers for machine tool simulation | |
US20130325166A1 (en) | Numerical control device including display part for displaying information for evaluation of machining process | |
JP5339999B2 (ja) | 干渉チェック機能を有する数値制御装置 | |
US20120283862A1 (en) | Processing path generation method and device for same | |
US10048675B2 (en) | Numerical controller performing 3-dimensional interference check corresponding to feedrate change | |
US20160026167A1 (en) | Machining time estimating device for estimating machining time after modification of nc program | |
JP3853752B2 (ja) | シミュレーション装置 | |
CN103135446A (zh) | 一种多轴数控机床刀具运动轨迹验证装置 | |
CN105045206A (zh) | 工具轨迹显示装置 | |
CN108472808B (zh) | 多个机器人的同步 | |
US9511948B2 (en) | Control unit for centralizing control by grouping a plurality of paths | |
CN107850885B (zh) | 用于非生产时间运动的轨迹确定方法 | |
CN104865898A (zh) | 数控机床中处理微小路径段的方法及设备 | |
TWI716849B (zh) | 預先檢測加工路徑碰撞方法及系統 | |
TWI554856B (zh) | 加工程式轉換裝置及方法 | |
US10421187B2 (en) | Robot program modification device, robot control device, robot simulation device, and robot program modification method | |
JP2008071015A (ja) | 数値制御装置 | |
JP2008046913A (ja) | 工作機械の数値制御装置 | |
US11194313B2 (en) | Numerical controller | |
KR102294975B1 (ko) | 공구 경로 생성 장치 및 공구 경로 생성 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |