CN108227631A - 数值控制装置以及数据结构 - Google Patents

数值控制装置以及数据结构 Download PDF

Info

Publication number
CN108227631A
CN108227631A CN201711318383.7A CN201711318383A CN108227631A CN 108227631 A CN108227631 A CN 108227631A CN 201711318383 A CN201711318383 A CN 201711318383A CN 108227631 A CN108227631 A CN 108227631A
Authority
CN
China
Prior art keywords
control point
coordinate system
mechanical structure
node
control device
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
CN201711318383.7A
Other languages
English (en)
Other versions
CN108227631B (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.)
Fanuc Corp
Original Assignee
Fanuc Corp
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
Priority claimed from JP2017233786A external-priority patent/JP6549683B2/ja
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of CN108227631A publication Critical patent/CN108227631A/zh
Application granted granted Critical
Publication of CN108227631B publication Critical patent/CN108227631B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/41Numerical 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 interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation
    • 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/408Numerical 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 data handling or data format, e.g. reading, buffering or conversion of data
    • G05B19/4086Coordinate conversions; Other special calculations
    • 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
    • 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/41Numerical 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 interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • 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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4141Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by a controller or microprocessor per axis
    • 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/34Director, elements to supervisory
    • G05B2219/34293Image table
    • 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/34Director, elements to supervisory
    • G05B2219/34348Coordination of operations, different machines, robots execute different tasks

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Numerical Control (AREA)

Abstract

本发明提供一种数值控制装置以及数据结构,能够自由且容易地将机械结构上的各种位置指定为控制点,并且能够容易地设定机械结构上的各种部位的坐标系。数值控制装置通过以结构要素为节点的图表形式来表现并保持控制对象的机械结构,其具备:控制点坐标系插入部,其对机械结构的图表插入控制点和坐标系;识别符分配部,其对插入的控制点和坐标系分配识别符;控制点坐标系指定部,通过识别符指定1组以上的控制点和坐标系;指令值判断部,根据控制点坐标系指定部指定的控制点和坐标系,判断在程序中指令的1个以上的指令值与针对哪个控制点的哪个坐标系上的坐标值相对应;移动指令部,其指令控制点的移动,使得控制点的坐标值成为指令值。

Description

数值控制装置以及数据结构
技术领域
本发明涉及一种通过图表形式来表达并保存控制对象的机械结构的数值控制装置以及该图表形式的数据结构。
背景技术
通常,在控制机床或机器人的控制装置中,在程序上通过使用指令值,对机床或机器人中包含的成为控制对象的控制点进行控制。例如,在机床中,通常将工具根部位置作为控制点。另一方面,在使用工具长度修正功能或执行工具前端点控制的情况下,将工具前端位置作为控制点。并且,执行控制,使得这些控制点移动到通过指令值指定的坐标值。
在具有冗余的自由度的机械结构中存在以下的情况:以避免干扰等为目的,在保持或不保持工具前端或工具根部的位置以及姿势的状态下,想要将工具前端或工具根部以外的点作为控制点进行移动。例如,如图1A以及图1B所示,存在以下的情况:将节点501、节点502、节点503、节点504按该顺序连结,构成通过旋转轴进行驱动的控制对象的机械500,并且希望将机械500的端点以外的节点例如节点503作为控制点。
但是,当前无法将节点503那样的工具前端或工具根部以外的节点作为控制点。此时,虽然能够对各旋转轴直接进行指令,但是难以求出使期望的控制点到达期望的位置那样的各轴指令值。具体而言,如图1A所示,即使想要一同保持工具前端的X坐标以及Z坐标来避免干扰,也难以使节点503在期望的动作方向上移动。另外,如图1B所示,在想要保持工具前端的X坐标和Z坐标中的某一方来避免干扰时,也难以计算指令值。
另外,在机床或机器人中,在程序上对控制点位置进行指令,但是数值控制装置能够通过指定指令值的坐标系,使得指定的控制点向指定的坐标系上的期望的指令位置移动。例如,在3轴加工中,多为将机械原点上的机械坐标系或工作台上的工件坐标系指定为坐标系。另外,在同时4轴加工或同时5轴加工中,多为如图2A那样将随着旋转轴而转动的工件坐标系指定为坐标系。
在机械上,还考虑除了这些以外的坐标系。例如,与图2A示出的坐标系不同,考虑了图2B所示的“随B轴转动但不随C轴转动,并且一同加入了B轴和C轴的偏置的坐标系(仅忽略C轴的旋转的坐标系)”。该坐标系在一边使C轴以恒定速度旋转一边进行的车削加工中,由于指令易于生成且容易理解,因而特别有用。
但是,一般而言,在数值控制装置中,虽然能够在使工件随动地进行旋转的一连串的轴系统上将坐标系设定于其末端,但是无法在其途中设定坐标系。当想要在途中设定坐标系时,需要重新设定机械结构使得该途中成为末端,因而耗费时间和精力。
关于这点,专利文献1公开了一种涉及在具有工作台旋转轴的机床中容易变更工具长度的数值控制装置的技术。但是,专利文献1的技术虽然定义了工作台上的坐标系,但是未定义工作台下的坐标系。另外,控制对象也被限定为工具前端点。
专利文献1:日本特开2003-195917号公报
发明内容
因此,本发明的目的在于提供一种能够自由且容易地将机械结构上的各种位置指定为控制点的数值控制装置以及提供一种表现了该控制对象的机械结构的图表形式的数据结构。
(1)本发明所涉及的数值控制装置(例如,后述的数值控制装置100)通过以结构要素作为节点的图表形式来表达并保持控制对象的机械结构,其具备:控制点坐标系指定部(例如,后述的控制点坐标系指定部114),其对于所述机械结构的图表,通过识别符指定1组以上的控制点以及坐标系;指令值判断部(例如,后述的指令值判断部115),其根据由所述控制点坐标系指定部指定的所述控制点和所述坐标系,判断在程序中指令的1个以上的指令值与针对哪个控制点的哪个坐标系上的坐标值相对应;移动指令部(例如,后述的移动指令部116),其指令所述控制点的移动,使得所述控制点的所述坐标值成为所述指令值。
(2)在(1)记载的数值控制装置中,具备控制点坐标系插入部(例如,后述的控制点坐标系插入部112),其对所述机械结构的图表插入所述控制点以及所述坐标系;识别符分配部(例如,后述的识别符分配部113),其对所述插入的所述控制点以及所述坐标系分配所述识别符。
(3)在(2)记载的数值控制装置中,所述控制点坐标系插入部(例如,后述的控制点坐标系插入部112)可以对于所述机械结构的图表的各节点,将控制点以及坐标系作为节点进行插入。
(4)在(2)记载的数值控制装置中,所述控制点坐标系插入部(例如,后述的控制点坐标系插入部112)可以对于所述机械结构的图表的各节点,作为信息使各节点具有控制点以及坐标系。
(5)在(1)~(4)记载的数值控制装置中,所述机械结构的图表可以包含将多个轴汇总为1个的单元来作为结构要素。
(6)在(5)记载的数值控制装置中,可以通过对用户记述的脚本进行解析来定义所述单元,并且可以包含定义的所述单元来作为所述机械结构的图表的结构要素。
(7)在(1)~(6)记载的数值控制装置中,所述坐标系可以消除特定节点的影响。
(8)在(1)~(7)记载的数值控制装置中,所述控制点可以消除特定节点的影响。
(9)在(1)~(8)记载的数值控制装置中,可以使用任意的地址来作为所述指令值,该任意的地址为与所述机械结构的图表中包含的轴名称无关地针对为每个含义预先定义的识别符分配的任意的地址。
(10)在(9)记载的数值控制装置中,所述含义可以包含所述控制点的位置、所述控制点的姿势以及决定所述姿势的旋转轴的角度位置。
(11)在(1)~(10)记载的数值控制装置中,作为所述指令值,可以直接指定特定节点的坐标值。
(12)在(1)~(11)记载的数值控制装置中,所述移动指令部(例如,后述的移动指令部116)可以具备:联立方程式生成部(例如,后述的联立方程式生成部161),其根据指定的所述坐标系和所述机械结构的图表求出所述指令值的第1坐标转换式,并根据指定的所述控制点和所述机械结构的图表求出所述控制点的第2坐标转换式,生成用于定义第1坐标转换式与第2坐标转换式相等的多元多次联立方程式;联立方程式求解部(例如,后述的联立方程式求解部162),其求出所述多元多次联立方程式的解;移动脉冲生成部(例如,后述的移动脉冲生成部163),使用所述联立方程式求解部生成的解,生成用于所述移动指令的移动脉冲。
(13)在(12)记载的数值控制装置中,所述联立方程式生成部(例如,后述的联立方程式生成部161)可以通过直接指定特定节点的坐标值来减少联立式。
(14)本发明的数据结构是表现数值控制装置(例如,后述的数值控制装置100)的控制对象的机械结构,将结构要素作为节点的图表形式的数据结构,对于上述机械结构的图表,将控制点以及坐标系作为节点插入,并分别对所述控制点以及所述坐标系分配识别符。
根据本发明,能够自由且容易地将机械结构上的各种位置指定为控制点,并且能够容易地设定机械结构上的各种部位的坐标系。
附图说明
图1A表示现有的机械结构中的期望的控制点的期望的动作。
图1B表示现有的机械结构中的期望的控制点的期望的动作。
图2A表示车削加工等中使用的通常的工作台的轴的例子。
图2B表示车削加工等中使用的通常的工作台的轴的例子。
图3表示本发明的实施方式的数值控制装置的结构。
图4是表示本发明的实施方式的数值控制装置的CPU的功能的框图。
图5是表示本发明的实施方式的移动控制部的CPU的功能的框图。
图6表示本发明的实施方式的成为生成机械结构树的对象的机械的例子。
图7表示本发明的实施方式的机械结构树的生成方法。
图8表示本发明的实施方式的机械结构树的生成方法。
图9表示在本发明的实施方式中生成的机械结构树的生成动作。
图10A表示本发明的实施方式的机械结构的亲子关系的例子。
图10B表示本发明的实施方式的机械结构的亲子关系的例子。
图11A表示本发明的实施方式的机械结构中包含的单元的例子。
图11B表示本发明的实施方式的机械结构中包含的单元的例子。
图11C表示本发明的实施方式的机械结构中包含的单元的例子。
图12表示本发明的实施方式的机械结构的例子。
图13A表示本发明的实施方式的机械结构中包含的单元的定义方法。
图13B表示本发明的实施方式的机械结构中包含的单元的例子。
图14A表示本发明的实施方式中的GUI(图形用户接口)的例子。
图14B表示本发明的实施方式中的GUI(图形用户接口)的例子。
图14C表示本发明的实施方式中的GUI(图形用户接口)的例子。
图14D表示本发明的实施方式中的GUI(图形用户接口)的例子。
图15表示通常的针对设置在工作台的工件的指令的例子。
图16表示本发明的实施方式的数值控制装置发出的指令的例子。
图17A表示成为机械结构树的生成对象的机械的例子。
图17B表示与成为机械结构树的生成对象的机械相对应的机械结构树的例子。
图18表示在本发明的实施方式中在机械的各节点插入了坐标系以及控制点的例子。
图19表示本发明的实施方式的插入了坐标系以及控制点的机械结构树的例子。
图20A表示在本发明的实施方式中在各节点插入偏置以及姿势矩阵的机械的例子。
图20B表示在本发明的实施方式中在机械的各节点插入了偏置以及姿势矩阵的例子。
图21表示在本发明的实施方式中,在机械结构树中插入控制点的生成动作。
图22表示本发明的实施方式的插入了坐标系以及控制点的机械结构树的例子。
图23表示本实施方式的机械结构树的例子。
图24表示本发明的实施方式的相对于机械坐标系的机械原点的控制点位置矢量以及控制点姿势矩阵。
图25表示本发明的实施方式的相对于机械坐标系的机械原点的指令值位置矢量以及指令值姿势矩阵。
图26表示本发明的实施方式的程序的例子。
图27表示本发明的实施方式的程序的例子。
图28表示本发明的实施方式的程序的例子。
图29表示在本发明的实施方式中在生成移动脉冲时使用的信息的例子。
图30表示本发明的实施方式的程序的例子。
图31表示本发明的实施方式的程序的例子。
图32表示在本发明的实施方式中生成移动脉冲时使用的信息的例子。
图33表示在本发明的实施方式中生成移动脉冲时使用的信息的例子。
图34表示在本发明的实施方式中生成移动脉冲时使用的信息的例子。
图35表示本发明的实施方式的程序的例子。
附图标记
11CPU;100数值控制装置;111图表生成部;112控制点坐标系插入部;113识别符分配部;114控制点坐标系指定部;115指令值判断部;116移动指令部;161联立方程式生成部;162联立方程式求解部;163移动脉冲生成部。
具体实施方式
以下,参照图3~图33详细叙述本发明的实施方式。首先,对本发明的实施方式的数值控制装置的结构进行说明。
〔1.发明的结构〕
在图3中表示本发明的实施方式的数值控制装置100的结构例。数值控制装置100主要具备:CPU11、ROM12、RAM13、CMOS14、接口15、接口18、接口19、PMC(可编程机器控制器)16、I/O单元17、轴控制电路30~34、伺服放大器40~44、主轴控制电路60、主轴放大器61。
CPU11是整体控制数值控制装置100的处理器。CPU11经由总线20读出ROM12中存储的系统程序,按照该系统程序控制整个数值控制装置100。
在RAM13中存储有临时的计算数据或显示数据、以及操作者经由显示器/MDI单元70输入的各种数据。
CMOS存储器14由未图示的电池支持,构成为即使在数值控制装置100的电源被关闭时也能保持存储状态的非易失性存储器。在CMOS存储器14中存储经由接口15读入的加工程序、经由显示器/MDI单元70输入的加工程序等。
在ROM12中预先写入有各种系统程序,该各种系统程序用于执行为了生成以及编辑加工程序所需要的编辑模式的处理或用于自动运行的处理。
能够经由接口15或显示器/MDI单元70输入用于执行本发明的加工程序等各种加工程序,并将其存储在CMOS存储器14中。
接口15能够将数值控制装置100与适配器等外部设备72连结。从外部设备72侧读入加工程序或各种参数等。另外,能够将在数值控制装置100内编辑的加工程序经由外部设备72存储在外部存储单元。
PMC(可编程机器控制器)16通过内置在数值控制装置100的顺序程序,经由I/O单元17向机床的辅助装置(例如,工具更换用机械手的执行器)输出信号来对其进行控制。另外,接收在机床的主体配备的操作盘的各种开关等的信号,在进行所需的信号处理之后,将信号交给CPU11。
显示器/MDI单元70是具备显示器和键盘等的手动数据输入装置。接口18接收来自显示器/MDI单元70的键盘的指令和数据,并将其交给CPU11。接口19与具备手动脉冲发生器等的操作盘71相连接。
各轴的轴控制电路30~34接受来自CPU11的各轴的移动指令量,并将各轴的指令输出给伺服放大器40~44。
伺服放大器40~44接受该指令,驱动各轴的伺服电动机50~54。各轴的伺服电动机50~54内置有位置速度检测器,将来自该位置速度检测器的位置速度反馈信号反馈到轴控制电路30~34,从而进行位置速度的反馈控制。另外,在框图中省略了位置速度的反馈。
主轴控制电路60接受针对机床的主轴旋转指令,将主轴速度信号输出给主轴放大器61。主轴放大器61接受该主轴速度信号,使机床的主轴电动机62以指令的旋转速度进行旋转,从而驱动工具。
通过齿轮或者皮带等使脉冲编码器63与主轴电动机62相耦合。脉冲编码器63与主轴的旋转同步地输出反馈脉冲。CPU11经由总线20读取该反馈脉冲。
另外,在图3所示的数值控制装置100的结构例中,示出了轴控制电路30~34的五个轴控制电路、伺服电动机50~54的五个伺服电动机。但是,本发明并不限于此,能够具备任意个数的轴控制电路以及伺服电动机。
图4是表示上述的CPU11经由总线20读取在ROM12中存储的系统程序以及应用程序,并按照该系统程序以及应用程序而实现的功能的功能框图。CPU11具备:图表生成部111、控制点坐标系插入部112、识别符分配部113、控制点坐标系指定部114、指令值判断部115、移动指令部116。
图表生成部111以图表形式生成控制对象的机械结构。关于其详细的动作,在以下的“2.机械结构树的生成”中详细叙述。
控制点坐标系插入部112对于机械结构的图表插入控制点以及坐标系。
识别符分配部113分别对控制点以及坐标系分配识别符。
关于控制点坐标系插入部112以及识别符分配部113的详细的动作,在以下的“3.指令地址的抽象化”~“8.从机械结构树导出坐标系”中详细叙述。
控制点坐标系指定部114通过上述识别符对上述控制点以及坐标系进行指定。具体而言,控制点坐标系指定部114例如通过程序中的指令、参数设定、画面操作、以及输入单元向数值控制装置100的输入值中的任意一个,指定上述控制点以及坐标系。
指令值判断部115判断程序中的指令值是针对哪个控制点的哪个坐标系上的坐标值。
关于控制点坐标系指定部114以及指令值判断部115的详细的动作,在以下的“3.指令地址的抽象化”~“8.从机械结构树导出坐标系”详细叙述。
移动指令部116对控制点的移动进行指令,使得控制点的坐标值成为程序中的指令值。关于移动指令部116的详细的动作,在以下“9.移动脉冲生成方法”中详细叙述。另外,在图5表示移动指令部116的结构例。
如图5所示,移动指令部116具备:联立方程式生成部161、联立方程式求解部162、移动脉冲生成部163。
联立方程式生成部161通过以下“9.移动脉冲生成方法”中记载的方法,根据指定的坐标系和机械结构的图表,求出指令值的第1坐标转换公式,另外,根据指定的控制点和机械结构的图表求出控制点的第2坐标转换公式,生成定义第1坐标转换公式与第2坐标转换公式相等的多元多次联立方程式。
联立方程式求解部162求出上述的多元多次联立方程式的解。
移动脉冲生成部163使用联立方程式求解部162生成的解,生成在移动指令中使用的移动脉冲。
〔2.机械结构树的生成〕
本发明的实施方式的数值控制装置100在最初生成表示机械结构的图表。参照图6~图9来详细叙述作为图表的一个例子生成机械结构树的生成方法。
作为例子,对用于表现图6所示的机械结构的机械结构树的生成方法进行说明。在图6的机械中,对于Z轴垂直地设定X轴,在X轴设置工具1,在Z轴设置工具2。另一方面,在Y轴上设定B轴,在B轴上设定C轴,在C轴设置了工件1和工件2。将该机械结构表现为机械结构树的方法如下所述。
首先,如图7所示,仅配置原点201和节点202A~202G。在该阶段,在原点201与节点202以及节点202之间不具有联系,也未设定原点以及节点各自的名称。
接着,设定各轴的轴名称(轴类型)、各工具的名称、各工件的名称、各原点的名称、各轴的物理轴编号(轴类型)。接着,设定各轴的父节点(轴类型)、各工具的父节点、各工件的父节点。最后,设定各轴的交叉偏置(轴类型)、各工具的交叉偏置、各工件的交叉偏置。结果,生成图8所示的机械结构树。
另外,机械结构树的各节点并不限于上述的各信息,例如,还可以具有与识别符(名称)、自身的父节点的识别符、将自身作为父节点的全部的子节点的识别符、对于父节点的相对偏置(交叉偏置)、对于父节点的相对坐标值、对于父节点的相对移动方向(单位矢量)、节点类别(直线轴/旋转轴/单元(后述)/控制点/坐标系/原点等)、物理轴编号、正交坐标系和物理坐标系的转换公式有关的信息,或者也可以没有这些信息。
此外,机械结构树的各节点可以具有因为节点自身是控制点或坐标系而所需的信息,也可以不具有这样的信息。作为因为是控制点或坐标系而所需的信息,将在后面详细说明,例如是偏置、姿势矩阵、采纳/不采纳移动或偏置的信息,可以包含这些信息,也可以不包含这些信息。此时,根据因为节点自身是控制点或坐标系而所需的信息的有无,后述的控制点坐标系指定部的实施方式不同。此外,在不具有所需的信息时,还能够通过后述的控制点坐标系插入部以及控制点坐标系识别符分配部向节点赋予所需的信息。
通过如此在各节点设定值,在数值控制装置100内生成具有机械结构树状的数据结构的数据。并且,即使在追加别的机械(或者机器人)的情况下,也能够追加原点并追加节点。
图9中表示将上述的机械结构树生成方法、特别是向各节点设定各值的方法一般化后的流程图。
在步骤S11中,图表生成部111取得针对节点设定的参数的值。
在步骤S12中,在设定的参数的项目为“自身的父节点”时(S12:是),处理转移到步骤S13。在不是“自身的父节点”时(S12:否)处理转移到步骤S17。
在步骤S13中。当对设定参数的节点已经设定了父节点时(S13:是),处理转移到步骤S14。在未设定父节点时(S13:否),处理转移到步骤S15。
在步骤S14中,图表生成部111从设定参数的节点的当前的父节点所具有的“子节点”的项目中删除自身的识别符,更新机械结构树。
在步骤S15中,图表生成部111对设定参数的节点的相应项目设定值。
在步骤S16中,图表生成部111对于父节点,在“子节点”的项目追加自身的识别符,在更新机械结构树后,结束流程。
在步骤S17中,图表生成部111在对设定参数的节点的相应项目设定了值后,结束流程。
通过使用具有上述机械结构树状的数据结构的数据的生成方法,能够设定机械的结构要素彼此的亲子关系。
在此,所谓亲子关系是指,例如如图10A所示,在具有2个旋转轴节点104、105时,一方节点104的坐标值的变化会对另一方节点105的几何状态(典型的为位置、姿势)带来单方的影响的关系。此时,称节点104、105存在亲子关系,将节点104称为父,将节点105称为子。
但是,例如如图10B所示,在由2个直线轴节点102、103和4个自由接头101构成的机械结构中,存在由于节点102、103中的一方的坐标值(长度)变化,不只另一方的几何状态变化,其自身的几何状态也发生变化的相互影响的机构。此时,相互为父为子,即可视为亲子关系为双方向。
如此,关于某个节点的变化对于其他节点相互产生影响的机构而言,从便利性的角度出发,视为1个单元,通过将该单元插入机械结构树,从而生成整体的机械结构树。如图11A那样,单元具有二个连接点110以及连接点120,在如图11B那样将单元插入机械结构树时,如图11C那样,父节点与连接点120相连接,另外子节点与连接点110相连接。另外,单元具有从连接点120向连接点110的变换矩阵。该变换矩阵通过单元中包含的各节点的坐标值来表示。例如,在如图12那样的机械结构的情况下,若将用于表示连接点120的位置姿势的齐次矩阵设为MA,将用于表示连接点110的位置姿势的齐次矩阵设为MB,则可使用单元中包含的各直线轴节点的坐标值x1、x2,如下那样表示这些矩阵之间的转换公式。
【数1】
若设为
则表示为MB=TMA其中
表示该机械结构的单元具有上述的“数1”的数学式中的T那样的齐次变换矩阵。齐次矩阵是像以下的“数2”的数学式那样能够汇总地表示位置和姿势的4×4矩阵。
【数2】
另外,即使在相互不为亲子关系的情况下,为了将计算处理和设定简化,也可以定义预先将某多个节点汇总为1个的单元,并在机械结构树中构成该单元。
另外,这样的单元也可以预先定义在数值控制装置中,数值控制装置也可以读入用户自己记述的脚本。
图13A表示数值控制装置读入用户独自记述的脚本时的流程的例子。
在步骤S21中,数值控制装置100读入由用户定义的脚本。
在步骤S22中,数值控制装置100对读入的脚本的内容进行解析,新定义单元。
在步骤S23中,数值控制装置100将新定义的单元作为可插入机械结构图表的结构要素进行新的登记。
结果,在步骤S24中,用户能够将登记的独自单元(在图13A的例子中为“我的单元”)插入机械结构树。
即,可以由数值控制装置读入用户独自记述的脚本,通过解析其内容,新定义单元,使用该单元在机械结构树中构成。
图13B表示通过图13A中记载的脚本,将新定义的独自单元“我的单元”插入到机械结构树的例子。由此,即使在数值控制装置中未预先定义用户期望的形式的单元,也可由用户自己追加定义,因而提高了便利性。
如上所述,在本实施方式中,机械结构的图表能够包含将多个轴汇总为一个的单元来作为结构要素。
另外,如图14A所示,上述的机械结构树能够在显示器70中显示为图形,以及在显示器70上能够使用图形用户接口(GUI)简单地进行设定。例如,如图14B所示,能够通过拖放操作配置节点,如图14C所示,能够通过拖动操作设定节点彼此的亲子关系,如图14D所示,还能够通过鼠标点击操作打开设定用菜单来设定节点的属性。
由于机床具有多种机械结构,因而结构要素彼此的亲子关系也是多种多样,但是通常在数值控制装置中,由于不具有与结构要素彼此的亲子关系相关的信息,因此无法进行需要这样的信息的控制。但是,数值控制装置通过使用上述的机械结构树或者具有机械结构树状的数据结构的数据的生成方法,能够控制具有多种多样的机械结构的机床或机器人,从而便利性得到提高。另外,用户通过使用图形用户接口(GUI),能够直观向数值控制装置设定机械结构树。
〔3.指令地址的抽象化〕
如上所述,在生成机械结构树时,对各个轴赋予轴名称。通常,在数值控制装置中使用的加工程序中,使用轴名称和表示移动目的地的坐标值或移动量的数值的组合,对移动进行指令。
但是,即使能够任意设定轴名称,但在机械的轴结构不同的情况下,只要通过各个轴名称进行指令,程序就不得不同。例如,如图15所示,在使用工具213对工件212进行加工时,如(a)那样在工件搭载在旋转工作台214的情况、以及如(b)那样工件搭载在直线运动工作台211上的情况下,即使工具213相对于工件212的期望的相对加工路径215相同,实现该加工路径的指令的程序不同,在(a)的情况下为216,在(b)的情况下为217。具体而言,在216的情况下,通过使旋转工作台的旋转轴C移动180度来实现圆弧路径,但是在217的情况下,通过直线轴XY进行圆弧插补指令来实现圆弧路径。
另外,以往针对每个G代码模态决定可指令的地址,在模态发生了变化的情况下,需要与该模态的变化相匹配地改变指令地址。例如,在工具前端点控制中为了表示工具的姿势,以在类型1模式下通过各旋转轴地址(例如地址A、B、C)进行指令,在类型2模式下通过工具姿势矢量(地址I、J、K)进行指令的方式,决定了在各个模式下可指令的地址。因此,例如在类型1模式下无法通过地址I、J、K进行指令,相反在类型2模式下无法通过旋转轴地址A、B、C进行指令。
因此,在本发明中,不使用轴名称,而使用用于定义某个坐标系中的某个控制点的位置或姿势等的抽象的地址。具体而言,首先,为了定义地址,如图16的218那样进行指令。在218,对于与机械结构中的实际的轴名称无关系地预先定义的识别符(表示第一直线轴位置的识别符L1、表示第二直线轴位置的识别符L2)代入恰当的地址α、β,由此将地址α定义为正交坐标系的第一直线轴位置,将地址β定义为正交坐标系的第二直线轴位置。同样地,可以对与实际的轴名称无关系地预先定义的表示工具姿势矢量的识别符V1、V2、V3代入恰当的地址,由此对表示工具姿势矢量的各地址进行定义。或者,可以对与实际的轴名称无关系地预先定义的表示第一旋转轴位置、第二旋转轴位置的识别符R1,R2代入恰当的地址,来对表示各旋转轴位置的地址进行定义。当在程序中这些未被定义的情况下,在数值控制装置100中将通过参数设定的默认的地址定义为表示第一直线轴位置、第二直线轴位置等各个抽象的含义的地址。并且,之后,如图16的219所示,通过在程序中使用这些α、β,无论怎样的机械结构,此外即使实际的轴名称不同的机械彼此都能够以共通的形式记述程序。另外,即使是针对相同的控制点的指令,如图16的220那样仅通过改变地址,例如当在某个程序块中为了决定工具方向而通过矢量进行指令,在某个程序块中通过旋转轴角度进行指令时,每次能够使用适合于程序生成者的各种指令方法。
如上所述,在本实施方式中,作为指令值,能够使用与机械结构的图表中包含的轴名称毫无关系地针对每个含义预先定义的识别符被分配的任意的地址。另外,上述的“含义”包含控制点的位置、控制点的姿势以及决定姿势的旋转轴的角度位置。
〔4.控制点与坐标值的自动插入〕
如在“2.机械结构树的生成”中所叙述的那样,机械结构图表的各节点能够具有因为自身成为控制点或坐标系而所需的信息,但也能够不具有这样的信息。在节点不具有因为成为控制点或坐标系而所需的信息时,将机械结构上的各种位置指定为控制点,并且设定机械结构上的各种部位的坐标系,所以使用在上述的“2.机械结构树的生成”中生成的机械结构树来执行以下的方法。
例如,在图17A所示的回转分度装置300中,与Z1轴垂直地设定X1轴,在X1轴上设置了工具1。另外,与Z2轴垂直地设定X2轴,在X2轴上设置有工具2。并且,设为在工作台中,在C轴上并列地设定C1轴和C2轴,在C1轴上设置了工件1,在C2轴上设置了工件2。若以机械结构树表示该机械结构,则成为图17B所示的机械结构树。
将从各工件到机械原点连续的一连串的节点作为例子,如图18所示,分别对机械原点、C轴、C1轴、C2轴、工件1、工件2自动插入坐标系和控制点。不仅对工作台自动插入坐标系和控制点,还对从各工件到机械原点连续的一连串的节点即X1轴、X2轴、Z1轴、Z2轴、工具1、工具2这些全部的节点执行坐标系和控制点的自动插入。结果,如图19所示,对于构成机械结构树的全部节点,自动插入与各个节点对应的控制点和坐标系。通常,在进行加工时,在工件上设定坐标系,并将工具指定为控制点。由此,例如能够应对为了使工件自身移动到预定的位置而想要在工件上指定控制点的情况,或者为了通过某个工具来研磨其他的工具而想要在工具自身上设定坐标系的情况等各种情况。
另外,如图20A所示,各控制点以及坐标系具有偏置。因此,能够将偏离节点中心的点设为控制点或坐标系原点。并且,各控制点以及坐标系具有姿势矩阵。在为控制点的姿势矩阵的情况下,该姿势矩阵表示控制点的姿势(方向、倾斜),在为坐标系的姿势矩阵的情况下,该姿势矩阵表示坐标系的姿势。在图20B所示的机械结构树中,偏置以及姿势矩阵分别通过与所对应的节点相连接的方式来表达。并且,各控制点以及坐标系具有一种信息,该信息表示是否分别采纳/未采纳在直到机械结构树的根为止的路径上存在的节点的“移动”以及“交叉偏置”,并且能够设定这些信息。
在图21中表示将上述的控制点的自动插入方法一般化后的流程图。详细而言,该流程图构成为包含流程A和流程B,在流程A的途中执行流程B。
首先,对流程A进行说明。
在步骤S31中,图表生成部111设定机械结构树。
在步骤S32中,执行流程B,结束流程A的流程。
接着,对流程B进行说明。
在流程B的步骤S41中,在节点已插入了控制点、坐标系的情况下(S41:是),结束流程。在节点未插入控制点、坐标系的情况下(S41:否),处理转移到步骤S42。
在步骤S42中,控制点坐标系插入部112在节点插入控制点、坐标系,并且堆积一个变量n。并且,使n=1。
在步骤S43中,当在节点存在第n个子节点的情况下(S43:是),处理转移到步骤S44。当在节点不存在第n个子节点的情况下(S43:否),处理转移到步骤S46。
在步骤S44中,对于第n个子节点,重新返回执行流程B自身。
在步骤S45中,使n增加1。即设为n=n+1,处理返回步骤S43。
在步骤S46中,弹出1个变量n,结束流程B的流程。
通过上述方法,控制点坐标系插入部112将控制点以及坐标系作为节点,对于机械结构的图表的各节点进行插入。另外,如上所述,表示了将控制点以及坐标系作为节点进行追加时的实施例,但是如图22所示,控制点坐标系插入部112对于机械结构的图表的各节点,作为信息使各节点具有控制点以及坐标系的实施方式能够同样实现。此外,如在“2.机械结构树的生成”中所叙述的那样,图表生成部还能够生成图23所示的机械结构树(各节点具有因为是控制点或坐标系而所需的信息的机械结构树)。此时,机械结构树已经具有作为控制点或坐标系的信息,因此不一定需要控制点坐标系插入部。
〔5.控制点位置以及控制点姿势的计算方法〕
如图24所示,在将用于表示机械结构树中的某个控制点相对于机械结构树中的根的位置和姿势的齐次矩阵设为MC时,可通过以下求出。
首先,将机械结构树中的排列了在某个节点至某个节点之间存在的节点的路程定义为路径。例如,在图19中从节点Z1到控制点[工具1]为止的路径p1如下所示。
【数3】
p1={Z1,X1,工具1,控制点[工具1]}
并且,使机械结构树中的从根到某个控制点的路径p2如下那样。
【数4】
p2={x1,x2,...,xN,控制点}
上述路径中的起点x1为根。通过该路径表示的控制点相对于根的位置姿势的齐次矩阵MC通过以下来计算。
【数5】
其中
其中,符号的含义如下。
S:基于各节点的齐次变换矩阵;
N:机械结构树的从根到控制点连续的一连串的节点个数;
M[ctrl]:控制点相对于父节点的相对偏置、姿势的齐次矩阵,根据对控制点定义的偏置矢量、姿势矩阵,按照[数2]的数学式来进行定义;
axi:采纳节点xi的交叉偏置(1)、不采纳(0);
bxi:采纳节点xi的移动(1)、不采纳(0);
在此,axi、bxi是在指定控制点时能够指定的信息,在后述的〔8.从机械结构树导出的坐标系的自定义〕中进行详细说明。
另外,齐次变换矩阵S根据节点的类别(直线轴/旋转轴/单元/控制点/坐标系等)而变化,如下表示。
在为直线轴时通过以下数学式计算。
【数6】
其中,符号的含义如下。
xi:节点xi的坐标值;
ofsxi:节点xi相对于父节点的相对偏置矢量;
vxi:节点xi的移动方向矢量
在为旋转轴时通过以下数学式计算。
【数7】
其中,符号的含义如下。
v1:节点xi的旋转轴方向矢量的第1成分;
v2:节点xi的旋转轴方向矢量的第2成分;
v3:节点xi的旋转轴方向矢量的第3成分;
在为单元时通过以下数学式计算。
【数8】
其中,符号的含义如下。
T(0):单位矩阵(非变换矩阵);
T(1):定义为单元节点的连接点120向连接点110的齐次变换矩阵
关于单元的齐次变换矩阵,如上所述,例如是[数1]的数学式中的T那样的针对每个单元定义的齐次变换矩阵。
另外,在没有特别规定的情况下,设齐次变换矩阵S为单位矩阵。
〔6.指令点位置以及指令点姿势的计算方法〕
如图25所示,在作为某个指定坐标系上的指令值,指定了指令位置矢量posw、指令姿势矩阵matw的情况下,通过以下的式子求出该指令值的表示相对于机械结构树的根的位置姿势的齐次矩阵MM
首先,将指令值的齐次矩阵Mw如下定义。
【数9】
另外,与控制点的情况同样地考虑,使机械结构树中的从根到某个坐标系的路径p3如以那样。
【数10】
p3={x1,x2,...,xL,坐标系}
由此,通过下式来计算齐次矩阵MM
【数11】
其中
其中,符号的含义如下。
S:基于各节点的齐次变换矩阵;
L:机械结构树的从根到坐标系连续的一连串的节点个数;
M[coord]:坐标系相对于父节点的相对偏置、姿势的齐次矩阵,根据对坐标系定义的偏置矢量、姿势矩阵,通过[数2]的数学式进行定义;
axi:采纳节点xi的交叉偏置(1)、不采纳(0);
bxi:采纳节点xi的移动(1)、不采纳(0);
axi、bxi是在指定坐标系时能够指定的信息,在后述的〔8.从机械结构树导出的坐标系的自定义〕中进行详细说明。
另外,齐次变换矩阵S与使用[数6]~[数8]的数学式进行说明的齐次变换矩阵相同。
〔7.程序内的控制点以及坐标系的指定方法〕
首先,图26表示在上述“2.机械结构树的生成”中,在以各节点具有因为是控制点或坐标系而所需的信息的方式生成了机械结构树的情况下,在程序内将各节点指定为控制点或坐标系的方法的一例。
图26举例表示的命令的前半部是指定坐标系的文例,后半部是指定控制点的文例。以下,虽然图26重复,但是对程序内的各行的指令内容进行说明。
通过第1行的“G54.9<工件1>;”,将节点[工件1]指定为坐标系。
通过第2行的“G54.8P<工件1><WORK1>;”,对节点[工件1]设定“WORK1”这样的另外的识别符。
通过第3行的“G54.9P<WORK1>;”,通过“WORK1”这样的另外的识别符,将节点[工件1]指定为坐标系。
通过第4行的“G54.7P<C1>X_Y_Z_;”,设定节点[C1]的坐标系交叉偏置。
通过第5行的“G54.6P<C1>I_J_K_;”,通过横滚(Roll)/俯仰(Pitch)/偏转(Yaw)设定节点[C1]的坐标系姿势矩阵。
通过第6行的“G54.9P<C1>;”,将节点[C1]指定为坐标系,并且采纳上述的交叉偏置以及姿势矩阵。
通过第7行的“G43.9<工具1>;”,将节点[工具1]指定为控制点;
通过第8行的“G43.8P<工具1><TOOL1>;”,对节点[工具1]设定“TOOL1”这样的另外的识别符。
通过第9行的“G43.9P<TOOL1>;”,通过“TOOL1”这样的另外的识别符将节点[工具1]指定为控制点。
通过第10行的“G43.7P<B1>X_Y_Z_;”,设定节点[B1]的控制点交叉偏置。
通过第11行的“G43.6P<B1>I_J_K_;”,通过横滚/俯仰/偏转设定节点[B1]的控制点姿势矩阵。
通过第12行的“G43.9P<B1>;”,将节点[B1]指定为控制点,并且采纳上述的交叉偏置以及姿势矩阵。
接着,在图27中表示在程序内指定通过上述的“4.控制点和坐标系的自动插入”向机械结构树插入的控制点和坐标系的方法的一个例子。
图27举例表示的命令的前半部是指定坐标系的文例,后半部是指定控制点的文例。以下,虽然图27的记载重复,但是对程序内的各行的指令内容进行说明。
通过第1行的“G54.9<坐标系[工件1]>;”,指定坐标系[工件1]。
通过第2行的“G54.8P<坐标系[工件1]><WORK1>;”,对坐标系[工件1]设定“WORK1”的识别符。
通过第3行的“G54.9P<WORK1>;”,通过另一个识别符“WORK1”指定坐标系[工件1]。
通过第4行的“G54.7P<坐标系[C1]>X_Y_Z_;”,设定坐标系[C1]的交叉偏置。
通过第5行的“G54.6P<坐标系[C1]>I_J_K_;”,通过横滚(Roll)/俯仰(Pitch)/偏转(Yaw)设定坐标系[C1]的姿势矩阵。
通过第6行的“G54.9P<坐标系[C1]>;”,指定坐标系[C1],并且采纳上述的交叉偏置以及姿势矩阵。
通过第7行的“G54.9<控制点[工具1]>;”,指定控制点[工具1];
通过第8行的“G54.8P<控制点[工具1]><TOOL1>;”,对控制点[工具1]设定识别符“TOOL1”。
通过第9行的“G54.9P<TOOL1>;”,通过另一个识别符“TOOL1”指定控制点[工具1]。
通过第10行的“G54.7P<控制点[B1]>X_Y_Z_;”,设定控制点[B1]的交叉偏置。
通过第11行的“G54.6P<控制点[B1]>I_J_K_;”,通过横滚/俯仰/偏转设定控制点[B1]的姿势矩阵。
通过第12行的“G54.9P<控制点[B1]>;”,指定控制点[B1],并且采纳上述的交叉偏置。
如此,无论各节点具有因为是控制点或坐标系而所需的信息还是不具有该信息,都能够将机械结构树中的恰当的部位指定为控制点或坐标系。在图26中,可知指定控制点和坐标系的各G代码的编号,是在图27中能够使指定控制点和坐标系的各G代码为共通。如此,坐标系控制点插入部以及识别符分配部并非是实施本发明不可或缺的部分,可以导入这些部分。
〔8.从机械结构树导出的坐标系的自定义〕
如上所述,能够通过程序指令选择机械结构树中的恰当的坐标系,并且如使用[数9]~[数11]的数学式进行说明的那样,能够将选择出的坐标系上的指令值变换为机械坐标值。在该变换中,与路径p3中的各节点相对应的一连串的axi、bxi基本上如下所述全部计算为1。
【数12】
p3={x1,x2,…,xL,坐标系}
此时,一连串的节点的交差偏置以及移动全部被采纳。
在此,ap3以及bp3具有与路径p3的各要素对应的要素,能够看成伴随的路径。因此,将其称为p3的伴随路径ap3、bp3
但是,如在背景技术中叙述的那样,还存在优选坐标系仅不随着特定的轴旋转的情况。例如在图20A以及图20B中,当想要在路径p4中定义的坐标系上通过C1轴进行车削加工时,不随C1轴旋转的方式便于使用。
【数13】
p4={机械原点,C,C1,工件1,坐标系}
此时,若如下那样指定伴随路径ap4,bp4,则能够自定义坐标系,使得仅不随C1轴旋转。
【数14】
如此,通过对指定的坐标系恰当地指定伴随路径,能够根据使用方法恰当地对坐标系进行自定义。如图28所示,可通过程序指令来指定伴随路径。若说明程序的内容,则通过G254.9P<工件1>Q<C1>0指令,能够将插入到工件1的坐标系的ac1指定为0。
另外,通过G154.9P<工件1>Q<C1>0指令,能够将插入到工件1的坐标系的bc1指定为0。
并且,通过G54.9P<工件1>指令,能够将自定义的坐标系[工件1]指定为ac1=0,bc1=0。
此外,不仅是坐标系,控制点中也同样存在伴随路径,因此通过使用程序恰当地指定伴随路径,能够使用自定义的控制点。
如上述,在本实施方式中,通过变更用于规定坐标系以及控制点的信息,能够任意第自定义坐标系以及控制点。
特别是坐标系以及控制点能够消除特定的节点的影响,具体而言能够消除特定的节点的移动以及偏置导致的影响。
〔9.移动脉冲生成方法〕
接着,本发明的实施方式的数值控制装置100将通过〔3.指令地址的抽象化〕的方法指令的程序内的指令值解释为通过〔7.程序内的控制点以及坐标系的指定方法〕以及〔8.从机械结构树导出的坐标系的自定义〕的方法指定的坐标系上的坐标值,并生成用于使控制点进行移动所需要的移动脉冲,使得指定的控制点的坐标值成为该指令值。
具体而言,首先,根据指定的坐标系和机械结构树,通过〔6.指令点位置以及指令点姿势的计算方法〕的方法求出指令值的第1坐标转换公式。接着,根据指定的控制点和机械结构树,通过〔5.控制点位置以及控制点姿势的计算方法〕的方法求出控制点的第2坐标转换公式。接着,求出定义第1坐标转换公式与第2坐标转换公式相等的多元多次联立方程式。最后,使用例如利用Groebner基而计算出的上述多元多次联立方程式的解,来生成在移动指令中使用的移动脉冲。
例如,如图29所示,在轴x1上设定轴x2,在轴x2上设定轴x3,以下同样地连续N个节点,其末端设为轴xN。并且,设为在轴xN上设置控制点。同样地,在轴y1的上设定轴y2,在轴y2的上设定轴y3,以下同样地连续L个节点,其末端设为轴yL。并且,设为在轴yL上设置了工件。在此,xi、yj为节点名称,但是也可设为还同时表示各节点的坐标值。
另外,如图30所示,设为通过程序指定了表示正交坐标位置的地址X、Y、Z和表示工具姿势的地址I、J、K,通过这些地址赋予了位置posw=(Xw,Yw,Zw)和工具方向矢量vecw=(Iw,Jw,Kw)来作为指令值。另外,如图31所示,设为通过程序指定了控制点[xN]和坐标系[yM]。
此时,在此指定的控制点从机械结构树的根开始的路径pctrl以及坐标系从机械结构树的根开始的路径pcoord如以下[数15]那样。
【数15】
pctrl={x0,x1,x2,...,xN,控制点}
pcoord={y0,y1,y2,...,yL,坐标系}
另外,并未特别通过程序对控制点以及坐标系的伴随路径进行指定,所以各个路径的伴随路径apctrl,bpctrl,apcoord,bpcoord的要素如以下[数16]的数学式那样全部为1。
【数16】
并且,设为对各节点赋予图29所示的偏置、节点类别(直线/旋转/单元/控制点/坐标系)、轴方向、姿势矩阵、坐标值。
此时,如图32所示,用于表示相对于根(机械原点)的控制点的当前位置、姿势的齐次矩阵Mc通过以下的式子求出。
【数17】
其中
其中,符号的含义如在〔5.控制点位置以及控制点姿势的计算方法〕中说明的那样,因此省略说明。
另外,用于表示指定坐标系上的控制点的当前位置、姿势的齐次矩阵Mcw使用Mc通过以下的式子求出。
【数18】
其中
由此,指定坐标系上的控制点的当前位置矢量poscw如下那样求出。
【数19】
poscw=Mcw(0 0 0 1)T
接着,如图33所示,指定坐标系中的下一个插补位置矢量posw’使用poscw通过以下的式子求出。
【数20】
其中,F是每个插补周期的指定移动速度。如此,能够求出指定坐标系中的连结当前位置、指令点位置的直线上的每个插补周期的位置。
另一方面,若假定工具基准方向矢量为(0、0、1、0),则指定坐标系上的控制点的当前工具方向矢量veccw如下那样求出。
【数21】
veccw=Mcw(0 0 1 0)T
另外,工具基准方向矢量不限于上述那样,也可以通过指令或参数设定等进行改变。
由此,图34所示的指定坐标系上的控制点的下一个插补工具方向矢量vecw’通过以下的式子求出。
【数22】
θ=cos-1(veccw·vecw)
vec′w=Rot(θ′,axis)
其中,符号的说明如下那样。
Rot(θ’,axis):围绕矢量axis方向旋转θ’的旋转矩阵。与在[数7]中说明的矩阵R相同。
如上所述,如果求出了下一个插补位置矢量posw’和下一个插补工具方向矢量vecw’,分别对于控制点的位置以及姿势建立以下的联立方程式。
【数23】
通过关于各xi,yi对该联立方程式进行求解,求出各轴的下一个插补位置。
另外,在解联立方程式时,例如能够使用Groebner基计算解。具体而言,当基于词典顺序x1>x2>···>xN>y1>y2>···yM,例如使用布赫贝格尔(Buchburger)算法等求出上述联立方程式的Groebner基时,对关于最下位顺序yM的一元多次方程式进行求解。如果对该一元多次方程式求解则求出yM的解,使用该解对于其他的Groebner基也按顺序对式子进行求解,由此能够关于各xi,yi对上述联立方程式进行求解。
通过使用如此求出的各解xi’,yi’向各轴输出成为Δxi’=xi’-xi,Δyi’=yi’-yi的移动量,能够实现在指定坐标系上的指定速度的移动。
另外,在机械结构的自由度冗余的情况下,例如,能够通过适当地在[数23]的数学式中追加约束条件并进行联立来进行应对,该约束条件是使一些轴不移动或者对一些轴直接赋予指令值。或者,能够通过如下方法进行应对,即对于若干轴通常使其具有不移动的辅助轴的属性,仅在特异点附近使其移动来进行回避特异点的动作。或者,通过追加辅助控制点,对该辅助控制点也进行指令,由此能够进行应对。
另外,即使在机械结构的自由度不冗余的情况下,通过对若干轴直接赋予指令值,能够省略联立方程式的式联立。例如,为了将由于坐标值发生变化,相对于指定坐标系的控制点的工具方向进行变化的旋转轴与对工具方向的变化没有影响的旋转轴区分开,将其称为工具变化旋转轴,使机械结构树的各节点具有是否是工具变化旋转轴的信息。另外,通过[数15]的数学式表示从根到控制点、坐标系的各路径,使各路径中包含的工具变化旋转轴节点的一览为[数24]的数学式。
【数24】
{xn,ym}
另外,从控制点侧的工具变化旋转轴中的远离根的工具变化旋转轴开始,按顺序赋予第一、第二的顺序,之后,从坐标系侧的工具变化旋转轴中的远离根的工具变化旋转轴开始按顺序附加第三、第四的顺序,由此无论对怎样的机械结构树都能够严密地定义工具变化旋转轴的顺序。据此,将xn称为第一工具变化旋转轴,将ym称为第二工具变化旋转轴。在此,使用表示第一工具变化旋转轴的识别符R1、表示第二工具变化旋转轴的识别符R2,如图35那样进行指令。通过使用如此指定的地址A、B,不直接指令工具方向矢量,能够直接指令工具变化旋转轴的角度值。
此时,第一工具变化旋转轴、第二工具变化旋转轴的下一个插补位置xn’,yn’能够通过以下的式子求出。
当把针对xn,ym的指令值分别设为xnw,ymw时,
【数25】
由此,因为第一工具变化旋转轴、第二工具变化旋转轴的节点坐标值已定,所以工具方向矢量也已定。于是,无需关于工具方向矢量对联立方程式求解,仅对以下的与指令位置相关的联立方程式求解即可。
【数26】
其中,在上式中,节点xn,yn的坐标值代入上述求出的值,视为常数来进行求解。
如上所述,作为程序中的指令值,能够直接指定特定的节点的坐标值。由此,能够减少联立式的个数。
〔10.本实施方式的效果〕
本实施方式的数值控制装置例如通过机械结构树那样的机械结构图表的形式保持了机械结构信息。另外,本实施方式的数值控制装置对于机械结构图表,在生成图表时使各节点具有因为成为控制点或坐标系而所需要的信息,或者自动插入能想到的控制点以及坐标系,并且对这些各个控制点以及坐标系附加唯一可识别的识别符。因此,本实施方式的数值控制装置的用户无需变更数值控制装置的设定,能够通过识别符在NC程序上指定期望的控制点以及坐标系,便利性得到提高。
并且,本实施方式的数值控制装置通过在指定机械结构上的控制点和坐标系后指令坐标值,能够使指定的控制点移动到指定的坐标系上的坐标。如此,数值控制装置的用户能够对一般的机械结构的机械自由地进行移动指令,因而便利性得到提高。
以上,对本发明的实施方式进行了说明,但是本发明并不限于上述实施方式。另外,本实施方式中记载的效果只不过列举了本发明产生的最佳的效果,本发明的效果并不限于本实施方式中记载的效果。
数值控制装置100的控制方法能够通过软件实现。在通过软件实现的情况下,将构成该软件的程序安装在计算机(数值控制装置100)中。另外,可以将这些程序记录在可移动介质中来向用户发布,或者还可以经由网络下载到用户的计算机中从而进行发布。并且,也可以不下载而是将这些程序作为经由网络的Web服务提供给用户的计算机(数值控制装置100)。

Claims (14)

1.一种数值控制装置,其通过以结构要素作为节点的图表形式来表现并保持控制对象的机械结构,其特征在于,具备:
控制点坐标系指定部,其对于上述机械结构的图表,通过识别符指定1组以上的控制点以及坐标系;
指令值判断部,其根据由所述控制点坐标系指定部指定的所述控制点和所述坐标系,判断在程序中指令的1个以上的指令值与针对哪个控制点的哪个坐标系上的坐标值相对应;以及
移动指令部,其指令所述控制点的移动,使得所述控制点的所述坐标值成为所述指令值。
2.根据权利要求1所述的数值控制装置,其特征在于,具备:
控制点坐标系插入部,其对所述机械结构的图表插入所述控制点以及所述坐标系;
识别符分配部,其对所述插入的所述控制点以及所述坐标系分配所述识别符。
3.根据权利要求2所述的数值控制装置,其特征在于,
所述控制点坐标系插入部对于所述机械结构的图表的各节点,将控制点以及坐标系作为节点进行插入。
4.根据权利要求2所述的数值控制装置,其特征在于,
所述控制点坐标系插入部对于所述机械结构的图表的各节点,作为信息使各节点具有控制点以及坐标系。
5.根据权利要求1至4中的任意一项所述的数值控制装置,其特征在于,
所述机械结构的图表包含将多个轴汇总为1个的单元来作为结构要素。
6.根据权利要求5所述的数值控制装置,其特征在于,
能够通过对用户记述的脚本进行解析来定义所述单元,并且能够包含定义的所述单元来作为所述机械结构的图表的结构要素。
7.根据权利要求1至6中的任意一项所述的数值控制装置,其特征在于,
所述坐标系能够消除特定节点的影响。
8.根据权利要求1至7中的任意一项所述的数值控制装置,其特征在于,
所述控制点能够消除特定节点的影响。
9.根据权利要求1至8中的任意一项所述的数值控制装置,其特征在于,使用任意的地址来作为所述指令值,
该任意的地址为与所述机械结构的图表中包含的轴名称无关地针对为每个含义预先定义的识别符分配的任意的地址。
10.根据权利要求9所述的数值控制装置,其特征在于,
所述含义包含所述控制点的位置、所述控制点的姿势以及决定所述姿势的旋转轴的角度位置。
11.根据权利要求1至10中的任意一项所述的数值控制装置,其特征在于,
作为所述指令值,能够直接指定特定节点的坐标值。
12.根据权利要求1至11中的任意一项所述的数值控制装置,其特征在于,
所述移动指令部具备:
联立方程式生成部,其根据指定的所述坐标系和所述机械结构的图表求出所述指令值的第1坐标转换式,并根据指定的所述控制点和所述机械结构的图表求出所述控制点的第2坐标转换式,生成用于定义第1坐标转换式与第2坐标转换式相等的多元多次联立方程式;
联立方程式求解部,其求出所述多元多次联立方程式的解;以及
移动脉冲生成部,其使用所述联立方程式求解部生成的解,生成用于移动指令的移动脉冲。
13.根据权利要求12所述的数值控制装置,其特征在于,
所述联立方程式生成部通过直接指定特定节点的坐标值来减少联立式。
14.一种数据结构,其是表现数值控制装置的控制对象的机械结构,将结构要素作为节点的图表形式的数据结构,其特征在于,
对于上述机械结构的图表,将控制点以及坐标系作为节点插入,并分别对所述控制点以及所述坐标系分配识别符。
CN201711318383.7A 2016-12-12 2017-12-12 数值控制装置以及数据结构 Active CN108227631B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2016-240446 2016-12-12
JP2016240446 2016-12-12
JP2017-195303 2017-10-05
JP2017195303 2017-10-05
JP2017-233786 2017-12-05
JP2017233786A JP6549683B2 (ja) 2016-12-12 2017-12-05 制御装置

Publications (2)

Publication Number Publication Date
CN108227631A true CN108227631A (zh) 2018-06-29
CN108227631B CN108227631B (zh) 2020-12-15

Family

ID=62201607

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711318383.7A Active CN108227631B (zh) 2016-12-12 2017-12-12 数值控制装置以及数据结构

Country Status (3)

Country Link
US (1) US11402818B2 (zh)
CN (1) CN108227631B (zh)
DE (1) DE102017222474A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110687869A (zh) * 2018-07-06 2020-01-14 发那科株式会社 数值控制装置、数值控制方法以及数值控制程序
CN111650887A (zh) * 2019-03-04 2020-09-11 发那科株式会社 控制系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7505877B2 (ja) * 2019-12-02 2024-06-25 ファナック株式会社 制御システム
TWI740429B (zh) * 2020-03-26 2021-09-21 威聯通科技股份有限公司 管理資料備份的方法及系統

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03276307A (ja) * 1990-03-27 1991-12-06 Toshiba Corp ティーチング・プレイバック方式ロボットコントローラ
JPH09314487A (ja) * 1996-05-31 1997-12-09 Mitsubishi Heavy Ind Ltd 冗長軸を有するマニピュレータの制御方法
US20030120376A1 (en) * 2001-10-16 2003-06-26 Fanuc Ltd. Numerical controller
US20070233280A1 (en) * 2006-03-31 2007-10-04 Bacon James A Automatic control system generation for robot design validation
CN101866163A (zh) * 2007-11-02 2010-10-20 株式会社牧野铣床制作所 数值控制机床及数值控制装置
WO2013176212A1 (ja) * 2012-05-25 2013-11-28 学校法人立命館 ロボット制御装置、ロボット制御方法、プログラム、記録媒体、ロボットシステム
CN103862118A (zh) * 2012-12-18 2014-06-18 安川电机(沈阳)有限公司 数值控制装置
JP2016000442A (ja) * 2014-06-12 2016-01-07 セイコーエプソン株式会社 ロボット、ロボットシステム及び制御装置
US20160332297A1 (en) * 2015-05-12 2016-11-17 Canon Kabushiki Kaisha Information processing method and information processing apparatus

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2763781A (en) * 1952-06-11 1956-09-18 Honeywell Regulator Co Electronic control apparatus
US3699317A (en) * 1970-05-22 1972-10-17 Westinghouse Electric Corp Sampled data numerical contouring machine controller apparatus and method providable with on line capability for contour cornering deceleration and acceleration
CA1282142C (en) * 1986-10-21 1991-03-26 Sony Corporation Method for generating offset surface data
JPH0683945B2 (ja) * 1988-07-26 1994-10-26 豊田工機株式会社 非真円形工作物加工用数値制御装置
US5779749A (en) * 1997-04-21 1998-07-14 Owens-Brockway Glass Container Inc. Generation of needle motion profile in an individual section glassware forming system
US5904745A (en) * 1997-05-19 1999-05-18 Owens-Brockway Glass Container Inc. Generation of sweepout motion profile in an individual section glassware forming system
DE19739559A1 (de) 1997-09-09 1999-03-18 Traub Drehmaschinen Gmbh I L Verfahren und System zum Erstellen oder Visualisieren von Steuerdatensätzen
WO1999022904A2 (en) * 1997-10-31 1999-05-14 Jiawei Hong Method and system for computer assisted manual machine tool control
US6850806B2 (en) * 1999-04-16 2005-02-01 Siemens Energy & Automation, Inc. Method and apparatus for determining calibration options in a motion control system
JP3610485B2 (ja) * 1999-09-20 2005-01-12 株式会社日立製作所 数値制御曲面加工装置
US6675061B2 (en) * 2001-02-26 2004-01-06 Hitachi, Ltd. Numerically controlled curved surface machining unit
US6922606B1 (en) * 1999-11-19 2005-07-26 Siemens Energy & Automation, Inc. Apparatus and method for smooth cornering in a motion control system
US6865499B2 (en) * 2001-04-26 2005-03-08 Siemens Energy & Automation, Inc. Method and apparatus for tuning compensation parameters in a motion control system associated with a mechanical member
JP3643098B2 (ja) 2001-10-16 2005-04-27 ファナック株式会社 数値制御装置
JP4219347B2 (ja) * 2005-08-17 2009-02-04 富士通株式会社 計測処理方法及び計測装置
JP4838647B2 (ja) * 2006-07-05 2011-12-14 株式会社森精機製作所 工作機械の制御装置
US8024068B2 (en) * 2006-08-04 2011-09-20 Hurco Companies, Inc. Machine tool control system
JP4772639B2 (ja) * 2006-10-10 2011-09-14 株式会社森精機製作所 工作機械の制御装置
JP4467625B2 (ja) * 2008-03-31 2010-05-26 三菱電機株式会社 数値制御装置および数値制御方法
JP4648471B2 (ja) * 2009-07-14 2011-03-09 ファナック株式会社 工作機械の工具軌跡表示装置
JP5565082B2 (ja) * 2009-07-31 2014-08-06 ソニー株式会社 送信電力決定方法、通信装置及びプログラム
JP5247671B2 (ja) * 2009-12-22 2013-07-24 ルネサスエレクトロニクス株式会社 表示データ補正装置、及び、それを使用する表示パネルドライバ、表示装置
IT1401373B1 (it) * 2010-08-06 2013-07-18 Fidia Spa Sistema predittivo di controllo e visualizzazione virtuale per una macchina utensile a controllo numerico
JP4995976B1 (ja) * 2011-02-08 2012-08-08 ファナック株式会社 回転軸のインポジションチェックを行う数値制御装置
JP4975872B1 (ja) * 2011-02-25 2012-07-11 ファナック株式会社 多軸加工機用速度制御機能を有する数値制御装置
JP5192574B2 (ja) * 2011-08-25 2013-05-08 ファナック株式会社 工具先端点の加速度または加加速度の表示部を備えた工具軌跡表示装置
JP2013176212A (ja) 2012-02-24 2013-09-05 Yazaki Corp 電線の配索構造、及び外装部材付き電線
US20130335452A1 (en) * 2012-06-14 2013-12-19 Research In Motion Limited System and method for scaling vector-based graphic designs
JP5661832B2 (ja) * 2013-02-26 2015-01-28 ファナック株式会社 設定条件に応じた検索機能を備える波形表示装置
JP5785224B2 (ja) * 2013-07-08 2015-09-24 ファナック株式会社 5軸加工機を制御する数値制御装置
CN106462143B (zh) * 2014-06-20 2019-03-08 株式会社牧野铣床制作所 机床控制装置
JP6145130B2 (ja) * 2015-04-28 2017-06-07 ファナック株式会社 工具軸の軌跡を表示する軌跡表示装置
CN107615197B (zh) * 2015-05-12 2020-07-14 三菱电机株式会社 数控装置
JP2016221645A (ja) * 2015-06-02 2016-12-28 セイコーエプソン株式会社 ロボット、ロボット制御装置およびロボットシステム
JP6325488B2 (ja) * 2015-06-30 2018-05-16 ファナック株式会社 テーブル形式データによる運転を行う数値制御装置
JP6464209B2 (ja) * 2017-01-27 2019-02-06 ファナック株式会社 数値制御装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03276307A (ja) * 1990-03-27 1991-12-06 Toshiba Corp ティーチング・プレイバック方式ロボットコントローラ
JPH09314487A (ja) * 1996-05-31 1997-12-09 Mitsubishi Heavy Ind Ltd 冗長軸を有するマニピュレータの制御方法
US20030120376A1 (en) * 2001-10-16 2003-06-26 Fanuc Ltd. Numerical controller
US20070233280A1 (en) * 2006-03-31 2007-10-04 Bacon James A Automatic control system generation for robot design validation
CN101866163A (zh) * 2007-11-02 2010-10-20 株式会社牧野铣床制作所 数值控制机床及数值控制装置
WO2013176212A1 (ja) * 2012-05-25 2013-11-28 学校法人立命館 ロボット制御装置、ロボット制御方法、プログラム、記録媒体、ロボットシステム
CN103862118A (zh) * 2012-12-18 2014-06-18 安川电机(沈阳)有限公司 数值控制装置
JP2016000442A (ja) * 2014-06-12 2016-01-07 セイコーエプソン株式会社 ロボット、ロボットシステム及び制御装置
US20160332297A1 (en) * 2015-05-12 2016-11-17 Canon Kabushiki Kaisha Information processing method and information processing apparatus

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110687869A (zh) * 2018-07-06 2020-01-14 发那科株式会社 数值控制装置、数值控制方法以及数值控制程序
CN110687869B (zh) * 2018-07-06 2024-04-26 发那科株式会社 数值控制装置、数值控制方法以及计算机可读介质
CN111650887A (zh) * 2019-03-04 2020-09-11 发那科株式会社 控制系统
CN111650887B (zh) * 2019-03-04 2023-12-08 发那科株式会社 控制系统

Also Published As

Publication number Publication date
CN108227631B (zh) 2020-12-15
US11402818B2 (en) 2022-08-02
DE102017222474A1 (de) 2018-06-14
US20180164782A1 (en) 2018-06-14

Similar Documents

Publication Publication Date Title
CN108227631A (zh) 数值控制装置以及数据结构
JP6549683B2 (ja) 制御装置
JP5620825B2 (ja) 複合機械加工の方法および装置
TWI381256B (zh) 用於控制一工具機系統之複數個可移動軸之移動之系統、方法及電腦可讀媒體
EP2129498B1 (en) Method and apparatus for programming an industrial robot
CN101043980B (zh) 一种对工业机器人进行编程的系统和方法
Wang Wise-ShopFloor: an integrated approach for web-based collaborative manufacturing
Peek et al. Cardboard machine kit: Modules for the rapid prototyping of rapid prototyping machines
CN105637438A (zh) 多轴控制系统设定及调整功能辅助装置
Tian et al. Turn-by-wire: Computationally mediated physical fabrication
JP6375666B2 (ja) Plcおよびplc用のプログラミングツール
Antakli et al. Agent-based Web Supported Simulation of Human-robot Collaboration.
CN109116810A (zh) 数值控制装置
WO2023153205A1 (en) Information processing device, machine tool, and information processing program
CN108748259B (zh) 机器人模型生成方法及装置
Basheer et al. CNC Software Control System Using Visual Basic
Weidig et al. Virca net and coginfocom: Novel challenges in future internet based augmented/virtual collaboration
CN115066660A (zh) 控制装置
JP7505877B2 (ja) 制御システム
WO2022269787A1 (ja) プログラム作成支援装置、プログラム作成支援方法、プログラム作成支援プログラム及びプログラマブルロジックコントローラ
US11360749B2 (en) Device for dynamically generating numerical controller software of machine tool and method for the same
US20070157149A1 (en) Design configuration method for an automation system
Kennedy Custom Control
Nemes Adaptive Interfaces for Robots
Wang Wise-shopfloor: a portal toward collaborative manufacturing

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