JP6856591B2 - 制御装置、cnc装置及び制御装置の制御方法 - Google Patents

制御装置、cnc装置及び制御装置の制御方法 Download PDF

Info

Publication number
JP6856591B2
JP6856591B2 JP2018169921A JP2018169921A JP6856591B2 JP 6856591 B2 JP6856591 B2 JP 6856591B2 JP 2018169921 A JP2018169921 A JP 2018169921A JP 2018169921 A JP2018169921 A JP 2018169921A JP 6856591 B2 JP6856591 B2 JP 6856591B2
Authority
JP
Japan
Prior art keywords
unit
control device
machine
health check
deterioration
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
JP2018169921A
Other languages
English (en)
Other versions
JP2020042585A (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 JP2018169921A priority Critical patent/JP6856591B2/ja
Priority to US16/552,155 priority patent/US11287801B2/en
Priority to DE102019213431.9A priority patent/DE102019213431A1/de
Priority to CN201910842338.4A priority patent/CN110888398B/zh
Publication of JP2020042585A publication Critical patent/JP2020042585A/ja
Application granted granted Critical
Publication of JP6856591B2 publication Critical patent/JP6856591B2/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/406Numerical 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 monitoring or safety
    • G05B19/4065Monitoring tool breakage, life or condition
    • 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/4142Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor
    • 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/406Numerical 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 monitoring or safety
    • G05B19/4062Monitoring servoloop, e.g. overload of servomotor, loss of feedback or reference
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial 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]
    • 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/31From computer integrated manufacturing till monitoring
    • G05B2219/31455Monitor process status
    • 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/34Director, elements to supervisory
    • G05B2219/34013Servocontroller
    • 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/42271Monitor parameters, conditions servo for maintenance, lubrication, repair purposes

Description

本発明は、モータの駆動対象となる機械の駆動部の動作特性の劣化を推定するために、モータを制御するモータ制御装置を駆動するヘルスチェック動作を行う制御装置、この制御装置を用いたCNC(Computerized Numerical Control)装置及び制御装置の制御方法に関する。
工作機械又は産業機械等の機械の故障又は異常を検出する装置は、例えば特許文献1から特許文献3に記載されている。
特許文献1は、工作機械の主軸または主軸を駆動するモータが故障に至る前に、その故障の兆候を検出することができる機械学習装置を記載している。具体的には、機械学習装置が、工作機械の主軸または主軸を駆動するモータの故障予知を学習する機械学習装置であって、モータを制御するモータ制御装置の出力データ、モータの状態を検出する検出器の出力データ、および、主軸またはモータの状態を測定する測定器の出力データの少なくとも1つを含む状態変数を観測する状態観測部と、主軸またはモータの故障の有無または故障の度合いを判定した判定データを取得する判定データ取得部と、状態変数および判定データの組合せに基づいて作成されるデータセットに従って、主軸またはモータの故障予知を学習する学習部と、を備えている。
特許文献2は、状況に応じて正確な故障予知を可能にする故障予知システムを記載している。具体的には、故障予知システムは、産業機械の故障に関連付けられる条件を学習する機械学習装置を備えている。機械学習装置は、センサの出力データ、制御ソフトウェアの内部データ、又はそれらに基づいて得られる計算データなどから構成される状態変数を産業機械の動作中又は静止中に観測する状態観測部と、産業機械の故障の有無又は故障の度合いを表す判定データを取得する判定データ取得部と、状態変数及び判定データの組合せに基づいて作成される訓練データセットに従って、産業機械の故障に関連付けられる条件を教師あり学習によって学習する学習部と、を備えている。
特許文献3は、診断精度の向上が可能な工作機械の工具の異常検知装置を記載している。具体的には、異常検知装置は、工具に関係する複数の測定値を、測定データ(振動情報、切削力情報、音情報、主軸負荷、モータ電流、電力値等)として取得する取得部と、正常な状態の加工時に取得した測定データを、1クラスの機械学習で学習して、正常モデルを作成する正常モデル部と、正常モデル作成後の加工時に測定データを取得しながら、正常モデルに基づいて、当該測定データが正常か異常かを診断する異常診断部と、異常診断部で異常と診断された測定データを、異常診断部とは異なる方法で再診断する再診断部とを有している。
特開2017−188030号公報 特開2017−120649号公報 特開2018−24055号公報
特許文献1から特許文献3は、機械学習により工作機械又は産業機械の故障又は異常を検出する装置を記載しているが、機械学習は、情報処理量が多いために一定の学習時間を要し、機械学習のために機械の稼働効率が低下する。
本発明は、工作機械又は産業機械等の機械の駆動部の動作特性の劣化を、機械学習を行うことなく推定できる制御装置、この制御装置を用いたCNC装置及び制御装置の制御方法を提供することを目的とする。
(1) 本発明に係る制御装置は、モータ(例えば、後述のサーボモータ300)の駆動対象となる機械(例えば、後述の機械400)の駆動部の動作特性を決める制御パラメータを機械学習して、前記制御パラメータを、前記モータを制御するモータ制御装置(例えば、後述のサーボ制御装置200)に設定する機械学習部(例えば、後述の、機械学習部550)と、
前記駆動部の動作特性を取得するために前記モータ制御装置を駆動するヘルスチェック動作の指示を出力するヘルスチェック動作指示部(例えば、後述の、ヘルスチェック動作指示部510)と、
前記ヘルスチェック動作の指示に基づいて駆動した、前記モータ制御装置又は前記機械から前記駆動部の動作特性を示す情報を取得して、該情報を用いた評価関数に基づいて評価値を算出し、前記評価値を前記ヘルスチェック動作の実行時の時刻情報又は前記モータの動作情報を対応付けて記憶部(例えば、後述の、記憶部530)に記憶する動作評価部(例えば、後述の、動作評価部520)と、
前記ヘルスチェック動作をさせたときに、前記動作評価部により算出された評価値と、前記記憶部に記憶された前記評価値と、に基づいて前記機械の駆動部の動作特性の劣化を推定する劣化推定部(例えば、後述の、劣化推定部540)と、
を備えた、制御装置(例えば、後述の制御装置500)である。
(2) 上記(1)の制御装置において、前記劣化推定部は、前記機械の駆動部の動作特性の劣化の推定結果に基づいて、前記機械学習部に対して前記制御パラメータの機械学習を指示してもよい。
(3) 上記(1)又は(2)の制御装置において、前記劣化推定部は、前記機械の駆動部の動作特性の劣化の推定結果に基づいて、前記機械の駆動部の動作特性の劣化を知らせる報知部(例えば、後述の報知部560)に報知を指示してもよい。
(4) 上記(1)から(3)のいずれかの制御装置において、前記ヘルスチェック動作指示部は、所定の信号の入力時に又は所定のスケジュールでヘルスチェック動作の指示を出力してもよい。
(5) 上記(1)から(4)のいずれかの制御装置において、前記ヘルスチェック動作指示部は、前記ヘルスチェック動作の指示を、前記モータ制御装置に制御指令を出力する数値制御装置に送ってもよい。
(6) 本発明に係るCNC装置は、上記(5)の制御装置と、モータを制御するモータ制御装置と、該制御装置から出力されるヘルスチェック動作の指示に基づいて、前記モータ制御装置に制御指令を出力する数値制御装置と、を備えたCNC装置である。
(7) 本発明に係る制御方法は、記憶部(例えば、後述の、記憶部530)と、モータ(例えば、後述のサーボモータ300)の駆動対象となる機械(例えば、後述の機械400)の駆動部の動作特性を決める制御パラメータを機械学習して、前記制御パラメータを、前記モータを制御するモータ制御装置に設定する機械学習部(例えば、後述の、機械学習部550)を備える制御装置により、
前記駆動部の動作特性を取得するために前記モータ制御装置を駆動するヘルスチェック動作の指示を出力するヘルスチェック動作指示ステップと、
前記ヘルスチェック動作の指示に基づいて駆動した、前記モータ制御装置又は前記機械から前記駆動部の動作特性を示す情報を取得して、該情報を用いた評価関数に基づいて評価値を算出し、前記評価値を前記ヘルスチェック動作の実行時の時刻情報又は前記モータの動作情報を対応付けて前記記憶部に記憶する動作評価ステップと、
前記ヘルスチェック動作をさせたときに、前記動作評価ステップにおいて算出された評価値と、前記記憶部において記憶された前記評価値と、に基づいて前記機械の駆動部の動作特性の劣化を推定する劣化推定ステップと、
を備える、制御方法である。
(8) 上記(7)の制御装置の制御方法において、前記劣化推定ステップは、さらに、
前記劣化推定ステップにおいて推定された前記機械の駆動部の動作特性の劣化の推定結果に基づいて、前記機械学習部に対して前記制御パラメータの機械学習を指示する機械学習指示ステップを、備えてもよい。
(9) 上記(7)の制御装置の制御方法において、前記劣化推定ステップは、さらに、
前記劣化推定ステップにおいて、前記機械の駆動部の動作特性の劣化の推定結果に基づいて、前記機械の駆動部の動作特性の劣化を知らせる報知ステップ、を備えてもよい。
本発明によれば、工作機械又は産業機械等の機械の駆動部の動作特性の劣化を、機械学習を行うことなく推定することができる。
本発明の第1の実施形態の、機械の制御装置を含む機械制御システムを示すブロック図である。 機械制御システムにおける数値制御装置、サーボ制御装置及び機械の構成を示すブロック図である。 角がR付きの四角形の移動軌跡を説明するための図である。 サーボ制御装置のフィルタの伝達関数の係数ω、τ及びσの機械学習による調整と、その後の機械の経年劣化が生じた場合との、角がR付きの四角形の移動軌跡を示す図である。 数式3の評価関数で用いられる位置偏差eの例を示す特性図である。 数式4の評価関数で用いられる位置偏差eの例を示す特性図である。 出荷前の機械学習時の評価値が経年劣化により上昇する様子と、再学習時の評価値が経年劣化により再度上昇する様子を示す特性図である。 本実施形態における制御装置の動作を示すフローチャートである。 円形の移動軌跡を説明するための図である。 四角形の移動軌跡を説明するための図である。 八角形の移動軌跡を説明するための図である。 星形の移動軌跡を説明するための図である。 本発明の第1の実施形態の機械学習部を示すブロック図である。 本発明の第2の実施形態の機械制御システムにおける数値制御装置、サーボ制御装置及び機械の構成を示すブロック図である。 機械制御システムの他の構成例を示すブロック図である。
以下、本発明の実施形態について図面を用いて詳細に説明する。
(第1の実施形態)
図1は本発明の第1の実施形態の機械の制御装置を含む機械制御システムを示すブロック図である。図2は機械制御システムにおける数値制御装置、サーボ制御装置及び機械の構成を示すブロック図である。
図1に示すように、機械制御システム10は、数値制御装置100、サーボ制御装置200、サーボモータ300、機械400及び制御装置500を備えている。サーボ制御装置200はモータ制御装置となる。数値制御装置100、サーボ制御装置200及びサーボモータ300はCNC装置20を構成する。なお、制御装置500は、CNC装置20に含まれてもよい。機械400はサーボモータ300の駆動対象となる。
まず、制御装置500の説明に先だって、数値制御装置100、サーボ制御装置200及び機械400について説明する。
数値制御装置100は、数値制御処理部101及び記憶部102を備えている。記憶部102はヘルスチェック用の加工プログラム、機械学習用の加工プログラム、及び実際の加工処理を行う場合の加工プログラムを記憶している。数値制御処理部101は、制御装置500のヘルスチェック動作指示部510からヘルスチェック動作の指示を受けて記憶部102からヘルスチェック用の加工プログラムを読み出して、制御指令となる位置指令を生成してサーボ制御装置200に出力する。
また、数値制御処理部101は、機械学習時又は実際の加工処理時には、制御装置500の機械学習部550から機械学習実行指示を受けて、又は操作者から加工実行指示を受けて記憶部102から機械学習用又は実際の加工処理用の加工プログラムを読み出して、位置指令を生成してサーボ制御装置200に出力する。なお、数値制御処理部101は機械学習部550の代わりに、劣化推定部540から機械学習実行指示を受けてもよい。
サーボ制御装置200は、図2に示すように、フィルタ201、減算器202、位置制御部203、加算器204、微分器205、位置フィードフォワード処理部206、減算器207、速度制御部208、及び積分器209を備えている。減算器202、位置制御部203、加算器204、減算器207、速度制御部208、サーボモータ300、ロータリーエンコーダ310、及び積分器209は位置フィードバックループを構成する。また、減算器207、速度制御部208、サーボモータ300、及びロータリーエンコーダ310は速度フィードバックループを構成する。
フィルタ201は、機械400の振動を抑制する制振フィルタで、例えば数式1(以下に数1として示す)で示されるバンドストップフィルタが用いられる。
数式1において、係数sはラプラス変換における指数関数の引数である時間の係数、係数ωは遮断中心角周波数、係数τは比帯域、係数gはg=στである。遮断中心周波数をfc、遮断帯域幅をfwとすると、係数ωはω=2πfc、係数τはτ=fw/fcで表される。係数σはダンピング係数(0<σ≦1)である。フィルタ201の伝達関数の係数ω、τ及びσは、モータ制御装置となるサーボ制御装置によって機械400の駆動部の動作特性を決める制御パラメータとなる。
Figure 0006856591
フィルタ201には、数値制御処理部101から位置指令が入力される。ここでは、フィルタ201は位置フィードバックループ及び速度フィードループの外に設けられているが、位置フィードバックループ又は速度フィードループの中に設けてもよい。例えば後述する速度制御部208の出力側又は加算器204の出力側にフィルタ201を接続してもよい。フィルタ201の構成は特に限定されないが、2次以上のIIRフィルタであることが望ましい。
減算器202は、フィルタ201から出力される整形後の位置指令と、位置フィードバックされた検出位置との差を求め、その差を位置偏差として位置制御部203と、後述する機械学習部550及び動作評価部520とに出力する。動作評価部520は位置偏差を用いてヘルスチェック動作を行い、機械学習部550は位置偏差を用いて機械学習を行う。
位置制御部203は、位置偏差にポジションゲインKpを乗じた値を、速度指令値として加算器204に出力する。
微分器205は、位置指令値を微分して定数αを掛けた値を、位置フィードフォワード処理部206に出力する。位置フィードフォワード処理部206は、微分器205からの出力に対して、数式2(以下に数2として示す)で示す伝達関数G(s)で示された位置フィードフォワード処理を行い、その処理結果を位置フィードフォワード項として、加算器204に出力する。数式2の係数a、b(X≧i,j≧0、Xは自然数)は伝達関数G(s)の各係数である。
Figure 0006856591
加算器204は、速度指令値と位置フィードフォワード処理部206の出力値(位置フィードフォワード項)とを加算して、フィードフォワード制御された速度指令値として減算器207に出力する。減算器207は加算器204の出力と速度フィードバックされた速度検出値との差を求め、その差を速度偏差として速度制御部208に出力する。
速度制御部208は、速度偏差に積分ゲインK1vを乗じて積分した値と、速度偏差に比例ゲインK2vを乗じた値とを加算して、トルク指令としてサーボモータ300に出力する。
サーボモータ300の回転角度位置は、ロータリーエンコーダ310によって検出され、速度検出値は速度フィードバック(速度FB)として減算器207に入力される。速度検出値は積分器209で積分されて位置検出値となり、位置検出値は位置フィードバック(位置FB)として減算器202に入力される。
以上のように、サーボ制御装置200は構成される。
サーボモータ300は、サーボ制御装置200によって回転制御され、機械400を駆動する。
機械400は、工作機械、産業機械等である。サーボモータ300は工作機械、産業機械等の機械400に含まれてもよい。図2では機械400は工作機械として示され、工作機械の一部を示している。図2に示すように、機械400は、サーボモータ300の回転軸に連結されたボールねじ401、ボールねじ401に螺合されたナット402、ナット402に接続されたテーブル403を備えている。ボールねじ401、ナット402、及びテーブル403は駆動部を構成する。サーボモータ300の回転駆動によって、ボールねじ401に螺着されたナット402がボールねじ410の軸方向に移動する。
機械400において、被加工物(ワーク)を搭載するテーブル403がX軸方向及びY軸方向に移動される場合には、X軸方向及びY軸方向に対してそれぞれ図2に示すサーボ制御装置200及びサーボモータ300が設けられる。テーブルを3軸以上の方向に移動させる場合には、それぞれの軸方向に対してサーボ制御装置200及びサーボモータ300が設けられる。
次に、制御装置500について説明する。
まず、制御装置500によるヘルスチェック動作の目的について説明する。ここで、ヘルスチェック動作とは、ヘルスチェック用の加工プログラム用いてサーボ制御装置を駆動し、機械の駆動部の動作特性を示す情報を取得して、この情報を用いた評価関数に基づいて評価値を求め、評価値に基づいて機械の経年劣化を推定する動作である。なお、動作特性の劣化の一例として、機械の使用による経年劣化を取り上げたが、これに限定されず、例えば、温度、湿度、振動等の周囲環境の変化によって生ずる動作特性の劣化も含まれる。
数値制御装置100の記憶部102に記憶されるヘルスチェック用の加工プログラムは、サーボ制御装置200によるサーボモータ300の制御によって、テーブル403上の特定点の移動軌跡MLが、図3に示すような、角がR付きの四角形(a square with quarter arc)となるような加工プログラムである。図3に示す移動軌跡MLにおいて、位置P1では、テーブルをY軸方向に移動するサーボモータは、位置P1を過ぎると減速し、位置P2で回転が停止する。一方、位置P1で、テーブルをX軸方向に移動するサーボモータは回転を開始し、位置P2で回転速度は一定になる。ヘルスチェック用の加工プログラムはテーブル403にワークを搭載せず、ワークの加工を行わずに動作させる。
図4は、サーボ制御装置200のフィルタ201の伝達関数の係数ω、τ及びσの機械学習による調整と、その後の機械400の経年劣化が生じた場合との、角がR付きの四角形の移動軌跡を示す図である。図4に示すように、サーボ制御装置200のフィルタ201の伝達関数の係数ω、τ及びσが調整されていない状態では、ヘルスチェック用の加工プログラムを用いてサーボ制御装置200を動作させると、テーブル403上の特定点の移動軌跡ML1に四角形のR付角部分で象限突起と呼ばれる突起が生じる。機械400の出荷前には、移動軌跡に象限突起が生じないように、ヘルスチェック用の加工プログラムを含む機械学習用のプログラムを用いてサーボ制御装置200を動作させつつ象限突起のない移動軌跡ML2となるように、制御装置500の後述する機械学習部550は、サーボ制御装置200のフィルタ201の伝達関数の係数ω、τ及びσの最適値を機械学習し、伝達関数の係数ω、τ及びσを最適値に調整する。しかし、機械400の使用による経年劣化により、出荷時に設定された、フィルタ201の伝達関数の係数ω、τ及びσのままでは機械に振動等が生じ、移動軌跡ML3のように象限突起が生じるようになる。
そこで、制御装置500は、ヘルスチェック動作によって機械の経年劣化を推定する。そして、経年劣化の推定結果に基づいて、再度機械学習(再学習という)によってフィルタ201の伝達関数の係数ω、τ及びσを調整する。
制御装置500は、経年劣化の推定結果に基づいて、機械学習によるフィルタ201の係数の調整に代わって、又は係数の調整とともに操作者(オペレータ)又は管理者に報知を行う等の処理を行ってもよい。
なお、機械学習は、情報処理量が多いために一定の学習時間を要するために、再学習は頻繁に行うと再学習のために機械の稼働効率が低下する。また、報知を頻繁に行うと、報知を監視する操作者のオペレータ又は管理者の負荷が増大する。
そこで、制御装置500は、必要なときに再学習又は報知を行うように、ヘルスチェック動作を行う。
次に、制御装置500の構成及び動作について説明する。
制御装置500は、図1に示すように、ヘルスチェック動作指示部510、動作評価部520、記憶部530、劣化推定部540、機械学習部550、及び報知部560を備えている。
ヘルスチェック動作指示部510は、機械400の起動時に又は操作者からの実行指示によって、ヘルスチェック動作の指示を数値制御装置100の数値制御処理部101に送る。起動時には起動信号がヘルスチェック動作指示部510に入力され、又は操作者からの実行指示時には実行指示信号がヘルスチェック動作指示部510に入力される。起動信号及び実行指示信号は、所定の信号に対応する。ヘルスチェック動作指示部510は操作者が設定した所定のスケジュールでヘルスチェック動作の指示を数値制御処理部101に送ってもよい。
数値制御処理部101は、ヘルスチェック動作の指示を受けると、記憶部102からヘルスチェック用の加工プログラムを読み出して、位置指令を生成してサーボ制御装置200に出力する。サーボ制御装置200は位置指令に基づいてサーボモータ300を回転制御する。
動作評価部520は、サーボ制御装置200の減算器202の出力である位置偏差eを取得し、評価関数を用いて評価値Eを求める。
評価関数は、例えば、以下に示す数式3又は数式4の評価関数を用いることができる。数式3における係数Ca、係数Cb、及び数式4における係数Cc、係数Cdはそれぞれ重み係数である。数式4における係数tは、サーボモータ300の速度指令値が変化してから位置偏差eが所定の範囲に収まるまでの時間である。なお、評価関数は数式3又は数式4に示した評価関数に限定されない。例えば、数式3及び数式4の位置偏差eの絶対値の時間積分は、位置偏差eの絶対値の2乗の時間積分、位置偏差eの絶対値の集合の最大値を用いてもよい。
Figure 0006856591
Figure 0006856591
図5は、数式3の評価関数で用いられる位置偏差eの例を示す特性図である。図6は、数式4の評価関数で用いられる位置偏差eの例を示す特性図である。
数式3の評価関数は、図5の実線で示す位置偏差のよりも破線で示す位置偏差の方が振動が少なく|de/dt|の時間積分の値が小さくなり、評価値が小さくなる。よって、より良好な結果として評価される。数式4の評価関数は、図6の実線で示す位置偏差のよりも破線で示す位置偏差の方が、瞬間的な偏差は大きいが定常偏差が小さくなり、tの時間積分の値が小さくなり、評価値が小さくなる。よって、より良好な結果として評価される。
数式3又は数式4の評価関数に基づいて求めた評価値Eは、劣化推定部540及び記憶部530に出力される。
動作評価部520は記憶部530に、出荷前の機械学習後に、ヘルスチェック用の加工プログラムを用いてサーボ制御装置200を動作させることで得られた位置偏差eに基づく評価値Eとヘルスチェック動作の実行時の時刻情報又はサーボモータ300の動作情報とを対応付けて記憶する。また、動作評価部520は記憶部530に、出荷後に、ヘルスチェック用の加工プログラムを用いてサーボ制御装置200を動作させる毎に得られる位置偏差eに基づく評価値Eとヘルスチェック動作の実行時の時刻情報又はサーボモータ300の動作情報とを対応付けて記憶する。また、動作評価部520は、同様に、再学習後に、ヘルスチェック用の加工プログラムを用いてサーボ制御装置200を動作させる毎に得られる位置偏差eに基づく評価値Eとヘルスチェック動作の実行時の時刻情報又はサーボモータ300の動作情報とを対応付けて記憶する。
劣化推定部540は、動作評価部520が算出した評価値Eとヘルスチェック動作の実行時の時刻情報、及び、記憶部530から、記憶された出荷前の機械学習後のヘルスチェック動作の実行時の時刻情報と評価値E、出荷後のヘルスチェック動作の実行時の時刻情報と評価値Eの集合を取得して、これらの評価値EとEA、及び時刻情報から例えば直線近似によって、図7に示すような、劣化推定特性(劣化推定特性直線)を作成する。また、劣化推定部540は、同様に、再学習後の劣化推定特性(劣化推定特性直線)を作成する。図7は出荷前の機械学習後の評価値が経年劣化により上昇する様子と、再学習時の評価値が経年劣化により再度上昇する様子を示す特性図である。
劣化推定特性を求める場合、n次曲線を想定し、その係数を最小二乗法を用いて決めて、劣化推定特性曲線を求めてもよい。なお、ヘルスチェック動作の実行時の時刻情報に代えてサーボモータ300の移動量等の動作情報を用いてもよい。
劣化推定部540は機械400の駆動部の動作特性の劣化を劣化推定特性直線又は劣化推定特性曲線によって推定し、その推定結果に基づいて、機械学習部550に対して制御パラメータの再学習を指示する。具体的には、劣化推定部540は、図7に示すように、例えば、劣化推定特性直線に基づいて学習時期を推定し、機械学習部550に機械学習指示を送る。具体的には、出荷後のヘルスチェック動作により得られた評価値の劣化推定特性直線に基づいて、設定された劣化判定レベルになる前に(例えば劣化判定レベルになる数週間前に)、機械学習部550に機械学習指示(再学習の指示)を送る。機械学習部550は、機械400が加工を行っていないタイミングで再学習を行う。劣化判定レベルはワークの加工状況、評価値の推移等に適宜設定することができる。
劣化推定部540は再学習後に、同様に、劣化推定特性直線を求め、劣化推定特性直線に基づいて次回の学習時期を推定し、機械学習部550に機械学習指示を送る。
劣化推定部540は、機械学習指示を送る代わりに、又は機械学習指示を送るととともに、報知部560に報知指示を送ってもよい。
なお、劣化推定部540は機械学習部550に機械学習指示を送るとともに、数値制御装置100の数値制御処理部101に機械学習実行指示を送ってもよい。この場合、機械学習部550は機械学習実行指示を数値制御処理部101に送らなくてよい。
報知部560は、報知指示を受けると、点検の提案、若しくは劣化の警告を液晶表示装置に表示する、又は通信部を介して携帯端末に送信する等により、操作者又は管理者に報知を行う。なお、機械学習部550が再学習を行い、操作者又は管理者に報知を行わない場合には、報知部560はなくともよい。報知を受けた操作者(オペレータ)は、機械が加工を行っていないタイミングで、再学習を機械学習部550に機械学習指示をすることもできる。
機械学習部550は機械学習指示を受けると、数値制御装置100の数値制御処理部101に機械学習実行指示を送る。数値制御処理部101は、機械学習実行指示を受けると、記憶部102から機械学習用の加工プログラムを読み出して、位置指令を生成してサーボ制御装置200に出力する。サーボ制御装置200は位置指令に基づいてサーボモータ300を回転制御する。
機械学習部550は、サーボ制御装置200の減算器202の出力である位置偏差eを取得し、サーボ制御装置200のフィルタ201の伝達関数の係数ω、τ及びσの最適値を機械学習し、伝達関数の係数ω、τ及びσを最適値に調整する。この機械学習の詳細については後述する。
図8は、本実施形態における制御装置500のヘルスチェック動作を示すフローチャートである。
まず、動作評価部520は、ステップS11において、ヘルスチェック動作の指示により駆動するサーボ制御装置200の減算器202の出力である位置偏差eを取得し、評価関数を用いて評価値Eを求める。
次に、劣化推定部540は、ステップS12において、出荷前の機械学習後からの評価値を用いて劣化推定特性(劣化推定特性直線)を作成する。劣化推定部540は、ステップS13において、劣化推定特性直線に基づいて学習時期を推定し、機械学習部550に機械学習指示を送る。
機械学習部550はステップS14において、機械学習指示に基づいて機械学習を行う。
ステップS15において、操作者の指示等により、制御装置500は、経年劣化の推定を続行するかどうかを判断し、続行する場合は(ステップS15のYESの場合)、ステップS11に戻り、動作評価部520は、次のヘルスチェック動作の指示により位置偏差eが得られるまで待つ。
経年劣化の推定を続行しない場合は(ステップS15のNOの場合)、制御装置500のヘルスチェック動作を終了する。
次に、制御装置500の機械学習部550について説明する。
<機械学習部550>
機械学習部550は、機械学習用の加工プログラムを実行し、減算器202から得られた位置偏差を用いて、位置偏差が小さくなるように、フィルタ201の伝達関数の係数ω、τ及びσを機械学習(以下、学習という)する。機械学習部550は機械学習装置となる。機械学習部550による学習は出荷前に行われるが、出荷後に再学習を行う。
ここで、学習時の加工プログラムにより指定される移動軌跡は、例えば、図3に示した角がR付きの四角形の他に、図9〜図12に示す、円形、四角形、八角形、及び星形等がある。学習は図3及び図9〜図12に示す学習時の加工プログラムを適宜組み合わせて行う。
このような、学習時の加工プログラムにより指定される移動軌跡により、テーブルをX軸方向又は/及びY軸方向に移動するサーボモータサーボモータの回転方向が反転したり、回転状態から停止したりする場合に生ずる振動を評価し、位置偏差に対する影響を調べることができる。
学習時に図3及び図9〜図12に示す学習時の加工プログラムを実行することで、数値制御情報処理部1011は順次、例えば、R付きの四角形、円、四角、八角形、及び星形の移動軌跡となるように位置指令値を出力する。
機械学習部550は、フィルタ201の伝達関数の係数ω、τ及びσの値、並びに学習時の加工プログラムを実行することで取得されるサーボ制御装置200の位置偏差情報を含む、指令及びフィードバック等のサーボ状態を状態Sとして、当該状態sに係る係数ω、τ及びσの調整を行動aとする、Q学習(Q−learning)を行う。当業者にとって周知のように、Q学習では、或る状態Sのとき、取り得る行動Aのなかから、価値Q(S,A)の最も高い行動Aを最適な行動として選択することを目的とする。
具体的には、エージェント(機械学習装置)は、或る状態sの下で様々な行動Aを選択し、その時の行動aに対して、与えられる報酬に基づいて、より良い行動の選択をすることにより、正しい価値Q(S,A)を学習していく。
また、将来にわたって得られる報酬の合計を最大化したいので、最終的にQ(S,A)=E[Σ(γ)r]となるようにすることを目指す。ここでE[]は期待値を表し、tは時刻、γは後述する割引率と呼ばれるパラメータ、rは時刻tにおける報酬、Σは時刻tによる合計である。この式における期待値は、最適な行動に従って状態変化した場合の期待値である。このような価値Q(S,A)の更新式は、例えば、次の数式5(以下に数5として示す)により表すことができる。
Figure 0006856591
上記の数式2において、Sは、時刻tにおける環境の状態を表し、Aは、時刻tにおける行動を表す。行動Aにより、状態はSt+1に変化する。rt+1は、その状態の変化により得られる報酬を表している。また、maxの付いた項は、状態St+1の下で、その時に分かっている最もQ値の高い行動Aを選択した場合のQ値にγを乗じたものになる。ここで、γは、0<γ≦1のパラメータで、割引率と呼ばれる。また、αは、学習係数で、0<α≦1の範囲とする。
上述した数式2は、試行Aの結果、返ってきた報酬rt+1を元に、状態Sにおける行動Aの価値Q(S,A)を更新する方法を表している。
機械学習部550は、フィルタ201の伝達関数の係数ω、τ及びσに基づいて、学習時の加工プログラムを実行することで得られるサーボ制御装置200の位置偏差情報を含む、指令及びフィードバック等のサーボ状態を含む状態情報Sを観測して、行動Aを決定する。状態情報はフィードバック情報に対応する。機械学習部505は、行動Aをするたびに報酬rが返ってくる。
ここで、報酬rを次のように設定する。
行動情報Aにより状態情報Sが状態情報S´に修正された場合、状態情報S´に係る修正後の係数ω、τ及びσに基づいて動作したサーボ制御装置200の位置偏差eの評価関数の値が、行動情報Aにより修正される前の状態情報Sに係る修正前の係数ω、τ及びσに基づいて動作したサーボ制御装置200の位置偏差eの評価関数の値よりも大きくなった場合に、報酬の値を負の値とする。評価関数は例えば、動作評価部520で用いた数式3又は数式4の評価関数を用いことができる。しかし、機械学習で用いる評価関数は動作評価部520で用いられる評価関数とは別な評価関数を用いてもよい。
他方、行動情報Aにより修正された状態情報S´に係る修正後の係数ω、τ及びσに基づいて動作したサーボ制御装置200の位置偏差eの評価関数の値が、行動情報Aにより修正される前の状態情報Sに係る修正前の係数ω、τ及びσに基づいて動作したサーボ制御装置200の位置偏差eの評価関数の値よりも小さくなった場合に、報酬の値を正の値とする。
Q学習では、機械学習部505は、例えば、将来にわたっての報酬rの合計が最大になる最適な行動Aを試行錯誤的に探索する。そうすることで、機械学習部505は、係数ω、τ及びσに基づいて、学習時の加工プログラムを実行することで取得されるサーボ制御装置200の位置偏差情報を含む指令、フィードバック等のサーボ状態を含む状態Sに対して、最適な行動A(すなわち、最適なフィルタ201の伝達関数の係数ω、τ及びσの値)を選択することが可能となる。
図13は機械学習部を示すブロック図である。
上述した強化学習を行うために、図13に示すように、機械学習部505は、状態情報取得部551、学習部552、行動情報出力部553、価値関数記憶部554、及び最適化行動情報出力部555を備える。
状態情報取得部551は、フィルタ201の伝達関数の係数ω、τ及びσに基づいて、学習時の加工プログラムを実行することで取得されるサーボ制御装置200の位置偏差情報を含む指令、フィードバック等のサーボ状態を含む、フィードバック情報となる状態情報Sをサーボ制御装置200から取得する。この状態情報Sは、Q学習における、環境状態Sに相当する。
状態情報取得部551は、取得した状態情報Sを学習部552に対して出力する。
なお、最初にQ学習を開始する時点での係数ω、τ及びσは、予めユーザが生成する。
学習部552は、或る環境状態Sの下で、ある行動Aを選択する場合の価値Q(S,A)を学習する部分である。具体的には、学習部552は、報酬出力部5521、価値関数更新部5522及び行動情報生成部5523を備える。
報酬出力部5521は、或る状態Sの下で、行動Aを選択した場合の報酬を算出する部分である。ここで、状態Sにおける状態変数である位置偏差をe(S)、行動情報A(フィルタ201の伝達関数の係数ω、τ及びσの修正)により状態Sから変化した状態情報S´に係る状態変数である位置偏差をe(S´)で示す。
評価関数fは、例えば、動作評価部520で用いた評価関数と同じ数式3又は数式4の評価関数を用いる。
このとき、行動情報Aにより修正された状態情報S´に係る修正後のフィルタ201に基づいてサーボ制御装置200が動作したときの評価関数fの値f(e(S´))が、行動情報Aにより修正される前の状態情報Sに係る修正前のフィルタ201に基づいてサーボ制御装置200が動作したときの評価関数fの値f(e(S))よりも大きくなった場合に、報酬出力部5521は、報酬の値を負の値とする。
一方で、行動情報Aにより修正された状態情報S´に係る修正後のフィルタ201に基づいてサーボ制御装置200が動作したときの評価関数fの値f(e(S´))が、行動情報Aにより修正される前の状態情報Sに係る修正前のフィルタ201に基づいてサーボ制御装置200が動作したときの評価関数fの値f(e(S))よりも小さくなった場合に、報酬出力部5521は、報酬の値を正の値とする。
なお、行動情報Aにより修正された状態情報S´に係る修正後のフィルタ201に基づいてサーボ制御装置200が動作したときの評価関数fの値f(e(S´))が、行動情報Aにより修正される前の状態情報Sに係る修正前のフィルタ201に基づいてサーボ制御装置200が動作したときの評価関数fの値f(e(S))と等しい場合は、報酬出力部5521は、報酬の値をゼロとする。
また、行動Aを実行後の状態S´の評価関数fの値f(e(S´)))が、前の状態Sにおける評価関数fの値f(e(S))より大きくなった場合の負の値としては、比率に応じて負の値を大きくするようにしてもよい。つまり状態S´評価関数fの値f(e(S´))の値が大きくなった度合いに応じて負の値が大きくなるようにするとよい。逆に、行動Aを実行後の状態S´の評価関数fの値f(e(S´))が、前の状態Sにおける評価関数fの値f(e(S))より小さくなった場合の正の値としては、比率に応じて正の値を大きくするようにしてもよい。つまりf(e(S´))の値が小さくなった度合いに応じて正の値が大きくなるようにするとよい。
価値関数更新部5522は、状態Sと、行動Aと、行動Aを状態Sに適用した場合の状態S´と、上記のようにして算出された報酬の値rと、に基づいてQ学習を行うことにより、価値関数記憶部554が記憶する価値関数Qを更新する。
なお、価値関数Qの更新は、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。
オンライン学習は、或る行動Aを現在の状態Sに適用することにより、状態Sが新たな状態S´に遷移する都度、即座に価値関数Qの更新を行う学習方法である。また、バッチ学習は、或る行動Aを現在の状態Sに適用することにより、状態Sが新たな状態S´に遷移することを繰り返すことにより、学習用のデータを収集し、収集した全ての学習用データを用いて、価値関数Qの更新を行う学習方法である。更に、ミニバッチ学習は、オンライン学習と、バッチ学習の中間的な、ある程度学習用データが溜まるたびに価値関数Qの更新を行う学習方法である。
行動情報生成部5523は、現在の状態Sに対して、Q学習の過程における行動Aを選択する。行動情報生成部5523は、Q学習の過程において、係数ω、τ及びσを修正する動作(Q学習における行動Aに相当)を行わせるために、行動情報Aを生成して、生成した行動情報Aを行動情報出力部553に対して出力する。より具体的には、行動情報生成部5523は、例えば、状態Sに含まれる係数ω、τ及びσに対してインクレメンタルに加算又は減算させる行動情報Aを行動情報出力部553に対して出力する。この行動情報Aは係数ω、τ及びσの修正情報となる。
行動情報生成部5523は、係数ω、τ及びσの増加又は減少を適用して、状態S´に遷移して、プラスの報酬(正の値の報酬)が返った場合、次の行動A´としては、係数ω、τ及びσに対して、前回のアクションと同様にインクレメンタルに加算又は減算させる等、位置偏差の値がより小さくなるような行動A´を選択する方策を取るようにしてもよい。
また、逆に、マイナスの報酬(負の値の報酬)が返った場合、行動情報生成部5523は、次の行動A´としては、例えば、係数ω、τ及びσに対して、前回のアクションとは逆にインクレメンタルに減算又は加算させる等、位置偏差が前回の値よりも小さくなるような行動A´を選択する方策を取るようにしてもよい。
行動情報出力部553は、学習部552から出力される行動情報Aとなる係数の修正情報をフィルタ201に対して送信する部分である。フィルタ201は上述したように、この行動情報に基づいて、現在の状態S、すなわち現在設定されている伝達関数の係数ω、τ及びσを微修正することで、次の状態S´(すなわち修正された係数ω、τ及びσ)に遷移する。
価値関数記憶部554は、価値関数Qを記憶する記憶装置である。価値関数Qは、例えば状態S、行動A毎にテーブル(以下、行動価値テーブルと呼ぶ)として格納してもよい。価値関数記憶部554に記憶された価値関数Qは、価値関数更新部5522により更新される。
最適化行動情報出力部555は、価値関数更新部5522がQ学習を行うことにより更新した価値関数Qに基づいて、価値Q(S,A)が最大となる動作をフィルタ201に行わせるための行動情報A(以下、「最適化行動情報」と呼ぶ)を生成する。
この最適化行動情報には、行動情報出力部553がQ学習の過程において出力する行動情報と同様に、フィルタ201の伝達関数の係数ω、τ及びσを修正する情報が含まれる。
サーボ制御装置200では、係数の修正情報に基づいて係数ω、τ及びσが修正され、位置偏差の値を低減するように動作することができる。
以上のように、機械学習部550を利用することで、サーボ制御装置200のフィルタ201の伝達関数の係数ω、τ及びσの調整を簡易化することができる。
以上、数値制御装置100、サーボ制御装置200及び制御装置500に含まれる機能ブロックについて説明した。
これらの機能ブロックを実現するために、数値制御装置100、サーボ制御装置200及び制御装置500は、CPU(Central Processing Unit)等の演算処理装置を備える。また、サーボ制御装置200は、アプリケーションソフトウェアやOS(Operating System)等の各種の制御用プログラムを格納したHDD(Hard Disk Drive)等の補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶装置も備える。
そして、数値制御装置100、サーボ制御装置200及び制御装置500において、演算処理装置が補助記憶装置からアプリケーションソフトウェアやOSを読み込み、読み込んだアプリケーションソフトウェアやOSを主記憶装置に展開させながら、これらのアプリケーションソフトウェアやOSに基づいた演算処理を行なう。また、この演算結果に基づいて、各装置が備える各種のハードウェアを制御する。これにより、本実施形態の機能ブロックは実現される。つまり、本実施形態は、ハードウェアとソフトウェアが協働することにより実現することができる。
機械学習部550については機械学習に伴う演算量が多いため、例えば、パーソナルコンピュータにGPU(Graphics Processing Units)を搭載し、GPGPU(General-Purpose computing on Graphics Processing Units)と呼ばれる技術により、GPUを機械学習に伴う演算処理に利用するようにすると高速処理できるようになるのでよい。更には、より高速な処理を行うために、このようなGPUを搭載したコンピュータを複数台用いてコンピュータ・クラスターを構築し、このコンピュータ・クラスターに含まれる複数のコンピュータにて並列処理を行うようにしてもよい。
(第2の実施形態)
図14は本発明の第2の実施形態の機械制御システムにおける数値制御装置、サーボ制御装置及び機械の構成を示すブロック図である。
本実施形態の機械制御システムは、サーボ制御装置の構成を除いて、図1及び図2に示した機械制御システム10と同じ構成である。
本実施形態におけるサーボ制御装置200Aは、図2に示したサーボ制御装置200と異なり、フィルタ201がなく、2回微分器210、速度フィードフォワード処理部211、及び加算器213を備えている。
2回微分器210は、位置指令値を微分して定数βを掛けた値を速度フィードフォワード処理部211に出力する。速度フィードフォワード処理部211は、2回微分器210からの出力に対して、数式6(以下に数6として示す)で示す伝達関数H(s)で示された速度フィードフォワード処理を行い、その処理結果を速度フィードフォワード項として、加算器213に出力する。数式6の係数c、d(X≧i,j≧0、Xは自然数)は伝達関数H(s)の各係数である。
Figure 0006856591
機械学習部550は、学習用の加工プログラムを実行し、減算器202から得られた位置偏差を用いて、位置偏差が小さくなるように、速度フィードフォワード処理部211の伝達関数H(s)の各係数c、d(i,j≧0)の値を学習する。具体的には、第1の実施形態で詳述したように、機械学習部550は、サーボ制御装置200における、速度フィードフォワード処理部211の伝達関数の各係数c、d(i,j≧0)の値、並びに学習時の加工プログラムを実行することで取得されるサーボ制御装置200の位置偏差情報、及び位置指令を含む、指令及びフィードバック等のサーボ状態を状態Sとして、当該状態Sに係る、速度フィードフォワード処理部211の伝達関数の各係数c、dの値の調整を行動Aとして選択する価値Qを学習する。
ここで、学習時の加工プログラムにより指定される移動軌跡の形状は、例えば、図11に示した八角形である。図11に示す移動軌跡の位置P3と位置P4により、線形制御において回転速度が変更されたときの振動を評価し、位置偏差に対する影響を調べることで、伝達関数H(s)に係る係数の学習を行う。
ここでは、機械学習部550は、速度フィードフォワード処理部211の伝達関数H(s)の係数c、d(i,j≧0)の値を学習しているが、代わりに位置フィードフォワード処理部206の伝達関数G(s)の係数a、b(i,j≧0)の値を学習してもよく、伝達関数H(s)の係数と、伝達関数G(s)の係数との両方を学習してもよい。速度フィードフォワード処理部211の伝達関数H(s)の係数c、d(i,j≧0)及び位置フィードフォワード処理部206の伝達関数G(s)の係数a、b(i,j≧0)は、モータ制御装置となるサーボ制御装置によって機械400の駆動部の動作特性を決める制御パラメータとなる。
伝達関数H(s)の係数と、伝達関数G(s)の係数との両方を学習する場合、機械学習部550は、速度フィードフォワード処理部211の伝達関数の係数の学習と、位置フィードフォワード処理部206の伝達関数の係数の学習とは別に行い、位置フィードフォワード処理部206より内側(インナーループ)にある速度フィードフォワード処理部211の伝達関数の係数の学習を位置フィードフォワード処理部206の伝達関数の係数の学習よりも先に行うことが望ましい。具体的には、位置フィードフォワード処理部206の伝達関数の係数を固定し、速度フィードフォワード処理部211の伝達関数の係数の最適な値を学習する。その後に、機械学習部505は、速度フィードフォワード処理部211の伝達関数の係数を学習で得られた最適な値に固定して、位置フィードフォワード処理部206の伝達関数の係数を学習する。
そうすることで、学習により最適化された速度フィードフォワード項の条件下で、位置フィードフォワード処理部206の伝達関数の係数の最適化に係る学習を行うことができ、位置偏差の変動を抑制することができる。
本実施形態における、ヘルスチェック用の加工プログラムは、図11に示した移動軌跡が八角形となる加工プログラムを用いることができるが、線形制御において回転速度が変更されたときの振動を評価できる形状であれば他の形状を用いてもよい。本実施形態における制御装置500の動作は第1の実施形態で説明した動作と同じである。
上述した、数値制御装置、サーボ制御装置及び制御装置に含まれる各構成部は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記のサーボ制御装置及び制御装置に含まれる各構成部のそれぞれの協働により行なわれるサーボ制御方法及び制御方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(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)によってコンピュータに供給されてもよい。
上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
上述した実施形態では、モータとしてサーボモータ、モータ制御装置としてサーボ制御装置を用いて例について説明したが、これに限定されず、例えば、モータとしてステッピングモータを用い、モータ制御装置としてサーボ制御を行わない制御装置を用いてもよい。
また、上述した実施形態では、制御装置が、機械の駆動部の動作特性を示す情報としての位置偏差をサーボ制御装置から取得したが、かかる情報が機械の駆動部の加速度情報である場合は、機械に取り付けられた加速度センサから取得してもよい。つまり、機械の駆動部の動作特性を示す情報はサーボ制御装置又は機械から取得することができる。
また、上述した実施形態では、数値制御装置からモータ制御装置に出力する制御指令は位置指令として説明したが、位置指令に限定されず、例えば速度指令であってもよい。
また、機械制御システムの構成は図1の構成以外にも以下の構成がある。
<制御装置がCNC装置の外部に設けられた変形例>
図15は機械制御システムの他の構成例を示すブロック図である。図15に示す機械制御システム10Aが、図1に示した機械制御システム10と異なる点は、n(nは2以上の自然数)個の制御装置500−1〜500−nがn個のCNC装置20A−1〜20A−nとネットワーク600を介して接続されていることである。CNC装置20A−1〜20A−nは機械400−1〜400−nと接続されている。CNC装置20A−1〜20A−nはそれぞれ図1に示したCNC装置20と同じ構成を有している。制御装置500−1〜500−nはそれぞれ図1に示した制御装置500と同じ構成を有している。また、機械400−1〜400−nはそれぞれ図2に示した機械400と構成と同じ構成を有している。
ここで、CNC装置20A−1と制御装置500−1とは1対1の組とされて、通信可能に接続されている。CNC装置20A−2〜20A−nと、制御装置500−2〜500−nについてもCNC装置20A−1と制御装置500−1と同様に接続される。図15では、CNC装置20A−1〜20A−nと制御装置500−1〜500−nとのn個の組は、ネットワーク600を介して接続されているが、CNC装置20A−1〜20A−nと制御装置500−1〜500−nとのn個の組は、それぞれの組のCNC装置と制御装置とが接続インタフェースを介して直接接続されてもよい。これらCNC装置20A−1〜20A−nと制御装置500−1〜500−nとのn個の組は、例えば同じ工場に複数組設置されていてもよく、それぞれ異なる工場に設置されていてもよい。
なお、ネットワーク600は、例えば、工場内に構築されたLAN(Local Area Network)や、インターネット、公衆電話網、或いは、これらの組み合わせである。ネットワーク600における具体的な通信方式や、有線接続および無線接続のいずれであるか等については、特に限定されない。
<システム構成の自由度>
上述した変形例では、CNC装置20A−1〜20A−nと制御装置500−1〜500−nとはそれぞれ1対1の組とされて通信可能に接続されているが、例えば1台の制御装置が、複数のCNC装置とネットワーク600を介して通信可能に接続され、各CNC装置のヘルスチェック動作及び機械学習を実施するようにしてもよい。
その際、1台の制御装置の各機能を、適宜複数のサーバに分散する、分散処理システムとしてもよい。また、クラウド上で仮想サーバ機能等を利用して、1台の制御装置の各機能を実現してもよい。
また、n台の同じ型名、同一仕様、又は同一シリーズのCNC装置20A−1〜20A-nとそれぞれ対応するn個の制御装置500−1〜500−nがあった場合に、各制御装置500−1〜500−nのヘルスチェック動作又は/及び機械学習の結果を共有するように構成するようにしてもよい。そうすることで、より最適なモデルを構築することが可能となる。
10、10A 機械制御システム
20、20−1〜20−n CNC装置
100 数値制御装置
200 サーボ制御装置
300 サーボモータ
400、400−1〜400−n 機械
500、500−1〜500−n 制御装置
510 ヘルスチェック動作指示部
520 動作評価部
530 記憶部
540 劣化推定部
550 機械学習部
560 報知部

Claims (7)

  1. モータの駆動対象となる機械の駆動部の動作特性を決める制御パラメータを機械学習して、前記制御パラメータを、前記モータを制御するモータ制御装置に設定する機械学習部と、
    前記駆動部の動作特性を取得するために前記モータ制御装置を駆動するヘルスチェック動作の指示を出力するヘルスチェック動作指示部と、
    前記ヘルスチェック動作の指示に基づいて駆動した、前記モータ制御装置又は前記機械から前記駆動部の動作特性を示す情報を取得して、該情報を用いた評価関数に基づいて評価値を算出し、前記評価値を前記ヘルスチェック動作の実行時の時刻情報又は前記モータの動作情報を対応付けて記憶部に記憶する動作評価部と、
    前記ヘルスチェック動作をさせたときに、前記動作評価部により算出された評価値と、前記記憶部に記憶された前記評価値と、に基づいて前記機械の駆動部の動作特性の劣化を推定する劣化推定部と、
    を備え、
    前記劣化推定部は、前記機械の駆動部の動作特性の劣化の推定結果に基づいて、前記機械学習部に対して前記制御パラメータの機械学習を指示する、制御装置。
  2. 前記劣化推定部は、前記機械の駆動部の動作特性の劣化の推定結果に基づいて、前記機械の駆動部の動作特性の劣化を知らせる報知部に報知を指示する、請求項1に記載の制御装置。
  3. 前記ヘルスチェック動作指示部は、所定の信号の入力時に又は所定のスケジュールでヘルスチェック動作の指示を出力する、請求項1又は2に記載の制御装置。
  4. 前記ヘルスチェック動作指示部は、前記ヘルスチェック動作の指示を、前記モータ制御装置に制御指令を出力する数値制御装置に送る、請求項1からのいずれか1項に記載の制御装置。
  5. 請求項に記載の制御装置と、モータを制御するモータ制御装置と、該制御装置から出力されるヘルスチェック動作の指示に基づいて、前記モータ制御装置に制御指令を出力する数値制御装置と、を備えたCNC装置。
  6. 記憶部と、モータの駆動対象となる機械の駆動部の動作特性を決める制御パラメータを機械学習して、前記制御パラメータを、前記モータを制御するモータ制御装置に設定する機械学習部を備える制御装置により、
    前記駆動部の動作特性を取得するために前記モータ制御装置を駆動するヘルスチェック動作の指示を出力するヘルスチェック動作指示ステップと、
    前記ヘルスチェック動作の指示に基づいて駆動した、前記モータ制御装置又は前記機械から前記駆動部の動作特性を示す情報を取得して、該情報を用いた評価関数に基づいて評価値を算出し、前記評価値を前記ヘルスチェック動作の実行時の時刻情報又は前記モータの動作情報を対応付けて前記記憶部に記憶する動作評価ステップと、
    前記ヘルスチェック動作をさせたときに、前記動作評価ステップにおいて算出された評価値と、前記記憶部において記憶された前記評価値と、に基づいて前記機械の駆動部の動作特性の劣化を推定する劣化推定ステップと、
    を備え、
    前記劣化推定ステップは、さらに、
    前記劣化推定ステップにおいて推定された前記機械の駆動部の動作特性の劣化の推定結果に基づいて、前記機械学習部に対して前記制御パラメータの機械学習を指示する機械学習指示ステップを、備え
    前記劣化推定ステップは、さらに、
    前記劣化推定ステップにおいて推定された前記機械の駆動部の動作特性の劣化の推定結果に基づいて、前記機械学習部に対して前記制御パラメータの機械学習を指示する機械学習指示ステップを備える、制御方法。
  7. 前記劣化推定ステップは、さらに、
    前記劣化推定ステップにおいて、前記機械の駆動部の動作特性の劣化の推定結果に基づいて、前記機械の駆動部の動作特性の劣化を知らせる報知ステップを備える請求項に記載の制御方法。
JP2018169921A 2018-09-11 2018-09-11 制御装置、cnc装置及び制御装置の制御方法 Active JP6856591B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018169921A JP6856591B2 (ja) 2018-09-11 2018-09-11 制御装置、cnc装置及び制御装置の制御方法
US16/552,155 US11287801B2 (en) 2018-09-11 2019-08-27 Control device, CNC device, and control method
DE102019213431.9A DE102019213431A1 (de) 2018-09-11 2019-09-04 Steuervorrichtung, CNC-Vorrichtung und Steuerverfahren
CN201910842338.4A CN110888398B (zh) 2018-09-11 2019-09-06 控制装置、cnc装置以及控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018169921A JP6856591B2 (ja) 2018-09-11 2018-09-11 制御装置、cnc装置及び制御装置の制御方法

Publications (2)

Publication Number Publication Date
JP2020042585A JP2020042585A (ja) 2020-03-19
JP6856591B2 true JP6856591B2 (ja) 2021-04-07

Family

ID=69621688

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018169921A Active JP6856591B2 (ja) 2018-09-11 2018-09-11 制御装置、cnc装置及び制御装置の制御方法

Country Status (3)

Country Link
US (1) US11287801B2 (ja)
JP (1) JP6856591B2 (ja)
DE (1) DE102019213431A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7187397B2 (ja) * 2019-07-18 2022-12-12 オークマ株式会社 工作機械における診断モデルの再学習要否判定方法及び再学習要否判定装置、再学習要否判定プログラム
CN112034715B (zh) * 2020-09-17 2021-07-13 福州大学 一种基于改进q学习算法的电机伺服系统无模型反馈控制器设计方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011134169A (ja) * 2009-12-25 2011-07-07 Mitsubishi Heavy Ind Ltd 制御パラメータ調整方法及び調整装置
KR101489116B1 (ko) * 2011-05-31 2015-02-02 미쓰비시덴키 가부시키가이샤 구동 기계의 부하 특성 추정 장치
JP6340236B2 (ja) * 2014-04-15 2018-06-06 三菱重工工作機械株式会社 工作機械の診断方法及びシステム
CN107077124B (zh) * 2014-10-27 2019-10-15 株式会社牧野铣床制作所 机床的控制方法以及机床的控制装置
JP5956619B2 (ja) * 2015-01-13 2016-07-27 ファナック株式会社 加工条件に応じてパラメータを調整するパラメータ自動調整装置
JP6148316B2 (ja) * 2015-07-31 2017-06-14 ファナック株式会社 故障条件を学習する機械学習方法及び機械学習装置、並びに該機械学習装置を備えた故障予知装置及び故障予知システム
JP6444851B2 (ja) * 2015-12-24 2018-12-26 ファナック株式会社 ノイズの発生原因を検出する学習機能を有する制御装置
JP6140331B1 (ja) * 2016-04-08 2017-05-31 ファナック株式会社 主軸または主軸を駆動するモータの故障予知を学習する機械学習装置および機械学習方法、並びに、機械学習装置を備えた故障予知装置および故障予知システム
JP6542713B2 (ja) * 2016-06-09 2019-07-10 ファナック株式会社 異常負荷検出の閾値を学習する機械学習器,数値制御装置および機械学習方法
JP6426667B2 (ja) * 2016-08-10 2018-11-21 三菱重工工作機械株式会社 工作機械の工具の異常検知装置及び方法
JP6346253B2 (ja) * 2016-12-05 2018-06-20 ファナック株式会社 工作機械及び機械学習装置
JP6386523B2 (ja) * 2016-12-15 2018-09-05 ファナック株式会社 Nandフラッシュメモリの寿命を予測する機械学習装置、寿命予測装置、数値制御装置、生産システム、及び機械学習方法
JP6453919B2 (ja) * 2017-01-26 2019-01-16 ファナック株式会社 行動情報学習装置、行動情報最適化システム及び行動情報学習プログラム
JP6659647B2 (ja) * 2017-09-29 2020-03-04 ファナック株式会社 数値制御システム及び逆流防止弁状態検知方法
JP6469320B1 (ja) * 2017-11-10 2019-02-13 三菱電機株式会社 サーボ制御装置
DE112018000122T8 (de) * 2018-06-14 2020-04-09 Mitsubishi Electric Corporation Maschinelles-Lernen-Vorrichtung, Korrekturparameter-Anpassungssystem und Maschinelles-Lernen-Verfahren

