CN111857115A - 预先检测加工路径碰撞方法及*** - Google Patents

预先检测加工路径碰撞方法及*** Download PDF

Info

Publication number
CN111857115A
CN111857115A CN201910374465.6A CN201910374465A CN111857115A CN 111857115 A CN111857115 A CN 111857115A CN 201910374465 A CN201910374465 A CN 201910374465A CN 111857115 A CN111857115 A CN 111857115A
Authority
CN
China
Prior art keywords
distance
information
section
collision
section information
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.)
Granted
Application number
CN201910374465.6A
Other languages
English (en)
Other versions
CN111857115B (zh
Inventor
林书宇
何铭浚
黄炬凯
麦朝创
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial Technology Research Institute ITRI
Original Assignee
Industrial Technology Research Institute ITRI
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industrial Technology Research Institute ITRI filed Critical Industrial Technology Research Institute ITRI
Publication of CN111857115A publication Critical patent/CN111857115A/zh
Application granted granted Critical
Publication of CN111857115B publication Critical patent/CN111857115B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/406Numerical 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/4061Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/19Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40476Collision, planning for collision free path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50174Machine tool y-1, y-2, z, A-axis, table x, c-axis

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)

Abstract

本发明提供一种预先检测加工路径碰撞方法及***,该方法包括以下步骤:读取加工程序;解译加工程序中的多个单节信息;在各单节信息执行插值之前,计算欲执行插值的单节信息所对应的下一个单节信息的安全距离;找寻满足累加距离大于或等于安全距离所需的各单节信息的数量;以及依据累加距离中的各单节信息进行防碰撞检测。

Description

预先检测加工路径碰撞方法及***
技术领域
本发明涉及一种预先检测工具机加工路径碰撞的方法及使用此方法的***。
背景技术
计算机数值控制(Computer Numerical Control,CNC)工具机具有可编程与精密加工等优势,可根据工件所需的加工程序、路径或精度撰写CNC加工程序。CNC加工程序是以单节输入指令的方式来设计工件的加工形状及其路径,然而,当工件的形状趋于复杂时,单节输入CNC程序的方式势必花费较多的时间。因此,加工业者会通过使用加工辅助软件(CAD、CAM)规划加工路径,以供CNC工具机对工件进行加工。
有鉴于现今工具机多轴复合化趋势,工具机的应用越来越多样化,规划产生的路径也更加复杂,难以用人工检测方法检知碰撞。现有技术针对防碰撞检测至少包含:外部计算机模拟检测、空跑运动检测与线上检测。外部计算机模拟检测的方式需要事先描绘3D模型,视情况需要配合如镜头、传感器等外部仪器,须耗费过多***资源进行外部仪器数据与控制器的数据传输。空跑运动检测的方式是在不架刀具的情况下,仅跑加工路径的一种模拟演练流程,但此方式用于加工前,无法作为实际加工运行的防碰撞检测,且需要先通过插值计算得到插值命令,以执行加工路径,故须额外耗费***资源去执行空跑运动检测。线上检测的方式通过虚拟工具机运动模型与控制器通信接口,实施线上实时碰撞检测,碰撞发生前即可让机台停止运动,此方式不仅需额外建立3D模型,并在每一个时间间隔就要执行计算,不仅增加***计算资源,也无法确保检视到碰撞发生前,让工具机停止运动时的减速距离是否仍会让实际机台发生碰撞。
因此,如何改良并能提供一种“预先检测加工路径碰撞方法及***”来避免上述所遭遇到的问题,是业界所待解决的课题。
发明内容
本发明提供一种预先检测加工路径碰撞方法及***,能以较少的***资源进行防碰撞检测,并提前预知是否产生非预期的实际加工动作,避免使用者使用错误的路径规划而导致机台或工件损伤,进而影响加工稼动率。
本发明的一实施例提出一种预先检测加工路径碰撞方法,适用于一工具机,工具机包括一控制器,控制器包含一加工单元,预先检测加工路径碰撞方法包括以下步骤:读取加工程序;解译加工程序中的多个单节信息;在各单节信息执行插值之前,计算欲执行插值的单节信息所对应的下一个单节信息的一安全距离,其中由***响应时间以及各单节信息对应的一停止距离计算得到安全距离;找寻满足一累加距离大于或等于安全距离所需的各单节信息的数量,其中累加距离依序计算并累加各单节信息对应的停止距离;以及依据累加距离中的各单节信息进行一防碰撞检测。
本发明的另一实施例提出一种预先检测加工路径碰撞***,适用于一工具机,该工具机包括一控制器,控制器包含一加工单元。预先检测加工路径碰撞***包括一演算单元以及一碰撞检测单元。演算单元用以接收控制器解译后的加工程序中的多个单节信息。在各单节信息执行插值之前,演算单元计算欲执行插值的单节信息所对应的下一个单节信息的一安全距离,安全距离由一***响应时间以及各单节信息对应的一停止距离计算而得。演算单元找寻满足一累加距离大于或等于安全距离所需的各单节信息的数量,累加距离依序计算并累加各单节信息对应的停止距离。碰撞检测单元连接演算单元,碰撞检测单元依据累加距离中的各单节信息进行一防碰撞检测。
基于上述,在本发明的预先检测加工路径碰撞方法及***中,是在每个单节信息被执行插值之前,仅在单节信息开始前在合理的安全距离内检测碰撞,故可以较少的***资源进行防碰撞检测,并且上述合理的安全距离计算下一个单节信息开始时的一安全距离,故能事先预知是否产生非预期的实际加工动作,避免使用者使用错误的路径规划而导致机台或工件损伤,进而影响加工稼动率。
再者,本发明利用加工程序的单节信息进行防碰撞检测,在每个单节信息被执行插值之前,根据下一个单节信息的速度,提前送出符合安全距离的单节信息的数量,给予进行3D模拟检测判断碰撞,不须进行插值运算,相较于以插值运算而言,可省下约40%以上的CPU效能,大幅降低加工***的运算量。
为让本发明能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1为本发明的预先检测加工路径碰撞***的示意图。
图2为本发明的预先检测加工路径碰撞方法一实施例的流程图。
图3为本发明的计算安全距离的流程图。
图4为本发明的找寻满足累加距离大于或等于安全距离的流程图。
图5为本发明的防碰撞检测的流程图。
图6A为本发明的单节信息的代码对应的NC命令点一实施例的示意图。
图6B为现有技术利用插值点在NC命令点之间进行插值一实施例的示意图。
图6C为图6B的3D绘图路径中直线实施例的示意图。
图6D为本发明的3D绘图路径中直线实施例的示意图。
图7A为现有技术利用插值点的3D绘图路径中圆弧实施例的示意图。
图7B为本发明的绘图路径中圆弧实施例的示意图。
图8A为现有技术利用插值点的3D绘图路径中曲线实施例的示意图。
图8B为本发明的绘图路径中曲线实施例的示意图。
图9A与图9B为本发明的碰撞检测单元一实施例的示意图。
图10为本发明的通过防碰撞检测后的流程图。
【符号说明】
10 第一物件
20 第二物件
50 工具机
52 控制器
521 加工单元
5211 插值器
100 预先检测加工路径碰撞***
110 响应时间估计单元
120 演算单元
130 碰撞检测单元
L1 第一方向
L2 第二方向
PA1~PA9 NC命令点
PB1~PBn 插值点
PC1~PC10 采样点
S1~S6 3D绘图路径
S100 预先检测加工路径碰撞方法
S110~S150 步骤
S132~S134 步骤
S142~S144 步骤
S152~S156 步骤
S160~S192 步骤
具体实施方式
以下结合附图和实施例,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此限制本发明的保护范围。
图1为本发明的预先检测加工路径碰撞***的示意图。请参阅图1,工具机50例如为各式数控工具机,上述数控工具机根据加工方式不同包括铣床、车床、搪床、磨床、钻床等。工具机50所包括的控制器52可通过硬件(例如集成电路、CPU)、软件(例如处理器执行的程序指令)或其组合来实现。控制器52包含一加工单元521,控制器52读取一加工程序以控制一加工单元521。加工单元521包括工具机50中的主轴马达、伺服马达、驱动器、变压器、电磁阀等,端视实际加工方式与工具机种类而有所变更。
在本实施例中,加工程序经解译以转换成控制器52可读取与理解的命令格式,即将加工程序被解译为多个单节(Block)信息,以取得加工程序的对应的加工信息。详细而言,加工程序由一系列单节信息组成,每一顺序步骤的一群指令称为单节,换句话说,这些单节信息为加工程序的程序代码,单节信息包括行号、主轴转速、加工进给率、速度、加速度等这些代码,这些代码的对应于加工单元521的至少一个元件。加工程序除可由G Code(如:G00、G01)组成外,也可由M Code、S Code、T Code、N code、F code组成。举例而言,G01表示进给移动(Move at feed rate),Z44.5表示Z轴方向44.5单位(例如英寸),F200表示进给速度为200单位(例如毫米/分钟)。
在本实施例中,加工单元521包含一插值器(Interpolator)5211。加工单元521接收控制器52内经解译后的加工程序中的多个单节信息后,利用插值器5211对加工程序中的多个单节信息进行插值,接着输出插值命令至加工单元521中的主轴马达、伺服马达、驱动器,以驱动上述主轴马达、伺服马达、驱动器来对工件进行加工的动作。
在本实施例中,预先检测加工路径碰撞***100适用于一工具机50,预先检测加工路径碰撞***100包括一响应时间估计单元110、一演算单元120以及一碰撞检测单元130,其中碰撞检测单元130连接演算单元120,演算单元120连接响应时间估计单元110。响应时间估计单元110用以估计一***响应时间并传输至演算单元120,响应时间估计单元110估计碰撞检测单元130发出一警报信号至加工单元521的信号传输时间,以作为***响应时间,换句话说,***响应时间随预先检测加工路径碰撞***100传输效能的改变而进行估计。在其他实施例中,预先检测加工路径碰撞***100可直接利用控制器52内部的计时器,估计碰撞检测单元130发出一警报信号至加工单元521的信号传输时间,并提供至响应时间估计单元110作为参考依据。
需说明的是,在本实施例中,预先检测加工路径碰撞***100可在近端或远端连接工具机50的控制器52。举例而言,预先检测加工路径碰撞***100例如为包含在控制器52内的一处理器用以执行各种运算,且也可以被实施为微控制单元(microcontroller)、微处理器(microprocessor)、数字信号处理器(digital signal processor)、特殊应用集成电路(application specific integrated circuit,ASIC)或一逻辑电路;或者,预先检测加工路径碰撞***100是在工具机50内部的一处理器,并连接控制器52;又或者,预先检测加工路径碰撞***100例如是云端处理器,通过网络连线与工具机50的控制器52相互传输信息。
在本实施例中,演算单元120可通过硬件(例如集成电路、CPU)、软件(例如处理器执行的程序指令)或其组合来实现。演算单元120用以接收经控制器52解译后的加工程序中的多个单节信息,并在各单节信息执行插值之前,计算欲执行插值的单节信息所对应的下一个单节信息的一安全距离,并将满足一累加距离大于或等于安全距离所需的各单节信息的数量,输送至碰撞检测单元130,其中累加距离依序计算并累加各单节信息对应的停止距离,安全距离由***响应时间以及各单节信息对应的一停止距离计算得到,停止距离则为各单节信息的速度值减速到零所需的距离,并可由***响应时间与对应的单节信息的速度值得到延迟距离,将延迟距离加上停止距离即可得到安全距离,换句话说,在此所述安全距离并非给定一固定距离,因安全距离的长度会随当下对应的单节信息的停止距离的不同而调整。
在本实施例中,碰撞检测单元130接收演算单元120所传输的满足累加距离大于或等于安全距离所需的各单节信息的数量。碰撞检测单元130依据累加距离中的各单节信息进行一防碰撞检测,若有干涉,即碰撞发生,碰撞检测单元130发出一警报信号至加工单元521,使加工单元521停止加工或暂停加工;若无碰撞发生,将此单节信息交由插值器5211执行插值,接着输出插值命令至加工单元521中的主轴马达、伺服马达、驱动器,以驱动上述主轴马达、伺服马达、驱动器来对工件进行加工的动作。
在此配置之下,本实施例的预先检测加工路径碰撞***100是在每个单节信息被执行插值之前,仅在单节信息开始前在合理的安全距离内检测碰撞,故可以较少的***资源进行防碰撞检测,并且合理的安全距离计算下一个单节信息开始时的一安全距离,故能事先预知是否产生非预期的实际加工动作,避免使用者使用错误的路径规划而导致机台或工件损伤,进而影响加工稼动率。
图2为本发明的预先检测加工路径碰撞方法一实施例的流程图。请参阅图2。在本实施例中,预先检测加工路径碰撞方法S100例如可通过图1的预先检测加工路径碰撞***100去执行,预先检测加工路径碰撞方法S100举例是由工具机50的控制器52所执行,控制器52用以读取加工程序并提供***响应时间至加工单元521。
本实施例的预先检测加工路径碰撞方法S100包括以下步骤S110至步骤S150。进行步骤S110,读取加工程序。工具机50的控制器52读取加工程序。所述读取加工程序的步骤中,包括以下步骤:估计控制器52与加工单元521之间的信号传输时间,以作为***响应时间。响应时间估计单元110用以估计一***响应时间至演算单元120,响应时间估计单元110估计碰撞检测单元130发出上述警报信号至加工单元521的信号传输时间,以作为***响应时间,换句话说,***响应时间随预先检测加工路径碰撞***100传输效能的改变而进行估计。在其他实施例中,预先检测加工路径碰撞***100可直接利用控制器52内部的计时器,估计碰撞检测单元130发出警报信号至加工单元521的信号传输时间,并提供至响应时间估计单元110作为参考依据。
接着,进行步骤S120,解译加工程序中的多个单节信息。加工程序经解译以转换成控制器52可读取与理解的命令格式,即将加工程序被解译为多个单节(Block)信息,以取得加工程序的对应的加工信息。
接着,进行步骤S130,在各单节信息执行插值之前,计算欲执行插值的单节信息所对应的下一个单节信息的一安全距离。以图1为例,演算单元120接收控制器52解译后的加工程序中的多个单节信息,并在各单节信息执行插值之前,计算欲执行插值的单节信息所对应的下一个单节信息的一安全距离,其中由一***响应时间以及各单节信息对应的一停止距离计算以得到安全距离。
详细而言,请参阅图3,图3为本发明的计算安全距离的流程图。所述计算欲执行插值的单节信息所对应的下一个单节信息的安全距离的步骤S130中,包括以下步骤S132至步骤S134。进行步骤S132,计算单节信息所对应的下一个单节信息的速度值减速到零的停止距离。举例而言,倘若目前欲执行插值的单节信息为第三节的单节信息,故依据第四节的单节信息的起始点的加工进给率、速度、加速度等参数条件,演算单元120计算在第四节的单节信息当下运行速度值减速到零的停止距离,而每一个单节信息的停止距离会依据当下运行速度值而有所不同。此外,基于两传输接口之间产生的信号沟通延迟或网络传输延迟所产生的***响应时间,接着进行步骤S134,将一延迟距离加上停止距离,即可得到安全距离,其中延迟距离由***响应时间与各单节信息对应的速度值而得,换句话说,在此所述安全距离并非给定一固定距离,因安全距离的长度会随当下对应的单节信息的停止距离的不同而调整。
请复参阅图2,在步骤S130计算欲执行插值的单节信息所对应的下一个单节信息的安全距离之后,接着进行步骤S140,找寻满足一累加距离大于或等于安全距离所需的各单节信息的数量。以图1为例,演算单元120能依据当下每一个单节信息的运行速度值来计算对应的停止距离,并能累加这些单节信息的停止距离为一累加距离。
详细而言,请参阅图4,图4为本发明的找寻满足累加距离大于或等于安全距离的流程图。所述找寻满足累加距离大于或等于安全距离所需的各单节信息的数量的步骤S140中,包括以下步骤S142至步骤S144。进行步骤S142,依据多个单节信息的次序,由欲执行插值的单节信息所对应的下一个单节信息开始,依序计算并累加各单节信息对应的该停止距离,得到累加距离。接着,进行步骤S144,在依序计算并累加各停止距离的过程中,判断累加距离是否大于或等于安全距离。
以图1为例,倘若目前欲执行插值的单节信息为第三节的单节信息,故演算单元120计算在第四节的单节信息当下运行速度值减速到零的停止距离为5mm,而延迟距离为5mm,故此时安全距离为10mm。而第四节的单节信息例如为两个轴向运动,X轴的移动量为3mm,Z轴的移动量为4mm,故第四节的单节信息的移动量为5mm,作为目前的累加距离。演算单元120判断目前的累加距离5mm小于安全距离10mm,故返回步骤S142,继续下一个单节信息的运算,即若累加距离小于安全距离,会继续计算并累加各单节信息对应的停止距离,直到满足累加距离大于或等于安全距离为止。以此例即需要继续计算第五节的单节信息的停止距离,而演算单元120计算第五节的单节信息的停止距离为4mm,演算单元120将第四节的单节信息的停止距离与第五节的单节信息的停止距离累加后得到累加距离为9mm,演算单元120判断目前的累加距离9mm仍小于安全距离10mm,故返回步骤S142,再继续计算第六节的单节信息的停止距离为0.5mm,演算单元120将第四节的单节信息的停止距离、第五节的单节信息的停止距离与第六节的单节信息的停止距离累加后得到累加距离为9.5mm,演算单元120判断目前的累加距离9.5mm仍小于安全距离10mm,故返回步骤S142,再次继续计算第七节的单节信息的停止距离为0.5mm,演算单元120将第四节的单节信息的停止距离、第五节的单节信息的停止距离、第六节的单节信息的停止距离与第七节的单节信息的停止距离累加后得到累加距离为10mm,其累加距离等于安全距离,则演算单元120判断不再回到步骤S142的计算过程,由此可知,本实施例的步骤S144是依序计算并累加各停止距离的过程中,直到判断累加距离大于或等于安全距离,才继续进行步骤S150。
请复参阅图2,在本实施例中,进行步骤S150,依据累加距离中的各单节信息进行一防碰撞检测。举例而言,演算单元120将满足累加距离大于或等于安全距离的第四节的单节信息至第七节的单节信息传输至碰撞检测单元130进行防碰撞检测。详细而言,请参阅图5,图5为本发明的防碰撞检测的流程图。所述依据累加距离中的各单节信息进行防碰撞检测的步骤S150中,包括以下步骤S152至步骤S156。进行步骤S152,依据各单节信息的多个代码,绘制各代码所对应加工单元之一加工路径。单节信息包括行号、主轴转速、加工进给率、速度、加速度等这些代码,各代码包含一直线、一圆弧或一曲线的命令格式。
举例而言,如图6A所示,单节信息的代码转换成对应的三个NC命令点PA1~PA3。如图6B所示,一般而言,单节信息经由插值器5211进行插值,即在前述三个NC命令点PA1~PA3进行插值,故在NC命令点PA1~PA3之间会有诸多个插值点PB1~PBn。在插值点PB1~PBn产生的路径中,现有技术的人机接口端与控制器会在一固定周期中传输上述插值点PB1~PBn的坐标,以绘制一所需路径。由于在一固定周期中采样,并非所有插值点PB1~PBn的坐标均会被采样,如图6C所示,绘制一直线的3D绘图路径,采样点PC1~PC4所绘制的3D绘图路径S1与实际加工路径有所落差。反观本实施例,本实施例的碰撞检测单元130是完全根据单节信息的代码作3D绘图。如图6D所示,绘制一直线的绘制路径,便将NC命令点PA1与NC命令点PA2彼此以直线相连接,NC命令点PA2与NC命令点PA3彼此以直线相连接,形成3D绘图路径S2的直线的加工路径,不会有3D绘图路径不符合实际加工路径的状况,以确保后续防碰撞检测的模拟加工路径的真实性,换句话说,本发明不须经由插值,避免3D绘图路径失真,而降低模拟加工路径与实际加工路径的落差所导致的未检测到碰撞的状况发生。
同理,如图7A所示,绘制一圆弧的3D绘图路径,单节信息的代码转换成对应的三个NC命令点PA4~PA6,单节信息经由插值器5211进行插值,即会在前述三个NC命令点PA4~PA6进行插值,形成有诸多个插值点PB1~PBn,在插值点PB1~PBn产生的路径中,现有技术的人机接口端与控制器会在一固定周期中传输上述插值点PB1~PBn的坐标,来绘制一圆弧的3D绘图路径,但如图7A所示,采样点PC5~PC7并未完全对应至插值点PB1~PBn的坐标,使得采样点PC5~PC7所绘制的3D绘图路径S3并未形成圆弧,其与实际加工路径有所落差。反观本实施例,本实施例的碰撞检测单元130是完全根据单节信息的代码作3D绘图。如图7B所示,绘制一圆弧的绘制路径,便将NC命令点PA4与NC命令点PA5彼此以圆弧相连接,NC命令点PA5与NC命令点PA6彼此以圆弧相连接,形成3D绘图路径S4的圆弧的加工路径,不会有3D绘图路径不符合实际加工路径的状况。
同理,如图8A所示,绘制一曲线的3D绘图路径,单节信息的代码转换成对应的三个NC命令点PA7~PA9,单一单节信息经由插值器5211进行插值,即会在前述三个NC命令点PA7~PA9进行插值,形成有诸多个插值点PB1~PBn,在插值点PB1~PBn产生的路径中,现有技术的人机接口端与控制器会在一固定周期中传输上述插值点PB1~PBn的坐标,来绘制一曲线的3D绘图路径,但如图8A所示,采样点PC8~PC10并未完全对应至插值点PB1~PBn的坐标,使得采样点PC8~PC10所绘制的3D绘图路径S5并未形成曲线,其与实际加工路径有所落差。反观本实施例,本实施例的碰撞检测单元130是完全根据单节信息的代码作3D绘图。如图8B所示,绘制一曲线的绘制路径,便将NC命令点PA7与NC命令点PA8彼此以曲线相连接,NC命令点PA8与NC命令点PA9彼此以曲线相连接,形成3D绘图路径S6的真实曲线的加工路径,不会有3D绘图路径不符合实际加工路径的状况。
在绘制各代码所对应加工单元的加工路径的步骤S152之后,进行步骤S154,如图5所示,依据加工路径所对应至加工单元521中多个物件,检测多个物件在移动过程中,多个物件的边界是否相互干涉。图1的碰撞检测单元130依据加工路径所对应至加工单元521中多个物件,将这些物件的形状视为一个物件形状边界。如图9A所示,第一物件10依据加工路径会由第一方向L1移动,第二物件20依据加工路径会由第二方向L2移动,其中第一方向L1不同于第二方向L2,例如第一方向L1垂直于第二方向L2。图1的碰撞检测单元130检测第一物件10与第二物件20于移动过程中,第一物件10的边界与第二物件20的边界是否相互干涉。若第一物件10的边界与第二物件20的边界重叠或接触时,碰撞检测单元130即视为第一物件10与第二物件20依据目前加工路经移动时将相互干涉,视为碰撞。如图9B所示,第一物件10的边界与第二物件20的边界接触,即视为碰撞。若干涉,进行步骤S156,发出一警报信号至加工单元521。以图1为例,此时碰撞检测单元130发出一警报信号至加工单元521,使加工单元521停止加工或暂停加工。需说明的是,为了说明上的便利和明确,图9A与图9B中各元件的厚度或尺寸,以夸张或省略或概略的方式表示,且各元件的尺寸并未完全为其实际的尺寸。
反之,若前述步骤S154中,多个物件的边界并未相互干涉,即碰撞检测单元130检测多个物件的边界并未有碰撞发生,即进行A阶段,请参阅图10,图10为本发明的通过防碰撞检测后的流程图。进行步骤S160,若通过防碰撞检测,将欲执行插值的单节信息进行插值,得到一插值命令。以图1为例,利用插值器5211对加工程序中的多个单节信息进行插值。接着,进行步骤S170,输出对应单节信息的插值命令至加工单元521。以图1为例,控制器52输出插值命令至加工单元521中的主轴马达、伺服马达、驱动器,以驱动上述主轴马达、伺服马达、驱动器来对工件进行加工的动作。接着,进行步骤S180,判断单节信息对应的加工路径是否结束。若未结束,回到步骤S170,继续输出对应单节信息的插值命令;反之,若结束,进行步骤S190,判断加工程序是否运行完成,即判断加工程序的所有单节信息是否已运行完成。若判断未运行完成,则进入B阶段,即图2的步骤S120,继续解译加工程序中的多个单节信息;反之,若运行完成,进行步骤S192,控制器52输出一停止加工命令至加工单元521。
综上所述,在本发明的预先检测加工路径碰撞方法及***中,是在每个单节信息被执行插值之前,仅在单节信息开始前在合理的安全距离内检测碰撞,故可以较少的***资源进行防碰撞检测,并且上述合理的安全距离计算下一个单节信息开始时的一安全距离,故能事先预知是否产生非预期的实际加工动作,避免使用者使用错误的路径规划而导致机台或工件损伤,进而影响加工稼动率。
再者,相较于现有技术利用插值点进行采样所产生的误差,本发明是根据单节信息的代码作3D绘图,不会有3D绘图路径不符合实际加工路径的状况,以确保后续防碰撞检测的模拟加工路径的真实性,换句话说,本发明不须经由插值,避免3D绘图路径失真,而降低模拟加工路径与实际加工路径的落差导致的未检测到碰撞的状况发生。
另外,本发明利用加工程序的单节信息进行防碰撞检测,在在每个单节信息被执行插值之前,根据下一个单节信息的速度,提前送出符合安全距离的单节信息的数量,给予进行3D模拟检测判断碰撞,不须进行插值运算,相较于以插值运算而言,可省下约40%以上的CPU效能,大幅降低加工***的运算量。
虽然本发明已以实施例公开如上,然其并非用以限定本发明,本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附权利要求书界定范围为准。

Claims (12)

1.一种预先检测加工路径碰撞方法,适用于工具机,该工具机包括控制器,该控制器包含加工单元,该预先检测加工路径碰撞方法包括以下步骤:
读取加工程序;
解译该加工程序中的多个单节信息;
在各该单节信息执行插值之前,计算欲执行插值的该单节信息所对应的下一个单节信息的安全距离,其中由***响应时间以及各该单节信息对应的停止距离计算得到该安全距离;
找寻满足累加距离大于或等于该安全距离所需的各该单节信息的数量,其中该累加距离依序计算并累加各该单节信息对应的该停止距离;以及
依据该累加距离中的各该单节信息进行防碰撞检测。
2.如权利要求1所述的预先检测加工路径碰撞方法,其中所述计算欲执行插值的该单节信息所对应的该下一个单节信息的该安全距离的步骤中,包括以下步骤:
计算该单节信息所对应的该下一个单节信息的速度值减速到零的该停止距离;以及
将延迟距离加上该停止距离,得到该安全距离,其中该延迟距离由该***响应时间与各该单节信息对应的该速度值而得。
3.如权利要求1所述的预先检测加工路径碰撞方法,其中所述找寻满足该累加距离大于或等于该安全距离所需的各该单节信息的数量的步骤中,包括以下步骤:
依据该多个单节信息的次序,由欲执行插值的该单节信息所对应的该下一个单节信息开始,依序计算并累加各该单节信息对应的该停止距离,得到该累加距离;以及
在依序计算并累加各该停止距离的过程中,判断该累加距离是否大于或等于该安全距离。
4.如权利要求3所述的预先检测加工路径碰撞方法,其中所述判断该累加距离是否大于或等于该安全距离的步骤中,包括以下步骤:
若该累加距离小于该安全距离,继续计算并累加各该单节信息对应的该停止距离,直到满足该累加距离大于或等于该安全距离为止。
5.如权利要求1所述的预先检测加工路径碰撞方法,其中所述依据该累加距离中的各该单节信息进行该防碰撞检测的步骤中,包括以下步骤:
依据各该单节信息的多个代码,绘制各该代码所对应该加工单元的加工路径;
依据该加工路径所对应至该加工单元中多个物件,检测该多个物件在移动过程中,该多个物件的边界是否相互干涉;
若干涉,发出警报信号至该加工单元。
6.如权利要求5所述的预先检测加工路径碰撞方法,其中各该代码包含一直线、圆弧或曲线的命令格式。
7.如权利要求5所述的预先检测加工路径碰撞方法,其中所述读取该加工程序的步骤中,包括以下步骤:
估计用以发出该警报信号至该加工单元的信号传输时间,以作为该***响应时间。
8.如权利要求1所述的预先检测加工路径碰撞方法,其中所述依据该累加距离中的各该单节信息进行该防碰撞检测的步骤之后,包括以下步骤:
若通过该防碰撞检测,将欲执行插值的该单节信息进行插值,得到插值命令;以及
输出对应该单节信息的该插值命令至该加工单元;
判断该单节信息对应的该加工路径是否结束;
若结束,判断该加工程序是否运行完成;以及
若运行完成,输出停止加工命令至该加工单元。
9.如权利要求8所述的预先检测加工路径碰撞方法,其中所述判断该单节信息对应的该加工路径是否结束的步骤中,包括以下步骤:
若未结束,继续输出对应该单节信息的该插值命令。
10.如权利要求8所述的预先检测加工路径碰撞方法,其中所述判断该加工程序是否运行完成的步骤中,包括以下步骤:
若未运行完成,继续解译该加工程序中的该多个单节信息。
11.一种预先检测加工路径碰撞***,适用于工具机,该工具机包括控制器,该控制器包含加工单元,该预先检测加工路径碰撞***包括:
演算单元,用以接收该控制器解译后之一加工程序中的多个单节信息,其中:
在各该单节信息执行插值之前,该演算单元计算欲执行插值的该单节信息所对应的下一个单节信息的安全距离,该安全距离由***响应时间以及各该单节信息对应的停止距离计算而得;及
该演算单元找寻满足累加距离大于或等于该安全距离所需的各该单节信息的数量,该累加距离依序计算并累加各该单节信息对应的该停止距离;以及
碰撞检测单元,连接该演算单元,该碰撞检测单元依据该累加距离中的各该单节信息进行防碰撞检测。
12.如权利要求11所述的预先检测加工路径碰撞***,还包括:
响应时间估计单元,连接该演算单元,该响应时间估计单元用以估计该***响应时间并传输至该演算单元。
CN201910374465.6A 2019-04-10 2019-05-07 预先检测加工路径碰撞方法及*** Active CN111857115B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW108112435A TWI716849B (zh) 2019-04-10 2019-04-10 預先檢測加工路徑碰撞方法及系統
TW108112435 2019-04-10

Publications (2)

Publication Number Publication Date
CN111857115A true CN111857115A (zh) 2020-10-30
CN111857115B CN111857115B (zh) 2024-05-31

Family

ID=72747668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910374465.6A Active CN111857115B (zh) 2019-04-10 2019-05-07 预先检测加工路径碰撞方法及***

Country Status (3)

Country Link
US (1) US11407112B2 (zh)
CN (1) CN111857115B (zh)
TW (1) TWI716849B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6838028B2 (ja) * 2018-10-31 2021-03-03 ファナック株式会社 自動プログラム修正装置および自動プログラム修正方法
TWI806405B (zh) 2022-02-08 2023-06-21 財團法人工業技術研究院 加工路徑的閃避方法及加工系統

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5304906A (en) * 1989-12-26 1994-04-19 Fanuc Ltd. Collision detecting method using an observer
US5726896A (en) * 1995-08-30 1998-03-10 University Of Utah Research Foundation Method and system for spline interpolation, and their use in CNC
US20110035044A1 (en) * 2008-04-22 2011-02-10 Mitsubishi Electric Corporation Numerical control method and apparatus therefor
CN103792881A (zh) * 2014-03-06 2014-05-14 苏州新代数控设备有限公司 用于切削工具机的控制设备
CN106383493A (zh) * 2016-09-30 2017-02-08 同济大学 一种数控机床的实时防碰撞方法
CN106610277A (zh) * 2015-10-23 2017-05-03 财团法人工业技术研究院 自动角度测量装置及其方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07314378A (ja) 1994-05-19 1995-12-05 Toyota Autom Loom Works Ltd ロボットの衝突防止方法及びその衝突防止装置
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
CN1796046B (zh) 2004-12-30 2010-05-26 鸿富锦精密工业(深圳)有限公司 数控机床碰撞自动侦测***
JP4298770B2 (ja) 2007-08-28 2009-07-22 ファナック株式会社 干渉チェック機能を備えた数値制御装置
JP5139230B2 (ja) * 2008-10-06 2013-02-06 オークマ株式会社 数値制御装置における衝突防止装置
JP5073065B2 (ja) 2009-01-15 2012-11-14 三菱電機株式会社 衝突判定装置および衝突判定プログラム
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
CN103128661B (zh) 2011-12-02 2015-12-02 浙江大学 一种面向无心内圆磨床的在线防碰撞监控装置
CN202317881U (zh) 2011-12-02 2012-07-11 浙江大学 一种面向无心内圆磨床的在线防碰撞监控装置
US9292626B2 (en) * 2012-12-10 2016-03-22 Palo Alto Research Center Incorporated Computer numerical control (CNC) machining tool and method for controlling a CNC machining tool
TW201445268A (zh) 2013-05-29 2014-12-01 Victor Taichung Machinery Works Co Ltd 工具機碰撞安全防護系統及其監控方法
CN104238433B (zh) 2013-06-07 2017-04-19 台中精机厂股份有限公司 工具机碰撞安全防护***及其监控方法
EP2853354B1 (de) 2013-09-27 2018-05-16 Siemens Aktiengesellschaft Lageregelung mit Kollisionsvermeidung und Anpassung eines Maschinenmodells an die reale Maschine
CN104680587B (zh) * 2014-12-23 2018-01-16 山东丽鹏股份有限公司 一种激光雕刻机五轴联动加工方法
EP3040797B1 (en) * 2014-12-31 2020-10-28 Dassault Systèmes Simulating the machining of a workpiece
TWM530201U (zh) 2016-06-24 2016-10-11 Taiwan Takisawa Technology Co Ltd 防撞模擬系統
CN106202767A (zh) * 2016-07-18 2016-12-07 西安交通大学 一种数控机床实时防碰撞方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5304906A (en) * 1989-12-26 1994-04-19 Fanuc Ltd. Collision detecting method using an observer
US5726896A (en) * 1995-08-30 1998-03-10 University Of Utah Research Foundation Method and system for spline interpolation, and their use in CNC
US20110035044A1 (en) * 2008-04-22 2011-02-10 Mitsubishi Electric Corporation Numerical control method and apparatus therefor
CN103792881A (zh) * 2014-03-06 2014-05-14 苏州新代数控设备有限公司 用于切削工具机的控制设备
CN106610277A (zh) * 2015-10-23 2017-05-03 财团法人工业技术研究院 自动角度测量装置及其方法
CN106383493A (zh) * 2016-09-30 2017-02-08 同济大学 一种数控机床的实时防碰撞方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
余丹;闫光荣;范庆香;丁涛;徐翔宇;: "五轴后置处理转角选解优化及奇异区域处理方法的研究", 图学学报, no. 05 *

Also Published As

Publication number Publication date
TW202038111A (zh) 2020-10-16
US20200324413A1 (en) 2020-10-15
US11407112B2 (en) 2022-08-09
CN111857115B (zh) 2024-05-31
TWI716849B (zh) 2021-01-21

Similar Documents

Publication Publication Date Title
EP2629163B1 (en) Control device, control system and control method
CN103699056A (zh) 高速高精度数控加工的小线段实时平滑过渡插补方法
EP0606649B1 (en) Numerically controlled machine tool and method to re-execute a machining program after it has been stopped
JP6140130B2 (ja) 工具及び被加工物を保護する数値制御装置
JP4955371B2 (ja) 数値制御システム
CN111857115B (zh) 预先检测加工路径碰撞方法及***
CN110026820B (zh) 机床防碰撞方法及应用其的***
EP2098931A2 (en) Numerical controller controlling five-axis processing machine
US9417619B2 (en) Numerical controller having function of re-machining thread cutting cycle
CN103728923A (zh) 一种高效高平稳的数控***柔性加减速控制方法
US10048675B2 (en) Numerical controller performing 3-dimensional interference check corresponding to feedrate change
Martinov et al. Specialized numerical control system for five-axis planing and milling center
CN106647636A (zh) 进行基于曲率和曲率变化量的速度控制的数值控制装置
TWI405092B (zh) 數值控制系統之路徑軌跡點計算裝置及其計算方法
JP4126494B2 (ja) 工作機械の干渉監視システム
JP3428804B2 (ja) 数値制御装置における同期制御方法および同期制御装置
US11256233B2 (en) Numerical controller
US10976717B2 (en) Interference monitoring device
CN116034322A (zh) 机床的运行方法、计算机程序产品、控制单元和机床
CN116795044B (zh) 速度规划方法、装置、机床控制***和存储介质
JP3614683B2 (ja) 数値制御システム
Sang et al. Development of a smart computer numerical control system
JP2002091526A (ja) 数値制御装置
Li et al. Driving force constraint corner smoothing method for high-speed machine tools
Qiu et al. Simulation and experimental verification of linear interpolation cutter path error produced by NC servo characteristics of machining center

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