JP7000373B2 - 機械学習装置、制御装置及び機械学習方法 - Google Patents
機械学習装置、制御装置及び機械学習方法 Download PDFInfo
- Publication number
- JP7000373B2 JP7000373B2 JP2019076851A JP2019076851A JP7000373B2 JP 7000373 B2 JP7000373 B2 JP 7000373B2 JP 2019076851 A JP2019076851 A JP 2019076851A JP 2019076851 A JP2019076851 A JP 2019076851A JP 7000373 B2 JP7000373 B2 JP 7000373B2
- Authority
- JP
- Japan
- Prior art keywords
- machine learning
- axis
- output
- unit
- input
- 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 124
- 230000009471 action Effects 0.000 claims description 98
- 230000006870 function Effects 0.000 claims description 90
- 238000011156 evaluation Methods 0.000 claims description 78
- 238000004364 calculation method Methods 0.000 claims description 48
- 230000006399 behavior Effects 0.000 claims description 32
- 230000002787 reinforcement Effects 0.000 claims description 17
- 238000000034 method Methods 0.000 description 33
- 238000012546 transfer Methods 0.000 description 29
- 230000008859 change Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 24
- 238000001514 detection method Methods 0.000 description 22
- 238000012545 processing Methods 0.000 description 17
- 238000005457 optimization Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000010355 oscillation Effects 0.000 description 3
- 240000006829 Ficus sundaica Species 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000010587 phase diagram Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008961 swelling Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001052 transient effect Effects 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/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
- 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
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33056—Reinforcement learning, agent acts, receives reward, emotion, action selective
-
- 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/37—Measurements
- G05B2219/37498—Variable amplification, gain for detected signal, select correct level range
-
- 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/41—Servomotor, servo controller till figures
- G05B2219/41152—Adaptive filter
Description
特許文献1には、ロボットの各軸ごとに設けられ、入力制御信号に応じてロボット軸を駆動するロボット軸駆動源と、制御信号からロボット軸の固有振動数に対応する周波数成分を除去する信号処理手段とを有し、信号処理手段で信号処理された制御信号をロボット軸駆動源に加えることにより、ロボット軸で発生する振動を低減させるロボットの振動低減装置において、ロボット各軸の現在位置を入力することにより、ロボット各軸の固有振動数を演算出力し、これを信号処理手段に加えるニューラルネットワークを設け、ニューラルネットワークから出力されるロボット軸の固有振動数に対応する周波数成分を、制御信号から除去するようにしたロボットの振動低減装置が記載されている。そして、特許文献1には、信号処理手段は、ノッチフィルタであり、ニューラルネットワークから出力されるロボット軸の固有振動数に応じてノッチ周波数が変化されることも記載されている。
よって、機械特性が自軸の位置で変わる場合又は他の軸の影響を受ける場合でも、フィルタ特性の最適な調整を行うことが望まれている。
前記サーボ制御装置の入出力ゲインと入出力の位相遅れの少なくとも1つを算出する周波数特性算出装置の算出結果と、前記フィルタの係数と、前記複数の条件とを含む状態情報を取得する状態情報取得部と、
前記状態情報に含まれる前記係数の調整情報を含む行動情報を前記フィルタに出力する行動情報出力部と、
前記算出結果に基づいて、前記複数の条件における評価値をそれぞれ求め、これらの評価値の和の値を報酬として出力する報酬出力部と、
前記報酬出力部により出力される報酬の値と、前記状態情報と、前記行動情報とに基づいて行動価値関数を更新する価値関数更新部と、
を備えた機械学習装置である。
少なくとも1つの特定の周波数成分を減衰させる少なくとも1つのフィルタを有する、モータを制御するサーボ制御装置と、
前記サーボ制御装置における、前記サーボ制御装置の入出力ゲインと入出力の位相遅れの少なくとも1つを算出する周波数特性算出装置と、
を備えた制御装置である。
前記サーボ制御装置の入出力ゲインと入出力の位相遅れの少なくとも1つを算出した算出結果と、前記フィルタの係数と、前記複数の条件とを含む状態情報を取得し、
前記状態情報に含まれる前記係数の調整情報を含む行動情報を前記フィルタに出力し、
前記算出結果に基づいて、前記複数の条件における評価値をそれぞれ求め、これらの評価値の和の値を報酬として求め、
求められた前記報酬の値と、前記状態情報と、前記行動情報とに基づいて行動価値関数を更新する、機械学習方法である。
なお、周波数生成部200、周波数特性算出部300及び機械学習部400のうちの一つ又は複数はサーボ制御部100の内に設けてもよい。周波数特性算出部300は機械学習部400内に設けられてもよい。
数式1(以下に数1として示す)は、フィルタ130としてのノッチフィルタの伝達関数F(s)を示す。パラメータは係数ωc、τ、kを示す。
数式1の係数kは減衰係数、係数ωcは中心角周波数、係数τは比帯域である。中心周波数をfc、帯域幅をfwとすると、係数ωcはωc=2πfc、係数τはτ=fw/fcで表される。
サーボモータ150がリニアモータの場合、可動部の位置は、サーボモータ150に設けられたリニアスケール(図示せず)によって検出され、位置検出値を微分することで速度検出値を求め、求められた速度検出値は速度フィードバックとして減算器110に入力される。
サーボモータ150が回転軸を有するモータの場合、回転角度位置は、サーボモータ150に設けられたロータリーエンコーダ(図示せず)によって検出され、速度検出値は速度フィードバックとして減算器110に入力される。
以上のようにサーボ制御部100は構成されるが、フィルタの最適なパラメータを機械学習するために、制御装置10は、周波数生成部200、周波数特性算出部300及び機械学習部400を更に備える。
図2に示すように、周波数生成部200から出力された速度指令は周波数が変化し、図3に示すような、入出力ゲイン(振幅比)と位相遅れについての周波数特性が得られる。
制御対象500となる工作機械は、例えば、X軸、Y軸及びZ軸の直線3軸と、B軸、C軸の回転2軸を備えた、5軸の加工機である。図4は制御装置10の制御対象の一例を示す、5軸の工作機械を示す斜視図である。図4では、サーボモータ150が制御対象500となる工作機械に含まれた例を示している。
制御対象500となる図4に示す工作機械は、X軸方向、Z軸方向及びY軸方向にテーブル511、521、及び531をそれぞれ直線移動させるリニアモータ510、520、及び530を備えている。Y軸のリニアモータ530はZ軸のリニアモータ520上に載っている。また、工作機械は、C軸方向、B軸方向にテーブル541及び551をそれぞれ回転させるビルトインモータ540及び550を備えている。リニアモータ510、520、及び530は、テーブル511、521、及び531が可動部となっている。また、ビルトインモータ540及び550はテーブル541及び551が可動部となっている。よって、リニアモータ510、520、及び530、ビルトインモータ540及び550は、テーブル511、521、及び531、テーブル541及び551を、ギア等を介さずにダイレクト駆動する。リニアモータ510、520、及び530、ビルトインモータ540及び550は、それぞれサーボモータ150に対応する。
なお、テーブル511、521、及び531は、モータの回転軸を、カップリングを介してボールねじに接続し、このボールねじと螺合されるナットによって駆動されてもよい。
以下、機械学習部400の構成及び動作の詳細について更に説明する。以下の説明では制御対象500として図4に示した工作機械を例にとって説明する。
以下の説明では機械学習部400が強化学習を行う場合について説明するが、機械学習部400が行う学習は特に強化学習に限定されず、例えば、教師あり学習を行う場合にも本発明は適用可能である。
教師あり学習が、完全な正解を示すのに対して、強化学習における報酬は、環境の一部の変化に基づく断片的な値であることが多い。このため、エージェントは、将来にわたっての報酬の合計を最大にするように行動を選択するように学習する。
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〉
機械学習部400は、例えば、将来にわたっての報酬の合計が最大になるように最適な行動Aを試行錯誤的に探索する。そうすることで、機械学習部400は、フィルタ130の伝達関数の各係数ωc、τ、kに基づいて、周波数が変化する正弦波である速度指令を用いてサーボ制御部100を駆動することで周波数特性算出部300から得られた、各周波数ごとの入出力ゲイン(振幅比)と位相遅れとを含む状態Sに対して、最適な行動A(すなわち、フィルタ130の伝達関数の最適な係数ωc、τ、k)を選択することが可能となる。
機械学習部400は、状態Sに含まれる、複数の条件の各条件での、入出力ゲイン(振幅比)と位相遅れとに基づいて、各条件で評価値を求め、各条件での評価値を加算することで報酬を求める。報酬を求める方法の詳細については後述する。
行動Aは、フィルタ130の伝達関数の各係数ωc、τ、kの修正情報である。
(a) サーボ制御部100によって制御される軸(例えばX軸)の複数の位置
複数の位置は、サーボ制御部100によって変えられた複数の位置、例えば200mm等の所定のピッチで規定される軸の複数の位置である。軸の左端、中央、右端のように決められた複数の位置であってもよい。複数の位置は4点以上であってもよい。
ここで、軸の位置は工作機械の場合は例えばテーブルの位置に対応する。サーボ制御部100によって制御されるX軸の位置は、サーボモータ150がリニアモータの場合、リニアスケールによって検出された、リニアモータの可動部(テーブル)の検出位置により判断される。可動部の検出位置はリニアスケールから機械学習部400に入力される。サーボモータ150が回転軸を有するモータの場合、例えば、モータの回転軸がカップリングを介してボールねじに接続され、ボールねじと螺合されたナットがテーブルを駆動する。そのため、サーボ制御部100によって制御される軸の位置は、テーブルに取り付けられたリニアスケールでテーブルの移動によって検出され、この検出位置により判断される。テーブルの検出位置(軸の位置)は機械学習部400に状態Sとして入力される。図1では制御対象500の一部となるテーブルに取り付けられたテーブルの検出位置(軸の位置)が機械学習部400に入力される様子を示している。状態Sは、フィルタ130の伝達関数の各係数ωc、τ、kの値、及び複数の条件(X軸の複数の位置)の条件毎にサーボ制御部を駆動することで、周波数特性算出部300から出力される、条件毎の入出力ゲイン(振幅比)と位相遅れの他に、各条件に対応する、テーブルの検出位置(軸の位置)を含んでいる。
機械学習部400は、状態Sに含まれる、各条件に対応する、X軸の複数の位置(例えば、X軸の左端、中央、右端)における、入出力ゲイン(振幅比)と位相遅れとに基づいて、各条件での評価値を求め、評価値の和により報酬を求める。
図8は一方の軸のサーボ剛性で他方の軸の入出力ゲインの周波数特性が変わる様子を示す模式的特性図である。ここで、サーボ剛性とは外乱に対する強さを示し、図8では、サーボ剛性が低いほど、一方の軸のサーボ剛性で他方の軸の入出力ゲインの周波数特性の変化が大きいことを示している。Z軸を制御するサーボ制御部の速度ゲインが小さい場合、Y軸のサーボ剛性が低く、Z軸を制御するサーボ制御部の速度ゲインが大きい場合、Y軸のサーボ剛性が高くなる。
よって、複数の速度ゲインは、図8に示すサーボ剛性の特性を考慮して設定される。
なお、ここでは、Z軸を制御するサーボ制御部の速度ゲインが異なる場合の、Y軸の周波数特性について説明したが、Z軸を制御するサーボ制御部の3つ以上の速度ゲインを設定してもよい。
機械学習部400は、状態Sに含まれる、各条件に対応する、Z軸を制御するサーボ制御部の速度ゲインにおけるY軸の、入出力ゲイン(振幅比)と位相遅れとに基づいて、各条件での評価値を求め、評価値の和により報酬を求める。
サーボ制御部100によって制御される1つの軸の周波数特性が、他の軸の位置によって変わる場合がある。例えば、図4に示すように、Y軸がZ軸に上に載っており、Y軸の複数の位置によってZ軸の周波数特性が変わる場合である。複数の位置は、Y軸のサーボ制御部(不図示)によって変えられ、例えば200mm等の所定のピッチで規定される軸上の複数の位置である。Y軸の上端、下端のように決められた複数の位置であってもよい。複数の位置は3点以上であってもよい。サーボ制御部によって制御されるY軸の位置は、サーボモータ150がリニアモータの場合、リニアスケールによって検出された、リニアモータの可動部の検出位置により判断される。可動部の検出位置は、リニアスケールから、Z軸のサーボ制御部100のフィルタの係数を最適化する機械学習部400に入力される。
図9は一方の軸の位置で他方の軸の入出力ゲインの周波数特性が変わる様子を示す模式的特性図である。図9では、一方の軸の位置(図9の軸位置Aと軸位置B)によって他方の軸の入出力ゲインの盛り上がりの位置及び大きさが変化する様子を示している。
機械学習部400は、状態Sに含まれる、Y軸のそれぞれの位置(例えば、Y軸の上端、下端)でのZ軸の、入出力ゲイン(振幅比)と位相遅れとに基づいて、各条件に対応する、Y軸の複数の位置の各位置で評価値を求め、評価値の和を報酬とする。
機械学習部400は、状態Sに含まれる、Y軸の複数の位置(例えば、Y軸の上端、下端)でのZ軸の周波数特性の複数の条件の各条件(Y軸の上端又は下端)における、入出力ゲイン(振幅比)と位相遅れとに基づいて、各条件での評価値を求め、評価値の和により報酬を求める。
複数の条件における各評価値の和により報酬を求めることで、複数の各条件で入出力ゲインの周波数特性又は位相遅れが変わる場合でも、安定したフィルタ調整を行う学習を効率的に行うことができる。
例えば、上述した(a)において、X軸の左端、中央、右端の位置で、それぞれ求めた評価値をEs(L),Es(C),Es(R)とし、報酬をReとする。評価値Es(L),Es(C),Es(R)の重み付け係数を係数a、b、cとして、Re=a×Es(L)+b×Es(C)+c×Es(R)により報酬Reを求める。係数a、b、cは適宜決定してよく、例えば、X軸の中央で共振が発生しにくい工作機械の場合は係数bを係数a、cに比べて小さくしてもよい。
そこで、全ての評価値の値が0又は正の値となるときのみ、各条件に応じた各評価値の和により報酬を求めてもよい。そして、全ての評価値の中に一つでも負の値がある場合は、報酬を負の値とする。この負の値は大きな値(例えば-∞)として全ての評価値の中に一つでも負の値がある場合が選択されないようにすることが望ましい。こうすることで、どこの位置でも安定してフィルタ調整を行う学習を効率的に行うことができる。
上述した強化学習を行うために、図10に示すように、機械学習部400は、状態情報取得部401、学習部402、行動情報出力部403、価値関数記憶部404、及び最適化行動情報出力部405を備える。学習部402は報酬出力部4021、価値関数更新部4022、及び行動情報生成部4023を備える。
状態情報取得部401は、取得した状態情報Sを学習部402に対して出力する。
なお、係数ωc、τ、kは予め操作者が工作機械を調整している場合には、調整済の値を初期値として機械学習してもよい。
報酬出力部4021は、フィルタ130の伝達関数の各係数ωc、τ、kを修正した場合において各条件で計算された各入出力ゲインGsを、予め設定した規範モデルの各周波数ごとの入出力ゲインGbと比較する。報酬出力部4021は、計算された入出力ゲインGsが規範モデルの入出力ゲインGbよりも大きい場合には、第1の負の評価値を与える。一方、報酬出力部4021は、計算された入出力ゲインGsが規範モデルの入出力ゲインGb以下である場合には、位相遅れが小さくなるときは正の評価値を与え、位相遅れが大きくなるときは第2の負の評価値を与え、位相遅れが変わらないときはゼロの評価値を与える。なお、第2の負の値の絶対値は第1の負の値の絶対値よりも小さくして、計算された入出力ゲインGsが規範モデルの入出力ゲインGbよりも大きい場合が選択されないようにすることが望ましい。
報酬出力部4021は、入出力ゲインの規範モデルを保存している。規範モデルは、共振のない理想的な特性を有するサーボ制御部のモデルである。規範モデルは、例えば、図11に示すモデルのイナーシャJa、トルク定数Kt、比例ゲインKp、積分ゲインKI、微分ゲインKDから計算で求めることができる。イナーシャJaはモータイナーシャと機械イナーシャとの加算値である。
図12は、規範モデルのサーボ制御部と、学習前及び学習後のサーボ制御部100との入出力ゲインの周波数特性を示す特性図である。図12の特性図に示すように、規範モデルは、一定の入出力ゲイン以上、例えば、-20dB以上での理想的な入出力ゲインとなる周波数領域である領域Aと、一定の入出力ゲイン未満となる周波数領域である領域Bとを備えている。図12の領域Aにおいて、規範モデルの理想的な入出力ゲインを曲線MC1(太線)で示す。図12の領域Bにおいて、規範モデルの理想的な仮想入出力ゲインを曲線MC11(破線の太線)で示し、規範モデルの入出力ゲインを一定値として直線MC12(太線)で示す。図12の領域A及びBにおいて、学習前及び学習後のサーボ制御部との入出力ゲインの曲線をそれぞれ曲線RC1、RC2で示す。
入出力ゲインが十分小さくなる周波数を超える領域Bでは、学習前の入出力ゲインの曲線RC1が規範モデルの理想的な仮想入出力ゲインの曲線MC11を超えたとしても安定性への影響が小さくなる。そのため領域Bでは、上述したように、規範モデルの入出力ゲインは理想的なゲイン特性の曲線MC11ではなく、一定値の入出力ゲイン(例えば、-20dB)の直線MC12を用いる。しかし、学習前の計算された入出力ゲインの曲線RC1が一定値の入出力ゲインの直線MC12を超えた場合には不安定になる可能性があるため、評価値として第1の負の値を与える。
以下の説明において、状態情報Sに係る状態変数である位相遅れをD(S)、行動情報A(フィルタ130の伝達関数の各係数ωc、τ、kの修正)により状態Sから変化した状態S´に係る状態変数である位相遅れをD(S´)で示す。
報酬出力部4021が、位相遅れの情報に基づいて評価値を決める方法は、例えば、状態Sから状態S´となった場合に、位相遅れが180度となる周波数が大きくなるか、小さくなるか、又は同じになるかで評価値を決める方法を適用することができる。ここでは、位相遅れが180度の場合を取り上げたが、特に180度に限定されず他の値であってもよい。
例えば、位相遅れが図3に示した位相線図で示されたときに、状態Sから状態S´となった場合に、位相遅れが180度となる周波数が小さくなるように(図3のX2方向に)曲線が変わると、位相遅れは大きくなる。一方、状態Sから状態S´となった場合に、位相遅れが180度となる周波数が大きくなるように(図3のX1方向に)曲線が変わると、位相遅れが小さくなる。
一方で、状態Sから状態S´となった場合に、位相遅れが180度となる周波数が大きくなったとき、位相遅れD(S)>位相遅れD(S´)と定義して、報酬出力部4021は、評価値の値を正の値とする。
また、状態Sから状態S´となった場合に、位相遅れが180度となる周波数が変わらないとき、位相遅れD(S)=位相遅れD(S´)と定義して、報酬出力部4021は、評価値の値をゼロの値とする。
位相遅れの情報に基づいて評価値を決める方法は上記の方法に限定されず、他の方法を適用することができる。
そして、報酬出力部4021は、各条件での評価値を加算した報酬を求める。この報酬が、工作機械の各条件における各評価値の和となる。報酬出力部4021は、既に説明したように、計算された入出力ゲインの学習前の曲線RC1が規範モデルの理想的な入出力ゲインの曲線MC1を超えた場合は第1の負の評価値を与える。報酬出力部4021は、計算された入出力ゲインの学習前の曲線RC1が規範モデルの理想的な入出力ゲインの曲線MC1を超えた場合は位相遅れに基づく評価値を求めないため、計算された入出力ゲインの学習前の曲線RC1が規範モデルの理想的な入出力ゲインの曲線MC1を超えた場合は、評価値は第1の負の評価値となる。
価値関数Qの更新は、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。
オンライン学習は、或る行動Aを現在の状態Sに適用することにより、状態Sが新たな状態S´に遷移する都度、即座に価値関数Qの更新を行う学習方法である。また、バッチ学習は、或る行動Aを現在の状態Sに適用することにより、状態Sが新たな状態S´に遷移することを繰り返すことにより、学習用のデータを収集し、収集した全ての学習用データを用いて、価値関数Qの更新を行う学習方法である。更に、ミニバッチ学習は、オンライン学習と、バッチ学習の中間的な、ある程度学習用データが溜まるたびに価値関数Qの更新を行う学習方法である。
より具体的には、行動情報生成部4023は、例えば、状態Sに含まれるフィルタ130の伝達関数の各係数ωc、τ、kに対して行動Aに含まれる、フィルタ130の伝達関数の各係数ωc、τ、kをインクレメンタルに加算又は減算してもよい。
なお、フィルタ130の特性は図13に示すように、フィルタ130の帯域幅fwによって、ゲイン及び位相が変わる。図13において、破線は帯域幅fwが大きい場合を示し、実線は帯域幅fwが小さい場合を示す。また、フィルタ130の特性は図14に示すように、フィルタ130の減衰係数kによって、ゲイン及び位相が変わる。図14において、破線は減衰係数kが小さい場合を示し、実線は減衰係数kが大きい場合を示す。
より具体的には、最適化行動情報出力部405は、価値関数記憶部404が記憶している価値関数Qを取得する。この価値関数Qは、上述したように価値関数更新部4022がQ学習を行うことにより更新したものである。そして、最適化行動情報出力部405は、価値関数Qに基づいて、行動情報を生成し、生成した行動情報をフィルタ130に対して出力する。この最適化行動情報には、行動情報出力部403がQ学習の過程において出力する行動情報と同様に、フィルタ130の伝達関数の各係数ωc、τ、kを修正する情報が含まれる。
機械学習部400は、以上の動作で、フィルタ130の伝達関数の各係数ωc、τ、kの最適化を行い、機械端の振動を抑制するように動作することができる。
そして、機械学習部400は、機械特性が条件で変わる場合、例えば機械特性が1つの軸の位置で変わる場合又は他の軸の影響を受ける場合でも、フィルタ特性の最適な調整が可能となる。
以上のように、本開示の機械学習部400を利用することで、フィルタ130のパラメータ調整を簡易化することができる。
これらの機能ブロックを実現するために、制御装置10は、CPU(Central Processing Unit)等の演算処理装置を備える。また、制御装置10は、アプリケーションソフトウェアやOS(Operating System)等の各種の制御用プログラムを格納したHDD(Hard Disk Drive)等の補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶装置も備える。
次に、ステップS22において、ステップS21にて算出された報酬の値に基づいて、価値関数更新部4022が、価値関数記憶部404に記憶している価値関数Qを更新する。そして、再度ステップS12に戻り、上述した処理を繰り返すことにより、価値関数Qは適切な値に収束していく。なお、上述した処理を、所定回数繰り返したことや、所定時間繰り返したことを条件として処理を終了するようにしてもよい。
なお、ステップS21はオンライン更新を例示しているが、オンライン更新に替えてバッチ更新又はミニバッチ更新に置き換えてもよい。
次に、図16のフローチャートを参照して、最適化行動情報出力部405による最適化行動情報の生成時の動作について説明をする。
まず、ステップS23において、最適化行動情報出力部405は、価値関数記憶部404に記憶している価値関数Qを取得する。価値関数Qは、上述したように価値関数更新部4022がQ学習を行うことにより更新したものである。
しかし、上述した(a)、(b)及び(c)の複数の条件は適宜組み合わせて機械学習部400が学習することもできる。例えば、Y軸の周波数特性は、Y軸自身の位置、Z軸の位置及びZ軸のサーボ制御部の速度ゲインの影響を受ける可能性があるが、これらを組み合わせて複数の条件を設定することができる。具体的には、Y軸の機械学習部400は、例えば、Y軸自身の左端、中央、右端位置の第1の複数の条件と、Z軸の左端、中央、右端位置の第2の複数の条件と、Z軸のサーボ制御部の速度ゲインの第3の複数の条件のうちから適宜複数の条件を組み合わせて学習を行ってもよい。
<機械学習部がサーボ制御部の外部に設けられた変形例>
図18は制御装置の他の構成例を示すブロック図である。図18に示す制御装置10Aが、図1に示した制御装置10と異なる点は、n(nは2以上の自然数)個のサーボ制御部100A-1~100A-nが、ネットワーク600を介してn個の機械学習部400A-1~400A-nに接続されていること、及びそれぞれ周波数生成部200と周波数特性算出部300を備えていることである。機械学習部400A-1~400A-nは図10に示した機械学習部400と同じ構成を有している。サーボ制御部100A-1~100A-nはそれぞれサーボ制御装置に対応しており、また機械学習部400A-1~400A-nはそれぞれ機械学習装置に対応している。なお、周波数生成部200と周波数特性算出部300の一方又は両方をサーボ制御部100A-1~100A-nの外に設けてもよいことは勿論である。
上述した実施形態では、サーボ制御部100A-1~100A-nと、機械学習部400A-1~400A-nとはそれぞれ1対1の組とされて通信可能に接続されているが、例えば1台の機械学習部が複数のサーボ制御部とネットワーク600を介して通信可能に接続され、各サーボ制御部の機械学習を実施するようにしてもよい。
その際、1台の機械学習部の各機能を、適宜複数のサーバに分散する、分散処理システムとしてもよい。また、クラウド上で仮想サーバ機能等を利用して、1台の機械学習部の各機能を実現してもよい。
(1) モータ(サーボモータ150)を制御するサーボ制御装置(サーボ制御部100)が複数の条件で駆動され、前記サーボ制御装置に設けられた少なくとも1つの特定の周波数成分を減衰させる少なくとも1つのフィルタ(フィルタ130)の係数を最適化する強化学習を行う機械学習装置(機械学習部400)であって、
前記サーボ制御装置の入出力ゲインと入出力の位相遅れの少なくとも1つを算出する周波数特性算出装置(周波数特性算出部300)の算出結果と、前記フィルタの係数と、前記複数の条件とを含む状態情報を取得する状態情報取得部(状態情報取得部401)と、
前記状態情報に含まれる前記係数の調整情報を含む行動情報を前記フィルタに出力する行動情報出力部(行動情報出力部403)と、
前記算出結果に基づいて、前記複数の条件における評価値をそれぞれ求め、これらの評価値の和の値を報酬として出力する報酬出力部(報酬出力部4021)と、
前記報酬出力部により出力される報酬の値と、前記状態情報と、前記行動情報とに基づいて行動価値関数を更新する価値関数更新部(価値関数更新部4022)と、
を備えた機械学習装置。
この機械学習装置によれば、機械特性が条件で変わる場合、例えば機械特性が1つの軸の位置で変わる場合又は機械特性が他の軸の影響を受ける場合でも、フィルタ特性の最適な調整が可能となる。
前記複数の条件は、前記軸の複数の位置である、上記(1)に記載の機械学習装置。
の機械学習装置。
この機械学習装置によれば、工作機械、ロボット、又は産業機械の一つの軸の複数の位置によって機械特性が変わる場合でも、フィルタ特性の最適な調整が可能となる。
前記複数の条件は、前記軸の上に載せられた又は前記軸の下の他の軸の複数の位置である、上記(1)に記載の機械学習装置。
この機械学習装置によれば、工作機械、ロボット、又は産業機械の一つの軸上に載せられた又は前記一つの軸下の他の軸の複数の位置によって機械特性が変わる場合でも、フィルタ特性の最適な調整が可能となる。
前記複数の条件は、前記軸の上に載せられた又は前記軸の下の他の軸を駆動するサーボ制御装置の複数の速度ゲインである、上記(1)に記載の機械学習装置。
この機械学習装置によれば、工作機械、ロボット、又は産業機械の一つの軸上に載せられた又は前記一つの軸下の他の軸を駆動するサーボ制御装置の複数の速度ゲインによって機械特性が変わる場合でも、フィルタ特性の最適な調整が可能となる。
この機械学習装置によれば、複数の条件の各条件が機械特性に与える影響が異なる場合でも、その影響の程度によって各評価値の重みを設定することができる。
少なくとも1つの特定の周波数成分を減衰させる少なくとも1つのフィルタを有する、モータを制御するサーボ制御装置(サーボ制御部100)と、
前記サーボ制御装置における、前記サーボ制御装置の入出力ゲインと入出力の位相遅れの少なくとも1つを算出する周波数特性算出装置(周波数特性算出部300)と、
を備えた制御装置。
この制御装置によれば、機械特性が条件で変わる場合、例えば機械特性が1つの軸の位置で変わる場合又は機械特性が他の軸の影響を受ける場合でも、フィルタ特性の最適な調整が可能となる。
前記サーボ制御装置の入出力ゲインと入出力の位相遅れの少なくとも1つを算出した算出結果と、前記フィルタの係数と、前記複数の条件とを含む状態情報を取得し、
前記状態情報に含まれる前記係数の調整情報を含む行動情報を前記フィルタに出力し、
前記算出結果に基づいて、前記複数の条件における評価値をそれぞれ求め、これらの評価値の和の値を報酬として求め、
求められた前記報酬の値と、前記状態情報と、前記行動情報とに基づいて行動価値関数を更新する、機械学習方法。
この機械学習方法によれば、機械特性が条件で変わる場合、例えば機械特性が1つの軸の位置で変わる場合又は機械特性が他の軸の影響を受ける場合でも、フィルタ特性の最適な調整が可能となる。
100、100-1~100-n サーボ制御部
110 減算器
120 速度制御部
130 フィルタ
140 電流制御部
150 サーボモータ
200 周波数生成部
300 周波数特性算出部
400 機械学習部
400A-1~400A-n 機械学習部
401 状態情報取得部
402 学習部
403 行動情報出力部
404 価値関数記憶部
405 最適化行動情報出力部
500 制御対象
600 ネットワーク
Claims (9)
- モータを制御するサーボ制御装置が複数の条件で駆動され、前記サーボ制御装置に設けられた少なくとも1つの特定の周波数成分を減衰させる少なくとも1つのフィルタの係数を最適化する強化学習を行う機械学習装置であって、
前記サーボ制御装置の入出力ゲインと入出力の位相遅れの少なくとも1つを算出する周波数特性算出装置の算出結果と、前記フィルタの係数と、前記複数の条件とを含む状態情報を取得する状態情報取得部と、
前記状態情報に含まれる前記係数の調整情報を含む行動情報を前記フィルタに出力する行動情報出力部と、
前記算出結果に基づいて、前記複数の条件における評価値をそれぞれ求め、これらの評価値の和の値を報酬として出力する報酬出力部と、
前記報酬出力部により出力される報酬の値と、前記状態情報と、前記行動情報とに基づいて価値関数を更新する価値関数更新部と、
を備えた機械学習装置。 - 前記モータは、工作機械、ロボット、又は産業機械の一つの軸を駆動し、
前記複数の条件は、前記軸の複数の位置である、請求項1に記載の機械学習装置。 - 前記モータは、工作機械、ロボット、又は産業機械の一つの軸を駆動し、
前記複数の条件は、前記軸の上に載せられた又は前記軸の下の他の軸の複数の位置である、請求項1に記載の機械学習装置。 - 前記モータは、工作機械、ロボット、又は産業機械の一つの軸を駆動し、
前記複数の条件は、前記軸の上に載せられた又は前記軸の下の他の軸を駆動するサーボ制御装置の複数の速度ゲインである、請求項1に記載の機械学習装置。 - 前記周波数特性算出装置は、周波数が変わる正弦波の入力信号と、前記サーボ制御装置の速度フィードバック情報とを用いて、前記入出力ゲインと前記入出力の位相遅れの少なくとも1つを算出する、請求項1から4のいずれか1項に記載の機械学習装置。
- 前記複数の条件の各条件に応じて各評価値の重みを設定する、請求項1から5のいずれか1項に記載の機械学習装置。
- 前記価値関数更新部により更新された前記価値関数に基づいて、前記係数の調整情報を出力する最適化行動情報出力部を備えた請求項1から6のいずれか1項に記載の機械学習装置。
- 請求項1から請求項7のいずれか1項に記載の機械学習装置と、
少なくとも1つの特定の周波数成分を減衰させる少なくとも1つのフィルタを有する、モータを制御するサーボ制御装置と、
前記サーボ制御装置における、前記サーボ制御装置の入出力ゲインと入出力の位相遅れの少なくとも1つを算出する周波数特性算出装置と、
を備えた制御装置。 - モータを制御するサーボ制御装置が複数の条件で駆動され、前記サーボ制御装置に設けられた少なくとも1つの特定の周波数成分を減衰させる少なくとも1つのフィルタの係数を最適化する強化学習を行う機械学習装置の機械学習方法であって、
前記サーボ制御装置の入出力ゲインと入出力の位相遅れの少なくとも1つを算出した算出結果と、前記フィルタの係数と、前記複数の条件とを含む状態情報を取得し、
前記状態情報に含まれる前記係数の調整情報を含む行動情報を前記フィルタに出力し、
前記算出結果に基づいて、前記複数の条件における評価値をそれぞれ求め、これらの評価値の和の値を報酬として求め、
求められた前記報酬の値と、前記状態情報と、前記行動情報とに基づいて価値関数を更新する、機械学習方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019076851A JP7000373B2 (ja) | 2019-04-15 | 2019-04-15 | 機械学習装置、制御装置及び機械学習方法 |
US16/822,576 US11256220B2 (en) | 2019-04-15 | 2020-03-18 | Machine learning device, control device and machine learning method |
DE102020203758.2A DE102020203758A1 (de) | 2019-04-15 | 2020-03-24 | Maschinenlernvorrichtung, steuervorrichtung und verfahren zummaschinenlernen |
CN202010287685.8A CN111830904B (zh) | 2019-04-15 | 2020-04-13 | 机器学习装置、控制装置以及机器学习方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019076851A JP7000373B2 (ja) | 2019-04-15 | 2019-04-15 | 機械学習装置、制御装置及び機械学習方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020177257A JP2020177257A (ja) | 2020-10-29 |
JP7000373B2 true JP7000373B2 (ja) | 2022-01-19 |
Family
ID=72613735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019076851A Active JP7000373B2 (ja) | 2019-04-15 | 2019-04-15 | 機械学習装置、制御装置及び機械学習方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11256220B2 (ja) |
JP (1) | JP7000373B2 (ja) |
CN (1) | CN111830904B (ja) |
DE (1) | DE102020203758A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7229686B2 (ja) * | 2017-10-06 | 2023-02-28 | キヤノン株式会社 | 制御装置、リソグラフィ装置、測定装置、加工装置、平坦化装置及び物品製造方法 |
JP7156131B2 (ja) * | 2019-03-27 | 2022-10-19 | オムロン株式会社 | サーボdc給電システム及びモータ制御装置 |
JPWO2022249356A1 (ja) | 2021-05-26 | 2022-12-01 | ||
WO2023276097A1 (ja) * | 2021-07-01 | 2023-01-05 | 三菱電機株式会社 | 転移学習装置および転移学習方法 |
CN117678155A (zh) | 2021-09-03 | 2024-03-08 | 发那科株式会社 | 频率特性预测装置及频率特性预测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017034852A (ja) | 2015-07-31 | 2017-02-09 | ファナック株式会社 | 機械指令に応じたフィルタを学習する機械学習装置、機械学習装置を備えたモータ駆動装置及びモータ駆動システム並びに機械学習方法 |
WO2018151215A1 (ja) | 2017-02-20 | 2018-08-23 | 株式会社安川電機 | 制御装置及び制御方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0664481B2 (ja) | 1985-11-27 | 1994-08-22 | オムロン株式会社 | Xyステ−ジ制御装置 |
JPH07261853A (ja) * | 1994-03-23 | 1995-10-13 | Komatsu Ltd | ロボットの振動低減装置 |
JP5384608B2 (ja) | 2011-12-13 | 2014-01-08 | 東芝機械株式会社 | サーボ制御装置およびその調整方法 |
EP2803137B1 (en) * | 2012-01-10 | 2016-11-23 | Cirrus Logic International Semiconductor Limited | Multi-rate filter system |
JP6089706B2 (ja) * | 2013-01-07 | 2017-03-08 | 富士通株式会社 | 送信信号電力制御装置、通信装置及びプリディストーション係数更新方法 |
JP6154435B2 (ja) | 2015-07-09 | 2017-06-28 | ファナック株式会社 | 制御系のオンライン自動調整状況を表示する機能を有するサーボ制御装置 |
JP6649023B2 (ja) * | 2015-09-30 | 2020-02-19 | ファナック株式会社 | 学習制御器の特性測定を行う機能を有するサーボ制御装置 |
JP6325504B2 (ja) * | 2015-10-28 | 2018-05-16 | ファナック株式会社 | 学習制御器の自動調整を行う機能を有するサーボ制御装置 |
CN106681152B (zh) * | 2017-01-22 | 2020-04-21 | 西安理工大学 | 一种利用pso优化陷波器参数进行伺服共振抑制的方法 |
JP6860540B2 (ja) * | 2018-10-25 | 2021-04-14 | ファナック株式会社 | 出力装置、制御装置、及び学習パラメータの出力方法 |
-
2019
- 2019-04-15 JP JP2019076851A patent/JP7000373B2/ja active Active
-
2020
- 2020-03-18 US US16/822,576 patent/US11256220B2/en active Active
- 2020-03-24 DE DE102020203758.2A patent/DE102020203758A1/de active Pending
- 2020-04-13 CN CN202010287685.8A patent/CN111830904B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017034852A (ja) | 2015-07-31 | 2017-02-09 | ファナック株式会社 | 機械指令に応じたフィルタを学習する機械学習装置、機械学習装置を備えたモータ駆動装置及びモータ駆動システム並びに機械学習方法 |
WO2018151215A1 (ja) | 2017-02-20 | 2018-08-23 | 株式会社安川電機 | 制御装置及び制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US11256220B2 (en) | 2022-02-22 |
CN111830904A (zh) | 2020-10-27 |
JP2020177257A (ja) | 2020-10-29 |
DE102020203758A1 (de) | 2020-10-15 |
US20200326670A1 (en) | 2020-10-15 |
CN111830904B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7000373B2 (ja) | 機械学習装置、制御装置及び機械学習方法 | |
JP6697491B2 (ja) | 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法 | |
JP6499720B2 (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 | |
JP2018152012A (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 | |
JP6860540B2 (ja) | 出力装置、制御装置、及び学習パラメータの出力方法 | |
US11592789B2 (en) | Output device, control device, and method for outputting evaluation functions and machine learning results | |
JP6748135B2 (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 | |
JP6901450B2 (ja) | 機械学習装置、制御装置及び機械学習方法 | |
JP6841801B2 (ja) | 機械学習装置、制御システム及び機械学習方法 | |
US11087509B2 (en) | Output device, control device, and evaluation function value output method | |
JP6956122B2 (ja) | フィルタの係数を最適化する機械学習システム、制御装置及び機械学習方法 | |
JP6978452B2 (ja) | 機械学習装置、制御装置、及び機械学習の探索範囲の設定方法 | |
CN111722530B (zh) | 机器学习装置、控制系统以及机器学习方法 | |
WO2022030346A1 (ja) | 制御支援装置、制御システム及び制御支援方法 | |
CN110727242B (zh) | 机器学习装置、控制装置、以及机器学习方法 | |
WO2021210483A1 (ja) | 機械学習装置、制御装置及び機械学習方法 | |
WO2022065190A1 (ja) | 制御支援装置、制御システム及びフィルタ調整方法 | |
WO2023067787A1 (ja) | 安定余裕の設定支援装置、制御システム及び設定支援方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200909 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210519 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210601 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210622 |
|
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: 20211130 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211223 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7000373 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |