JP6978452B2 - 機械学習装置、制御装置、及び機械学習の探索範囲の設定方法 - Google Patents
機械学習装置、制御装置、及び機械学習の探索範囲の設定方法 Download PDFInfo
- Publication number
- JP6978452B2 JP6978452B2 JP2019022798A JP2019022798A JP6978452B2 JP 6978452 B2 JP6978452 B2 JP 6978452B2 JP 2019022798 A JP2019022798 A JP 2019022798A JP 2019022798 A JP2019022798 A JP 2019022798A JP 6978452 B2 JP6978452 B2 JP 6978452B2
- Authority
- JP
- Japan
- Prior art keywords
- search range
- machine learning
- parameter
- evaluation function
- value
- 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 133
- 230000006870 function Effects 0.000 claims description 221
- 238000011156 evaluation Methods 0.000 claims description 96
- 238000012546 transfer Methods 0.000 claims description 81
- 238000000034 method Methods 0.000 claims description 21
- 230000002787 reinforcement Effects 0.000 claims description 21
- 238000001514 detection method Methods 0.000 claims description 19
- 238000013178 mathematical model Methods 0.000 claims description 3
- 230000009471 action Effects 0.000 description 91
- 238000012545 processing Methods 0.000 description 61
- 230000006399 behavior Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 22
- 238000003860 storage Methods 0.000 description 13
- 238000005457 optimization Methods 0.000 description 10
- 238000003754 machining Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000012887 quadratic function Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000013016 damping Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012888 cubic function Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/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/042—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 parameter or coefficient is automatically adjusted to optimise the performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- E—FIXED CONSTRUCTIONS
- E21—EARTH OR ROCK DRILLING; MINING
- E21B—EARTH OR ROCK DRILLING; OBTAINING OIL, GAS, WATER, SOLUBLE OR MELTABLE MATERIALS OR A SLURRY OF MINERALS FROM WELLS
- E21B47/00—Survey of boreholes or wells
- E21B47/008—Monitoring of down-hole pump systems, e.g. for the detection of "pumped-off" conditions
-
- 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/33027—Artificial neural network controller
-
- 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/33218—Motor encoders, resolvers on common bus with drives, servo controllers
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Feedback Control In General (AREA)
- Numerical Control (AREA)
- Control Of Position Or Direction (AREA)
Description
機械学習中又は機械学習後に、機械学習で用いる評価関数値の集合を取得し、該評価関数値の集合を、前記第1パラメータ又は前記第1パラメータの探索に用いる第2パラメータの探索範囲でプロットし、該探索範囲の端に又は該端から所定の範囲内に、探索解があるかどうかを検出する探索解検出部と、
前記探索範囲の端に又は前記所定の範囲内に、探索解があるときに、前記評価関数値の集合に基づいて評価関数式を推定する評価関数式推定部と、
推定された前記評価関数式に基づいて、前記第1パラメータ又は前記第2パラメータの新たな探索範囲に変更する探索範囲変更部と、
を備えた機械学習装置である。
工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置と、を備え、
前記機械学習装置は、前記サーボ制御装置の構成要素の第1パラメータの探索を行う、制御装置である。
機械学習中又は機械学習後に、機械学習で用いる評価関数値の集合を、前記第1パラメータ又は前記第1パラメータの探索に用いる第2パラメータの探索範囲でプロットし、
前記探索範囲の端に又は該端から所定の範囲内に、探索解があるかどうかを検出し、
前記探索範囲の端に又は前記所定の範囲内に、探索解があるときに、前記評価関数値の集合に基づいて評価関数式を推定し、
推定された前記評価関数式に基づいて、前記第1パラメータ又は前記第2パラメータの新たな探索範囲に変更する、探索範囲の設定方法である。
(第1実施形態)
図1は本開示の第1実施形態の制御装置の一構成例を示すブロック図である。図1に示す制御装置10は、サーボ制御装置100と機械学習装置200とを備えている。
図1に示すように、サーボ制御装置100は、構成要素として、減算器101、位置制御部102、加算器103、減算器104、速度制御部105、加算器106、積分器107、速度フィードフォワード部108、及び位置フィードフォワード部109を備えている。速度フィードフォワード部108は、2回微分器1081及びIIRフィルタ部1082を備えている。
位置指令は、サーボモータ300を動作させるプログラムに基づいて、上位装置によって作成される。サーボモータ300は、例えば工作機械に含まれる。工作機械において、被加工物(ワーク)を搭載するテーブルがX軸方向及びY軸方向に移動される場合には、X軸方向及びY軸方向に対してそれぞれ図1に示すサーボ制御装置100及びサーボモータ300が設けられる。テーブルを3軸以上の方向に移動させる場合には、それぞれの軸方向に対してサーボ制御装置100及びサーボモータ300が設けられる。
位置指令は、加工プログラムにより指定される加工形状となるように、送り速度が設定される。
位置制御部102は、位置偏差にポジションゲインKpを乗じた値を、速度指令値として加算器103に出力する。
加算器103は、速度指令値と位置フィードフォワード部109の出力値(位置フィードフォワード項)とを加算して、フィードフォワード制御された速度指令値として減算器104に出力する。減算器104は加算器103の出力と速度フィードバックされた速度検出値との差を求め、その差を速度偏差として速度制御部105に出力する。
加算器106は、トルク指令値と速度フィードフォワード部108の出力値(速度フィードフォワード項)とを加算して、フィードフォワード制御されたトルク指令値として不図示の電流制御部を介してサーボモータ300に出力してサーボモータ300を駆動する。
以上のように、サーボ制御装置100は構成される。
次に機械学習装置200について説明する。
また、機械学習装置200は、学習中又は学習後に、探索範囲の端の選択が不適切であるかどうかを検出し、選択が不適切な場合に、新たな探索範囲に変更して学習(この学習を再学習と言う)を行う。
学習時の加工プログラムにより指定される加工形状は、例えば、八角形、又は八角形の角が一つ置きに円弧に置き換えられた形等である。なお、学習時の加工プログラムにより指定される加工形状はこれらの加工形状に限定されず、他の加工形状であってもよい。
角の位置A2で、テーブルをY軸方向に移動するモータは、回転方向が反転し、テーブルをX軸方向に移動するモータは、位置A1から位置A2及び位置A2から位置A3にかけて、同じ回転方向で、等速度で回転する。
角の位置A3で、テーブルをY軸方向に移動するモータは回転速度が速くなり、テーブルをX軸方向に移動するモータは回転速度が遅くなる。
角の位置A4で、テーブルをX軸方向に移動するモータは、回転方向が反転し、テーブルをY軸方向に移動するモータは、位置A3から位置A4及び位置A4から次の角の位置にかけて、同じ回転方向で、等速度で回転する。
円弧の位置B2で、テーブルをY軸方向に移動するモータは、回転方向が反転し、テーブルをX軸方向に移動するモータは位置B1から位置B3にかけて同じ回転方向で、等速度で回転する。図3に示した加工形状は八角形の場合と異なり、テーブルをY軸方向に移動するモータは位置B2の前後で円弧の加工形状が形成されるように、位置B2に向かって徐々に減速され、位置B2で回転が停止され、位置B2を過ぎると回転方向が徐々に増加していく。
円弧の位置B4で、テーブルをX軸方向に移動するモータは、回転方向が反転し、テーブルはX軸方向に直線反転するように移動する。また、テーブルをY軸方向に移動するモータは位置B3から位置B4、及び位置B4から次の角の位置にかけて同じ回転方向で、等速度で回転する。テーブルをX軸方向に移動するモータは位置B4の前後で円弧の加工形状が形成されるように、位置B4に向かって徐々に減速され、位置B4で回転が停止され、位置B4を過ぎると回転方向が徐々に増加していく。
伝達関数の係数の最適化に係る機械学習は、速度フィードフォワード部に特に限定されるものでなく、例えば、位置フィードフォワード部、又はサーボ制御装置の電流フィードフォワードを行う場合に設けられる電流フィードフォワード部にも適用可能である。
以下の説明では機械学習装置200が強化学習を行う場合について説明するが、機械学習装置200が行う学習は特に強化学習に限定されず、例えば、教師あり学習を行う場合にも本発明は適用可能である。
教師あり学習が、完全な正解を示すのに対して、強化学習における報酬は、環境の一部の変化に基づく断片的な値であることが多い。このため、エージェントは、将来にわたっての報酬の合計を最大にするように行動を選択するように学習する。
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〉
具体的には、本発明の実施形態に係る機械学習装置200は、図4に示すように、数式1のIIRフィルタの伝達関数F(z)の零点を極座標で表した半径rと偏角ωntsとをそれぞれ所定の範囲内で探索して学習することで、位置偏差が最小になるような半径rと偏角ωntsを学習して、位置偏差が最小になる伝達関数F(z)の係数rと係数ωntsを設定する。
005[sec]の場合は、偏角の範囲は0.05・2π≦ωnts≦0.25・2πとなる。図4の複素平面では、18度から90度の扇形の範囲が探索範囲となる。
なお、半径rと偏角ωntsとは同時に学習してもよいが、別々に学習することで、機械学習量を低減し、機械学習の収束時間を短縮化することができる。
上述した強化学習を行うために、図6に示すように、機械学習装置200は、状態情報取得部201、学習部202、行動情報出力部203、価値関数記憶部204、及び最適化行動情報出力部205を備える。学習部202は報酬出力部2021、価値関数更新部2022、行動情報生成部2023及び探索範囲設定部2024を備える。探索範囲設定部2024は再学習のために用いられ、詳細な説明は後述する。
状態情報取得部201は、取得した状態情報Sを学習部202に対して出力する。
また、係数r、ωntsは予め操作者が工作機械を調整している場合には、調整済の伝達関数の係数r、ωntsを初期値として機械学習してもよい。
位置偏差の絶対値の積算値を算出する関数
∫|e|dt
位置偏差の絶対値に時間の重み付けをして積算値を算出する関数
∫t|e|dt
位置偏差の絶対値の2n(nは自然数)乗の積算値を算出する関数
∫e2ndt(nは自然数)
位置偏差の絶対値の最大値を算出する関数
Max{|e|}
等を適用することができる。
なお、位置偏差の評価関数値f(PD(S´))が、位置偏差の評価関数値f(PD(S))と等しい場合は、報酬出力部2021は、報酬の値をゼロとする。
価値関数Qの更新は、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。
より具体的には、行動情報生成部2023は、例えば、極座標で零点を探索するために、IIRフィルタの伝達関数F(z)の、ωnts分子(z2+r(−rejωnts−re-jωnts)z+r2)においてzの零点をreijωntsとして、状態情報取得部201から受けた半径rを固定した状態で、状態情報取得部201から受けた偏角ωntsを探索範囲内で増加又は減少させる。そして、固定した半径r及び増加又は減少させた偏角ωntsにより、零点とするz及びその共役複素数z*を設定し、当該零点に基づいて係数ωntsを新たに求める。
より具体的には、最適化行動情報出力部205は、価値関数記憶部204が記憶している価値関数Qを取得する。この価値関数Qは、上述したように価値関数更新部2022がQ学習を行うことにより更新したものである。そして、最適化行動情報出力部205は、価値関数Qに基づいて、行動情報を生成し、生成した行動情報をサーボ制御装置100(速度フィードフォワード部108のIIRフィルタ部1082)に対して出力する。この最適化行動情報には、行動情報出力部203がQ学習の過程において出力する行動情報と同様に、偏角ωnts、半径rの学習によって、IIRフィルタの伝達関数F(z)の係数を修正する情報が含まれる。
しかし、報酬の値の算出にあたっては位置偏差以外の他の要素を加えてもよい。
例えば、機械学習装置200に、減算器101の出力となる位置偏差の他に、加算器103の出力となる位置フォワード制御された速度指令、位置フォワード制御された速度指令と速度フィードバックとの差、及び加算器106の出力となる位置フォワード制御されたトルク指令等の少なくとも1つが加えられてもよい。
以上、機械学習装置200の学習について説明したが、次に、学習中又は学習後に、探索範囲の端の選択が不適切であるかどうかを検出し、選択が不適切な場合に、新たな探索範囲に変更して学習(再学習)を行う、機械学習装置200の構成及び動作について説明する。
機械学習装置200の学習において、速度フィードフォワードにおける偏角ωntsの探索範囲が不適切な場合、学習により得られた速度フィードフォワード部1082のIIRフィルタの探索解の減衰中心周波数(ωn/2π)が機械特性のピーク周波数と合わない場合がある。ここで、探索解とは探索範囲で最小の評価関数値を得ることができるパラメータ(ここでは、減衰中心周波数(ωn/2π))をいう。なお、図7では減衰中心周波数により探索範囲を示しているが、探索範囲を偏角ωnts、又は減衰中心角周波数により示してもよい。偏角ωntsは速度フィードフォワード部108のIIRフィルタの伝達関数F(z)の係数ωntsに対応し、第1パラメータとなる。減衰中心周波数(ωn/2π)又は減衰中心角周波数ωnは第1パラメータ(ωnts)の探索に用いる第2パラメータとなる。
例えば、減衰中心角周波数ωnの探索範囲が600・2π≦ωn≦1000・2πであるとき、探索範囲の減衰中心周波数(ωn/2π)は600−1000Hzとなるが、周波数が600Hz−1000Hzとすると、減衰中心周波数(ωn/2π)の最適な探索解は下端の600Hzが選ばれる。しかし、機械特性のピークの周波数は400Hzにあり、減衰中心周波数の探索解の周波数600Hzと合わない。
図8に示すように、探索範囲設定部2024は、探索解検出部2024A、評価関数式推定部2024B、及び探索範囲変更部2024Cを備えている。
ステップS13において、探索解検出部2024Aが探索範囲R1の端が探索解になったことを検出しない場合(NOの場合)は、処理を終了する。
以上の動作によって、適切な探索範囲となるように探索範囲を変更することができる。現在設定されている探索範囲周波数600Hz〜1000Hzを探索範囲300Hz〜1000Hzに拡張した場合の結果を図13に示す。図13に示されるように、機械特性のピークの周波数が、減衰中心角周波数ωnの探索解の周波数と合うように探索範囲を設定することができる。以上の説明では、減衰中心周波数(ωn/2π)の探索範囲を規定しているが、減衰中心角周波数ωn又は偏角(ωnts)で探索範囲を規定してもよい。
以上説明した動作は、速度フィードフォワードにおける半径rの探索範囲が不適切である場合にも適用される。この場合、半径rは速度フィードフォワード部108のIIRフィルタの伝達関数F(z)の係数rに対応し、第1パラメータとなる。
これらの機能ブロックを実現するために、サーボ制御装置100、及び機械学習装置200のそれぞれは、CPU(Central Processing Unit)等の演算処理装置を備える。また、サーボ制御装置100、及び機械学習装置200のそれぞれは、アプリケーションソフトウェアやOS(Operating System)等の各種の制御用プログラムを格納したHDD(Hard Disk Drive)等の補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶装置も備える。
図15は本開示の第2実施形態の制御装置の一構成例を示すブロック図である。図15に示す制御装置11は、サーボ制御装置100Aと機械学習装置200とを備えている。図15において図1の構成部材と同じ構成部材については同一符号を付して説明を省略する。
図15に示した本実施形態のサーボ制御装置100Aは、図1に示したサーボ制御装置100と比べて、加算器103、加算器106、速度フィードフォワード部108、及び位置フィードフォワード部109がなく、速度制御部105とサーボモータ300との間にフィルタ110が設けられている点で異なる。機械学習装置200はサーボ制御装置の構成の違いに基づいて、状態情報及び行動情報が異なり、状態情報及び行動情報の違いに基づく動作が異なることを除いて図6〜図14を用いて説明した第1実施形態の機械学習装置の構成及び動作と同じである。以下、第1実施形態と異なる、サーボ制御装置の構成と動作、及び機械学習装置の動作について説明する。
数式3(以下に数3として示す)は、フィルタ110としてのノッチフィルタの伝達関数G(s)を示す。学習されるパラメータは係数ωc、ζ、Rである。
数式3の係数Rは減衰係数(ノッチの深さ)、係数ωcは減衰中心角周波数、係数ζは比帯域(ノッチの減衰)である。中心周波数をfc、帯域幅をfwとすると、係数ωcはωc=2πfc、係数ζはτ=fw/fcで表される。
なお、最初にQ学習を開始する時点でのフィルタ110の伝達関数の各係数ωc、ζ、Rは、予めユーザが生成するようにする。本実施形態では、ユーザが作成したフィルタ110の伝達関数の各係数ω、ζ、Rの初期設定値を、強化学習により最適なものに調整する。係数ωc、ζ、Rは予め操作者が工作機械を調整している場合には、調整済の値を初期値として機械学習してもよい。
また、係数ωc、ζ、Rは同時に学習してもよいが、別々に学習することで、機械学習量を低減し、機械学習の収束時間を短縮化することができる。
図16に示すように、ノッチフィルタ減衰中心周波数(ωc/2π)の探索範囲が500Hz−1000Hzであるとき、ノッチフィルタ減衰中心周波数ωc/2πの最適な探索解は下端の500Hzが選ばれる。しかし、機械特性のピークの周波数は400Hzであり、ノッチフィルタ減衰中心周波数ωc/2πの探索解の周波数500Hzと合わない。本実施形態でも、第1実施形態と同様に、探索範囲設定部2024は、機械特性のピークの周波数とノッチフィルタ減衰中心周波数ωc/2πの探索解の周波数とが合わない場合、ノッチフィルタ減衰中心周波数ωc/2πの探索解が機械特性のピークに一致又は近づくように、探索範囲の変更動作を行う。
以上説明した動作は、フィルタ110における、係数ζ、Rの探索範囲が不適切である場合にも適用される。
図18は本開示の第3実施形態の制御装置の一構成例を示すブロック図である。図18に示す制御装置12は、サーボ制御装置100Bと機械学習装置200とを備えている。図18において図1の構成部材と同じ構成部材については同一符号を付して説明を省略する。
速度フィードフォワード部108は、位置指令に対して2回微分器1081が2回微分を行い、さらに速度フィードフォワード処理部1083が速度フィードフォワード処理を行い、処理結果を速度フィードフォワード項として加算器106に出力する。速度フィードフォワード処理部1083の数式モデルの伝達関数は、数式4(以下に数4として示す)で示された伝達関数K(s)である。数式4の係数ci、dj(0≦i≦m,0≦j≦n、m,nは自然数である)の最適値は機械学習装置200で機械学習される。
第3実施形態では、機械学習装置200は、速度フィードフォワード処理部1083の伝達関数K(s)の係数ci、djの学習と、位置フィードフォワード処理部1092の伝達関数L(s)の係数ei、fjの学習とは別に行い、位置フィードフォワード処理部1092より内側(インナーループ)にある速度フィードフォワード処理部1083の伝達関数K(s)の係数ci、djの学習を位置フィードフォワード処理部1092の伝達関数L(s)の係数ei、fjの学習よりも先に行う。具体的には、位置フィードフォワード処理部1092の伝達関数L(s)の係数ei、fjを固定し、速度フィードフォワード処理部1083の伝達関数K(s)の係数ci、djの最適な値を学習する。その後に、機械学習装置200は、速度フィードフォワード処理部1083の伝達関数K(s)の係数ci、djを学習で得られた最適な値に固定して、位置フィードフォワード処理部1092の伝達関数L(s)の係数ei、fjを学習する。
そうすることで、学習により最適化された速度フィードフォワード項の条件下で、位置フィードフォワード処理部1092の伝達関数L(s)の係数ei、fjの最適化に係る学習を行うことができ、位置偏差の変動を抑制することができる。
このため、位置フィードフォワード処理部1092より内側(インナーループ)にある速度フィードフォワード処理部1083の伝達関数K(s)の係数ci、djの学習が位置フィードフォワード処理部1092の伝達関数L(s)の係数ei、fjの学習より先にした方が、位置偏差の変動を抑制し、高精度化を実現できる。
なお、最初にQ学習を開始する時点での速度フィードフォワード処理部1083の係数ci、djは、予めユーザが生成するようにする。本実施形態では、ユーザが作成した速度フィードフォワード処理部1083の係数ci、djの初期設定値を、強化学習により最適なものに調整する。速度フィードフォワード処理部1083の係数ci、djは例えば、初期設定値として、数式4のc0=1、c1=0、c2=0、・・・、cm=0、d0=1、d1=0、d2=0、・・・dn=0とする。また、係数ci、djの次数m、nを予め設定する。すなわち、ciについては0≦i≦m、djについては0≦j≦nとする。
なお、係数ci、djは予め操作者が工作機械を調整している場合には、調整済の値を初期値として機械学習してもよい。
本実施形態でも、第1実施形態と同様に、探索範囲設定部2024は、機械特性のピークの周波数と、速度フィードフォワード処理部1083又は位置フィードフォワード処理部1092の係数ci、dj又は係数ei、fjの探索解によってきめられるフィルタ特性の減衰中心数の周波数とが合わない場合、フィルタ特性の減衰中心周波数が機械特性のピークに一致又は近づくように、係数ci、dj又はei、fjの探索範囲の変更動作を行う。
上述した実施形態では、機械学習装置200、及びサーボ制御装置100、100A、100Bを制御装置10、11、12として構成する第1実施形態〜第3実施形態について説明した。これらの実施形態では、機械学習装置200、及びサーボ制御装置100は別体の装置により構成しているが、これらの装置の一つを他の装置と一体に構成してもよい。例えば、機械学習装置200の機能の一部又は全部をサーボ制御装置100により実現するようにしてもよい。
図19は他の構成の制御装置を示すブロック図である。制御装置13は、図19に示すように、n台の機械学習装置200−1〜200−n、及びn台のサーボ制御装置100−1〜100−n、サーボモータ300−1〜300−n、及びネットワーク400を備えている。なお、nは任意の自然数である。n台の機械学習装置200−1〜200−nのそれぞれは図6に示した機械学習装置200に対応している。n台のサーボ制御装置100−1〜100−nのそれぞれは図1に示したサーボ制御装置100、図15に示したサーボ制御装置100A又は図18に示したサーボ制御装置100Bのいずれかに対応している。
その際、機械学習装置200−1の各機能を、適宜複数のサーバに分散する、分散処理システムとしてもよい。また、クラウド上で仮想サーバ機能等を利用して、機械学習装置200−1の各機能を実現してもよい。
また、複数の同じ型名、同一仕様、又は同一シリーズのサーボ制御装置100−1〜100−nとそれぞれ対応する複数の機械学習装置200−1〜200−nがあった場合に、各機械学習装置200−1〜200−nにおける学習結果を共有するように構成するようにしてもよい。そうすることで、より最適なモデルを構築することが可能となる。
100、100A、100B サーボ制御装置
200 機械学習装置
201 状態情報取得部
202 学習部
203 行動情報出力部
204 価値関数記憶部
205 最適化行動情報出力部
2021 報酬出力部
2022 価値関数更新部
2023 行動情報生成部
2024 探索範囲設定部
300 サーボモータ
400 ネットワーク
Claims (8)
- 工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置に対して、強化学習を用いて前記サーボ制御装置の構成要素の第1パラメータの探索を行う機械学習装置であって、
強化学習中又は強化学習後に、前記強化学習で用いる評価関数値の集合を取得し、該評価関数値の集合を、前記第1パラメータ又は前記第1パラメータの探索に用いる第2パラメータの探索範囲でプロットし、該探索範囲の端に又は該端から所定の範囲内に、探索解があるかどうかを検出する探索解検出部と、
前記探索範囲の端に又は前記所定の範囲内に、探索解があるときに、前記評価関数値の集合に基づいて評価関数式を推定する評価関数式推定部と、
推定された前記評価関数式に基づいて、前記第1パラメータ又は前記第2パラメータの新たな探索範囲に変更する探索範囲変更部と、
を備えた機械学習装置。 - 前記強化学習は、DQNを含むQ学習である、請求項1に記載の機械学習装置。
- 前記評価関数式推定部は、前記評価関数式を、前記第1パラメータ又は前記第2パラメータに対する多項式の評価関数式モデルを用いて推定する請求項1又は2に記載の機械学習装置。
- 前記サーボ制御装置の構成要素の第1パラメータは、数式モデル又はフィルタのパラメータを含む請求項1から3のいずれか1項に記載の機械学習装置。
- 前記構成要素は、速度フィードフォワード部又は位置フィードフォワード部であり、前記第1パラメータはフィルタの伝達関数の係数を含む、請求項4に記載の機械学習装置。
- 前記構成要素はノッチフィルタであり、前記第1パラメータは該ノッチフィルタの伝達関数の係数である、請求項4に記載の機械学習装置。
- 請求項1から6のいずれか1項に記載の機械学習装置と、
工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置と、を備え、
前記機械学習装置は、前記サーボ制御装置の構成要素の第1パラメータの探索を行う、制御装置。 - 工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置に対して、強化学習を用いて前記サーボ制御装置の構成要素の第1パラメータの探索を行う機械学習装置の探索範囲の設定方法であって、
強化学習中又は強化学習後に、前記強化学習で用いる評価関数値の集合を、前記第1パラメータ又は前記第1パラメータの探索に用いる第2パラメータの探索範囲でプロットし、
前記探索範囲の端に又は該端から所定の範囲内に、探索解があるかどうかを検出し、
前記探索範囲の端に又は前記所定の範囲内に、探索解があるときに、前記評価関数値の集合に基づいて評価関数式を推定し、
推定された前記評価関数式に基づいて、前記第1パラメータ又は前記第2パラメータの新たな探索範囲に変更する、探索範囲の設定方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019022798A JP6978452B2 (ja) | 2019-02-12 | 2019-02-12 | 機械学習装置、制御装置、及び機械学習の探索範囲の設定方法 |
US16/738,416 US11507885B2 (en) | 2019-02-12 | 2020-01-09 | Machine learning device, control device, and machine learning search range setting method |
DE102020201613.5A DE102020201613A1 (de) | 2019-02-12 | 2020-02-10 | Vorrichtung für maschinelles Lernen, Steuervorrichtung und Verfahren zum Festlegen eines Suchbereichs für maschinelles Lernen |
CN202010084286.1A CN111552237B (zh) | 2019-02-12 | 2020-02-10 | 机器学习装置、控制装置、以及机器学习的搜索范围的设定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019022798A JP6978452B2 (ja) | 2019-02-12 | 2019-02-12 | 機械学習装置、制御装置、及び機械学習の探索範囲の設定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020134960A JP2020134960A (ja) | 2020-08-31 |
JP6978452B2 true JP6978452B2 (ja) | 2021-12-08 |
Family
ID=71739050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019022798A Active JP6978452B2 (ja) | 2019-02-12 | 2019-02-12 | 機械学習装置、制御装置、及び機械学習の探索範囲の設定方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11507885B2 (ja) |
JP (1) | JP6978452B2 (ja) |
CN (1) | CN111552237B (ja) |
DE (1) | DE102020201613A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11316583B2 (en) * | 2019-12-09 | 2022-04-26 | Intelligent Fusion Technology, Inc. | Predistorter, predistorter controller, and high power amplifier linearization method |
JP2022070451A (ja) * | 2020-10-27 | 2022-05-13 | セイコーエプソン株式会社 | ロボットのパラメーターセットの調整を支援する方法、プログラム、および情報処理装置 |
CN116490314A (zh) * | 2021-06-21 | 2023-07-25 | 三菱电机株式会社 | 加工条件探索装置及加工条件探索方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002062412A (ja) * | 2000-08-21 | 2002-02-28 | Keiwa Inc | 光拡散シート及びこれを用いたバックライトユニット |
JP4223894B2 (ja) * | 2003-08-21 | 2009-02-12 | 株式会社山武 | Pidパラメータ調整装置 |
WO2005029479A1 (ja) * | 2003-09-18 | 2005-03-31 | Matsushita Electric Industrial Co., Ltd. | 記録再生方法および記録再生装置 |
US9645575B2 (en) * | 2013-11-27 | 2017-05-09 | Adept Ai Systems Inc. | Method and apparatus for artificially intelligent model-based control of dynamic processes using probabilistic agents |
WO2016000035A1 (en) * | 2014-06-30 | 2016-01-07 | Evolving Machine Intelligence Pty Ltd | A system and method for modelling system behaviour |
JP2016120549A (ja) * | 2014-12-24 | 2016-07-07 | キヤノン株式会社 | ロボット制御方法及びロボット制御装置 |
US10026506B1 (en) * | 2015-02-06 | 2018-07-17 | Brain Trust Innovations I, Llc | System, RFID chip, server and method for capturing vehicle data |
JP6165352B2 (ja) * | 2015-04-30 | 2017-07-19 | 三菱電機株式会社 | エレベーターの制御装置、エレベーター装置、エレベーター用電動機の回転検出部の回転角度誤差を求める方法 |
JP6686338B2 (ja) * | 2015-07-15 | 2020-04-22 | 富士電機株式会社 | 制御システム、制御システムの設計方法、及びプログラム |
JP2017102619A (ja) * | 2015-11-30 | 2017-06-08 | オムロン株式会社 | 制御パラメータ調整装置、制御パラメータ調整方法、制御パラメータ調整プログラム |
CN105955930A (zh) * | 2016-05-06 | 2016-09-21 | 天津科技大学 | 引导型策略搜索强化学习算法 |
JP6490127B2 (ja) * | 2017-03-15 | 2019-03-27 | ファナック株式会社 | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 |
JP6474449B2 (ja) * | 2017-04-07 | 2019-02-27 | ファナック株式会社 | 調整装置及び調整方法 |
JP6538766B2 (ja) * | 2017-07-18 | 2019-07-03 | ファナック株式会社 | 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法 |
-
2019
- 2019-02-12 JP JP2019022798A patent/JP6978452B2/ja active Active
-
2020
- 2020-01-09 US US16/738,416 patent/US11507885B2/en active Active
- 2020-02-10 CN CN202010084286.1A patent/CN111552237B/zh active Active
- 2020-02-10 DE DE102020201613.5A patent/DE102020201613A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
CN111552237B (zh) | 2023-12-01 |
JP2020134960A (ja) | 2020-08-31 |
CN111552237A (zh) | 2020-08-18 |
DE102020201613A1 (de) | 2020-08-13 |
US11507885B2 (en) | 2022-11-22 |
US20200257252A1 (en) | 2020-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6490127B2 (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 | |
US10824121B2 (en) | Machine learning device, servo motor controller, servo motor control system, and machine learning method | |
JP6499720B2 (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 | |
JP6748135B2 (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 | |
JP6474456B2 (ja) | 機械学習装置、サーボ制御システム及び機械学習方法 | |
JP7000373B2 (ja) | 機械学習装置、制御装置及び機械学習方法 | |
JP6978452B2 (ja) | 機械学習装置、制御装置、及び機械学習の探索範囲の設定方法 | |
JP6901450B2 (ja) | 機械学習装置、制御装置及び機械学習方法 | |
US11592789B2 (en) | Output device, control device, and method for outputting evaluation functions and machine learning results | |
JP6860540B2 (ja) | 出力装置、制御装置、及び学習パラメータの出力方法 | |
JP6956122B2 (ja) | フィルタの係数を最適化する機械学習システム、制御装置及び機械学習方法 | |
JP2019185530A (ja) | 機械学習装置、制御装置、及び機械学習方法 | |
US11029650B2 (en) | Machine learning device, control system, and machine learning method | |
CN111722530B (zh) | 机器学习装置、控制***以及机器学习方法 | |
JP6740263B2 (ja) | 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法 | |
WO2022030346A1 (ja) | 制御支援装置、制御システム及び制御支援方法 | |
JP7509866B2 (ja) | 機械学習装置、制御装置及び機械学習方法 | |
JP6740290B2 (ja) | 機械学習装置、制御装置、及び機械学習方法 | |
WO2021210483A1 (ja) | 機械学習装置、制御装置及び機械学習方法 | |
CN110875703B (zh) | 机器学习装置、控制***以及机器学习方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200710 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210409 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210420 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210521 |
|
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: 20211012 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211111 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6978452 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |