JP6740278B2 - 機械学習装置、制御装置、及び機械学習方法 - Google Patents
機械学習装置、制御装置、及び機械学習方法 Download PDFInfo
- Publication number
- JP6740278B2 JP6740278B2 JP2018077559A JP2018077559A JP6740278B2 JP 6740278 B2 JP6740278 B2 JP 6740278B2 JP 2018077559 A JP2018077559 A JP 2018077559A JP 2018077559 A JP2018077559 A JP 2018077559A JP 6740278 B2 JP6740278 B2 JP 6740278B2
- Authority
- JP
- Japan
- Prior art keywords
- machine learning
- correction amount
- command
- learning
- control device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000010801 machine learning Methods 0.000 title claims description 199
- 238000012545 processing Methods 0.000 claims description 164
- 230000013016 learning Effects 0.000 claims description 146
- 238000012937 correction Methods 0.000 claims description 142
- 230000006870 function Effects 0.000 claims description 100
- 230000002787 reinforcement Effects 0.000 claims description 19
- 230000008859 change Effects 0.000 claims description 11
- 238000005457 optimization Methods 0.000 claims description 6
- 230000009471 action Effects 0.000 description 73
- 238000012546 transfer Methods 0.000 description 51
- 230000006399 behavior Effects 0.000 description 49
- 238000000034 method Methods 0.000 description 35
- 238000003754 machining Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 17
- 238000001514 detection method Methods 0.000 description 15
- 238000003860 storage Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 238000011156 evaluation Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
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
- 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/414—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
- G05B19/4145—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using same processor to execute programmable controller and numerical controller function [CNC] and PC controlled NC [PCNC]
-
- 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
- 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
- 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
- G05B13/027—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 using neural networks only
-
- 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/404—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 arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
-
- 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/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4185—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
- G05B19/41855—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication by local area network [LAN], network structure
-
- 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/02—Neural networks
- G06N3/08—Learning methods
-
- 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/33—Director till display
- G05B2219/33034—Online learning, training
-
- 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/34—Director, elements to supervisory
- G05B2219/34013—Servocontroller
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Automation & Control Theory (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Quality & Reliability (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
- Feedback Control In General (AREA)
Description
他方、速度指令又はトルク指令に加える位置フィードフォワード項又は速度フィードフォワード項等の補正量を、後述する高次の伝達関数を用いて生成する場合に、当該伝達関数の係数を、工作機械を実動作させながら機械学習により求める方法が考えられる。
機械学習動作中に、前記サーボ制御装置において、前記補正量又は前記補正量が加えられた前記制御指令が前記設定範囲外となり、前記制限部が前記補正量又は前記補正量が加えられた前記制御指令に対して制限を加えて前記設定範囲とした場合、前記機械学習装置において、前記補正量を学習に反映させ、前記補正生成部にて生成する前記補正量の最適化の新たな探索を継続する機械学習装置である。
前記機械学習装置は、前記通知を受けたときに、前記補正量を学習に反映させてよい。
前記制限部から前記通知を受けたときに、前記補正量又は前記補正量が加えられた前記制御指令が前記設定範囲を超えるような前記補正量が選択されないような報酬を与えてよい。
工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御する制御指令に加える補正量を生成する補正生成部と、前記補正量又は前記補正量が加えられた制御指令を設定範囲に制限する制限部を備えたサーボ制御装置と、
を備えた制御装置である。
機械学習動作中に、前記サーボ制御装置において、前記補正量又は前記補正量が加えられた前記制御指令が前記設定範囲外となり、前記補正量又は前記補正量が加えられた前記制御指令に対して制限を加えられて前記設定範囲とした場合、前記機械学習装置において、前記補正量を学習に反映させ、前記補正量の最適化の新たな探索を継続する、機械学習方法である。
(第1実施形態)
サーボ制御装置100は、減算器101、位置制御部102、加算器103、速度指令制限部104、減算器105、速度制御部106、加算器107、トルク指令制限部108、サーボモータ109、積分器110、位置検出処理部111、微分器112、位置フィードフォワード処理部113、2回微分器114、及び速度フィードフォワード処理部115を備えている。
数値制御装置300は、加工プログラムにより指定される加工形状となるように、送り速度を設定して位置指令値を作成し、減算器101、微分器112、2回微分器114及び機械学習装置200に出力する。
また、速度指令制限部104は、速度指令に制限を加えて設定範囲内とした場合は速度制限通知を機械学習装置200に対して行う。
図2に示す設定範囲は、上限A1と下限B1とが固定された基準範囲とされる。この設定範囲は、加工ワークが変わらない量産品を作製する場合に好適に用いられる。
図3に示す設定範囲は、基準範囲の上限A1と下限B1とは異なる、加工ワークによって決められる固定された上限A2と下限B2が設けられた範囲とされる。この設定範囲は、加工ワークが変わる受注生産品を作製する場合に好適に用いられる。
この設定範囲は、例えば、[(加工ワークのイナーシャ)/(基準イナーシャ)]×(基準範囲)で求めることができる。
図4に示す設定範囲は、上限A3と下限B3とが加工精度又は加工サイクルタイムによって動的に変動する範囲とされる。図4に示すように、上限A3と下限B3は、位置フィードフォワード(FF)が設けられない場合、又は後述する位置フィードフォワード処理部113の伝達関数の係数が初期値(β=1、G(s)=1)の場合の指令値に対して、幅Δ分離れた上下に設けられる。
幅Δは、加工精度によって上限A3と下限B3が動的に変動する場合は、例えば、[(要求加工精度)/(基準精度)]×(基準値)で求めることができる。基準値は固定値とされる。また幅Δは、加工サイクルタイムによって上限A3と下限B3が動的に変動する場合は、例えば、[(基準サイクルタイム)/(要求加工サイクルタイム)]×(基準値)で求めることができる。基準値は固定値とされる。
また、トルク指令制限部108は、トルク指令を制限して設定範囲内とした場合はトルク指令制限通知を機械学習装置200に対して行う。
数式1の係数ai、bj(i,j≧0)は位置フィードフォワード処理部113の伝達関数G(s)の各係数である。
数式3の係数ci、dj(i,j≧0)は速度フィードフォワード処理部115の伝達関数F(s)の各係数である。
機械学習装置200は、速度フィードフォワード処理部115の伝達関数の係数の学習と、位置フィードフォワード処理部113の伝達関数の係数の学習とは別に行い、位置フィードフォワード処理部113より内側(インナーループ)にある速度フィードフォワード処理部115の伝達関数の係数の学習を位置フィードフォワード処理部113の伝達関数の係数の学習よりも先に行う。具体的には、位置フィードフォワード処理部113の伝達関数の係数を固定し、速度フィードフォワード処理部115の伝達関数の係数の最適な値を学習する。その後に、機械学習装置200は、速度フィードフォワード処理部115の伝達関数の係数を学習で得られた最適な値に固定して、位置フィードフォワード処理部113の伝達関数の係数を学習する。
そうすることで、学習により最適化された速度フィードフォワード項の条件下で、位置フィードフォワード処理部113の伝達関数の係数の最適化に係る学習を行うことができ、位置偏差の変動を抑制することができる。
このため、位置フィードフォワード処理部113より内側(インナーループ)にある速度フィードフォワード処理部115の伝達関数の係数の学習が位置フィードフォワード処理部113の伝達関数の係数の学習より先にした方が、位置偏差の変動を抑制し、高精度化を実現できる。
以下の説明では、速度フィードフォワード処理部115の伝達関数の係数に係る機械学習(強化学習)を例として説明する。なお、本実施形態では、機械学習の一例として強化学習について説明するが、機械学習は特に強化学習に限定されない。
機械学習装置200は、予め設定された加工プログラム(「学習時の加工プログラム」となる)を実行することで、速度フィードフォワード処理部115の伝達関数の係数を機械学習(以下、学習という)する。
ここでは、学習時の加工プログラムにより指定される加工形状の位置A1と位置A3、及び/又は位置B1と位置B3により、線形制御において回転速度が変更されたときの振動を評価し、位置偏差に対する影響を調べることで、伝達関数G(s)に係る係数の学習を行うものとする。
なお、加工形状の位置A2と位置A4、及び/又は位置B2と位置B4により、回転方向が反転する場合に生ずる惰走(いわゆる「象限突起」)を評価し、位置偏差に対する影響を調べることで、象限突起を抑制する補正量を算出するための伝達関数の係る係数の学習を行うこともできる。
教師あり学習が、完全な正解を示すのに対して、強化学習における報酬は、環境の一部の変化に基づく断片的な値であることが多い。このため、エージェントは、将来にわたっての報酬の合計を最大にするように行動を選択するように学習する。
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〉
上述した強化学習を行うために、図7に示すように、機械学習装置200は、状態情報取得部201、学習部202、行動情報出力部203、価値関数記憶部204、及び最適化行動情報出力部205を備える。学習部202は報酬出力部2021、価値関数更新部2022、及び行動情報生成部2023を備える。
状態情報取得部201は、取得した状態情報Sを学習部202に対して出力する。
なお、係数ci、djは予め操作者が工作機械を調整している場合には、調整済の値を初期値として機械学習してもよい。
ここで、状態Sにおける状態変数である位置偏差の集合とは、前述した加工形状の位置A1と位置A3、及び/又は位置B1と位置B3を含む所定の範囲内で計測される位置偏差の集合を意味する。
評価関数fとしては、例えば、
位置偏差の絶対値の積算値を算出する関数
∫|e|dt
位置偏差の絶対値に時間の重み付けをして積算値を算出する関数
∫t|e|dt
位置偏差の絶対値の2n(nは自然数)乗の積算値を算出する関数
∫e2ndt(nは自然数)
位置偏差の絶対値の最大値を算出する関数
Max{|e|}
等を適用することができる。
なお、報酬出力部2021は、トルク指令制限部108から速度制限通知信号を受けたときには、設定範囲外のトルク指令を生み出す速度フィードフォワード項を生成する速度フィードフォワード処理部115の係数ci、djが選択されないように報酬の値を絶対値の大きな負の値とすることができる。そうすることで、設定範囲外のトルク指令が生み出されたときの速度フィードフォワード処理部115の係数ci、djは、今後の学習範囲から実質的に外すことができる。
なお、行動情報Aにより修正された状態情報S´に係る修正後の速度フィードフォワード処理部115に基づいて動作したサーボ制御装置100の位置偏差の値f(PD(S´))が、行動情報Aにより修正される前の状態情報Sに係る修正前の速度フィードフォワード処理部115に基づいて動作したサーボ制御装置100の位置偏差の値f(PD(S))と等しい場合は、報酬出力部2021は、報酬の値をゼロとするようにしてもよい。
価値関数Qの更新は、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。
オンライン学習は、或る行動Aを現在の状態Sに適用することにより、状態Sが新たな状態S´に遷移する都度、即座に価値関数Qの更新を行う学習方法である。また、バッチ学習は、或る行動Aを現在の状態Sに適用することにより、状態Sが新たな状態S´に遷移することを繰り返すことにより、学習用のデータを収集し、収集した全ての学習用データを用いて、価値関数Qの更新を行う学習方法である。更に、ミニバッチ学習は、オンライン学習と、バッチ学習の中間的な、ある程度学習用データが溜まるたびに価値関数Qの更新を行う学習方法である。
より具体的には、最適化行動情報出力部205は、価値関数記憶部204が記憶している価値関数Qを取得する。この価値関数Qは、上述したように価値関数更新部2022がQ学習を行うことにより更新したものである。そして、最適化行動情報出力部205は、価値関数Qに基づいて、行動情報を生成し、生成した行動情報をサーボ制御装置100(速度フィードフォワード処理部115)に対して出力する。この最適化行動情報には、行動情報出力部203がQ学習の過程において出力する行動情報と同様に、速度フィードフォワード処理部115の各係数ci、djを修正する情報が含まれる。
機械学習装置200は、以上の動作で、速度フィードフォワード処理部115の各係数ci、djの学習及び最適化を行い、位置偏差の値を低減するように動作することができる。
以上のように、本実施形態に係る機械学習装置200を利用することで、サーボ制御装置100の速度フィードフォワード処理部115の補正パラメータ(係数ci、dj)調整を簡易化することができる。補正パラメータ(係数ci、dj)調整により速度フィードフォワード処理部115の速度フィードフォワード項の調整がなされる。
これらの機能ブロックを実現するために、サーボ制御装置100、及び機械学習装置200のそれぞれは、CPU(Central Processing Unit)等の演算処理装置を備える。また、サーボ制御装置100、及び機械学習装置200のそれぞれは、アプリケーションソフトウェアやOS(Operating System)等の各種の制御用プログラムを格納したHDD(Hard Disk Drive)等の補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶装置も備える。
図8に示すように、ステップS21で、機械学習装置200は学習動作を開始する。ここで、学習動作とは、状態Sにおいて、行動A(速度フィードフォワード処理部115の係数ci、dj)を選択して、速度フィードフォワード処理部115に設定し、学習時の加工プログラムを実行させることにより前述した加工形状の位置A1と位置A3、及び/又は位置B1と位置B3における位置偏差の集合(状態S´における状態変数)を取得して、当該位置偏差の評価値を算出し、状態Sにおける位置偏差の評価値と比較することにより、報酬を算出し、価値関数記憶部204が記憶する価値関数Qを更新する一連の処理を意味する。以下のステップにおいて、一連の処理を実行する。
そして、学習動作時に、トルク指令制限部108が、補正されたトルク指令が設定範囲外となったことを認識した場合、機械学習装置200は、状態Sにおける行動A(速度フィードフォワード処理部115の係数ci、dj)をサーボモータ109が異常な動作をする行動(補正パラメータ)として報酬に反映させて、当該状態S、行動Aの学習を続行させる。それにより、機械学習装置は、次の行動を探索して、新たな行動を生成することで、学習が中断することがないように、安全に機械学習を継続することが可能となる。
また、係数ai、bjの初期設定値は、速度フィードフォワード処理部115の各係数ai、bjの初期設定値と同じ値を適用してもよい。
同様に、サーボ制御装置100における位置フィードフォワード処理部113の各係数ai、bjに係る処理についても、速度フィードフォワード処理部115の各係数ci、djを位置フィードフォワード処理部113の伝達関数の各係数ai、bjに読み換えることで説明できる。
機械学習装置200の位置フィードフォワード処理部113の伝達関数の各係数ai、bjに関連する動作についても、第1実施形態における図8に示した機械学習装置200の処理フローにおいて、速度フィードフォワード処理部115を位置フィードフォワード処理部113に読み換え、速度フィードフォワード処理部115の各係数ci、djを位置フィードフォワード処理部113の伝達関数の各係数ai、bjに読み換えることで説明できるため、詳細な説明は省略する。なお、図8の処理フローにおいて、ステップS22における補正された制御指令は速度指令となる。
本実施形態では、位置フィードフォワード項が加算された速度指令の範囲を制限するために速度指令制限部104を設け、速度フィードフォワード項が加算されたトルク指令の範囲を制限するためにトルク指令制限部108を設けた。
しかし、速度指令制限部104の代わりに、位置フィードフォワード項の範囲を制限するために、位置フィードフォワード処理部113と加算器103との間に位置フィードフォワード項制限部を設けてもよい。また、トルク指令制限部108の代わりに、速度フィードフォワード項の範囲を制限するために、速度フィードフォワード処理部115と加算器107との間に速度フィードフォワード項制限部を設けてもよい。位置フィードフォワード項制限部の設定範囲及び速度フィードフォワード項制限部の設定範囲は、図2〜図4を用いて説明したように、固定された範囲としても、動的に変動する範囲としてもよい。
例えば、機械学習装置200は、位置フィードフォワード処理部113の伝達関数の係数、及び速度フィードフォワード処理部115の伝達関数の係数を同時に学習するようにしてもよい。このように、機械学習装置200が同時に学習した場合、二つの学習が相互に干渉して情報処理量が増大する可能性がある。
しかし、補正生成部として、位置フィードフォワード項生成部か速度フィードフォワード項生成部かのいずれかを備えるものとしてもよい。その場合、例えば、位置フィードフォワード項生成部のみを設けるときには、2回微分器114、速度フィードフォワード処理部115、加算器107及びトルク指令制限部108は不要となる。
以上説明した実施形態においては、機械学習装置200が、X軸方向及びY軸方向のサーボモータの回転方向が変わらない線形動作時の、位置フィードフォワード処理部と速度フィードフォワード処理部の係数の最適化に係る学習動作を行う場合について説明した。
しかし、本発明は、線形動作時の学習動作に限定されず、非線形動作の学習動作を行うにも適用することができる。例えば、既に説明したように、工作機械において、非線形動作として、モータとボールねじにより駆動される送り駆動系で円運動を行うと、軸の運動方向が反転する象限切替え時に突起状の軌跡誤差(以下、「象限突起」という)が生じることが知られている。
図9は本発明の第2実施形態の制御装置の一構成例を示すブロック図である。図9の制御装置10Bにおいて、図1に示した制御装置の各構成部材と同一構成部材については同一符号を付して説明を省略する。
位置指令は、減算器101、反転検出部116、及び機械学習装置200に入力される。
また、速度指令制限部104は、速度指令を設定範囲内に制限した場合は速度制限通知を機械学習装置200に対して行う。
本実施形態では、象限突起の補正量が加算された速度指令の範囲を制限するために速度指令制限部104を設けた。
しかし、速度指令制限部104の代わりに、象限突起の補正量の範囲を制限するために、補正生成部117と加算器103との間に補正量制限部を設けてもよい。補正量制限部の設定範囲は、固定された範囲としても、動的に変動する範囲としてもよい。
上述した実施形態では、機械学習装置200と、サーボ制御装置100又は100Aとを制御装置内に設けて構成し、機械学習装置200とサーボ制御装置100又は100Aとは別体の装置により構成したが、機械学習装置200の機能の一部又は全部をサーボ制御装置100により実現するようにしてもよい。
また、上述した実施形態では、サーボ制御装置100又は100Aと数値制御装置300とは別体の装置により構成したが、サーボ制御装置100又は100Aの機能の一部又は全部を数値制御装置300により実現するようにしてもよい。数値制御装置300は、機械学習装置200、サーボ制御装置100又は100Aを含んでもよく、その場合、数値制御装置300が制御装置を構成する。
図10は他の構成の制御装置を示すブロック図である。制御装置10Bは、図10に示すように、n台のサーボ制御装置100−1〜100−n、n台の機械学習装置200−1〜200−n、ネットワーク400、及び数値制御装置300−1〜300−nを備えている。なお、nは任意の自然数である。n台のサーボ制御装置100−1〜100−nのそれぞれは図1、図7、図8及び図9に示したサーボ制御装置100、100A〜100Cのいずれかに対応している。n台の機械学習装置200−1〜200−nのそれぞれは図1及び図9に示した機械学習装置200のいずれかに対応している。数値制御装置300−1〜300−nは数値制御装置300に対応し、サーボ制御装置100−1〜100−nのそれぞれに対して設けられる。サーボ制御装置100−1〜100−nは数値制御装置300−1〜300−nに含まれていてもよい。
その際、機械学習装置200−1の各機能を、適宜複数のサーバに分散する、分散処理システムとしてもよい。また、クラウド上で仮想サーバ機能等を利用して、機械学習装置200−1の各機能を実現してもよい。
また、複数の同じ型名、同一仕様、又は同一シリーズのサーボ制御装置100−1〜100−nとそれぞれ対応する複数の機械学習装置200−1〜200−nがあった場合に、各機械学習装置200−1〜200−nにおける学習結果を共有するように構成するようにしてもよい。そうすることで、より最適なモデルを構築することが可能となる。
100、100A サーボ制御装置
101 減算器
102 位置制御部
103 加算器
104 速度指令制限部
105 減算器
106 速度制御部
107 加算器
108 トルク指令制限部
109 モータ
110 積分器
111 位置検出処理部
112 微分器
113 位置フィードフォワード処理部
114 2回微分器
115 速度フィードフォワード処理部
116 反転検出部
117 補正生成部
200 機械学習装置
201 状態情報取得部
202 学習部
203 行動情報出力部
204 価値関数記憶部
205 最適化行動情報出力部
300 数値制御装置
400 ネットワーク
Claims (11)
- 工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御する制御指令に加える補正量を生成する補正生成部と、前記補正量又は前記補正量が加えられた制御指令を設定範囲に制限する制限部と、を備えたサーボ制御装置に対して、前記補正生成部の前記補正量の最適化に係る機械学習を行う機械学習装置であって、
機械学習動作中に、前記サーボ制御装置において、前記補正量又は前記補正量が加えられた前記制御指令が前記設定範囲外となり、前記制限部が前記補正量又は前記補正量が加えられた前記制御指令に対して制限を加えて前記設定範囲とした場合、前記機械学習装置において、前記補正量を学習に反映させ、前記補正生成部にて生成する前記補正量の最適化の新たな探索を継続する機械学習装置。 - 前記制限部は、前記補正量又は前記補正量が加えられた前記制御指令に制限を加えた場合に、前記補正量又は前記補正量が加えられた前記制御指令が前記設定範囲外となったことを前記機械学習装置に通知し、
前記機械学習装置は、前記通知を受けたときに、前記補正量を学習に反映させる、請求項1に記載の機械学習装置。 - 前記機械学習として強化学習を行い、
前記制限部から前記通知を受けたときに、前記補正量又は前記補正量が加えられた前記制御指令が前記設定範囲を超えるような前記補正量が選択されないような報酬を与える請求項1又は2に記載の機械学習装置。 - 前記報酬に基づいて価値関数を更新し、更新された価値関数に基づいて、最適な前記補正量又は補正パラメータの調整情報を生成して、前記補正生成部に出力する請求項3に記載の機械学習装置。
- 前記制御指令は、速度指令とトルク指令のうちの少なくとも1つを含み、前記補正量は、前記速度指令に加える位置フィードフォワード項と前記トルク指令に加える速度フィードフォワード項のうちの少なくとも1つを含む請求項1から4のいずれか1項に記載の機械学習装置。
- 前記設定範囲は上限と下限とが固定された範囲である、請求項1から5のいずれか1項に記載の機械学習装置。
- 前記設定範囲は上限と下限とが変動する範囲である、請求項1から5のいずれか1項に記載の機械学習装置。
- 前記制限部は加工精度又は加工サイクルタイムによって前記設定範囲の上限と下限を変える、請求項7に記載の機械学習装置。
- 請求項1から8のいずれか1項に記載の機械学習装置と、
工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御する制御指令に加える補正量を生成する補正生成部と、前記補正量又は前記補正量が加えられた制御指令を設定範囲に制限する制限部と、を備えたサーボ制御装置と、
を備えた制御装置。 - 前記機械学習装置は、前記サーボ制御装置に含まれる、請求項9に記載の制御装置。
- 工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御する制御指令に加える補正量を生成し、補正量又は前記補正量が加えられた制御指令を設定範囲に制限するサーボ制御装置に対して、前記補正量の最適化に係る機械学習を行う機械学習装置の機械学習方法であって、
機械学習動作中に、前記サーボ制御装置において、前記補正量又は前記補正量が加えられた前記制御指令が前記設定範囲外となり、前記補正量又は前記補正量が加えられた前記制御指令に対して制限を加えられて前記設定範囲とした場合、前記機械学習装置において、前記補正量を学習に反映させ、前記補正量の最適化の新たな探索を継続する、機械学習方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018077559A JP6740278B2 (ja) | 2018-04-13 | 2018-04-13 | 機械学習装置、制御装置、及び機械学習方法 |
US16/376,025 US10901396B2 (en) | 2018-04-13 | 2019-04-05 | Machine learning device, control device, and machine learning method |
DE102019204949.4A DE102019204949A1 (de) | 2018-04-13 | 2019-04-08 | Maschinelle lernvorrichtung, steuervorrichtung und maschinelles lernverfahren |
CN201910280101.1A CN110376964B (zh) | 2018-04-13 | 2019-04-09 | 机器学习装置、控制装置以及机器学习方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018077559A JP6740278B2 (ja) | 2018-04-13 | 2018-04-13 | 機械学習装置、制御装置、及び機械学習方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019185530A JP2019185530A (ja) | 2019-10-24 |
JP6740278B2 true JP6740278B2 (ja) | 2020-08-12 |
Family
ID=68053221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018077559A Active JP6740278B2 (ja) | 2018-04-13 | 2018-04-13 | 機械学習装置、制御装置、及び機械学習方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10901396B2 (ja) |
JP (1) | JP6740278B2 (ja) |
CN (1) | CN110376964B (ja) |
DE (1) | DE102019204949A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7031502B2 (ja) * | 2018-06-07 | 2022-03-08 | オムロン株式会社 | 制御システム、制御方法、学習装置、制御装置、学習方法及び学習プログラム |
AT522480B1 (de) * | 2019-11-14 | 2020-11-15 | Fill Gmbh | Verfahren zum Betreiben einer Bearbeitungsanlage |
JP7327136B2 (ja) * | 2019-12-13 | 2023-08-16 | コベルコ建機株式会社 | 作業機械におけるパラメータ変更システム、パラメータ変更方法、および、パラメータ変更プログラム |
WO2021137034A1 (en) * | 2019-12-30 | 2021-07-08 | Amo Development, Llc | Multi-axis motor position compensation in ophthalmic surgical laser system using deep learning |
DE112020007259T5 (de) | 2020-05-29 | 2023-03-16 | Mitsubishi Electric Corporation | Laserbearbeitungssystem |
US20220065135A1 (en) * | 2020-08-25 | 2022-03-03 | General Electric Company | Gas turbine alignment assembly and method |
JP2022107463A (ja) * | 2021-01-08 | 2022-07-21 | 株式会社日立製作所 | プラント制御装置、プラント制御方法及びプログラム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0421101A (ja) * | 1990-05-16 | 1992-01-24 | Fanuc Ltd | 学習コントローラの飽和処理方式 |
JP2005327191A (ja) * | 2004-05-17 | 2005-11-24 | Fanuc Ltd | サーボ制御装置 |
JP4276187B2 (ja) * | 2005-02-02 | 2009-06-10 | ファナック株式会社 | 学習制御機能を有する数値制御装置 |
KR20100050822A (ko) * | 2008-11-06 | 2010-05-14 | (주) 아인전자 | 어학 학습 관리 장치 |
JP5759206B2 (ja) * | 2011-03-01 | 2015-08-05 | 東芝三菱電機産業システム株式会社 | 学習係数制御装置 |
US8767343B1 (en) * | 2012-04-24 | 2014-07-01 | Western Digital Technologies, Inc. | Disk drive increasing integrator output range to complete seek operation |
JP6243385B2 (ja) * | 2015-10-19 | 2017-12-06 | ファナック株式会社 | モータ電流制御における補正値を学習する機械学習装置および方法ならびに該機械学習装置を備えた補正値計算装置およびモータ駆動装置 |
JP6193961B2 (ja) * | 2015-11-30 | 2017-09-06 | ファナック株式会社 | 機械の送り軸の送りの滑らかさを最適化する機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置 |
JP6531682B2 (ja) * | 2016-03-11 | 2019-06-19 | オムロン株式会社 | モータ制御装置、モータ制御方法、プログラム、および記録媒体 |
WO2018049250A1 (en) * | 2016-09-08 | 2018-03-15 | Curematch, Inc. | Optimizing therapeutic options in personalized medicine |
JP6264430B2 (ja) | 2016-11-09 | 2018-01-24 | オムロン株式会社 | サーボシステムおよびセーフティユニット |
-
2018
- 2018-04-13 JP JP2018077559A patent/JP6740278B2/ja active Active
-
2019
- 2019-04-05 US US16/376,025 patent/US10901396B2/en active Active
- 2019-04-08 DE DE102019204949.4A patent/DE102019204949A1/de active Pending
- 2019-04-09 CN CN201910280101.1A patent/CN110376964B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110376964A (zh) | 2019-10-25 |
DE102019204949A1 (de) | 2019-10-17 |
US10901396B2 (en) | 2021-01-26 |
JP2019185530A (ja) | 2019-10-24 |
CN110376964B (zh) | 2021-11-19 |
US20190317477A1 (en) | 2019-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6740278B2 (ja) | 機械学習装置、制御装置、及び機械学習方法 | |
JP6740277B2 (ja) | 機械学習装置、制御装置、及び機械学習方法 | |
CN108628355B (zh) | 伺服控制装置及系统、机器学习装置及方法 | |
CN109274314B (zh) | 机器学习装置、伺服电动机控制装置、伺服电动机控制系统以及机器学习方法 | |
JP6748135B2 (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 | |
JP6474449B2 (ja) | 調整装置及び調整方法 | |
JP6499720B2 (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 | |
CN110083080B (zh) | 机器学习装置及方法、伺服电动机控制装置及系统 | |
CN108880399B (zh) | 机器学习装置、伺服控制系统以及机器学习方法 | |
JP6784722B2 (ja) | 出力装置、制御装置、及び評価関数値の出力方法 | |
JP6740279B2 (ja) | 調整装置及び調整方法 | |
JP6806746B2 (ja) | モータ制御装置 | |
JP2020035213A (ja) | 機械学習装置、制御システム及び機械学習方法 | |
JP6978452B2 (ja) | 機械学習装置、制御装置、及び機械学習の探索範囲の設定方法 | |
JP6740263B2 (ja) | 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法 | |
JP6740290B2 (ja) | 機械学習装置、制御装置、及び機械学習方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190911 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20191217 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200608 |
|
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: 20200623 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200722 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6740278 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |