JP2019128830A - 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法 - Google Patents
機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法 Download PDFInfo
- Publication number
- JP2019128830A JP2019128830A JP2018010676A JP2018010676A JP2019128830A JP 2019128830 A JP2019128830 A JP 2019128830A JP 2018010676 A JP2018010676 A JP 2018010676A JP 2018010676 A JP2018010676 A JP 2018010676A JP 2019128830 A JP2019128830 A JP 2019128830A
- Authority
- JP
- Japan
- Prior art keywords
- value
- servo motor
- unit
- machine learning
- correction
- 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
- 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/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
-
- 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/42—Servomotor, servo controller kind till VSS
- G05B2219/42151—Learn dynamics of servomotor system by ann
Landscapes
- Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Feedback Control In General (AREA)
- Control Of Electric Motors In General (AREA)
- Numerical Control (AREA)
Abstract
Description
特許文献4に記載されたサーボ制御装置は、原動軸を駆動するマスター側駆動源と、従動軸を駆動するスレーブ側駆動源とを同期制御するサーボ制御装置である。そして、このサーボ制御装置は、マスター側駆動源の位置偏差とスレーブ側駆動源の位置偏差との差分である同期誤差を求め、同期誤差を小さくするように、スレーブ側駆動源の対する位置指令値に基づいてスレーブ側駆動源の位置偏差を補正する。学習制御部は同期誤差を受け取り、この同期誤差に基づいて送り側サーボモータの位置偏差を補正する補正データを算出する。
本発明は、制御対象の回転軸の角度、制御対象の駆動体の位置に対して、サーボモータ制御装置の制御部のパラメータの値と、位置指令とトルク指令との少なくとも一方の補正値とを適切な値に設定して、サーボ性能の向上を図ることができる、機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法を提供することを目的とする。
所定のプログラムを前記サーボモータ制御装置に実行させることにより、前記位置指令と、少なくとも位置偏差を含むサーボ状態と、前記制御部のパラメータと前記補正値の組み合わせと、を含む状態情報を、前記サーボモータ制御装置から取得する状態情報取得手段(例えば、後述の状態情報取得部301)と、
前記状態情報に含まれる前記パラメータと前記補正値の組み合わせの調整情報を含む行動情報を前記サーボモータ制御装置に出力する行動情報出力手段(例えば、後述の行動情報出力部303)と、
前記状態情報に含まれる前記位置偏差に基づく、強化学習における報酬の値を出力する報酬出力手段(例えば、後述の報酬出力部3021)と、
前記報酬出力手段により出力される報酬の値と、前記状態情報と、前記行動情報とに基づいて行動価値関数を更新する価値関数更新手段(例えば、後述の価値関数更新部3022)と、
を備える機械学習装置である。
前記変更部は、前記行動情報に基づいて前記位置制御部と前記速度制御部との少なくとも一方のゲイン、前記フィルタのフィルタ係数、及び前記位置指令又は前記トルク指令に加えるトルクオフセット値と摩擦補正値との少なくとも一方を変更してもよい。
所定のプログラムを前記サーボモータ制御装置に実行させることにより、前記位置指令と、少なくとも位置偏差を含むサーボ状態と、前記制御部のパラメータと前記補正値の組み合わせと、を含む状態情報を、前記サーボモータ制御装置から取得し、
前記状態情報に含まれる前記パラメータと前記補正値の組み合わせの調整情報を含む行動情報を前記サーボモータ制御装置に出力し、
前記状態情報に含まれる前記位置偏差に基づく、強化学習における報酬の値と、前記状態情報と、前記行動情報とに基づいて行動価値関数を更新する、機械学習方法である。
(第1の実施形態)
図1は本発明の第1の実施形態のサーボモータ制御システムを示すブロック図である。サーボモータ制御システム10は、図1に示すように、n台の制御対象100−1〜100−n、n台のサーボモータ制御装置200−1〜200−n、n台の機械学習装置300−1〜300−n、及びネットワーク400を備えている。なお、nは任意の自然数である。
サーボモータ制御装置200−1と機械学習装置300−1とは1対1の組とされて、通信可能に接続されている。サーボモータ制御装置200−2〜200−nと機械学習装置300−2〜300−nについてもサーボモータ制御装置200−1と機械学習装置300−1と同様に接続される。図1では、サーボモータ制御装置200−1〜200−nと機械学習装置300−1〜300−nとのn個の組は、ネットワーク400を介して接続されているが、サーボモータ制御装置200−1〜200−nと機械学習装置300−1〜300−nとのn個の組は、それぞれの組のサーボモータ制御装置と機械学習装置とが接続インタフェースを介して直接接続されてもよい。これらサーボモータ制御装置200−1〜200−nと機械学習装置300−1〜300−nとのn個の組は、例えば同じ工場に複数組設置されていてもよく、それぞれ異なる工場に設置されていてもよい。
図2は、サーボモータ制御装置により駆動される制御対象の一例の構成を示す図である。図2に示す制御対象100は、サーボモータ制御装置200から出力される電流によって制御されるサーボモータ101、エンコーダ(位置検出部及び速度検出部となる)102、サーボモータ制御装置200から出力される電流を検出する電流検出部103、及びチルト機構104を備える。
図3に示すように、チルト機構104は、サーボモータ101によりB軸について回転駆動され、工具により加工されるワーク105を傾斜させる。チルト機構104は、例えば、ワーク105が載置されたテーブル1041と、傾斜軸(回転軸)を有する一対の支持部材1042とから構成される。このように、チルト機構104は、B軸に対して非対称な構成を有する。
ワーク105は、テーブル1041上で他のサーボモータでC軸について回転駆動される。図3はB軸の軸方向とワーク105の長手方向とが平行な状態のチルト機構104を示し、図4は図3に示すワークが90度回転され、B軸の軸方向に対してワーク105の長手方向が直角な状態のチルト機構104を示している。
図5は本発明の第1の実施形態のサーボモータ制御システムのサーボモータ制御装置200と機械学習装置300との組、及び制御対象に含まれるサーボモータを示すブロック図である。図5のサーボモータ制御装置200と、機械学習装置300は例えば、図1に示すサーボモータ制御装置200−1と機械学習装置300−1とに対応している。
制御部204は、位置制御部2041、減算器2042、速度制御部2043、フィルタ2044、減算器2045、加算器2046及び電流制御部2047を備えている。制御部204はサーボモータ101の回転を制御する。なお、加算器202、減算器203、補正部205、及び変更部206のうちの一部又は全部は制御部に含まれてもよい。
サーボモータ101の回転速度は、サーボモータ101に関連付けられたエンコーダ102によって検出され、検出された速度検出値は速度フィードバック(速度FB)として減算器2042に入力される。またエンコーダ102によって検出された位置検出値は位置フィードバック(位置FB)として加算器202に入力される。電流検出部103は制御部204からサーボモータ101へ出力される電流を検出し、電流検出値は電流フィードバック(電流FB)として減算器2045に入力される。
減算器203は、位置指令補正値で補正された位置指令値と位置フィードバックされた位置検出値との差を求め、その差を位置偏差として、位置制御部2041と機械学習装置300とに出力する。
電流制御部2047は補正された電流偏差に基づいてサーボモータ101を制御する。
変更部206は、機械学習装置300からの行動情報又は最適化行動情報に基づいて、位置制御部2041のポジションゲインKp、フィルタ2044のフィルタ係数、及び補正部205から出力するトルクオフセット値又は位置指令補正値を変更する。機械学習装置300の詳細については後述する。
B軸が横向き(水平)の場合、チルト機構104がB軸について回転駆動すると、ワーク105を載せたテーブル1041及び支持部材1042の位置によって、ワーク105、テーブル1041及び支持部材に作用する重力及び回転の影響でB軸についてのトルクが変化する。B軸についてのトルクは例えば、図6に示すように、ワーク105を載せたテーブル1041がB軸の回りに回転したときに、ワーク105を載せたテーブル1041の回転に対して重心の位置が位置P1から位置P2へ、位置P2から位置P3へと移動したとする。重心の位置P1では、重力方向が回転方向と一致し、位置P2では重力方向は回転方向と90度異なり、位置P3では重力方向は回転方向と反対になる。
そこで、重力の影響が大きくなるときに、トルクオフセットが大きくなるように、重力の影響が小さくなるときに、トルクオフセットが小さくなるように補正部205から出力するトルクオフセット値又は位置指令補正値が変更される。例えば、トルクオフセット値又は位置指令補正値は、固定値をh、補正係数(パラメータ)をgとすると、h+g×sinφで表すことができる。ここで、角度φは図6の位置P1のときに−90°、位置P2のときに0°、位置P3のときに90°とする。なお、位置P1、位置P2及び位置P3はワーク105を載せたテーブル1041の重心の位置の一例であり、特にこの位置に限定されるものではない。変更部206は機械学習装置300からの行動情報又は最適化行動情報に基づいて、補正係数gを変更する。なお、B軸が鉛直方向に近くなるに従って重力の影響は小さくなるので、固定値h及び補正係数gの初期値は適宜設定される。
なお、負荷イナーシャが変化する場合に、位置制御部2041のポジションゲインKpを変える代わりに、速度制御部2043の積分ゲインK1vと比例ゲインK2vとの少なくとも一方を変えてもよい。また、位置制御部2041のポジションゲインKpと、速度制御部2043の積分ゲインK1vと比例ゲインK2vとの少なくとも一方とを変えてもよい。この場合、変更部206は、ポジションゲインKpの補正係数cの代わりに又は補正係数cとともに、速度制御部2043の積分ゲインK1vと比例ゲインK2vとの少なくとも一方の補正係数を変える。
制御部204から機械学習装置300へは、位置制御部2041が補正係数c、フィルタ2044がフィルタ係数Fの補正係数eを送信し、補正部205が補正係数gを送信する。
機械学習装置300は、予め設定された評価用のプログラム(以下、「評価用プログラム」という)を実行することで、サーボモータ制御装置200における制御部204の位置制御部2041のポジションゲインKpの補正係数c、制御部204のフィルタ2044のフィルタ係数Fの補正係数e、及び補正部205のトルクオフセット値又は/及び位置指令補正値の補正係数gを学習することができる。機械学習装置300は、ポジションゲインKpの補正係数cの代わりに又は補正係数cとともに、速度制御部2043の積分ゲインK1vと比例ゲインK2vとの少なくとも一方の補正係数を学習してもよい。
また、機械学習装置300は、評価用プログラムに代えて、加工を行う前の準備段階として、実際に用いる加工プログラムを用いて学習することができる。評価用プログラム又は準備段階の実際に用いる加工プログラムは所定のプログラムと呼ぶ。以下、機械学習装置300は所定のプログラムとして評価用プログラムを実行することで学習を行うとして説明する。また、機械学習装置300は補正部205のトルクオフセット値の補正係数gを学習するとして説明する。
機械学習装置300は、評価用プログラムに基づいてサーボモータ制御装置200が制御対象100を駆動させたときの、位置偏差を低減するための、ポジションゲインKpの補正係数c及びフィルタ係数Fの補正係数e、並びに補正部205のトルクオフセット値の補正係数gの組み合わせを学習する。評価用プログラムとして、図6に示した回転角度θ及びφの範囲の組み合わせが異なる複数の評価用プログラムを用意して、これらの評価用プログラムを実行させて機械学習装置300が学習を行う。例えば、回転角度θが0°から30°で、回転角度φが−30°から30°の範囲で工作機械を動作させる第1の評価用プログラム、回転角度θが30°から60°で、回転角度φが−30°から30°の範囲で工作機械を動作させる第2の評価用プログラム、回転角度θが60°から90°で、回転角度φが−30°から30°の範囲で工作機械を動作させる第3の評価用プログラムを順次実行させて学習を行うことができる。
教師あり学習が、完全な正解を示すのに対して、強化学習における報酬は、環境の一部の変化に基づく断片的な値であることが多い。このため、エージェントは、将来にわたっての報酬の合計を最大にするように行動を選択するように学習する。
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〉
上述した強化学習を行うために、図7に示すように、機械学習装置300は、状態情報取得部301、学習部302、行動情報出力部303、価値関数記憶部304、及び最適化行動情報出力部305を備える。学習部302は報酬出力部3021、価値関数更新部3022、及び行動情報生成部3023を備える。
状態情報取得部301は、取得した状態情報sを学習部302に対して出力する。
なお、最初にQ学習を開始する時点での、位置制御部2041のポジションゲインKpの補正係数c、フィルタ2044のフィルタ係数Fの補正係数e、及び補正部205のトルクオフセット値の補正係数gは、予めユーザが生成するようにする。本実施形態では、例えばユーザが作成した、位置制御部2041のポジションゲインKpの補正係数c、フィルタ2044のフィルタ係数Fの補正係数e、及び補正部205のトルクオフセット値の補正係数gの初期設定値を、強化学習により最適なものに調整する。
評価関数fとしては、例えば、
位置偏差の絶対値の積算値を算出する関数
∫|e|dt
位置偏差の絶対値に時間の重み付けをして積算値を算出する関数
∫t|e|dt
位置偏差の絶対値の2n(nは自然数)乗の積算値を算出する関数、
∫e2ndt(nは自然数)
位置偏差の絶対値の最大値を算出する関数
Max{|e|}
等を適用することができる。なお、評価関数はこれに限定されない。位置偏差集合PD(s)に基づいて、状態sにおける位置偏差値を適切に評価する関数であればよい。
価値関数Qの更新は、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。
より具体的には、最適化行動情報出力部305は、価値関数記憶部304が記憶している価値関数Qを取得する。この価値関数Qは、上述したように価値関数更新部3022がQ学習を行うことにより更新したものである。そして、最適化行動情報出力部305は、価値関数Qに基づいて、行動情報を生成し、生成した行動情報をサーボモータ制御装置200(変更部206)に対して出力する。この最適化行動情報には、行動情報出力部303がQ学習の過程において出力する行動情報と同様に、位置制御部2041のポジションゲインKpの補正係数c、フィルタ2044のフィルタ係数Fの補正係数e、及び補正部205のトルクオフセット値の補正係数gを修正する情報が含まれる。
以上のように、本発明に係る機械学習装置300を利用することで、サーボモータ制御装置200の位置制御部2041のポジションゲインKpの補正係数c、フィルタ2044のフィルタ係数Fの補正係数e、及び補正部205のトルクオフセット値の補正係数gの調整を簡易化することができる。
これらの機能ブロックを実現するために、サーボモータ制御装置200、及び機械学習装置300のそれぞれは、CPU(Central Processing Unit)等の演算処理装置を備える。また、サーボモータ制御装置200、及び機械学習装置300のそれぞれは、アプリケーションソフトウェアやOS(Operating System)等の各種の制御用プログラムを格納したHDD(Hard Disk Drive)等の補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶装置も備える。
なお、ステップS16はオンライン更新を例示しているが、オンライン更新に替えてバッチ更新又はミニバッチ更新に置き換えてもよい。
次に、図10のフローチャートを参照して、最適化行動情報出力部305による最適化行動情報の生成時の動作について説明をする。
まず、ステップS21において、最適化行動情報出力部305は、価値関数記憶部304に記憶している価値関数Qを取得する。価値関数Qは、上述したように価値関数更新部3022がQ学習を行うことにより更新したものである。
第1の実施形態は制御対象が回転角度に依存して負荷が変動する場合のサーボモータ制御システムであったが、本実施形態は制御対象110が門型工作機械であり、位置に依存して負荷が変動する場合のサーボモータ制御システムについて説明する。本実施形態のサーボモータ制御システムは主軸頭を含む門が被加工物に対して相対的にX方向、Y方向及びZ方向に移動するように、サーボモータ制御装置が、X方向に対して2つ、Y方向に対して1つ、Z方向に対して2つ設けられている。制御対象を除く、サーボモータ制御システム、サーボモータ制御装置及び機械学習装置の基本的な構成及び動作は図1〜図10を用いて説明した構成及び動作と同様である。以下の説明では、制御対象及び制御対象に関連するサーボ制御装置についてのみ説明する。
よって、主軸頭113が支柱112に対してY軸方向に移動する場合に、第1及び第2のX軸サーボモータを制御するサーボモータ制御装置の制御部及び補正部の補正係数(パラメータ)を機械学習装置が学習し、当該補正係数を調整する。また、第1及び第2のZ軸サーボモータを制御するサーボモータ制御装置の制御部及び補正部の補正係数を機械学習装置が学習し、当該補正係数を調整する。
主軸頭113が支柱112に対してY軸方向に移動する場合に、支柱112の両端に掛かる負荷が変化するので、支柱112を門の上下方向に移動する第1及び第2のZ軸サーボモータは負荷の変動に対応してトルクが変化する。よって、第1及び第2のZ軸サーボモータを制御するサーボモータ制御装置はトルクオフセットを変更することが求められる。例えば、図11に示すように、支柱112の一方の端部(支柱111−1側)から他の端部(支柱111−2側)まで主軸頭が距離Wd移動可能で、支柱112の一方の端部(支柱111−1側)から主軸頭113が距離Wd1移動するとする。
このとき、支柱112の一端(支柱111−1側)をZ1方向に移動させる第1のZ軸サーボモータの負荷は軽くなり、トルクオフセット値は、補正係数(パラメータ)をg2とすると、h2−g2×Wd1で表すことができる。ここで、h2はWd1=0のときのトルクオフセット値を示す。一方、支柱112の他端(支柱111−2側)をZ2方向に移動させる第2のZ軸サーボモータの負荷は重くなり、トルクオフセット値は、h3+g2×Wd1で表すことができる。ここで、h3はWd1=0のときのトルクオフセット値を示す。変更部206は機械学習装置300からの行動情報又は最適化行動情報に基づいて、補正係数g2を変更する。
このとき、支柱112の一端(支柱111−1側)をZ1方向に移動させる第1のZ軸サーボモータの負荷は軽くなり、フィルタ係数Fは、固定値をd2、補正係数(パラメータ)をe2、距離Wd1に依存する関数をf(Wd1)とすると、フィルタ係数FはF=d2+e2×f(Wd1)で表すことができる。関数f(Wd1)はフィルタ2044の回路構成により適宜決められる関数である。ここで、d2はWd1=0のときのフィルタ係数を示す。一方、支柱112の他端(支柱111−2側)をZ2方向に移動させる第2のZ軸サーボモータの負荷は重くなり、フィルタ係数Fは、固定値をd3、補正係数(パラメータ)をe2、距離Wd1に依存する関数をf(Wd1)とすると、距離Wd1のときに、フィルタ係数FはF=d3−e2×f(Wd1)で表すことができる。ここで、d3はWd1=0のときのフィルタ係数を示す。変更部206は機械学習装置300からの行動情報又は最適化行動情報に基づいて、補正係数e2を変更する。
主軸頭113が支柱112に対してY軸方向に移動する場合に、支柱111−1及び111−2にそれぞれ掛かる負荷が変化するので、支柱111−1及び111−2を支持台114−1、114−2に対してX1方向及びX2方向にそれぞれ移動させるときの摩擦力が変化する。よって、第1及び第2のX軸サーボモータを制御するサーボモータ制御装置はトルクに対する摩擦補正値を変更することが求められる。
このとき、支柱111−1をX1方向に移動させる第1のX軸サーボモータの負荷は軽くなり、摩擦補正値は、補正係数(パラメータ)をjとすると、k1−j×Wd1で表すことができる。ここで、k1はWd1=0のときの摩擦補正値を示す。一方、支柱111−2をX2方向に移動させる第2のX軸サーボモータの負荷は重くなり、摩擦補正値は、補正係数(パラメータ)をjとすると、k2+j×Wd1で表すことができる。ここで、k2はWd1=0のときの摩擦補正値を示す。変更部206は機械学習装置300からの行動情報又は最適化行動情報に基づいて、補正係数jを変更する。
第1の実施形態は制御対象が回転角度に依存して負荷が変動する場合のサーボモータ制御システムであったが、本実施形態は制御対象がボールねじを含む場合のサーボモータ制御システムについて説明する。制御対象を除く、サーボモータ制御システム、サーボモータ制御装置及び機械学習装置の基本的な構成及び動作は図1〜図10を用いて説明した構成及び動作と同様である。以下の説明では、制御対象及び制御対象に関連するサーボ制御装置についてのみ説明する。
制御対象120は、サーボモータ101、サーボモータ101とボールねじ123とを連結するカップリング121、サポートユニット122、ボールねじ123、ボールねじ3033に螺合されたナット124及びサポートユニット126を備えている。
サーボモータ101は、カップリング121、ボールねじ123、及びナット124を介してテーブル125を移動させ、テーブル125の上に搭載された被加工物(ワーク)を加工する。サーボモータ101の回転駆動によって、ボールねじ123に螺着されたナット124がボールねじ123の軸方向に移動する。
図12に示すように、ボールねじ123は、直線軸の一部の破損、グリス切れ等により、その一部で摩擦が強くなり、摩擦が強くなる領域でサーボモータ101に負荷がかかる場合がある。摩擦が強くなる領域は、サポートユニット122からの距離をHdとすると、距離Hdが距離Hd1から距離Hd2まで領域(Hd1<Hd<Hd2)である。この領域ではサーボモータ101にかかる負荷が変化するので、サーボモータ制御装置はトルクに対する摩擦補正値を変更することが求められる。負荷が変更する領域を含む場合の摩擦補正値f(ω)は、数式2(以下に数2として示す)に示す関係を有する。
図12に示すように、距離Hd1から距離Hd2まで領域で摩擦が強くなり、この領域で摩擦補正値e(e>0)が与えられる。
補正部205は、摩擦補正値f(ω, Hd)を、トルク補正値として加算器2046に出力する。
第1〜第3の実施形態では、最大試行回数を決めていたが、最大試行回数を決めずに機械学習を続けてもよい。最大試行回数を決めなければ、時間的な負荷の変化に応じて、サーボモータ制御装置の制御部及び補正部のパラメータが調整されるため、時間的な負荷の変化があっても、その時点での最適なサーボ性能でサーボモータ制御装置を動作させることが可能となる。
また、評価用プログラム又は準備段階の実際に用いる加工プログラムを実行して機械学習装置300で学習を行って、サーボモータ制御装置の制御部及び補正部のパラメータを設定した後に、加工プログラムを用いて制御対象を制御して、機械加工等を繰り返し行い、定期的又は不定期に、評価用プログラム又は準備段階の実際に用いる加工プログラムを実行して機械学習装置300で学習を行って、時間的な負荷の変化に応じて、サーボモータ制御装置の制御部及び補正部のパラメータを調整するようにしてもよい。
上述した実施形態では、機械学習装置300を、サーボモータ制御装置200とは別体の装置により構成したが、機械学習装置300の機能の一部又は全部をサーボモータ制御装置200により実現するようにしてもよい。
上述した実施形態では、機械学習装置300とサーボモータ制御装置200とが1対1の組として通信可能に接続されているが、例えば1台の機械学習装置300が複数のサーボモータ制御装置200とネットワーク400を介して通信可能に接続され、各サーボモータ制御装置200の機械学習を実施するようにしてもよい。
その際、機械学習装置300の各機能を、適宜複数のサーバに分散する、分散処理システムとしてもよい。また、クラウド上で仮想サーバ機能等を利用して、機械学習装置300の各機能を実現してもよい。
また、複数の同じ型名、同一仕様、又は同一シリーズのサーボモータ制御装置200−1〜100−nとそれぞれ対応する複数の機械学習装置300−1〜300−nがあった場合に、各機械学習装置300−1〜300−nにおける学習結果を共有するように構成するようにしてもよい。そうすることで、より最適なモデルを構築することが可能となる。
100、100−1〜100−n、110、120 制御対象
101 サーボモータ
200、200−1〜200−n サーボモータ制御装置
201 位置指令作成部
202 加算器
203 減算器
204 制御部
300、300−1〜300−n 機械学習装置
301 状態情報取得部
302 学習部
303 行動情報出力部
304 価値関数記憶部
305 最適化行動情報出力部
400 ネットワーク
Claims (10)
- 位置指令に基づいてサーボモータを制御する制御部のパラメータと、前記位置指令とトルク指令との少なくとも一方の補正値と、を変更する変更部を備えるサーボモータ制御装置に対して、機械学習を行う機械学習装置であって、
所定のプログラムを前記サーボモータ制御装置に実行させることにより、前記位置指令と、少なくとも位置偏差を含むサーボ状態と、前記制御部のパラメータと前記補正値の組み合わせと、を含む状態情報を、前記サーボモータ制御装置から取得する状態情報取得手段と、
前記状態情報に含まれる前記パラメータと前記補正値の組み合わせの調整情報を含む行動情報を前記サーボモータ制御装置に出力する行動情報出力手段と、
前記状態情報に含まれる前記位置偏差に基づく、強化学習における報酬の値を出力する報酬出力手段と、
前記報酬出力手段により出力される報酬の値と、前記状態情報と、前記行動情報とに基づいて行動価値関数を更新する価値関数更新手段と、
を備える機械学習装置。 - 前記報酬出力手段は、前記位置偏差の絶対値に基づいて前記報酬の値を出力する請求項1に記載の機械学習装置。
- 前記価値関数更新手段により更新された価値関数に基づいて、前記変更部に、前記制御部のパラメータと、前記位置指令と前記トルク指令の少なくとも一方の前記補正値との組み合わせを生成して出力する最適化行動情報出力手段をさらに備えた請求項1又は2に記載の機械学習装置。
- 請求項1から請求項3のいずれか1項に記載の機械学習装置と、位置指令に基づいてサーボモータを制御する制御部のパラメータと、位置指令とトルク指令の少なくとも一方の補正値とを変更する変更部を備えるサーボモータ制御装置と、該サーボモータ制御装置により制御される制御対象と、を備えたサーボモータ制御システム。
- 前記制御対象は、サーボモータと該サーボモータにより回転角度が制御される駆動体とを有し、前記回転角度に依存して前記駆動体の回転軸が受ける負荷が変動する、請求項4に記載のサーボモータ制御システム。
- 前記制御対象は、サーボモータと該サーボモータにより位置が制御される駆動体とを有し、前記位置に依存して前記制御対象が受ける負荷が変動する、請求項4に記載のサーボモータ制御システム。
- 前記負荷は時間的に変化する請求項5又は請求項6記載のサーボモータ制御システム。
- 前記サーボモータ制御装置の前記制御部は、前記位置指令に基づいて速度指令を生成する位置制御部と、該位置制御部から出力される速度指令に基づいて前記トルク指令を生成する速度制御部と、該速度制御部から出力される前記トルク指令の所定周波数範囲の周波数の信号を減衰させるフィルタとを備え、
前記変更部は、前記行動情報に基づいて前記位置制御部と前記速度制御部との少なくとも一方のゲイン、前記フィルタのフィルタ係数、及び前記位置指令又は前記トルク指令に加えるトルクオフセット値と摩擦補正値との少なくとも一方を変更する、請求項4から7のいずれか1項に記載のサーボモータ制御システム。 - 請求項1から請求項3のいずれか1項に記載の機械学習装置と、位置指令に基づいてサーボモータを制御する制御部のパラメータと、位置指令とトルク指令の少なくとも一方の補正値とを、前記機械学習装置からの行動情報に基づいて、変更する変更部と、を備えたサーボモータ制御装置。
- 位置指令に基づいてサーボモータを制御する制御部のパラメータと、前記位置指令とトルク指令の少なくとも一方の補正値と、を変更する変更部を備えるサーボモータ制御装置に対して、機械学習を行う機械学習装置の機械学習方法であって、
所定のプログラムを前記サーボモータ制御装置に実行させることにより、前記位置指令と、少なくとも位置偏差を含むサーボ状態と、前記制御部のパラメータと前記補正値の組み合わせと、を含む状態情報を、前記サーボモータ制御装置から取得し、
前記状態情報に含まれる前記パラメータと前記補正値の組み合わせの調整情報を含む行動情報を前記サーボモータ制御装置に出力しと、
前記状態情報に含まれる前記位置偏差に基づく、強化学習における報酬の値と、前記状態情報と、前記行動情報とに基づいて行動価値関数を更新する、機械学習方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018010676A JP6697491B2 (ja) | 2018-01-25 | 2018-01-25 | 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法 |
DE102019200080.0A DE102019200080A1 (de) | 2018-01-25 | 2019-01-07 | Vorrichtung für maschinelles Lernen, Servomotor-Steuereinrichtung, Servomotor-Steuersystem und Verfahren für maschinelles Lernen |
US16/243,657 US10824121B2 (en) | 2018-01-25 | 2019-01-09 | Machine learning device, servo motor controller, servo motor control system, and machine learning method |
CN201910063984.0A CN110083080B (zh) | 2018-01-25 | 2019-01-23 | 机器学习装置及方法、伺服电动机控制装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018010676A JP6697491B2 (ja) | 2018-01-25 | 2018-01-25 | 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019128830A true JP2019128830A (ja) | 2019-08-01 |
JP6697491B2 JP6697491B2 (ja) | 2020-05-20 |
Family
ID=67145357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018010676A Active JP6697491B2 (ja) | 2018-01-25 | 2018-01-25 | 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10824121B2 (ja) |
JP (1) | JP6697491B2 (ja) |
CN (1) | CN110083080B (ja) |
DE (1) | DE102019200080A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6564432B2 (ja) * | 2017-08-29 | 2019-08-21 | ファナック株式会社 | 機械学習装置、制御システム、制御装置、及び機械学習方法 |
JP7000371B2 (ja) * | 2019-03-22 | 2022-01-19 | ファナック株式会社 | 機械学習装置、制御システム及び機械学習方法 |
JP7343319B2 (ja) * | 2019-07-19 | 2023-09-12 | ファナック株式会社 | サーボ制御装置 |
JP2021018644A (ja) * | 2019-07-22 | 2021-02-15 | コニカミノルタ株式会社 | 機械学習装置、機械学習方法及び機械学習プログラム |
US20210116888A1 (en) * | 2019-10-21 | 2021-04-22 | Semiconductor Components Industries, Llc | Systems and methods for system optimization and/or failure detection |
US11316583B2 (en) * | 2019-12-09 | 2022-04-26 | Intelligent Fusion Technology, Inc. | Predistorter, predistorter controller, and high power amplifier linearization method |
CN111626539B (zh) * | 2020-03-03 | 2023-06-16 | 中国南方电网有限责任公司 | 一种基于q强化学习的电网运行断面动态生成方法 |
DE112020006573B4 (de) * | 2020-03-17 | 2024-06-06 | Mitsubishi Electric Corporation | Steuerungssystem, Motorsteuerungsvorrichtung und Vorrichtung für Maschinelles Lernen |
EP4069456A4 (en) * | 2021-01-27 | 2024-01-03 | Apex Brands Inc | SPINDLE AND SPINDLE SYSTEM WITH LOGIC SUPPLY BUS FAULT DIAGNOSIS |
CN113050433B (zh) * | 2021-05-31 | 2021-09-14 | 中国科学院自动化研究所 | 机器人控制策略迁移方法、装置及系统 |
DE112021007575T5 (de) * | 2021-12-13 | 2024-02-22 | Mitsubishi Electric Corporation | Steuerung, Steuerungssystem, Lernvorrichtung und Inferenzvorrichtung |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016190305A (ja) * | 2015-03-31 | 2016-11-10 | Dmg森精機株式会社 | 位置決め装置のパラメータ設定方法、及びパラメータ設定装置、並びにこのパラメータ設定装置を備えた位置決め装置 |
JP2017034844A (ja) * | 2015-07-31 | 2017-02-09 | ファナック株式会社 | ゲインの最適化を学習する機械学習装置及び機械学習装置を備えた電動機制御装置並びに機械学習方法 |
JP2017070105A (ja) * | 2015-09-30 | 2017-04-06 | ファナック株式会社 | パラメータを自動調整する機能を有する機械学習装置及び電動機制御装置 |
JP2017071011A (ja) * | 2015-10-06 | 2017-04-13 | Okk株式会社 | 機械構造体の幾何誤差同定方法と当該幾何誤差同定方法を使用した数値制御方法、数値制御装置及びマシニングセンタ |
JP2017102613A (ja) * | 2015-11-30 | 2017-06-08 | ファナック株式会社 | 機械の送り軸の送りの滑らかさを最適化する機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008225533A (ja) | 2007-03-08 | 2008-09-25 | Fanuc Ltd | サーボ制御装置 |
JP4323542B2 (ja) | 2007-10-22 | 2009-09-02 | ファナック株式会社 | 学習制御機能を備えた電動機の制御装置 |
EP2634655B1 (en) | 2010-10-27 | 2019-02-20 | Makino Milling Machine Co., Ltd. | Numerical control method of machine tool, and numerical control device |
CN103414419A (zh) * | 2013-08-07 | 2013-11-27 | 沈阳工业大学 | 基于模糊rbf网络滑模的双直线电机轮廓补偿装置与方法 |
CN104635621A (zh) * | 2013-11-08 | 2015-05-20 | 沈阳高精数控技术有限公司 | 基于现场总线的xy工作台过象限凸起补偿方法 |
JP6177705B2 (ja) | 2014-02-21 | 2017-08-09 | 三菱重工業株式会社 | 機械装置の制御装置及び摩擦補償用のゲイン決定方法 |
-
2018
- 2018-01-25 JP JP2018010676A patent/JP6697491B2/ja active Active
-
2019
- 2019-01-07 DE DE102019200080.0A patent/DE102019200080A1/de active Pending
- 2019-01-09 US US16/243,657 patent/US10824121B2/en active Active
- 2019-01-23 CN CN201910063984.0A patent/CN110083080B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016190305A (ja) * | 2015-03-31 | 2016-11-10 | Dmg森精機株式会社 | 位置決め装置のパラメータ設定方法、及びパラメータ設定装置、並びにこのパラメータ設定装置を備えた位置決め装置 |
JP2017034844A (ja) * | 2015-07-31 | 2017-02-09 | ファナック株式会社 | ゲインの最適化を学習する機械学習装置及び機械学習装置を備えた電動機制御装置並びに機械学習方法 |
JP2017070105A (ja) * | 2015-09-30 | 2017-04-06 | ファナック株式会社 | パラメータを自動調整する機能を有する機械学習装置及び電動機制御装置 |
JP2017071011A (ja) * | 2015-10-06 | 2017-04-13 | Okk株式会社 | 機械構造体の幾何誤差同定方法と当該幾何誤差同定方法を使用した数値制御方法、数値制御装置及びマシニングセンタ |
JP2017102613A (ja) * | 2015-11-30 | 2017-06-08 | ファナック株式会社 | 機械の送り軸の送りの滑らかさを最適化する機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置 |
Also Published As
Publication number | Publication date |
---|---|
US20190227502A1 (en) | 2019-07-25 |
CN110083080B (zh) | 2020-12-18 |
JP6697491B2 (ja) | 2020-05-20 |
DE102019200080A1 (de) | 2019-07-25 |
CN110083080A (zh) | 2019-08-02 |
US10824121B2 (en) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6697491B2 (ja) | 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法 | |
JP6490127B2 (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 | |
JP6538766B2 (ja) | 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法 | |
JP6499720B2 (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 | |
JP6474456B2 (ja) | 機械学習装置、サーボ制御システム及び機械学習方法 | |
JP6748135B2 (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 | |
CN110376965B (zh) | 机器学习装置、控制装置以及机器学习方法 | |
JP6740278B2 (ja) | 機械学習装置、制御装置、及び機械学習方法 | |
JP6784722B2 (ja) | 出力装置、制御装置、及び評価関数値の出力方法 | |
CN111176114B (zh) | 输出装置、控制装置、以及评价函数和机器学习结果的输出方法 | |
JP7000373B2 (ja) | 機械学習装置、制御装置及び機械学習方法 | |
JP6841801B2 (ja) | 機械学習装置、制御システム及び機械学習方法 | |
JP7405537B2 (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム及び機械学習方法 | |
JP6978452B2 (ja) | 機械学習装置、制御装置、及び機械学習の探索範囲の設定方法 | |
JP6806746B2 (ja) | モータ制御装置 | |
JP6740263B2 (ja) | 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法 | |
JP6740290B2 (ja) | 機械学習装置、制御装置、及び機械学習方法 | |
WO2023181418A1 (ja) | 制御パラメータを調整する調整装置、制御システム及び制御パラメータ調整方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190612 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20190717 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20190819 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200121 |
|
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: 20200324 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200424 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6697491 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |