JP6806746B2 - モータ制御装置 - Google Patents

モータ制御装置 Download PDF

Info

Publication number
JP6806746B2
JP6806746B2 JP2018177726A JP2018177726A JP6806746B2 JP 6806746 B2 JP6806746 B2 JP 6806746B2 JP 2018177726 A JP2018177726 A JP 2018177726A JP 2018177726 A JP2018177726 A JP 2018177726A JP 6806746 B2 JP6806746 B2 JP 6806746B2
Authority
JP
Japan
Prior art keywords
speed
controller
machine learning
unit
motor 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
Application number
JP2018177726A
Other languages
English (en)
Other versions
JP2020047228A (ja
Inventor
亮太郎 恒木
亮太郎 恒木
聡史 猪飼
聡史 猪飼
隆貴 下田
隆貴 下田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FANUC Corp
Original Assignee
FANUC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by FANUC Corp filed Critical FANUC Corp
Priority to JP2018177726A priority Critical patent/JP6806746B2/ja
Priority to DE102019213924.8A priority patent/DE102019213924B4/de
Priority to CN201910870551.6A priority patent/CN110941242B/zh
Priority to US16/571,470 priority patent/US10739734B2/en
Publication of JP2020047228A publication Critical patent/JP2020047228A/ja
Application granted granted Critical
Publication of JP6806746B2 publication Critical patent/JP6806746B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/416Numerical 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 of velocity, acceleration or deceleration
    • G05B19/4163Adaptive control of feed or cutting velocity
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/0285Adaptive 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 using neural networks and fuzzy logic
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F15FLUID-PRESSURE ACTUATORS; HYDRAULICS OR PNEUMATICS IN GENERAL
    • F15BSYSTEMS ACTING BY MEANS OF FLUIDS IN GENERAL; FLUID-PRESSURE ACTUATORS, e.g. SERVOMOTORS; DETAILS OF FLUID-PRESSURE SYSTEMS, NOT OTHERWISE PROVIDED FOR
    • F15B21/00Common features of fluid actuator systems; Fluid-pressure actuator systems or details thereof, not covered by any other group of this subclass
    • F15B21/02Servomotor systems with programme control derived from a store or timing device; Control devices therefor
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F15FLUID-PRESSURE ACTUATORS; HYDRAULICS OR PNEUMATICS IN GENERAL
    • F15BSYSTEMS ACTING BY MEANS OF FLUIDS IN GENERAL; FLUID-PRESSURE ACTUATORS, e.g. SERVOMOTORS; DETAILS OF FLUID-PRESSURE SYSTEMS, NOT OTHERWISE PROVIDED FOR
    • F15B21/00Common features of fluid actuator systems; Fluid-pressure actuator systems or details thereof, not covered by any other group of this subclass
    • F15B21/08Servomotor systems incorporating electrically operated control means
    • F15B21/087Control strategy, e.g. with block diagram
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4141Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by a controller or microprocessor per axis
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36521Select by combination of detected force, acceleration, speed, work rate
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41021Variable gain
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42152Learn, self, auto tuning, calibrating, environment adaptation, repetition

Description

本発明は、モータ制御装置に関する。
従来、一般的なモータ制御装置において、加工条件、制御条件等によって位置ループゲイン、速度ループゲイン等のサーボゲインや加減速時定数等のパラメータを調整することが知られている。
或いは、モータ制御装置において、加工条件、制御条件等に応じて最適なパラメータを用いることができるように加工条件、制御条件等に基づいて、フィードバック制御器やフィードフォワード制御器におけるパラメータを最適なパラメータに設定変更したり、また、予め複数のフィードバック制御器やフィードフォワード制御器を備えて加工条件、制御条件等に基づいて、制御器を切り替える技術が知られている。
例えば、特許文献1は、バックラッシの有無に応じて、モータを制御する制御ゲインの切り替えを行うことができる制御ゲイン切り替え方式を開示している。
また、特許文献2は、制御条件に応じて最適なサーボ系のパラメータを設定するため、制御条件毎に最適なパラメータの値を記憶したパラメータテーブルを設け、NCプログラムの実行中にパラメータの切り替え指令によってパラメータテーブルを選択して設定することが可能な数値制御装置を開示している。
特開平08−263143号公報 特開平11−231914号公報
しかし、特許文献1に係る技術において、パラメータ自体は基本的に固定値であり、パラメータがいったん固定されると、その後運転環境等に応じてパラメータがきめ細かく調整されるものではなかった。
具体的には、特許文献1に係る技術においては、バックラッシの有無に応じて2つの値の間で制御ゲインの値を切り替えるのみであり、例えばバックラッシ量に応じてこの2つの値を調整するものではなかった。
すなわち、特許文献1に係る技術においては、当初設定されたパラメータの値自体を調整するものではないため、例えば工作機械の運転環境が変化した場合、この変化に伴う加工や制御の品質の劣化を排除することはできなかった。
また、特許文献2に係る技術は、制御条件に応じて最適なパラメータを設定するものの、具体的には、早送り処理時のパラメータと切削処理時のパラメータを変更することが開示されているに過ぎない。
これに対して、軸の位置によって、工作機械、ロボット又は産業機械の特性が変化することが知られている。例えば、ボールねじを用いた工作機械においては、軸位置がボールねじの端にある場合と、中央にある場合とでは、工作機械の共振周波数や剛性が異なる。
具体的には、例えば、図10に示すように、ボールねじ8033の長さをl、カップリング8031側のボールねじ8033の端点を原点0、テーブル804の位置である軸位置をxとする場合、ねじ軸、すなわちボールねじ8033の剛性をK、ナット8032の剛性をK、軸受け(不図示)の剛性をKとしたとき、以下の非特許文献によれば軸方向剛性Kは、以下の式(1)(以下に数1として示す)で計算されることが知られている。
Figure 0006806746
<非特許文献>
松原厚『精密位置決め・送り系設計のための制御工学』森北出版,2008
そして、シングルアンカ、すなわち、モータ側において、ねじ軸のスラスト方向(軸方向)とラジアル方向(回転方向)が固定されており、反モータ側において、ねじ軸のラジアル方向のみが拘束されている場合、ねじ軸(鋼)の縦弾性係数をE、ねじ軸断面積をAとすると、式(1)のKは、以下の式(2)(以下に数2として示す)で計算されることが知られている。
Figure 0006806746
一方、ダブルアンカ、すなわち、モータ側及び反モータ側の双方において、ねじ軸のスラスト方向とラジアル方向が固定されている場合、式(1)のKは、以下の式(3)(以下に数3として示す)で計算されることが知られている。
Figure 0006806746
このように、いずれの場合においても、軸方向剛性は軸の位置に依存する。
他方、サーボモータ800とボールねじ8033の慣性をJ、テーブル804の質量をR、回転から直動への変換係数をR[m/rad]としたとき、ボールねじ8033の二慣性モデルにおいて、反共振周波数ωは、以下の式(4)(以下に数4として示す)で計算されることが知られている。
Figure 0006806746
更に慣性比α=RM/Jを用いると、共振周波数ωは、以下の式(5)(以下に数5として示す)で計算されることが知られている。
Figure 0006806746
このように、共振周波数、反共振周波数共に軸方向剛性に依存するため、軸の位置によって変化する。
したがって、軸の位置によって、工作機械、ロボット又は産業機械の剛性、共振周波数、反共振周波数が異なることから、モータ制御装置において高い制御性能を発揮するためには、軸の位置毎に、例えば、フィードバック制御器やフィードフォワード制御器におけるパラメータを調整し、軸の位置に応じて、当該パラメータの設定変更又は当該パラメータを用いる制御器に切り替えることが望まれる。
この点、特許文献1、特許文献2等には、軸の位置毎に、例えばフィードバック制御器やフィードフォワード制御器(以下、「制御器」ともいう)におけるパラメータを調整し、軸の位置に応じて、制御器に設定されているパラメータを変更したり、或いは当該パラメータを用いる制御器に切り替えることについては何ら開示されていなかった。
本発明は、例えば、位置指令値又は位置検出器により検出されるそれぞれの軸位置情報に応じて、制御器に適用するパラメータや制御器を機械学習により調整することが可能であると共に、機械学習により調整されたパラメータを保持し、それぞれの軸の位置毎に当該パラメータや当該制御器を切り替えることが可能なモータ制御装置を提供することを目的とする。
(1) 本発明に係るモータ制御装置(例えば、後述の「モータ制御装置200」)は、工作機械、ロボット、又は産業機械のサーボモータ又はスピンドルモータを制御する制御器を備えるモータ制御装置であって、当該モータ制御装置に係る、軸の位置情報に基づいて、前記制御器の切替条件を判定する切替判断部(例えば、後述の「切替判断装置300」)、又は前記切替判断部と通信する第1の通信手段と、前記切替条件毎に、機械学習によって前記制御器のパラメータを調整する機械学習部(例えば、後述の「機械学習装置500」)、又は前記機械学習部と通信する第2の通信手段と、前記機械学習部により調整された前記切替条件毎のパラメータを保持するパラメータ保持部(例えば、後述の「パラメータ判断装置400」)、又は前記パラメータ保持部と通信する第3の通信手段とを備え、前記切替判断部は、前記パラメータの調整後に前記切替条件を判定した時に、前記切替条件に対応する調整後のパラメータを前記制御器に適用する。
(2) (1)のモータ制御装置は、前記軸に係る位置指令を作成する位置指令作成部(例えば、後述の「位置指令作成部1011」)と、前記軸に係る位置を検出する位置検出部と、前記位置指令と、前記位置検出部によって検出された前記位置のフィードバック情報とから速度指令を作成する位置制御器(例えば、後述の「位置制御部2014」)と、速度を検出する速度検出部と、前記位置制御器によって作成された前記速度指令と、前記速度検出部によって検出された前記速度のフィードバック情報とからトルク指令を作成する速度制御器(例えば、後述の「速度制御部2017」)とを備え、前記機械学習部は、前記切替条件毎に、前記位置制御器又は前記速度制御器のパラメータを調整してもよい。
(3) (1)のモータ制御装置は、前記速度指令を作成する速度指令作成部と、前記速度を検出する速度検出部と、前記速度指令と、前記速度検出部によって検出された前記速度のフィードバック情報とからトルク指令を作成する速度制御器とを備え、前記機械学習部は、前記切替条件毎に、前記速度制御器のパラメータを調整してもよい。
(4) (1)のモータ制御装置は、前記位置指令から位置フィードフォワード情報を作成する位置フィードフォワード制御器(例えば、後述の「位置フィードフォワード制御部2020」)及び/又は前記位置指令から速度フィードフォワード情報を作成する速度フィードフォワード制御器(例えば、後述の「速度フィードフォワード制御部2021」)とを備え、前記機械学習部は、前記切替条件毎に、前記位置フィードフォワード制御器及び/又は前記速度フィードフォワード制御器のパラメータを調整してもよい。
(5) (1)〜(4)のモータ制御装置において、前記機械学習部は、一つの前記切替条件に対して種類が異なる複数のパラメータを調整し、前記切替判断部は、前記複数のパラメータから選択される一つのパラメータを、前記制御器に適用してもよい。
本発明によれば、例えば、位置指令値又は位置検出器により検出されるそれぞれの軸位置情報に応じて、制御器に適用するパラメータや制御器を機械学習により調整することが可能であると共に、機械学習により調整されたパラメータを保持し、それぞれの軸の位置毎に当該パラメータや当該制御器を切り替えることが可能なモータ制御装置を提供することが可能となる。
本発明の実施形態に係るモータ制御装置を含むモータ制御システムの全体構成を示すブロック図である。 本発明の機械学習装置が備える機械学習部の構成を示すブロック図である。 本発明の第1実施形態に係るモータ制御装置の全体構成を示すブロック図である。 本発明の第1実施形態に係るモータ制御装置に含まれる位置制御部の構成を示すブロック図である。 本発明の第1実施形態に係るモータ制御装置に含まれる速度制御部の構成を示すブロック図である。 本発明の第1実施形態に備わる切替判断装置の動作を示すフローチャートである。 本発明の第2実施形態に係るモータ制御装置の全体構成を示すブロック図である。 本発明の第3実施形態に係るモータ制御装置の全体構成を示すブロック図である。 本発明の第3実施形態に係るモータ制御装置に含まれる位置フィードフォワード制御部の構成を示すブロック図である。 本発明の第3実施形態に係るモータ制御装置に含まれる速度フィードフォワード制御部の構成を示すブロック図である。 本発明の第4実施形態に係るモータ制御装置の全体構成を示すブロック図である。 モータ制御装置の制御対象の一例となる、サーボモータを含む工作機械の一部を示すブロック図である。
以下、本発明の実施形態について図面を用いて詳細に説明する。
〔1 第1実施形態〕
〔1.1 全体構成〕
図1は本発明の第1実施形態に係るモータ制御システムを示すブロック図である。モータ制御システム10は、図1に示すように、CNC(Computerized Numerical Control)装置100、モータ制御装置200、切替判断装置300、パラメータ保持装置400、機械学習装置500を備える。CNC装置100とモータ制御装置200、モータ制御装置200と切替判断装置300、切替判断装置300とパラメータ保持装置400、パラメータ保持装置400と機械学習装置500はそれぞれ接続インターフェースを介して直接に接続、又はそれぞれネットワークを介して接続されており、相互に通信を行うことが可能である。なお、ネットワークは、例えば、工場内に構築されたLAN(Local Area Network)や、インターネット、公衆電話網、或いは、これらの組み合わせである。ネットワークにおける具体的な通信方式や、有線接続及び無線接続のいずれであるか等については、特に限定されない。
CNC装置100は、加工プログラムに基づいて、送り軸の位置指令値や主軸の速度指令値を作成し、作成した位置指令値や速度指令値を含む指令をモータ制御装置200に対して出力することにより、工作機械、ロボット、又は産業機械のサーボモータ又はスピンドルモータ等のモータを制御することで、工作機械、ロボット、又は産業機械による加工を制御する装置である。
モータ制御装置200は、CNC装置100から取得した位置指令値又は速度指令値に基づいて、自身が備える各制御器により、位置指令、速度指令、及びトルク指令を生成し、これらの指令をサーボモータ又はスピンドルモータ等のモータに出力することによりモータを制御する。
モータ制御装置200は、CNC装置100からの位置指令に基づいて、例えばPI制御等を利用した位置制御、速度制御及び電流制御を行うことにより、送り軸におけるモータの駆動電流を生成する。例えば、モータ制御装置200は、位置指令と、例えば送り軸におけるモータに設けられたエンコーダで検出された位置フィードバックとの位置偏差に基づいて速度指令を生成し(位置制御)、この速度指令とエンコーダで検出された速度フィードバックとに基づいて送り軸におけるモータのトルク指令を生成し(速度制御)、このトルク指令に基づいて送り軸におけるモータの駆動電流を生成する(電流制御)。
また、モータ制御装置200は、例えば、位置指令又は位置フィードバックに基づいて軸位置情報を切替判断装置300に出力する。更に、モータ制御装置200は、切替判断装置300を介してパラメータ保持装置400から、上記の制御器で用いるパラメータを取得すると共に、切替判断装置300から、軸位置に応じて用いる制御器やパラメータを切り替えるための切替情報を取得する。
モータ制御装置200の構成の詳細については、図3を参照することにより後述する。
切替判断装置300は、モータ制御装置200から取得した軸位置情報に基づいて、モータ制御装置200で用いる制御器やパラメータを切り替えるための切替条件を判定し、この判定に基づいて、モータ制御装置200がどの制御器やパラメータを実際に用いるかを示す切替情報を、モータ制御装置200に出力する。
更に、切替判断装置300は、パラメータ保持装置400から上記のパラメータを取得すると共に、このパラメータをモータ制御装置200に出力する。
パラメータ保持装置400は、モータ制御装置200の制御器で用いるパラメータを、機械学習装置500から取得し、保持する。更に、パラメータ保持装置400は、自身が保持するパラメータを切替判断装置300に出力する。
機械学習装置500は、上記の切替条件毎に、機械学習によってモータ制御装置200の制御器で用いるパラメータを調整し、調整したパラメータをパラメータ保持装置400に出力する。
機械学習装置500は、各切替条件に対応する複数の機械学習部510を備える。
なお、以下の説明では、予め設定された複数の位置情報(例えば、位置x=0,0.1,0.2、・・・(m))に基づいてパラメータを切り替える切替条件の一例を用いている。このため、図1では、軸位置の範囲が閾値を境にn分割され、各範囲が各切替条件に対応することを想定し、この想定に基づいて、機械学習装置500がn個の機械学習部である機械学習部510_1,510_2,・・・510_nを備える例が示される。
また、以下においては、説明の便宜上、軸位置の範囲がn分割され、分割された個数に応じた種類のパラメータがモータ制御装置200に設定されることを前提に本発明のモータ制御システム及びモータ制御装置の構成、動作等について記載する。
以下、本実施形態における機械学習として強化学習を例示して説明する。なお、本発明における機械学習は強化学習に限られず、他の任意の機械学習(例えば教師あり学習等)を行う場合にも適用できる。
機械学習装置500に含まれる各機能ブロックの説明に先立って、強化学習の基本的な仕組みについて説明する。エージェント(本実施形態における機械学習装置500に相当)は、環境の状態を観測し、ある行動を選択し、当該行動に基づいて環境が変化する。環境の変化に伴って、何らかの報酬が与えられ、エージェントはより良い行動の選択(意思決定)を学習する。
教師あり学習が、完全な正解を示すのに対して、強化学習における報酬は、環境の一部の変化に基づく断片的な値であることが多い。このため、エージェントは、将来にわたっての報酬の合計を最大にするように行動を選択するように学習する。
このように、強化学習では、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、すなわち将来的に得られる報酬を最大にするための学習する方法を学ぶ。これは、本実施形態において、例えば、位置偏差を低減するための行動情報を選択するという、未来に影響をおよぼすような行動を獲得できることを表している。
ここで、強化学習としては、任意の学習方法を用いることができるが、以下の説明では、或る環境の状態sの下で、行動aを選択する価値Q(s,a)を学習する方法であるQ学習(Q−learning)を用いる場合を例にとって説明をする。
Q学習では、或る状態sのとき、取り得る行動aのなかから、価値Q(s,a)の最も高い行動aを最適な行動として選択することを目的とする。
しかしながら、Q学習を最初に開始する時点では、状態sと行動aとの組合せについて、価値Q(s,a)の正しい値は全く分かっていない。そこで、エージェントは、或る状態sの下で様々な行動aを選択し、その時の行動aに対して、与えられる報酬に基づいて、より良い行動の選択をすることにより、正しい価値Q(s,a)を学習していく。
また、将来にわたって得られる報酬の合計を最大化したいので、最終的にQ(s,a)=E[Σ(γ)r]となるようにすることを目指す。ここでE[]は期待値を表し、tは時刻、γは後述する割引率と呼ばれるパラメータ、rは時刻tにおける報酬、Σは時刻tによる合計である。この式における期待値は、最適な行動に従って状態変化した場合の期待値である。しかしQ学習の過程において最適な行動が何であるのかは不明であるので、様々な行動を行うことにより、探索しながら強化学習をする。このような価値Q(s,a)の更新式は、例えば、次の式(6)(以下に数6として示す)により表すことができる。
Figure 0006806746
上記の式(6)において、sは、時刻tにおける環境の状態を表し、aは、時刻tにおける行動を表す。行動aにより、状態はst+1に変化する。rt+1は、その状態の変化により得られる報酬を表している。また、maxの付いた項は、状態st+1の下で、その時に分かっている最もQ値の高い行動aを選択した場合のQ値にγを乗じたものになる。ここで、γは、0<γ≦1のパラメータで、割引率と呼ばれる。また、αは、学習係数で、0<α≦1の範囲とする。
上述した式(6)は、試行aの結果、返ってきた報酬rt+1を元に、状態sにおける行動aの価値Q(s,a)を更新する方法を表している。
この更新式は、状態sにおける行動aの価値Q(s,a)よりも、行動aによる次の状態st+1における最良の行動の価値max Q(st+1,a)の方が大きければ、Q(s,a)を大きくし、逆に小さければ、Q(s,a)を小さくすることを示している。つまり、或る状態における或る行動の価値を、それによる次の状態における最良の行動の価値に近づける。ただし、その差は、割引率γと報酬rt+1のあり方により変わってくるが、基本的には、ある状態における最良の行動の価値が、それに至る一つ前の状態における行動の価値に伝播していく仕組みになっている。
ここで、Q学習では、すべての状態行動ペア(s,a)についてのQ(s,a)のテーブルを作成して、学習を行う方法がある。しかし、すべての状態行動ペアのQ(s,a)の値を求めるには状態数が多すぎて、Q学習が収束するのに多くの時間を要してしまう場合がある。
そこで、公知のDQN(Deep Q−Network)と呼ばれる技術を利用するようにしてもよい。具体的には、行動価値関数Qを適当なニューラルネットワークを用いて構成し、ニューラルネットワークのパラメータを調整することにより、価値関数Qを適当なニューラルネットワークで近似することにより価値Q(s,a)の値を算出するようにしてもよい。DQNを利用することにより、Q学習が収束するのに要する時間を短くすることが可能となる。なお、DQNについては、例えば、以下の非特許文献に詳細な記載がある。
<非特許文献>
「Human-level control through deep reinforcement learning」、Volodymyr Mnih1著[online]、[平成29年1月17日検索]、インターネット〈URL:http://files.davidqiu.com/research/nature14236.pdf〉
以上説明をしたQ学習を機械学習装置500が行う。
図2は、全ての機械学習部510に共通の機能ブロックを示すブロック図である。機械学習部510は、それぞれ状態情報取得部511、学習部512、行動情報出力部513、価値関数記憶部514、及び最適化行動情報出力部515を備える。また、学習部512は、それぞれ報酬出力部5121、価値関数更新部5122、及び行動情報生成部5123を備える。
状態情報取得部511は、モータ制御装置200における制御器で用いるパラメータに基づいて、予め設定された評価用プログラムを実行することで取得されるモータ制御装置200の位置偏差情報を含む指令、フィードバック等のフィードバック情報となる状態情報Sを、モータ制御装置200から取得する。この状態情報Sは、Q学習における環境状態Sに相当する。状態情報取得部511は、取得した状態情報Sを学習部512に対して出力する。
なお、Q学習等の強化学習については本明細書の末尾で参考として説明する。
学習部512は、或る状態Sに係る環境の下で、ある行動Aを選択する場合の価値Q(S,A)を学習する部分である。ここで「行動A」とは、具体的には、フィードバック等の状態Sに対して、最適なパラメータを調整する行動を示す。
学習部512は、報酬出力部5121、価値関数更新部5122及び行動情報生成部5123を備える。
報酬出力部5121は、行動Aを選択した場合、状態Sに基づいて所定の評価関数を用いることにより報酬rを算出する。
ここで、状態Sにおける状態変数である位置偏差の集合(位置偏差集合)をPD(S)、行動Aにより状態Sから変化した状態S´における状態変数である位置偏差集合をPD(S´)で示す。また、状態Sにおける位置偏差の値を、予め設定された評価関数f(PD(s))に基づいて算出される値とする。
なお、「位置偏差の集合」とは、前述したn分割された軸位置の範囲内で計測される位置偏差の集合を意味する。
「評価関数f」としては、例えば、
位置偏差の絶対値の積算値を算出する関数
∫|e|dt
位置偏差の絶対値に時間の重み付けをして積算値を算出する関数
∫t|e|dt
位置偏差の絶対値の2n(nは自然数)乗の積算値を算出する関数、
∫e2ndt(nは自然数)
位置偏差の絶対値の最大値を算出する関数
Max{|e|}
等が例示されるが、これらに限られるものではない。
また、「報酬r」を次のように設定する。
行動Aにより状態Sが状態S´に修正された場合、状態S´における位置偏差の値が、行動Aにより修正される前の状態Sにおける位置偏差の値よりも大きくなった場合に、報酬の値を負の値とする。
他方、行動Aにより修正された状態情報S´における位置偏差の値が、行動Aにより修正される前の状態Sにおける位置偏差の値よりも小さくなった場合に、報酬の値を正の値とする。
価値関数更新部5122は、状態Sと、行動Aと、行動Aを状態Sに適用した場合の状態S´と、報酬の値rと、に基づいてQ学習を行うことにより、価値関数記憶部514が記憶する価値関数Qを更新する。なお、パラメータの再学習を行う場合、Q学習の開始時においては、パラメータ保持装置400に保持しているパラメータを初期値として設定することができる。
行動情報生成部5123は、現在の状態Sに対して、Q学習の過程における行動Aを選択する。行動情報生成部5123は、Q学習の過程において、モータ制御装置200の制御器で用いるパラメータを修正する動作(Q学習における行動Aに相当)を行わせるために、行動情報Aを生成して、生成した行動情報Aを行動情報出力部513に対して出力する。より具体的には、行動情報生成部2123は、例えば、状態Sに含まれる制御器で用いられるパラメータに対してインクレメンタル(例えば0.01程度)に加算又は減算させる行動Aを行動情報出力部213に対して出力する。この行動情報Aはパラメータ修正情報となる。
行動情報生成部5123は、制御器で用いられるパラメータの増加又は減少を適用して、状態S´に遷移して、プラスの報酬(正の値の報酬)が返った場合、次の行動情報A´としては、制御器で用いられるパラメータに対して、前回のアクションと同様にインクレメンタルに加算又は減算させる等、位置偏差の値がより小さくなるような行動A´を選択する方策を取るようにしてもよい。
また、逆に、マイナスの報酬(負の値の報酬)が返った場合、行動情報生成部2123は、次の行動A´としては、例えば、制御器で用いられるパラメータに対して、前回のアクションとは逆にインクレメンタルに減算又は加算させる等、位置偏差が前回の値よりも小さくなるような行動A´を選択する方策を取るようにしてもよい。
行動情報出力部513は、学習部512から出力される行動情報Aとなるパラメータ修正情報をモータ制御装置200の制御器に対して送信する部分である。モータ制御装置200は上述したように、この行動情報Aに基づいて、現在の状態S、すなわち現在設定されている制御器のパラメータを微修正することで、次の状態S´(すなわち修正されたパラメータ)に遷移する。
価値関数記憶部514は、価値関数Qを記憶する記憶装置である。価値関数Qは、例えば状態S、行動A毎にテーブル(以下、行動価値テーブルと呼ぶ)として格納してもよい。価値関数記憶部514に記憶された価値関数Qは、価値関数更新部5122により更新される。
最適化行動情報出力部515は、価値関数更新部5122がQ学習を行うことにより更新した価値関数Qに基づいて、価値関数Q(s,a)が最大となる動作をモータ制御装置200に行わせるための行動情報a(以下、「最適化行動情報」と呼ぶ)を生成する。
より具体的には、最適化行動情報出力部515は、価値関数記憶部514が記憶している価値関数Qを取得する。この価値関数Qは、上述したように価値関数更新部5122がQ学習を行うことにより更新したものである。そして、最適化行動情報出力部515は、価値関数Qに基づいて、行動情報を生成し、生成した行動情報をパラメータ保持装置400に対して出力する。
このように、パラメータ保持装置400は、モータ制御装置200の制御部で用いられるパラメータであって、機械学習装置500の機械学習による調整が完了したパラメータを保持する。モータ制御装置200では、パラメータ保持装置400に保持されるパラメータを用いて、位置偏差の値を低減するように動作することができる。
以上のように、本発明に係る機械学習装置500は、各切替条件に対応する複数の機械学習部510を備えることで、切替条件毎に、機械学習によってモータ制御装置200の制御器で用いるパラメータを調整することが可能となる。
なお、n分割された軸位置の範囲の各々に対応して、各機械学習部510_1,510_2,・・・510_nが機械学習をするが、機械学習装置500全体としての機械学習は、各機械学習部510_1、510_2,・・・510_nに対し、以下の方法により振り分けられる。
軸位置の範囲が、x(=0)≦x<x,x≦x<x,・・・,xn−1≦x<xにn分割されている場合、機械学習装置500がモータ制御装置200から取得したフィードバック情報に、軸位置がx(=0)≦x<xにあることを示す軸位置情報が含まれるとき、機械学習装置500は、このフィードバック情報が、機械学習部510_1による学習対象であると判定する。
具体的には、機械学習装置500は、評価用加工プログラムの動作中の現時点の軸位置情報に基づいて、軸位置が前述したx(=0)≦x<xの範囲内にある場合、機械学習部210_1による学習対象であると判定する。
機械学習装置500がモータ制御装置200から取得したフィードバック情報に、軸位置がx≦x<xにあることを示す軸位置情報が含まれるとき、機械学習装置500は、このフィードバック情報が、機械学習部510_2による学習対象であると判定する。
具体的には、機械学習装置500は、評価用加工プログラムの動作中の現時点の軸位置情報に基づいて、軸位置が前述したx≦x<xの範囲内にある場合、機械学習部210_2による学習対象であると判定する。
以下同様に、機械学習装置500がモータ制御装置200から取得したフィードバック情報に、軸位置がxi−1≦x<x(1≦i≦n)にあることを示す軸位置情報が含まれるとき、機械学習装置500は、このフィードバック情報が、機械学習部510_iによる学習対象であると判定する。
具体的には、機械学習装置500は、軸位置が前述したxi−1≦x<xの範囲内にある場合、機械学習部210_iによる学習対象であると判定する。
なお、評価用加工プログラムは、x≦x<xを移動するように設定されている。これにより、x(=0)≦x<x,x≦x<x,・・・,xn−1≦x<xの全区画に対応するパラメータが生成される。
また、機械学習後、機械学習部210_1の最適化行動情報出力部515は、軸位置がx(=0)≦x<xにあるとき、制御器で機械学習部210_1で生成されたパラメータを用いることを示す切替条件と共に、このパラメータをパラメータ保持装置400に出力する。また、機械学習部210_2の最適化行動情報出力部515は、軸位置がx≦x<xにあるとき、制御器で機械学習部210_2で生成されたパラメータを用いることを示す切替条件と共に、このパラメータをパラメータ保持装置400に出力する。以下同様に、機械学習部210_i(1≦i≦n)の最適化行動情報出力部515は、軸位置がxi−1≦x<xにあるとき、制御器で機械学習部210_iで生成されたパラメータを用いることを示す切替条件と共に、このパラメータをパラメータ保持装置400に出力する。
〔1.2 モータ制御装置〕
図3はモータ制御装置200の一構成例を示すブロック図である。説明の便宜上、図3において、CNC装置100が備える位置指令作成部1011、切替判断装置300及びパラメータ保持装置400も示している。なお、位置指令作成部1011は、CNC装置100において、加工プログラムに基づいて位置指令値を作成する機能ブロックである。
図3に示すように、モータ制御装置200は、減算器2013、位置制御部2014、減算器2016、速度制御部2017、積分器2019を備えている。モータ制御装置200の各構成部は、スピンドルモータ又はサーボモータ毎に設けられる。
減算器2013はCNC装置100(位置指令作成部2011)から位置指令値を取得し、位置指令値と位置フィードバックされた検出位置との差を求め、位置偏差として位置制御部2014に出力する。
位置制御部2014は、位置偏差にポジションゲインKPを乗じた値を、速度指令値として減算器2016に出力する。
図4Aは位置制御部2014の構成を示す。位置制御部2014は、位置制御部2014_1,2014_2,・・・2014_nを備える。位置制御部2014_1は、位置偏差にポジションゲインKPを乗じた値を、速度指令値として減算器2016に出力する。位置制御部2014_2は、位置偏差にポジションゲインKPを乗じた値を、速度指令値として減算器2016に出力する。位置制御部2014_nは、位置偏差にポジションゲインKPを乗じた値を、速度指令値として減算器2016に出力する。
これらのポジションゲインKP,KP2・・・KPは、各々機械学習装置510の機械学習部510_1,510_2・・・510_nによって調整されたパラメータである。これらのパラメータは、機械学習装置500からパラメータ保持装置400に出力され、パラメータ保持装置400から切替判断装置300に出力され、切替判断装置300から位置制御部2014_1,2014_2,・・・2014_nに出力される。
なお、位置制御部2014_1,2014_2,・・・2014_nに機械学習装置500によって調整されたパラメータが一旦設定されると、工作機械、ロボット又は産業機械による実際の加工の途中で、設定されたパラメータが変更されることはない。
後述のように、切替判断装置300は、軸位置情報に基づいて切替条件を判定し、判定結果に対応する切替情報として、モータ制御装置200の位置制御部2014として位置制御部2014_1,2014_2,・・・2014_nのいずれを用いるかを示す情報を、モータ制御装置200に出力する。これによりモータ制御装置200では、位置制御部2014として位置制御部2014_1,2014_2,・・・2014_nのいずれかに切り替える。
減算器2016は位置制御部2014の出力と速度フィードバックされた速度検出値との差を求め、その差を速度偏差として速度制御部2017に出力する。
速度制御部2017は、速度偏差に比例ゲインKVを乗じた値と、速度偏差に積分ゲインKivを乗じて積分した値とを加算して、トルク指令値としてサーボモータ800に出力する。
図4Bは速度制御部2017の構成を示す。速度制御部2017は、速度制御部2017_1,2017_2,・・・2017_nを備える。速度制御部2017_1は、速度偏差に比例ゲインKVを乗じた値と、速度偏差に積分ゲインKivを乗じて積分した値とを加算して、トルク指令値としてサーボモータ800に出力する。速度制御部2017_2は、速度偏差に比例ゲインKVを乗じた値と、速度偏差に積分ゲインKivを乗じて積分した値とを加算して、トルク指令値としてサーボモータ800に出力する。速度制御部2017_nは、速度偏差に比例ゲインKVを乗じた値と、速度偏差に積分ゲインKivを乗じて積分した値とを加算して、トルク指令値としてサーボモータ800に出力する。
これらの比例ゲインKV,KV・・・KVは、各々機械学習装置510の機械学習部510_1,510_2,・・・510_nによって調整されたパラメータである。同様に、積分ゲインKiv,Kiv,・・・Kivは、各々機械学習装置510の機械学習部510_1,510_2,・・・510_nによって調整されたパラメータである。これらのパラメータの各々は、機械学習装置500からパラメータ保持装置400に出力され、パラメータ保持装置400から切替判断装置300に出力され、切替判断装置300から速度制御部2017_1,2017_2,・・・2017_nに出力される。
なお、速度制御部2017_1,2017_2,・・・2017_nに機械学習装置500によって調整されたパラメータが設定されると、工作機械、ロボット又は産業機械による実際の加工の途中で、設定されたパラメータが変更されることはない。
後述のように、切替判断装置300は、軸位置情報に基づいて切替条件を判定し、判定結果に対応する切替情報として、モータ制御装置200の速度制御部2017として速度制御部2017_1,2017_2,・・・2017_nのいずれを用いるかを示す情報を、モータ制御装置200に出力する。これによりモータ制御装置200では、速度制御部2017として速度制御部2017_1,2017_2,・・・2017_nのいずれかに切り替える。
なお、上記のように、位置制御部2014で用いられるパラメータと、速度制御部2017で用いられるパラメータとの双方が機械学習装置500で調整されるが、機械学習装置500は、いずれか一方のパラメータを調整するのみでもよい。
図10はモータ制御装置200の制御対象700の一例となる、サーボモータ800を含む工作機械の一部を示すブロック図である。
モータ制御装置200は、サーボモータ800で連結機構803を介してテーブル804を移動させることで、テーブル804の上に搭載された被加工物(ワーク)を加工する。連結機構803は、サーボモータ800に連結されたカップリング8031と、カップリング8031に固定されるボールねじ8033とを有し、ボールねじ8033にナット8032が螺合されている。サーボモータ800の回転駆動によって、ボールねじ8033に螺着されたナット8032がボールねじ8033の軸方向に移動する。ナット8032の移動によってテーブル804が移動する。
制御対象700のサーボモータ800の回転角度位置は、サーボモータ800に関連付けられた、位置検出部となるロータリーエンコーダ801によって検出され、検出された信号は速度フィードバックされる速度検出値として利用される。速度検出値は積分器2019で積分され、位置フィードバックされる位置検出値として利用される。
あるいは、サーボモータ800がリニアスケールを備える場合には、積分器2019による速度検出値の積分値を位置検出値とする代わりに、リニアスケールによる位置フィードバック値を適用する。
以上のように、モータ制御装置200は構成される。
〔1.3 軸位置と共振周波数及び剛性との関係〕
前述したように、軸の位置毎に、トルクから位置までの伝達特性は変化することから、軸の位置毎に例えばフィードバック制御器やフィードフォワード制御器におけるパラメータを機械学習により調整し、軸の位置毎に当該パラメータを切り換えることで高い制御性能を発揮することができる。
すなわち、軸の位置によって、工作機械、ロボット又は産業機械の剛性、共振周波数、反共振周波数が異なるので、高い制御性能を発揮するためには、軸の位置毎にパラメータを調整し、軸の位置に係る切替条件に応じて、当該パラメータ又は当該パラメータを用いる制御器を切り替える必要がある。
以下では、図3における切替判断装置300が、モータ制御装置200から取得する軸位置情報に応じて位置制御部2014及び速度制御部2017を切り替える動作について説明する。
なお、以下の説明では、予め設定された複数の位置情報(例えば、位置x=0,0.1,0.2,・・・(m))に基づいてパラメータを切り替える一例を用いている。
〔1.4 切替判断装置の動作〕
図5は、切替判断装置300による制御器切替処理の動作の一例を示すフローチャートである。
ステップS1において、切替判断装置300は、モータ制御装置200から軸の位置xを取得する。
ステップS2において、初期設定値としてi=0(x=0)を設定する。
ステップS3において、軸の位置xが閾値x以上、閾値xi+1未満場合(S3:YES)には、処理はステップS4に移行する。一方、軸の位置xが閾値xi+1を超える場合(S3:NO)には、処理はステップS5に移行する。
ステップS4において、切替判断装置300はモータ制御装置200に対し、位置制御部2014として位置制御部2014_i+1を用いる切替情報、及び/又は速度制御部2017として速度制御部2017_i+1を用いる切替情報を出力する。
より詳細には、機械学習装置500によって、位置制御部2014のパラメータが調整され、位置制御部2014が位置制御部2014_1,2014_2,・・・2014_nのn個の制御器を備える場合には、切替判断装置300はモータ制御装置200に対し、位置制御部2014として位置制御部2014_i+1を用いる切替情報を出力する。
一方、機械学習装置500によって、速度制御部2017のパラメータが調整され、速度制御部2017が速度制御部2017_1,2017_2,・・・2017_nのn個の制御器を備える場合には、切替判断装置300はモータ制御装置200に対し、速度制御部2017として速度制御部2017_i+1を用いる切替情報を出力する。
その後、処理はステップS1に戻る(リターン)。
ステップS5において、iに1を加算する。その後、処理はステップS3に戻る。
なお、上記のフローにより、モータ制御装置200の動作時に用いる位置制御部2014及び速度制御部2017が決定した後、工作機械、ロボット又は産業機械による実際の加工の途中で、位置制御部2014及び速度制御部2017は基本的には変更されない。工作機械、ロボット又は産業機械による加工の品質にばらつきが発生することを避けるためである。
〔2 第2実施形態〕
図6は、第2実施形態に係るモータ制御システム10Aにおけるモータ制御装置200Aの一構成例を示すブロック図である。以下では、説明の便宜上、モータ制御システム10A及びモータ制御装置200Aが、モータ制御システム10及びモータ制御装置200と異なる点について説明し、同一の構成についての記載は省略する。
第1実施形態に係るモータ制御装置200においては、位置制御部2014が位置制御部2014_1,2014_2,・・・2014_nの複数の位置制御部を備え、速度制御部2017が速度制御部2017_1,2017_2,・・・2017_nの複数の速度制御部を備える。これに伴い、モータ制御システム10において、切替判断装置300は、軸位置情報に基づく切替条件に応じて、位置制御部2014_1,2014_2,・・・2014_nの間で制御器を切り替えると共に、速度制御部2017_1,2017_2,・・・2017_nの間で制御器を切り替える。
一方、本実施形態に係るモータ制御装置200Aにおいては、速度制御部2017が速度制御部2017_1,2017_2,・・・2017_nの複数の速度制御部を備えるものの、位置制御部2014Aは複数の位置制御部を備えない。
これに伴い、モータ制御システム10Aにおいて、機械学習装置500は、切替条件毎に速度制御部2017のパラメータを調整する一方で、位置制御部2014のパラメータは調整しない。また、切替判断装置300Aは、軸位置情報に基づく切替条件に応じて、速度制御部2017_1,2017_2,・・・2017_nの間で制御器を切り替えるものの、位置制御部2014内での切り替えは実行しない。
〔3 第3実施形態〕
図7は、第3実施形態に係るモータ制御システム10Bにおけるモータ制御装置200Bの一構成例を示すブロック図である。以下では、説明の便宜上、モータ制御システム10B及びモータ制御装置200Bが、モータ制御システム10及びモータ制御装置200と異なる点について説明し、同一の構成についての記載は省略する。
モータ制御装置200Bは、モータ制御装置200が備える構成要素に加えて、位置フィードフォワード制御部2020と速度フィードフォワード制御部2021とを備える。
位置フィードフォワード制御部2020は、式(7)(以下に数7として示す)で示す伝達関数Ff(s)で示される位置フィードフォワード計算処理を行い加算器2015に出力する。
Figure 0006806746
図8Aは位置フィードフォワード制御部2020の構成を示す。位置フィードフォワード制御部2020は、位置フィードフォワード制御部2020_1,2020_2,・・・2020_nのn個の制御器とを備える。位置フィードフォワード制御部2020_1は、伝達関数Ff(s)としてFf(s)で示される位置フィードフォワード計算処理を行い加算器2015に出力する。位置フィードフォワード制御部2020_2は、伝達関数Ff(s)としてFf(s)で示される位置フィードフォワード計算処理を行い加算器2015に出力する。位置フィードフォワード制御部2020_nは、伝達関数Ff(s)としてFf(s)で示される位置フィードフォワード計算処理を行い加算器2015に出力する。
これらの伝達関数Ff(s),Ff(s),・・・Ff(s)の係数は、各々機械学習装置510の機械学習部510_1,510_2,・・・510_nによって調整されたパラメータである。これらのパラメータは、機械学習装置500からパラメータ保持装置400に出力され、パラメータ保持装置400から切替判断装置300に出力され、切替判断装置300から位置フィードフォワード制御部2020_1,2020_2,・・・2020_nに出力される。
切替判断装置300Bは、軸位置情報に基づいて切替条件を判定し、判定結果となる切替条件に対応する切替情報として、モータ制御装置200Bの位置フィードフォワード制御部2020として位置フィードフォワード制御部2020_1,2020_2,・・・2020_nのいずれを用いるかを示す情報を、モータ制御装置200Bに出力する。これによりモータ制御装置200Bでは、位置フィードフォワード制御部2020として位置フィードフォワード制御部2020_1,2020_2,・・・2020_nのいずれかに切り替える。
なお、位置フィードフォワード制御部2020_1,2020_2,・・・2020_nに機械学習装置500によって調整されたパラメータが一旦設定されると、工作機械、ロボット又は産業機械による実際の加工の途中で、設定されたパラメータが変更されることはない。
速度フィードフォワード制御部2021は、式(8)(以下に数8として示す)で示す伝達関数Gf(s)で示される速度フィードフォワード計算処理を行い加算器2018に出力する。
Figure 0006806746
図8Bは速度フィードフォワード制御部2021の構成を示す。速度フィードフォワード制御部2021は、速度フィードフォワード制御部2021_1,2021_2,・・・2021_nを備える。速度フィードフォワード制御部2021_1は、伝達関数Gf(s)としてGf(s)で示される速度フィードフォワード計算処理を行い加算器2018に出力する。速度フィードフォワード制御部2021_2は、伝達関数Gf(s)としてGf(s)で示される速度フィードフォワード計算処理を行い加算器2018に出力する。速度フィードフォワード制御部2021_nは、伝達関数Gf(s)としてGf(s)で示される速度フィードフォワード計算処理を行い加算器2018に出力する。
これらの伝達関数Gf(s),Gf(s)・・・Gf(s)の係数は、各々機械学習装置510の機械学習部510_1,510_2,・・・510_nによって調整されたパラメータである。これらのパラメータは、機械学習装置500からパラメータ保持装置400に出力され、パラメータ保持装置400から切替判断装置300に出力され、切替判断装置300から速度フィードフォワード制御部2021_1,2021_2,・・・2021_nに出力される。
なお、速度フィードフォワード制御部2021_1,2021_2,・・・2021_nに機械学習装置500によって調整されたパラメータが一旦設定されると、工作機械、ロボット又は産業機械による実際の加工の途中で、設定されたパラメータが変更されることはない。
切替判断装置300Bは、軸位置情報に基づいて切替条件を判定し、判定結果に対応する切替情報として、モータ制御装置200の速度フィードフォワード制御部2021として速度フィードフォワード制御部2021_1,2021_2,・・・2021_nのいずれを用いるかを示す情報を、モータ制御装置200Bに出力する。これによりモータ制御装置200Bでは、速度フィードフォワード制御部2021として速度フィードフォワード制御部2021_1,2021_2,・・・2021_nのいずれかに切り替える。
なお、機械学習装置500は、位置フィードフォワード制御部2020で用いられるパラメータと、速度フィードフォワード制御部2021で用いられるパラメータの双方を調整してもよく、一方のみを調整してもよい。
また、切替判断装置300Bは、位置フィードフォワード制御部2020_1,2020_2,・・・2020_nの間での制御器の切り替えと、速度フィードフォワード制御部2021_1,2021_2,・・・2021_nの間での制御器の切り替えとの双方の切り替えを実行してもよく、一方の切り替えのみを実行してもよい。
〔4 第4実施形態〕
図9は、第4実施形態に係るモータ制御システム10Cにおけるモータ制御装置200Cの一構成例を示すブロック図である。以下では、説明の便宜上、モータ制御システム10C及びモータ制御装置200Cが、モータ制御システム10及びモータ制御装置200と異なる点について説明し、同一の構成についての記載は省略する。
モータ制御システム10〜10Bにおいては、機械学習装置500が各切替条件に対応して各制御器におけるパラメータを調整し、調整されたパラメータの各々は、位置制御部2014、速度制御部2017、位置フィードフォワード制御部2020、速度フィードフォワード制御部2021を構成する複数の制御部の各々に設定されていた。その後、切替判断装置300〜300Bは、軸位置情報に基づいて切替条件を判定し、複数の制御部から、判定結果に対応した制御部を選択することを示す切替情報を、モータ制御装置200〜200Bに出力していた。
一方、第4実施形態に係るモータ制御装置200Cにおいて、位置制御部2014C、速度制御部2017C、位置フィードフォワード制御部2020C、速度フィードフォワード制御部2021Cの各々は、一つの制御部を備える。そして、切替判断装置300Cは、軸位置情報に基づいて切替条件を判定し、複数のパラメータから、判定結果に対応した各制御器におけるパラメータを選択し、それぞれ位置制御部2014C、速度制御部2017C、位置フィードフォワード制御部2020C、速度フィードフォワード制御部2021Cに設定する。
なお、図9では、切替判断装置300Cが、位置フィードフォワード制御部2020Cと速度フィードフォワード制御部2021Cで用いるパラメータを選択し、各々のパラメータが、位置フィードフォワード制御部2020Cと速度フィードフォワード制御部2021Cに設定される態様を図示しているが、これには限られない。切替判断装置300Cは、位置制御部2014C、速度制御部2017C、位置フィードフォワード制御部2020C、速度フィードフォワード制御部2021Cのうち、任意の制御部で用いるパラメータを選択し、当該パラメータが制御部に設定されてもよい。
〔5 変形例〕
〔5.1 変形例1〕
上記の実施形態においては、機械学習装置500が一つの切替条件に対して一つ又は一組のパラメータを調整し、この一つ又は一組のパラメータが各制御部に設定される構成としていたが、これには限られない。
例えば、一つの切替条件に対して、工作機械、ロボット、又は産業機械による加工品質等の程度に応じて複数種類のパラメータを調整し、パラメータ保持装置400がこれら複数種類のパラメータを保持してもよい。この場合、例えば切替判断装置300〜300Cが、複数種類のパラメータを表示する表示装置(不図示)を備え、ユーザが表示装置に備わるタッチパネル等の入力部から任意のパラメータを選択することにより、選択されたパラメータが各制御部に設定される構成としてもよい。
また、パラメータ保持装置400は、再度機械学習を行うことでパラメータを更新する場合、既に保持されているパラメータに対して上書きをする代わりに、パラメータのバージョン管理を行うように、新たなバージョン番号を付して、追記保存するようにしてもよい。そうすることで、通常は、最新のバージョンのパラメータを利用し、例えば、何らかの異常が発生した場合、過去に最適値として設定されたパラメータを再利用することができる。
〔5.2 変形例2〕
また、上記の実施形態においては、予め設定された評価用プログラムを実行することにより、機械学習装置500が機械学習することで、パラメータを調整するとしたが、これには限られない。工作機械、ロボット、又は産業機械による実際の加工中に機械学習することにより、パラメータを調整してもよい。
〔5.3 変形例3〕
また、上記の実施形態においては、モータ制御装置200〜200Cと、切替判断装置300〜300Cと、パラメータ保持装置400と、機械学習装置500とが別体となっていたが、これには限られない。モータ制御装置200〜200Cと同一の筺体の中に、切替判断装置300〜300Cと、パラメータ保持装置400と、機械学習装置500のうち一以上が組み込まれていてもよい。
上記のモータ制御装置及びモータ制御システムに含まれる各構成部は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記のモータ制御装置及びモータ制御システムに含まれる各構成部のそれぞれの協働により行なわれるモータ制御方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
10 10A 10B 10C モータ制御システム
100 CNC装置
200 200A 200B 200C モータ制御装置
300 300A 300B 300C 切替判断装置
400 パラメータ保持装置
500 機械学習装置
2014 位置制御部
2017 速度制御部
2020 位置フィードフォワード制御部
2021 速度フィードフォワード制御部

Claims (4)

  1. 工作機械、ロボット、又は産業機械のサーボモータ又はスピンドルモータを制御する制御器を備えるモータ制御装置であって、
    当該モータ制御装置の制御に係る軸の位置情報に基づいて、前記制御器の切替条件を判定する切替判断部、又は前記切替判断部と通信する第1の通信手段と、
    前記切替条件毎に、機械学習によって前記制御器のパラメータを調整する、各切替条件に対応する複数の機械学習部、又は前記機械学習部と通信する第2の通信手段と、
    前記機械学習部により調整された前記切替条件毎のパラメータを保持するパラメータ保持部、又は前記パラメータ保持部と通信する第3の通信手段とを備え、
    前記機械学習部は、一つの前記切替条件に対して種類が異なる複数のパラメータを調整し、
    前記切替判断部は、前記パラメータの調整後に前記切替条件を判定した時に、前記切替条件に対応する調整後のパラメータを前記制御器に適用すると共に、前記複数のパラメータから選択される一つのパラメータを、前記制御器に適用するモータ制御装置。
  2. 前記軸に係る位置指令を作成する位置指令作成部と、
    前記軸に係る位置を検出する位置検出部と、
    前記位置指令と、前記位置検出部によって検出された前記位置のフィードバック情報とから速度指令を作成する位置制御器と、
    速度を検出する速度検出部と、
    前記位置制御器によって作成された前記速度指令と、前記速度検出部によって検出された前記速度のフィードバック情報とからトルク指令を作成する速度制御器とを備え、
    前記機械学習部は、前記切替条件毎に、前記位置制御器又は前記速度制御器のパラメータを調整する、請求項1に記載のモータ制御装置。
  3. 前記速度指令を作成する速度指令作成部と、
    前記速度を検出する速度検出部と、
    前記速度指令と、前記速度検出部によって検出された前記速度のフィードバック情報とからトルク指令を作成する速度制御器とを備え、
    前記機械学習部は、前記切替条件毎に、前記速度制御器のパラメータを調整する、請求項1に記載のモータ制御装置。
  4. 前記位置指令から位置フィードフォワード情報を作成する位置フィードフォワード制御器及び/又は前記位置指令から速度フィードフォワード情報を作成する速度フィードフォワード制御器とを備え、
    前記機械学習部は、前記切替条件毎に、前記位置フィードフォワード制御器及び/又は前記速度フィードフォワード制御器のパラメータを調整する、請求項1に記載のモータ制御装置。
JP2018177726A 2018-09-21 2018-09-21 モータ制御装置 Active JP6806746B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018177726A JP6806746B2 (ja) 2018-09-21 2018-09-21 モータ制御装置
DE102019213924.8A DE102019213924B4 (de) 2018-09-21 2019-09-12 Motorsteuervorrichtung
CN201910870551.6A CN110941242B (zh) 2018-09-21 2019-09-16 电动机控制装置
US16/571,470 US10739734B2 (en) 2018-09-21 2019-09-16 Motor control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018177726A JP6806746B2 (ja) 2018-09-21 2018-09-21 モータ制御装置

Publications (2)

Publication Number Publication Date
JP2020047228A JP2020047228A (ja) 2020-03-26
JP6806746B2 true JP6806746B2 (ja) 2021-01-06

Family

ID=69781642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018177726A Active JP6806746B2 (ja) 2018-09-21 2018-09-21 モータ制御装置

Country Status (4)

Country Link
US (1) US10739734B2 (ja)
JP (1) JP6806746B2 (ja)
CN (1) CN110941242B (ja)
DE (1) DE102019213924B4 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7021160B2 (ja) * 2019-09-18 2022-02-16 株式会社東芝 ハンドリング装置、ハンドリング方法及びプログラム
JP2021174259A (ja) 2020-04-24 2021-11-01 横河電機株式会社 制御装置、制御方法および制御プログラム
DE112021003494T5 (de) * 2020-08-24 2023-04-20 Fanuc Corporation Steuervorrichtung für elektromotor, maschinensystem und steuerverfahren

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62203203A (ja) * 1986-03-03 1987-09-07 Sumitomo Electric Ind Ltd サ−ボ回路
JPH0720905A (ja) * 1993-07-02 1995-01-24 Toei Denki Kk サーボ制御装置
EP0754317B1 (de) * 1994-04-08 1998-09-23 Siemens Aktiengesellschaft Einrichtung zur kompensation von nichtlinearitäten an maschinenachsen
US5751585A (en) * 1995-03-20 1998-05-12 Electro Scientific Industries, Inc. High speed, high accuracy multi-stage tool positioning system
JPH08263143A (ja) 1995-03-23 1996-10-11 Fanuc Ltd 外乱オブザーバを用いた制御ゲイン切り替え方式
JP3252695B2 (ja) * 1996-03-01 2002-02-04 松下電器産業株式会社 電動機制御装置
JPH11102211A (ja) 1997-09-25 1999-04-13 Toshiba Mach Co Ltd サーボ調整方法およびその装置
JPH11231914A (ja) 1998-02-12 1999-08-27 Toyoda Mach Works Ltd 数値制御装置
JP2000293234A (ja) * 1999-04-08 2000-10-20 Matsushita Electric Ind Co Ltd モータ制御ゲイン切替方法
WO2004092859A1 (ja) * 2003-04-11 2004-10-28 Mitsubishi Denki Kabushiki Kaisha サーボ制御器
JP4575508B1 (ja) * 2009-05-20 2010-11-04 ファナック株式会社 デュアル位置フィードバック制御を行うサーボ制御装置
JP5816812B2 (ja) * 2011-06-07 2015-11-18 パナソニックIpマネジメント株式会社 モータ駆動装置
JP5850960B2 (ja) * 2014-02-06 2016-02-03 ファナック株式会社 位置検出器の内挿誤差を補正するモータ制御装置
JP5919329B2 (ja) * 2014-06-12 2016-05-18 ファナック株式会社 制御軸切換えを行う数値制御装置
JP5987081B1 (ja) * 2015-04-02 2016-09-06 ファナック株式会社 基準軸を切り替えて学習制御を行うサーボ制御装置
JP6457369B2 (ja) * 2015-09-30 2019-01-23 ファナック株式会社 パラメータを自動調整する機能を有する機械学習装置及び電動機制御装置
JP6140331B1 (ja) * 2016-04-08 2017-05-31 ファナック株式会社 主軸または主軸を駆動するモータの故障予知を学習する機械学習装置および機械学習方法、並びに、機械学習装置を備えた故障予知装置および故障予知システム
CN106357192A (zh) * 2016-09-05 2017-01-25 桂林电子科技大学 电流自适应控制降低开关磁阻电机转矩脉动的方法与系统
JP6457472B2 (ja) * 2016-12-14 2019-01-23 ファナック株式会社 制御システム及び機械学習装置
WO2018151215A1 (ja) * 2017-02-20 2018-08-23 株式会社安川電機 制御装置及び制御方法

Also Published As

Publication number Publication date
US20200096955A1 (en) 2020-03-26
CN110941242A (zh) 2020-03-31
JP2020047228A (ja) 2020-03-26
DE102019213924B4 (de) 2023-02-09
US10739734B2 (en) 2020-08-11
DE102019213924A1 (de) 2020-04-02
CN110941242B (zh) 2024-04-02

Similar Documents

Publication Publication Date Title
JP6474449B2 (ja) 調整装置及び調整方法
JP6490127B2 (ja) 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP6740277B2 (ja) 機械学習装置、制御装置、及び機械学習方法
CN109116811B (zh) 机器学习装置和方法、伺服控制装置、伺服控制系统
US10824121B2 (en) Machine learning device, servo motor controller, servo motor control system, and machine learning method
JP6740279B2 (ja) 調整装置及び調整方法
JP6748135B2 (ja) 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP6474456B2 (ja) 機械学習装置、サーボ制御システム及び機械学習方法
JP6740278B2 (ja) 機械学習装置、制御装置、及び機械学習方法
JP6784722B2 (ja) 出力装置、制御装置、及び評価関数値の出力方法
JP6806746B2 (ja) モータ制御装置
JP6577508B2 (ja) 制御装置
CN111857052A (zh) 机器学习装置、数值控制系统以及机器学习方法
JP6841801B2 (ja) 機械学習装置、制御システム及び機械学習方法
JP2020077310A (ja) 出力装置、制御装置、及び評価関数と機械学習結果の出力方法
CN112445181A (zh) 机器学习装置、伺服控制装置、伺服控制系统以及机器学习方法
JP7101091B2 (ja) モータ制御装置のフィードフォワード制御器導出装置、モータ制御装置、制御装置、及びフィードフォワード制御器導出方法
JP2020154989A (ja) 機械学習装置、制御システム及び機械学習方法
JP2020013268A (ja) 機械学習装置、制御装置、及び機械学習方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200210

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200416

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201009

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: 20201104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201204

R150 Certificate of patent or registration of utility model

Ref document number: 6806746

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150