JP6860541B2 - 出力装置、制御装置、及び評価関数値の出力方法 - Google Patents
出力装置、制御装置、及び評価関数値の出力方法 Download PDFInfo
- Publication number
- JP6860541B2 JP6860541B2 JP2018202773A JP2018202773A JP6860541B2 JP 6860541 B2 JP6860541 B2 JP 6860541B2 JP 2018202773 A JP2018202773 A JP 2018202773A JP 2018202773 A JP2018202773 A JP 2018202773A JP 6860541 B2 JP6860541 B2 JP 6860541B2
- Authority
- JP
- Japan
- Prior art keywords
- machine learning
- control device
- output
- value
- servo control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/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
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
Landscapes
- Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Numerical Control (AREA)
- Feedback Control In General (AREA)
- Testing And Monitoring For Control Systems (AREA)
Description
また、工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置の構成要素のパラメータを機械学習装置によって機械学習する場合に、通常、パラメータ及び機械学習装置で用いられる評価関数値は表示されないため、操作者は、機械学習の経過又は結果を確認することができない。また、評価関数値が表示されても、操作者は評価関数値から機械特性を把握することが難しい。
取得したパラメータ、前記第1の物理量、又は前記パラメータから求めた第2の物理量と、前記評価関数値との関係を示す情報を出力する出力部(例えば、後述の制御部205と表示部209、制御部205と記憶部206)と、
を備えた出力装置(例えば、後述の出力装置200、200A)である。
工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置と、
サーボ制御装置に対して機械学習を行う機械学習装置と、
を備えた制御装置である。
前記機械学習装置から、機械学習中又は機械学習された、前記サーボ制御装置の構成要素のパラメータ又は第1の物理量と、評価関数値とを取得し、
取得したパラメータ、前記第1の物理量、又は前記パラメータから求めた第2の物理量と、前記評価関数値との関係を示す情報を出力する、出力装置の評価関数値の出力方法である。
(第1実施形態)
機械学習装置100は、出力装置200から、サーボ制御装置300に入力される位置指令、速度指令等の制御指令及びサーボ制御装置300から出力される位置偏差等のサーボ情報等の機械学習に用いる情報を取得する。また、機械学習装置100は、出力装置200から、サーボ制御装置300の構成要素のパラメータ(例えば、速度フィードフォワード処理部の伝達関数の係数)を取得する。機械学習装置100はサーボ制御装置300の構成要素のパラメータの代わりに物理量(例えば、パラメータに関連する、減衰中心周波数、帯域幅、減衰係数(ダンピング)等)を取得してもよい(この物理量は第1の物理量に対応する)。機械学習装置100は、入力された情報に基づいて、サーボ制御装置300の構成要素のパラメータ又は物理量を機械学習して、出力装置200へ機械学習中又は機械学習後のパラメータ又は物理量、及び機械学習で用いる評価関数値を出力する。
また、出力装置200は機械学習装置100から、機械学習中又は機械学習後のパラメータ又は物理量を取得し、このパラメータ(例えば、速度フィードフォワード処理部の係数)又はパラメータから計算される値(例えば、中心周波数、帯域幅、減衰係数(ダンピング)等で、第2の物理量となる)と、評価関数値との関係を示す情報を出力する。出力方法は、例えば、液晶表示装置での画面表示、プリンター等を用いた紙への印刷、メモリ等の記憶部への記憶、通信部を介した外部信号出力等である。
操作者等のユーザは、出力装置200から出力される情報に基づいて、例えば、速度フィードフォワード処理部の伝達関数の係数の次数、機械学習の探索範囲を変更するために、出力装置200を操作する。出力装置200は、速度フィードフォワード処理部の伝達関数の係数の次数を変更し、又は機械学習の探索範囲を変更するために、サーボ制御装置300又は機械学習装置100に調整情報を出力する。
サーボモータ400は、工作機械、ロボット又は産業機械の軸を駆動する。サーボモータ400は、例えば、工作機械、ロボット、産業機械に含まれる。サーボモータ400は検出位置又は/及び検出速度をフィードバック情報としてサーボ制御装置300へ出力する。
図2に示すように、サーボ制御装置300は、構成要素として、減算器301、位置制御部302、加算器303、減算器304、速度制御部305、加算器306、積分器307、速度フィードフォワード処理部308、及び位置フィードフォワード処理部309を備えている。
位置指令は、サーボモータ400を動作させるプログラムに基づいて、上位装置によって作成される。サーボモータ400は、例えば工作機械に含まれる。工作機械において、被加工物(ワーク)を搭載するテーブルがX軸方向及びY軸方向に移動される場合には、X軸方向及びY軸方向に対してそれぞれ図2に示すサーボ制御装置300及びサーボモータ400が設けられる。テーブルを3軸以上の方向に移動させる場合には、それぞれの軸方向に対してサーボ制御装置300及びサーボモータ400が設けられる。
位置指令は、加工プログラムにより指定される加工形状となるように、送り速度が設定される。
位置制御部302は、位置偏差にポジションゲインKpを乗じた値を、速度指令値として加算器303に出力する。
加算器303は、速度指令値と位置フィードフォワード処理部309の出力値(位置フィードフォワード項)とを加算して、フィードフォワード制御された速度指令値として減算器304に出力する。減算器304は加算器303の出力と速度フィードバックされた速度検出値との差を求め、その差を速度偏差として速度制御部305に出力する。
加算器306は、トルク指令値と速度フィードフォワード処理部308の出力値(速度フィードフォワード項)とを加算して、フィードフォワード制御されたトルク指令値として不図示の電流制御部を介してサーボモータ400に出力してサーボモータ400を駆動する。
以上のように、サーボ制御装置300は構成される。
次に機械学習装置100について説明する。
ここで、学習時の加工プログラムにより指定される加工形状は、例えば、八角形、又は八角形の角が一つ置きに円弧に置き換えられた形等である。なお、学習時の加工プログラムにより指定される加工形状はこれらの加工形状に限定されず、他の加工形状であってもよい。
角の位置A2で、テーブルをY軸方向に移動するモータは、回転方向が反転し、テーブルをX軸方向に移動するモータは、位置A1から位置A2及び位置A2から位置A3にかけて、同じ回転方向で、等速度で回転する。
角の位置A3で、テーブルをY軸方向に移動するモータは回転速度が速くなり、テーブルをX軸方向に移動するモータは回転速度が遅くなる。
角の位置A4で、テーブルをX軸方向に移動するモータは、回転方向が反転し、テーブルをY軸方向に移動するモータは、位置A3から位置A4及び位置A4から次の角の位置にかけて、同じ回転方向で、等速度で回転する。
円弧の位置B2で、テーブルをY軸方向に移動するモータは、回転方向が反転し、テーブルをX軸方向に移動するモータは位置B1から位置B3にかけて同じ回転方向で、等速度で回転する。図12に示した加工形状が八角形の場合と異なり、テーブルをY軸方向に移動するモータは位置B2の前後で円弧の加工形状が形成されるように、位置B2に向かって徐々に減速され、位置B2で回転が停止され、位置B2を過ぎると回転方向が徐々に増加していく。
円弧の位置B4で、テーブルをX軸方向に移動するモータは、回転方向が反転し、テーブルはX軸方向に直線反転するように移動する。また、テーブルをY軸方向に移動するモータは位置B3から位置B4、及び位置B4から次の角の位置にかけて同じ回転方向で、等速度で回転する。テーブルをX軸方向に移動するモータは位置B4の前後で円弧の加工形状が形成されるように、位置B4に向かって徐々に減速され、位置B4で回転が停止され、位置B4を過ぎると回転方向が徐々に増加していく。
伝達関数の係数の最適化に係る機械学習は、速度フィードフォワード処理部に特に限定されるものでなく、例えば、位置フィードフォワード処理部、又はサーボ制御装置の電流フィードフォワードを行う場合に設けられる電流フィードフォワード処理部にも適用可能である。
以下の説明では機械学習装置100が強化学習を行う場合について説明するが、機械学習装置100が行う学習は特に強化学習に限定されず、例えば、教師あり学習を行う場合にも本発明は適用可能である。
教師あり学習が、完全な正解を示すのに対して、強化学習における報酬は、環境の一部の変化に基づく断片的な値であることが多い。このため、エージェントは、将来にわたっての報酬の合計を最大にするように行動を選択するように学習する。
Q学習では、或る状態Sのとき、取り得る行動Aのなかから、価値Q(S,A)の最も高い行動Aを最適な行動として選択することを目的とする。
この更新式は、状態Stにおける行動Atの価値Q(St,At)よりも、行動Atによる次の状態St+1における最良の行動の価値maxa Q(St+1,A)の方が大きければ、Q(St,At)を大きくし、逆に小さければ、Q(St,At)を小さくすることを示している。つまり、或る状態における或る行動の価値を、それによる次の状態における最良の行動の価値に近づける。ただし、その差は、割引率γと報酬rt+1のあり方により変わってくるが、基本的には、ある状態における最良の行動の価値が、それに至る一つ前の状態における行動の価値に伝播していく仕組みになっている。
「Human-level control through deep reinforcement learning」、Volodymyr Mnih1著[online]、[平成29年1月17日検索]、インターネット〈URL:http://files.davidqiu.com/research/nature14236.pdf〉
上述した強化学習を行うために、図5に示すように、機械学習装置100は、状態情報取得部101、学習部102、行動情報出力部103、価値関数記憶部104、及び最適化行動情報出力部105を備える。学習部102は報酬出力部1021、価値関数更新部1022、及び行動情報生成部1023を備える。
状態情報取得部101は、取得した状態情報Sを学習部102に対して出力する。
なお、係数ai、bjは予め操作者が工作機械を調整している場合には、調整済の値を初期値として機械学習してもよい。
評価関数fは、例えば、位置偏差をeで示したときに、
位置偏差の絶対値の積算値を算出する関数
∫|e|dt
位置偏差の絶対値に時間の重み付けをして積算値を算出する関数
∫t|e|dt
位置偏差の絶対値の2n(nは自然数)乗の積算値を算出する関数
∫e2ndt(nは自然数)
位置偏差の絶対値の最大値を算出する関数
Max{|e|}
等を適用することができる。
また、位置偏差の評価関数値f(PD(S´))が、位置偏差の評価関数値f(PD(S))と等しい場合は、報酬出力部1021は、報酬の値をゼロとする。
価値関数Qの更新は、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。
オンライン学習は、或る行動Aを現在の状態Sに適用することにより、状態Sが新たな状態S´に遷移する都度、即座に価値関数Qの更新を行う学習方法である。また、バッチ学習は、或る行動Aを現在の状態Sに適用することにより、状態Sが新たな状態S´に遷移することを繰り返すことにより、学習用のデータを収集し、収集した全ての学習用データを用いて、価値関数Qの更新を行う学習方法である。更に、ミニバッチ学習は、オンライン学習と、バッチ学習の中間的な、ある程度学習用データが溜まるたびに価値関数Qの更新を行う学習方法である。
より具体的には、最適化行動情報出力部105は、価値関数記憶部104が記憶している価値関数Qを取得する。この価値関数Qは、上述したように価値関数更新部1022がQ学習を行うことにより更新したものである。そして、最適化行動情報出力部105は、価値関数Qに基づいて、行動情報を生成し、生成した行動情報を出力装置200に対して出力する。この最適化行動情報には、行動情報出力部103がQ学習の過程において出力する行動情報と同様に、速度フィードフォワード処理部308の各係数ai、bjを修正する情報及び評価関数値が含まれる。
例えば、報酬出力部1021は、減算器301の出力となる位置偏差の他に、加算器303の出力となる位置フォワード制御された速度指令、減算器304の出力となる、位置フォワード制御された速度指令と速度フィードバックとの差、及び加算器306の出力となる速度フォワード制御されたトルク指令等の少なくとも1つを加えて、報酬の値を算出してもよい。
しかし、本実施形態は、線形動作時の学習に限定されず、非線形動作の学習に適用することもできる。例えば、バックラッシュ補正のために、速度フィードフォワード処理部の係数の最適化に係る学習を行う場合、前述した加工形状の位置A2と位置A4、及び位置B2と位置B4における、位置指令値と積分器108から出力される検出位置との差を位置偏差として抽出して、これを判定情報として報酬を与えて強化学習することができる。
位置A2と位置A4、及び位置B2と位置B4とでは、Y軸方向又はX軸方向のサーボモータの回転方向は反転して非線形動作となってバックラッシが生じ、機械学習装置は非線形動作時のフィードフォワード処理部の伝達関数の係数の学習を行うことができる。
以上、サーボ制御装置300及び機械学習装置100について説明した。次に、出力装置200について説明する。
図6は、本発明の第1実施形態の制御装置10に含まれる出力装置200の一構成例を示すブロック図である。図6に示すように、出力装置200は、情報取得部201、情報出力部202、作図部203、操作部204、制御部205、記憶部206、情報取得部207、情報出力部208、表示部209、及び演算部210を有する。
また、出力装置200は、サーボ制御装置300から機械学習装置100への情報(例えば、位置指令、速度指令等の制御指令、位置偏差、速度フィードフォワード処理部の係数)、機械学習装置100からサーボ制御装置310への情報(例えば、速度フィードフォワード処理部の係数の修正情報)の中継を行う中継機能、機械学習装置100の動作の制御(例えば、機械学習装置に対する学習プログラム起動指示、探索範囲の変更指示等)を行う調整機能を備えている。これらの情報の中継及び動作の制御は情報取得部201,207及び情報出力部202,208を介して行われる。
図7に示すように、表示部209の表示画面Pは欄P1、P2、及びP3を含んでいる。表示部209は、欄P1に、例えば、軸選択、パラメータ確認、プログラム確認・編集、プログラム起動、機械学習中、終了判定の選択項目を表示する。
また、表示部209は、欄P2に、例えば、速度フィードフォワード等の調整対象、データ採取中等のステータス(状態)、予め設定された当該機械学習終了までの試行回数(以下「最大試行回数」ともいう)に対する現在までの試行回数の累計を示す試行回数、及び学習の中断を選択するボタンを表示する。
また、表示部209は、欄P3に、例えば、速度フィードフォワード処理部の伝達関数の係数から計算される値である、減衰中心周波数fcと評価関数値との関係を示す散布図を表示する。
速度フィードフォワード処理部308がモータの逆特性(伝達関数はJs2)とノッチフィルタとで示される場合は、数式1で示される伝達関数F(s)は数式3の右辺で示す数式モデルとなり、イナーシャJ、中心角周波数ω、比帯域ζ、減衰係数Rを用いて数式3の右辺のように示される。係数ai、bjから減衰中心周波数fc、帯域幅fw、減衰係数(ダンピング)Rを求めるには、数式3から中心角周波数ω、比帯域ζ、減衰係数Rを求め、さらにω=2πfc、ζ=fw/fcから、減衰中心周波数fc、帯域幅fwを求める。
https://jp.mathworks.com/help/signal/ug/frequency~renponse.html
https://jp.mathworks.com/help/signal/ref/freqz.html
https://docs.scipy.org/doc/scipy-0.19.1/reference/generated/scipy.signal.freqz.html
https://wiki.octave.org/Control_package
等を用いることができる。周波数応答から、減衰中心周波数fc、帯域幅fw、減衰係数Rを求めることができる。
なお、数式3の右式の伝達関数を中心周波数fc、帯域幅fw、減衰係数Rにより示された速度フィードフォワード処理部308の伝達関数に変換し、中心周波数fc、帯域幅fw、減衰係数Rのパラメータを機械学習装置100で機械学習し、求めた中心周波数fc、帯域幅fw、減衰係数Rを出力装置200が取得してもよい。この場合、取得した中心周波数fc、帯域幅fw、減衰係数Rは第1の物理量となる。
なお、出力装置200が、減衰中心周波数fc等の物理量を求めず、学習パラメータとなる速度フィード係数ai、bjと、評価関数値との関係を示す情報を出力する場合は、演算部210により、速度フィード係数ai、bjから減衰中心周波数fc等の物理量を計算する必要はなく、減衰中心周波数fcを求めることなく、制御部205は、作図部203に制御を移す。
作図部203は、係数ai、bjに基づいて計算された減衰中心周波数fcに対する、係数ai、bjに関連づけられて記憶された評価関数値f(PD(S)の、減衰中心周波数−評価関数値の散布図を作成し、その散布図に評価関数値が極小値を示す減衰中心周波数fcの値(ここでは、250Hzと400Hz)を加えて、減衰中心周波数−評価関数値の散布図の画像情報を作成し、制御部205に制御を移す。
制御部205は、減衰中心周波数−評価関数値の散布図を図7に示す表示画面Pの欄P3に表示する。
また制御部205は、例えば速度フィードフォワード処理部が調整対象であることを示す情報に基づいて、図7に示す表示画面Pの欄P2の調整対象項目に速度フィードフォワードと表示し、試行回数が最大試行回数に達していない場合は欄P2のステータス項目にデータ採取中と表示する。さらに制御部205は、欄P2の試行回数項目に、最大試行回数に対する試行回数の比を表示する。速度フィード係数ai、bjと、評価関数値との関係を示す情報を出力する場合は、作図部203は、例えば、速度フィード係数a0(減衰中心周波数fcに関連するパラメータ)と評価関数値との関係を示す散布図を作成し、制御部205はその散布図を図7に示す表示画面Pの欄P3に表示する。
また、上記説明においては、制御部205は、機械学習装置100から受信した情報を、記憶部206に記憶するとともにリアルタイムに、減衰中心周波数−評価関数値の散布図に関する情報等を表示部209に表示するものとしたが、これに限られない。
例えば、リアルタイムで表示しない構成例としては以下の例がある。
構成例1:操作者(オペレータ)等のユーザが表示指示をしたときに、図7に記載の情報を表示する。
構成例2:(学習開始時からの)試行回数の累計が、予め設定した所定の回数に達したときに、図7に記載の情報を表示する。
構成例3:機械学習の中断時又は終了時に図7に記載の情報を表示する。
例えば、作図部203は、演算部210で、数式3の右辺の中心角周波数ω、比帯域ζ、減衰係数Rを含む伝達関数から速度フィードフォワード処理部308の周波数応答を求めて、図9に示す、周波数−ゲイン特性図を作成し、制御部205に制御を移す。速度フィードフォワード処理部308の周波数応答は、数式3の右式の伝達関数から、前述した、公知の伝達関数から周波数応答を解析できるソフトウェアを用いて求めることができる。
制御部205は、周波数−ゲイン特性図(周波数応答特性となる)、及び減衰中心周波数−評価関数値の散布図又は評価曲線の特性図を図7に示す表示画面Pの欄P3に表示する。こうすることで、操作者等のユーザは速度フィードフォワード処理部308の周波数−ゲイン特性も同時に把握することができる。図9においては、減衰中心周波数が400Hzであることを示している。
しかし、評価関数値との関係を示す物理量は、減衰中心周波数に限定されず、減衰中心周波数に換えて、帯域幅fw又は減衰係数Rを用いてよい。また、減衰中心周波数に帯域幅fw又は減衰係数Rを加えてもよく、この場合、表示画面Pの欄P3に表示する図は三次元図(3Dグラフ)とすることができる。また、帯域幅fw又は減衰係数Rを変えて、評価関数値と減衰中心周波数との関係を示す複数の曲線を記載した、減衰中心周波数−評価関数値の特性図を図7に示した表示画面Pの欄P3に表示してもよい。以下、これらの例を例1から例3として説明する。
以下の各例においても減衰中心周波数、帯域幅fw、減衰係数Rを速度フィードフォワード処理部の伝達関数の係数ai、bjのいずれかに変えてもよいことは勿論である。
本例1は、減衰中心周波数と評価関数値とに、フィルタ減衰率(減衰係数(ダンピング))を加えた三次元図(3Dグラフ)を表示部209の表示画面Pの欄P3に表示した例である。
図10は減衰中心周波数と評価関数値とフィルタ減衰率との関係を示す三次元図である。図10において、フィルタ減衰率をフィルタ帯域(帯域幅)に換えてもよい。図11の周波数−ゲイン特性を示す曲線に示すように、フィルタ減衰率は、曲線の谷の深さを示す。図12の周波数−ゲイン特性を示す曲線に示すように、フィルタ帯域は、曲線の谷の広さ示す。
ユーザは、フィルタ減衰率と減衰中心周波数とが評価関数値に与える影響を理解することができる。
本例2は、フィルタ減衰率(減衰係数(ダンピング))を3つの固定値に変えたときの、減衰中心周波数と評価関数値との曲線を示す特性図を表示部209の表示画面Pの欄P3に表示した例である。
図13は、フィルタ減衰率(減衰係数(ダンピング))を所定の値(0%、50%及び100%)に変えたときの、減衰中心周波数と評価関数値との曲線を示す特性図である。
ユーザは、フィルタ減衰率が、減衰中心周波数と評価関数値との特性に与える影響を理解することができる。
本例3は、減衰中心周波数と評価関数値とフィルタ減衰率(減衰係数(ダンピング))との関係を示す三次元図(3Dグラフ)を表示画面Pの欄P3に表示した例である。
図14は更に減衰中心周波数と評価関数値とフィルタ減衰率との詳細な関係を示す三次元図である。図14において、フィルタ減衰率をフィルタ帯域(帯域幅)に換えてもよい。
次に、出力装置200の中継機能及び調整機能について図15及び図16を用いて説明する。
図15は、機械学習の開始から機械学習終了までの、出力装置を中心とした制御装置の動作を示すフロー図である。
ステップS31において、出力装置200は、操作者が図7に示す、表示部209の表示画面Pの欄P1の「プログラム起動」をマウス、キーボード等の操作部204で選択すると、制御部205は、プログラム起動指示を、情報出力部202を介して機械学習装置100に出力する。そして、サーボ制御装置300に対して、学習のためのプログラム起動指示を機械学習装置100に出力したことを通知する学習のためのプログラム起動指示通知を出力する。
ステップS32において、出力装置200は、サーボ制御装置300に学習時の加工プログラムを出力する上位装置に学習時の加工プログラムの起動指示を行う。ステップS32はステップ31の前、ステップ31と同時に行われてもよい。上位装置は学習時の加工プログラムの起動指示を受けると、位置指令を作成してサーボ制御装置300に出力する。
ステップS21において、機械学習装置100は、プログラム起動指示を受けると、機械学習を開始する。
ステップS33で、出力装置200は、上述した出力機能により、図7に示す表示画面Pの欄P1の「機械学習」が選択されると、機械学習装置100から出力される、機械学習中の速度フィードフォワード処理部308の伝達関数の係数の修正情報と評価関数値に基づいて、操作者等のユーザが分かりやすい物理量(中心周波数fc等)と評価関数値との関係を示す図を作成して、表示部209の図7に示した表示画面Pの欄P3に表示する。出力装置200は、ステップS33で、又はステップS33の後若しくは前に、サーボ制御装置310に速度フィードフォワード処理部308の伝達関数の係数の修正情報を送る。ステップS11、ステップS21、ステップS33は機械学習の終了まで繰り返し行われる。
ステップS35において、出力装置200は機械学習装置100に終了指示を送る。
ステップS22において、機械学習装置100は終了指示を受けると機械学習を終了する。
操作者等のユーザは、機械学習中又は機械学習後に出力装置200の表示部209の図7に示す表示画面Pの欄P3を見て、サーボ制御装置300に速度フィードフォワード処理部308の係数の次数m、nの変更又は機械学習装置100に対して探索範囲の変更又は選択を指示したい場合がある。例えば、ユーザが図7に示す表示画面Pの欄P3の散布図の評価関数値を見て、工作機械に250Hzと400Hzのときに、評価関数値が小さくなっていることから、その周波数に機械共振がある可能性が高いことを認識する。このような場合に、ユーザは数1の、係数ai、bjの次数m、nを変更、又は係数ai、bjの探索範囲を変更したい場合がある。出力装置200は学習中又は学習後にサーボ制御装置300に対して速度フィードフォワード処理部の係数ai、bjの次数m、nの調整又は機械学習装置100に対して再学習を指示する。
図15のステップS35において、出力装置200が機械学習装置100へ終了指示を出した後に、ユーザが図7に示す表示画面Pの欄P3の散布図の評価関数値を見て、250Hzと400Hzの周波数に機械共振がある可能性が高いことを認識し、図7の表示画面Pの「変更」をマウス、キーボード等の操作部204で選択する。制御部205は、例えば、数式3に示した伝達関数の式と、係数ai、bjの次数m、nの入力欄とを、図7の表示画面P内に表示する。ユーザは数式3の右辺に示した伝達関数の式から、伝達関数が1つのフィルタで構成されていることを認識し、2つのフィルタとするために、数式3の左辺に示した伝達関数の係数aiの次数mを「2」から「4」、係数bjの次数nを「4」から「6」に変更する。
図16のステップS36において、制御部205は次数の変更、又は探索範囲の変更があるかどうかを判断し、ユーザの上記次数の変更によって制御部205が次数の変更と判断した場合は、図7の表示画面Pに数式5の伝達関数を表示するとともに、ステップS37において、サーボ制御装置300へ、速度フィードフォワード処理部308の修正パラメータ(係数ai、bjの変更値)と次数m、nを含む修正指示を出力する。数5の右辺は数式モデルとなる。係数ai、bjの変更値は、記憶部206に記憶された、評価関数値が極小値となる係数に基づいて決定することができる。サーボ制御装置310は、ステップS11において、変更された係数ai、bjで工作機械を駆動し、変更された係数ai、bjと位置偏差を出力装置200に出力する。
出力装置200はステップS38後にステップS31へ戻る。そして、ステップS11、ステップS21、ステップS31−S33に基づく機械学習が再度行われる。
図16のステップS36において、制御部205は、ユーザによって、入力欄に中心周波数fcとして250Hzと400Hzが入力されると、再学習と判断して、ステップS39において、機械学習装置100に250Hzと400Hzを中心とした探索範囲の変更又は選択を指示する。出力装置200は、その後、ステップS40において、出力装置200は機械学習装置100に対して、試行回数を「0」にリセットするように機械学習装置100へ指示する。ステップS40はステップS39と同時に実行されても、ステップS39の前に実行されてもよい。
出力装置200はステップS40の後にステップS31へ戻る。機械学習装置100は探索範囲の変更又は選択の指示を受け、プログラムの起動指示を受けると、ステップS21で、250Hzと400Hzを中心とした再学習を実行する。このとき、探索範囲は、広い範囲から狭い範囲に変更又は250Hzと400Hzを中心とした範囲となるように選択される。例えば、探索範囲は100Hzから1000Hzであったのを、200Hzから500Hzに変更したり、200Hzから300Hz、400Hzから500Hzに選択される。
出力装置200は、機械学習装置100から送られる、変更された係数ai、bjと評価関数値に基づいて、減衰中心周波数−評価関数値の散布図を表示部209の図7に示される表示画面Pの欄P3に表示し、変更された係数ai、bjをサーボ制御装置300へ送る。このように、ステップS11、ステップS21、ステップS31−S33に基づく機械学習が再度行われる。
以上、第1実施形態の出力装置及び制御装置について説明したが、次に第2及び第3の実施形態の出力装置及び制御装置について説明する。
第1の実施形態では、出力装置200はサーボ制御装置300と機械学習装置100とに接続され、機械学習装置100とサーボ制御装置300との間の情報の中継、サーボ制御装置300と機械学習装置100との動作の制御を行っていた。
本実施形態では、出力装置が機械学習装置のみに接続される場合について説明する。
図17は、本発明の第2実施形態の制御装置の一構成例を示すブロック図である。制御装置10Aは、機械学習装置100、出力装置200A、サーボ制御装置300、及びサーボモータ400を備えている。
出力装置200Aは、図6に示す出力装置200と比べて、情報取得部217及び情報出力部218を備えていない。
第1の実施形態では、出力装置200はサーボ制御装置300と機械学習装置100とに接続されていたが、本実施形態では、調整装置が機械学習装置100とサーボ制御装置300とに接続され、出力装置が調整装置に接続される場合について説明する。
図18は、本発明の第3実施形態の制御装置の一構成例を示すブロック図である。制御装置10Bは、機械学習装置100、出力装置200A、サーボ制御装置300及び調整装置500を備えている。図18に示した出力装置200Aは、図17に示した出力装置200Aの構成と同一であるが、情報取得部211と情報出力部212が機械学習装置100でなく、調整装置700に接続されている。
調整装置500は、図6の出力装置200の作図部203、操作部204、表示部209及び演算部2100が除かれた構成となっている。
そうすることで、第1実施形態と比較して出力装置200の機能が、出力装置200Aと調整装置500とに分離されるので、出力装置200Aの動作が少なくなり、装置構成が簡易化できる。
上述した実施形態では、機械学習装置100、出力装置200又は200A、及びサーボ制御装置300を制御装置10として構成する第1実施形態及び第2実施形態と、さらに出力装置200を出力装置200Aと調整装置500とに分離して制御装置に設けて構成した第3実施形態について説明した。これらの実施形態では、機械学習装置100、出力装置200又は200A、サーボ制御装置300、調整装置500とは別体の装置により構成しているが、これらの装置の一つを他の装置と一体に構成してもよい。例えば、出力装置200又は200Aの機能の一部又は全部を機械学習装置100、又はサーボ制御装置300により実現するようにしてもよい。
また、出力装置200又は200Aを、機械学習装置100、及びサーボ制御装置300で構成される制御装置の外部に設けてもよい。
図19は他の構成の制御装置を示すブロック図である。制御装置10Cは、図19に示すように、n台の機械学習装置100−1〜100−n、出力装置200−1〜200−n、及びn台のサーボ制御装置300−1〜300−n、サーボモータ400−1〜400−n、及びネットワーク600を備えている。なお、nは任意の自然数である。n台の機械学習装置100−1〜100−nのそれぞれは図5に示した機械学習装置100に対応している。出力装置200−1〜200−nは図6に示した出力装置200又は図17に示した出力装置200Aに対応している。n台のサーボ制御装置300−1〜300−nのそれぞれは図2に示したサーボ制御装置300に対応している。図18に示した出力装置200A及び調整装置500は出力装置200−1〜200−nに対応している。
その際、機械学習装置100−1の各機能を、適宜複数のサーバに分散する、分散処理システムとしてもよい。また、クラウド上で仮想サーバ機能等を利用して、機械学習装置100−1の各機能を実現してもよい。
また、複数の同じ型名、同一仕様、又は同一シリーズのサーボ制御装置300−1〜300−nとそれぞれ対応する複数の機械学習装置100−1〜100−nがあった場合に、各機械学習装置100−1〜100−nにおける学習結果を共有するように構成するようにしてもよい。そうすることで、より最適なモデルを構築することが可能となる。
100 機械学習装置
200 出力装置
211 情報取得部
212 情報出力部
213 作図部
214 操作部
215 制御部
216 記憶部
217 情報取得部
218 情報出力部
219 表示部
220 演算部
300 サーボ制御装置
400 サーボモータ
500 調整装置
600 ネットワーク
Claims (9)
- 工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置に対して機械学習を行う機械学習装置から、機械学習中又は機械学習された、前記サーボ制御装置の構成要素のパラメータ又は第1の物理量と、評価関数値とを取得する情報取得部と、
取得した前記パラメータ、前記第1の物理量、又は前記パラメータから求めた第2の物理量と、前記評価関数値との関係を示す図を含む情報を出力する出力部と、
を備えた出力装置。 - 前記出力部は、前記パラメータ、前記第1の物理量又は前記第2の物理量と、前記評価関数値との関係を示す図を含む情報を表示画面に表示する表示部を含む請求項1に記載の出力装置。
- 前記情報に基づいてユーザによって入力された、前記サーボ制御装置の構成要素のパラメータ又は前記第1の物理量の機械学習の探索範囲の変更又は選択に基づいて、前記サーボ制御装置の構成要素のパラメータ又は前記第1の物理量の機械学習の探索範囲の変更指示又は選択指示を、前記機械学習装置に対して行う請求項1から3のいずれか1項に記載の出力装置。
- 前記サーボ制御装置の構成要素のパラメータは、数式モデル又はフィルタのパラメータを含む請求項1から請求項4のいずれか1項に記載の出力装置。
- 前記数式モデル又は前記フィルタは速度フィードフォワード処理部又は位置フィードフォワード処理部に含まれ、前記パラメータはフィルタの伝達関数の係数を含む、請求項5に記載の出力装置。
- 請求項1から6のいずれか1項に記載の出力装置と、
工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置と、
前記サーボ制御装置に対して機械学習を行う機械学習装置と、
を備えた制御装置。 - 前記出力装置は、前記サーボ制御装置と前記機械学習装置のうちの一つに含まれる、請求項7に記載の制御装置。
- 工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置に対して機械学習を行う機械学習装置の機械学習で用いる評価関数値の出力方法において、
前記機械学習装置から、機械学習中又は機械学習された、前記サーボ制御装置の構成要素のパラメータ又は第1の物理量と、評価関数値とを取得し、
取得した前記パラメータ、前記第1の物理量、又は前記パラメータから求めた第2の物理量と、前記評価関数値との関係を示す図を含む情報を出力する、出力装置の評価関数値の出力方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018202773A JP6860541B2 (ja) | 2018-10-29 | 2018-10-29 | 出力装置、制御装置、及び評価関数値の出力方法 |
US16/564,595 US11914334B2 (en) | 2018-10-29 | 2019-09-09 | Output device, control device and method of outputting evaluation function value |
DE102019216190.1A DE102019216190A1 (de) | 2018-10-29 | 2019-10-21 | Ausgabevorrichtung, Steuervorrichtung und Verfahren zum Ausgeben eines Bewertungsfunktionswerts |
CN201911021683.8A CN111103794B (zh) | 2018-10-29 | 2019-10-25 | 输出装置、控制装置、以及评价函数值的输出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018202773A JP6860541B2 (ja) | 2018-10-29 | 2018-10-29 | 出力装置、制御装置、及び評価関数値の出力方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020071508A JP2020071508A (ja) | 2020-05-07 |
JP6860541B2 true JP6860541B2 (ja) | 2021-04-14 |
Family
ID=70326596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018202773A Active JP6860541B2 (ja) | 2018-10-29 | 2018-10-29 | 出力装置、制御装置、及び評価関数値の出力方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11914334B2 (ja) |
JP (1) | JP6860541B2 (ja) |
CN (1) | CN111103794B (ja) |
DE (1) | DE102019216190A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6748135B2 (ja) * | 2018-03-19 | 2020-08-26 | ファナック株式会社 | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 |
KR20210078769A (ko) * | 2019-12-19 | 2021-06-29 | 두산공작기계 주식회사 | 공작기계의 탠덤제어 시스템 및 이의 제어방법 |
JP7512674B2 (ja) | 2020-05-22 | 2024-07-09 | コニカミノルタ株式会社 | 画像処理システム、画像処理装置、プログラム、制御管理システムおよび装置 |
CN111897219B (zh) * | 2020-07-21 | 2022-11-22 | 广东工业大学 | 基于在线逼近器的倾转四旋翼无人机过渡飞行模式最优鲁棒控制方法 |
WO2022186051A1 (ja) * | 2021-03-02 | 2022-09-09 | ファナック株式会社 | 調整支援装置、制御システム及び調整支援方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2840139B2 (ja) * | 1991-04-24 | 1998-12-24 | ファナック株式会社 | 予見繰り返し制御装置 |
JPH1131139A (ja) | 1997-07-14 | 1999-02-02 | Akiyuuto Kk | 信号変換器およびこれを使用した信号変換方法 |
US6952808B1 (en) * | 1999-07-01 | 2005-10-04 | Honeywell Inc. | Process variable gauge interface and methods regarding same |
JP4111044B2 (ja) * | 2003-04-21 | 2008-07-02 | 株式会社安川電機 | ロボット制御装置 |
JP4964096B2 (ja) * | 2007-11-12 | 2012-06-27 | 三菱電機株式会社 | サーボゲイン調整装置およびサーボゲイン調整方法 |
US9218574B2 (en) * | 2013-05-29 | 2015-12-22 | Purepredictive, Inc. | User interface for machine learning |
JP6457472B2 (ja) | 2016-12-14 | 2019-01-23 | ファナック株式会社 | 制御システム及び機械学習装置 |
JP6490127B2 (ja) * | 2017-03-15 | 2019-03-27 | ファナック株式会社 | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 |
JP6474449B2 (ja) | 2017-04-07 | 2019-02-27 | ファナック株式会社 | 調整装置及び調整方法 |
EP3586973B1 (en) * | 2018-06-18 | 2024-02-14 | Rolls-Royce Corporation | System control based on acoustic and image signals |
-
2018
- 2018-10-29 JP JP2018202773A patent/JP6860541B2/ja active Active
-
2019
- 2019-09-09 US US16/564,595 patent/US11914334B2/en active Active
- 2019-10-21 DE DE102019216190.1A patent/DE102019216190A1/de active Pending
- 2019-10-25 CN CN201911021683.8A patent/CN111103794B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
DE102019216190A1 (de) | 2020-04-30 |
JP2020071508A (ja) | 2020-05-07 |
US20200133208A1 (en) | 2020-04-30 |
CN111103794B (zh) | 2023-02-17 |
CN111103794A (zh) | 2020-05-05 |
US11914334B2 (en) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6849643B2 (ja) | 出力装置、制御装置、及び評価関数と機械学習結果の出力方法 | |
JP6860541B2 (ja) | 出力装置、制御装置、及び評価関数値の出力方法 | |
JP6860540B2 (ja) | 出力装置、制御装置、及び学習パラメータの出力方法 | |
JP6490127B2 (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 | |
JP6474449B2 (ja) | 調整装置及び調整方法 | |
JP6784722B2 (ja) | 出力装置、制御装置、及び評価関数値の出力方法 | |
JP6538766B2 (ja) | 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法 | |
JP6748135B2 (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 | |
JP6740277B2 (ja) | 機械学習装置、制御装置、及び機械学習方法 | |
JP6697491B2 (ja) | 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法 | |
JP6474456B2 (ja) | 機械学習装置、サーボ制御システム及び機械学習方法 | |
JP6740278B2 (ja) | 機械学習装置、制御装置、及び機械学習方法 | |
JP6901450B2 (ja) | 機械学習装置、制御装置及び機械学習方法 | |
JP2019008472A (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 | |
JP7000373B2 (ja) | 機械学習装置、制御装置及び機械学習方法 | |
JP6806746B2 (ja) | モータ制御装置 | |
JP2021039648A (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム及び機械学習方法 | |
JP6978452B2 (ja) | 機械学習装置、制御装置、及び機械学習の探索範囲の設定方法 | |
JP7000371B2 (ja) | 機械学習装置、制御システム及び機械学習方法 | |
JP7101091B2 (ja) | モータ制御装置のフィードフォワード制御器導出装置、モータ制御装置、制御装置、及びフィードフォワード制御器導出方法 | |
JP6740290B2 (ja) | 機械学習装置、制御装置、及び機械学習方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200323 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200616 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200717 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201022 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201214 |
|
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: 20210224 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210326 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6860541 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |