JP6564432B2 - 機械学習装置、制御システム、制御装置、及び機械学習方法 - Google Patents

機械学習装置、制御システム、制御装置、及び機械学習方法 Download PDF

Info

Publication number
JP6564432B2
JP6564432B2 JP2017164062A JP2017164062A JP6564432B2 JP 6564432 B2 JP6564432 B2 JP 6564432B2 JP 2017164062 A JP2017164062 A JP 2017164062A JP 2017164062 A JP2017164062 A JP 2017164062A JP 6564432 B2 JP6564432 B2 JP 6564432B2
Authority
JP
Japan
Prior art keywords
spindle motor
spindle
rotation
value
machine learning
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
JP2017164062A
Other languages
English (en)
Other versions
JP2019040556A (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 JP2017164062A priority Critical patent/JP6564432B2/ja
Priority to US16/101,968 priority patent/US11029651B2/en
Priority to CN201810962799.0A priority patent/CN109420800B/zh
Priority to DE102018214276.9A priority patent/DE102018214276B4/de
Publication of JP2019040556A publication Critical patent/JP2019040556A/ja
Application granted granted Critical
Publication of JP6564432B2 publication Critical patent/JP6564432B2/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
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/041Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a variable is automatically adjusted to optimise the performance
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23GTHREAD CUTTING; WORKING OF SCREWS, BOLT HEADS, OR NUTS, IN CONJUNCTION THEREWITH
    • B23G1/00Thread cutting; Automatic machines specially designed therefor
    • B23G1/16Thread cutting; Automatic machines specially designed therefor in holes of workpieces by taps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23GTHREAD CUTTING; WORKING OF SCREWS, BOLT HEADS, OR NUTS, IN CONJUNCTION THEREWITH
    • B23G1/00Thread cutting; Automatic machines specially designed therefor
    • B23G1/44Equipment or accessories specially designed for machines or devices for thread cutting
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01LMEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
    • G01L5/00Apparatus for, or methods of, measuring force, work, mechanical power, or torque, specially adapted for specific purposes
    • G01L5/24Apparatus for, or methods of, measuring force, work, mechanical power, or torque, specially adapted for specific purposes for determining value of torque or twisting moment for tightening a nut or other member which is similarly stressed
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • 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/182Numerical 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 the machine tool function, e.g. thread cutting, cam making, tool direction control
    • G05B19/186Generation of screw- or gearlike surfaces
    • 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/416Numerical 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 control of velocity, acceleration or deceleration
    • 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/416Numerical 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 control of velocity, acceleration or deceleration
    • G05B19/4163Adaptive control of feed or cutting velocity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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/45Nc applications
    • G05B2219/45216Tapping
    • 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/49Nc machine tool, till multiple
    • G05B2219/49065Execute learning mode first for determining adaptive control parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Automatic Control Of Machine Tools (AREA)

Description

本発明は、主軸モータと送り軸モータとの同期運転を制御する、工作機械の制御装置に対して機械学習を行う機械学習装置、制御システム、制御装置、及び機械学習方法に関する。
従来より、主軸モータと送り軸モータとの同期運転により被加工物にタップ加工(ねじ穴加工)を行う、工作機械の制御装置が知られている。例えば、特許文献1は、主軸の加速能力を最大限に発揮させる制御を行ってサイクルタイムを短縮できる、工作機械の制御装置を開示している。具体的には、この制御装置は、主軸モータを駆動する主軸制御部が、最高回転速度V0を目標値として加工開始位置から主軸を最大能力で加速回転させる初期動作制御部と、加速回転中に主軸の最大加速度A0を検出する最大加速度検出部と、現在位置から目標ねじ深さまでの主軸の残回転量Srを検出する残回転量検出部と、主軸の現在速度Vcを検出する現在速度検出部と、加速回転後に主軸を減速回転させて目標ねじ深さに到達させる位置決め動作制御部と、減速回転中に目標ねじ深さに対する主軸の行き過ぎ量Ovを検出する行き過ぎ検出部とを備えている。
特開2017−30061号公報
主軸モータと送り軸モータとの同期運転により被加工物にタップ加工、工具を回転させる駆動状態は、加速、一定速、減速、停止の順となる。ここで、減速時の主軸トルク指令値を大きくして減速期間を短くし、一定速期間を延ばせばサイクルタイムを短縮することができるが、減速時の主軸トルク指令値を大きくしすぎると減速時の主軸トルク指令値を超えてしまう場合がある。
本発明は、加工プログラムに対して減速時でのモータ能力を目標値に近づけつつ、機械毎又は動作条件毎の安定させることができる、機械学習装置、制御システム、制御装置、及び機械学習方法を提供することを目的とする。
(1) 本発明に係る機械学習装置(例えば、後述の機械学習装置300)は、主軸モータ(例えば、後述の主軸モータ101)と送り軸モータ(例えば、後述の送り軸モータ105)との同期運転を制御する、工作機械(例えば、後述の工作機械100)の制御装置(例えば、後述の制御装置200)に対して、機械学習を行う機械学習装置であって、
タップ加工プログラムを前記制御装置に実行させることにより、少なくとも前記主軸モータに対するトルク指令値と、前記主軸モータの減速を含む駆動状態と、前記主軸モータの加速時移動距離と減速時移動距離との比率と、を含む状態情報を、前記制御装置から取得する状態情報取得手段(例えば、後述の状態情報取得部301)と、
前記状態情報に含まれる前記主軸モータの加速時移動距離と減速時移動距離との前記比率の調整情報を含む行動情報を前記制御装置に出力する行動情報出力手段(例えば、後述の行動情報出力部303)と、
前記状態情報に含まれる減速時のトルク指令値と減速時の目標トルク指令値に基づく、強化学習における報酬の値を出力する報酬出力手段(例えば、後述の報酬出力部3021)と、
前記報酬出力手段により出力される報酬の値と、前記状態情報と、前記行動情報とに基づいて行動価値関数を更新する価値関数更新手段(例えば、後述の価値関数更新部3022)と、
を備える機械学習装置である。
(2) 上記(1)に記載の機械学習装置において、前記報酬出力手段は、減速時のトルク指令値Tm、減速時の目標トルク指令値Tt、係数aを用いて、報酬を数式1によって求めてもよい。
Figure 0006564432
(3) 上記(1)又は(2)に記載の機械学習装置において、前記価値関数更新手段により更新された価値関数に基づいて、前記主軸モータの加速時移動距離と減速時移動距離との比率を生成して出力する最適化行動情報出力手段(例えば、後述の最適化行動情報出力部305)を備えてもよい。
(4) 本発明に係る制御システムは、上記(1)から(3)のいずれかに記載の機械学習装置と、主軸モータと送り軸モータとの同期運転を制御する、工作機械の制御装置と、を備えた制御システムである。
(5) 本発明に係る制御装置は、上記(1)から(3)のいずれかに記載の機械学習装置を含み、主軸モータと送り軸モータとの同期運転を制御する、工作機械の制御装置である。
(6) 上記(4)に記載の制御システムにおいて、前記制御装置(例えば、後述の制御装置200)は、
タップ加工プログラムに基づき主軸指令及び送り軸指令を作成する数値制御部(例えば、後述の数値制御部210)と、
前記主軸指令に従って主軸モータの回転動作を制御する主軸制御部(例えば、後述の主軸制御部220)と、
前記主軸モータの回転位置を検出する回転検出部(例えば、後述の回転検出部230)と、
前記送り軸指令に従って、前記回転位置に基づき前記送り軸の送り動作を制御する送り軸制御部(例えば、後述の送り軸制御部240)と、を具備し、
前記数値制御部は、始動位置から目標位置に至る間の前記主軸モータの総回転量と最高回転速度とを前記タップ加工プログラムから取得して、該総回転量と該最高回転速度とを前記主軸指令として前記主軸制御部に送る主軸指令出力部(例えば、後述の主軸指令出力部211)を備え、
前記主軸制御部は、前記最高回転速度を目標値とする速度制御により前記始動位置から前記主軸モータを、加速回転させる初期動作制御部(例えば、後述の初期動作制御部221)と、
前記加速回転中に前記回転位置に基づき前記主軸モータの回転量を検出する回転量検出部(例えば、後述の回転量検出部222)と、
前記総回転量と前記回転位置とに基づき、現在位置から前記目標位置に至るまでの前記主軸モータの残回転量を検出する残回転量検出部(例えば、後述の残回転量検出部223)と、
前記回転位置に基づき前記主軸モータの現在速度を検出する現在速度検出部(例えば、後述の現在速度検出部224)と、
前記加速回転の後に、前記主軸モータの加速時移動距離と減速時移動距離との比率と、前記残回転量と、前記現在速度とに基づき、位置制御により前記主軸モータを減速回転させて前記目標位置に到達させる位置決め動作制御部(例えば、後述の位置決め動作制御部225)とを備えていてもよい。
(7) 上記(5)に記載の制御装置において、タップ加工プログラムに基づき主軸指令及び送り軸指令を作成する数値制御部(例えば、後述の数値制御部210)と、
前記主軸指令に従って主軸モータの回転動作を制御する主軸制御部(例えば、後述の主軸制御部220)と、
前記主軸モータの回転位置を検出する回転検出部(例えば、後述の回転検出部230)と、
前記送り軸指令に従って、前記回転位置に基づき前記送り軸の送り動作を制御する送り軸制御部(例えば、後述の送り軸制御部240)と、を具備し、
前記数値制御部は、始動位置から目標位置に至る間の前記主軸モータの総回転量と最高回転速度とを前記タップ加工プログラムから取得して、該総回転量と該最高回転速度とを前記主軸指令として前記主軸制御部に送る主軸指令出力部(例えば、後述の主軸指令出力部211)を備え、
前記主軸制御部は、前記最高回転速度を目標値とする速度制御により前記始動位置から前記主軸モータを、加速回転させる初期動作制御部(例えば、後述の初期動作制御部221)と、
前記加速回転中に前記回転位置に基づき前記主軸モータの回転量を検出する回転量検出部(例えば、後述の回転量検出部222)と、
前記総回転量と前記回転位置とに基づき、現在位置から前記目標位置に至るまでの前記主軸モータの残回転量を検出する残回転量検出部(例えば、後述の残回転量検出部223)と、
前記回転位置に基づき前記主軸モータの現在速度を検出する現在速度検出部(例えば、後述の現在速度検出部224)と、
前記加速回転の後に、前記主軸モータの加速時移動距離と減速時移動距離との比率と、前記残回転量と、前記現在速度とに基づき、位置制御により前記主軸モータを減速回転させて前記目標位置に到達させる位置決め動作制御部(例えば、後述の位置決め動作制御部225)とを備えていてもよい。
(8) 本発明に係る機械学習方法は、主軸モータ(例えば、後述の主軸モータ101)と送り軸モータ(例えば、後述の送り軸モータ105)との同期運転を制御する、工作機械(例えば、後述の工作機械100)の制御装置(例えば、後述の制御装置200)に対して、機械学習を行う機械学習装置(例えば、後述の機械学習装置300)の機械学習方法であって、
タップ加工プログラムを前記制御装置に実行させることにより、少なくとも前記主軸モータに対するトルク指令値と、前記主軸モータの減速を含む駆動状態と、前記主軸モータの加速時移動距離と減速時移動距離との比率と、を含む状態情報を、前記制御装置から取得し、
前記状態情報に含まれる前記主軸モータの加速時移動距離と減速時移動距離との前記比率の調整情報を含む行動情報を前記制御装置に出力し、
前記状態情報に含まれる減速時のトルク指令値と減速時の目標トルク指令値に基づく、強化学習における報酬の値を出力し、
前記報酬の値と、前記状態情報と、前記行動情報とに基づいて行動価値関数を更新する、機械学習方法である。
本発明によれば、加工プログラムに対して減速時でのモータ能力を目標値に近づけつつ、機械毎又は動作条件毎に安定したタップ動作とすることができる。
本発明の第1の実施形態の制御システムと工作機械とを示すブロック図である。 工作機械の構成を示す図である。 本発明の第1の実施形態の制御システムの制御装置の構成を示すブロック図である。 加速時移動距離Saと減速時移動距離Sdとの比率が1対1の場合の、減速時の主軸モータの回転速度vと時間tとの関係を示す図である。 機械学習装置の構成を示すブロック図である。 本実施形態におけるQ学習時の機械学習装置の動作を示すフローチャートである。 加速時移動距離Saと修正後の減速時移動距離Sd’の比率が1対0.7である場合の、減速時の主軸モータの回転速度vと時間tとの関係を示す図である。 加速時移動距離Saと修正後の減速時移動距離Sd’’の比率が1対0.4である場合の、減速時の主軸モータの回転速度vと時間tとの関係を示す図である。 最適化行動情報出力部による最適化行動情報の生成時の動作を示すフローチャートである。
以下、本発明の実施形態について図面を用いて詳細に説明する。
(第1の実施形態)
本実施形態の、工作機械の制御システムは、制御装置と機械学習装置とを備えており、工作機械の主軸モータと送り軸モータとの同期運転を制御してタップ加工を行う場合に好適に用いられる。このようなタップ加工をリジットタップ加工という。本実施形態ではリジットタップ加工を例にとって説明するが、本発明は主軸モータと送り軸モータとの同期運転により行う加工に適用でき、リジットタップ加工に特に限定されるものではない。
図1は本発明の第1の実施形態の制御システムと工作機械とを示すブロック図である。制御システム10は、図1に示すように、n台の制御装置200−1〜200−nと、ネットワーク400と、ネットワーク400を介して制御装置200−1〜200−nと接続される機械学習装置300−1〜300−nとを備えている。n台の工作機械100−1〜100−nは、n台の制御装置200−1〜200−nと接続される。なお、nは任意の自然数である。
工作機械100−1と制御装置200−1とは1対1の組とされて、通信可能に接続されている。工作機械100−2〜100−nと制御装置200−2〜100−nについても工作機械100−1と制御装置200−1と同様に接続される。工作機械100−1〜100−nと制御装置200−1〜200−nとのn個の組は、接続インタフェースを介して直接接続されても、又はLAN(Local Area Network)などのネットワークを介して接続されてもよい。工作機械100−1〜100−nと制御装置200−1〜200−nとのn個の組は、例えば同じ工場に複数組設置されていてもよく、それぞれ異なる工場に設置されていてもよい。
また、制御装置200−1と機械学習装置300−1とは1対1の組とされて、通信可能に接続されている。制御装置200−2〜200−nと機械学習装置300−2〜300−nについても制御装置200−1と機械学習装置300−1と同様に接続される。図1では、制御装置200−1〜200−nと機械学習装置300−1〜300−nとのn個の組は、ネットワーク400を介して接続されているが、制御装置200−1〜200−nと機械学習装置300−1〜300−nとのn個の組は、それぞれの組の制御装置と機械学習装置とが接続インタフェースを介して直接接続されてもよい。なお、ネットワーク400は、例えば、工場内に構築されたLAN(Local Area Network)や、インターネット、公衆電話網、或いは、これらの組み合わせである。ネットワーク400における具体的な通信方式や、有線接続および無線接続のいずれであるか等については、特に限定されない。
次に、工作機械100−1〜100−nと、制御システム10に含まれる、制御装置200−1〜200−n及び機械学習装置300−1〜300−nの構成について説明する。
図2は本発明の第1の実施形態の制御システム10の工作機械100の構成を示す図である。図3は本発明の第1の実施形態の制御システム10の制御装置200の構成を示すブロック図である。図2の工作機械100及び図3の制御装置200は例えば、図1に示す工作機械100−1及び制御装置200−1にそれぞれ対応している。工作機械100−2〜100−n及び制御装置200−2〜200−nも同様な構成を有している。
最初に、工作機械100について説明する。
工作機械100は、図2に示すように、主軸モータ101、主軸モータ101に結びついたエンコーダ等の位置検出器102、主軸モータ101を支持する支持部103、支持部103を直線移動させるボールネジ104、ボールネジ104に接続される送り軸モータ105、及び送り軸モータ105に結びついたエンコーダ等の位置検出器106を備えている。
主軸モータ101は、回転軸に工具が取り付けられ、回転軸を必要な速度で回転運動させるサーボモータ等のモータである。送り軸モータ105は、主軸モータ101が取り付けられた支持部103を加工に必要な速度でワークに対して送り運動させるサーボモータ等のモータである。
なお、図2では主軸モータ101で回転する工具を、ワークに対して送り軸モータ105で直線送りすることでリジットタップ加工を行っている工作機械を示している。しかし、主軸モータ101で回転するワークに対して工具を送り軸モータ105で直線送りしたり、主軸モータ101で回転するワークを、工具に対して送り軸モータ105で直線送りしてもよい。また、主軸モータ101で回転する工具に対してワークを送り軸モータ105で直線送りしたりすることができる。いずれの場合も、動作中の加減速トルクに比較的余裕の有る送り軸モータ105が、動作中の加減速トルクに比較的余裕の無い主軸モータ101に追従するように動作することで、同期誤差を低減して加工精度を向上させることができる。
次に、制御装置200について説明する。
図3に示すように、制御装置200は、主軸モータ101と送り軸モータ105との同期運転によりタップ加工を行う工作機械(例えば旋盤、ボール盤、マシニンングセンタ等)において、送り軸モータ105が、タップ加工プログラム500で指定されるねじピッチを考慮しながら、主軸モータ101の回転動作に追従するように動作する同期運転(いわゆるマスター・スレーブ同期方式)を制御する装置である。
制御装置200は、数値制御部210と、主軸制御部220と、回転検出部230と、送り軸制御部240とを備えている。
数値制御部210は、主軸指令出力部211と、プログラム解釈部212と、送り軸指令出力部213とを備えている。
主軸指令出力部211は、タップ加工の開始に先立ち、プログラム解釈部212が解釈したタップ加工プログラム500の指令値から、加工開始位置(回転位置)から目標ねじ深さ(回転位置)に至る間の主軸モータ101の総回転量S0と、最高回転速度V0とを取得して、これら総回転量S0と最高回転速度V0とを主軸指令CSとして主軸制御部220に送る。
例えばタップ加工プログラム500が、主軸モータ101の最高回転速度(この例では1分間当りの最大回転数)V0を3000rev/minとして、ねじピッチ1.25mm、ねじ深さ30mmの雌ねじを加工する指令を含む場合、加工開始位置から目標ねじ深さに至る間の主軸モータ101の総回転量S0は、30÷1.25=24(rev)となる。よって、主軸指令出力部211は、最高回転速度V0=3000(rev/min)と総回転量S0=24(rev)とを主軸制御部220に通知する。このように主軸指令CSは、主軸モータ101を目標ねじ深さまで回転運動させるための位置指令や加減速指令を含まないものとなっている。
プログラム解釈部212は、タップ加工プログラム500を解釈する。
送り軸指令出力部213は、プログラム解釈部212の解釈に従い送り軸指令CFを作成して、送り軸制御部240に送り軸指令CFを送る。
主軸制御部220は、初期動作制御部221と、回転量検出部222と、残回転量検出部223と、現在速度検出部224と、位置決め動作制御部225とを備えている。
初期動作制御部221は、主軸指令出力部211から送られた最高回転速度V0を目標値とする速度制御により加工開始位置から主軸モータ101を最大能力で加速回転させる。
回転量検出部222は、加速回転中に、回転検出部230から出力される回転位置FBSに基づき、回転開始からの主軸モータ101の回転量を検出する。主軸モータ101の加速回転を開始してから最高回転速度V0になるまでの回転量が加速時移動距離となる。
残回転量検出部223は、主軸指令出力部211から送られた総回転量S0と、回転検出部230から出力される回転位置FBSとに基づき、現在位置(回転位置)から目標ねじ深さに至るまでの主軸モータ101の残回転量Srを検出する。回転量検出部222は検出した残回転量Srは検出の度に数値制御部210に送る。数値制御部210は残回転量Srによってタップ加工において、工具の先端が目標ねじ深さに達したことを判断する。
現在速度検出部224は、回転検出部230から出力される回転位置FBSに基づき、主軸モータ101の現在速度Vcを検出する。現在速度Vcが、最高回転速度V0に達したときに主軸モータ101の回転を加速回転から最高回転速度V0の回転とする。
位置決め動作制御部225は、最高回転速度V0での回転の後に、機械学習装置300から受信する加速時移動距離と減速時移動距離の比率と、残回転量Srと、現在速度Vcとに基づき、主軸モータ101を減速回転させて目標ねじ深さに到達させるための位置制御を実行する。
なお、位置決め動作制御部225は、主軸モータ101の現在速度Vcが最高回転速度に到達する前に、加速回転から減速回転に移す場合がある。例えば、加速時移動距離と減速時移動距離の比率が1:m(m≦1)である場合、回転量検出部222が回転開始からの主軸モータ101の回転量が総回転量S0の1/(1+m)になったことを検出した場合は、位置決め動作制御部225は、主軸モータ101の加速回転を減速回転に移す。
また、主軸制御部220は、回転検出部230が検出した主軸モータ101の回転位置FBS(すなわちフィードバック値)を用いて、一般的なフィードバック制御によりトルク指令値を主軸モータ101に送り、主軸モータ101の回転動作を制御する。
回転検出部230は、主軸モータ101の動作位置を検出するエンコーダ等の位置検出器102の出力から、回転位置FBSを取得することができる。
送り軸制御部240は、送り軸指令出力部213から送られた送り軸指令CFに従って、送り軸モータ105の動作位置を検出するエンコーダ等の位置検出器102からの送り位置のフィードバック値に加えて、主軸モータ101の回転位置FBSを用いて、フィードバック制御により主軸モータ101の動作に追従する送り軸モータ105の送り動作を制御する。なお、送り軸制御部240は、ワークに対して送り軸モータ105をZ方向に対して直線送りしている。しかし、ワーク又は工具をX軸方向及びY軸方向に対して送り動作させる2つの送り軸モータを制御する2つの送り軸制御部をさらに備えていてもよい。
以下、具体的に図4を用いて主軸制御部220の動作について説明する。ここでは、加速時移動距離Saと減速時移動距離Sdとの比率が1対1の場合について説明する。
図4は加速時移動距離Saと減速時移動距離Sdとの比率が1対1の場合の、減速時の主軸モータの回転速度vと時間tとの関係を示す図である。図4は、タップ加工において、工具がワークの表面から目標ねじ深さまで達して停止し、目標ねじ深さからワークの表面まで引き出されるまでの一サイクルを示している。図4における時間t1は一サイクルの時間(サイクルタイム)を示している。
まず、工具によって、ワークの表面から目標ねじ深さまでタップ加工をする動作について説明する。
初期動作制御部221が、主軸指令出力部211から送られた最高回転速度V0を目標値とする速度制御により加工開始位置から主軸モータ101を最大能力で加速回転させる。回転量検出部222で、回転開始からの主軸モータ101の回転量を検出する。
現在速度検出部224が現在速度Vcが最高回転速度V0に達したことを検出すると、初期動作制御部221は主軸モータ101を最高回転速度V0で回転させる。回転量検出部222は、主軸モータ101が加速回転を開始してから最高回転速度V0になるまでの回転量(加速時移動距離)を求める。加速時移動距離Saは、主軸モータ101が回転を始めて加速し最高回転速度V0に達するまでの、主軸モータの回転速度vと時間tとの積(v・t)の積分値である。
残回転量検出部223が検出する、主軸モータ101の残回転量Srが、加速時移動距離(加速時回転量)Saと等しくなったときに、位置決め動作制御部225は、減速回転させて目標ねじ深さで停止するように減速の加速度を設定して減速回転させる。減速の加速度は残回転量Srと現在速度Vcによって求められる。(残回転量Sr)/(現在速度Vc)により、減速の回転期間trが求められ、(現在速度Vc)/(減速の回転期間tr)により減速時の加速度を求めることができる。減速時移動距離Sdは、主軸モータ101が減速回転を始めて停止するまでの、主軸モータの回転速度vと時間tとの積(v・t)の積分値である。
なお、位置決め動作制御部225は、主軸モータ101の現在速度Vcが最高回転速度に到達する前に、加速回転から減速回転に移る場合は、減速回転に移るまでの加速時移動距離が減速時移動距離、すなわち残回転量Srとなり、上記と同様に、減速の加速度を求めることができる。
次に、ワークの表面から目標ねじ深さまでタップ加工する動作と、主軸モータの回転方向が逆であることを除き同じ動作で、目標ねじ深さからワークの表面まで工具を回転させて引き出す。
また制御装置200は、工作機械100を用いたタップ加工において、ワークの下穴を工具で目標ねじ深さまで切削するための主軸モータ101の動作(切削動作と称する)を制御することができる。また制御装置200は、工作機械を用いたタップ加工において、ワークの下穴を目標ねじ深さまで切削加工した後に工具をワークから引き抜くための主軸モータ101の動作(戻り動作と称する)を制御することができる。
以上、工作機械100及び制御装置200の構成について説明したが、上述した構成は本実施形態の動作に特に関連する部分である。工作機械100及び制御装置200の各構成の詳細、例えば主軸制御部220と送り軸制御部内の位置・速度フィードバックループを構成するための位置制御部、速度制御部、トルク指令値に基づいて主軸モータ又は送り軸モータを駆動するモータ駆動アンプ、及びユーザの操作を受け付けるための操作盤等は当業者によく知られているので詳細な説明及び図示を省略する。
<機械学習装置300>
図5は機械学習装置300の構成を示すブロック図である。機械学習装置300は例えば、図1に示す機械学習装置300−1に対応している。工作機械100−2〜100−nも同様な構成を有している。
機械学習装置300は、予め用意されたタップ加工プログラム500を制御装置200が実行することで、タップ加工プログラム500によって工作機械100を動作させたときに、減速時のトルク指令値が減速時のトルク指令目標値に最も近い、タップ動作における加速時移動距離と減速時移動距離との比率を強化学習する装置である。
機械学習装置300に含まれる各機能ブロックの説明に先立って、まず強化学習の基本的な仕組みについて説明する。エージェント(本実施形態における機械学習装置300に相当)は、環境の状態を観測し、ある行動を選択し、当該行動に基づいて環境が変化する。環境の変化に伴って、何らかの報酬が与えられ、エージェントはより良い行動の選択(意思決定)を学習する。
教師あり学習が、完全な正解を示すのに対して、強化学習における報酬は、環境の一部の変化に基づく断片的な値であることが多い。このため、エージェントは、将来にわたっての報酬の合計を最大にするように行動を選択するように学習する。
このように、強化学習では、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、すなわち将来的に得られる報酬を最大にするための学習する方法を学ぶ。これは、本実施形態において、例えば、減速時のトルク指令値が減速時のトルク指令目標値に近づけつつ、サイクルタイムを短縮するための行動情報(「アクション」ともいう)を選択するという、未来に影響をおよぼすような行動を獲得できることを表している。
ここで、強化学習としては、任意の学習方法を用いることができるが、以下の説明では、或る環境の状態sの下で、行動aを選択する価値関数Q(s,a)を学習する方法であるQ学習(Q-learning)を用いる場合を例にとって説明をする。
Q学習では、或る状態sのとき、取り得る行動aのなかから、価値関数Q(s,a)の最も高い行動aを最適な行動として選択することを目的とする。
しかしながら、Q学習を最初に開始する時点では、状態sと行動aとの組合せについて、価値関数Q(s,a)の正しい値は全く分かっていない。そこで、エージェントは、或る状態sの下で様々な行動aを選択し、その時の行動aに対して、与えられる報酬に基づいて、より良い行動の選択をすることにより、正しい価値関数Q(s,a)を学習していく。
また、将来にわたって得られる報酬の合計を最大化したいので、最終的にQ(s,a)=E[Σ(γ)r]となるようにすることを目指す。ここでE[]は期待値を表し、tは時刻、γは後述する割引率と呼ばれるパラメータ、rは時刻tにおける報酬、Σは時刻tによる合計である。この式における期待値は、最適な行動に従って状態変化した場合の期待値である。しかしQ学習の過程において最適な行動が何であるのかは不明であるので、様々な行動を行うことにより、探索しながら強化学習をする。このような価値関数Q(s,a)の更新式は、例えば、次の数式2(以下に数2として示す)により表すことができる。
Figure 0006564432
上記の数式2において、sは、時刻tにおける環境の状態を表し、aは、時刻tにおける行動を表す。行動aにより、状態はst+1に変化する。rt+1は、その状態の変化により得られる報酬を表している。また、maxの付いた項は、状態st+1の下で、その時に分かっている最もQ値の高い行動aを選択した場合のQ値にγを乗じたものになる。ここで、γは、0<γ≦1のパラメータで、割引率と呼ばれる。また、αは、学習係数で、0<α≦1の範囲とする。
上述した数式2は、試行aの結果、返ってきた報酬rt+1を元に、状態sにおける行動aの価値関数Q(s,a)を更新する方法を表している。
この更新式は、状態sにおける行動aの価値関数Q(s,a)よりも、行動aによる次の状態st+1における最良の行動の価値max Q(st+1,a)の方が大きければ、Q(s,a)を大きくし、逆に小さければ、Q(s,a)を小さくすることを示している。つまり、或る状態における或る行動の価値を、それによる次の状態における最良の行動の価値に近づける。ただし、その差は、割引率γと報酬rt+1のあり方により変わってくるが、基本的には、ある状態における最良の行動の価値が、それに至る一つ前の状態における行動の価値に伝播していく仕組みになっている。
ここで、Q学習では、すべての状態行動ペア(s,a)についてのQ(s,a)のテーブルを作成して、学習を行う方法がある。しかし、すべての状態行動ペアのQ(s,a)の値を求めるには状態数が多すぎて、Q学習が収束するのに多くの時間を要してしまう場合がある。
そこで、公知のDQN(Deep Q-Network)と呼ばれる技術を利用するようにしてもよい。具体的には、価値関数Qを適当なニューラルネットワークを用いて構成し、ニューラルネットワークのパラメータを調整することにより、価値関数Qを適当なニューラルネットワークで近似することにより価値関数Q(s,a)の値を算出するようにしてもよい。DQNを利用することにより、Q学習が収束するのに要する時間を短くすることが可能となる。なお、DQNについては、例えば、以下の非特許文献に詳細な記載がある。
<非特許文献>
「Human-level control through deep reinforcement learning」、Volodymyr Mnih1著[online]、[平成29年1月17日検索]、インターネット〈URL:http://files.davidqiu.com/research/nature14236.pdf〉
以上説明をしたQ学習を機械学習装置300が行う。具体的には、機械学習装置300は、制御装置200から出力される、主軸モータ101を駆動するためのトルク指令値と、主軸モータ101が加速、減速、一定速、及び停止のいずれにあるかを示す駆動状態情報(主軸モータ101の駆動状態)と、加速時移動距離Saと減速時移動距離Sdとの比率とを状態sとし、当該状態sに係る加速時移動距離Saと減速時移動距離Sdとの比率の調整を行動aとして、選択する価値関数Qを学習する。
機械学習装置300は、タップ加工プログラム500を用いてタップ加工を実行することで制御装置200から、トルク指令値、主軸モータ101の駆動状態情報、及び加速時移動距離Saと減速時移動距離Sdとの比率を含む状態情報sを取得して、行動aを出力する。そして、トルク指令値及び主軸モータ101の駆動状態に基づいて得られる減速時におけるトルク指令値を判定情報として、減速時におけるトルク指令値の目標値を用いて報酬を算出する。減速時におけるトルク指令値の目標値は予め機械学習装置330に記憶されている。機械学習装置300は、行動aをするたびに報酬が返ってくる。機械学習装置300は、例えば、将来にわたっての報酬の合計が最大になるように最適な行動aを試行錯誤的に探索する。そうすることで、機械学習装置300は、予め用意されたプログラムを用いてタップ加工を実行することで取得される、トルク指令値、及び主軸モータ101の駆動状態情報を含む状態sに対して、最適な行動a(すなわち、減速時のトルク指令値が減速時のトルク指令目標値に最も近い、最適な、加速時移動距離Saと減速時移動距離Sdとの比率)を選択することが可能となる。
すなわち、機械学習装置300により学習された価値関数Qに基づいて、或る状態sに係る、加速時移動距離Saと減速時移動距離Sdとの比率に対して適用される行動aのうち、価値関数Qの値が最大となるような行動aを選択することで、減速時のトルク指令値が目標となるトルク指令値に近くなるような行動a(すなわち、加速時移動距離Saと減速時移動距離Sdの比率)を選択することが可能となる。
図5は本発明の第1の実施形態の機械学習装置300を示すブロック図である。
上述した強化学習を行うために、図5に示すように、機械学習装置300は、状態情報取得部301、学習部302、行動情報出力部303、価値関数記憶部304、及び最適化行動情報出力部305を備える。学習部302は報酬出力部3021、価値関数更新部3022、及び行動情報生成部3023を備える。
状態情報取得部301は、主軸モータ101を駆動するためのトルク指令値と、主軸モータ101が加速、減速、一定速、及び停止のいずれかにあるかを示す駆動状態情報と、加速時移動距離Saと減速時移動距離Sdとの比率と、を含む状態sを、制御装置200から取得する。この状態情報(「ステータス」ともいう)sは、Q学習における、環境状態sに相当する。
状態情報取得部301は、取得した状態情報sを学習部302に対して出力する。
なお、最初にQ学習を開始する時点での加速時移動距離Saと減速時移動距離Sdとの比率は、予めユーザが設定する。ここでは、最初にQ学習を開始する時点での加速時移動距離Saと減速時移動距離Sdとの比率は、1対1に設定する。そして、機械学習装置300が、ユーザが設定した加速時移動距離Saと減速時移動距離Sdとの比率を、強化学習により調整することで、減速時のトルク指令値が目標となるトルク指令値に近い値となるように最適化する。
学習部302は、或る状態情報(環境状態)sの下で、ある行動aを選択する場合の価値関数Q(s,a)を学習する部分である。具体的には、学習部302は、報酬出力部3021、価値関数更新部3022及び行動情報生成部3023を備える。
報酬出力部3021は、或る状態sの下で、行動aを選択した場合の報酬を算出する部分である。
行動aにより状態sから状態s’に遷移した場合に、状態s及び状態s’における、加速時移動距離Saと減速時移動距離Sdとの比率に基づいて動作した工作機械100の一サイクルにおける減速時のトルク指令値の集合の平均値をトルク指令値Tm(s)及びトルク指令値Tm(s’)とする。
報酬出力部3021は、例えば、減速時のトルク指令値の集合の平均値Tm及び減速時のトルク指令値の目標値Ttに基づいて報酬を算出することができる。ここで、減速時のトルク指令値の目標値Ttは、減速時のトルク指令値の最大値よりも少し小さな値、例えば減速時のトルク指令値の最大値の95%に設定する。なお、減速時のトルク指令値の目標値Ttは、最大値の95%に限定されない。
具体的には、減速時のトルク指令値Tm、減速時の目標トルク指令値Tt、係数aを用いて、報酬は以下の数式3(以下に数3として示す)によって求めることができる。
Figure 0006564432
数式3から明らかなように、トルク指令値Tm(s)、Tm(s’)のそれぞれに基づいて報酬を求めることができる。トルク指令値Tm(s’)がトルク指令値Tm(s)よりも目標トルク指令値Ttから遠ざかった場合、報酬はトルク指令値Tm(s)よりも低い値となる。
トルク指令値Tm(s’)がトルク指令値Tm(s)よりも目標トルク指令値Ttに近づいた場合は、報酬はトルク指令値Tm(s)よりも高い値となる。
なお、上記の方法は報酬の付与の方法の一例であり、以下の方法によってもよい。
例えば、トルク指令値Tm(s’)がトルク指令値Tm(s)よりも目標トルク指令値Ttから遠ざかった場合は、報酬を負の値とする。トルク指令値Tm(s’)がトルク指令値Tm(s)と等しい場合は、報酬をゼロとする。トルク指令値Tm(s’)がトルク指令値Tm(s)よりも目標トルク指令値Ttに近づいた場合は、報酬を正の値とする。このようにして報酬を算出することができる。
なお、報酬出力部3021は、トルク指令値Tm(s’)がトルク指令値Tm(s)と等しい場合に報酬を正の値とし、トルク指令値Tm(s’)がトルク指令値Tm(s)よりも目標トルク指令値Ttに近づいた場合の報酬を、トルク指令値Tm(s’)がトルク指令値Tm(s)と等しい場合の報酬よりも大きい正の値としてもよい。
価値関数更新部3022は、状態sと、行動aと、行動aを状態sに適用した場合の状態s’と、上記のようにして算出された報酬の値と、に基づいてQ学習を行うことにより、価値関数記憶部304が記憶する価値関数Qを更新する。
価値関数Qの更新は、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。
オンライン学習とは、或る行動aを現在の状態sに適用することにより、状態sが新たな状態s’に遷移する都度、即座に価値関数Qの更新を行うという学習方法である。また、バッチ学習とは、或る行動aを現在の状態sに適用することにより、状態sが新たな状態s’に遷移することを繰り返すことにより、学習用のデータを収集し、収集した全ての学習用データを用いて、価値関数Qの更新を行うという学習方法である。更に、ミニバッチ学習とは、オンライン学習と、バッチ学習の中間的な、ある程度学習用データが溜まるたびに価値関数Qの更新を行うという学習方法である。
行動情報生成部3023は、現在の状態sに対して、Q学習の過程における行動aを選択する。行動情報生成部3023は、Q学習の過程において、加速時移動距離Saと減速時移動距離Sdとの比率を修正する動作(Q学習における行動aに相当)を行わせるために、行動情報aを生成して、生成した行動情報aを行動情報出力部303に対して出力する。
より具体的には、行動情報生成部3023は、例えば、状態sに含まれる、加速時移動距離Saと減速時移動距離Sdとの比率に対して、行動aにより、加速時移動距離Saと減速時移動距離Sdとの比率を調整して増加又は減少させる。ここでは加速時移動距離Saを一定とし、状態sにおける減速時移動距離Sdを状態s’においては減速時移動距離Sd’に修正を行うとする。
行動情報生成部3023は、行動aにより加速時移動距離Saと減速時移動距離Sdとの比率を調整して、状態s’に遷移した場合に、減速時のトルク指令値Tm(s’)が目標トルク指令値Ttに近づいたか又は目標トルク指令値Ttを超えたかによって次の行動a’の加速時移動距離Saと減速時移動距離Sdとの比率を選択してもよい。例えば、減速時のトルク指令値Tm(s’)が目標トルク指令値Ttに近づいたときには、加速時移動距離Saに対する減速時移動距離Sdの比率を下げ、減速時のトルク指令値Tm(s’)が目標トルク指令値Ttを超えたときには、加速時移動距離Saに対する減速時移動距離Sdの比率を上げることができる。
また、行動情報生成部3023は、現在の推定される行動aの価値の中で、最も価値関数Q(s,a)の高い行動a’を選択するグリーディ法や、ある小さな確率εでランダムに行動a’を選択し、それ以外では最も価値関数Q(s,a)の高い行動a’を選択するεグリーディ法といった公知の方法により、行動a’を選択する方策を取るようにしてもよい。
行動情報出力部303は、学習部302から出力される行動情報aを制御装置200に対して送信する部分である。
価値関数記憶部304は、価値関数Qを記憶する記憶装置である。価値関数Qは、例えば状態s、行動a毎にテーブル(以下、行動価値テーブルと呼ぶ)として格納してもよい。価値関数記憶部304に記憶された価値関数Qは、価値関数更新部3022により更新される。また、価値関数記憶部304に記憶された価値関数Qは、他の機械学習装置300との間で共有されるようにしてもよい。価値関数Qを複数の機械学習装置300で共有するようにすれば、各機械学習装置300にて分散して強化学習を行うことが可能となるので、強化学習の効率を向上させることが可能となる。
最適化行動情報出力部305は、価値関数更新部3022がQ学習を行うことにより更新した価値関数Qに基づいて、価値関数Q(s,a)が最大となる動作を工作機械100に行わせるための行動情報a(以下、「最適化行動情報」と呼ぶ)を生成する。
より具体的には、最適化行動情報出力部305は、価値関数記憶部304が記憶している価値関数Qを取得する。この価値関数Qは、上述したように価値関数更新部3022がQ学習を行うことにより更新したものである。そして、最適化行動情報出力部305は、価値関数Qに基づいて、行動情報を生成し、生成した行動情報を制御装置200に対して出力する。この最適化行動情報には、行動情報出力部303がQ学習の過程において出力する行動情報と同様に、加速時移動距離Saと減速時移動距離Sdとの比率を修正する情報が含まれる。
制御装置200は、この最適化行動情報に基づいて現在設定されている加速時移動距離Saと減速時移動距離Sdとの比率を修正して、トルク指令値を生成することにより、工作機械100は、減速時のトルク指令値Tmを減速時のトルク指令値の目標値Ttに近づけつつ、機械毎又は動作条件毎に安定したタップ動作とし、機械毎加工サイクルタイムがより短くなるように動作させることができる。
以上、制御装置200及び機械学習装置300に含まれる機能ブロックについて説明した。
これらの機能ブロックを実現するために、制御装置200及び機械学習装置300のそれぞれは、CPU(Central Processing Unit)等の演算処理装置を備える。また、制御装置200及び機械学習装置300のそれぞれは、アプリケーションソフトウェアやOS(Operating System)等の各種の制御用プログラムを格納したHDD(Hard Disk Drive)等の補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶装置も備える。
そして、制御装置200及び機械学習装置300のそれぞれにおいて、演算処理装置が補助記憶装置からアプリケーションソフトウェアやOSを読み込み、読み込んだアプリケーションソフトウェアやOSを主記憶装置に展開させながら、これらのアプリケーションソフトウェアやOSに基づいた演算処理を行なう。また、この演算結果に基づいて、各装置が備える各種のハードウェアを制御する。これにより、本実施形態の機能ブロックは実現される。つまり、本実施形態は、ハードウェアとソフトウェアが協働することにより実現することができる。
機械学習装置300については機械学習に伴う演算量が多いため、例えば、パーソナルコンピュータにGPU(Graphics Processing Units)を搭載し、GPGPU(General-Purpose computing on Graphics Processing Units)と呼ばれる技術により、GPUを機械学習に伴う演算処理に利用するようにすると高速処理できるようになるのでよい。更には、より高速な処理を行うために、このようなGPUを搭載したコンピュータを複数台用いてコンピュータ・クラスターを構築し、このコンピュータ・クラスターに含まれる複数のコンピュータにて並列処理を行うようにしてもよい。
次に、図6のフローチャートを参照して本実施形態におけるQ学習時の機械学習装置300の動作について説明をする。図6は本実施形態におけるQ学習時の機械学習装置300の動作を示すフローチャートである。なお、最適化の対象とするタップ加工プログラム500が用意され、また、各パラメータ値(例えば、減速時のトルク指令値の目標値Tt、最大試行回数等)が予め設定されているものとする。
まず、ステップS11において、状態情報取得部301が制御装置200から最初の状態情報を取得する。取得した状態情報は、価値関数更新部3022及び行動情報生成部3023に対して出力される。上述したように、この状態情報は、Q学習における状態sに相当する情報であり、ステップS11時点での、主軸モータ101に対するトルク指令値、主軸モータ101が加速、減速、一定速、及び停止のいずれにあるかを示す駆動状態情報(主軸モータ101の駆動状態情報)、並びに加速時移動距離Saと減速時移動距離Sdの比率が含まれる。本実施形態では、加速時移動距離Saは一定とされている。なお、最初にQ学習を開始する時点での加速時移動距離Saと減速時移動距離Sdの比率は、予めユーザが設定し、ここでは比率は1:1とされている。本実施形態では、ユーザが作成した加速時移動距離Saと減速時移動距離Sdの比率を、強化学習により最適なものに調整する。
ステップS12において、状態情報取得部301は、状態sに係る主軸モータ101に対するトルク指令値、及び主軸モータ101の駆動状態情報により、タップ加工における一サイクルにおける状態sに係る減速時のトルク指令値Tm(s)を求め、これを判定情報とする。状態情報取得部301は学習部302に対して取得した状態情報、及び判定情報を出力する。
ステップS13において、報酬出力部3021は入力された判定情報、すなわち減速時のトルク指令値Tm(s)に基づいて報酬を算出する。ステップS13においては、状態sに係る減速時のトルク指令値Tm(s)と、主軸モータ101に対する減速時のトルク指令値の目標値Ttとを用いて、上述した数式3により報酬を算出する。
ステップS13が終了すると、ステップS14において、報酬の値に基づいて、価値関数更新部3022が、価値関数記憶部304が記憶している価値関数Qを更新する。次に、ステップS15において、価値関数更新部3022は機械学習を継続するかどうかを判断する。機械学習を継続するかどうかは、現在の試行回数が予め設定された最大試行回数に到達したかどうかで判断することができる。最大試行回数に到達していなければ、ステップS16に進む。最大試行回数に達していれば、処理を終了する。
ステップS16において、行動情報生成部3023は新たな行動情報aを生成し、生成した新たな行動情報aを、行動情報出力部303を介して制御装置200に対して出力する。行動情報を受信した制御装置200は、受信した行動情報に基づいて現在の状態sに係る加速時移動距離Saと減速時移動距離Sdの比率を修正して状態s’とし、制御装置200は修正された状態s’により、工作機械100を駆動させてタップ加工を行う。
例えば、制御装置200は、図4に示した加速時移動距離Saと減速時移動距離Sdの比率が1対1の状態sを、比率が1:0.7の状態s’とする。図7は加速時移動距離Saと修正後の減速時移動距離Sd’の比率が1対0.7である場合の、減速時の主軸モータの回転速度vと時間tとの関係を示す図である。一サイクルの時間(サイクルタイム)は、時間t1から時間t1より小さいt2となる。
ステップS16が終了すると、ステップS12に戻る。
ここで、ステップS16、及び次のステップS12における具体的な制御装置200の動作について図3を参照して具体的に説明する。図3に示すように、主軸制御部220は、現在速度検出部224が検出する現在速度Vcと、初期動作制御部221が制御する加速状態と、位置決め動作制御部225が制御する減速状態とに基づいて、主軸モータ101が加速、減速、一定速、及び停止のいずれにあるかを示す駆動状態情報(主軸モータ101の駆動状態情報)を機械学習装置300へ送る。また、主軸制御部220は、トルク指令値を主軸モータ101の他に、機械学習装置300へも送る。さらに、主軸制御部220は、タップ加工プログラム500で実行されるタップ加工の一サイクルでの、加速時移動距離Saと減速時移動距離Sdとの比率を機械学習装置300へ送る。
トルク指令値と、主軸モータ101の駆動状態情報と、加速時移動距離Saと減速時移動距離Sdとの比率とが、機械学習装置300へ送る状態情報sとなる。
また、主軸制御部220は、機械学習装置300から加速時移動距離Saと減速時移動距離Sdとの比率を行動情報として受信する。位置決め動作制御部225は、この比率と回転量検出部222により検出される加速時移動距離Saとから減速時移動距離Sdを求める。図7に示すような、加速時移動距離Saと減速時移動距離Sdとの比率が1:0.7の場合は、回転量検出部222により検出される加速時移動距離Saに0.7を掛けて、減速時移動距離Sdを求める。求められた減速時移動距離Sdに残回転量Srが達した時に減速を開始する。減速時の加速度は、既に説明したように、求められた減速時移動距離(残回転量Sr)と現在速度Vcとに基づき減速時の加速度を求めことができる。
次のステップS12から次のステップS15までの処理が終了すると、次のステップS16において、図7に示した加速時移動距離Saと減速時移動距離Sd’の比率を1対0.7の状態s’から、比率が1:0.4の状態s’’とすることができる。図9は加速時移動距離Saと修正後の減速時移動距離Sd’’の比率が1対0.4である場合の、減速時の主軸モータの回転速度vと時間tとの関係を示す図である。一サイクルの時間は、時間t2から時間t2より小さいt3となる。
ステップS12からステップS16までの処理は最大試行回数に到達するまで繰り返し行われる。なお、ここでは試行回数が最大試行回数に到達したときに処理を終了させているが、ステップS12からステップS16の処理を所定時間繰り返したことを条件として処理を終了するようにしてもよい。
以上説明したステップS16では、加速時移動距離Saに対する減速時移動距離Sdの比率を下げた場合について説明しているが、加速時移動距離Saに対する減速時移動距離Sdの比率を増やすことも行って機械学習を行う。
なお、ステップS14はオンライン更新を例示しているが、オンライン更新に替えてバッチ更新又はミニバッチ更新に置き換えてもよい。
以上、図6を参照して説明した動作により、本実施形態では、加工プログラムに対して減速時でのモータ能力を目標値に近づけつつ、機械毎又は動作条件毎に安定したタップ動作とし、よりサイクルタイムを短縮するための行動情報を生成するための価値関数Qを生成することができる、という効果を奏する。
次に、図9のフローチャートを参照して、最適化行動情報出力部305による最適化行動情報の生成時の動作について説明をする。
まず、ステップS21において、最適化行動情報出力部305は、価値関数記憶部304に記憶している価値関数Qを取得する。価値関数Qは、上述したように価値関数更新部3022がQ学習を行うことにより更新したものである。
ステップS22において、最適化行動情報出力部305は、この価値関数Qに基づいて、最適化行動情報を生成し、生成した最適化行動情報を制御装置200に対して出力する。
以上のように、制御装置200が、この最適化行動情報に基づいてトルク指令値を生成することにより、工作機械100は、減速時でのモータ能力を目標値に近づけつつ、機械毎又は動作条件毎に安定したタップ動作とし、よりサイクルタイムを短縮することができる、という効果を奏する。
以上、本発明の実施形態について説明したが、上記の制御装置及び機械学習装置のそれぞれは、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記の制御装置及び機械学習装置のそれぞれの協働により行なわれる機械学習方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。
また、上述した各実施形態は、本発明の好適な実施形態ではあるが、上記各実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
<変形例>
上述した実施形態では、機械学習装置300を、工作機械100や制御装置200とは別体の装置により実現することを想定していたが、機械学習装置300の機能の一部又は全部を工作機械100又は制御装置200により実現するようにしてもよい。機械学習装置300の機能の一部又は全部を、制御装置200の数値制御部210又は主軸制御部220により実現するようにしてもよく、数値制御部210又は主軸制御部220とは別に機械学習装置300の機能の一部又は全部を有する機械学習部を制御装置200内に設けてもよい。
また、機械学習装置300の最適化行動情報出力部305は機械学習装置300とは別の最適化行動情報出力装置としてもよい。この場合、最適化行動情報出力装置は複数の機械学習装置300に対して1つ又は複数設けて共通化してもよい。
<システム構成の自由度>
上述した実施形態では、機械学習装置300と制御装置200とが1対1の組として通信可能に接続されているが、例えば1台の機械学習装置300が複数の制御装置200とネットワーク400を介して通信可能に接続され、各制御装置200の機械学習を実施するようにしてもよい。
その際、機械学習装置300の各機能を、適宜複数のサーバに分散する、分散処理システムとしてもよい。また、クラウド上で仮想サーバ機能等を利用して、機械学習装置300の各機能を実現してもよい。
また、複数の同じ型名、同一仕様、又は同一シリーズの制御装置200−1〜200−nとそれぞれ対応する複数の機械学習装置300−1〜300−nがあった場合に、各機械学習装置300−1〜300−nにおける学習結果を共有するように構成するようにしてもよい。そうすることで、より最適なモデルを構築することが可能となる。
10 制御システム
100、100−1〜100−n 工作機械
101 主軸モータ
102 送り軸モータ
105 サイクルカウンタ
200、200−1〜200−n 制御装置
210 数値制御部
220 主軸制御部
230回転検出部
240 送り軸モータ制御部
300、300−1〜300−n 機械学習装置
301 状態情報取得部
302 学習部
303 行動情報出力部
304 価値関数記憶部
305 最適化行動情報出力部
400 ネットワーク
500 タップ加工プログラム

Claims (8)

  1. 主軸モータと送り軸モータとの同期運転を制御する、工作機械の制御装置に対して、機械学習を行う機械学習装置であって、
    タップ加工プログラムを前記制御装置に実行させることにより、少なくとも前記主軸モータに対するトルク指令値と、前記主軸モータの減速を含む駆動状態と、前記主軸モータの加速時移動距離と減速時移動距離との比率と、を含む状態情報を、前記制御装置から取得する状態情報取得手段と、
    前記状態情報に含まれる前記主軸モータの加速時移動距離と減速時移動距離との前記比率の調整情報を含む行動情報を前記制御装置に出力する行動情報出力手段と、
    前記状態情報に含まれる減速時のトルク指令値と減速時の目標トルク指令値とに基づく、強化学習における報酬の値を出力する報酬出力手段と、
    前記報酬出力手段により出力される報酬の値と、前記状態情報と、前記行動情報とに基づいて行動価値関数を更新する価値関数更新手段と、
    を備える機械学習装置。
  2. 前記報酬出力手段は、減速時のトルク指令値Tm、減速時の目標トルク指令値Tt、係数aを用いて、報酬を以下の数式4によって求める請求項1に記載の機械学習装置。
    Figure 0006564432
  3. 前記価値関数更新手段により更新された価値関数に基づいて、前記主軸モータの加速時移動距離と減速時移動距離との比率を生成して出力する最適化行動情報出力手段を備えた請求項1又は2に記載の機械学習装置。
  4. 請求項1から請求項3のいずれか1項に記載の機械学習装置と、主軸モータと送り軸モータとの同期運転を制御する、工作機械の制御装置と、を備えた制御システム。
  5. 請求項1から請求項3のいずれか1項に記載の機械学習装置を含み、主軸モータと送り軸モータとの同期運転を制御する、工作機械の制御装置。
  6. 前記制御装置は、
    タップ加工プログラムに基づき主軸指令及び送り軸指令を作成する数値制御部と、
    前記主軸指令に従って主軸モータの回転動作を制御する主軸制御部と、
    前記主軸モータの回転位置を検出する回転検出部と、
    前記送り軸指令に従って、前記回転位置に基づき前記送り軸の送り動作を制御する送り軸制御部と、を具備し、
    前記数値制御部は、始動位置から目標位置に至る間の前記主軸モータの総回転量と最高回転速度とを前記タップ加工プログラムから取得して、該総回転量と該最高回転速度とを前記主軸指令として前記主軸制御部に送る主軸指令出力部を備え、
    前記主軸制御部は、前記最高回転速度を目標値とする速度制御により前記始動位置から前記主軸モータを、加速回転させる初期動作制御部と、
    前記加速回転中に前記回転位置に基づき前記主軸モータの回転量を検出する回転量検出部と、
    前記総回転量と前記回転位置とに基づき、現在位置から前記目標位置に至るまでの前記主軸モータの残回転量を検出する残回転量検出部と、
    前記回転位置に基づき前記主軸モータの現在速度を検出する現在速度検出部と、
    前記加速回転の後に、前記主軸モータの加速時移動距離と減速時移動距離との比率と、前記残回転量と、前記現在速度とに基づき、位置制御により前記主軸モータを減速回転させて前記目標位置に到達させる位置決め動作制御部とを備えている請求項4に記載の制御システム。
  7. タップ加工プログラムに基づき主軸指令及び送り軸指令を作成する数値制御部と、
    前記主軸指令に従って主軸モータの回転動作を制御する主軸制御部と、
    前記主軸モータの回転位置を検出する回転検出部と、
    前記送り軸指令に従って、前記回転位置に基づき前記送り軸の送り動作を制御する送り軸制御部と、を具備し、
    前記数値制御部は、始動位置から目標位置に至る間の前記主軸モータの総回転量と最高回転速度とを前記タップ加工プログラムから取得して、該総回転量と該最高回転速度とを前記主軸指令として前記主軸制御部に送る主軸指令出力部を備え、
    前記主軸制御部は、前記最高回転速度を目標値とする速度制御により前記始動位置から前記主軸モータを、加速回転させる初期動作制御部と、
    前記加速回転中に前記回転位置に基づき前記主軸モータの回転量を検出する回転量検出部と、
    前記総回転量と前記回転位置とに基づき、現在位置から前記目標位置に至るまでの前記主軸モータの残回転量を検出する残回転量検出部と、
    前記回転位置に基づき前記主軸モータの現在速度を検出する現在速度検出部と、
    前記加速回転の後に、前記主軸モータの加速時移動距離と減速時移動距離との比率と、前記残回転量と、前記現在速度とに基づき、位置制御により前記主軸モータを減速回転させて前記目標位置に到達させる位置決め動作制御部とを備えている請求項5に記載の制御装置。
  8. 主軸モータと送り軸モータとの同期運転を制御する、工作機械の制御装置に対して、機械学習を行う機械学習装置の機械学習方法であって、
    タップ加工プログラムを前記制御装置に実行させることにより、少なくとも前記主軸モータに対するトルク指令値と、前記主軸モータの減速を含む駆動状態と、前記主軸モータの加速時移動距離と減速時移動距離との比率と、を含む状態情報を、前記制御装置から取得し、
    前記状態情報に含まれる前記主軸モータの加速時移動距離と減速時移動距離との前記比率の調整情報を含む行動情報を前記制御装置に出力し、
    前記状態情報に含まれる減速時のトルク指令値と減速時の目標トルク指令値とに基づく、強化学習における報酬の値を出力し、
    前記報酬の値と、前記状態情報と、前記行動情報とに基づいて行動価値関数を更新する、機械学習方法。
JP2017164062A 2017-08-29 2017-08-29 機械学習装置、制御システム、制御装置、及び機械学習方法 Active JP6564432B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017164062A JP6564432B2 (ja) 2017-08-29 2017-08-29 機械学習装置、制御システム、制御装置、及び機械学習方法
US16/101,968 US11029651B2 (en) 2017-08-29 2018-08-13 Machine learning device, control system, control device, and machine learning method
CN201810962799.0A CN109420800B (zh) 2017-08-29 2018-08-22 机器学习装置、控制***、控制装置以及机器学习方法
DE102018214276.9A DE102018214276B4 (de) 2017-08-29 2018-08-23 Vorrichtung für maschinelles Lernen, Steuersystem, Steuervorrichtung und Verfahren für maschinelles Lernen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017164062A JP6564432B2 (ja) 2017-08-29 2017-08-29 機械学習装置、制御システム、制御装置、及び機械学習方法

Publications (2)

Publication Number Publication Date
JP2019040556A JP2019040556A (ja) 2019-03-14
JP6564432B2 true JP6564432B2 (ja) 2019-08-21

Family

ID=65321941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017164062A Active JP6564432B2 (ja) 2017-08-29 2017-08-29 機械学習装置、制御システム、制御装置、及び機械学習方法

Country Status (4)

Country Link
US (1) US11029651B2 (ja)
JP (1) JP6564432B2 (ja)
CN (1) CN109420800B (ja)
DE (1) DE102018214276B4 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3523760B1 (en) * 2016-11-04 2024-01-24 DeepMind Technologies Limited Reinforcement learning systems
JP6660038B1 (ja) * 2018-11-05 2020-03-04 株式会社明電舎 軸トルク制御装置
KR102540937B1 (ko) * 2018-12-14 2023-06-08 현대자동차주식회사 운전자 보조 장치 및 그 작동 방법
JP7010877B2 (ja) 2019-04-25 2022-01-26 ファナック株式会社 機械学習装置、数値制御システム及び機械学習方法
US11429869B2 (en) * 2019-11-21 2022-08-30 International Business Machines Corporation Artificially intelligent interaction agent
JP7314831B2 (ja) * 2020-02-17 2023-07-26 トヨタ自動車株式会社 車両用制御データの生成方法、車両用制御装置、車両用制御システム、および車両用学習装置
CN111830832B (zh) * 2020-07-27 2021-08-31 中国科学院自动化研究所 仿生滑翔机器海豚平面路径跟踪方法及***
EP4244770A1 (en) * 2020-11-12 2023-09-20 Umnai Limited Architecture for explainable reinforcement learning
CN113050547B (zh) * 2021-03-04 2022-03-25 宏晶微电子科技股份有限公司 测试激励生成方法、测试方法、电子设备、存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0757444B2 (ja) * 1985-06-28 1995-06-21 ブラザー工業株式会社 ねじ加工装置
US6345205B1 (en) 1997-06-24 2002-02-05 Amada Company, Limited Support system for laser beam machine, and laser beam machine including the same
JP2001228909A (ja) 2000-02-16 2001-08-24 Star Micronics Co Ltd 工作機械及びその制御方法
JP3749222B2 (ja) 2002-12-24 2006-02-22 ファナック株式会社 数値制御装置
JP2005216135A (ja) 2004-01-30 2005-08-11 Fanuc Ltd ねじ切り・ねじ立て加工用制御装置
US8209040B2 (en) * 2007-01-10 2012-06-26 Hitachi, Ltd. Plant control apparatus
JP5325949B2 (ja) * 2011-08-08 2013-10-23 ファナック株式会社 タッピング加工装置
CN104380218B (zh) 2012-06-05 2017-06-09 三菱电机株式会社 数控装置
JP5624163B2 (ja) 2013-01-17 2014-11-12 ファナック株式会社 ねじ切りサイクルの再加工を行う機能を有する数値制御装置
JP5778801B2 (ja) * 2014-01-23 2015-09-16 ファナック株式会社 工作機械の数値制御装置
DE102015013283B4 (de) 2014-10-17 2019-01-24 Fanuc Corporation Vorrichtung und Verfahren zum Steuern einer Werkzeugmaschine, um einen synchronisierten Betrieb einer Spindelachse und Vorschubachse zu steuern
US10625355B2 (en) 2014-10-28 2020-04-21 Mitsubishi Electric Corporation Numerical control device
JP6034913B2 (ja) * 2015-03-30 2016-11-30 ファナック株式会社 主軸と送り軸との同期運転を制御する工作機械の制御装置及び制御方法
JP6140223B2 (ja) 2015-07-29 2017-05-31 ファナック株式会社 主軸と送り軸との同期運転を制御する工作機械の制御装置及び制御方法
JP6063013B1 (ja) 2015-08-27 2017-01-18 ファナック株式会社 びびり或いは工具摩耗/破損の発生を抑制する加工条件調整機能を有する数値制御装置
JP6697491B2 (ja) * 2018-01-25 2020-05-20 ファナック株式会社 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法
JP7177672B2 (ja) * 2018-11-26 2022-11-24 オークマ株式会社 数値制御装置
JP7010877B2 (ja) * 2019-04-25 2022-01-26 ファナック株式会社 機械学習装置、数値制御システム及び機械学習方法

Also Published As

Publication number Publication date
CN109420800A (zh) 2019-03-05
CN109420800B (zh) 2020-06-23
US11029651B2 (en) 2021-06-08
DE102018214276A1 (de) 2019-02-28
JP2019040556A (ja) 2019-03-14
DE102018214276B4 (de) 2021-07-22
US20190064756A1 (en) 2019-02-28

Similar Documents

Publication Publication Date Title
JP6564432B2 (ja) 機械学習装置、制御システム、制御装置、及び機械学習方法
US10824121B2 (en) Machine learning device, servo motor controller, servo motor control system, and machine learning method
CN108628355B (zh) 伺服控制装置及***、机器学习装置及方法
US10921774B2 (en) Machine learning devices and methods for optimizing the speed and accuracy of thread mill, inner diameter, outer shape, and surface machine tools
JP6499720B2 (ja) 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP6474456B2 (ja) 機械学習装置、サーボ制御システム及び機械学習方法
JP6453919B2 (ja) 行動情報学習装置、行動情報最適化システム及び行動情報学習プログラム
JP6474449B2 (ja) 調整装置及び調整方法
JP6748135B2 (ja) 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP7010877B2 (ja) 機械学習装置、数値制御システム及び機械学習方法
JP2019021024A (ja) 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法
US11087509B2 (en) Output device, control device, and evaluation function value output method
US20190317477A1 (en) Machine learning device, control device, and machine learning method
US11914333B2 (en) Machine learning device, servo control device, servo control system, and machine learning method
JP6978452B2 (ja) 機械学習装置、制御装置、及び機械学習の探索範囲の設定方法
CN110941242A (zh) 电动机控制装置
JP6740263B2 (ja) 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法
WO2021187268A1 (ja) 機械学習装置、数値制御システム、設定装置、数値制御装置、及び機械学習方法

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190121

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190315

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190620

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190625

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190726

R150 Certificate of patent or registration of utility model

Ref document number: 6564432

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150