[go: up one dir, main page]

JP6538761B2 - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
JP6538761B2
JP6538761B2 JP2017122480A JP2017122480A JP6538761B2 JP 6538761 B2 JP6538761 B2 JP 6538761B2 JP 2017122480 A JP2017122480 A JP 2017122480A JP 2017122480 A JP2017122480 A JP 2017122480A JP 6538761 B2 JP6538761 B2 JP 6538761B2
Authority
JP
Japan
Prior art keywords
unit
information
control point
coordinate system
control
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
Application number
JP2017122480A
Other languages
English (en)
Other versions
JP2019008479A (ja
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
Application filed by Fanuc Corp filed Critical Fanuc Corp
Priority to JP2017122480A priority Critical patent/JP6538761B2/ja
Priority to US15/993,857 priority patent/US10935953B2/en
Priority to DE102018209832.8A priority patent/DE102018209832B4/de
Priority to CN201810638382.9A priority patent/CN109116810B/zh
Publication of JP2019008479A publication Critical patent/JP2019008479A/ja
Application granted granted Critical
Publication of JP6538761B2 publication Critical patent/JP6538761B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4142Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor
    • 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/4093Numerical 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 part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • 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
    • 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/4083Adapting programme, configuration
    • 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/33Director till display
    • G05B2219/33111Graphic configuration control, connect pictures, objects to each other
    • 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/34013Servocontroller
    • 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/34015Axis controller
    • 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/34083Interpolation general
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39109Dual arm, multiarm manipulation, object handled in cooperation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

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

Description

本発明は、指定した制御点と座標系に対して同期・重畳制御できる数値制御装置に関する。
数値制御装置において同期制御をする際、通常は、ある系統の物理軸移動量を、他の系統の物理軸移動量にコピーすることにより、例えば、ワークを両持ちしたり、ワークを両面から加工したりする。具体的には、図64に示すように、ワーク500を、系統1の直進軸Z1に設置された把持部510と、系統2の直進軸Z2に設置された把持部520とで両持ちし、系統1の直進軸X1に設置された工具530で加工する際、系統1の直進軸Z1における移動量を、系統2の直進軸Z2における移動量にコピーすることにより、系統2の直進軸Z2を系統1の直進軸Z1と同じ分移動させることで、ワーク500の両端を把持しながら、ワーク500を移動させる。
また、数値制御装置において重畳制御をする際、通常は、上記の同期制御をしつつ、更に自系統による指令を加算することにより、同一のワークに対して複数の系統で同時に異なる加工を行っている。具体的には、図65に示すように、ワーク550を系統1の直進軸Z1に設置された把持部560で把持し、系統1の直進軸X1に設置された工具570で側面加工する際、把持部560と系統2の直進軸Z2とが同期制御による移動をしつつ、軸Z2に設置された工具580に対して重畳指令することにより、軸Z2に穴あけ動作の移動量が加算され、ワーク550の端面に穴開けを行う。
この点、例えば、特許文献1は、双腕協調を的確に行うために、マスタの制御部とスレーブの制御部に双腕協調動作が指令されると、マスターアームが移動すべき通過点が、マスタとスレーブの共通座標系で表わしたデータで算出され、これを基にスレーブアームが移動すべき点が求められる発明を開示している。
特開平06−071580号公報
しかし、例えば、ある回転軸の回転に伴い、この回転軸に物理的に連繋された他の軸が移動する場合のように、軸の移動方向が動的に変わるような場合には、実移動方向を加味して複数の軸を動かす必要がある。
例えば、図66に示す同期制御においては、系統1の回転軸B1上に直進軸Z1が設置され、系統2の直進軸X2に垂直に直進軸Z2が設置され、直進軸Z2上に回転軸B2が設置されている。ワーク600を、直進軸Z1と回転軸B2の各々に設置された把持部610及び把持部620で把持する場合、ワーク600の把持を維持するためには、直進軸Z1及び回転軸B1の移動に合わせて、直進軸Z2、直進軸X2、回転軸B2を複合的に移動させる必要がある。
同様に、図67に示す重畳制御においては、系統1の回転軸B1上に直進軸Z1が設置され、系統2の直進軸X2に垂直に直進軸Z2が設置され、直進軸Z2上に回転軸B2が設置されている。ワーク650を、直進軸Z1に設置された把持部660で把持しつつ、回転軸B2に設置された工具670で穴開けする場合、直進軸Z1、回転軸B1の座標値を考慮して、直進軸Z2、回転軸X2を複合的に移動させる必要がある。
このように、現在は、例えば軸の移動方向が動的に変わるような、複雑な構成の機械に対して、同期制御や重畳制御を行うことは困難である。
そこで、本発明は、複雑な構成の機械に対して、容易かつ柔軟に同期制御や重畳制御を行うことが可能な数値制御装置を提供することを目的とする。
(1) 本発明によれば、第1要素と第2要素の関係を設定する要素間関係設定部(例えば、後述の要素間関係設定部113)と、前記第1要素と前記第2要素の関係から関係出力を計算する要素間関係出力計算部(例えば、後述の要素間関係出力計算部114)と、前記関係出力に基づき関係制御を行う要素間関係制御部(例えば、後述の要素間関係制御部115)と、を備える数値制御装置(例えば、後述の数値制御装置100)が提供される。
(2) (1)に記載の数値制御装置において、前記要素間関係設定部は、第1制御点を前記第1要素として設定し、第2制御点を前記第2要素として設定し、前記要素間関係出力計算部は、前記第1制御点の第1座標系上の第1移動先を生成する第1制御点移動先生成部(例えば、後述の第1制御点移動先生成部131)と、前記第2制御点の第2座標系上の第2移動先を生成する第2制御点移動先生成部(例えば、後述の第2制御点移動先生成部132)と、を備え、前記第1移動先及び前記第2移動先とを関係出力として出力し、前記要素間関係制御部は、前記第1移動先から前記第1制御点及び前記第1座標系を構成する各軸の移動先である第1各軸移動先を生成する第1各軸移動先生成部(例えば、後述の第1各軸移動先生成部141)と、前記第2移動先と前記第1各軸移動先とから前記第2制御点及び前記第2座標系を構成する各軸の移動先である第2各軸移動先を生成する第2各軸移動先生成部(例えば、後述の第2各軸移動先生成部142)と、前記第1制御点及び前記第1座標系を構成する各軸を前記第1各軸移動先に移動させる第1移動実行部(例えば、後述の第1移動実行部143)と、前記第2制御点及び前記第2座標系を構成する各軸を前記第2各軸移動先に移動させる第2移動実行部(例えば、後述の第2移動実行部144)と、を備えてもよい。
(3) (2)に記載の数値制御装置において、前記第1制御点移動先生成部は、前記第1制御点の前記第1座標系上の第1現在位置を計算する第1現在位置計算部(例えば、後述の第1現在位置計算部151)と、前記第1制御点の前記第1座標系上の第1現在姿勢を計算する第1現在姿勢計算部(例えば、後述の第1現在姿勢計算部152)と、前記第1制御点に対して前記第1座標系上にて与えられた第1指令値から補間周期毎の第1指令位置移動情報と第1指令姿勢変更情報とを生成する第1補間情報生成部(例えば、後述の第1補間情報生成部153)と、を備え、前記第1現在位置と前記第1現在姿勢と前記第1指令位置移動情報と前記第1指令姿勢変更情報とから前記第1移動先を計算し、前記第2制御点移動先生成部は、前記第2制御点の前記第2座標系上の第2現在位置を計算する第2現在位置計算部(例えば、後述の第2現在位置計算部161)と、前記第2制御点の前記第2座標系上の第2現在姿勢を計算する第2現在姿勢計算部(例えば、後述の第2現在姿勢計算部162)と、を備え、前記第2現在位置と前記第2現在姿勢とから前記第2移動先を計算してもよい。
(4) (2)に記載の数値制御装置において、前記第1制御点移動先生成部は、前記第1制御点の前記第1座標系上の第1現在位置を計算する第1現在位置計算部(例えば、後述の第1現在位置計算部151)と、前記第1制御点の前記第1座標系上の第1現在姿勢を計算する第1現在姿勢計算部(例えば、後述の第1現在姿勢計算部152)と、前記第1制御点に対して前記第1座標系上にて与えられた第1指令値から補間周期毎の第1指令位置移動情報と第1指令姿勢変更情報とを生成する第1補間情報生成部(例えば、後述の第1補間情報生成部153)と、を備え、前記第1現在位置と前記第1現在姿勢と前記第1指令位置移動情報と前記第1指令姿勢変更情報とから前記第1移動先を計算し、前記第2制御点移動先生成部は、前記第2制御点の前記第2座標系上の第2現在位置を計算する第2現在位置計算部(例えば、後述の第2現在位置計算部161)と、前記第2制御点の前記第2座標系上の第2現在姿勢を計算する第2現在姿勢計算部(例えば、後述の第2現在姿勢計算部162)と、前記第2制御点に対して前記第2座標系上にて与えられた第2指令値から補間周期毎の第2指令位置移動情報と第2指令姿勢変更情報とを生成する第2補間情報生成部(例えば、後述の第2補間情報生成部163)と、を備え、前記第2現在位置と前記第2現在姿勢と前記第2指令位置移動情報と前記第2指令姿勢変更情報とから前記第2移動先を計算してもよい。
(5) (3)又は(4)に記載の数値制御装置において、前記第1補間情報生成部は、位置変換情報により前記第1指令位置移動情報を変換する第1指令位置移動情報変換部(例えば、後述の第1指令位置移動情報変換部171)と、姿勢変換情報により前記第1指令姿勢変更情報を変換する第1指令姿勢変更情報変換部(例えば、後述の第1指令姿勢変更情報変換部172)と、を備えてもよい。
(6) (4)に記載の数値制御装置において、前記第2補間情報生成部は、位置変換情報により前記第2指令位置移動情報を変換する第2指令位置移動情報変換部(例えば、後述の第2指令位置移動情報変換部181)と、姿勢変換情報により前記第2指令姿勢変更情報を変換する第2指令姿勢変更情報変換部(例えば、後述の第2指令姿勢変更情報変換部182)と、を備えてもよい。
(7) (4)に記載の数値制御装置において、前記第1指令値をそのまま前記第2指令値としてもよい。
(8) (2)〜(7)に記載の数値制御装置において、前記第1座標系と前記第2座標系は同一であってもよい。
(9) (1)に記載の数値制御装置において、前記要素間関係設定部は、関係式を取得する関係式取得部(例えば、後述の関係式取得部121)と、前記関係式を解析する構文解析部(例えば、後述の構文解析部122)と、を備え、前記構文解析部の解析結果を前記第1要素と前記第2要素との関係として設定し、前記要素間関係出力計算部は、前記第1要素と第2要素との関係の各関係式要素を辿る関係巡回部(例えば、後述の関係巡回部133)を備え、前記関係巡回部は、辿りついた前記関係式要素毎の種別に応じて関係出力処理を行う関係出力処理部(例えば、後述の関係出力処理部134)を備えてもよい。
(10) (9)に記載の数値制御装置において、前記関係式は、少なくとも、前記第1要素としての第1制御点の情報、前記第1要素としての第1座標系の情報、前記第2要素としての第2制御点の情報、前記第2要素としての第2座標系の情報、前記第1制御点の前記第1座標系における第1位置関係情報、前記第2制御点の前記第2座標系における第2位置関係情報、制御構文、数学演算命令、定数、変数、変数の型情報、制御点に対する指令値情報、数値制御装置の内部状態を表す情報、数値制御装置に対する入力情報、数値制御装置からの出力情報、のいずれか1つを前記関係式要素として含んでもよい。
(11) (9)に記載の数値制御装置において、前記構文解析部は、解析結果として構文木を生成し、前記関係巡回部は、前記構文木の各関係式要素を再帰的に辿ってもよい。
(12) (11)に記載の数値制御装置において、前記構文解析部は、構文リストを生成する構文リスト生成部(例えば、後述の構文リスト生成部191)と、前記構文リストを構文木に変換する構文変換部(例えば、後述の構文変換部193)と、を備え、前記構文木を解析結果としてもよい。
(13) (9)に記載の数値制御装置において、前記構文解析部は、解析結果として構文リストを生成し、前記関係巡回部は、前記構文リストの各関係式要素を順次的に辿ってもよい。
(14) (13)に記載の数値制御装置において、前記構文解析部は、構文木を生成する構文木生成部(例えば、後述の構文木生成部192)と、前記構文木を構文リストに変換する構文変換部(例えば、後述の構文変換部193)と、を備え、前記構文リストを解析結果としてもよい。
(15) (9)に記載の数値制御装置において、前記関係出力処理は、少なくとも、制御点情報を処理する制御点情報処理部(例えば、後述の制御点情報処理部201)、座標系情報を処理する座標系情報処理部(例えば、後述の座標系情報処理部202)、制御点の位置情報を処理する制御点位置情報処理部(例えば、後述の制御点位置情報処理部203)、制御構文を処理する制御構文処理部(例えば、後述の制御構文処理部204)、数学演算命令を処理する数学演算処理部(例えば、後述の数学演算処理部205)、定数を処理する定数処理部(例えば、後述の定数処理部206)、変数を処理する変数処理部(例えば、後述の変数処理部207)、変数の型情報を処理する型情報処理部(例えば、後述の型情報処理部208)、制御点に対する指令値を処理する制御点指令値処理部(例えば、後述の制御点指令値処理部209)、数値制御装置の内部情報を処理する内部情報処理部(例えば、後述の内部情報処理部210)、数値制御装置への入力情報を処理する入力情報処理部(例えば、後述の入力情報処理部211)、数値制御装置からの出力情報を処理する出力情報処理部(例えば、後述の出力情報処理部212)、のいずれか1つを備えてもよい。
(16) (1)に記載の数値制御装置において、前記要素間関係制御部は、前記要素間関係出力計算部が計算した前記関係出力に基づき、数値制御装置の出力情報を操作する出力操作部(例えば、後述の出力操作部145)を備えてもよい。
(17) (16)に記載の数値制御装置において、前記関係出力は軸移動出力を含み、前記出力操作部は、前記軸移動出力に基づいて各制御点が各座標系において設定された移動先に来るよう前記各制御点及び前記各座標系を構成する各軸の座標値を計算し、移動させる制御点移動部(例えば、後述の制御点移動部221)を備えてもよい。
(18) (16)に記載の数値制御装置において、前記関係出力は信号出力を含み、前記出力操作部は、前記信号出力に基づいて各信号が設定された出力値となるよう制御する信号制御部(例えば、後述の信号制御部222)を備えてもよい。
(19) (16)に記載の数値制御装置において、前記関係出力は変数出力を含み、前記出力操作部は、前記変数出力に基づいて各変数が設定された出力値となるよう制御する変数制御部(例えば、後述の変数制御部223)を備えてもよい。
(20) (16)に記載の数値制御装置において、前記関係出力は通信情報出力を含み、前記出力操作部は、前記通信情報出力に基づいて各通信情報が設定された出力値となるよう制御する通信情報制御部(例えば、後述の通信情報制御部224)を備えてもよい。
(21) (1)〜(20)に記載の数値制御装置において、機械構成情報をグラフ形式で有しており、このグラフの全ノードにおいて制御点と座標系が定義されていてもよい。
(22) (21)に記載の数値制御装置において、前記第1要素としての第1座標系と、前記第2要素としての第2座標系は同一のノードに定義されていてもよい。
本発明によれば、複雑な構成の機械に対して、容易かつ柔軟に同期制御や重畳制御を行うことが可能となる。
本発明の実施形態に係る数値制御装置の構成例を示す図である。 本発明の実施形態に係る数値制御装置が備えるCPU(制御部)の機能ブロック図である。 本発明の実施形態に係る数値制御装置が備える要素間関係設定部の機能ブロック図である。 本発明の実施形態に係る数値制御装置が備える要素間関係出力計算部の機能ブロック図である。 本発明の実施形態に係る数値制御装置が備える要素間関係制御部の機能ブロック図である。 本発明の実施形態に係る数値制御装置が備える第1制御点移動先設定部の機能ブロック図である。 本発明の実施形態に係る数値制御装置が備える第2制御点移動先生成部の機能ブロック図である。 本発明の実施形態に係る数値制御装置が備える第1補間情報生成部の機能ブロック図である。 本発明の実施形態に係る数値制御装置が備える第2補間情報生成部の機能ブロック図である。 本発明の実施形態に係る数値制御装置が備える構文解析部の機能ブロック図である。 本発明の実施形態に係る数値制御装置が備える関係出力処理の機能ブロック図である。 本発明の実施形態に係る数値制御装置が備える出力操作部の機能ブロック図である。 本発明の実施形態における機械構成木の生成方法の説明図である。 本発明の実施形態における機械構成木の生成方法の説明図である。 本発明の実施形態における機械構成木の生成方法の説明図である。 本発明の実施形態における機械構成木の生成方法を示すフローチャートである。 本発明の実施形態における機械の構成要素の親子関係の説明図である。 本発明の実施形態における機械の構成要素の親子関係の説明図である。 ユニットを機械構成機に挿入する方法の説明図である。 ユニットを機械構成機に挿入する方法の説明図である。 ユニットを機械構成機に挿入する方法の説明図である。 本発明の実施形態に係る機械構成の例を示す図である。 機械構成木の生成対象となる機械の例を示す図である。 機械構成木の生成対象となる機械に対応する機械構成木の例を示す図である。 本発明の実施形態において、機械の各ノードに座標系及び制御点が挿入された例を示す図である。 本発明の実施形態における、座標系及び制御点が挿入された機械構成木の例を示す図である。 本発明の実施形態において、各ノードにオフセット及び姿勢マトリクスが挿入される機械の例を示す図である。 本発明の実施形態において、機械の各ノードにオフセット及び姿勢マトリクスが挿入された例を示す図である。 本発明の実施形態において、機械構成木に制御点を挿入する生成動作を示す図である。 本発明の実施形態における、座標系及び制御点が挿入された機械構成木の例を示す図である。 本発明の実施形態における同期・重畳制御方法を示すフローチャートである。 本発明の実施形態における制御開始指令のコマンドの文例である。 本発明の実施形態における制御開始指令のコマンドの文例である。 本発明の実施形態における制御開始指令のコマンドの文例である。 本発明の実施形態における制御開始指令のコマンドの文例である。 本発明の実施形態における同期・重畳制御方法を示すフローチャートである。 本発明の実施形態における同期・重畳制御方法を示すフローチャートである。 本発明の実施形態における同期・重畳制御方法を示すフローチャートである。 本発明の実施形態における同期・重畳制御方法を示すフローチャートである。 本発明の実施形態における機械構成例である。 本発明の実施形態における機械構成木の設定例である。 本発明の実施形態における機械構成例である。 本発明の実施形態における機械構成例である。 本発明の実施形態における同期・重畳制御方法を示すフローチャートである。 本発明の実施形態における、次の補間位置・次の補間姿勢の算出方法の説明図である。 本発明の実施形態における、次の補間位置・次の補間姿勢の算出方法の説明図である。 本発明の実施形態における、次の補間位置・次の補間姿勢の算出方法の説明図である。 本発明の実施形態における、次の補間位置・次の補間姿勢の算出方法の説明図である。 本発明の実施形態における、次の補間位置・次の補間姿勢の算出方法の説明図である。 本発明の実施形態における、次の補間位置・次の補間姿勢の算出方法の説明図である 本発明の実施形態の適用例としての同期制御の説明図である。 本発明の実施形態の適用例としての同期制御のコマンド例である。 本発明の実施形態の適用例としての重畳制御の説明図である。 本発明の実施形態の適用例としての重畳制御のコマンド例である。 本発明の実施形態の適用例としてのバランスカットの説明図である。 本発明の実施形態の適用例としてのバランスカットのコマンド例である。 本発明の実施形態の適用例としての同時多面5軸加工の説明図である。 本発明の実施形態の適用例としての同時多面5軸加工のコマンド例である 本発明の実施形態における同期制御の関係式の例である。 本発明の実施形態における関係式と当該関係式に対応する構文木の例である。 本発明の実施形態における関係式と当該関係式に対応する構文リストの例である。 本発明の実施形態における同期・重畳制御方法を示すフローチャートである。 本発明の実施形態における同期・重畳制御方法を示すフローチャートである。 本発明の実施形態における同期・重畳制御方法を示すフローチャートである。 本発明の実施形態における同期・重畳制御方法を示すフローチャートである。 本発明の実施形態における同期・重畳制御方法を示すフローチャートである。 本発明の実施形態における同期・重畳制御方法を示すフローチャートである。 本発明の実施形態における同期・重畳制御方法を示すフローチャートである。 本発明の実施形態における同期・重畳制御方法を示すフローチャートである。 本発明の実施形態における同期・重畳制御方法を示すフローチャートである。 本発明の実施形態における同期・重畳制御方法を示すフローチャートである。 本発明の実施形態における同期・重畳制御方法を示すフローチャートである。 本発明の実施形態における同期・重畳制御方法を示すフローチャートである。 本発明の実施形態における同期・重畳制御方法を示すフローチャートである。 本発明の実施形態における同期・重畳制御方法を示すフローチャートである。 本発明の実施形態における同期・重畳制御方法を示すフローチャートである。 本発明の実施形態における同期・重畳制御方法の適用例を示す図である。 本発明の実施形態における同期・重畳制御方法で用いられる関係式の例を示す図である。 本発明の実施形態における同期・重畳制御方法の適用例を示す図である。 本発明の実施形態における同期・重畳制御方法で用いられる関係式の例を示す図である。 従来の同期制御方法の例を示す図である。 従来の重畳制御方法の例を示す図である。 複雑な機械構成例を示す図である。 複雑な機械構成例を示す図である。
以下、本発明の実施形態について、図1〜図63Bを参照しながら詳述する。まず、本発明の実施形態に係る数値制御装置の構成について説明する。
〔1.発明の構成〕
図1には、本発明の実施形態に係る数値制御装置100の構成例が示されている。数値制御装置100は、主として、CPU11と、ROM12と、RAM13と、CMOS14と、インタフェース15、18、19と、PMC(プログラマブル・マシン・コントローラ)16と、I/Oユニット17と、軸制御回路30〜34と、サーボアンプ40〜44と、スピンドル制御回路60と、スピンドルアンプ61とを備える。
CPU11は数値制御装置100を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステムプログラムを、バス20を介して読み出し、該システムプログラムに従って数値制御装置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を指令された回転速度で回転させ、工具を駆動する。
スピンドルモータ62には、歯車あるいはベルト等でパルスエンコーダ63が結合されている。パルスエンコーダ63は、主軸の回転に同期して帰還パルスを出力する。その帰還パルスは、バス20を経由してCPU11によって読み取られる。
なお、図1に示す数値制御装置100の構成例では、軸制御回路30〜34の5つの軸制御回路と、サーボモータ50〜54の5つのサーボモータが示されている。しかし、本発明は、これには限定されず、任意の個数の軸制御回路及びサーボモータを備えることが可能である。
図2は、上記のCPU11(以下では、「制御部11」とも呼称する)が、ROM12に格納されたシステムプログラム及びアプリケーションプログラムを、バス20を介して読み出し、該システムプログラム及びアプリケーションプログラムに従って実現する機能を示す機能ブロック図である。CPU11は、グラフ生成部111と、制御点座標系挿入部112と、要素間関係設定部113と、要素間関係出力計算部114と、要素間関係制御部115とを備える。
グラフ生成部111は、制御対象の機械構成をグラフ形式で生成する。その詳細な動作については、以下の「2.機械構成木の生成」で詳述する。
制御点座標系挿入部112は、機械構成のグラフに対し、制御点及び座標系を挿入する。その詳細な動作については、以下の「3.制御点と座標値の自動挿入」で詳述する。
要素間関係設定部113は、マスタの制御点を「第1制御点」、スレーブの制御点を「第2制御点」とした場合、第1制御点を第1要素として設定し、第2制御点を第2要素として設定し、第1要素と第2要素の関係を設定する。なお、「第1要素」及び「第2要素」は、制御点に限定されない。
要素間関係出力計算部114は、第1要素と前記第2要素の関係から関係出力を計算する。
要素間関係制御部115は、関係出力に基づき関係の制御を行う。
これらの詳細な動作については、以下の「4.同期・重畳制御方法」で詳述する。
図3は、要素間関係設定部113の機能ブロック図である。要素間関係設定部113は、関係式取得部121と構文解析部122とを備える。
後述のように数値制御装置100が後述の関係式を用いて制御を実行する場合に、関係式取得部121はこの関係式を取得し、構文解析部122は、この関係式を解析する。また、後述のように数値制御装置100が構文木を生成する場合には、構文解析部122は、解析結果として構文木を生成する。あるいは、後述のように数値制御装置100が構文リストを生成する場合には、構文解析部122は、解析結果として構文リストを生成する。更に、要素間関係設定部113は、構文解析部122の解析結果を第1要素と第2要素との関係として設定する。
図4は、要素間関係出力計算部114の機能ブロック図である。要素間関係出力計算部114は、第1制御点移動先生成部131と、第2制御点移動先生成部132と、関係巡回部133を備え、関係巡回部133は関係出力処理部134を備える。
第1制御点移動先生成部131は、第1制御点の第1座標系上の第1移動先を生成し、第2制御点移動先生成部132は、第2制御点の第2座標系上の第2移動先を生成する。この場合、要素間関係出力計算部114は、第1移動先及び第2移動先を関係出力として出力する。
後述のように数値制御装置100が要素間の関係式を用いて制御を実行する場合に、関係巡回部133は、第1要素と第2要素との関係の各関係式要素を辿り、関係出力処理部134は、関係巡回部133が辿りついた関係式要素毎の種別に応じて関係出力処理を行う。また、後述のように数値制御装置100が構文木を生成する場合には、関係巡回部133は、構文木の各関係式要素を再帰的に辿り、数値制御装置100が構文リストを生成する場合には、構文リストの各関係式要素を順次的に辿る。
図5は、要素間関係制御部115の機能ブロック図である。要素間関係制御部115は、第1各軸移動先生成部141、第2各軸移動先生成部142、第1移動実行部143、第2移動実行部144、出力操作部145を備える。
第1各軸移動先生成部141は、第1移動先から第1制御点及び第1座標系を構成する各軸の移動先である第1各軸移動先を生成する。第2各軸移動先生成部142は、第2移動先と第1各軸移動先とから第2制御点及び第2座標系を構成する各軸の移動先である第2各軸移動先を生成する。第1移動実行部143は、第1制御点及び第1座標系を構成する各軸を第1各軸移動先に移動させる。第2移動実行部144は、第2制御点及び第2座標系を構成する各軸を第2各軸移動先に移動させる。
また、後述のように数値制御装置100が要素間の関係式を用いて制御を実行する場合に、出力操作部145は、要素間関係出力計算部114が計算した関係出力に基づき、数値制御装置100の出力情報を操作する。
なお、ここでの「各軸」とは、直進軸や回転軸等の物理的な軸のことである。
図6は、第1制御点移動先生成部131の機能ブロック図である。第1制御点移動先生成部131は、第1現在位置計算部151、第1現在姿勢計算部152、及び第1補間情報生成部153を備える。
第1現在位置計算部151は、第1制御点の第1座標系上の第1現在位置を計算する。第1現在姿勢計算部152は、第1制御点の前記第1座標系上の第1現在姿勢を計算する。第1補間情報生成部153は、第1制御点に対して第1座標系上にて与えられた第1指令値から、補間周期毎の第1指令位置移動情報と第1指令姿勢変更情報とを生成する。
第1制御点移動先生成部131は、第1現在位置と第1現在姿勢と第1指令位置移動情報と第1指令姿勢変更情報とから第1移動先を計算する。
図7は、第2制御点移動先生成部132の機能ブロック図である。第2制御点移動先生成部132は、第2現在位置計算部161、第2現在姿勢計算部162、及び第2補間情報生成部163を備える。
第2現在位置計算部161は、第2制御点の第2座標系上の第2現在位置を計算する。第2現在姿勢計算部162は、第2制御点の前記第2座標系上の第2現在姿勢を計算する。第2補間情報生成部163は、第2制御点に対して第2座標系上にて与えられた第2指令値から、補間周期毎の第2指令位置移動情報と第2指令姿勢変更情報とを生成する。
第2制御点移動先生成部132は、同期制御の場合は、第2現在位置と第2現在姿勢とから、重畳制御の場合は、更に、第2指令位置移動情報と第2指令姿勢変更情報とから第2移動先を計算する。
図8は、第1補間情報生成部153の機能ブロック図である。第1補間情報生成部153は、第1指令位置移動情報変換部171と、第1指令姿勢変更情報変換部172とを備える。
第1指令位置移動情報変換部171は、位置変換情報により第1指令位置移動情報を変換する。第1指令姿勢変更情報変換部172は、姿勢変換情報により第1指令姿勢変更情報を変換する。
図9は、第2補間情報生成部163の機能ブロック図である。第2補間情報生成部163は、第2指令位置移動情報変換部181と、第2指令姿勢変更情報変換部182とを備える。
第2指令位置移動情報変換部181は、位置変換情報により第2指令位置移動情報を変換する。第2指令姿勢変更情報変換部182は、姿勢変換情報により第2指令姿勢変更情報を変換する。
図10は、構文解析部122の機能ブロック図である。構文解析部122は、構文リスト生成部191、構文木生成部192、及び構文変換部193を備える。
構文リスト生成部191は、構文リストを生成する。構文木生成部192は、構文木を生成する。構文変換部193は、構文リストを構文木に、あるいは、構文木を構文リストに変換する。構文解析部122は、構文リスト生成部191が生成した構文リストを解析結果としてもよいし、構文木生成部192が生成した構文木を解析結果としてもよい。また、構文変換部193が、構文リストを構文木に変換する場合には、構文解析部122は、構文木を解析結果とし、構文変換部193が、構文木を構文リストに変換する場合には、構文解析部122は、構文リストを解析結果とする。
図11は、関係出力処理部134の機能ブロック図である。関係出力処理部134は、制御点情報処理部201、座標系情報処理部202、制御点位置情報処理部203、制御構文処理部204、数学演算処理部205、定数処理部206、変数処理部207、型情報処理部208、制御点指令値処理部209、内部情報処理部210、入力情報処理部211、出力情報処理部212を備える。
制御点情報処理部201は、制御点情報を処理する。座標系情報処理部202は、座標系情報を処理する。制御点位置情報処理部203は、制御点の位置情報を処理する。制御構文処理部204は、制御構文を処理する。数学演算処理部205は、数学演算命令を処理する。定数処理部206は、定数を処理する。変数処理部207は、変数を処理する。型情報処理部208は、変数の型情報を処理する。制御点指令値処理部209は、制御点に対する指令値を処理する。内部情報処理部210は、数値制御装置100の内部情報を処理する。入力情報処理部211は、数値制御装置100への入力情報を処理する。出力情報処理部212は、数値制御装置100からの出力情報を処理する。
図12は、出力操作部145の機能ブロック図である。出力操作部145は、制御点移動部221、信号制御部222、変数制御部223、及び通信情報制御部224を備える。
関係出力が軸移動出力を含む場合に、制御点移動部221は、軸移動出力に基づいて各制御点が各座標系において設定された移動先に来るよう各制御点及び各座標系を構成する各軸の座標値を計算し、移動させる。
関係出力が信号出力を含む場合に、信号制御部222は、信号出力に基づいて各信号が設定された出力値となるよう制御する。
関係出力が変数出力を含む場合に、変数制御部223は、変数出力に基づいて各変数が設定された出力値となるよう制御する。
関係出力が通信情報出力を含む場合に、通信情報制御部224は、通信情報出力に基づいて各通信情報が設定された出力値となるよう制御する。
なお、上記の「関係式」は、少なくとも、第1制御点情報、第1座標系情報、第2制御点情報、第2座標系情報、第1制御点の第1座標系における第1位置関係情報、第2制御点の前記第2座標系における第2位置関係情報、制御構文、数学演算命令、定数、変数、変数の型情報、制御点に対する指令値情報、数値制御装置100の内部状態を表す情報、
数値制御装置100に対する入力情報、数値制御装置100からの出力情報のいずれか1つを関係式要素として含む。
ここで、「制御構文」とは、例えば、IF文と、FOR文と、WHILE文と、SWITCH文と、GOTO文と、ELSE文と、ELSE IF文と、DO文と、BREAK文と、CONTINUNE文のうち、いずれか1つ以上を含んでもよい。
また、「数学演算命令」とは、例えば、四則演算と、関係演算と、論理演算と、代入演算と、三角関数と、指数関数と、対数関数のうち、いずれか1つ以上を含んでもよい。
また、「変数」とは、単一のデータと、配列データと、クラスオブジェクトと、クラスオブジェクトの配列のうち、いずれか1つ以上を含んでもよい。
また、「型情報」とは、例えば、整数型と、浮動小数点型と、文字型と、文字列型と、クラス型のうち、いずれか1つ以上を含んでもよい。
また、「数値制御装置100に対する入力情報」とは、例えば、信号入力、センサ、通信情報、フィードバック値に係る情報のうち、いずれか1つ以上を含んでもよい。
また、「数値制御装置100からの出力情報」とは、例えば、モータ50〜54への指令、信号出力、通信情報に係る情報のうち、いずれか1つ以上を含んでもよい。
また、後述のように、重畳指令が第1制御点に対する指令そのものである場合には、第1指令値をそのまま第2指令値としてもよい。
また、同期制御時には、第1座標系と第2座標系とは同一であってもよい。
また、数値制御装置100は、機械構成情報をグラフ形式で有していてもよく、このグラフの全ノードにおいて制御点と座標系が定義されていてもよい。この場合に、第1座標系と前記第2座標系は同一のノードに定義されていてもよい。
なお、上記の「第1指令位置移動情報」、「第1指令姿勢変更情報」、「第2指令位置移動情報」、「第2指令姿勢変更情報」、「位置変換情報」、「姿勢変換情報」は、行列であってもよく、ベクトル形式であってもよく、ロール・ピッチ・ヨー形式であってもよい。
〔2.機械構成木の生成〕
本発明の実施形態に係る数値制御装置100は、最初に、機械構成を表すグラフを生成する。グラフの一例として機械構成木を生成する生成方法について、図13〜図19を参照しながら詳述する。
例として、図13に示す機械の構成を表現する機械構成木の生成方法について説明する。図13の機械においては、Z軸に対して垂直にX軸が設定され、X軸には工具1が設置され、Z軸には工具2が設置されているとする。一方で、Y軸上にB軸が設定され、B軸上にC軸が設定され、C軸にはワーク1とワーク2が設置されているとする。この機械構成を機械構成木として表現する方法は、以下の通りである。
まず、図14に示すように、原点501とノード502A〜502Gのみを配置する。この段階では、原点501とノード502、及びノード502間でのつながりは持たず、原点及びノードの各々の名称も設定されていない。
次に、各軸の軸名称(軸型)、各工具の名称、各ワークの名称、各原点の名称、各軸の物理軸番号(軸型)を設定する。次に、各軸の親ノード(軸型)、各工具の親ノード、各ワークの親ノードを設定する。最後に、各軸の交叉オフセット(軸型)、各工具の交叉オフセット、各ワークの交叉オフセットを設定する。その結果、図15に示す機械構成木が生成される。
なお、機械構成木の各ノードは、上記の各情報に限られず、例えば、識別子(名称)、自身の親ノードの識別子、自身を親とする全ての子ノードの識別子、親ノードに対する相対オフセット(交叉オフセット)、親ノードに対する相対座標値、親ノードに対する相対移動方向(単位ベクトル)、ノード種別(直線軸/回転軸/ユニット(後述)/制御点/座標系/原点等)、物理軸番号、直交座標系と物理座標系の変換式に係る情報を有してもよく、あるいは、有さなくてもよい。
このように各ノードに値を設定していくことにより、数値制御装置100内に機械構成木状のデータ構造を有するデータを生成する。更に、別の機械(又はロボット)を追加する場合も、原点を追加し、更にノードを追加することができる。
上記の機械構成木生成方法、とりわけ各ノードへの各値の設定方法を一般化したフローチャートを図16に示す。
ステップS11において、グラフ生成部111は、ノードに対して設定するパラメータの値を受け取る。
ステップS12において、設定されたパラメータの項目が「自身の親ノード」の場合(S12:YES)には、処理はステップS13に移行する。「自身の親ノード」ではない場合(S12:NO)には、処理はステップS17に移行する。
ステップS13において、パラメータが設定されるノードに、既に親ノードが設定されている場合(S13:YES)には、処理はステップS14に移行する。親ノードが設定されていない場合(S13:NO)には、処理はステップS15に移行する。
ステップS14において、グラフ生成部111は、パラメータが設定されるノードの、現在の親ノードが持つ「子ノード」の項目から、自身の識別子を削除し、機械構成木を更新する。
ステップS15において、グラフ生成部111は、パラメータを設定するノードの該当項目に値を設定する。
ステップS16において、グラフ生成部111は、親ノードに対し、「子ノード」の項目に自身の識別子を追加し、機械構成木を更新した後、フローを終了する。
ステップS17において、グラフ生成部111は、パラメータを設定するノードの該当項目に値を設定した後、フローを終了する。
上記の機械構成木状のデータ構造を有するデータの生成方法を用いることにより、機械の構成要素同士の親子関係を設定することが可能である。
ここで親子関係とは、例えば図17Aのように、2つの回転軸ノード104、105があったとき、一方のノード104の座標値の変化が、他方のノード105の幾何的状態(典型的には、位置・姿勢)に対して一方的に影響を及ぼすような関係のことである。この場合ノード104、105は親子関係にあると呼び、ノード104を親、ノード105を子と呼ぶ。
しかし、例えば図17Bに示すように、2つの直線軸ノード102、103と4つのフリージョイント101により構成された機械構成においては、ノード102、103の一方の座標値(長さ)が変わることにより、他方の幾何的状態だけでなく、自身の幾何的状態も変わるような、相互に影響を及ぼす機構が存在する。このような場合は、互いに親であり子、すなわち親子関係が双方向であるとみなすことができる。
このように、あるノードの変化が他のノードに互いに影響し合うような機構については、利便性の観点から、1つのユニットとして捉え、このユニットを機械構成木に挿入することにより全体の機械構成木を生成する。ユニットは、図18Aのように二つの接続点110及び接続点120を持っており、ユニットが図18Bのように機械構成木に挿入された場合、図18Cのように、親ノードは接続点120に接続され、また、子ノードは接続点110に対して接続される。また、ユニットは、接続点120から接続点110への変換マトリクスを持っている。この変換マトリクスは、ユニットに含まれる各ノードの座標値によって表される。例えば図19のような機械構成の場合、接続点120における位置・姿勢を表す同次マトリクスをMとし、接続点110における位置・姿勢を表す同次マトリクスをMとすると、それらのマトリクス間の変換式はユニットに含まれる各直線軸ノードの座標値x、xを用いて以下のように表される。
Figure 0006538761
この機械構成を表すユニットは上記の[数1]の数式中のTのような同次変換マトリクスを持つ。同次マトリクスとは、以下の[数2]の数式のように位置・姿勢をまとめて表現できる4×4マトリクスのことである。
Figure 0006538761
また、親子関係が相互でない場合であっても、計算処理や設定を簡単にするために、ある複数のノードを予め1つにまとめたユニットを定義し、機械構成木中に構成してもよい。
上記のように、本実施形態においては、機械構成のグラフは、複数の軸をまとめて1つにしたユニットを構成要素として含むことができる。
〔3.制御点と座標値の自動挿入〕
機械構成上の様々な位置を、制御点として指定すると共に、機械構成上の様々な箇所の座標系を設定するため、上記の「2.機械構成木の生成」で生成された機械構成木を用いて、以下の方法を実施する。
例えば、図20Aに示すロータリインデックスマシン300においては、Z1軸に対して垂直にX1軸が設定され、X1軸に工具1が設置されている。また、Z2軸に対して垂直にX2軸が設定され、X2軸上に工具2が設置されている。更に、テーブルにおいては、C軸上にC1軸とC2軸が並列に設定され、C1軸とC2軸の各々にワーク1とワーク2が設置されているとする。この機械構成を機械構成木で表わすと、図20Bに示す機械構成木となる。
各ワークから機械原点に連なる一連のノードを例に取ると、図21に示すように、機械原点、C軸、C1軸、C2軸、ワーク1、ワーク2の各々に座標系と制御点を自動挿入する。これを、テーブルに対してのみならず、各工具から機械原点に連なる一連のノード、すなわちX1軸、X2軸、Z1軸、Z2軸、工具1、工具2のすべてに対して実施する。その結果、図22に示すように、機械構成木を構成するすべてのノードに対して、各々に対応する制御点と座標系が自動挿入される。通常、加工を行う場合にはワークに座標系、工具を制御点として指定する。これにより、例えば、ワーク自身を所定の位置へ移動させるために、ワークに制御点を指定したい場合や、ある工具で別の工具を研磨するために、工具自身に座標系を設定したい場合といった様々な場合に対応することも可能となる。
また、図23Aに示すように、各制御点及び座標系は、オフセットを有する。そのため、ノード中心から離れた点を制御点や座標系原点にすることも可能である。更に、各制御点及び座標系は姿勢マトリクスを持つ。この姿勢マトリクスは、制御点の姿勢マトリクスである場合、制御点の姿勢(向き、傾き)を表し、座標系の姿勢マトリクスの場合、座標系の姿勢を表わす。図23Bに示す機械構成木においては、オフセット及び姿勢マトリクスは、各々が対応するノードに紐づく形で表現される。更に、各制御点及び座標系は、機械構成木のルートまでの経路上に存在するノードの「移動」及び「交叉オフセット」それぞれを加味するか/しないかの情報を持っており、それらを設定できる。
上記の制御点の自動挿入方法を一般化したフローチャートを図24に示す。このフローチャートは、詳細には、チャートAとチャートBとを含み、後述のように、チャートAの途中でチャートBが実行されるという構成となっている。
まず、チャートAについて説明する。
ステップS21において、グラフ生成部111は、機械構成木を設定する。
ステップS22において、チャートBを実行し、チャートAのフローを終了する。
次に、チャートBについて説明する。
チャートBのステップS31において、ノードは制御点・座標系を挿入済である場合(S31:YES)には、フローを終了する。ノードに制御点・座標系を挿入済でない場合(S31:NO)には、処理はステップS32に移行する。
ステップS32において、制御点座標系挿入部112は、ノードに制御点・座標系を挿入し、変数nを1つスタックする。また、n=1とする。
ステップS33において、ノードにn番目の子ノードが存在する場合(S33:YES)には、処理はステップS34に移行する。ノードにn番目の子ノードが存在しない場合(S33:NO)には、処理はステップS36に移行する。
ステップS34において、n番目の子ノードについて、チャートB自身を再帰的に実行する。
ステップS35において、nを1だけインクリメントする。すなわちn=n+1とし、処理はステップS33に戻る。
ステップS36において、変数nを1つポップし、チャートBのフローを終了する。
上記の方法により、制御点座標系挿入部112は、機械構成のグラフの各ノードに対し、制御点及び座標系をノードとして挿入する。なお、上記では、制御点及び座標系をノードとして追加する場合の実施例を示したが、図25に示すように、制御点座標系挿入部112は、機械構成のグラフの各ノードに対し、制御点及び座標系を情報として持たせる実施形態も同様に可能である。
〔4.同期・重畳制御方法〕
本発明に係る同期・重畳制御方法は、マスタの制御点を「第1制御点」、スレーブの制御点を「第2制御点」とした場合、延いては、マスタに係る各要素に「第1」を付し、スレーブに係る各要素に「第2」を付した場合、第1制御点と第2制御点とに関連して定義された関係式を用いる制御(これを以降では、「フレキシブル同期制御」とも呼称する)のフローと、当該関係式を用いない制御のフローとを有するが、共通して、以下の方法により、同期・重畳制御を実施する。
すなわち、数値制御装置100は、上記の方法により、制御対象の機械の機械構成情報をグラフ形式で持っており、このグラフの全ノードにおいて、制御点と座標系とが定義されている。
まず、機械構成グラフ中の、第1制御点、第1座標系、第2制御点、第2座標系を指定し、制御開始を指令する。
次に、第1制御点に対して第1指令値が与えられ、第1制御点および第1座標系を構成する各軸の第1各軸移動先が決定される。第2制御点に対して第2指令値が与えられたとき、第1各軸移動先および第2指令値とから、第2制御点および第2座標系を構成する各軸の第2各軸移動先が決定される。
そして、第1制御点および第1座標系を構成する各軸が第1各軸移動先に来るよう移動実行され、また第2制御点および第2座標系を構成する各軸が第2各軸移動先に来るよう移動実行される。
第2制御点と第2座標系とは、それぞれ、第1制御点と第1座標系と同一でもよく、異なってもよい。
以下、上記の制御方法について、図26〜図63Bを参照しながら、詳述する。図26は、上記の制御方法を反映したフローチャートを示す。
ステップS41において、制御の開始を指令する。
より具体的には、第1制御点、第1座標系、第2制御点、第2座標系を指定し、制御開始指令を行うことで制御を開始する。なお、第2制御点に対しては、第2座標系上の第2指令値を与えてもよい。
なお、第1制御点と第1座標系の指定についてであるが、図27Aは、制御開始指令のコマンドの文例を示す。以下、図27Aの記載の繰り返しとなるが、プログラム内の各行の指令内容について説明する。
1行目の「G54.0 座標系yM0」により、第1座標系を選択する。
2行目の「G43.0 制御点xN0」により、第1制御点を選択する。
3行目の「G99.0」により、第1座標系上で第1制御点に対して制御を開始する。
4行目の「G01 X_Y_Z_」により、第1制御点に対して、第1座標系上で第1指令値を与える。
なお、後述の第2制御点と第2座標系の指定、及び、第2座標系上での第2制御点に対する制御開始指令は、上記第1制御点に対する制御開始後に行ってもよい。
第2制御点と第2座標系の指定についてであるが、図27Bは、制御開始指令のコマンドの文例を示す。以下、図27Bの記載の繰り返しとなるが、プログラム内の各行の指令内容について説明する。
1行目の「G54.9 座標系yM1」により、第2座標系を選択する。
2行目の「G43.9 制御点x」により、第2制御点を選択する。
3行目の「G99.9」により、第2座標系上で第2制御点に対して制御を開始する。
4行目の「G01 X_Y_Z_」により、第2制御点に対して、第2座標系上で第2指令値を与える。
あるいは図27Cのように、第2指令値に対する変換行列を設定した上で制御開始してもよい(指定が無い場合は単位行列としてもよい)。以下、図27Cの記載の繰り返しとなるが、プログラム内の各行の指令内容について説明する。
1行目の「G54.9 座標系yM1」により、第2座標系を選択する。
2行目の「G43.9 制御点x」により、第2制御点を選択する。
3行目の「G99.6[1,0,0,0][0,1,0,0][0,0,−1,0][0,0,0,1]」により、位置変換行列Mを設定する。
4行目の「G99.7[1,0,0,0][0,1,0,0][0,0,−1,0][0,0,0,1]」により、姿勢変換行列Mを設定する。
5行目の「G99.9」により、第2座標系上で第2制御点に対して制御を開始する。
6行目の「G01 X_Y_Z_」により、第2制御点に対して、第2座標系上で第2指令値を与える。
あるいは図27Dのように、第1制御点に対して与えられた第1指令値を、第2制御点に対する第2座標系上の第2指令値とすることができてもよい。以下、図27Dの記載の繰り返しとなるが、プログラム内の各行の指令内容について説明する。
1行目の「G54.9 座標系yM1」により、第2座標系を選択する。
2行目の「G43.9 制御点x」により、第2制御点を選択する。
3行目の「G99.8 制御点z 座標系yM2」により、第1制御点zに対する第1座標系yM2上の指令を第2指令値とする。重畳指令として選択する。
4行目の「G99.9」により、第2座標系上で第2制御点に対して制御開始する。なお、この行において、指令値が無くても、自動的に第1指令値が第2指令値としても扱われる。
ステップS42において、要素間関係設定部113はチャートαを実行する。
ステップS43において、要素間関係出力計算部114はチャートβを実行する。
ステップS44において、要素間関係制御部115はチャートγを実行する。
ステップS45において、制御を終了する場合(S45:YES)には、処理を終了する。制御を終了しない場合(S45:NO)には、処理はステップS43に戻る。
図28は、チャートαのフローを示す。
ステップS51において、関係式を使わない場合(S51:NO)には、処理はステップS52に移行する。ステップS51において、関係式を使う場合(S51:YES)には、処理はステップS53に移行する。
ステップS52において、要素間関係設定部113は、指令で与えられた第1制御点を第1要素、第2制御点を第2要素として、同期関係を設定し、チャートαの処理を終了する。なお、関係式を使わない場合、以降のフローチャートでは、第2指令値の有無によって同期制御か重畳制御かを区別しているが、ここで、「制御開始<同期>、制御開始<重畳>」といった指令によって、制御を区別してもよい。
ステップS53において、要素間関係設定部113は、例えば、「制御開始<関係式0001>」等の指令により指定された関係式を取得し、処理はステップS54に移行する。
ステップS54において、要素間関係設定部113は、関係式から構文木を作成し、チャートαの処理を終了する。
なお、上記のステップS53及びS54の詳細については後述する。
図29は、チャートβのフローを示す。
ステップS61において、関係式を使わない場合(S61:NO)には、処理はステップS62に移行する。ステップS61において、関係式を使う場合(S61:YES)には、処理はステップS63に移行する。
ステップS62において、要素間関係出力計算部114は、チャートXを実行し、チャートβの処理を終了する。
ステップS63において、要素間関係出力計算部114は、チャートFを実行し、チャートβの処理を終了する。
図30は、チャートγのフローを示す。
ステップS71において、関係式を使わない場合(S71:NO)には、処理はステップS72に移行する。ステップS71において、関係式を使う場合(S71:YES)には、処理はステップS73に移行する。
ステップS72において、要素間関係制御部115は、チャートYを実行し、チャートγの処理を終了する。
ステップS73において、要素間関係制御部115は、チャートSを実行し、チャートγの処理を終了する。
なお、図26に記載のフローチャートにおいて、ステップS42においてチャートαを実行し、ステップS43においてチャートβを実行し、ステップS44においてチャートγを実行しているが、本発明の実施形態はこれには限定されない。例えば、関係式を用いない場合、要素間関係出力計算部114が、チャートβにおいてチャートXの一部のフローを実行した後、要素間関係制御部115は、チャートγにおいてチャートYの一部のフローを実行し、その後、要素間関係出力計算部114が、チャートβにおいてチャートXの他のフローを実行してもよい。同様に、関係式を用いる場合、要素間関係出力計算部114が、チャートβにおいてチャートFの一部のフローを実行した後、要素間関係制御部115は、チャートγにおいてチャートSの一部のフローを実行し、その後、要素間関係出力計算部114が、チャートβにおいてチャートFの他のフローを実行してもよい。
〔4.1 関係式を用いない場合の制御〕
〔4.1.1 動作フロー〕
上記のように、関係式を用いない場合は、ステップS41を実行し、チャートαのステップS51、S52を実行した後、チャートβのステップS62においてチャートXを実行し、チャートγのステップS72においてチャートYを実行する。
図31は、チャートXのフローを示す。
ステップS81において、第1現在位置計算部151は、第1制御点の第1座標系上の第1現在位置を計算し、第1現在姿勢計算部152は、第1制御点の第1座標系上の第1現在姿勢を計算する。
より具体的には、例えば、図32Aのような機械に対して図32Bのように機械構成木が設定されており、さらに制御点として制御点x及び座標系として座標系yが指定されている場合、図33A及び図33Bに示すように、各軸x〜xが制御点を構成し、各軸y〜yが座標系を構成する。このとき、指定された制御点の、機械構成木のルート(機械座標系)に対する制御点位置pos・制御点姿勢matは一般的には以下の式により、制御点を構成する各軸位置から求められる。
Figure 0006538761
Figure 0006538761
ただし、記号の意味は以下の通りである。
Figure 0006538761
ofsxi:ノードxの交叉オフセット;
offsetxi:ノードxの交叉オフセットを加味するかしないか;
xi:ノードxが直進軸か回転軸かを区別するフラグ;
xi:ノードxの軸方向;
movexi:ノードxの移動を加味するかしないか;
ofs[ctrl]:制御点の交叉マトリクス;
mat[ctrl]:制御点の姿勢マトリクス;
T(ofs,0):単位行列;
T(ofs,1):ofs分の並行移動行列;
S(x,*,v,0):単位行列;
S(x,直進,v,1):方向vにx移動する並行移動行列;
S(x,回転,v,1):方向v周りにx回転する回転移動行列。
さらに、上記のように求めた機械構成木のルート(機械座標系)に対する制御点位置pos・制御点姿勢matは、以下の式で、指定された座標系に対する制御点位置pos・制御点姿勢matに変換できる。
Figure 0006538761
Figure 0006538761
ただし、記号の意味は以下の通りである。
ofs[coord]:座標系の交叉オフセット;
mat[coord]:座標系の姿勢マトリクス。
よって、ここまでの計算により、指定された制御点と座標系の各軸位置から、指定座標系上の現在位置と現在姿勢を求めることができる。この方法により、第1制御点の第1座標系上の第1現在位置と第1現在姿勢を求めることができる。
なお、機械構成木が設定されていない場合であっても、機械構成と軸の対応関係をある固定的なものと見なし、また固定的な制御点及び座標系から選択させることで、同様の計算が可能である。
ステップS82において、第1補間情報生成部153が、第1制御点に対し与えられた第1座標系上の第1指令値について、補間周期毎に第1指令位置移動行列及び第1指令姿勢移動行列を計算する。
より具体的には、指定制御点の指定座標系上の現在位置行列をMpos1、次の補間位置行列をMpos2とすると、指令位置移動行列Mposは、以下の並行移動行列で表わされる。
Figure 0006538761
また、指定制御点の指定座標系上の現在姿勢行列をMmat1、次の補間姿勢行列をMmat2とすると、指令姿勢変更行列Mmatは、以下の行列で表わされる。
Figure 0006538761
ただし、Mpos1、Mpos2、Mmat1、Mmat2は、ステップS81で求めた現在位置・現在姿勢、及び、次の補間位置・次の補間姿勢により、以下のように定義される。
Figure 0006538761
なお、次の補間位置・次の補間姿勢の算出方法については、詳しくは、以下の「4.1.2 次の補間位置・次の補間姿勢の算出方法」で後述する。
ステップS83において、第1制御点移動先生成部131は、第1現在位置・第1現在姿勢・第1指令位置移動行列・第1指令姿勢移動行列から、第1制御点の第1座標系上の第1移動先を計算し、出力する。
より具体的には、ステップS82で求めた第1制御点の第1座標系上の現在位置pos・現在姿勢matと、第1指令位置移動行列Mposと、第1指令姿勢変更行列Mmatとから、第1座標系上の次の補間位置posと次の補間姿勢matは、以下の式で求められる。
Figure 0006538761
ステップS84において、第2現在位置計算部161は、第2制御点の第2座標系上の第2現在位置を計算し、第2現在姿勢計算部162は、第2制御点の第2座標系上の第2現在姿勢を計算する。
より具体的には、ステップS81と同様の方法により、第2制御点の第2座標系上の第2現在位置と第2現在姿勢が得られる。
ステップS85において、第2指令値がない場合(S85:ない)には、同期制御のため、処理はステップS86に移行する。ステップS85において、第2指令値がある場合(S85:ある)には、重畳制御のため、処理はステップS87に移行する。
ステップS86において、第2現在位置・第2現在姿勢を、そのまま第2制御点の第2座標系上の第2移動先とし、出力する。
ステップS87において、第2補間情報生成部163は、第2制御点に対し与えられた第2座標系上の第2指令値について、補間周期毎に第2指令位置移動行列及び第2指令姿勢移動行列を計算する。
より具体的には、ステップS82と同様の方法により、第2指令位置移動行列・第2指令姿勢移動行列が得られる。
ステップS88において、第2指令位置移動情報変換部181は、位置変換行列Mにより第2指令位置移動行列を変換し、第2指令姿勢変更情報変換部182は、姿勢変換行列Mにより、第2指令姿勢変更行列を変換する。
より具体的には、以下の式により、第2指令位置移動情報変換部181は、位置変換行列Mにより第2指令位置移動行列を変換し、第2指令姿勢変更情報変換部182は、姿勢変換行列Mにより、第2指令姿勢変更行列を変換する。
Figure 0006538761
ステップS89において、第2制御点移動先生成部132は、第2現在位置、第2現在姿勢、第2指令位置移動行列、第2指令姿勢移動行列から、第2制御点の第2座標系上の第2移動先を計算する。
より具体的には、ステップS84で求めた第2現在位置posw2・第2現在姿勢matw2と、ステップS88で求めた第2指令位置移動行列Mpos’と第2指令姿勢変更行列Mmat’とから、第2制御点の第2座標系上の次の補間位置posと次の補間姿勢matは、以下の式で求められる。
Figure 0006538761
図34はチャートYのフローを示す。
ステップS91において、第1各軸移動先生成部141は、第1制御点の第1座標系上の第1移動先から、第1制御点及び第1座標系を構成する各軸の第1各軸移動先を計算する。
より具体的には、第1制御点の第1座標系上の次の補間位置posと、次の補間姿勢matと、第1制御点の各軸座標値xと、第1座標系の各軸座標値yと、第1制御点の機械構成木のルート(機械座標系)に対する補間位置pos、補間姿勢matについて、以下の連立方程式が成り立つ。
Figure 0006538761
Figure 0006538761
上記の連立方程式を解くことで、第1制御点の各軸座標値xと第1座標系の各軸座標値yを求めることができる。連立方程式の解はグレブナー基底を求めることにより得られる。詳しくは、以下の「4.1.2 次の補間位置・次の補間姿勢の算出方法」で後述する。
ステップS92において、第2各軸移動先生成部142は、第2制御点の第2座標系上の第2移動先と第1制御点の第1各軸移動先から、第2制御点と第2座標系の第2各軸移動先を計算する。
より具体的には、ステップS91と同様に、第2制御点及び第2座標系について連立方程式を立て、それを解くことで第2各軸移動先を求めることができる。ただし、第2制御点及び第2座標系に第1各軸移動先が含まれる場合は、それらを連立方程式の解として使用し、第1各軸移動先以外の各軸について解を求める。
ステップS93において、第1移動実行部143は、第1制御点と第1座標系を構成する各軸を、第1各軸移動先に移動し、第2移動実行部144は、第2制御点と第2座標系を構成する各軸を、第2各軸移動先に移動する。
〔4.1.2 次の補間位置・次の補間姿勢の算出方法〕
図35において、機械座標系上における制御点現在位置(X,Y,Z)は、以下の式で求められる。
Figure 0006538761
ただし記号の意味は以下の通りである。
T(ofs):ofs分の並行移動行列;
S(x,直進,v):方向vにx移動する並行移動行列;
S(x,回転,v):方向v周りにx回転する回転移動行列。
図36において、(X,Y,Z)を用いて、指定座標系上における制御点現在位置(XCW,YCW,ZCW)は、以下の式で求められる。
Figure 0006538761
図37において、(XCW,YCW,ZCW)を用いて、指定座標系上における次の補間位置(X’,Y’,Z’)は以下の式で求められる。
Figure 0006538761
ただし、記号の意味は以下の通りである。
F:補間周期毎の移動速度。
図38において、機械座標系上における制御点現在姿勢(I,J,K)は、以下の式で求められる。
Figure 0006538761
ただし、記号の意味は以下の通りである。
S’(x,直進,v):単位行列(何もしない);
S’(x,回転,v):方向v周りにx回転する回転移動行列。
よって、図39において、指定座標系上における制御点現在姿勢(ICW,JCW,KCW)は、以下の式で求められる。
Figure 0006538761
よって、図40において、指定座標系上における次の補間姿勢(I’,J’,K’)は、以下の式で求められる。
Figure 0006538761
以上のように次の補間位置(X’,Y’,Z’)と補間姿勢(I’,J’,K’)を求めたら、制御点位置、制御点姿勢それぞれについて、以下のように連立方程式を立てる。
Figure 0006538761
この連立方程式を各x’、y’に関して解くことで、各軸の次の補間位置が求まる。このとき、辞書式順序x’>x’>・・・>x’>y’>y’>・・・>y’に基づき上記連立方程式のグレブナー基底を求めると、最下位順序y’についての一元多次方程式が求まる。これを解けばy’の解が求められ、この解を用いて他のグレブナー基底についても式を順番に解くことで、上記連立方程式を各x’,y’に関して解を求めることができる。グレブナー基底はBuchburgerアルゴリズムにより求めることができるが、他のアルゴリズムを使っても良い。
〔4.1.3 適用例〕
〔4.1.3.1 同期制御〕
上記のステップS87及びステップS88で特に何もしない、すなわち、第2指令位置移動行列、第2指令姿勢移動行列、位置変換行列、姿勢変換行列を単位行列とした場合には、第2制御点の第2座標系に対する位置関係を保って連れ回るような制御(同期制御)が実現される。
図41Aの例では、制御点zに対する座標系yの上の移動指令等により座標系yは動的に変化するが、制御点xの移動は、その座標系yの変化に連れ回るように制御される。なお、図41Bは、同期制御の場合のコマンド例を示す。
〔4.1.3.2 重畳制御〕
上記のステップS88で特に何もしない、すなわち、位置変換行列、姿勢変換行列を単位行列とした場合には、第2制御点は第2座標系上で第2指令値分だけ移動するような制御(重畳制御)が実現される。
図42Aの例では、制御点zに対する座標系yの上の移動指令等により座標系yは動的に変化するが、制御点xの移動は、動的に変化する座標系y上で第2指令値により重畳指令された経路を辿るように制御される。なお、図42Bは、重畳制御の場合のコマンド例を示す。
〔4.1.3.3 バランスカット〕
第1制御点に対する指令をそのまま第2制御点に対する指令とし、かつ位置変換行列M・姿勢変換行列Mを、例えば以下のように設定する。
Figure 0006538761
この場合、第2制御点が第1制御点に対して面対称に移動し、ワークの両面加工(バランスカット)が実現される。
図43Aの例では、制御点zに対する座標系yの上の移動指令等により座標系yは動的に変化するが、制御点xの移動は、動的に変化する座標系y上において、制御点zと面対称な経路を辿るように制御される。なお、図43Bは、バランスカットの場合のコマンド例を示す。
〔4.1.3.4 同時多面5軸加工(9軸インペラ加工)〕
第1制御点に対する指令をそのまま第2制御点に対する指令とし、かつ位置変換行列M・姿勢変換行列Mを例えば以下のように設定する。
Figure 0006538761
この場合、第2制御点が第1制御点に対して軸対称に移動し、同時多面5軸加工が実現される。
図44Aの例では、制御点zに対する座標系yM2の上の移動指令等により座標系yM1も動的に変化するが、制御点xの移動は、動的に変化する座標系yM1上において、制御点zと軸対称な経路を辿るように制御される。なお、図44Bは、同時多面5軸加工(9軸インペラ加工)の場合のコマンド例を示す。
〔4.2 関係式を用いる場合の制御〕
〔4.2.1 動作フロー〕
上記のように、関係式を用いる場合は、ステップS41を実行し、チャートαのステップS51、S53、S54を実行した後、チャートβのステップS63においてチャートFを実行し、チャートγのステップS73においてチャートSを実行する。
ステップS41において、フレキシブル同期制御を開始する。
より具体的には、例えば、
「G99.1 <equation001>」
といったような指令により、制御の開始を指令する。
このとき、equation001という名前で定義されたフレキシブル同期制御の関係式を取得する。なお、図45は、equation001という名前で定義されたフレキシブル同期制御の関係式の例である。
フレキシブル同期制御の関係式は、特定の制御点の特定の座標系上の座標値や各種制御構文、数学演算等により構成される。上記では、指令によりフレキシブル同期制御を開始したが、例えば電源投入時に、所定のフォルダに格納された複数のフレキシブル同期制御関係式を自動的に開始することで、指令をしなくてもフレキシブル同期制御を開始してもよい。
ステップS54において、構文解析部122が、ステップS53で得た関係式から構文木を作成する。
より具体的には、構文解析方法としては、再帰下降型構文解析法等で構文木を得ることができる。また、他の構文解析法を用いてもよい。図46は、関係式と当該関係式に対応する構文木の例である。
こうして得た構文木を、チャートFにより再帰的に辿りながら処理を行うことで、関係式に従った同期制御を実現できる。同期制御の対象は軸移動だけに限るものではなく、信号出力や通信出力等も含んでもよい。
あるいは、構文解析部122は、解析結果を処理順に並べた構文リストを生成してもよい。図47は、関係式と当該関係式に対応する構文リストの例である。この構文リストにおいて、例えば、0004の行は、レジスタR1、R2の値同士の比較を行い、比較結果をレジスタR3に格納していることを示している。また、0005の行は、レジスタR3が真なら、JUMP0006を実行し、偽なら、JUMP0010を実行することを示している。
なお、本フローチャートでは説明を簡単にするため、演算子として“=”や“>”、制御構文として“if”、情報として指令値、座標値等を用いて例示したが、実際はこれに限るものではなく、関係式中には、位置情報、“switch”や“for”、“while”といったその他の制御構文、四則演算や“sin/cos”等の数学演算命令、数値制御装置の内部状態情報、信号やセンサ出力や接続機器からのフィードバック情報等数値制御装置への入力情報、モータへの指令パルスや信号出力や通信情報等の数値制御装置からの出力情報を含んでもよい。
関係式がそれらを含む場合、それらに対する振る舞いを定義して同様にフローチャートに組み込むことで対応可能である。
図48は、チャートFのフローを示す。
ステップS100において、構文木のルートノードに対して、後述のチャートGを実行し、処理を終了する。
図49は、チャートGのフローを示す。
ステップS101において、要素間関係出力計算部114は、変数nを1つスタックし、n=1とする。
ステップS102において、要素間関係出力計算部114は、後述のチャートHを実行し、各ノードを処理する。
ステップS103において、現時点において処理対象としているノードに、n番目の子ノードが存在する場合(S103:YES)には、処理はステップS104に移行する。n番目の子ノードが存在しない場合(S103:NO)には、処理はステップS106に移行する。
ステップS104において、要素間関係出力計算部114は、n番目の子ノードを処理対象として、チャートG自身を再帰的に実行する。
ステップS105において、要素間関係出力計算部114は、nに1を加算する。その後、処理はステップS103に移行する。
ステップS106において、要素間関係出力計算部114は、nを1つポップし、処理を終了する。
図50A及び図50Bは、チャートHのフローを示す。
ステップS111において、ノード種別が“=”演算子の場合(S111:YES)は、処理はステップS112に移行する。ノード種別が“=”演算子でない場合(S111:NO)は、処理はステップS113に移行する。
ステップS112において、要素間関係出力計算部114は、後述のチャートIのフローを実行する。
ステップS113において、ノード種別が、制御点Xの座標系Y上の座標値の場合(S113:YES)には、処理はステップS114に移行する。ノード種別が、制御点Xの座標系Y上の座標値でない場合(S113:NO)には、処理はステップS115に移行する。
ステップS114において、要素間関係出力計算部114は、後述のチャートJのフローを実行する。
ステップS115において、ノード種別が指令値の場合(S115:YES)には、処理はステップS116に移行する。ノード種別が座標値でない場合(S115:NO)には、処理はステップS117に移行する。
ステップS116において、要素間関係出力計算部114は、後述のチャートKのフローを実行する。
ステップS117において、ノード種別が信号の場合(S117:YES)には、処理はステップS118に移行する。ノード種別が座標値でない場合(S117:NO)には、処理はステップS119に移行する。
ステップS118において、要素間関係出力計算部114は、後述のチャートLのフローを実行する。
ステップS119において、ノード種別が定数の場合(S119:YES)には、処理はステップS120に移行する。ノード種別が定数でない場合(S119:NO)には、処理はステップS121に移行する。
ステップS120において、要素間関係出力計算部114は、後述のチャートMのフローを実行する。
ステップS121において、ノード種別が変数の場合(S121:YES)には、処理はステップS122に移行する。ノード種別が変数でない場合(S121:NO)には、処理はステップS123に移行する。
ステップS122において、要素間関係出力計算部114は、後述のチャートNのフローを実行する。
ステップS123において、ノード種別が“<”演算子の場合(S123:YES)には、処理はステップS124に移行する。ノード種別が“<”演算子でない場合(S123:NO)には、処理はステップS125に移行する。
ステップS124において、要素間関係出力計算部114は、後述のチャートOのフローを実行する。
ステップS125において、ノード種別が“if”文の場合(S125:YES)には、処理はステップS126に移行する。ノード種別が“if”文でない場合(S125:NO)には、処理を終了する。
ステップS126において、要素間関係出力計算部114は、後述のチャートPのフローを実行し、処理を終了する。
図51は、チャートIのフローを示す。
ステップS131において、要素間関係出力計算部114は、第1子ノードについて、チャートHを再帰的に実行した後、処理はステップS132に移行する。
ステップS132において、要素間関係出力計算部114は、nに1を加算し、処理はステップS133に移行する。
ステップS133において、要素間関係出力計算部114は、第2子ノードについて、チャートHを再帰的に実行した後、処理はステップS134に移行する。
ステップS134において、要素間関係出力計算部114は、nに1を加算し、処理はステップS135に移行する。
ステップS135において、要素間関係出力計算部114は、後述のチャートQを実行し、処理を終了する。
図52は、チャートJのフローを示す。
ステップS141において、要素間関係出力計算部114は、制御点Xの座標系Y上の座標値poswi・姿勢matwiを計算する。
ステップS142において、要素間関係出力計算部114は、poswi、matwiを出力する。
ステップS143において、要素間関係出力計算部114は、ノード種別を出力する。
ステップS144において、要素間関係出力計算部114は、制御点Xを出力し、処理を終了する。
図53は、チャートKのフローを示す。
ステップS151において、要素間関係出力計算部114は、指令位置移動行列Mpos、指令姿勢変更行列Mmatを計算する。
ステップS152において、要素間関係出力計算部114は、Mpos、Mmatを出力し、処理を終了する。
図54は、チャートLのフローを示す。
ステップS161において、要素間関係出力計算部114は、信号の状態を取得する。
ステップS162において、要素間関係出力計算部114は、信号の状態を出力する。
ステップS163において、要素間関係出力計算部114は、ノード種別を出力する。
ステップS164において、要素間関係出力計算部114は、信号を出力し、処理を終了する。
図55は、チャートMのフローを示す。
ステップS171において、要素間関係出力計算部114は、定数の値を出力する。
ステップS172において、要素間関係出力計算部114は、ノード種別を出力し、処理を終了する。
図56は、チャートNのフローを示す。
ステップS181において、要素間関係出力計算部114は、変数の値を取得する。
ステップS182において、要素間関係出力計算部114は、変数の値を出力する。
ステップS183において、要素間関係出力計算部114は、ノード種別を出力し、処理を終了する。
図57は、チャートOのフローを示す。
ステップS191において、要素間関係出力計算部114は、第1子ノードについて、チャートHを再帰的に実行した後、処理はステップS192に移行する。
ステップS192において、要素間関係出力計算部114は、nに1を加算し、処理はステップS193に移行する。
ステップS193において、要素間関係出力計算部114は、第2子ノードについて、チャートHを再帰的に実行した後、処理はステップS194に移行する。
ステップS194において、要素間関係出力計算部114は、nに1を加算し、処理はステップS195に移行する。
ステップS195において、要素間関係出力計算部114は、後述のチャートRを実行し、処理を終了する。
図58は、チャートPのフローを示す。
ステップS201において、要素間関係出力計算部114は、第1子ノードについて、チャートHを再帰的に実行する。
ステップS202において、要素間関係出力計算部114は、nに1を加算する。
ステップS203において、第1子ノードの出力が「真」の場合(S203:「真」)には、処理はステップS204に移行する。第1子ノードの出力が「偽」の場合(S203:「偽」)には、処理はステップS206に移行する。
ステップS204において、要素間関係出力計算部114は、第2子ノードについて、チャートHを再帰的に実行する。
ステップS205において、要素間関係出力計算部114は、nに2を加算し、処理を終了する。
ステップS206において、要素間関係出力計算部114は、第3子ノードについて、チャートHを再帰的に実行する。
ステップS207において、要素間関係出力計算部114は、nに1を加算し、処理を終了する。
図59は、チャートQのフローを示す。
ステップS211において、第1子ノードの出力種別が座標値の場合(S211:YES)には、処理はステップS212に移行する。第1子ノードの出力種別が座標値ではない場合(S211:NO)には、処理はステップS214に移行する。
ステップS212において、要素間関係出力計算部114は、第1子ノードの出力poswi、matwiと、第2子ノードの出力Mpos、Mmatとから、
poswi=Mpos・poswi
matwi=Mmat・matwi
を計算する。
ステップS213において、要素間関係出力計算部114は、第1子ノードの出力制御点の移動先として、poswi、matwiを設定し、処理を終了する。
ステップS214において、第1子ノードの出力種別が信号の場合(S214:YES)には、処理はステップS215に移行する。第1子ノードの出力種別が信号ではない場合(S214:NO)には、要素間関係出力計算部114は、処理を終了する。
ステップS215において、要素間関係出力計算部114は、第1子ノードの出力信号の出力値として、第2子ノードの出力値を設定し、処理を終了する。
図60は、チャートRのフローを示す。
ステップS221において、第1子ノードの出力値が、第2子ノードの出力値に満たない場合(S221:YES)には、処理はステップS222に移行する。第1子ノードの出力値が、第2子ノードの出力値以上である場合(S221:NO)には、処理はステップS223に移行する。
ステップS222において、要素間関係出力計算部114は、「真」を出力し、処理を終了する。
ステップS223において、要素間関係出力計算部114は、「偽」を出力し、処理を終了する。
図61は、チャートSのフローを示す。
ステップS231において、チャートYにおけるステップS91〜S93と同様に、各制御点が、各座標系において設定された移動先に来るよう、要素間関係制御部115が、各制御点及び各座標系を構成する各軸の座標値を計算し、各制御点及び各座標系を移動する。
ステップS232において、要素間関係制御部115が、各要素に設定された値を出力値として出力する。
〔4.2.2 適用例〕
〔4.2.2.1 ロボットの近接による自動ドア開閉〕
図62A及び図62Bを参照し、制御点xの機械座標系上の座標値と、制御点yの座標系y上の座標値の関係式を定義することにより、フレキシブル同期制御を開始した場合の適用例について詳述する。
図62Aに示すように、ドアの制御点xを構成する直進軸xが設置されているとする。更に、ロボットとして、座標系yを構成する回転軸y上に直進軸yが設置され、直進軸y上に、ロボットの手先である制御点yを構成する回転軸yが設置されているとする。
このとき、図62Bに示す関係式を用いたフレキシブル同期制御を実行するとする。ここの関係式は、具体的には、制御点yの座標系yにおけるx座標が100を超えると共に、200未満であれば、制御点xの機械座標系におけるz座標は制御点yの座標系yにおけるx座標から200減算した値となり、制御点yの座標系yにおけるx座標が200以上であれば、制御点xの機械座標系におけるz座標は0となることを示す。
これにより、例えば、ロボットの手先がドアに近づいたり離れたりしたときに、自動的にドアを開いたり閉じたりすることができるので、ドアの開閉をプログラムする必要はない。そのため、プログラムを作成する手間が減り、プログラム指令をし忘れるといった誤りを予防することもできるため、利便性が向上する。
〔4.2.2.2 ワークの接近による自動クーラントOn/Off〕
図63A及び図63Bを参照し、制御点Bの座標系A上の座標値と信号Aの関係式を定義することにより、フレキシブル同期制御を開始した場合の適用例について詳述する。
図63Aに示すように、上部のベースからクーラントノズルが伸びており、クーラントノズルへの入力信号A=0のときには、クーラントがOFFとなり、入力信号A=1のときには、クーラントがONとなるとする。また、下部のベース上に1つめの軸、その上にさらに2つめの軸が設置され、2つめの軸上にワークが設置され、ワーク上に制御点Bが指定されているとする。
このとき、図63Bに示す関係式を用いたフレキシブル同期制御を実行するとする。ここの関係式は、具体的には、制御点Bの座標系Aにおけるx座標が−5を超え、5未満であり、制御点Bの座標系Aにおけるz座標が−100を超えるならば、信号A=1となり、それ以外の場合には、信号A=0となることを示す。
これにより、例えば、ワークがクーラントノズルからある一定範囲に近づいたときに、自動的にクーラントをOn/Offすることができる。これにより、クーラント制御用プログラムの作成の手間が減り、また一定範囲内に近づいたことを検知するための物理的センサ・スイッチを必要とせず、制御対象に既に備わっている位置センサのみを用いて制御ができるため、追加のハードウェアを要しないため、コストメリットも生じる。
このように、利便性が向上する。
〔5.実施形態の効果〕
複雑な機械構成であっても、座標系と制御点を指定し、それらに対して移動指令値と同期制御指令を与える、あるいは必要に応じて好適な関係式を定義することで、所望の目的を果たすことができ、利便性が向上する。
なお、上記の説明では、説明の便宜上、2つの制御点・座標系の組について説明したが、3つ以上の制御点・座標系の組に対して同期制御を行ってもよい。
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
数値制御装置100による制御方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、コンピュータ(数値制御装置100)にインストールされる。また、これらのプログラムは、リムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。更に、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータ(数値制御装置100)に提供されてもよい。
11 CPU(制御部)
100 数値制御装置
111 グラフ生成部
112 制御点座標系挿入部
113 要素間関係設定部
114 要素間関係出力計算部
115 要素間関係制御部
121 関係式取得部
122 構文解析部
131 第1制御点移動先生成部
132 第2制御点移動先生成部
133 関係巡回部
134 関係出力処理部
141 第1各軸移動先生成部
142 第2各軸移動先生成部
143 第1移動実行部
144 第2移動実行部
145 出力操作部
151 第1現在位置計算部
152 第1現在姿勢計算部
153 第1補間情報生成部
161 第2現在位置計算部
162 第2現在姿勢計算部
163 第2補間情報生成部
171 第1指令位置移動情報変換部
172 第1指令姿勢変更情報変換部
181 第2指令位置移動情報変換部
182 第2指令姿勢変更情報変換部
191 構文リスト生成部
192 構文木生成部
193 構文変換部
201 制御点情報処理部
202 座標系情報処理部
203 制御点位置情報処理部
204 制御構文処理部
205 数学演算処理部
206 定数処理部
207 変数処理部
208 型情報処理部
209 制御点指令値処理部
210 内部情報処理部
211 入力情報処理部
212 出力情報処理部
221 制御点移動部
222 信号制御部
223 変数制御部
224 通信情報制御部

Claims (21)

  1. 第1要素と第2要素の関係を設定する要素間関係設定部と、
    前記第1要素と前記第2要素の関係から関係出力を計算する要素間関係出力計算部と、
    前記関係出力に基づき関係制御を行う要素間関係制御部と、
    を備え
    機械構成情報をグラフ形式で有しており、このグラフの全ノードにおいて制御点と座標系が定義されている数値制御装置。
  2. 前記要素間関係設定部は、
    第1制御点を前記第1要素として設定し、
    第2制御点を前記第2要素として設定し、
    前記要素間関係出力計算部は、
    前記第1制御点の第1座標系上の第1移動先を生成する第1制御点移動先生成部と、
    前記第2制御点の第2座標系上の第2移動先を生成する第2制御点移動先生成部と、
    を備え、
    前記第1移動先及び前記第2移動先とを関係出力として出力し、
    前記要素間関係制御部は、
    前記第1移動先から前記第1制御点及び前記第1座標系を構成する各軸の移動先である第1各軸移動先を生成する第1各軸移動先生成部と、
    前記第2移動先と前記第1各軸移動先とから前記第2制御点及び前記第2座標系を構成する各軸の移動先である第2各軸移動先を生成する第2各軸移動先生成部と、
    前記第1制御点及び前記第1座標系を構成する各軸を前記第1各軸移動先に移動させる第1移動実行部と、
    前記第2制御点及び前記第2座標系を構成する各軸を前記第2各軸移動先に移動させる第2移動実行部と、を備える、請求項1に記載の数値制御装置。
  3. 前記第1制御点移動先生成部は、
    前記第1制御点の前記第1座標系上の第1現在位置を計算する第1現在位置計算部と、
    前記第1制御点の前記第1座標系上の第1現在姿勢を計算する第1現在姿勢計算部と、
    前記第1制御点に対して前記第1座標系上にて与えられた第1指令値から補間周期毎の第1指令位置移動情報と第1指令姿勢変更情報とを生成する第1補間情報生成部と、を備え、
    前記第1現在位置と前記第1現在姿勢と前記第1指令位置移動情報と前記第1指令姿勢変更情報とから前記第1移動先を計算し、
    前記第2制御点移動先生成部は、
    前記第2制御点の前記第2座標系上の第2現在位置を計算する第2現在位置計算部と、
    前記第2制御点の前記第2座標系上の第2現在姿勢を計算する第2現在姿勢計算部と、
    を備え、
    前記第2現在位置と前記第2現在姿勢とから前記第2移動先を計算する、請求項2に記載の数値制御装置。
  4. 前記第1制御点移動先生成部は、
    前記第1制御点の前記第1座標系上の第1現在位置を計算する第1現在位置計算部と、
    前記第1制御点の前記第1座標系上の第1現在姿勢を計算する第1現在姿勢計算部と、
    前記第1制御点に対して前記第1座標系上にて与えられた第1指令値から補間周期毎の第1指令位置移動情報と第1指令姿勢変更情報とを生成する第1補間情報生成部と、を備え、
    前記第1現在位置と前記第1現在姿勢と前記第1指令位置移動情報と前記第1指令姿勢変更情報とから前記第1移動先を計算し、
    前記第2制御点移動先生成部は、
    前記第2制御点の前記第2座標系上の第2現在位置を計算する第2現在位置計算部と、
    前記第2制御点の前記第2座標系上の第2現在姿勢を計算する第2現在姿勢計算部と、
    前記第2制御点に対して前記第2座標系上にて与えられた第2指令値から補間周期毎の第2指令位置移動情報と第2指令姿勢変更情報とを生成する第2補間情報生成部と、を備え、
    前記第2現在位置と前記第2現在姿勢と前記第2指令位置移動情報と前記第2指令姿勢変更情報とから前記第2移動先を計算する、請求項2に記載の数値制御装置。
  5. 前記第1補間情報生成部は、
    位置変換情報により前記第1指令位置移動情報を変換する第1指令位置移動情報変換部と、
    姿勢変換情報により前記第1指令姿勢変更情報を変換する第1指令姿勢変更情報変換部と、を備える、請求項3又は4に記載の数値制御装置。
  6. 前記第2補間情報生成部は、
    位置変換情報により前記第2指令位置移動情報を変換する第2指令位置移動情報変換部と、
    姿勢変換情報により前記第2指令姿勢変更情報を変換する第2指令姿勢変更情報変換部と、を備える、請求項4に記載の数値制御装置。
  7. 前記第1指令値をそのまま前記第2指令値とする、請求項4に記載の数値制御装置。
  8. 前記第1座標系と前記第2座標系は同一である、請求項2〜7のいずれか1項に記載の数値制御装置。
  9. 前記要素間関係設定部は、
    関係式を取得する関係式取得部と、
    前記関係式を解析する構文解析部と、
    を備え、
    前記構文解析部の解析結果を前記第1要素と前記第2要素との関係として設定し、
    前記要素間関係出力計算部は、
    前記第1要素と第2要素との関係の各関係式要素を辿る関係巡回部を備え、
    前記関係巡回部は、辿りついた前記関係式要素毎の種別に応じて関係出力処理を行う
    関係出力処理部を備える、請求項1に記載の数値制御装置。
  10. 前記関係式は、少なくとも、
    前記第1要素としての第1制御点の情報、前記第1要素としての第1座標系の情報、前記第2要素としての第2制御点の情報、前記第2要素としての第2座標系の情報、
    前記第1制御点の前記第1座標系における第1位置関係情報、
    前記第2制御点の前記第2座標系における第2位置関係情報、
    制御構文、
    数学演算命令、
    定数、
    変数、
    変数の型情報、
    制御点に対する指令値情報、
    数値制御装置の内部状態を表す情報、
    数値制御装置に対する入力情報、
    数値制御装置からの出力情報、
    のいずれか1つを前記関係式要素として含む、請求項9に記載の数値制御装置。
  11. 前記構文解析部は、解析結果として構文木を生成し、
    前記関係巡回部は、前記構文木の各関係式要素を再帰的に辿る、請求項9に記載の数値制御装置。
  12. 前記構文解析部は、
    構文リストを生成する構文リスト生成部と、
    前記構文リストを構文木に変換する構文変換部と、
    を備え、
    前記構文木を解析結果とする、請求項11に記載の数値制御装置。
  13. 前記構文解析部は、解析結果として構文リストを生成し、
    前記関係巡回部は、前記構文リストの各関係式要素を順次的に辿る、請求項9に記載の数値制御装置。
  14. 前記構文解析部は、
    構文木を生成する構文木生成部と、
    前記構文木を構文リストに変換する構文変換部と
    を備え、
    前記構文リストを解析結果とする、請求項13に記載の数値制御装置。
  15. 前記関係出力処理部は、少なくとも、
    制御点情報を処理する制御点情報処理部、
    座標系情報を処理する座標系情報処理部、
    制御点の位置情報を処理する制御点位置情報処理部、
    制御構文を処理する制御構文処理部、
    数学演算命令を処理する数学演算処理部、
    定数を処理する定数処理部、
    変数を処理する変数処理部、
    変数の型情報を処理する型情報処理部、
    制御点に対する指令値を処理する制御点指令値処理部、
    数値制御装置の内部情報を処理する内部情報処理部、
    数値制御装置への入力情報を処理する入力情報処理部、
    数値制御装置からの出力情報を処理する出力情報処理部、
    のいずれか1つを備える、請求項9に記載の数値制御装置。
  16. 前記要素間関係制御部は、
    前記要素間関係出力計算部が計算した前記関係出力に基づき、数値制御装置の出力情報
    を操作する出力操作部を備える、請求項1に記載の数値制御装置。
  17. 前記関係出力は軸移動出力を含み、
    前記出力操作部は、
    前記軸移動出力に基づいて各制御点が各座標系において設定された移動先に来るよう前記各制御点及び前記各座標系を構成する各軸の座標値を計算し、移動させる制御点移動部を備える、請求項16に記載の数値制御装置。
  18. 前記関係出力は信号出力を含み、
    前記出力操作部は、
    前記信号出力に基づいて各信号が設定された出力値となるよう制御する信号制御部を備える、請求項16に記載の数値制御装置。
  19. 前記関係出力は変数出力を含み、
    前記出力操作部は、
    前記変数出力に基づいて各変数が設定された出力値となるよう制御する変数制御部を備える、請求項16に記載の数値制御装置。
  20. 前記関係出力は通信情報出力を含み、
    前記出力操作部は、
    前記通信情報出力に基づいて各通信情報が設定された出力値となるよう制御する通信情報制御部を備える、請求項16に記載の数値制御装置。
  21. 前記第1要素としての第1座標系と、前記第2要素としての第2座標系は、同一のノードに定義されている、請求項1に記載の数値制御装置。
JP2017122480A 2017-06-22 2017-06-22 数値制御装置 Active JP6538761B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017122480A JP6538761B2 (ja) 2017-06-22 2017-06-22 数値制御装置
US15/993,857 US10935953B2 (en) 2017-06-22 2018-05-31 Numerical controller
DE102018209832.8A DE102018209832B4 (de) 2017-06-22 2018-06-19 Numerische Steuerung
CN201810638382.9A CN109116810B (zh) 2017-06-22 2018-06-20 数值控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017122480A JP6538761B2 (ja) 2017-06-22 2017-06-22 数値制御装置

Publications (2)

Publication Number Publication Date
JP2019008479A JP2019008479A (ja) 2019-01-17
JP6538761B2 true JP6538761B2 (ja) 2019-07-03

Family

ID=64567984

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017122480A Active JP6538761B2 (ja) 2017-06-22 2017-06-22 数値制御装置

Country Status (4)

Country Link
US (1) US10935953B2 (ja)
JP (1) JP6538761B2 (ja)
CN (1) CN109116810B (ja)
DE (1) DE102018209832B4 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6386512B2 (ja) * 2016-10-28 2018-09-05 ファナック株式会社 情報処理装置
JP6912505B2 (ja) * 2019-03-04 2021-08-04 ファナック株式会社 制御システム
JPWO2021024782A1 (ja) * 2019-08-02 2021-02-11
WO2021157574A1 (ja) * 2020-02-04 2021-08-12 ファナック株式会社 制御装置
DE112023005337T5 (de) * 2023-03-09 2025-10-23 Fanuc Corporation Numerische Steuerungsvorrichtung

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DD154556A1 (de) * 1980-11-14 1982-03-31 Joachim Ebermann Zwanglaufsteuerung an werkzeugmaschinen mit einer schaltungsanordnung zur schadensverhuetung
JP3086082B2 (ja) * 1992-08-25 2000-09-11 ファナック株式会社 ロボットの同期制御方法およびロボットの同期制御装置
JP3337037B2 (ja) * 1992-11-10 2002-10-21 津田駒工業株式会社 工作機械のアタッチメントの同期運転方法
DE19739559A1 (de) * 1997-09-09 1999-03-18 Traub Drehmaschinen Gmbh I L Verfahren und System zum Erstellen oder Visualisieren von Steuerdatensätzen
JP2006236031A (ja) 2005-02-25 2006-09-07 Seiko Epson Corp ロボット軌跡制御方法及び装置並びにロボット軌跡制御方法のプログラム
JP4137927B2 (ja) * 2005-08-04 2008-08-20 ファナック株式会社 ロボットプログラミング装置
US8024068B2 (en) 2006-08-04 2011-09-20 Hurco Companies, Inc. Machine tool control system
JP5626775B2 (ja) * 2010-07-21 2014-11-19 住友重機械工業株式会社 支援装置および支援方法
JP2012056023A (ja) * 2010-09-09 2012-03-22 Toyota Motor Corp ロボットの動作生成システム及び動作生成方法
WO2012172594A1 (ja) * 2011-06-14 2012-12-20 三菱電機株式会社 数値制御装置
JP5132842B1 (ja) 2011-10-27 2013-01-30 三菱電機株式会社 数値制御装置
DE112013006637B4 (de) * 2013-02-22 2019-10-31 Mitsubishi Electric Corporation Numerische Steuervorrichtung und maschinelles Bearbeitungsverfahren
JP6246915B2 (ja) * 2015-03-30 2017-12-13 三菱電機株式会社 数値制御装置
CN104965483B (zh) 2015-07-16 2018-01-19 北京工业大学 一种基于稳健设计的多轴数控机床加工精度保持性优化方法

Also Published As

Publication number Publication date
DE102018209832A1 (de) 2018-12-27
CN109116810B (zh) 2020-09-01
US20180373219A1 (en) 2018-12-27
US10935953B2 (en) 2021-03-02
CN109116810A (zh) 2019-01-01
DE102018209832B4 (de) 2022-02-24
JP2019008479A (ja) 2019-01-17

Similar Documents

Publication Publication Date Title
JP6538761B2 (ja) 数値制御装置
JP5444394B2 (ja) プロセス制御システムと共用するためのカスタム・ファンクション・ブロック
CN108227631B (zh) 数值控制装置以及数据结构
TWI381256B (zh) 用於控制一工具機系統之複數個可移動軸之移動之系統、方法及電腦可讀媒體
JP6549683B2 (ja) 制御装置
JP4644490B2 (ja) ツール運動の直接制御のために複雑なn曲線を描写するためのシステムおよび方法
Tavares et al. Flexible work cell simulator using digital twin methodology for highly complex systems in industry 4.0
CN108363360B (zh) 数值控制装置
JPS62126883A (ja) 速度制御方式
von Szadkowski et al. Phobos: A tool for creating complex robot models
Martinova et al. Development of standardized tools for shopfloor programming of turning and turn-milling machines
JP7505877B2 (ja) 制御システム
WO2022030485A1 (ja) ポストプロセッサ開発支援装置、ポストプロセッサ開発支援システム、及びコンピュータが実行可能な方法
Scholz et al. Functional modelling in production engineering workflows
JP6940724B1 (ja) 制御装置
Slavković et al. An advanced machining robot flexible programming methodology supported by verification in a virtual environment
Wang et al. A STEP-compliant computer numerical control based on real-time Ethernet for circuit boardmilling
Patrón et al. Simulation of a UR3e Robot Using Matlab/Simulink 2024a via ROS2 Humble
Deimel A dynamical system for governing continuous, sequential and reactive behaviors
US20030093165A1 (en) Programming method for creating a control program of an industrial machine
Yarava AutoCAD to G-code Converter
WO2024185132A1 (ja) 数値制御装置
JP2012150728A (ja) Ncプログラム作成装置
Speck et al. An Industrial Production Scenario as Prerequisite for Applying Intelligent Solutions
Li et al. Rapid and Flexible Prototyping through Direct Machining

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20181109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190410

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190606

R150 Certificate of patent or registration of utility model

Ref document number: 6538761

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150