JP6978452B2 - 機械学習装置、制御装置、及び機械学習の探索範囲の設定方法 - Google Patents

機械学習装置、制御装置、及び機械学習の探索範囲の設定方法 Download PDF

Info

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
Application number
JP2019022798A
Other languages
English (en)
Other versions
JP2020134960A (ja
Inventor
亮太郎 恒木
聡史 猪飼
隆貴 下田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Priority to JP2019022798A priority Critical patent/JP6978452B2/ja
Priority to US16/738,416 priority patent/US11507885B2/en
Priority to DE102020201613.5A priority patent/DE102020201613A1/de
Priority to CN202010084286.1A priority patent/CN111552237B/zh
Publication of JP2020134960A publication Critical patent/JP2020134960A/ja
Application granted granted Critical
Publication of JP6978452B2 publication Critical patent/JP6978452B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • EFIXED CONSTRUCTIONS
    • E21EARTH OR ROCK DRILLING; MINING
    • E21BEARTH OR ROCK DRILLING; OBTAINING OIL, GAS, WATER, SOLUBLE OR MELTABLE MATERIALS OR A SLURRY OF MINERALS FROM WELLS
    • E21B47/00Survey of boreholes or wells
    • E21B47/008Monitoring of down-hole pump systems, e.g. for the detection of "pumped-off" conditions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33027Artificial neural network controller
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33218Motor encoders, resolvers on common bus with drives, servo controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary 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は、「ジッタ最小値が記録パワーの探索範囲の端で検出された場合、記録パワーの探索範囲を広げることにより、さらにジッタが最小となる記録パワーが検出できる可能性があるため、記録パワーの探索範囲を変化させ再度ジッタ最小値を検出する必要がある。」と記載している。
再公表2005/029479号公報
工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置の構成要素のパラメータを機械学習装置によって探索する場合に、予め機械学習の探索範囲を設定するが、この探索範囲が適切な範囲でない場合がある。
(1) 本開示の一態様は、工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置に対して、前記サーボ制御装置の構成要素の第1パラメータの探索を行う機械学習装置であって、
機械学習中又は機械学習後に、機械学習で用いる評価関数値の集合を取得し、該評価関数値の集合を、前記第1パラメータ又は前記第1パラメータの探索に用いる第2パラメータの探索範囲でプロットし、該探索範囲の端に又は該端から所定の範囲内に、探索解があるかどうかを検出する探索解検出部と、
前記探索範囲の端に又は前記所定の範囲内に、探索解があるときに、前記評価関数値の集合に基づいて評価関数式を推定する評価関数式推定部と、
推定された前記評価関数式に基づいて、前記第1パラメータ又は前記第2パラメータの新たな探索範囲に変更する探索範囲変更部と、
を備えた機械学習装置である。
(2) 本開示の他の態様は、上記(1)の機械学習装置と、
工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置と、を備え、
前記機械学習装置は、前記サーボ制御装置の構成要素の第1パラメータの探索を行う、制御装置である。
(3) 本開示の更に他の態様は、工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置に対して、前記サーボ制御装置の構成要素の第1パラメータの探索を行う機械学習装置の探索範囲の設定方法であって、
機械学習中又は機械学習後に、機械学習で用いる評価関数値の集合を、前記第1パラメータ又は前記第1パラメータの探索に用いる第2パラメータの探索範囲でプロットし、
前記探索範囲の端に又は該端から所定の範囲内に、探索解があるかどうかを検出し、
前記探索範囲の端に又は前記所定の範囲内に、探索解があるときに、前記評価関数値の集合に基づいて評価関数式を推定し、
推定された前記評価関数式に基づいて、前記第1パラメータ又は前記第2パラメータの新たな探索範囲に変更する、探索範囲の設定方法である。
本開示の各態様によれば、工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置の構成要素のパラメータを機械学習装置によって探索する場合に、機械学習の探索範囲が適切な範囲でなくても、適切な範囲に変更することができる。
本開示の第1実施形態の制御装置の一構成例を示すブロック図である。 加工形状が八角形の場合のモータの動作を説明するための図である。 加工形状が八角形の角が一つ置きに円弧に置き換えられた形の場合のモータの動作を説明するための図である。 IIRフィルタの伝達関数の零点を極座標で表した半径rと偏角ωとを示す図である。 係数が最適化されたIIRフィルタのフィルタゲインの一例を示す図である。 本開示の第1実施形態の機械学習装置200を示すブロック図である。 現在の探索範囲を含む周波数での、機械特性と速度フィードフォワードのIIRフィルタ特性を示す特性図である。 探索範囲設定部の一構成例を示すブロック図である。 探索範囲設定部を主体とする機械学習装置の動作を示すフローチャートである。 現在設定されている探索範囲を含む周波数と、評価関数値との特性図である。 現在設定されている探索範囲及び新たに設定される探索範囲を示す周波数と、評価関数値との関係、及び評価関数式を示す特性図である。 現在設定されている探索範囲及び新たに設定される他の探索範囲を示す周波数と、評価関数値との関係、及び評価関数式を示す特性図である。 新たに設定された探索範囲を含む周波数での、機械特性と速度フィードフォワードのIIRフィルタ特性を示す特性図である。 他の構成例における、現在設定されている探索範囲及び新たに設定される他の探索範囲を示す周波数と、評価関数値との関係、及び評価関数式を示す特性図である。 本開示の第2実施形態の制御装置の一構成例を示すブロック図である。 現在の探索範囲を含む周波数での、機械特性とノッチフィルタ特性を示す特性図である。 新たに設定された探索範囲を含む周波数での、機械特性とノッチフィルタ特性を示す特性図である。 本開示の第3実施形態の制御装置の一構成例を示すブロック図である。 他の構成の制御装置を示すブロック図である。
以下、本開示の実施形態を列記する。
(第1実施形態)
図1は本開示の第1実施形態の制御装置の一構成例を示すブロック図である。図1に示す制御装置10は、サーボ制御装置100と機械学習装置200とを備えている。
サーボモータ300は、サーボ制御装置100の制御対象であり、例えば工作機械、ロボット、又は産業機械等に含まれる。サーボ制御装置100はサーボモータ300とともに、工作機械,ロボット,又は産業機械等の一部として設けられてもよい。
最初に、サーボ制御装置100について説明する。
図1に示すように、サーボ制御装置100は、構成要素として、減算器101、位置制御部102、加算器103、減算器104、速度制御部105、加算器106、積分器107、速度フィードフォワード部108、及び位置フィードフォワード部109を備えている。速度フィードフォワード部108は、2回微分器1081及びIIRフィルタ部1082を備えている。
位置指令は、減算器101、速度フィードフォワード部108、位置フィードフォワード部109、及び機械学習装置200に出力される。
位置指令は、サーボモータ300を動作させるプログラムに基づいて、上位装置によって作成される。サーボモータ300は、例えば工作機械に含まれる。工作機械において、被加工物(ワーク)を搭載するテーブルがX軸方向及びY軸方向に移動される場合には、X軸方向及びY軸方向に対してそれぞれ図1に示すサーボ制御装置100及びサーボモータ300が設けられる。テーブルを3軸以上の方向に移動させる場合には、それぞれの軸方向に対してサーボ制御装置100及びサーボモータ300が設けられる。
位置指令は、加工プログラムにより指定される加工形状となるように、送り速度が設定される。
減算器101は位置指令値と位置フィードバックされた検出位置との差を求め、その差を位置偏差として位置制御部102及び機械学習装置200に出力する。
位置制御部102は、位置偏差にポジションゲインKpを乗じた値を、速度指令値として加算器103に出力する。
加算器103は、速度指令値と位置フィードフォワード部109の出力値(位置フィードフォワード項)とを加算して、フィードフォワード制御された速度指令値として減算器104に出力する。減算器104は加算器103の出力と速度フィードバックされた速度検出値との差を求め、その差を速度偏差として速度制御部105に出力する。
速度制御部105は、速度偏差に積分ゲインK1vを乗じて積分した値と、速度偏差に比例ゲインK2vを乗じた値とを加算して、トルク指令値として加算器106に出力する。
加算器106は、トルク指令値と速度フィードフォワード部108の出力値(速度フィードフォワード項)とを加算して、フィードフォワード制御されたトルク指令値として不図示の電流制御部を介してサーボモータ300に出力してサーボモータ300を駆動する。
サーボモータ300の回転角度位置は、サーボモータ300に関連付けられた、位置検出部となるロータリーエンコーダによって検出され、速度検出値は速度フィードバックとして減算器104に入力される。速度検出値は積分器107で積分されて位置検出値となり、位置検出値は位置フィードバックとして減算器101に入力される。サーボモータはリニアモータであってもよい。
速度フィードフォワード部108の2回微分器1081は、位置指令値を2回微分し、IIRフィルタ部1082は2回微分器1081の出力に、伝達関数β・F(z)で示されるIIRフィルタ処理を行う。その処理結果は、速度フィードフォワード項として、加算器106に出力される。IIRフィルタ部1082の伝達関数β・F(z)はIIRフィルタの伝達関数F(z)に定数βを掛けたものである。数式1(以下に数1として示す)で示されたIIRフィルタの伝達関数F(z)の係数a、a、r、ωの最適値は機械学習装置200で機械学習される。係数rは減衰係数(ダンピング)、係数ωは減衰中心角周波数、係数tはサンプリング時間を示す。速度フィードフォワード部108はサーボ制御装置の構成要素となり、係数r、ωを機械学習する場合は、係数r、ωが第1パラメータとなる。
Figure 0006978452
なお、ここでは、IIRフィルタの伝達関数F(z)の分母及び分子は、ともに2次関数となっているが特に2次関数に限定されず、3次関数以上であってもよい。
位置フィードフォワード部109は、位置指令値を微分して定数αを掛け、その処理結果を位置フィードフォワード項として、加算器103に出力する。
以上のように、サーボ制御装置100は構成される。
次に機械学習装置200について説明する。
機械学習装置200は、予め設定された加工プログラム(以下、「学習時の加工プログラム」ともいう)を実行することで、速度フィードフォワード部108のIIRフィルタの伝達関数F(z)が0になるzである零点を探索する。なお、極は伝達関数F(z)が無限大になるzの値、零点は、伝達関数F(z)が0になるzの値である。機械学習装置200は、極と零点を探索してもよいが、振動を抑制するためには零点が重要であり、ここでは、機械学習装置200が、極を固定して(係数a、aを固定して)、零点を探索し、係数r、ωを最適化する場合について説明する。
また、機械学習装置200は、学習中又は学習後に、探索範囲の端の選択が不適切であるかどうかを検出し、選択が不適切な場合に、新たな探索範囲に変更して学習(この学習を再学習と言う)を行う。
学習時の加工プログラムにより指定される加工形状は、例えば、八角形、又は八角形の角が一つ置きに円弧に置き換えられた形等である。なお、学習時の加工プログラムにより指定される加工形状はこれらの加工形状に限定されず、他の加工形状であってもよい。
図2は、加工形状が八角形の場合のモータの動作を説明するための図である。図3は、加工形状が八角形の角が一つ置きに円弧に置き換えられた形の場合のモータの動作を説明するための図である。図2及び図3において、被加工物(ワーク)が時計まわりに加工されるようにテーブルがX軸及びY軸方向に移動するものとする。
加工形状が八角形の場合は、図2に示すように、角の位置A1で、テーブルをY軸方向に移動するモータは回転速度が遅くなり、テーブルをX軸方向に移動するモータは回転速度が速くなる。
角の位置A2で、テーブルをY軸方向に移動するモータは、回転方向が反転し、テーブルをX軸方向に移動するモータは、位置A1から位置A2及び位置A2から位置A3にかけて、同じ回転方向で、等速度で回転する。
角の位置A3で、テーブルをY軸方向に移動するモータは回転速度が速くなり、テーブルをX軸方向に移動するモータは回転速度が遅くなる。
角の位置A4で、テーブルをX軸方向に移動するモータは、回転方向が反転し、テーブルをY軸方向に移動するモータは、位置A3から位置A4及び位置A4から次の角の位置にかけて、同じ回転方向で、等速度で回転する。
加工形状が八角形の角が一つ置きに円弧に置き換えられた形の場合は、図3に示すように、角の位置B1で、テーブルをY軸方向に移動するモータは回転速度が遅くなり、テーブルをX軸方向に移動するモータは回転速度が速くなる。
円弧の位置B2で、テーブルをY軸方向に移動するモータは、回転方向が反転し、テーブルをX軸方向に移動するモータは位置B1から位置B3にかけて同じ回転方向で、等速度で回転する。図3に示した加工形状は八角形の場合と異なり、テーブルをY軸方向に移動するモータは位置B2の前後で円弧の加工形状が形成されるように、位置B2に向かって徐々に減速され、位置B2で回転が停止され、位置B2を過ぎると回転方向が徐々に増加していく。
角の位置B3で、テーブルをY軸方向に移動するモータは回転速度が速くなり、テーブルをX軸方向に移動するモータは回転速度が遅くなる。
円弧の位置B4で、テーブルをX軸方向に移動するモータは、回転方向が反転し、テーブルはX軸方向に直線反転するように移動する。また、テーブルをY軸方向に移動するモータは位置B3から位置B4、及び位置B4から次の角の位置にかけて同じ回転方向で、等速度で回転する。テーブルをX軸方向に移動するモータは位置B4の前後で円弧の加工形状が形成されるように、位置B4に向かって徐々に減速され、位置B4で回転が停止され、位置B4を過ぎると回転方向が徐々に増加していく。
本実施形態では、以上説明した、学習時の加工プログラムにより指定される加工形状の位置A1と位置A3、及び位置B1と位置B3により、線形制御において回転速度が変更されたときの振動を評価し、位置偏差に対する影響を調べることで、速度フィードフォワード部108のIIRフィルタの伝達関数F(z)の係数r、ωの最適化に係る機械学習を行うものとする。なお、本実施形態では用いていないが、加工形状の位置A2と位置A4、及び位置B2と位置B4により、回転方向が反転する場合に生ずる惰走(惰性で動作する)を評価し、位置偏差に対する影響を調べることもできる。
伝達関数の係数の最適化に係る機械学習は、速度フィードフォワード部に特に限定されるものでなく、例えば、位置フィードフォワード部、又はサーボ制御装置の電流フィードフォワードを行う場合に設けられる電流フィードフォワード部にも適用可能である。
次に、機械学習装置200について更に詳細に説明する。
以下の説明では機械学習装置200が強化学習を行う場合について説明するが、機械学習装置200が行う学習は特に強化学習に限定されず、例えば、教師あり学習を行う場合にも本発明は適用可能である。
機械学習装置200に含まれる各機能ブロックの説明に先立って、まず強化学習の基本的な仕組みについて説明する。エージェント(本実施形態における機械学習装置200に相当)は、環境の状態を観測し、ある行動を選択し、当該行動に基づいて環境が変化する。環境の変化に伴って、何らかの報酬が与えられ、エージェントはより良い行動の選択(意思決定)を学習する。
教師あり学習が、完全な正解を示すのに対して、強化学習における報酬は、環境の一部の変化に基づく断片的な値であることが多い。このため、エージェントは、将来にわたっての報酬の合計を最大にするように行動を選択するように学習する。
このように、強化学習では、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、すなわち将来的に得られる報酬を最大にするための学習する方法を学ぶ。これは、本実施形態において、例えば、位置偏差を低減するための行動情報を選択するという、未来に影響をおよぼすような行動を獲得できることを表している。
ここで、強化学習としては、任意の学習方法を用いることができるが、以下の説明では、或る環境の状態Sの下で、行動Aを選択する価値Q(S,A)を学習する方法であるQ学習(Q-learning)を用いる場合を例にとって説明をする。
Q学習では、或る状態Sのとき、取り得る行動Aのなかから、価値Q(S,A)の最も高い行動Aを最適な行動として選択することを目的とする。
しかしながら、Q学習を最初に開始する時点では、状態Sと行動Aとの組合せについて、価値Q(S,A)の正しい値は全く分かっていない。そこで、エージェントは、或る状態Sの下で様々な行動Aを選択し、その時の行動Aに対して、与えられる報酬に基づいて、より良い行動の選択をすることにより、正しい価値Q(S,A)を学習していく。
また、将来にわたって得られる報酬の合計を最大化したいので、最終的にQ(S,A)=E[Σ(γ)r]となるようにすることを目指す。ここでE[]は期待値を表し、tは時刻、γは後述する割引率と呼ばれるパラメータ、rは時刻tにおける報酬、Σは時刻tによる合計である。この式における期待値は、最適な行動に従って状態変化した場合の期待値である。しかしQ学習の過程において最適な行動が何であるのかは不明であるので、様々な行動を行うことにより、探索しながら強化学習をする。このような価値Q(S,A)の更新式は、例えば、次の数式2(以下に数2として示す)により表すことができる。
Figure 0006978452
上記の数式2において、Sは、時刻tにおける環境の状態を表し、Aは、時刻tにおける行動を表す。行動Aにより、状態はSt+1に変化する。rt+1は、その状態の変化により得られる報酬を表している。また、maxの付いた項は、状態St+1の下で、その時に分かっている最もQ値の高い行動Aを選択した場合のQ値にγを乗じたものになる。ここで、γは、0<γ≦1のパラメータで、割引率と呼ばれる。また、αは、学習係数で、0<α≦1の範囲とする。
上述した数式2は、試行Aの結果、返ってきた報酬rt+1を元に、状態Sにおける行動Aの価値Q(S,A)を更新する方法を表している。
この更新式は、状態Sにおける行動Aの価値Q(S,A)よりも、行動Aによる次の状態St+1における最良の行動の価値max Q(St+1,A)の方が大きければ、Q(S,A)を大きくし、逆に小さければ、Q(S,A)を小さくすることを示している。つまり、或る状態における或る行動の価値を、それによる次の状態における最良の行動の価値に近づける。ただし、その差は、割引率γと報酬rt+1のあり方により変わってくるが、基本的には、ある状態における最良の行動の価値が、それに至る一つ前の状態における行動の価値に伝播していく仕組みになっている。
ここで、Q学習では、すべての状態行動ペア(S,A)についてのQ(S,A)のテーブルを作成して、学習を行う方法がある。しかし、すべての状態行動ペアのQ(S,A)の値を求めるには状態数が多すぎて、Q学習が収束するのに多くの時間を要してしまう場合がある。
そこで、公知のDQN(Deep Q-Network)と呼ばれる技術を利用するようにしてもよい。具体的には、価値関数Qを適当なニューラルネットワークを用いて構成し、ニューラルネットワークのパラメータを調整することにより、価値関数Qを適当なニューラルネットワークで近似することにより価値Q(S,A)の値を算出するようにしてもよい。DQNを利用することにより、Q学習が収束するのに要する時間を短くすることが可能となる。なお、DQNについては、例えば、以下の非特許文献に詳細な記載がある。
<非特許文献>
「Human-level control through deep reinforcement learning」、Volodymyr Mnih1著[online]、[平成29年1月17日検索]、インターネット〈URL:http://files.davidqiu.com/research/nature14236.pdf〉
以上説明をしたQ学習を機械学習装置200が行う。具体的には、機械学習装置200は、速度フィードフォワード部108のIIRフィルタ部1082のIIRフィルタの伝達関数F(z)の係数r、ω、並びに機械学習時の加工プログラムを実行することで取得されるサーボ制御装置100の位置偏差情報、及び位置指令を含む、指令及びフィードバック等のサーボ状態を状態Sとして、当該状態Sに係る、IIRフィルタの伝達関数VFF(z)の係数r、ωの調整を行動Aとして選択する価値Qを機械学習(以下、学習という)する。機械学習装置200は、数式1のIIRフィルタの伝達関数F(z)が0になるzである零点を探索する。
具体的には、本発明の実施形態に係る機械学習装置200は、図4に示すように、数式1のIIRフィルタの伝達関数F(z)の零点を極座標で表した半径rと偏角ωとをそれぞれ所定の範囲内で探索して学習することで、位置偏差が最小になるような半径rと偏角ωを学習して、位置偏差が最小になる伝達関数F(z)の係数rと係数ωを設定する。
機械学習装置200は、IIRフィルタ部1082のIIRフィルタの伝達関数F(z)の係数r、ωの値に基づいて、学習時の加工プログラムを実行することで前述した加工形状の位置A1と位置A3、及び位置B1と位置B3における、サーボ制御装置100の位置指令及び位置偏差情報を含む、指令及びフィードバック等のサーボ状態を含む状態情報Sを観測して、行動Aを決定する。機械学習装置200は、行動Aをするたびに報酬が返ってくる。機械学習装置200は、例えば、将来にわたっての報酬の合計が最大になるように最適な行動Aを試行錯誤的に探索する。そうすることで、機械学習装置200は、IIRフィルタの伝達関数F(z)の零点の値に基づいて算出される係数の値に基づいて、学習時の加工プログラムを実行することで取得されるサーボ制御装置100の位置指令及び位置偏差情報を含む指令、フィードバック等のサーボ状態を含む状態Sに対して、最適な行動A(すなわち、IIRフィルタの伝達関数F(z)の最適な零点の値)を選択することが可能となる。位置A1と位置A3、及び位置B1と位置B3とでは、X軸方向及びY軸方向のサーボモータの回転方向は変わらず、機械学習装置200は線形動作時のIIRフィルタの伝達関数F(z)の零点の学習を行うことができる。
すなわち、機械学習装置200により学習された価値関数Qに基づいて、或る状態Sに係るIIRフィルタの伝達関数F(z)に対して適用される行動Aのうち、Qの値が最大となるような行動Aを選択することで、学習時の加工プログラムを実行することで取得される位置偏差が最小になるような行動A(すなわち、IIRフィルタの伝達関数F(z)の零点の値)を選択することが可能となる。
零点の探索範囲は図4の複素平面において、半径rを、例えば0≦r≦1の範囲とし、偏角ωを、速度ループの応答できる周波数範囲で規定する。IIRフィルタの伝達関数F(z)の分子の解(零点)が複素根z=re±jωntsを持つとき、(偏角)/t=ωは減衰中心角周波数[rad/s]を表す。中心周波数をfとすると、減衰中心角周波数ωはω=2πfで表される。例えば、減衰中心角周波数ωが100・2π≦ω≦500・2πであるとき、探索範囲の周波数は100−500Hzとなるが、t=0.0
005[sec]の場合は、偏角の範囲は0.05・2π≦ω≦0.25・2πとなる。図4の複素平面では、18度から90度の扇形の範囲が探索範囲となる。
極座標で零点を探索する場合、まず、半径rを、(0≦r≦1)の範囲内の任意の値に固定し、上記の18度から90度の扇形の範囲の探索範囲において偏角ω試行的に設定してz=reiωnts及びその共役複素数z=re-iωntsが、(z+r(−rejωnts−re-jωnts)z+r)の零点となるような係数(−rejωnts−re-jωnts)及びrを設定する。偏角ωの初期設定値は上記の18度から90度の扇形の探索範囲で設定される。
機械学習装置200は、求めた係数r、ωの調整情報を行動AとしてIIRフィルタ部1082に送り、IIRフィルタの伝達関数F(z)の分子の係数r、ωを設定する。機械学習装置200が偏角ωの探索を行う学習により価値Qの値が最大となるような、好適な偏角ωn0が決定されると、その後に、偏角ωをその偏角ωn0に固定して半径rを可変とし、IIRフィルタの伝達関数F(z)の分子の係数r、ωを設定する。半径rの探索を行う学習により、価値Qの値が最大となるような、最適な半径rが決定される。
以上のようにして、位置偏差が最小になるように、IIRフィルタの伝達関数F(z)の零点を極座標で表した半径rと、偏角ωとをそれぞれ所定の範囲内を探索して学習することで、伝達関数F(z)の係数r、ωの最適化を行うことができる。図5に係数が最適化されたIIRフィルタのフィルタゲインの一例を示す。
なお、半径rと偏角ωsとは同時に学習してもよいが、別々に学習することで、機械学習量を低減し、機械学習の収束時間を短縮化することができる。
図6は本開示の第1実施形態の機械学習装置200を示すブロック図である。
上述した強化学習を行うために、図6に示すように、機械学習装置200は、状態情報取得部201、学習部202、行動情報出力部203、価値関数記憶部204、及び最適化行動情報出力部205を備える。学習部202は報酬出力部2021、価値関数更新部2022、行動情報生成部2023及び探索範囲設定部2024を備える。探索範囲設定部2024は再学習のために用いられ、詳細な説明は後述する。
状態情報取得部201は、サーボ制御装置100における速度フィードフォワード部108のIIRフィルタ部1082のIIRフィルタの伝達関数F(z)の係数r、ωの値に基づいて、学習時の加工プログラムを実行することで取得されるサーボ制御装置100の位置指令及び位置偏差情報を含む指令、フィードバック等のサーボ状態を含む状態Sを、サーボ制御装置100から取得する。この状態情報Sは、Q学習における、環境状態Sに相当する。
状態情報取得部201は、取得した状態情報Sを学習部202に対して出力する。
なお、最初にQ学習を開始する時点でのIIRフィルタの伝達関数F(z)の初期設定は、予めユーザが設定するようにする。本実施形態では、その後、ユーザが初期設定したIIRフィルタの伝達関数F(z)の係数r、ωを、前述したとおり、零点を極座標で表した半径r及び偏角ωをそれぞれ所定の範囲内を探索する強化学習により最適なものに調整する。IIRフィルタ部1082の係数βは固定値とし、例えばβ=1とする。また、伝達関数F(z)の分子の係数r、ωの初期設定については、例えばrを0≦r≦1の範囲内の値、ωを前述した所定の探索範囲内の値とすることができる。
また、係数r、ωは予め操作者が工作機械を調整している場合には、調整済の伝達関数の係数r、ωを初期値として機械学習してもよい。
学習部202は、或る環境状態Sの下で、ある行動Aを選択する場合の価値Q(S,A)を学習する部分である。なお行動Aは、例えば、IIRフィルタの伝達関数F(z)の分子の係数r、ωの修正情報である。
報酬出力部2021は、或る状態Sの下で、行動Aを選択した場合の報酬を算出する部分である。ここで、状態Sにおける状態変数である位置偏差の集合(位置偏差集合)をPD(S)、行動情報Aにより状態Sから変化した状態情報S´に係る状態変数である位置偏差集合をPD(S´)で示す。また、状態Sにおける位置偏差の評価関数値を、予め設定された評価関数f(PD(S))に基づいて算出される値とする。
評価関数fとしては、例えば、
位置偏差の絶対値の積算値を算出する関数
∫|e|dt
位置偏差の絶対値に時間の重み付けをして積算値を算出する関数
∫t|e|dt
位置偏差の絶対値の2n(nは自然数)乗の積算値を算出する関数
∫e2ndt(nは自然数)
位置偏差の絶対値の最大値を算出する関数
Max{|e|}
等を適用することができる。
このとき、行動情報Aにより修正された状態情報S´に係る修正後の速度フィードフォワード部108に基づいて動作したサーボ制御装置100の位置偏差の評価関数値f(PD(S´))が、行動情報Aにより修正される前の状態情報Sに係る修正前の速度フィードフォワード部108に基づいて動作したサーボ制御装置100の位置偏差の評価関数値f(PD(S))よりも大きくなった場合に、報酬出力部2021は、報酬の値を負の値とする。
一方で、位置偏差の評価関数値f(PD(S´))が、位置偏差の評価関数値f(PD(S))よりも小さくなった場合に、報酬出力部2021は、報酬の値を正の値とする。
なお、位置偏差の評価関数値f(PD(S´))が、位置偏差の評価関数値f(PD(S))と等しい場合は、報酬出力部2021は、報酬の値をゼロとする。
また、行動Aを実行後の状態S´の位置偏差の評価関数値f(PD(S´))が、前の状態Sにおける位置偏差の評価関数値f(PD(S))より大きくなった場合の負の値は、比率に応じて大きくするようにしてもよい。つまり位置偏差の評価関数値が大きくなった度合いに応じて負の値が大きくなるようにするとよい。逆に、行動Aを実行後の状態S´の位置偏差の評価関数値f(PD(S´))が、前の状態Sにおける位置偏差の評価関数値f(PD(S))より小さくなった場合の正の値は、比率に応じて大きくするようにしてもよい。つまり位置偏差の評価関数値が小さくなった度合いに応じて正の値が大きくなるようにするとよい。
価値関数更新部2022は、状態Sと、行動Aと、行動Aを状態Sに適用した場合の状態S´と、上記のようにして算出された報酬の値と、に基づいてQ学習を行うことにより、価値関数記憶部204が記憶する価値関数Qを更新する。
価値関数Qの更新は、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。
行動情報生成部2023は、現在の状態Sに対して、Q学習の過程における行動Aを選択する。行動情報生成部2023は、Q学習の過程において、サーボ制御装置100のIIRフィルタ部1082のIIRフィルタの伝達関数F(z)の係数r、ω修正する動作(Q学習における行動Aに相当)を行わせるために、行動情報Aを生成して、生成した行動情報Aを行動情報出力部203に対して出力する。
より具体的には、行動情報生成部2023は、例えば、極座標で零点を探索するために、IIRフィルタの伝達関数F(z)の、ω分子(z+r(−rejωnts−re-jωnts)z+r)においてzの零点をreijωntsとして、状態情報取得部201から受けた半径rを固定した状態で、状態情報取得部201から受けた偏角ωntsを探索範囲内で増加又は減少させる。そして、固定した半径r及び増加又は減少させた偏角ωntsにより、零点とするz及びその共役複素数zを設定し、当該零点に基づいて係数ωを新たに求める。
行動情報生成部2023は、偏角ωを増加又は減少させて、IIRフィルタの伝達関数VFF(z)の係数ωを新たに設定することで状態S´に遷移して、プラスの報酬(正の値の報酬)が返った場合、次の行動A´としては、偏角ωを前回のアクションと同様に増加又は減少等、位置偏差の値がより小さくなるような行動A´を選択する方策を取るようにしてもよい。
また、逆に、マイナスの報酬(負の値の報酬)が返った場合、行動情報生成部2023は、次の行動A´としては、例えば、偏角ωを、前回のアクションとは逆に減少又は増加等、位置偏差が前回の値よりも小さくなるような行動A´を選択する方策を取るようにしてもよい。
行動情報生成部2023は、偏角ωの探索を続けて、最適化行動情報出力部205からの後述する最適化行動情報によって、学習により価値Qの値が最大となるような好適な偏角ωn0が決定されると、その後に、偏角ωをその偏角ωn0に固定して半径rを0≦r≦1の範囲内で探索し、偏角ωの探索と同様にIIRフィルタの伝達関数F(z)の分子の係数rを設定する。行動情報生成部2023は、半径rの探索を続けて、最適化行動情報出力部205からの後述する最適化行動情報によって、学習により、価値Qの値が最大となるような好適な半径rが決定されると、分子の最適な係数rが決定される。
行動情報出力部203は、学習部202から出力される行動情報Aをサーボ制御装置100に対して送信する部分である。サーボ制御装置100は上述したように、この行動情報に基づいて、現在の状態S、すなわち現在設定されているIIRフィルタの伝達関数F(z)の零点を極座標で表した半径r及び偏角ωを微修正することで、次の状態S´(すなわち修正された零点に対応する、IIRフィルタの伝達関数F(z)の係数r、ω)に遷移する。
価値関数記憶部204は、価値関数Qを記憶する記憶装置である。価値関数Qは、例えば状態S、行動A毎にテーブル(以下、行動価値テーブルと呼ぶ)として格納してもよい。価値関数記憶部204に記憶された価値関数Qは、価値関数更新部2022により更新される。また、価値関数記憶部204に記憶された価値関数Qは、他の機械学習装置200との間で共有されるようにしてもよい。価値関数Qを複数の機械学習装置200で共有するようにすれば、各機械学習装置200にて分散して強化学習を行うことが可能となるので、強化学習の効率を向上させることが可能となる。
最適化行動情報出力部205は、価値関数更新部2022がQ学習を行うことにより更新した価値関数Qに基づいて、価値Q(S,A)が最大となる動作を速度フィードフォワード部108に行わせるための行動情報A(以下、「最適化行動情報」と呼ぶ)を生成する。
より具体的には、最適化行動情報出力部205は、価値関数記憶部204が記憶している価値関数Qを取得する。この価値関数Qは、上述したように価値関数更新部2022がQ学習を行うことにより更新したものである。そして、最適化行動情報出力部205は、価値関数Qに基づいて、行動情報を生成し、生成した行動情報をサーボ制御装置100(速度フィードフォワード部108のIIRフィルタ部1082)に対して出力する。この最適化行動情報には、行動情報出力部203がQ学習の過程において出力する行動情報と同様に、偏角ω、半径rの学習によって、IIRフィルタの伝達関数F(z)の係数を修正する情報が含まれる。
サーボ制御装置100では、偏角ω、半径rに基づく、行動情報に基づいてIIRフィルタの伝達関数F(z)の分子に係る伝達関数の係数が修正される。
以上の説明は、IIRフィルタの伝達関数F(z)の極の探索を行う場合についても適用される。その場合、伝達関数F(z)の分母(z+a+a)において、z=reiωnts及びその共役複素数z=re-iωntsを極(偏角ωは所定の範囲内、0≦r≦1)とした場合に、伝達関数F(z)の係数aを(−reiωnts−re-iωnts)及び係数aをrとして設定することで、前述した零点の探索と同様に最適な半径r、偏角ωを求め、これを変換して係数a、aの値を学習する。
本実施形態においては、報酬出力部2021は、報酬の値を、状態Sにおける位置偏差PD(S)を入力として予め設定された評価関数f(PD(S))に基づいて算出される状態Sの位置偏差の値f(PD(S))と、状態S´における位置偏差PD(S´)を入力として評価関数fに基づいて算出される状態S´の位置偏差の値f(PD(S´))とを比較することで算出した。
しかし、報酬の値の算出にあたっては位置偏差以外の他の要素を加えてもよい。
例えば、機械学習装置200に、減算器101の出力となる位置偏差の他に、加算器103の出力となる位置フォワード制御された速度指令、位置フォワード制御された速度指令と速度フィードバックとの差、及び加算器106の出力となる位置フォワード制御されたトルク指令等の少なくとも1つが加えられてもよい。
<再学習>
以上、機械学習装置200の学習について説明したが、次に、学習中又は学習後に、探索範囲の端の選択が不適切であるかどうかを検出し、選択が不適切な場合に、新たな探索範囲に変更して学習(再学習)を行う、機械学習装置200の構成及び動作について説明する。
機械学習装置200の学習において、速度フィードフォワードにおける偏角ωの探索範囲が不適切な場合、学習により得られた速度フィードフォワード部1082のIIRフィルタの探索解の減衰中心周波数(ω/2π)が機械特性のピーク周波数と合わない場合がある。ここで、探索解とは探索範囲で最小の評価関数値を得ることができるパラメータ(ここでは、減衰中心周波数(ω/2π))をいう。なお、図7では減衰中心周波数により探索範囲を示しているが、探索範囲を偏角ω、又は減衰中心角周波数により示してもよい。偏角ωは速度フィードフォワード部108のIIRフィルタの伝達関数F(z)の係数ωに対応し、第1パラメータとなる。減衰中心周波数(ω/2π)又は減衰中心角周波数ωは第1パラメータ(ω)の探索に用いる第2パラメータとなる。
例えば、減衰中心角周波数ωの探索範囲が600・2π≦ω≦1000・2πであるとき、探索範囲の減衰中心周波数(ω/2π)は600−1000Hzとなるが、周波数が600Hz−1000Hzとすると、減衰中心周波数(ω/2π)の最適な探索解は下端の600Hzが選ばれる。しかし、機械特性のピークの周波数は400Hzにあり、減衰中心周波数の探索解の周波数600Hzと合わない。
本実施形態では機械特性のピークの周波数が、減衰中心周波数(ω/2π)の探索解の周波数と合わない場合に、図6に示す探索範囲設定部2024は、減衰中心周波数(ω/2π)の探索解が機械特性のピークに一致又は近づくように、探索範囲の変更動作を行う。ここで、探索範囲の変更とは、現在設定されている探索範囲の端を拡張すること、現在設定されている探索範囲の一部と重複するように探索範囲を設定すること、又は現在設定されている探索範囲とは別な範囲に探索範囲を設定すること等である。
図8は探索範囲設定部の一構成例を示すブロック図である。図9は探索範囲設定部を主体とする機械学習装置の動作を示すフローチャートである。図9による動作は、機械学習装置200の学習中又は学習後に行われる。
図8に示すように、探索範囲設定部2024は、探索解検出部2024A、評価関数式推定部2024B、及び探索範囲変更部2024Cを備えている。
図9に示すステップS11において、探索範囲設定部2024を除く図6に示した機械学習装置200は、設定された周波数600Hz〜1000Hzを探索範囲R1として学習を行う。
ステップS12において、探索解検出部2024Aは、報酬出力部2021で算出された評価関数値の集合を取得し、評価関数値の集合を図10に示すように現在設定されている探索範囲R1内でプロットする。
ステップS13において、探索解検出部2024Aは、プロットされた評価関数値の曲線から、探索範囲R1の端が評価関数値の探索解になったかどうかを検出する。探索解検出部2024Aは探索範囲R1の端が探索解になったことを検出した場合(YESの場合)は、評価関数式推定部2042Bに検出信号を送る。図10では、探索範囲R1でプロットされた評価関数値の曲線は左下がりとなっており、探索範囲R1の端を超えて評価関数値が下がる可能性がある。図10では探索範囲R1の端を超えた場合の評価関数値の曲線を未知の範囲として示している。
ステップS13において、探索解検出部2024Aが探索範囲R1の端が探索解になったことを検出しない場合(NOの場合)は、処理を終了する。
ステップS14において、評価関数式推定部2042Bは、検出信号を受けると、探索範囲R1内で得られた評価関数値に基づいて周波数に対する評価関数式を評価関数式モデルから推定する。図11は推定された評価関数式が二次関数である場合を示している。評価関数モデルは多項式であり、図10の評価関数値の分布では、例えば、Aω+Bω+Cの評価関数モデルを用いることができる。ここで、ωはフィルタの減衰中心周波数、A,B,Cは二次関数式の係数を示す。
ステップS15において、探索範囲変更部2024Cは、推定された評価関数式の形状から、新たに探索範囲と探索回数を決定する。図11では、現在設定されている探索範囲R1を拡張して新たな探索範囲R2を設定している。なお、図12に示すように、現在設定されている探索範囲R1とは別の新たな探索範囲R3を設定しても、現在設定されている探索範囲R1の一部と重複するように新たな探索範囲R4を設定してもよい。なお、新たな探索範囲R4又は探索範囲R3を設定する場合、例えば、推定された評価関数式が二次関数であるときに、極小値を中心に±Δxの範囲を探索範囲にすることができる。探索範囲変更部2024Cは新たに設定した探索範囲を探索解検出部2024Aに送る。
ステップS16において、探索範囲設定部2024を除く機械学習装置200は、新たに設定された探索範囲で学習を行う。必要に応じて、機械特性のピークの周波数が、減衰中心周波数ωn/2πの探索解の周波数と合うように、又は近づくようにステップS11〜S16の動作が繰り返される。
以上の動作によって、適切な探索範囲となるように探索範囲を変更することができる。現在設定されている探索範囲周波数600Hz〜1000Hzを探索範囲300Hz〜1000Hzに拡張した場合の結果を図13に示す。図13に示されるように、機械特性のピークの周波数が、減衰中心角周波数ωnの探索解の周波数と合うように探索範囲を設定することができる。以上の説明では、減衰中心周波数(ω/2π)の探索範囲を規定しているが、減衰中心角周波数ω又は偏角(ω)で探索範囲を規定してもよい。
以上の説明では、探索範囲R1の端が探索解になったかどうかによって、新たな探索範囲を設定していたが、図14に示すように、現在の探索範囲R5の端から幅Lだけ離れた範囲内に探索解があるかどうかよって、図9に示したような探索範囲を変更する動作を行ってもよい。この場合、図9のステップS13において、探索解検出部2024Aは、プロットされた評価関数値の曲線から、探索範囲R5の端から幅(所定の範囲)Lだけ離れた範囲内に探索解があるかどうかを検出する。探索範囲R5の端から幅Lだけ離れた範囲内に探索解がある場合には、例えば、図14に示すように、探索解を含む探索範囲R6を設定することができる。この動作によれば、現在の探索範囲R5内の探索解の周波数を基準とした探索範囲を設定することができ、現在の探索範囲R5外に更に評価関数値の低い探索解がある場合にも、その探索解を検出することができる。
以上説明した動作は、速度フィードフォワードにおける半径rの探索範囲が不適切である場合にも適用される。この場合、半径rは速度フィードフォワード部108のIIRフィルタの伝達関数F(z)の係数rに対応し、第1パラメータとなる。
以上のように、本実施形態に係る機械学習装置200を利用することで、サーボ制御装置100の速度フィードフォワード部108のパラメータ調整を簡易化することができる。また、探索範囲設定部によって、探索範囲が適切な範囲でない場合でも適切な探索範囲となるように探索範囲を変更することができる。
以上、サーボ制御装置100、機械学習装置200に含まれる機能ブロックについて説明した。
これらの機能ブロックを実現するために、サーボ制御装置100、及び機械学習装置200のそれぞれは、CPU(Central Processing Unit)等の演算処理装置を備える。また、サーボ制御装置100、及び機械学習装置200のそれぞれは、アプリケーションソフトウェアやOS(Operating System)等の各種の制御用プログラムを格納したHDD(Hard Disk Drive)等の補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶装置も備える。
そして、サーボ制御装置100、及び機械学習装置200のそれぞれにおいて、演算処理装置が補助記憶装置からアプリケーションソフトウェアやOSを読み込み、読み込んだアプリケーションソフトウェアやOSを主記憶装置に展開させながら、これらのアプリケーションソフトウェアやOSに基づいた演算処理を行なう。また、この演算結果に基づいて、各装置が備える各種のハードウェアを制御する。これにより、本実施形態の機能ブロックは実現される。つまり、本実施形態は、ハードウェアとソフトウェアが協働することにより実現することができる。
機械学習装置200については機械学習に伴う演算量が多いため、例えば、パーソナルコンピュータにGPU(Graphics Processing Units)を搭載し、GPGPU(General-Purpose computing on Graphics Processing Units)と呼ばれる技術により、GPUを機械学習に伴う演算処理に利用するようにすると高速処理できるようになるのでよい。更には、より高速な処理を行うために、このようなGPUを搭載したコンピュータを複数台用いてコンピュータ・クラスターを構築し、このコンピュータ・クラスターに含まれる複数のコンピュータにて並列処理を行うようにしてもよい。
(第2実施形態)
図15は本開示の第2実施形態の制御装置の一構成例を示すブロック図である。図15に示す制御装置11は、サーボ制御装置100Aと機械学習装置200とを備えている。図15において図1の構成部材と同じ構成部材については同一符号を付して説明を省略する。
図15に示した本実施形態のサーボ制御装置100Aは、図1に示したサーボ制御装置100と比べて、加算器103、加算器106、速度フィードフォワード部108、及び位置フィードフォワード部109がなく、速度制御部105とサーボモータ300との間にフィルタ110が設けられている点で異なる。機械学習装置200はサーボ制御装置の構成の違いに基づいて、状態情報及び行動情報が異なり、状態情報及び行動情報の違いに基づく動作が異なることを除いて図6〜図14を用いて説明した第1実施形態の機械学習装置の構成及び動作と同じである。以下、第1実施形態と異なる、サーボ制御装置の構成と動作、及び機械学習装置の動作について説明する。
図15に示すサーボ制御装置100Aのフィルタ110は特定の周波数成分を減衰させるフィルタで、例えばノッチフィルタが用いられる。モータで駆動される工作機械等の機械では共振点が存在し、サーボ制御装置100Aで共振が増大する場合がある。ノッチフィルタを用いることで共振を低減することができる。フィルタ110の出力はトルク指令としてサーボモータ300に出力される。
数式3(以下に数3として示す)は、フィルタ110としてのノッチフィルタの伝達関数G(s)を示す。学習されるパラメータは係数ω、ζ、Rである。
数式3の係数Rは減衰係数(ノッチの深さ)、係数ωは減衰中心角周波数、係数ζは比帯域(ノッチの減衰)である。中心周波数をfc、帯域幅をfwとすると、係数ωはω=2πfc、係数ζはτ=fw/fcで表される。
Figure 0006978452
機械学習装置200は、フィルタ110の伝達関数G(s)の各係数ω、ζ、Rに基づいて、前述した学習時の加工プログラムを実行することで取得されるサーボ制御装置100Aの位置偏差情報、及び位置指令を含む、指令及びフィードバック等のサーボ状態を状態Sとして、当該状態Sに係る、フィルタ110の伝達関数G(s)の各係数ω、ζ、Rの調整を行動Aとして選択する価値Qを学習する。機械学習装置200は、行動Aをするたびに報酬が返ってくる。この報酬は第1実施形態で説明したと同様に、報酬出力部2021は行動情報Aにより修正される前の状態情報Sに係る修正前のフィルタ110に基づいて動作したサーボ制御装置100Aの位置偏差の評価関数値f(PD(S))を算出する。また、報酬出力部2021は行動情報Aにより修正された状態情報S´に係る修正後のフィルタ110に基づいて動作したサーボ制御装置100Aの位置偏差の評価関数値f(PD(S´))を算出する。そして、報酬出力部2021は評価関数値f(PD(S))と評価関数値f(PD(S))とを比較することで報酬を与える。機械学習装置200は、例えば、将来にわたっての報酬の合計が最大になるように最適な行動Aを試行錯誤的に探索する。そうすることで、機械学習装置200は、フィルタ110の伝達関数の各係数ω、ζ、Rに基づいて、学習時の加工プログラムを実行することで取得される位置偏差情報及び位置指令を含む状態Sに対して、最適な行動A(すなわち、フィルタ110の伝達関数の最適な係数ω、ζ、R)を選択することが可能となる。
すなわち、機械学習装置200により学習された価値関数Qに基づいて、或る状態Sに係るフィルタ110の伝達関数の各係数ω、ζ、Rに対して適用される行動Aのうち、Qの値が最大となるような行動Aを選択することで、学習時の加工プログラムを実行することで生ずる機械端の振動が最小になるような行動A(すなわち、フィルタ110の伝達関数の各係数ω、ζ、R)を選択することが可能となる。
なお、最初にQ学習を開始する時点でのフィルタ110の伝達関数の各係数ω、ζ、Rは、予めユーザが生成するようにする。本実施形態では、ユーザが作成したフィルタ110の伝達関数の各係数ω、ζ、Rの初期設定値を、強化学習により最適なものに調整する。係数ω、ζ、Rは予め操作者が工作機械を調整している場合には、調整済の値を初期値として機械学習してもよい。
また、係数ω、ζ、Rは同時に学習してもよいが、別々に学習することで、機械学習量を低減し、機械学習の収束時間を短縮化することができる。
また、機械学習装置200は、探索範囲設定部2024によって、探索範囲が適切な範囲でない場合、適切な探索範囲となるように探索範囲を変更する。
図16に示すように、ノッチフィルタ減衰中心周波数(ω/2π)の探索範囲が500Hz−1000Hzであるとき、ノッチフィルタ減衰中心周波数ω/2πの最適な探索解は下端の500Hzが選ばれる。しかし、機械特性のピークの周波数は400Hzであり、ノッチフィルタ減衰中心周波数ω/2πの探索解の周波数500Hzと合わない。本実施形態でも、第1実施形態と同様に、探索範囲設定部2024は、機械特性のピークの周波数とノッチフィルタ減衰中心周波数ω/2πの探索解の周波数とが合わない場合、ノッチフィルタ減衰中心周波数ω/2πの探索解が機械特性のピークに一致又は近づくように、探索範囲の変更動作を行う。
具体的には、探索解検出部2024Aは、報酬出力部2021で算出された評価関数値の集合を取得し、評価関数値の集合を現在設定されている探索範囲(500Hz−1000Hz)内でプロットし、プロットされた評価関数値の曲線から、探索範囲の端(500Hz)が評価関数値の探索解になったかどうかを検出する。評価関数式推定部2042Bは、探索範囲の端が評価関数値の探索解になった場合は、探索範囲内で得られた評価関数値に基づいてノッチフィルタ減衰中心周波数に対する評価関数式を評価関数式モデルから推定する。探索範囲変更部2024Cは、推定された評価関数式の形状から、新たに探索範囲(300Hz−1000Hz)と探索回数を決定する。こうして、図17に示すように、探索範囲設定部の探索範囲を拡張する探索範囲の変更動作で、探索範囲を300Hz−1000Hzとすることで、探索解を400Hzとすることができ、振動を抑制することができる。なお、減衰中心角周波数ωはフィルタ110の伝達関数の各係数ωに対応し、第1パラメータとなる。減衰中心周波数(ω/2π)は、第1パラメータ(ω)の探索に用いる第2パラメータとなる。以上の説明では、ノッチフィルタ減衰中心周波数(ω/2π)で探索範囲を規定しているが、減衰中心角周波数ωで探索範囲を規定してもよい。
図17では、現在設定されている探索範囲の端を拡張しているが、現在設定されている探索範囲の一部と重複するように探索範囲を設定したり、又は現在設定されている探索範囲とは別な範囲に探索範囲を設定することも可能である。
以上説明した動作は、フィルタ110における、係数ζ、Rの探索範囲が不適切である場合にも適用される。
(第3実施形態)
図18は本開示の第3実施形態の制御装置の一構成例を示すブロック図である。図18に示す制御装置12は、サーボ制御装置100Bと機械学習装置200とを備えている。図18において図1の構成部材と同じ構成部材については同一符号を付して説明を省略する。
図18に示した本実施形態のサーボ制御装置100Bは、図1に示したサーボ制御装置100と比べて、速度フィードフォワード部108のIIRフィルタ部1082が速度フィードフォワード処理部1083に替わり、及び位置フィードフォワード部109が微分器1091と位置フィードフォワード処理部1092からなることが異なる。機械学習装置200はサーボ制御装置の構成の違いに基づいて、状態情報及び行動情報が異なり、状態情報及び行動情報の違いに基づく動作が異なることを除いて図6〜図14を用いて説明した第1実施形態の機械学習装置の構成及び動作と同じである。以下、第1実施形態と異なる、サーボ制御装置の構成と動作、及び機械学習装置の動作について説明する。
速度フィードフォワード部108は、位置指令に対して2回微分器1081が2回微分を行い、さらに速度フィードフォワード処理部1083が速度フィードフォワード処理を行い、処理結果を速度フィードフォワード項として加算器106に出力する。速度フィードフォワード処理部1083の数式モデルの伝達関数は、数式4(以下に数4として示す)で示された伝達関数K(s)である。数式4の係数c、d(0≦i≦m,0≦j≦n、m,nは自然数である)の最適値は機械学習装置200で機械学習される。
Figure 0006978452
位置フィードフォワード部109は、位置指令に対して微分器1091が微分を行い、さらに位置フィードフォワード処理部1092が位置フィードフォワード処理を行い、処理結果を位置フィードフォワード項として加算器103に出力する。位置フィードフォワード処理部1092の数式モデルの伝達関数は、数式5(以下に数5として示す)で示された伝達関数L(s)である。数式5の係数e、f(0≦i≦m,0≦j≦n、m,nは自然数である)の最適値は機械学習装置200で機械学習される。
Figure 0006978452
第3実施形態では、機械学習装置200は、速度フィードフォワード処理部1083の伝達関数K(s)の係数c、dと、位置フィードフォワード処理部1092の伝達関数L(s)の係数e、fとを学習する。
第3実施形態では、機械学習装置200は、速度フィードフォワード処理部1083の伝達関数K(s)の係数c、dの学習と、位置フィードフォワード処理部1092の伝達関数L(s)の係数e、fの学習とは別に行い、位置フィードフォワード処理部1092より内側(インナーループ)にある速度フィードフォワード処理部1083の伝達関数K(s)の係数c、dの学習を位置フィードフォワード処理部1092の伝達関数L(s)の係数e、fの学習よりも先に行う。具体的には、位置フィードフォワード処理部1092の伝達関数L(s)の係数e、fを固定し、速度フィードフォワード処理部1083の伝達関数K(s)の係数c、dの最適な値を学習する。その後に、機械学習装置200は、速度フィードフォワード処理部1083の伝達関数K(s)の係数c、dを学習で得られた最適な値に固定して、位置フィードフォワード処理部1092の伝達関数L(s)の係数e、fを学習する。
そうすることで、学習により最適化された速度フィードフォワード項の条件下で、位置フィードフォワード処理部1092の伝達関数L(s)の係数e、fの最適化に係る学習を行うことができ、位置偏差の変動を抑制することができる。
このため、位置フィードフォワード処理部1092より内側(インナーループ)にある速度フィードフォワード処理部1083の伝達関数K(s)の係数c、dの学習が位置フィードフォワード処理部1092の伝達関数L(s)の係数e、fの学習より先にした方が、位置偏差の変動を抑制し、高精度化を実現できる。
機械学習装置200は、まず、サーボ制御装置100Bにおける、速度フィードフォワード処理部1083の伝達関数K(s)の各係数c、d(0≦i≦m,0≦j≦n、m,nは自然数である)の値、並びに学習時の加工プログラムを実行することで取得されるサーボ制御装置100Bの位置偏差、及び位置指令を含む、指令及びフィードバック等のサーボ状態を状態Sとして、当該状態Sに係る、速度フィードフォワード処理部1083の伝達関数K(s)の各係数c、cの値の調整を行動Aとして選択する価値Qを学習する。
機械学習装置200は、速度フィードフォワード処理部1083の伝達関数K(s)の各係数c、dに基づいて、学習時の加工プログラムを実行することで前述した加工形状の位置A1と位置A3、及び位置B1と位置B3における、サーボ制御装置100Bの位置指令及び位置偏差情報を含む、指令及びフィードバック等のサーボ状態を含む状態情報Sを観測して、行動Aを決定する。機械学習装置200は、行動Aをするたびに報酬が返ってくる。この報酬は第1実施形態で説明したと同様に、報酬出力部2021は行動情報Aにより修正される前の状態情報Sに係る修正前のフィルタ110に基づいて動作したサーボ制御装置100Bの位置偏差の評価関数値f(PD(S))を算出する。また、報酬出力部2021は行動情報Aにより修正された状態情報S´に係る修正後のフィルタ110に基づいて動作したサーボ制御装置100Aの位置偏差の評価関数値f(PD(S´))を算出する。そして、報酬出力部2021は評価関数値f(PD(S))と評価関数値f(PD(S))とを比較することで報酬を与える。機械学習装置200は、例えば、将来にわたっての報酬の合計が最大になるように最適な行動Aを試行錯誤的に探索する。そうすることで、機械学習装置200は、速度フィードフォワード処理部1083の伝達関数K(s)の各係数c、dに基づいて、学習時の加工プログラムを実行することで取得されるサーボ制御装置100Bの位置指令及び位置偏差を含む指令、フィードバック等のサーボ状態を含む状態Sに対して、最適な行動A(すなわち、速度フィードフォワード処理部1083の最適な係数c、d)を選択することが可能となる。位置A1と位置A3、及び位置B1と位置B3とでは、X軸方向及びY軸方向のサーボモータの回転方向は変わらず、機械学習装置200は線形動作時の速度フィードフォワード処理部1083の伝達関数の各係数c、dの学習を行うことができる。
すなわち、機械学習装置200により学習された価値関数Qに基づいて、或る状態Sに係る速度フィードフォワード処理部1083の伝達関数K(s)の各係数c、dに対して適用される行動Aのうち、Qの値が最大となるような行動Aを選択することで、学習時の加工プログラムを実行することで取得される位置偏差が最小になるような行動A(すなわち、速度フィードフォワード処理部1083の係数c、d)を選択することが可能となる。
なお、最初にQ学習を開始する時点での速度フィードフォワード処理部1083の係数c、dは、予めユーザが生成するようにする。本実施形態では、ユーザが作成した速度フィードフォワード処理部1083の係数c、dの初期設定値を、強化学習により最適なものに調整する。速度フィードフォワード処理部1083の係数c、dは例えば、初期設定値として、数式4のc=1、c=0、c=0、・・・、c=0、d=1、d=0、d=0、・・・d=0とする。また、係数c、dの次数m、nを予め設定する。すなわち、cについては0≦i≦m、dについては0≦j≦nとする。
なお、係数c、dは予め操作者が工作機械を調整している場合には、調整済の値を初期値として機械学習してもよい。
以上説明した速度フィードフォワード処理部1083の伝達関数K(s)の係数c、dの学習が終了すると、位置フィードフォワード処理部1092の伝達関数L(s)の係数e、fの学習が開始され、速度フィードフォワード処理部1083の伝達関数K(s)の係数c、dの学習と同様にして、位置フィードフォワード処理部1092の伝達関数L(s)の係数e、fの学習が行われる。
また、機械学習装置200は、第1実施形態と同様に、速度フィードフォワード処理部1083の伝達関数K(s)の係数c、dの学習及び位置フィードフォワード処理部1092の伝達関数L(s)の係数e、fの学習において、探索範囲設定部2024によって、探索範囲が適切な範囲でない場合でも適切な探索範囲となるように探索範囲を変更する。
本実施形態でも、第1実施形態と同様に、探索範囲設定部2024は、機械特性のピークの周波数と、速度フィードフォワード処理部1083又は位置フィードフォワード処理部1092の係数c、d又は係数e、fの探索解によってきめられるフィルタ特性の減衰中心数の周波数とが合わない場合、フィルタ特性の減衰中心周波数が機械特性のピークに一致又は近づくように、係数c、d又はe、fの探索範囲の変更動作を行う。
具体的には、探索解検出部2024Aは、報酬出力部2021で算出された評価関数値の集合を取得し、評価関数値の集合を現在設定されている係数c、d又は係数e、fの探索範囲内でプロットし、プロットされた評価関数値の曲線から、探索範囲の端が評価関数値の探索解になったかどうかを検出する。評価関数式推定部2042Bは、探索範囲の端が評価関数値の探索解になった場合は、探索範囲R内で得られた評価関数値に基づいて係数c、d又は係数e、fに対する評価関数式を評価関数式モデルから推定する。探索範囲変更部2024Cは、推定された評価関数式の形状から、新たに探索範囲と探索回数を決定する。こうして、探索範囲設定部の探索範囲を拡張する探索範囲の変更動作で、機械特性のピークの周波数と、速度フィードフォワード処理部1083又は位置フィードフォワード処理部1092のフィルタ特性の減衰中心数の周波数と合わせることができ、振動を抑制することができる。なお、係数c、d又は係数e、fは第1パラメータとなる。
以上の説明では、現在設定されている探索範囲の端を拡張しているが、現在設定されている探索範囲の一部と重複するように探索範囲を設定したり、又は現在設定されている探索範囲とは別な範囲に探索範囲を設定することも可能である。
以上本発明に係る各実施形態について説明したが、上記のサーボ制御装置、及び機械学習装置に含まれる各構成部は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記のサーボ制御装置に含まれる各構成部のそれぞれの協働により行なわれるサーボ制御方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
プログラムは、様々なタイプの非一時的なコンピュータ読み取り可能な記録媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ読み取り可能な記録媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ読み取り可能な記録媒体の例は、磁気記録媒体(例えば、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。
上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態及び実施例のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
<機械学習装置がサーボ制御装置に含まれる変形例>
上述した実施形態では、機械学習装置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のいずれかに対応している。
図19では、機械学習装置200−1〜200−nとサーボ制御装置100−1〜100−nとのn個の組は、ネットワーク400を介して接続されているが、機械学習装置200−1〜200−nとサーボ制御装置100−1〜100−nとのn個の組は、それぞれの組の機械学習装置とサーボ制御装置とが接続インタフェースを介して直接接続されてもよい。これら機械学習装置200−1〜200−nとサーボ制御装置100−1〜100−nとのn個の組は、例えば同じ工場に複数組設置されていてもよく、それぞれ異なる工場に設置されていてもよい。
なお、ネットワーク400は、例えば、工場内に構築されたLAN(Local Area Network)や、インターネット、公衆電話網、或いは、これらの組み合わせである。ネットワーク600における具体的な通信方式や、有線接続および無線接続のいずれであるか等については、特に限定されない。
上述した図19の制御装置では、機械学習装置200−1〜200−nとサーボ制御装置100−1−100−nとが1対1の組として通信可能に接続されているが、例えば1台の機械学習装置200−1が複数のサーボ制御装置100−1〜100−m(m<n又はm=n)とネットワーク400を介して通信可能に接続され、1台の機械学習装置200−1が各サーボ制御装置100−1〜100−mの機械学習を実施するようにしてもよい。
その際、機械学習装置200−1の各機能を、適宜複数のサーバに分散する、分散処理システムとしてもよい。また、クラウド上で仮想サーバ機能等を利用して、機械学習装置200−1の各機能を実現してもよい。
また、複数の同じ型名、同一仕様、又は同一シリーズのサーボ制御装置100−1〜100−nとそれぞれ対応する複数の機械学習装置200−1〜200−nがあった場合に、各機械学習装置200−1〜200−nにおける学習結果を共有するように構成するようにしてもよい。そうすることで、より最適なモデルを構築することが可能となる。
10、11、12、13 制御装置
100、100A、100B サーボ制御装置
200 機械学習装置
201 状態情報取得部
202 学習部
203 行動情報出力部
204 価値関数記憶部
205 最適化行動情報出力部
2021 報酬出力部
2022 価値関数更新部
2023 行動情報生成部
2024 探索範囲設定部
300 サーボモータ
400 ネットワーク

Claims (8)

  1. 工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置に対して、強化学習を用いて前記サーボ制御装置の構成要素の第1パラメータの探索を行う機械学習装置であって、
    強化学習中又は強化学習後に、前記強化学習で用いる評価関数値の集合を取得し、該評価関数値の集合を、前記第1パラメータ又は前記第1パラメータの探索に用いる第2パラメータの探索範囲でプロットし、該探索範囲の端に又は該端から所定の範囲内に、探索解があるかどうかを検出する探索解検出部と、
    前記探索範囲の端に又は前記所定の範囲内に、探索解があるときに、前記評価関数値の集合に基づいて評価関数式を推定する評価関数式推定部と、
    推定された前記評価関数式に基づいて、前記第1パラメータ又は前記第2パラメータの新たな探索範囲に変更する探索範囲変更部と、
    を備えた機械学習装置。
  2. 前記強化学習は、DQNを含むQ学習である、請求項1に記載の機械学習装置。
  3. 前記評価関数式推定部は、前記評価関数式を、前記第1パラメータ又は前記第2パラメータに対する多項式の評価関数式モデルを用いて推定する請求項1又は2に記載の機械学習装置。
  4. 前記サーボ制御装置の構成要素の第1パラメータは、数式モデル又はフィルタのパラメータを含む請求項1から3のいずれか1項に記載の機械学習装置。
  5. 前記構成要素は、速度フィードフォワード部又は位置フィードフォワード部であり、前記第1パラメータはフィルタの伝達関数の係数を含む、請求項に記載の機械学習装置。
  6. 前記構成要素はノッチフィルタであり、前記第1パラメータは該ノッチフィルタの伝達関数の係数である、請求項に記載の機械学習装置。
  7. 請求項1からのいずれか1項に記載の機械学習装置と、
    工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置と、を備え、
    前記機械学習装置は、前記サーボ制御装置の構成要素の第1パラメータの探索を行う、制御装置。
  8. 工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置に対して、強化学習を用いて前記サーボ制御装置の構成要素の第1パラメータの探索を行う機械学習装置の探索範囲の設定方法であって、
    強化学習中又は強化学習後に、前記強化学習で用いる評価関数値の集合を、前記第1パラメータ又は前記第1パラメータの探索に用いる第2パラメータの探索範囲でプロットし、
    前記探索範囲の端に又は該端から所定の範囲内に、探索解があるかどうかを検出し、
    前記探索範囲の端に又は前記所定の範囲内に、探索解があるときに、前記評価関数値の集合に基づいて評価関数式を推定し、
    推定された前記評価関数式に基づいて、前記第1パラメータ又は前記第2パラメータの新たな探索範囲に変更する、探索範囲の設定方法。
JP2019022798A 2019-02-12 2019-02-12 機械学習装置、制御装置、及び機械学習の探索範囲の設定方法 Active JP6978452B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 ファナック株式会社 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法

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