Also Published As

Publication number Publication date
DE102019213431A1 (de) 2020-03-12
US20200081411A1 (en) 2020-03-12
CN110888398A (zh) 2020-03-17
US11287801B2 (en) 2022-03-29
JP2020042585A (ja) 2020-03-19

Similar Documents

Publication Publication Date Title
US10481566B2 (en) Machine learning device, servo control device, servo control system and machine learning method
JP6474449B2 (ja) 調整装置及び調整方法
US10747193B2 (en) Machine learning apparatus, servo control apparatus, servo control system, and machine learning method
JP6569927B1 (ja) 異常判定システム、モータ制御装置、及び異常判定装置
WO2018151215A1 (ja) 制御装置及び制御方法
JP6740277B2 (ja) 機械学習装置、制御装置、及び機械学習方法
JP6748135B2 (ja) 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
CN105619424B (zh) 电机驱动设备的控制设备及方法、多轴电机的控制设备
JP2018152012A (ja) 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP6740278B2 (ja) 機械学習装置、制御装置、及び機械学習方法
CN110658785B (zh) 输出装置、控制装置、以及评价函数值的输出方法
JP6928669B2 (ja) 制御システム、工場システム、学習システム、推定用モデルの生成方法及びアクチュエータの状態推定方法
US11126149B2 (en) Control parameter adjusting device and adjusting method using machine learning
US11680916B2 (en) Machine learning device, control system, and machine learning method
JP6841801B2 (ja) 機械学習装置、制御システム及び機械学習方法
JP6856591B2 (ja) 制御装置、cnc装置及び制御装置の制御方法
JP6806746B2 (ja) モータ制御装置
JP7000371B2 (ja) 機械学習装置、制御システム及び機械学習方法
CN110888398B (zh) 控制装置、cnc装置以及控制方法
JP7469476B2 (ja) 制御支援装置、制御システム及び制御支援方法
WO2023181418A1 (ja) 制御パラメータを調整する調整装置、制御システム及び制御パラメータ調整方法
WO2023153446A1 (ja) 提案装置、提案システム、提案方法、及び、プログラム
JP6740290B2 (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: 20200916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201130

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210318

R150 Certificate of patent or registration of utility model

Ref document number: 6856591

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150