JP6564432B2 - 機械学習装置、制御システム、制御装置、及び機械学習方法 - Google Patents
機械学習装置、制御システム、制御装置、及び機械学習方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive 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/041—Adaptive 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23G—THREAD CUTTING; WORKING OF SCREWS, BOLT HEADS, OR NUTS, IN CONJUNCTION THEREWITH
- B23G1/00—Thread cutting; Automatic machines specially designed therefor
- B23G1/16—Thread cutting; Automatic machines specially designed therefor in holes of workpieces by taps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23G—THREAD CUTTING; WORKING OF SCREWS, BOLT HEADS, OR NUTS, IN CONJUNCTION THEREWITH
- B23G1/00—Thread cutting; Automatic machines specially designed therefor
- B23G1/44—Equipment or accessories specially designed for machines or devices for thread cutting
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01L—MEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
- G01L5/00—Apparatus for, or methods of, measuring force, work, mechanical power, or torque, specially adapted for specific purposes
- G01L5/24—Apparatus 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/182—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by the machine tool function, e.g. thread cutting, cam making, tool direction control
- G05B19/186—Generation of screw- or gearlike surfaces
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/416—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/416—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
- G05B19/4163—Adaptive control of feed or cutting velocity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial 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]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/45—Nc applications
- G05B2219/45216—Tapping
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/49—Nc machine tool, till multiple
- G05B2219/49065—Execute 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
タップ加工プログラムを前記制御装置に実行させることにより、少なくとも前記主軸モータに対するトルク指令値と、前記主軸モータの減速を含む駆動状態と、前記主軸モータの加速時移動距離と減速時移動距離との比率と、を含む状態情報を、前記制御装置から取得する状態情報取得手段(例えば、後述の状態情報取得部301)と、
前記状態情報に含まれる前記主軸モータの加速時移動距離と減速時移動距離との前記比率の調整情報を含む行動情報を前記制御装置に出力する行動情報出力手段(例えば、後述の行動情報出力部303)と、
前記状態情報に含まれる減速時のトルク指令値と減速時の目標トルク指令値に基づく、強化学習における報酬の値を出力する報酬出力手段(例えば、後述の報酬出力部3021)と、
前記報酬出力手段により出力される報酬の値と、前記状態情報と、前記行動情報とに基づいて行動価値関数を更新する価値関数更新手段(例えば、後述の価値関数更新部3022)と、
を備える機械学習装置である。
タップ加工プログラムに基づき主軸指令及び送り軸指令を作成する数値制御部(例えば、後述の数値制御部210)と、
前記主軸指令に従って主軸モータの回転動作を制御する主軸制御部(例えば、後述の主軸制御部220)と、
前記主軸モータの回転位置を検出する回転検出部(例えば、後述の回転検出部230)と、
前記送り軸指令に従って、前記回転位置に基づき前記送り軸の送り動作を制御する送り軸制御部(例えば、後述の送り軸制御部240)と、を具備し、
前記数値制御部は、始動位置から目標位置に至る間の前記主軸モータの総回転量と最高回転速度とを前記タップ加工プログラムから取得して、該総回転量と該最高回転速度とを前記主軸指令として前記主軸制御部に送る主軸指令出力部(例えば、後述の主軸指令出力部211)を備え、
前記主軸制御部は、前記最高回転速度を目標値とする速度制御により前記始動位置から前記主軸モータを、加速回転させる初期動作制御部(例えば、後述の初期動作制御部221)と、
前記加速回転中に前記回転位置に基づき前記主軸モータの回転量を検出する回転量検出部(例えば、後述の回転量検出部222)と、
前記総回転量と前記回転位置とに基づき、現在位置から前記目標位置に至るまでの前記主軸モータの残回転量を検出する残回転量検出部(例えば、後述の残回転量検出部223)と、
前記回転位置に基づき前記主軸モータの現在速度を検出する現在速度検出部(例えば、後述の現在速度検出部224)と、
前記加速回転の後に、前記主軸モータの加速時移動距離と減速時移動距離との比率と、前記残回転量と、前記現在速度とに基づき、位置制御により前記主軸モータを減速回転させて前記目標位置に到達させる位置決め動作制御部(例えば、後述の位置決め動作制御部225)とを備えていてもよい。
前記主軸指令に従って主軸モータの回転動作を制御する主軸制御部(例えば、後述の主軸制御部220)と、
前記主軸モータの回転位置を検出する回転検出部(例えば、後述の回転検出部230)と、
前記送り軸指令に従って、前記回転位置に基づき前記送り軸の送り動作を制御する送り軸制御部(例えば、後述の送り軸制御部240)と、を具備し、
前記数値制御部は、始動位置から目標位置に至る間の前記主軸モータの総回転量と最高回転速度とを前記タップ加工プログラムから取得して、該総回転量と該最高回転速度とを前記主軸指令として前記主軸制御部に送る主軸指令出力部(例えば、後述の主軸指令出力部211)を備え、
前記主軸制御部は、前記最高回転速度を目標値とする速度制御により前記始動位置から前記主軸モータを、加速回転させる初期動作制御部(例えば、後述の初期動作制御部221)と、
前記加速回転中に前記回転位置に基づき前記主軸モータの回転量を検出する回転量検出部(例えば、後述の回転量検出部222)と、
前記総回転量と前記回転位置とに基づき、現在位置から前記目標位置に至るまでの前記主軸モータの残回転量を検出する残回転量検出部(例えば、後述の残回転量検出部223)と、
前記回転位置に基づき前記主軸モータの現在速度を検出する現在速度検出部(例えば、後述の現在速度検出部224)と、
前記加速回転の後に、前記主軸モータの加速時移動距離と減速時移動距離との比率と、前記残回転量と、前記現在速度とに基づき、位置制御により前記主軸モータを減速回転させて前記目標位置に到達させる位置決め動作制御部(例えば、後述の位置決め動作制御部225)とを備えていてもよい。
タップ加工プログラムを前記制御装置に実行させることにより、少なくとも前記主軸モータに対するトルク指令値と、前記主軸モータの減速を含む駆動状態と、前記主軸モータの加速時移動距離と減速時移動距離との比率と、を含む状態情報を、前記制御装置から取得し、
前記状態情報に含まれる前記主軸モータの加速時移動距離と減速時移動距離との前記比率の調整情報を含む行動情報を前記制御装置に出力し、
前記状態情報に含まれる減速時のトルク指令値と減速時の目標トルク指令値に基づく、強化学習における報酬の値を出力し、
前記報酬の値と、前記状態情報と、前記行動情報とに基づいて行動価値関数を更新する、機械学習方法である。
(第1の実施形態)
本実施形態の、工作機械の制御システムは、制御装置と機械学習装置とを備えており、工作機械の主軸モータと送り軸モータとの同期運転を制御してタップ加工を行う場合に好適に用いられる。このようなタップ加工をリジットタップ加工という。本実施形態ではリジットタップ加工を例にとって説明するが、本発明は主軸モータと送り軸モータとの同期運転により行う加工に適用でき、リジットタップ加工に特に限定されるものではない。
図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は、図2に示すように、主軸モータ101、主軸モータ101に結びついたエンコーダ等の位置検出器102、主軸モータ101を支持する支持部103、支持部103を直線移動させるボールネジ104、ボールネジ104に接続される送り軸モータ105、及び送り軸モータ105に結びついたエンコーダ等の位置検出器106を備えている。
図3に示すように、制御装置200は、主軸モータ101と送り軸モータ105との同期運転によりタップ加工を行う工作機械(例えば旋盤、ボール盤、マシニンングセンタ等)において、送り軸モータ105が、タップ加工プログラム500で指定されるねじピッチを考慮しながら、主軸モータ101の回転動作に追従するように動作する同期運転(いわゆるマスター・スレーブ同期方式)を制御する装置である。
例えばタップ加工プログラム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を目標ねじ深さまで回転運動させるための位置指令や加減速指令を含まないものとなっている。
送り軸指令出力部213は、プログラム解釈部212の解釈に従い送り軸指令CFを作成して、送り軸制御部240に送り軸指令CFを送る。
初期動作制御部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の加速回転を減速回転に移す。
送り軸制御部240は、送り軸指令出力部213から送られた送り軸指令CFに従って、送り軸モータ105の動作位置を検出するエンコーダ等の位置検出器102からの送り位置のフィードバック値に加えて、主軸モータ101の回転位置FBSを用いて、フィードバック制御により主軸モータ101の動作に追従する送り軸モータ105の送り動作を制御する。なお、送り軸制御部240は、ワークに対して送り軸モータ105をZ方向に対して直線送りしている。しかし、ワーク又は工具をX軸方向及びY軸方向に対して送り動作させる2つの送り軸モータを制御する2つの送り軸制御部をさらに備えていてもよい。
図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となり、上記と同様に、減速の加速度を求めることができる。
図5は機械学習装置300の構成を示すブロック図である。機械学習装置300は例えば、図1に示す機械学習装置300−1に対応している。工作機械100−2〜100−nも同様な構成を有している。
機械学習装置300は、予め用意されたタップ加工プログラム500を制御装置200が実行することで、タップ加工プログラム500によって工作機械100を動作させたときに、減速時のトルク指令値が減速時のトルク指令目標値に最も近い、タップ動作における加速時移動距離と減速時移動距離との比率を強化学習する装置である。
教師あり学習が、完全な正解を示すのに対して、強化学習における報酬は、環境の一部の変化に基づく断片的な値であることが多い。このため、エージェントは、将来にわたっての報酬の合計を最大にするように行動を選択するように学習する。
Q学習では、或る状態sのとき、取り得る行動aのなかから、価値関数Q(s,a)の最も高い行動aを最適な行動として選択することを目的とする。
この更新式は、状態stにおける行動atの価値関数Q(st,at)よりも、行動atによる次の状態st+1における最良の行動の価値maxa Q(st+1,a)の方が大きければ、Q(st,at)を大きくし、逆に小さければ、Q(st,at)を小さくすることを示している。つまり、或る状態における或る行動の価値を、それによる次の状態における最良の行動の価値に近づける。ただし、その差は、割引率γと報酬rt+1のあり方により変わってくるが、基本的には、ある状態における最良の行動の価値が、それに至る一つ前の状態における行動の価値に伝播していく仕組みになっている。
「Human-level control through deep reinforcement learning」、Volodymyr Mnih1著[online]、[平成29年1月17日検索]、インターネット〈URL:http://files.davidqiu.com/research/nature14236.pdf〉
上述した強化学習を行うために、図5に示すように、機械学習装置300は、状態情報取得部301、学習部302、行動情報出力部303、価値関数記憶部304、及び最適化行動情報出力部305を備える。学習部302は報酬出力部3021、価値関数更新部3022、及び行動情報生成部3023を備える。
状態情報取得部301は、取得した状態情報sを学習部302に対して出力する。
なお、最初にQ学習を開始する時点での加速時移動距離Saと減速時移動距離Sdとの比率は、予めユーザが設定する。ここでは、最初にQ学習を開始する時点での加速時移動距離Saと減速時移動距離Sdとの比率は、1対1に設定する。そして、機械学習装置300が、ユーザが設定した加速時移動距離Saと減速時移動距離Sdとの比率を、強化学習により調整することで、減速時のトルク指令値が目標となるトルク指令値に近い値となるように最適化する。
行動aにより状態sから状態s’に遷移した場合に、状態s及び状態s’における、加速時移動距離Saと減速時移動距離Sdとの比率に基づいて動作した工作機械100の一サイクルにおける減速時のトルク指令値の集合の平均値をトルク指令値Tm(s)及びトルク指令値Tm(s’)とする。
報酬出力部3021は、例えば、減速時のトルク指令値の集合の平均値Tm及び減速時のトルク指令値の目標値Ttに基づいて報酬を算出することができる。ここで、減速時のトルク指令値の目標値Ttは、減速時のトルク指令値の最大値よりも少し小さな値、例えば減速時のトルク指令値の最大値の95%に設定する。なお、減速時のトルク指令値の目標値Ttは、最大値の95%に限定されない。
トルク指令値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)と等しい場合の報酬よりも大きい正の値としてもよい。
価値関数Qの更新は、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。
行動情報生成部3023は、行動aにより加速時移動距離Saと減速時移動距離Sdとの比率を調整して、状態s’に遷移した場合に、減速時のトルク指令値Tm(s’)が目標トルク指令値Ttに近づいたか又は目標トルク指令値Ttを超えたかによって次の行動a’の加速時移動距離Saと減速時移動距離Sdとの比率を選択してもよい。例えば、減速時のトルク指令値Tm(s’)が目標トルク指令値Ttに近づいたときには、加速時移動距離Saに対する減速時移動距離Sdの比率を下げ、減速時のトルク指令値Tm(s’)が目標トルク指令値Ttを超えたときには、加速時移動距離Saに対する減速時移動距離Sdの比率を上げることができる。
より具体的には、最適化行動情報出力部305は、価値関数記憶部304が記憶している価値関数Qを取得する。この価値関数Qは、上述したように価値関数更新部3022がQ学習を行うことにより更新したものである。そして、最適化行動情報出力部305は、価値関数Qに基づいて、行動情報を生成し、生成した行動情報を制御装置200に対して出力する。この最適化行動情報には、行動情報出力部303がQ学習の過程において出力する行動情報と同様に、加速時移動距離Saと減速時移動距離Sdとの比率を修正する情報が含まれる。
これらの機能ブロックを実現するために、制御装置200及び機械学習装置300のそれぞれは、CPU(Central Processing Unit)等の演算処理装置を備える。また、制御装置200及び機械学習装置300のそれぞれは、アプリケーションソフトウェアやOS(Operating System)等の各種の制御用プログラムを格納したHDD(Hard Disk Drive)等の補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶装置も備える。
例えば、制御装置200は、図4に示した加速時移動距離Saと減速時移動距離Sdの比率が1対1の状態sを、比率が1:0.7の状態s’とする。図7は加速時移動距離Saと修正後の減速時移動距離Sd’の比率が1対0.7である場合の、減速時の主軸モータの回転速度vと時間tとの関係を示す図である。一サイクルの時間(サイクルタイム)は、時間t1から時間t1より小さいt2となる。
ステップS16が終了すると、ステップS12に戻る。
トルク指令値と、主軸モータ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からステップS16までの処理は最大試行回数に到達するまで繰り返し行われる。なお、ここでは試行回数が最大試行回数に到達したときに処理を終了させているが、ステップS12からステップS16の処理を所定時間繰り返したことを条件として処理を終了するようにしてもよい。
なお、ステップS14はオンライン更新を例示しているが、オンライン更新に替えてバッチ更新又はミニバッチ更新に置き換えてもよい。
まず、ステップS21において、最適化行動情報出力部305は、価値関数記憶部304に記憶している価値関数Qを取得する。価値関数Qは、上述したように価値関数更新部3022がQ学習を行うことにより更新したものである。
上述した実施形態では、機械学習装置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の各機能を実現してもよい。
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に記載の機械学習装置。
- 請求項1から請求項3のいずれか1項に記載の機械学習装置と、主軸モータと送り軸モータとの同期運転を制御する、工作機械の制御装置と、を備えた制御システム。
- 請求項1から請求項3のいずれか1項に記載の機械学習装置を含み、主軸モータと送り軸モータとの同期運転を制御する、工作機械の制御装置。
- 前記制御装置は、
タップ加工プログラムに基づき主軸指令及び送り軸指令を作成する数値制御部と、
前記主軸指令に従って主軸モータの回転動作を制御する主軸制御部と、
前記主軸モータの回転位置を検出する回転検出部と、
前記送り軸指令に従って、前記回転位置に基づき前記送り軸の送り動作を制御する送り軸制御部と、を具備し、
前記数値制御部は、始動位置から目標位置に至る間の前記主軸モータの総回転量と最高回転速度とを前記タップ加工プログラムから取得して、該総回転量と該最高回転速度とを前記主軸指令として前記主軸制御部に送る主軸指令出力部を備え、
前記主軸制御部は、前記最高回転速度を目標値とする速度制御により前記始動位置から前記主軸モータを、加速回転させる初期動作制御部と、
前記加速回転中に前記回転位置に基づき前記主軸モータの回転量を検出する回転量検出部と、
前記総回転量と前記回転位置とに基づき、現在位置から前記目標位置に至るまでの前記主軸モータの残回転量を検出する残回転量検出部と、
前記回転位置に基づき前記主軸モータの現在速度を検出する現在速度検出部と、
前記加速回転の後に、前記主軸モータの加速時移動距離と減速時移動距離との比率と、前記残回転量と、前記現在速度とに基づき、位置制御により前記主軸モータを減速回転させて前記目標位置に到達させる位置決め動作制御部とを備えている請求項4に記載の制御システム。 - タップ加工プログラムに基づき主軸指令及び送り軸指令を作成する数値制御部と、
前記主軸指令に従って主軸モータの回転動作を制御する主軸制御部と、
前記主軸モータの回転位置を検出する回転検出部と、
前記送り軸指令に従って、前記回転位置に基づき前記送り軸の送り動作を制御する送り軸制御部と、を具備し、
前記数値制御部は、始動位置から目標位置に至る間の前記主軸モータの総回転量と最高回転速度とを前記タップ加工プログラムから取得して、該総回転量と該最高回転速度とを前記主軸指令として前記主軸制御部に送る主軸指令出力部を備え、
前記主軸制御部は、前記最高回転速度を目標値とする速度制御により前記始動位置から前記主軸モータを、加速回転させる初期動作制御部と、
前記加速回転中に前記回転位置に基づき前記主軸モータの回転量を検出する回転量検出部と、
前記総回転量と前記回転位置とに基づき、現在位置から前記目標位置に至るまでの前記主軸モータの残回転量を検出する残回転量検出部と、
前記回転位置に基づき前記主軸モータの現在速度を検出する現在速度検出部と、
前記加速回転の後に、前記主軸モータの加速時移動距離と減速時移動距離との比率と、前記残回転量と、前記現在速度とに基づき、位置制御により前記主軸モータを減速回転させて前記目標位置に到達させる位置決め動作制御部とを備えている請求項5に記載の制御装置。 - 主軸モータと送り軸モータとの同期運転を制御する、工作機械の制御装置に対して、機械学習を行う機械学習装置の機械学習方法であって、
タップ加工プログラムを前記制御装置に実行させることにより、少なくとも前記主軸モータに対するトルク指令値と、前記主軸モータの減速を含む駆動状態と、前記主軸モータの加速時移動距離と減速時移動距離との比率と、を含む状態情報を、前記制御装置から取得し、
前記状態情報に含まれる前記主軸モータの加速時移動距離と減速時移動距離との前記比率の調整情報を含む行動情報を前記制御装置に出力し、
前記状態情報に含まれる減速時のトルク指令値と減速時の目標トルク指令値とに基づく、強化学習における報酬の値を出力し、
前記報酬の値と、前記状態情報と、前記行動情報とに基づいて行動価値関数を更新する、機械学習方法。
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)
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)
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 | ファナック株式会社 | 機械学習装置、数値制御システム及び機械学習方法 |
-
2017
- 2017-08-29 JP JP2017164062A patent/JP6564432B2/ja active Active
-
2018
- 2018-08-13 US US16/101,968 patent/US11029651B2/en active Active
- 2018-08-22 CN CN201810962799.0A patent/CN109420800B/zh active Active
- 2018-08-23 DE DE102018214276.9A patent/DE102018214276B4/de active Active
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 |