JP2020004080A - 出力装置、制御装置、及び評価関数値の出力方法 - Google Patents
出力装置、制御装置、及び評価関数値の出力方法 Download PDFInfo
- Publication number
- JP2020004080A JP2020004080A JP2018122877A JP2018122877A JP2020004080A JP 2020004080 A JP2020004080 A JP 2020004080A JP 2018122877 A JP2018122877 A JP 2018122877A JP 2018122877 A JP2018122877 A JP 2018122877A JP 2020004080 A JP2020004080 A JP 2020004080A
- Authority
- JP
- Japan
- Prior art keywords
- output
- machine learning
- evaluation function
- control device
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
-
- 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
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- 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/34—Director, elements to supervisory
- G05B2219/34082—Learning, online reinforcement learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Numerical Control (AREA)
- Feedback Control In General (AREA)
Abstract
Description
工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置と、
サーボ制御装置に対して機械学習を行う機械学習装置と、
前記サーボ制御装置に制御指令を出力する数値制御装置と、
を備えた制御装置である。
前記サーボ制御装置に対して機械学習を行う機械学習装置から、サーボデータを用いた又は前記サーボデータを用いて計算された評価関数値を複数取得し、
取得した複数の前記評価関数値を出力する、出力装置の評価関数値の出力方法である。
(第1実施形態)
サーボ制御装置100はサーボモータ500の回転を制御する。機械学習装置200はサーボ制御装置100の制御パラメータを機械学習する。出力装置300は機械学習装置200の機械学習中の情報及び機械学習結果を出力する。また、出力装置300は、機械学習装置100とサーボ制御装置100との間の情報の中継、機械学習装置100とサーボ制御装置100との動作の制御を行う調整装置としても機能する。さらに、出力装置300は、数値制御装置400に、通常の加工プログラムと、学習時の加工プログラム(評価用プログラム)と、学習時の加工プログラムよりも低速の検証時の加工プログラム(検証プログラム)と、学習時よりも高速の検証時の加工プログラム(検証プログラム)とのいずれかの起動指示を出力する。数値制御装置400は、記憶部に、通常の加工プログラムと、学習時の加工プログラムと、学習時の加工プログラムである評価用プログラムよりも低速の検証プログラムと、学習時よりも高速の検証プログラムを記憶している。
数値制御装置400は、加工プログラムにより指定される加工形状となるように、送り速度を設定して位置指令値を作成する。
図1に示すように、サーボ制御装置100は、減算器101、位置制御部102、加算器103、減算器104、速度制御部105、加算器106、積分器107、速度フィードフォワード計算部108、及び位置フィードフォワード計算部109を備えている。加算器106はサーボモータ500に接続されている。
速度フィードフォワード計算部108は、2回微分器1081、及び速度フィードフォワード処理部1082を備えている。位置フィードフォワード計算部109は微分器1091、位置フィードフォワード処理部1092を備えている。
減算器101は、数値制御装置400から入力される位置指令を受け、位置指令と位置フィードバックされた検出位置との差を求め、その差を位置偏差として位置制御部102及び出力装置300に出力する。
位置フィードフォワード計算部109の微分器1091は、位置指令値を微分して定数βを掛け、位置フィードフォワード処理部1092は微分器1091の出力に、数式1(以下に数1として示す)で示す伝達関数G(s)で示された位置フィードフォワード処理を行い、その処理結果を位置フィードフォワード項として、減算器104に出力する。数式1の係数ai、bj(X≧i,j≧0、Xは自然数)は位置フィードフォワード処理部1092の伝達関数G(s)の各係数である。
以上のように、サーボ制御装置100は構成される。
図2はサーボ制御装置100の制御対象600の一例となる、サーボモータを含む工作機械の一部を示すブロック図である。
サーボ制御装置100は、サーボモータ500で連結機構602を介してテーブル603を移動させることで、テーブル603の上に搭載された被加工物(ワーク)を加工する。連結機構602は、サーボモータ500に連結されたカップリング6021と、カップリング6021に固定されるボールねじ6023とを有し、ボールねじ6023にナット6022が螺合されている。サーボモータ500の回転駆動によって、ボールねじ6023に螺着されたナット6022がボールねじ6023の軸方向に移動する。ナット6022の移動によってテーブル603が移動する。
機械学習装置200は、位置フィードフォワード処理部1092の伝達関数の係数と、速度フィードフォワード処理部1082の伝達関数の係数とを機械学習(以下、学習という)する。
機械学習装置200は、速度フィードフォワード処理部1082の伝達関数の係数の学習と、位置フィードフォワード処理部1092の伝達関数の係数の学習とは別に行い、位置フィードフォワード処理部1092より内側(インナーループ)にある速度フィードフォワード処理部1082の伝達関数の係数の学習を位置フィードフォワード処理部1092の伝達関数の係数の学習よりも先に行う。具体的には、位置フィードフォワード処理部1092の伝達関数の係数を固定し、速度フィードフォワード処理部1082の伝達関数の係数の最適な値を学習する。その後に、機械学習装置200は、速度フィードフォワード処理部1082の伝達関数の係数を学習で得られた最適な値に固定して、位置フィードフォワード処理部1092の伝達関数の係数を学習する。
そうすることで、学習により最適化された速度フィードフォワード項の条件下で、位置フィードフォワード処理部1092の伝達関数の係数の最適化に係る学習を行うことができ、位置偏差の変動を抑制することができる。
このため、位置フィードフォワード処理部1092より内側(インナーループ)にある速度フィードフォワード処理部1082の伝達関数の係数の学習が位置フィードフォワード処理部1092の伝達関数の係数の学習より先にした方が、位置偏差の変動を抑制し、高精度化を実現できる。
以下の説明では、速度フィードフォワード処理部1082の伝達関数の係数に係る機械学習(強化学習)を例として説明する。なお、本実施形態では、機械学習の一例として強化学習について説明するが、機械学習は特に強化学習に限定されない。
機械学習装置200は、予め設定された加工プログラム(「学習時の加工プログラム」となり、評価プログラムともいう)を実行することで、速度フィードフォワード処理部1082の伝達関数の係数を機械学習(以下、学習という)する。
ここでは、学習時の加工プログラムにより指定される加工形状の位置A1と位置A3、及び/又は位置B1と位置B3により、線形制御において回転速度が変更されたときの振動を評価し、位置偏差に対する影響を調べることで、伝達関数G(s)に係る係数の学習を行うものとする。
なお、加工形状の位置A2と位置A4、及び/又は位置B2と位置B4により、回転方向が反転する場合に生ずる惰走(いわゆる「象限突起」)を評価し、位置偏差に対する影響を調べることで、象限突起を抑制する補正量を算出するための伝達関数の係る係数の学習を行うこともできる。
教師あり学習が、完全な正解を示すのに対して、強化学習における報酬は、環境の一部の変化に基づく断片的な値であることが多い。このため、エージェントは、将来にわたっての報酬の合計を最大にするように行動を選択するように学習する。
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に示すように、機械学習装置200は、状態情報取得部201、学習部202、行動情報出力部203、価値関数記憶部204、及び最適化行動情報出力部205を備える。学習部202は報酬出力部2021、価値関数更新部2022、及び行動情報生成部2023を備える。
状態情報取得部201は、取得した状態Sを学習部202に対して出力する。
なお、係数ci、djは予め操作者が工作機械を調整している場合には、調整済の値を初期値として機械学習してもよい。
ここで、状態Sにおける状態変数である位置偏差の集合とは、前述した加工形状の位置A1と位置A3、及び/又は位置B1と位置B3を含む所定の範囲内で計測される位置偏差の集合を意味する。
評価関数fにより得られる評価関数値は、サーボデータとなる位置偏差を用いて又は位置偏差から計算して得ることができる。
評価関数fとしては、例えば、
位置偏差の絶対値の積算値を算出する関数
∫|e|dt
位置偏差の絶対値に時間の重み付けをして積算値を算出する関数
∫t|e|dt
位置偏差の絶対値の2n(nは自然数)乗の積算値を算出する関数
∫e2ndt(nは自然数)
位置偏差の絶対値の最大値を算出する関数
Max{|e|}
等を適用することができる。
また、報酬出力部2021は、調整前(学習開始時)の制御パラメータにより加工処理した場合の位置偏差の集合と、調整後(学習終了後)の制御パラメータにより加工処理した場合の位置偏差の集合とを記憶部に記憶し、出力装置300からこれらの位置偏差の集合の出力要求があった場合は、これらの位置偏差の集合を出力する。
なお、行動情報Aにより修正された状態情報S´に係る修正後の速度フィードフォワード処理部1082に基づいて動作したサーボ制御装置100の位置偏差の値f(PD(S´))が、行動情報Aにより修正される前の状態情報Sに係る修正前の速度フィードフォワード処理部1082に基づいて動作したサーボ制御装置100の位置偏差の値f(PD(S))と等しい場合は、報酬出力部2021は、報酬の値をゼロとするようにしてもよい。
価値関数Qの更新は、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。
オンライン学習は、或る行動Aを現在の状態Sに適用することにより、状態Sが新たな状態S´に遷移する都度、即座に価値関数Qの更新を行う学習方法である。また、バッチ学習は、或る行動Aを現在の状態Sに適用することにより、状態Sが新たな状態S´に遷移することを繰り返すことにより、学習用のデータを収集し、収集した全ての学習用データを用いて、価値関数Qの更新を行う学習方法である。更に、ミニバッチ学習は、オンライン学習と、バッチ学習の中間的な、ある程度学習用データが溜まるたびに価値関数Qの更新を行う学習方法である。
より具体的には、最適化行動情報出力部205は、価値関数記憶部204が記憶している価値関数Qを取得する。この価値関数Qは、上述したように価値関数更新部2022がQ学習を行うことにより更新したものである。そして、最適化行動情報出力部205は、価値関数Qに基づいて、行動情報を生成し、生成した行動情報をサーボ制御装置100(速度フィードフォワード処理部1082)に対して出力する。この最適化行動情報には、行動情報出力部203がQ学習の過程において出力する行動情報と同様に、速度フィードフォワード処理部1082の各係数ci、djを修正する情報が含まれる。
機械学習装置200は、以上の動作で、速度フィードフォワード処理部1082の各係数ci、djの学習及び最適化を行い、位置偏差の値を低減するように動作することができる。
以上のように、本実施形態に係る機械学習装置200を利用することで、サーボ制御装置100の速度フィードフォワード処理部1082の補正パラメータ(係数ci、dj)調整を簡易化することができる。補正パラメータ(係数ci、dj)調整により速度フィードフォワード処理部1082の速度フィードフォワード項の調整がなされる。
これらの機能ブロックを実現するために、サーボ制御装置100、及び機械学習装置200のそれぞれは、CPU(Central Processing Unit)等の演算処理装置を備える。また、サーボ制御装置100、及び機械学習装置200のそれぞれは、アプリケーションソフトウェアやOS(Operating System)等の各種の制御用プログラムを格納したHDD(Hard Disk Drive)等の補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶装置も備える。
例えば、機械学習装置200は、位置フィードフォワード処理部1092の伝達関数の係数、及び速度フィードフォワード処理部1082の伝達関数の係数を同時に学習するようにしてもよい。このように、機械学習装置200が同時に学習した場合、二つの学習が相互に干渉して情報処理量が増大する可能性がある。
しかし、位置フィードフォワード計算部109か速度フィードフォワード計算部108かのいずれかを備えるものとしてもよい。その場合、例えば、位置フィードフォワード計算部109のみを設けるときには、2回微分器1081、速度フィードフォワード処理部1082、及び加算器106は不要となる。
図6は、本発明の第1実施形態の制御装置に含まれる出力装置の一構成例を示すブロック図である。図6に示すように、出力装置300は、情報取得部301、情報出力部302、作図部303、操作部304、制御部305、記憶部306、情報取得部307、情報出力部308、及び表示部309を有する。情報取得部301は、機械学習装置から評価関数を複数取得する情報取得部となる。制御部305及び表示部309は、評価関数を出力する出力部となる。出力部の表示部309は液晶表示装置、プリンター等を用いることができる。出力は記憶部306に記憶することも含まれ、その場合、出力部は制御部305及び記憶部306となる。
また、出力装置300は、機械学習装置100とサーボ制御装置100との間の情報(例えば、位置偏差、位置指令、速度フィードフォワード計算部の係数、及び速度フィードフォワード計算部の係数の修正情報)の中継、機械学習装置100の動作の制御(例えば、機械学習装置に対する学習プログラム起動指示を行う調整機能を備えている。
さらに、出力装置300は、数値制御装置400に、通常の加工プログラムと、学習時の加工プログラム(評価用プログラム)と、学習時の加工プログラムよりも低速の検証時の加工プログラム(検証プログラム)と、学習時よりも高速の検証時の加工プログラム(検証プログラム)とのいずれかの起動指示を出力する調整機能も備えている。
図7に示すように、表示画面は例えば調整フローの欄、トルクリミットの欄を備えている。また、表示画面は、例えば速度フィードフォワード等の調整対象、データ採取中等のステータス(状態)、予め設定された当該機械学習終了までの試行回数(以下「最大試行回数」ともいう)に対する現在までの試行回数の累計を示す試行回数、機械学習開始から現在までの試行において取得した評価関数値集合の内の最小値、及び中断を選択するボタンを示す欄と、その欄の下に、試行回数で関連付けられる各試行ごとの評価関数値を点で示すとともに、機械学習開始から試行回数で関連付けられる各試行までに取得した評価関数値集合の内の最小値の推移を折れ線で示す図の欄とを備えている。
調整フローの欄は、例えば軸選択、パラメータ確認、プログラム確認・編集、プログラム起動、機械学習中、調整結果からなる。
操作者が、液晶表示装置等の表示部309の図7に示す表示画面の「調整フロー」の欄の「機械学習中」をマウス、キーボード等の操作部304で選択すると、制御部305は、情報出力部302を介して機械学習装置200に対して、試行回数で関連付けられる状態Sに係る評価関数値f(PD(S)))、当該機械学習の調整対象(学習対象)に関する情報、試行回数、最大試行回数を含む情報等の出力指示を送る。
また制御部305は、例えば速度フィードフォワードが調整対象であることを示す情報に基づいて、図7に示すように、表示画面の調整対象欄に速度フィードフォワードと表示し、試行回数が最大試行回数に達していない場合は表示画面のステータス欄にデータ採取中と表示する。さらに制御部305は、表示画面の試行回数欄に、最大試行回数に対する試行回数の比、ここでは最大試行回数が100回に対する試行回数85の比85/100を表示し、試行開始から現在の試行回数までの状態Sに係る評価関数値f(PD(S)))の最小値を26.634と表示する。
また、上記説明においては、制御部305は、機械学習装置200から受信した情報を、記憶部306に記憶するとともにリアルタイムに、試行回数で関連付けられる状態Sに係る評価関数値f(PD(S)))に関する情報を表示部309に表示するものとしたが、これに限られない。
例えば、リアルタイムで表示しない実施例としては以下の例がある。
変形例1:操作者(オペレータ)が表示指示をしたときに、図7に記載の情報(機械学習装置200でそれまでに行われた学習(試行結果)の情報)を表示する。
変形例2:(学習開始時からの)試行回数の累計が、予め設定した所定の回数に達したときに、図7に記載の情報(機械学習装置200でそれまでに行われた学習(試行結果)の情報)を表示する。
変形例3:状態Sに係る評価関数値f(PD(S)))が予め設定している閾値以下になったときに、図7に記載の情報(機械学習装置200でそれまでに行われた学習(試行結果)の情報)を表示する。
変形例4:機械学習の中断時又は終了時に図7に記載の情報(機械学習装置200でそれまでに行われた学習(試行結果)の情報)を表示する。
以上の変形例1〜4においても、上述したリアルタイムでの表示の動作と同様に、情報取得部301が、機械学習装置200から、試行回数で関連付けられる状態Sに係る評価関数値f(PD(S)))、当該機械学習の調整対象(学習対象)に関する情報、試行回数、最大試行回数を含む情報等を受信すると、制御部305は、記憶部306に受信した情報を記憶する。その後は、変形例1では操作者(オペレータ)が表示指示をしたとき、変形例2では、試行回数の累計が、予め設定した所定の回数に達したとき、変形例3では、状態Sに係る評価関数値f(PD(S)))が予め設定している閾値以下になったとき、変形例4では機械学習の中断時又は終了時に、制御部305は作図部に制御を移す動作を行う。
操作者が、図8の表示画面で、表示部309の図8に示す表示画面の「調整フロー」の欄の「調整結果」をマウス、キーボード等の操作部304で選択すると、制御部305は、情報出力部302を介して機械学習装置200に対して、調整前(学習開始時)の制御パラメータにより加工処理した場合の位置偏差の集合と、調整後(学習終了後)の制御パラメータにより加工処理した場合の位置偏差の集合との情報の出力指示を送る。
また、制御部305は、情報出力部308を介して数値制御装置400に、学習時の加工プログラムである評価用プログラムよりも低速の検証プログラムと、評価用プログラムよりも高速の検証プログラムとを順次起動させる指示と、低速の検証プログラムの動作時の位置偏差の集合と、高速の検証プログラムの動作時の位置偏差の集合との情報の出力指示を送るようにしてもよい。
操作者が、図8の表示画面で、表示部309の図8に示す表示画面の「調整フロー」の欄の「調整結果」をマウス、キーボード等の操作部304で選択したときに、出力装置300が検証結果を出力するようにしてもよい。出力装置300は、「調整結果」が選択されたときに、数値制御装置400に、学習時の加工プログラムよりも低速の検証時の加工プログラム(検証プログラム)と、学習時よりも高速の検証時の加工プログラム(検証プログラム)とのいずれかの起動指示を出力する。サーボ制御装置100は、数値制御装置400から出力される位置指令に基づいてサーボモータ500のサーボ制御を行う。
情報取得部301が、サーボ制御装置100から、低速の検証プログラムの動作時の位置偏差の集合と、高速の検証プログラムの動作時の位置偏差の集合との情報を受信した場合、制御部305は、記憶部306に受信した情報を記憶するとともに、作図部303に制御を移す。作図部303は、低速の検証プログラムの動作時の位置偏差の集合から、低速の検証プログラムの動作時の位置偏差の時間変化を示す図と、高速の検証プログラムの動作時の位置偏差の集合から、高速の検証プログラムの動作時の位置偏差の時間変化を示す図の画像情報を作成し、制御部305に制御を移す。制御部305は、低速の検証プログラムの動作時の位置偏差の時間変化を示す図と、高速の検証プログラムの動作時の位置偏差の時間変化を示す図を図8の表示画面にそれぞれ表示するようにしてもよい。
なお、図8の左下の表に示すようにサーボ制御装置の位置偏差、速度偏差等のパラメータごとの学習前(before)と学習後(after)の変化を表示するようにしてもよい。
図9は、機械学習の開始から機械学習後の調整結果表示までの、出力装置を中心とした制御装置の動作を示すフロー図である。
出力装置300は、ステップS31において、操作者が図7又は図8に示す、表示部309表示画面の「調整フロー」の欄の「プログラム起動」をマウス、キーボード等の操作部304で選択すると、制御部305は、学習プログラム起動指示を、情報出力部302を介して機械学習装置200に出力する。そして、サーボ制御装置100に対して、学習プログラム起動指示を機械学習装置200に出力したことを通知する学習プログラム起動指示通知を出力する。また、出力装置300は、ステップS31の後のステップS32において、学習時の加工プログラムの起動指示を、情報出力部308を介して数値制御装置400に出力する。ステップS32はステップ31の前、ステップ31と同時に行われてもよい。数値制御装置400は学習時の加工プログラムの起動指示を受けると、学習時のプログラムを起動させて位置指令値を作成し、サーボ制御装置100に出力する。
機械学習装置200は、ステップS21において、学習プログラム起動指示を受けると、機械学習を開始する。
ここでは、機械学習中のサーボ制御パラメータに係る評価関数値等を含む機械学習の進捗状況に係る情報をリアルタイムで表示部309に出力する場合について説明しているが、既に、リアルタイムで表示しない場合の例として説明した変形例1〜変形例4のような場合に、機械学習の進捗状況に係る情報をリアルタイムで表示部309に出力するようにしてもよい。
なお、操作者が、表示部309の図7に示す表示画面の「中断」を選択した後に、図7のステータスに「機械学習中断」が表示された後に、「調整フロー」の欄の「調整結果」を選択した場合、出力装置300は、ステップS35において、数値制御装置400に、学習時の加工プログラムである評価用プログラムよりも低速の検証時の加工プログラム(検証プログラム)と、学習時の加工プログラムである評価用プログラムよりも高速の検証時の加工プログラム(検証プログラム)とを順次起動させる起動指示を送るようにしてもよい。
第1の実施形態では、出力装置300はサーボ制御装置100と機械学習装置200と数値制御装置400とに接続され、機械学習装置100とサーボ制御装置100との間の情報(例えば、位置偏差、位置指令、速度フィードフォワード計算部の係数速度フィードフォワード計算部の係数)の中継、サーボ制御装置100と数値制御装置400との動作の制御(例えば、機械学習装置に対する学習プログラム起動指示、数値制御装置400に対する検証プログラム起動指示)を行っていた。
本実施形態では、出力装置が機械学習装置と数値制御装置に接続される場合について説明する。
図10は、本発明の第2実施形態の制御装置に含まれる出力装置の一構成例を示すブロック図である。制御装置10Aは、サーボ制御装置100、機械学習装置200、出力装置300A、及び数値制御装置400を備えている。
出力装置300Aは、図6に示す出力装置300と比べて、情報取得部307及び情報出力部308を備えていない。
第1の実施形態では、出力装置300はサーボ制御装置100と機械学習装置200と数値制御装置400とに接続されていたが、本実施形態では、調整装置がサーボ制御装置100と機械学習装置200と数値制御装置400に接続され、出力装置が調整装置に接続される場合について説明する。
図11は、本発明の第3実施形態の制御装置の一構成例を示すブロック図である。制御装置10Bは、サーボ制御装置100、機械学習装置200、出力装置300A、数値制御装置400及び調整装置700を備えている。図11に示した出力装置300Aは、図10に示した出力装置300Aの構成と同一であるが、情報取得部301と情報出力部302が機械学習装置200でなく、調整装置700に接続されている。
調整装置700は、図6の出力装置300の作図部303、操作部304、及び表示部309が除かれた構成となっている。
そうすることで、第1実施形態と比較して出力装置300の機能が、出力装置300Aと調整装置700とに分離されるので、出力装置300Aの動作が少なくなり、装置構成が簡易化できる。
上述した実施形態では、機械学習装置200、サーボ制御装置100、出力装置300又は300A、及び数値制御装置400を制御装置として構成する例と、さらに出力装置300を出力装置300Aと調整装置700とに分離して制御装置に設けて構成した例について説明した。これらの例では、機械学習装置200、サーボ制御装置100、出力装置300又は300A、数値制御装置400、調整装置700とは別体の装置により構成しているが、これらの装置の一つを他の装置と一体に構成してもよい。例えば、出力装置300又は300Aの機能の一部又は全部を機械学習装置200、サーボ制御装置100、又は数値制御装置400により実現するようにしてもよい。
また、出力装置300又は300Aを、機械学習装置200、サーボ制御装置100、、及び数値制御装置400で構成される制御装置の外部に設けてもよい。
図12は他の構成の制御装置を示すブロック図である。制御装置10Cは、図12に示すように、n台のサーボ制御装置100−1〜100−n、n台の機械学習装置200−1〜200−n、出力装置300−1〜300−n、数値制御装置400−1〜400−n、及びネットワーク800を備えている。なお、nは任意の自然数である。n台のサーボ制御装置100−1〜100−nのそれぞれは図1、図10及び図11に示したサーボ制御装置100に対応している。n台の機械学習装置200−1〜200−nのそれぞれは図1、図10及び図11に示した機械学習装置200に対応している。数値制御装置400−1〜400−nは数値制御装置400に対応し、サーボ制御装置100−1〜100−nのそれぞれに対して設けられる。出力装置300−1〜300−nは図6、及び図10に示した出力装置300又は300Aに対応している。図11に示した出力装置300A及び調整装置700は出力装置300−1〜300−nに対応している。サーボ制御装置100−1〜100−nは数値制御装置400−1〜400−nに含まれていてもよい。
その際、機械学習装置200−1の各機能を、適宜複数のサーバに分散する、分散処理システムとしてもよい。また、クラウド上で仮想サーバ機能等を利用して、機械学習装置200−1の各機能を実現してもよい。
また、複数の同じ型名、同一仕様、又は同一シリーズのサーボ制御装置100−1〜100−nとそれぞれ対応する複数の機械学習装置200−1〜200−nがあった場合に、各機械学習装置200−1〜200−nにおける学習結果を共有するように構成するようにしてもよい。そうすることで、より最適なモデルを構築することが可能となる。
100、100A サーボ制御装置
101 減算器
102 位置制御部
103 加算器
104 減算器
105 速度制御部
106 加算器
107 積分器
108 速度フィードフォワード計算部
109 位置フィードフォワード計算部
200 機械学習装置
201 状態情報取得部
202 学習部
203 行動情報出力部
204 価値関数記憶部
205 最適化行動情報出力部
300 出力装置
400 数値制御装置
400 数値制御装置
500 サーボモータ
600 制御対象
700 調整装置
800 ネットワーク
Claims (15)
- 工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置に対して機械学習を行う機械学習装置から、サーボデータを用いた又は前記サーボデータを用いて計算された評価関数値を複数取得する情報取得部と、
取得した複数の前記評価関数値を出力する出力部と、
を備えた出力装置。 - 前記出力部は複数の前記評価関数値を表示画面に表示する表示部を含む請求項1に記載の出力装置。
- 機械学習中の複数の前記評価関数値の時間的推移を示す図を作成する作図部を備え、前記出力部は、作成された図を前記表示画面に表示する請求項2に記載の出力装置。
- 前記出力部は、複数の前記評価関数値の最小値を出力する請求項1から請求項3のいずれか1項に記載の出力装置。
- 機械学習開始から取得した全ての前記評価関数値の最小値を出力する請求項1から請求項4のいずれか1項に記載の出力装置。
- リアルタイムで、取得した複数の前記評価関数値を出力する請求項1から請求項5のいずれか1項に記載の出力装置。
- 操作者が表示指示をしたときに、取得した複数の前記評価関数値を出力する請求項1から請求項5のいずれか1項に記載の出力装置。
- 学習開始時からの試行回数の累計が、予め設定した所定の回数に達したときに、取得した複数の前記評価関数値を出力する請求項1から請求項5のいずれか1項に記載の出力装置。
- 前記評価関数値が予め設定している閾値以下になったときに、取得した複数の前記評価関数値を出力する請求項1から請求項5のいずれか1項に記載の出力装置。
- 機械学習の中断時又は終了時に、取得した複数の前記評価関数値を出力する請求項1から請求項5のいずれか1項に記載の出力装置。
- 前記機械学習装置に対して、中断指示を出力する請求項1から請求項10のいずれか1項に記載の出力装置。
- 機械学習開始から取得した全ての前記評価関数値の最小値が収束したときに、中断指示を出力する請求項1から請求項11のいずれか1項に記載の出力装置。
- 請求項1から12のいずれか1項に記載の出力装置と、
工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置と、
サーボ制御装置に対して機械学習を行う機械学習装置と、
前記サーボ制御装置に制御指令を出力する数値制御装置と、
を備えた制御装置。 - 前記出力装置は、前記サーボ制御装置、機械学習装置、及び数値制御装置の一つに含まれる、請求項13に記載の制御装置。
- 工作機械、ロボット又は産業機械の軸を駆動するサーボモータを制御するサーボ制御装置に対する機械学習に用いる評価関数値の出力方法において、
前記サーボ制御装置に対して機械学習を行う機械学習装置から、サーボデータを用いた又は前記サーボデータを用いて計算された評価関数値を複数取得し、
取得した複数の前記評価関数値を出力する、出力装置の評価関数値の出力方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018122877A JP6784722B2 (ja) | 2018-06-28 | 2018-06-28 | 出力装置、制御装置、及び評価関数値の出力方法 |
US16/429,515 US11087509B2 (en) | 2018-06-28 | 2019-06-03 | Output device, control device, and evaluation function value output method |
DE102019209104.0A DE102019209104A1 (de) | 2018-06-28 | 2019-06-24 | Ausgabevorrichtung, Steuervorrichtung und Ausgabeverfahren für einen Bewertungsfunktionswert |
CN201910560957.4A CN110658785B (zh) | 2018-06-28 | 2019-06-26 | 输出装置、控制装置、以及评价函数值的输出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018122877A JP6784722B2 (ja) | 2018-06-28 | 2018-06-28 | 出力装置、制御装置、及び評価関数値の出力方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020004080A true JP2020004080A (ja) | 2020-01-09 |
JP6784722B2 JP6784722B2 (ja) | 2020-11-11 |
Family
ID=68886368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018122877A Active JP6784722B2 (ja) | 2018-06-28 | 2018-06-28 | 出力装置、制御装置、及び評価関数値の出力方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11087509B2 (ja) |
JP (1) | JP6784722B2 (ja) |
CN (1) | CN110658785B (ja) |
DE (1) | DE102019209104A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022264262A1 (ja) * | 2021-06-15 | 2022-12-22 | 日本電気株式会社 | モデル生成支援装置、モデル生成支援方法及びプログラム |
WO2024005138A1 (ja) * | 2022-07-01 | 2024-01-04 | パナソニックIpマネジメント株式会社 | 制御パラメータの生成方法、プログラム、記録媒体、および、制御パラメータの生成装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7510742B2 (ja) * | 2018-11-19 | 2024-07-04 | アークレイ株式会社 | 情報処理装置、測定システム、及びプログラム |
JP6719790B1 (ja) * | 2019-09-05 | 2020-07-08 | キタムラ機械株式会社 | Cadデータによるマシニングセンタの自動運転装置 |
CN112034715B (zh) * | 2020-09-17 | 2021-07-13 | 福州大学 | 一种基于改进q学习算法的电机伺服***无模型反馈控制器设计方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11242503A (ja) * | 1998-02-25 | 1999-09-07 | Hitachi Ltd | プラント運転制御支援システム |
JP2003061377A (ja) * | 2001-08-17 | 2003-02-28 | Yaskawa Electric Corp | オートチューニング機能を備えたモータ制御装置 |
JP2009124803A (ja) * | 2007-11-12 | 2009-06-04 | Mitsubishi Electric Corp | サーボゲイン調整装置およびサーボゲイン調整方法 |
JP2009244933A (ja) * | 2008-03-28 | 2009-10-22 | Hitachi Ltd | プラントの制御装置および火力発電プラントの制御装置 |
WO2016203614A1 (ja) * | 2015-06-18 | 2016-12-22 | 三菱電機株式会社 | 制御パラメータ調整装置 |
JP2018097680A (ja) * | 2016-12-14 | 2018-06-21 | ファナック株式会社 | 制御システム及び機械学習装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102010011221B4 (de) * | 2010-03-12 | 2013-11-14 | Siemens Aktiengesellschaft | Verfahren zur rechnergestützten Steuerung und/oder Regelung eines technischen Systems |
CN102787915A (zh) * | 2012-06-06 | 2012-11-21 | 哈尔滨工程大学 | 基于强化学习pid控制器的柴油机电子调速方法 |
JP6522488B2 (ja) * | 2015-07-31 | 2019-05-29 | ファナック株式会社 | ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法 |
JP6063013B1 (ja) * | 2015-08-27 | 2017-01-18 | ファナック株式会社 | びびり或いは工具摩耗/破損の発生を抑制する加工条件調整機能を有する数値制御装置 |
JP6219897B2 (ja) * | 2015-09-28 | 2017-10-25 | ファナック株式会社 | 最適な加減速を生成する工作機械 |
JP6649023B2 (ja) * | 2015-09-30 | 2020-02-19 | ファナック株式会社 | 学習制御器の特性測定を行う機能を有するサーボ制御装置 |
JP6325504B2 (ja) | 2015-10-28 | 2018-05-16 | ファナック株式会社 | 学習制御器の自動調整を行う機能を有するサーボ制御装置 |
CN106598058A (zh) * | 2016-12-20 | 2017-04-26 | 华北理工大学 | 内在动机驱动的极限学习机自发育***及其运行方法 |
-
2018
- 2018-06-28 JP JP2018122877A patent/JP6784722B2/ja active Active
-
2019
- 2019-06-03 US US16/429,515 patent/US11087509B2/en active Active
- 2019-06-24 DE DE102019209104.0A patent/DE102019209104A1/de active Pending
- 2019-06-26 CN CN201910560957.4A patent/CN110658785B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11242503A (ja) * | 1998-02-25 | 1999-09-07 | Hitachi Ltd | プラント運転制御支援システム |
JP2003061377A (ja) * | 2001-08-17 | 2003-02-28 | Yaskawa Electric Corp | オートチューニング機能を備えたモータ制御装置 |
JP2009124803A (ja) * | 2007-11-12 | 2009-06-04 | Mitsubishi Electric Corp | サーボゲイン調整装置およびサーボゲイン調整方法 |
JP2009244933A (ja) * | 2008-03-28 | 2009-10-22 | Hitachi Ltd | プラントの制御装置および火力発電プラントの制御装置 |
WO2016203614A1 (ja) * | 2015-06-18 | 2016-12-22 | 三菱電機株式会社 | 制御パラメータ調整装置 |
JP2018097680A (ja) * | 2016-12-14 | 2018-06-21 | ファナック株式会社 | 制御システム及び機械学習装置 |
Non-Patent Citations (1)
Title |
---|
GANG LUO: "Toward a Progress Indicator for Machine Learning Model Building and Data Mining Algorithm Execution:", ACM SIGKDD EXPLORATIONS NEWSLETTER, JPN6020022423, November 2017 (2017-11-01), ISSN: 0004292948 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022264262A1 (ja) * | 2021-06-15 | 2022-12-22 | 日本電気株式会社 | モデル生成支援装置、モデル生成支援方法及びプログラム |
WO2024005138A1 (ja) * | 2022-07-01 | 2024-01-04 | パナソニックIpマネジメント株式会社 | 制御パラメータの生成方法、プログラム、記録媒体、および、制御パラメータの生成装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110658785A (zh) | 2020-01-07 |
DE102019209104A1 (de) | 2020-01-02 |
US11087509B2 (en) | 2021-08-10 |
CN110658785B (zh) | 2024-03-08 |
US20200005499A1 (en) | 2020-01-02 |
JP6784722B2 (ja) | 2020-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6490127B2 (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 | |
JP6784722B2 (ja) | 出力装置、制御装置、及び評価関数値の出力方法 | |
JP6538766B2 (ja) | 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法 | |
JP6740277B2 (ja) | 機械学習装置、制御装置、及び機械学習方法 | |
JP6474449B2 (ja) | 調整装置及び調整方法 | |
JP6499720B2 (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 | |
JP6748135B2 (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 | |
US10824121B2 (en) | Machine learning device, servo motor controller, servo motor control system, and machine learning method | |
JP6740278B2 (ja) | 機械学習装置、制御装置、及び機械学習方法 | |
JP6849643B2 (ja) | 出力装置、制御装置、及び評価関数と機械学習結果の出力方法 | |
JP6860540B2 (ja) | 出力装置、制御装置、及び学習パラメータの出力方法 | |
JP6474456B2 (ja) | 機械学習装置、サーボ制御システム及び機械学習方法 | |
JP6860541B2 (ja) | 出力装置、制御装置、及び評価関数値の出力方法 | |
CN110941242B (zh) | 电动机控制装置 | |
US11029650B2 (en) | Machine learning device, control system, and machine learning method | |
JP6740263B2 (ja) | 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法 | |
JP2020046965A (ja) | モータ制御装置のフィードフォワード制御器導出装置、モータ制御装置、制御装置、及びフィードフォワード制御器導出方法 | |
JP6740290B2 (ja) | 機械学習装置、制御装置、及び機械学習方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191112 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200218 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200305 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200618 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200630 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200730 |
|
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: 20200923 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201023 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6784722 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |