JP6860540B2 - 出力装置、制御装置、及び学習パラメータの出力方法 - Google Patents
出力装置、制御装置、及び学習パラメータの出力方法 Download PDFInfo
- Publication number
- JP6860540B2 JP6860540B2 JP2018200820A JP2018200820A JP6860540B2 JP 6860540 B2 JP6860540 B2 JP 6860540B2 JP 2018200820 A JP2018200820 A JP 2018200820A JP 2018200820 A JP2018200820 A JP 2018200820A JP 6860540 B2 JP6860540 B2 JP 6860540B2
- Authority
- JP
- Japan
- Prior art keywords
- output
- control device
- machine learning
- learning
- 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
- 238000000034 method Methods 0.000 title claims description 47
- 230000006870 function Effects 0.000 claims description 222
- 238000010801 machine learning Methods 0.000 claims description 222
- 238000012546 transfer Methods 0.000 claims description 141
- 230000004044 response Effects 0.000 claims description 112
- 238000012545 processing Methods 0.000 claims description 67
- 238000011156 evaluation Methods 0.000 claims description 21
- 238000013178 mathematical model Methods 0.000 claims description 14
- 238000013016 damping Methods 0.000 claims description 12
- 230000009471 action Effects 0.000 description 130
- 238000010586 diagram Methods 0.000 description 67
- 238000003860 storage Methods 0.000 description 29
- 230000006399 behavior Effects 0.000 description 27
- 230000002787 reinforcement Effects 0.000 description 23
- 238000012937 correction Methods 0.000 description 18
- 238000004364 calculation method Methods 0.000 description 14
- 238000001514 detection method Methods 0.000 description 14
- 230000007704 transition Effects 0.000 description 14
- 238000005457 optimization Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 230000008859 change Effects 0.000 description 8
- 238000003754 machining Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 230000007423 decrease Effects 0.000 description 7
- 230000002238 attenuated effect Effects 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012887 quadratic function Methods 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012888 cubic function Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010587 phase diagram Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012549 training Methods 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
- 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
- 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
- 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/402—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for positioning, e.g. centring a tool relative to a hole in the workpiece, additional detection means to correct position
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35524—Approach data and machining data
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Feedback Control In General (AREA)
- Numerical Control (AREA)
- Testing And Monitoring For Control Systems (AREA)
Description
また、工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置の制御パラメータを機械学習装置によって機械学習する場合に、通常、学習パラメータ及び機械学習装置で用いられる評価関数値は表示されないため、ユーザは、機械学習の経過又は結果を確認することができない。また、学習パラメータ又は評価関数値が表示されても、ユーザは学習パラメータからサーボ制御装置の特性がどのように最適化されるのかを理解するのは難しい。
取得した前記第1の物理量と取得した前記パラメータから求めた第2の物理量とのいずれか1つの物理量、前記サーボ制御装置の構成要素の時間応答特性、及び前記サーボ制御装置の構成要素の周波数応答特性のうち少なくとも1つを出力する出力部(例えば、後述の制御部215と表示部219、制御部215と記憶部216)と、を備え、
前記時間応答特性及び前記周波数応答特性は、前記パラメータ、前記第1の物理量又は前記第2の物理量を用いて求める出力装置(例えば、後述の出力部200、200A,210)である。
工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置と、
サーボ制御装置に対して機械学習を行う機械学習装置と、
を備えた制御装置である。
機械学習装置から、学習中又は学習された、前記サーボ制御装置の構成要素のパラメータ又は第1の物理量を取得し、
取得した第1の物理量と取得したパラメータから求めた第2の物理量とのいずれか1つの物理量、前記サーボ制御装置の構成要素の時間応答特性、及び前記サーボ制御装置の構成要素の周波数応答特性のうちの少なくとも1つを出力し、
前記時間応答特性及び前記周波数応答特性は、前記パラメータ、前記第1の物理量又は前記第2の物理量を用いて求める、出力装置の学習パラメータの出力方法である。
(第1実施形態)
機械学習装置100は、出力装置200から、サーボ制御装置300に入力される位置指令、速度指令等の制御指令及びサーボ制御装置300から出力される位置偏差等のサーボ情報、又は制御指令及びサーボ情報から得られる情報(例えば、入出力ゲイン及び位相遅れ)等の機械学習に用いる情報を取得する。図1では一例として機械学習装置100が制御指令及びサーボ情報を取得する例を示している。また、機械学習装置100は、出力装置200から、サーボ制御装置300から出力される数式モデルのパラメータ又はフィルタのパラメータを取得する。機械学習装置100は、入力された情報に基づいて、サーボ制御装置300の数式モデル又はフィルタのパラメータを機械学習して、出力装置200へ数式モデル又はフィルタの学習パラメータを出力する。学習パラメータは、例えば、サーボ制御装置300に設けられたノッチフィルタの係数、又は速度フィードフォワード処理部の係数である。本実施形態では機械学習部100は強化学習を行うものとして説明するが、機械学習部100が行う学習は特に強化学習に限定されず、例えば、教師あり学習を行う場合にも本発明は適用可能である。
なお、機械学習装置110から出力される学習パラメータは、それ自体が、ユーザが理解しやすい物理量である場合は、出力装置はその情報を出力し、学習パラメータが、ユーザが理解しにくい情報である場合は、出力装置はユーザが理解しやすい物理量、数式モデル若しくはフィルタの時間応答又は周波数応答に変えて出力する。
物理量は、例えば、イナーシャ、質量、粘性、剛性、共振周波数、減衰中心周波数、減衰率、減衰周波数幅、時定数、カットオフ周波数のいずれか1つ又は組み合わせである。
サーボモータ400は、例えば、工作機械、ロボット、産業機械に含まれる。制御装置10は、工作機械、ロボット、産業機械等に含まれてもよい。サーボモータ400は検出位置又は/及び検出速度をフィードバック情報としてサーボ制御装置300へ出力する。
本実施例は、機械学習装置110がサーボ制御装置310に含まれるフィルタの係数を学習し、出力装置210がフィルタの周波数応答の推移を表示部に表示する例である。
図2は、第1実施例の制御装置の全体構成及びサーボ制御装置の構成を示すブロック図である。
制御装置11は、機械学習装置110、出力装置210、サーボ制御装置310、及びサーボモータ410を備えている。図2に示す、機械学習装置110、出力装置210、サーボ制御装置310及びサーボモータ410は図1の機械学習装置100、出力装置200、サーボ制御装置300及びサーボモータ400に対応している。
なお、機械学習装置110と出力装置210のうちの一つ又は全部はサーボ制御装置310内に設けてもよい。
速度制御部312は、速度偏差に積分ゲインK1vを乗じて積分した値と、速度偏差に比例ゲインK2vを乗じた値とを加算して、トルク指令としてフィルタ313に出力する。
数式1(以下に数1として示す)は、フィルタ313の伝達関数G(s)を示す。制御パラメータは係数a0,a1,a2,b0,b1,b2となる。フィルタがノッチフィルタであるときは、b0=a0,b2=a2=1となる。
サーボモータ410の回転角度位置は、サーボモータ410に設けられたロータリーエンコーダ(図示せず)によって検出され、速度検出値は速度フィードバックとして減算器311に入力される。
以上のようにサーボ制御装置310は構成されるが、フィルタの最適なパラメータを機械学習し、当該パラメータの周波数応答を出力するために、制御装置11は、機械学習装置110、及び出力装置210を更に備える。
機械学習装置110に含まれる各機能ブロックの説明に先立って、まず強化学習の基本的な仕組みについて説明する。エージェント(本実施形態における機械学習装置110に相当)は、環境の状態を観測し、ある行動を選択し、当該行動に基づいて環境が変化する。環境の変化に伴って、何らかの報酬が与えられ、エージェントはより良い行動の選択(意思決定)を学習する。
教師あり学習が、完全な正解を示すのに対して、強化学習における報酬は、環境の一部の変化に基づく断片的な値であることが多い。このため、エージェントは、将来にわたっての報酬の合計を最大にするように行動を選択するように学習する。
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に示すように、機械学習装置110は、状態情報取得部111、学習部112、行動情報出力部113、価値関数記憶部114、及び最適化行動情報出力部115を備える。学習部112は報酬出力部1121、価値関数更新部1122、及び行動情報生成部1123を備える。
状態情報取得部111は、取得した状態情報Sを学習部112に対して出力する。
なお、係数a0,a1,b1は予め操作者が工作機械を調整している場合には、調整済の値を初期値として機械学習してもよい。
報酬出力部1121は、フィルタ313の伝達関数の各係数a0,a1,b1を修正した場合において測定した入出力ゲインGsを、予め設定した規範モデルの各周波数ごとの入出力ゲインGbと比較する。報酬出力部1121は、測定した入出力ゲインGsが規範モデルの入出力ゲインGbよりも大きい場合には、負の報酬を与える。一方、報酬出力部1121は、測定した入出力ゲインGsが規範モデルの入出力ゲインGb以下である場合には、位相遅れが小さくなるときは正の報酬を与え、位相遅れが大きくなるときは負の報酬を与え、位相遅れが変わらないときはゼロの報酬を与える。
報酬出力部1121は、入出力ゲインの規範モデルを保存している。規範モデルは、共振のない理想的な特性を有するサーボ制御装置のモデルである。規範モデルは、例えば、図6に示すモデルのイナーシャJa、トルク定数Kt、比例ゲインKp、積分ゲインKI、微分ゲインKDから計算で求めることができる。イナーシャJaはモータイナーシャと機械イナーシャとの加算値である。
図7は、規範モデルのサーボ制御装置と、学習前及び学習後のサーボ制御装置310との入出力ゲインの周波数特性を示す特性図である。図7の特性図に示すように、規範モデルは、一定の入出力ゲイン以上、例えば、−20dB以上での理想的な入出力ゲインとなる周波数領域である領域Aと、一定の入出力ゲイン未満となる周波数領域である領域Bとを備えている。図7の領域Aにおいて、規範モデルの理想的な入出力ゲインを曲線MC1(太線)で示す。図7の領域Bにおいて、規範モデルの理想的な仮想入出力ゲインを曲線MC11(破線の太線)で示し、規範モデルの入出力ゲインを一定値として直線MC12(太線)で示す。図7の領域A及びBにおいて、学習前及び学習後のサーボ制御部との入出力ゲインの曲線をそれぞれ曲線RC1、RC2で示す。
入出力ゲインが十分小さくなる周波数を超える領域Bでは、学習前の入出力ゲインの曲線RC1が規範モデルの理想的な仮想入出力ゲインの曲線MC11を超えたとしても安定性への影響が小さくなる。そのため領域Bでは、上述したように、規範モデルの入出力ゲインは理想的なゲイン特性の曲線MC11ではなく、一定値の入出力ゲイン(例えば、−20dB)の直線MC12を用いる。しかし、学習前の測定した入出力ゲインの曲線RC1が一定値の入出力ゲインの直線MC12を超えた場合には不安定になる可能性があるため、報酬として第1の負の値を与える。
以下の説明において、状態情報Sに係る状態変数である位相遅れをD(S)、行動情報A(フィルタ313の伝達関数の各係数a0,a1,b1の修正)により状態Sから変化した状態S´に係る状態変数である位相遅れをD(S´)で示す。
状態Sから状態S´となった場合に、位相遅れが180度となる周波数が大きくなるか、小さくなるか、又は同じになるかで報酬を決める。ここでは、位相遅れが180度の場合を取り上げたが、特に180度に限定されず他の値であってもよい。
例えば、位相遅れが図4に示した位相線図で示されたときに、状態Sから状態S´となった場合に、位相遅れが180度となる周波数が小さくなるように(図4のX2方向に)曲線が変わると、位相遅れは大きくなる。一方、状態Sから状態S´となった場合に、位相遅れが180度となる周波数が大きくなるように(図4のX1方向に)曲線が変わると、位相遅れが小さくなる。
一方で、状態Sから状態S´となった場合に、位相遅れが180度となる周波数が大きくなったとき、位相遅れD(S)>位相遅れD(S´)と定義して、報酬出力部1121は、報酬の値を正の値とする。
また、状態Sから状態S´となった場合に、位相遅れが180度となる周波数が変わらないとき、位相遅れD(S)=位相遅れD(S´)と定義して、報酬出力部1121は、報酬の値をゼロの値とする。
価値関数Qの更新は、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。
オンライン学習は、或る行動Aを現在の状態Sに適用することにより、状態Sが新たな状態S´に遷移する都度、即座に価値関数Qの更新を行う学習方法である。また、バッチ学習は、或る行動Aを現在の状態Sに適用することにより、状態Sが新たな状態S´に遷移することを繰り返すことにより、学習用のデータを収集し、収集した全ての学習用データを用いて、価値関数Qの更新を行う学習方法である。更に、ミニバッチ学習は、オンライン学習と、バッチ学習の中間的な、ある程度学習用データが溜まるたびに価値関数Qの更新を行う学習方法である。
より具体的には、行動情報生成部1123は、例えば、状態Sに含まれるフィルタ313の伝達関数の各係数a0,a1,b1に対して行動Aに含まれる、フィルタ313の伝達関数の各係数a0,a1,b1をインクレメンタルに加算又は減算させる。
より具体的には、最適化行動情報出力部115は、価値関数記憶部114が記憶している価値関数Qを取得する。この価値関数Qは、上述したように価値関数更新部1122がQ学習を行うことにより更新したものである。そして、最適化行動情報出力部115は、価値関数Qに基づいて、行動情報を生成し、生成した行動情報をフィルタ313に対して出力する。この最適化行動情報には、行動情報出力部113がQ学習の過程において出力する行動情報と同様に、フィルタ313の伝達関数の各係数a0,a1,b1を修正する情報が含まれる。
機械学習装置110は、以上の動作で、フィルタ313の伝達関数の各係数a0,a1,b1の最適化を行い、機械端の振動を抑制するように動作することができる。
また、上述した実施形態では、サーボモータ410により駆動される機械に1つの共振点がある場合について説明したが、機械に複数の共振点がある場合もある。機械に複数の共振点がある場合には、各共振点に対応するようにフィルタを複数個設けて、直列に接続することで、すべての共振を減衰させることができる。機械学習装置は、複数のフィルタのそれぞれの係数a0,a1,b1について、順次、共振点を減衰させる最適値を機械学習により求めていく。
図8は、本発明の第1実施例の制御装置に含まれる出力装置の一構成例を示すブロック図である。図8に示すように、出力装置210は、情報取得部211、情報出力部212、作図部213、操作部214、制御部215、記憶部216、情報取得部217、情報出力部218、表示部219、及び演算部220を有する。
情報取得部211は、機械学習装置110から学習パラメータを取得する情報取得部となる。制御部215及び表示部219は、学習パラメータの物理量を出力する出力部となる。出力部の表示部219は液晶表示装置、プリンター等を用いることができる。出力は記憶部216に記憶することも含まれ、その場合、出力部は制御部215及び記憶部216となる。
出力装置210は、機械学習装置110の機械学習中又は機械学習後の制御パラメータ(学習パラメータ)の物理量及びこの物理量を用いて求められた周波数応答、例えば、フィルタの伝達関数G(s)の、中心周波数(減衰中心周波数ともいう)、帯域幅、及び減衰係数、並びにフィルタの周波数応答を図で示す出力機能を備えている。
また、出力装置210は、サーボ制御装置310と機械学習装置との間の情報(例えば、入出力ゲインと位相遅れ)、機械学習装置1100とサーボ制御装置310との間の情報(例えば、フィルタ313の係数の修正情報)の中継、サーボ制御装置310に対する制御(例えば、フィルタ313の微調整)、機械学習装置100の動作の制御(例えば、機械学習装置に対する学習プログラム起動指示)を行う調整機能を備えている。これらの情報の中継及び動作の制御は情報取得部211,217及び情報出力部212,218を介して行われる。
図9Aは、機械学習中の評価関数値及び評価関数値の最小値の推移を示す特性図及び学習中の制御パラメータの値を表示する場合の表示画面の一例を示す図である。図9Bは機械学習中に、機械学習の進捗状況に合わせて、状態Sに係る制御パラメータの物理量を、表示部219に表示する場合の表示画面の一例を示す図である。
図9Aの示すように、機械学習中の評価関数値及び評価関数値の最小値及び数式1の伝達関数の係数a0,a1,a2,b0,b1,b2を表示部219の表示画面に表示しても、ユーザは評価関数及び制御パラメータの物理的意味が分からず、サーボ制御装置の特性の学習経過及び結果を理解するのは難しい。そこで、本実施例では以下に説明するように、制御パラメータを操作者等のユーザが分かりやすい情報に変えて出力する。第2実施例から第4実施例でも同様に、制御パラメータを操作者等のユーザが分かりやすい情報に変えて出力する。図9Aに示した表示画面の、例えば、「変換」のボタンを押下することで、図9Bに示す表示画面を表示することでユーザが分かりやすい情報を出力するようにしてもよい。
図9Bに示すように、表示部219の表示画面Pは例えば調整フローの欄P1に、軸選択、パラメータ確認、プログラム確認・編集、プログラム起動、機械学習中、終了判定の選択項目を表示する。
また、表示画面Pは、例えばフィルタ等の調整対象、データ採取中等のステータス(状態)、予め設定された当該機械学習終了までの試行回数(以下「最大試行回数」ともいう)に対する現在までの試行回数の累計を示す試行回数、及び学習の中断を選択するボタンを示す欄P2を表示する。
また、表示画面Pは、フィルタの伝達関数G(s)、フィルタの伝達関数G(s)の中心周波数fc、帯域幅fw、及び減衰係数Rの表、並びに現在のフィルタの周波数応答特性及び学習中で最も優れたフィルタの周波数応答特性を示す図を含む欄P3を表示する。さらに、中心周波数(減衰中心周波数)fcの学習ステップに対する推移を示す図を含む欄P4を表示する。なお、表示画面Pに表示する情報は一例であって、これらの情報の一部、例えば、フィルタの周波数応答特性及び学習中で最も優れたフィルタの周波数応答特性を示す図のみを表示してもよく、また、その他の情報を追加してもよい。
係数a0,a1,b1から中心周波数fc、帯域幅fw、減衰係数(ダンピング)Rを求めるには、数式3から中心角周波数ωn、比帯域ζ、減衰係数Rを求め、さらにωn=2πfc、ζ=fw/fcから、中心周波数fc、帯域幅fwを求める。
演算部220が中心周波数fc、帯域幅fw、減衰係数Rを算出し、数式3の右式の、中心角周波数ωn、比帯域ζ、減衰係数Rを含む伝達関数を求めると、制御部215に制御を移す。
なお、ここではフィルタがノッチフィルタである場合について説明しているが、フィルタが数式1で示すような、一般式の形をとる場合でも、フィルタはゲインの谷を持つため、中心周波数fc、帯域幅fw、減衰係数Rを求めることができる。また、一般にどのように高い次数のフィルタでも同様に、一つ以上の減衰する中心周波数fc、帯域幅fw、減衰係数Rを求めることができる。
作図部213は、試行回数と関連づけられた状態Sに係る、係数a0,a1,b1を含む伝達関数、若しくは中心角周波数ωn、比帯域ζ、減衰係数R(第1の物理量となる)を含む伝達関数又は係数a0,a1,b1から求められた中心角周波数ωn、比帯域ζ、減衰係数R(第2の物理量となる)を含む伝達関数からフィルタ313の周波数応答を求めて、周波数−ゲイン特性図を作成し、その周波数−ゲイン特性図に学習中で最も優れたフィルタの周波数応答特性を加える処理を行い、最も優れたフィルタの周波数応答特性を加えた周波数−ゲイン特性図の画像情報を作成し、さらに、中心周波数(減衰中心周波数)fcの学習ステップに対する推移を示す図を作成し、その図の画像情報を作成し、制御部215に制御を移す。フィルタ313の周波数応答は、数式3の右式の伝達関数から求めることができる。伝達関数から周波数応答を解析できるソフトウェアは公知であって、例えば、
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
等を用いることができる。
制御部215は、周波数−ゲイン特性図(周波数応答特性となる)、中心周波数fcと帯域幅fwと減衰係数(ダンピング)Rと(第2の物理量となる)からなる表、フィルタの伝達関数G(s)、中心周波数(減衰中心周波数)fcの学習ステップに対する推移を示す図を図9Bに示すように表示する。なお、ここでは第2の物理量となる中心周波数fcと帯域幅fwと減衰係数(ダンピング)R、及び周波数応答特性となる周波数−ゲイン特性図の両方を示しているが、いずれか一方を表示してもよい。周波数応答特性となる周波数−ゲイン特性図に変えて又は周波数応答特性となる周波数−ゲイン特性図とともに時間応答特性となる時間−ゲイン特性図を表示してもよい。この点は後述する第2実施例〜第4実施例においても同様である。
また制御部215は、例えばノッチフィルタが調整対象であることを示す情報に基づいて、図9Bに示す表示画面Pの欄P2の調整対象項目にノッチフィルタと表示し、試行回数が最大試行回数に達していない場合は表示画面のステータス項目にデータ採取中と表示する。さらに制御部215は、表示画面の試行回数項目に、最大試行回数に対する試行回数の比を表示する。
また、上記説明においては、制御部215は、機械学習装置110から受信した情報を、記憶部216に記憶するとともにリアルタイムに、試行回数で関連付けられる状態Sに係るフィルタ313の周波数応答に関する情報等を表示部219に表示するものとしたが、これに限られない。
例えば、リアルタイムで表示しない実施例としては以下の例がある。
変形例1:操作者(オペレータ)が表示指示をしたときに、図9Bに記載の情報を表示する。
変形例2:(学習開始時からの)試行回数の累計が、予め設定した所定の回数に達したときに、図9Bに記載の情報を表示する。
変形例3:機械学習の中断時又は終了時に図9Bに記載の情報を表示する。
図10は、機械学習の開始から機械学習終了までの、出力装置を中心とした制御装置の動作を示すフロー図である。
ステップS31において、出力装置210は、操作者が図9Bに示す、表示部219の表示画面の「調整フロー」の欄P1の「プログラム起動」をマウス、キーボード等の操作部214で選択すると、制御部215は、学習プログラム起動指示を、情報出力部212を介して機械学習装置110に出力する。そして、サーボ制御装置310に対して、学習プログラム起動指示を機械学習装置110に出力したことを通知する学習プログラム起動指示通知を出力する。
ステップS32において、出力装置210は、サーボ制御装置310に正弦波を出力する上位装置に正弦波出力指示を行う。ステップS32はステップ31の前、ステップ31と同時に行われてもよい。上位装置は正弦波出力指示を受けると、周波数を変化させた正弦波信号をサーボ制御装置310に出力する。
ステップS21において、機械学習装置110は、学習プログラム起動指示を受けると、機械学習を開始する。
ステップS33で、出力装置210は、上述した出力機能により、図9Bに示す表示画面の「調整フロー」の欄P1の「機械学習」が選択されると、機械学習装置110における機械学習中のフィルタ313の伝達関数の係数の修正情報を操作者等のユーザが分かりやすい物理量(中心周波数fc、帯域幅fw、減衰係数R)、中心周波数(減衰中心周波数)fcの学習ステップに対する推移を示す図及び周波数応答特性図に変えて表示部219に出力する。出力装置210は、ステップS33で、又はステップS33の後若しくは前に、サーボ制御装置310にフィルタ313の伝達関数の係数の修正情報を送る。ステップS11、ステップS21、ステップS33は機械学習の終了まで繰り返し行われる。
ステップS35において、機械学習装置210は終了指示を受けると機械学習を終了する。
以上、第1実施形態の出力装置及び制御装置の第1実施例について説明したが、次に第2実施例について説明する。
本実施例は、機械学習装置110がサーボ制御装置320に含まれる速度フィードフォワード処理部の係数を学習し、出力装置210が速度フィードフォワード処理部の周波数応答と位置偏差の推移を表示部に表示する例である。
図11は、本発明の第2実施例の制御装置の全体構成及びサーボ制御装置の構成を示すブロック図である。本実施例の制御装置は図1に示した制御装置と比べて、サーボ制御装置の構成及び機械学習装置、出力装置の動作が異なる。本実施例の機械学習装置、出力装置の構成は、図5及び図8を用いて説明した、第1実施例の機械学習装置、出力装置の構成と同じである。
減算器321は位置指令値と位置フィードバックされた検出位置との差を求め、その差を位置偏差として位置制御部322及び出力装置210に出力する。
位置指令は、加工プログラムにより指定される加工形状となるように、送り速度が設定される。
以上のように、サーボ制御装置320は構成される。
ここで、学習時の加工プログラムにより指定される加工形状は、例えば、八角形、又は八角形の角が一つ置きに円弧に置き換えられた形等である。なお、学習時の加工プログラムにより指定される加工形状はこれらの加工形状に限定されず、他の加工形状であってもよい。
角の位置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を過ぎると回転方向が徐々に増加していく。
本実施形態の機械学習装置110は、機械学習の一例として、速度フィードフォワード処理部328のIIRフィルタ3282の伝達関数の係数の最適化に係る強化学習を行うものとして説明する。なお、本発明における機械学習は強化学習に限定されず、他の機械学習(例えば教師あり学習)を行う場合にも適用できる。
具体的には、本発明の実施形態に係る機械学習装置110は、伝達関数VFF(z)の零点及び極を極座標で表した半径rと角度θとをそれぞれ所定の範囲内を探索して学習することで、IIRフィルタ3282の伝達関数VFF(z)の係数を設定する。なお、極は伝達関数VFF(z)が無限大になるzの値、零点は、伝達関数VFF(z)が0になるzの値である。
このため、伝達関数VFF(z)の分子における係数を次のように変形する。
b0+b1z−1+b2z−2=b0(1+(b1/b0)z−1+(b2/b0)z−2)
以下、特に断らない限り(b1/b0)及び(b2/b0)をそれぞれb1´及びb2´で表して説明する。
そして、機械学習装置110は、位置偏差が最小になるような半径rと角度θを学習して、伝達関数VFF(z)の係数a1、a2、b1´及びb2´を設定する。
係数b0は例えば半径r及び角度θをそれぞれ最適な値r0及びθ0に設定した後、機械学習して求めてもよい。係数b0は角度θと同時に学習してもよい。また、半径rと同時に学習するようにしてもよい。
機械学習装置110は、極及び零点を求めるために、数式5の分母及び分子にz2を掛けて、数式6(以下に数6として示す)を求める。
振動を抑制するためには零点が重要であり、機械学習装置110は、まず、極を固定して、分子(z2+b1´z+b2´)において
z=reiθ及びその共役複素数z*=re-iθを零点(角度θは所定の範囲内、0≦r≦1)とした場合に算出される係数b1´(=−reiθ−re-iθ)及びb2´(=r2)を伝達関数VFF(z)の係数として設定することで、極座標で零点reiθを探索して最適な係数b1´、b2´の値を学習する。半径rは減衰率に依存し、角度θは振動を抑える周波数に依存している。その後、零点を最適な値に固定して、係数b0の値を学習してもよい。次に、伝達関数VFF(z)の極を極座標で表し、極座標で表された極の値reiθを、前述した零点と同様の方法で探索する。そうすることで、伝達関数VFF(z)の分母の最適な係数a1、a2の値を学習することができる。
なお、極を固定して伝達関数VFF(z)の分子における係数を学習する場合、高周波側のゲインを抑えることができれば十分であり、例えば、極は2次のローパスフィルタ相当とする。例えば、2次のローパスフィルタの伝達関数は数式7(以下に数7として示す)で示される。ωはフィルタのピークゲイン周波数である。
なお、z領域における伝達関数は上記のs領域の伝達関数を双一次変換を用いて求めるものとする。
機械学習装置110は、求めた係数b1´及びb2´の調整情報を行動AとしてIIRフィルタ3282に送り、IIRフィルタ3282の伝達関数VFF(z)の分子の係数b1´及びb2´を設定する。係数b0は上記のように例えば1に設定されている。機械学習装置110が角度θの探索を行う学習により価値Qの値が最大となるような、好適な角度θ0が決定されると、その後に、角度θをその角度θ0に固定して半径rを可変とし、IIRフィルタ3282の伝達関数VFF(z)の分子の係数b1´(=−rejθ−re-jθ)及びb2´(=r2)を設定する。半径rの探索を行う学習により、価値Qの値が最大となるような、最適な半径r0が決定される。角度θ0及び半径r0により係数b1´及びb2´が設定され、その後、b0について学習することで、伝達関数VFF(z)の分子の係数b0、b1´及びb2´が決定される。
なお、半径rと角度θと係数b0は同時に学習してもよいが、別々に学習することで、機械学習量を低減し、機械学習の収束時間を短縮化することができる。
状態情報取得部111は、サーボ制御装置320における速度フィードフォワード処理部328のIIRフィルタ3282の伝達関数VFF(z)の係数a1、a2、b0〜b2の値に基づいて、学習時の加工プログラムを実行することで取得されるサーボ制御装置320の位置指令及び位置偏差情報を含む指令、フィードバック等のサーボ状態を含む状態Sを、サーボ制御装置320から取得する。この状態情報Sは、Q学習における、環境状態Sに相当する。
状態情報取得部111は、取得した状態情報Sを学習部112に対して出力する。また、状態情報取得部111は、零点及び極を極座標で表した角度θ、半径rと、これに対応する係数a1、a2、b1´、b2´と、を行動情報生成部1123から取得して記憶しており、サーボ制御装置320から取得した係数a1、a2、b1´、b2´に対応する零点及び極を極座標で表した角度θ、半径rも合わせて学習部112に対して出力する。
また、係数a1、a2、b0〜b2及び係数c1、c2、d0〜d2は予め操作者が工作機械を調整している場合には、調整済の伝達関数の零点及び極を極座標で表した半径rと角度θの値を初期値として機械学習してもよい。
評価関数fとしては、例えば、
位置偏差の絶対値の積算値を算出する関数
∫|e|dt
位置偏差の絶対値に時間の重み付けをして積算値を算出する関数
∫t|e|dt
位置偏差の絶対値の2n(nは自然数)乗の積算値を算出する関数
∫e2ndt(nは自然数)
位置偏差の絶対値の最大値を算出する関数
Max{|e|}
等を適用することができる。
なお、行動情報Aにより修正された状態情報S´に係る修正後の速度フィードフォワード処理部328に基づいて動作したサーボ制御装置320の位置偏差の値f(PD(S´))が、行動情報Aにより修正される前の状態情報Sに係る修正前の速度フィードフォワード処理部328に基づいて動作したサーボ制御装置320の位置偏差の値f(PD(S))と等しい場合は、報酬出力部1121は、報酬の値をゼロとする。
価値関数Qの更新は、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。
より具体的には、行動情報生成部1123は、例えば、極座標で零点を探索するために、数式6の伝達関数VFF(z)の係数a1、a2、b0が固定された状態で、分子(z2+b1´z+b2´)においてzの零点をreiθとして、状態情報取得部111から受けた半径rを固定した状態で、状態情報取得部111から受けた角度θを図14の探索範囲内で増加又は減少させる。そして、固定した半径r及び増加又は減少させた角度θにより、零点とするz及びその共役複素数z*を設定し、当該零点に基づいて係数b1´、b2´を新たに求める。
より具体的には、最適化行動情報出力部115は、価値関数記憶部114が記憶している価値関数Qを取得する。この価値関数Qは、上述したように価値関数更新部1122がQ学習を行うことにより更新したものである。そして、最適化行動情報出力部115は、価値関数Qに基づいて、行動情報を生成し、生成した行動情報をサーボ制御装置320(速度フィードフォワード処理部328のIIRフィルタ3282)に対して出力する。この最適化行動情報には、行動情報出力部113がQ学習の過程において出力する行動情報と同様に、角度θ、半径r及び係数b0の学習によって、IIRフィルタ3282の伝達関数VFF(z)の係数を修正する情報が含まれる。
機械学習装置110は、以上の動作で、IIRフィルタ3282の伝達関数VFF(z)の分子の係数の最適化を行った後に、その最適化と同様に、角度θ及び半径rの学習によって、IIRフィルタ3282の伝達関数VFF(z)の分母の係数の最適化を行う。
以上のように、本発明に係る機械学習装置110を利用することで、サーボ制御装置320の速度フィードフォワード処理部328のパラメータ調整を簡易化することができる。
しかし、報酬の値の算出にあたっては位置偏差以外の他の要素を加えてもよい。
例えば、機械学習装置110に、減算器102の出力となる位置偏差の他に、加算器323の出力となる位置フォワード制御された速度指令、位置フォワード制御された速度指令と速度フィードバックとの差、及び加算器326の出力となる位置フォワード制御されたトルク指令等の少なくとも1つが加えられてもよい。
伝達関数VFF(z)の零点及び極から中心周波数fc、帯域幅fw、減衰係数(ダンピング)Rを求めることができ、演算部220が中心周波数fc、帯域幅fw、減衰係数Rを算出し、中心周波数fc、帯域幅fw、減衰係数Rを含む伝達関数VFF(z)を求めると、制御部215に制御を移す。
作図部213は、VFF(z)に関する情報と位置偏差に関する情報とを結合した画像情報を作成し、制御部215に制御を移す。
また制御部215は、例えば速度フィードフォワード処理部が調整対象であることを示す情報に基づいて、図9Bに示すように、表示画面の調整対象項目に速度フィードフォワード処理部と表示し、試行回数が最大試行回数に達していない場合は表示画面のステータス欄にデータ採取中と表示する。さらに制御部215は、表示画面の試行回数欄に、最大試行回数に対する試行回数の比を表示する。
本実施例における、機械学習の開始から機械学習終了指示までの、出力装置を中心とした制御装置の動作を示すフローはステップS31からS35までは、図10に示したフローと、状態情報が入力ゲイン、位相遅れ、ノッチフィルタの係数でなく、位置指令、位置偏差、速度フィードフォワード処理部の係数であること、行動情報が速度フィードフォワード処理部の係数の修正情報であることを除いて同様である。
図15において、操作者が「調整」のボタンを選択すると、中心周波数fc、帯域幅fw、減衰係数(ダンピング)Rの表のそれぞれの値は変更可能となる。図15の位置偏差の時間応答特性図、周波数−位置偏差特性図を見て、操作者が表の中心周波数fcを480Hzから500Hzに変える。
すると、図16のステップS36において、制御部215は、調整と判断し、ステップS37において、サーボ制御装置310にIIRフィルタ3282の修正パラメータ(係数a1、a2、b0〜b2の変更値)を含む修正指示を出力する。サーボ制御装置310は、ステップS11に戻り、変更された係数a1、a2、b0〜b2で工作機械を駆動し、位置偏差を出力装置210に出力する。
ステップS38において、出力装置210は図17に示すように、変更された中心周波数fcに基づいて、IIRフィルタ3282の周波数応答を求めて、周波数−ゲイン特性図を表示部219の表示画面に表示し、また位置偏差の時間応答特性、周波数−位置偏差特性を示す時間応答特性図、周波数−位置偏差特性図を表示部219の表示画面に表示する。
ステップS40において、出力装置210は図17に示すように、機械学習装置から送られる制御パラメータに基づいて、IIRフィルタ3282の周波数応答を求めて、周波数−ゲイン特性図を表示部219の表示画面に表示し、また位置偏差の時間応答特性、周波数−位置偏差特性を示す時間応答特性図、周波数−位置偏差特性図を表示部219の表示画面に表示する。
以上、第1実施形態の出力装置及び制御装置の第2実施例について説明したが、次に第3実施例について説明する。
本実施例は、第2実施例の制御装置の速度フィードフォワード処理部の係数をユーザが理解できるように物理的意味を持つ値、具体的には、図18の示す、数式モデルとなるモータ逆特性、ノッチフィルタ、及びローパスフィルタの係数、具体的には、慣性J、中心角周波数(ノッチ周波数)ωn、比帯域(ノッチ減衰)、減衰係数(ノッチ深さ)R、時定数τに変換して出力する。本実施例における出力装置の構成は図8に示した出力装置210の構成と同じである。第2実施例では、極座標を用いて学習を行ったが本実施例では第1実施例と同様に極座標を用いずに学習を行う。
a3=(2ζωnτ2+2τ)、a2=(ωn 2τ2+4ζωnτ+1)、a1=(2ζωn 2+2ζωn)、a0=ωn 2に相当する。そのとき、減衰中心周波数ωnは、
以上、第1実施形態の出力装置及び制御装置の第3実施例について説明したが、次に第4実施例について説明する。
第1実施例〜第3実施例では、サーボ制御装置の構成要素の伝達関数が、数1、数5及び数8で示されるように特性される場合について説明したが、サーボ制御装置の構成要素の伝達関数が例えば、数式10(nは自然数)で示されるような、一般式の伝達関数である場合にも、本実施形態は適用できる。サーボ制御装置の構成要素は、例えば、速度フィードフォワード処理部、位置フィードフォワード処理部、又は電流フィードフォワード処理部である。
例えば、位置偏差が減少するように機械学習装置110が最適な係数ai、bjを機械学習で求める。
周波数応答を求める場合、伝達関数から周波数応答を解析できる公知のソフトウェアを用いて、求めた係数ai、bjを含む伝達関数F(s)の周波数応答を求め、出力装置210は周波数応答特性を表示部219の表示画面に表示することができる。
伝達関数から周波数応答を解析できるソフトウェアとしては、例えば、第1実施例で説明した、以下のソフトウェアを用いることができる。
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
以上、本発明の第1実施形態の出力装置及び制御装置の第1実施例〜第4実施例について説明したが、次に本発明の第2実施形態及び第3の実施形態について説明する。
第1の実施形態では、出力装置200はサーボ制御装置300と機械学習装置100とに接続され、機械学習装置100とサーボ制御装置300との間の情報の中継、サーボ制御装置300と機械学習装置100との動作の制御を行っていた。
本実施形態では、出力装置が機械学習装置のみに接続される場合について説明する。
図19は、本発明の第2実施形態の制御装置の一構成例を示すブロック図である。制御装置10Aは、機械学習装置100、出力装置200A、サーボ制御装置300、及びサーボモータ400を備えている。
出力装置200Aは、図8に示す出力装置200と比べて、情報取得部217及び情報出力部218を備えていない。
第1の実施形態では、出力装置200はサーボ制御装置300と機械学習装置100とに接続されていたが、本実施形態では、調整装置が機械学習装置100とサーボ制御装置300とに接続され、出力装置が調整装置に接続される場合について説明する。
図20は、本発明の第3実施形態の制御装置の一構成例を示すブロック図である。制御装置10Bは、機械学習装置100、出力装置200A、サーボ制御装置300及び調整装置500を備えている。図20に示した出力装置200Aは、図19に示した出力装置200Aの構成と同一であるが、情報取得部211と情報出力部212が機械学習装置100でなく、調整装置700に接続されている。
調整装置500は、図8の出力装置200の作図部213、操作部214、表示部219及び演算部220が除かれた構成となっている。
そうすることで、第1実施形態と比較して出力装置200の機能が、出力装置200Aと調整装置500とに分離されるので、出力装置200Aの動作が少なくなり、装置構成が簡易化できる。
例えば、図9Bではノッチフィルタの周波数応答、図15及び図16ではIIRフィルタの周波数応答等の周波数応答特性を示しているが、ノッチフィルタの時間応答、IIRフィルタの時間応答等の時間応答特性を示してもよい。時間応答とは、例えば、ステップ状の入力を与えたときのステップ応答、インパルス状の入力を与えたときのインパルス応答、入力が無変化の状態から一定速度で変化する状態に移行したときのランプ応答である。ステップ応答、インパルス応答、及びランプ応答は、中心角周波数ωn、比帯域ζ、減衰係数Rを含む伝達関数を含む伝達関数から求めることができる。
上述した実施形態では、機械学習装置100、出力装置200又は200A、及びサーボ制御装置300を制御装置として構成する例と、さらに出力装置200を出力装置200Aと調整装置500とに分離して制御装置に設けて構成した例について説明した。これらの例では、機械学習装置100、出力装置200又は200A、サーボ制御装置300、調整装置500とは別体の装置により構成しているが、これらの装置の一つを他の装置と一体に構成してもよい。例えば、出力装置200又は200Aの機能の一部又は全部を機械学習装置100、又はサーボ制御装置300により実現するようにしてもよい。
また、出力装置200又は200Aを、機械学習装置100、及びサーボ制御装置3で構成される制御装置の外部に設けてもよい。
図21は他の構成の制御装置を示すブロック図である。制御装置10Cは、図21に示すように、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は図8に示した出力装置210又は図19に示した200Aに対応している。n台のサーボ制御装置300−1〜300−nのそれぞれは図2又は図11に示したサーボ制御装置300に対応している。図20に示した出力装置200A及び調整装置500は出力装置200−1〜200−nに対応している。
その際、機械学習装置100−1の各機能を、適宜複数のサーバに分散する、分散処理システムとしてもよい。また、クラウド上で仮想サーバ機能等を利用して、機械学習装置100−1の各機能を実現してもよい。
また、複数の同じ型名、同一仕様、又は同一シリーズのサーボ制御装置300−1〜300−nとそれぞれ対応する複数の機械学習装置100−1〜100−nがあった場合に、各機械学習装置100−1〜100−nにおける学習結果を共有するように構成するようにしてもよい。そうすることで、より最適なモデルを構築することが可能となる。
100、110 機械学習装置
200、200A、210 出力装置
211 情報取得部
212 情報出力部
213 作図部
214 操作部
215 制御部
216 記憶部
217 情報取得部
218 情報出力部
219 表示部
220 演算部
300、310 サーボ制御装置
400、410 サーボモータ
500 調整装置
600 ネットワーク
Claims (11)
- 工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置に対して機械学習を行う機械学習装置から、学習中又は学習された、前記サーボ制御装置の構成要素のパラメータ又は第1の物理量を取得する情報取得部と、
取得した前記第1の物理量と取得した前記パラメータから求めた第2の物理量とのいずれか1つの物理量、前記サーボ制御装置の構成要素の時間応答特性、及び前記サーボ制御装置の構成要素の周波数応答特性の3つのうちの少なくとも1つを出力する出力部と、を備え、
前記時間応答特性及び前記周波数応答特性は、前記パラメータ、前記第1の物理量又は前記第2の物理量を用いて求め、
前記第1及び第2の物理量は、イナーシャ、質量、粘性、剛性、共振周波数、減衰中心周波数、減衰率、減衰周波数幅、時定数、カットオフ周波数のいずれか1つ又は組み合わせである出力装置。 - 前記出力部は、前記第1の物理量、前記第2の物理量、前記時間応答特性又は前記周波数応答特性を表示画面に表示する表示部を含む請求項1に記載の出力装置。
- ユーザの指示に基づいて、前記第1の物理量、前記第2の物理量、前記時間応答特性又は前記周波数応答特性に基づく前記サーボ制御装置の構成要素のパラメータ又は前記第1の物理量の調整指示を、前記サーボ制御装置に対して行う請求項1又は2に記載の出力装置。
- ユーザの指示に基づいて、前記第1の物理量、前記第2の物理量、前記時間応答特性又は前記周波数応答特性に基づく前記サーボ制御装置の構成要素のパラメータ又は前記第1の物理量の機械学習を、学習範囲を変更又は選択して行う機械学習指示を、前記機械学習装置に対して行う請求項1から3のいずれか1項に記載の出力装置。
- 前記機械学習装置の学習で用いる評価関数値を出力する請求項1から請求項4のいずれか1項に記載の出力装置。
- 前記サーボ制御装置から出力される位置偏差に関する情報を出力する、請求項1から請求項5のいずれか1項に記載の出力装置。
- 前記サーボ制御装置の構成要素のパラメータは、数式モデル又はフィルタのパラメータである請求項1から請求項6のいずれか1項に記載の出力装置。
- 前記数式モデル又は前記フィルタは速度フィードフォワード処理部又は位置フィードフォワード処理部に含まれ、前記パラメータはフィルタの伝達関数の係数を含む、請求項7に記載の出力装置。
- 請求項1から8のいずれか1項に記載の出力装置と、
工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置と、
サーボ制御装置に対して機械学習を行う機械学習装置と、
を備えた制御装置。 - 前記出力装置は、前記サーボ制御装置と前記機械学習装置のうちの一つに含まれる、請求項9に記載の制御装置。
- 工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置に対する機械学習装置で機械学習された、出力装置のパラメータの出力方法において、
前記機械学習装置から、学習中又は学習された、前記サーボ制御装置の構成要素のパラメータ又は第1の物理量を取得し、
取得した前記第1の物理量と取得した前記パラメータから求めた第2の物理量とのいずれか1つの物理量、前記サーボ制御装置の構成要素の時間応答特性、及び前記サーボ制御装置の構成要素の周波数応答特性の3つのうちの少なくとも1つを出力し、
前記時間応答特性及び前記周波数応答特性は、前記パラメータ、前記第1の物理量又は前記第2の物理量を用いて求め、
前記第1及び第2の物理量は、イナーシャ、質量、粘性、剛性、共振周波数、減衰中心周波数、減衰率、減衰周波数幅、時定数、カットオフ周波数のいずれか1つ又は組み合わせである出力装置の学習パラメータの出力方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018200820A JP6860540B2 (ja) | 2018-10-25 | 2018-10-25 | 出力装置、制御装置、及び学習パラメータの出力方法 |
US16/563,116 US20200133226A1 (en) | 2018-10-25 | 2019-09-06 | Output device, control device and method of outputting learning parameter |
DE102019216081.6A DE102019216081A1 (de) | 2018-10-25 | 2019-10-18 | Ausgabevorrichtung, Steuervorrichtung und Verfahren zum Ausgeben eines Lernparameters |
CN201911011700.XA CN111103849B (zh) | 2018-10-25 | 2019-10-23 | 输出装置、控制装置、以及学习参数的输出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018200820A JP6860540B2 (ja) | 2018-10-25 | 2018-10-25 | 出力装置、制御装置、及び学習パラメータの出力方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020067874A JP2020067874A (ja) | 2020-04-30 |
JP6860540B2 true JP6860540B2 (ja) | 2021-04-14 |
Family
ID=70326603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018200820A Active JP6860540B2 (ja) | 2018-10-25 | 2018-10-25 | 出力装置、制御装置、及び学習パラメータの出力方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20200133226A1 (ja) |
JP (1) | JP6860540B2 (ja) |
CN (1) | CN111103849B (ja) |
DE (1) | DE102019216081A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020129283A1 (ja) * | 2018-12-21 | 2020-06-25 | 株式会社島津製作所 | 材料試験機、及び材料試験機の制御方法 |
JP7057312B2 (ja) * | 2019-04-02 | 2022-04-19 | ファナック株式会社 | 工作機械 |
JP7000373B2 (ja) * | 2019-04-15 | 2022-01-19 | ファナック株式会社 | 機械学習装置、制御装置及び機械学習方法 |
JP7512674B2 (ja) | 2020-05-22 | 2024-07-09 | コニカミノルタ株式会社 | 画像処理システム、画像処理装置、プログラム、制御管理システムおよび装置 |
WO2022269664A1 (ja) * | 2021-06-21 | 2022-12-29 | 三菱電機株式会社 | 加工条件探索装置および加工条件探索方法 |
US20230261772A1 (en) * | 2022-02-17 | 2023-08-17 | Qualcomm Incorporated | Relay characteristic reporting and control |
US11915731B1 (en) | 2022-08-25 | 2024-02-27 | Western Digital Technologies, Inc. | Data storage device with notch filter calibration based on multi-rate excitation and error rejection |
US11817122B1 (en) * | 2022-08-25 | 2023-11-14 | Western Digital Technologies, Inc. | Data storage device with notch filter calibration based on multi-rate excitation and error rejection |
JP2024060341A (ja) * | 2022-10-19 | 2024-05-02 | 株式会社日立製作所 | プラント制御システム及びプラント制御方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5058607B2 (ja) * | 2006-02-08 | 2012-10-24 | キヤノン株式会社 | 撮像装置、その制御方法、及びプログラム |
JP2012141903A (ja) * | 2011-01-05 | 2012-07-26 | Nec Corp | 情報処理端末とその制御方法 |
JP6203701B2 (ja) * | 2014-11-13 | 2017-09-27 | 東芝機械株式会社 | 電動機械およびプログラム |
US9513193B2 (en) * | 2014-12-12 | 2016-12-06 | Nicolas Olmedo | Soft soil sampling device and system |
WO2016191024A1 (en) * | 2015-05-22 | 2016-12-01 | Halliburton Energy Services, Inc. | Improved pulse generation for downhole logging |
JP6515844B2 (ja) * | 2016-03-14 | 2019-05-22 | オムロン株式会社 | シミュレーション装置、シミュレーション方法、制御プログラム、および記録媒体 |
JP6386523B2 (ja) * | 2016-12-15 | 2018-09-05 | ファナック株式会社 | Nandフラッシュメモリの寿命を予測する機械学習装置、寿命予測装置、数値制御装置、生産システム、及び機械学習方法 |
JP6571704B2 (ja) * | 2017-02-13 | 2019-09-04 | ファナック株式会社 | 診断用データ取得システム、診断用システム、及び診断用データ取得プログラム |
JP6774637B2 (ja) * | 2017-02-20 | 2020-10-28 | 株式会社安川電機 | 制御装置及び制御方法 |
JP6645994B2 (ja) * | 2017-03-02 | 2020-02-14 | ファナック株式会社 | ゲインの最適化を学習する機械学習装置及び機械学習装置を備えた電動機制御装置並びに機械学習方法 |
JP6418264B2 (ja) * | 2017-03-10 | 2018-11-07 | オムロン株式会社 | 評価装置、評価方法、および制御装置 |
JP6490127B2 (ja) * | 2017-03-15 | 2019-03-27 | ファナック株式会社 | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 |
-
2018
- 2018-10-25 JP JP2018200820A patent/JP6860540B2/ja active Active
-
2019
- 2019-09-06 US US16/563,116 patent/US20200133226A1/en active Pending
- 2019-10-18 DE DE102019216081.6A patent/DE102019216081A1/de active Pending
- 2019-10-23 CN CN201911011700.XA patent/CN111103849B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111103849A (zh) | 2020-05-05 |
JP2020067874A (ja) | 2020-04-30 |
US20200133226A1 (en) | 2020-04-30 |
CN111103849B (zh) | 2024-03-15 |
DE102019216081A1 (de) | 2020-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6860540B2 (ja) | 出力装置、制御装置、及び学習パラメータの出力方法 | |
JP6849643B2 (ja) | 出力装置、制御装置、及び評価関数と機械学習結果の出力方法 | |
JP6697491B2 (ja) | 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法 | |
JP6860541B2 (ja) | 出力装置、制御装置、及び評価関数値の出力方法 | |
JP6901450B2 (ja) | 機械学習装置、制御装置及び機械学習方法 | |
JP7000373B2 (ja) | 機械学習装置、制御装置及び機械学習方法 | |
JP6748135B2 (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 | |
JP6784722B2 (ja) | 出力装置、制御装置、及び評価関数値の出力方法 | |
US11029650B2 (en) | Machine learning device, control system, and machine learning method | |
JP2020119295A (ja) | フィルタの係数を最適化する機械学習システム、制御装置及び機械学習方法 | |
JP6978452B2 (ja) | 機械学習装置、制御装置、及び機械学習の探索範囲の設定方法 | |
CN111722530B (zh) | 机器学习装置、控制***以及机器学习方法 | |
JP6740290B2 (ja) | 機械学習装置、制御装置、及び機械学習方法 | |
WO2022030346A1 (ja) | 制御支援装置、制御システム及び制御支援方法 | |
WO2021210483A1 (ja) | 機械学習装置、制御装置及び機械学習方法 | |
WO2023067787A1 (ja) | 安定余裕の設定支援装置、制御システム及び設定支援方法 | |
WO2021251226A1 (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: 20201208 |
|
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: 6860540 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |