[go: up one dir, main page]

JP6193961B2 - 機械の送り軸の送りの滑らかさを最適化する機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置 - Google Patents

機械の送り軸の送りの滑らかさを最適化する機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置 Download PDF

Info

Publication number
JP6193961B2
JP6193961B2 JP2015234054A JP2015234054A JP6193961B2 JP 6193961 B2 JP6193961 B2 JP 6193961B2 JP 2015234054 A JP2015234054 A JP 2015234054A JP 2015234054 A JP2015234054 A JP 2015234054A JP 6193961 B2 JP6193961 B2 JP 6193961B2
Authority
JP
Japan
Prior art keywords
unit
command
learning
motor control
motor
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
JP2015234054A
Other languages
English (en)
Other versions
JP2017102613A (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 JP2015234054A priority Critical patent/JP6193961B2/ja
Priority to US15/299,471 priority patent/US9990590B2/en
Priority to DE102016013985.4A priority patent/DE102016013985A1/de
Priority to CN201611052724.6A priority patent/CN106815642B/zh
Publication of JP2017102613A publication Critical patent/JP2017102613A/ja
Application granted granted Critical
Publication of JP6193961B2 publication Critical patent/JP6193961B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/0004Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control
    • H02P23/0018Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • 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/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/12Observer control, e.g. using Luenberger observers or Kalman filters
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P27/00Arrangements or methods for the control of AC motors characterised by the kind of supply voltage
    • H02P27/04Arrangements or methods for the control of AC motors characterised by the kind of supply voltage using variable-frequency supply voltage, e.g. inverter or converter supply voltage
    • H02P27/06Arrangements or methods for the control of AC motors characterised by the kind of supply voltage using variable-frequency supply voltage, e.g. inverter or converter supply voltage using DC to AC converters or inverters
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/14Estimation or adaptation of motor parameters, e.g. rotor time constant, flux, speed, current or voltage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Power Engineering (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Medical Informatics (AREA)
  • Quality & Reliability (AREA)
  • Control Of Electric Motors In General (AREA)
  • Numerical Control (AREA)
  • Feedback Control In General (AREA)
  • Control Of Position Or Direction (AREA)

Description

本発明は、モータの制御に用いられる位置指令、速度指令および電流指令のうちのいずれかの指令に対する補正量に関連付けられる条件を学習する機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置に関する。
工作機械などの機械の送り軸の送りの滑らかさは、モータのロータに対する位置指令と、送り軸を動作させるためのモータとこれに付随する各種器具とからなる送り機構部の実位置と、の誤差であるエラー量によって定量的に捉えることができ、例えば機械の送り軸の送りの滑らかさが悪化するほどエラー量は大きくなる。ここで、送り機構部の実位置には、フルクローズ制御が適用される場合において外部センサ(リニアスケール)によって取得される加工部の実位置、および、セミクローズ制御が適用される場合においてモータに設けられたパルスエンコーダによって取得されるロータの実位置が含まれる。
機械の送り軸の送りの滑らかさの悪化要因には様々なものがある。例えば、ロータに発生するコギングトルクやモータのロータ回転方向による違いといったモータ起因のもの、モータの制御に用いられる動作プラグラムやトルク指令の大きさとったモータ制御装置起因のものなどがある。またあるいは、モータを駆動源とする工作機械におけるワーク加工条件、工作機械による加工時における切削負荷の大きさ、工作機械の温度、複数の駆動軸を有する工作機械において各駆動軸が動作することで発生する振動なども、機械の送り軸の送りの滑らかさの悪化の要因となる。
例えば、トルクリップルはモータの電気角の各一回転に対して一回発生することから、トルクリップルに起因する送りの滑らかさの悪化は周期性のあるものとなる。
従来より、トルクリップル起因の周期性のある送りの滑らかさの悪化については、トルクリップルに対して逆位相の補正量を予め補償することによって低減することが行われている。図11は、トルクリップルに対する逆位相の補正量による補償を説明する図である。図11において、ロータに発生するトルクリップルを実線で示し、トルクリップル補正量を点線で示し、トルクリップルに対するトルクリップル補正量による補償後の波形を一点鎖線で示す。ロータに発生するトルクリップルに対し、逆位相のトルクリップル補正量を予めトルク指令に重畳することによりトルクリップルを除去することができ、これにより送りの滑らかさの悪化を低減することができる。
また例えば、トルクリップルにより発生する送りの滑らかさの悪化を低減するために、速度ループ補正器を備えた速度ループ中において、トルク変化相当分を補償することでトルクコマンドを補正するものがある(例えば、特許文献1参照。)。
特開平7−284286号公報
上述のように、トルクリップルに起因する送りの滑らかさの悪化は周期性があるので、送りの滑らかさの悪化を低減するための、トルクリップルに対して逆位相となるような補正量の生成は容易である。しかしながら、モータを駆動源とする工作機械におけるワーク加工条件、該工作機械による加工時における切削負荷の大きさ、工作機械の温度、複数の駆動軸を有する工作機械において各駆動軸が動作することで発生する振動などに起因する送りの滑らかさの悪化は、ある程度の再現性はあるものの、周期性はない。図12は、周期性のないエラー量を例示する図である。周期性のないエラー量については、トルクリップルに起因するエラー量のような逆位相の補正量では補正することはできない。
従って本発明の目的は、上記問題に鑑み、モータに対するロータ位置指令と送り機構部の実位置との誤差であるエラー量を容易に最小化することができる機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置を提供することにある。
上記目的を実現するために、本発明によれば、モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令に対する補正量に関連付けられる条件を学習する機械学習装置は、モータ制御装置により駆動制御されるモータのロータに対する位置指令と送り機構部の実位置との誤差であるエラー量に関するデータと、モータ制御装置の動作プログラムと、モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令と、モータ制御装置を有する工作機械におけるワーク加工条件に関するデータと、モータ制御装置を有する工作機械の状態に関するデータと、のうちの少なくとも1つから構成される状態変数を観測する状態観測部と、状態変数によって構成される訓練データセットに従って、モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令を補正するのに用いられる補正量に関連付けられる条件を学習する学習部と、を備える。
ここで、工作機械の状態には、工作機械の温度、工作機械の振動のうちの少なくとも1つを含んでもよい。
また、学習部は、エラー量に基づいて報酬を計算する報酬計算部と、状態変数および報酬に基づいて、補正量を計算するための関数を更新する関数更新部と、を備えてもよい。
また、報酬計算部は、エラー量が、現在のエラー量よりも前に状態観測部により観測されたエラー量よりも、小さいときは報酬を増やし、大きいときは報酬を減らすようにしてもよい。
また、報酬計算部は、エラー量が、規定範囲内であるときは報酬を増やし、規定範囲外であるときは報酬を減らすようにしてもよい。
また、関数更新部は、状態変数および報酬に基づいて、ニューラルネットワークモデルに従って、補正量を計算するための関数を更新するようにしてもよい。
また、学習部は、複数のモータ制御装置に対して取得される訓練データセットに従って、上記条件を学習するように構成されてもよい。
また、学習部は、エラー量に基づいて誤差を計算する誤差計算部と、状態変数および上記誤差に基づいて、補正量を計算するための学習モデルを更新する学習モデル更新部と、を備えてもよい。
また、上述の機械学習装置を備えたモータ制御装置は、学習部が訓練データセットに従って学習した結果に基づいて、現在の状態変数の入力に応答して、補正量を決定する意思決定部と、意思決定部が決定した補正量を用いて、モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令を補正する補正部と、補正部により補正された指令に基づいて、モータへ駆動電力を供給するモータ電力供給部と、モータのロータの実位置を検出する位置検出部と、ロータに対する位置指令と送り機構部の実位置との誤差であるエラー量を測定するエラー量測定部と、をさらに備える。
また、モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令に対する補正量に関連付けられる条件を学習する機械学習方法は、モータ制御装置により駆動制御されるモータのロータに対する位置指令と送り機構部の実位置との誤差であるエラー量に関するデータと、モータ制御装置の動作プログラムと、モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令と、モータ制御装置を有する工作機械におけるワーク加工条件に関するデータと、モータ制御装置を有する工作機械の状態に関するデータと、のうちの少なくとも1つから構成される状態変数を観測する状態観測ステップと、状態変数によって構成される訓練データセットに従って、モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令を補正するのに用いられる補正量に関連付けられる条件を学習する学習ステップと、を備える。
本発明によれば、モータに対するロータ位置指令と送り機構部の実位置との誤差であるエラー量を容易に最小化することができる機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置を実現することができる。
本発明によれば、モータ制御装置が動作している状態において、モータを駆動源とする工作機械におけるワーク加工条件、該工作機械による加工時における切削負荷の大きさ、工作機械の温度、複数の駆動軸を有する工作機械において各駆動軸が動作することで発生する振動などに合わせて、機械学習装置がロータ位置指令とロータ実位置との誤差であるエラー量を最小化する指令に対する補正量を自ら学習して調整していくので、周囲環境が変動しても各補正量をリアルタイムに変更することができ、エラー量を的確に最小化することができる。
本発明の実施例による機械学習装置の原理ブロック図である。 モータ制御装置内の駆動指令生成部の構成を概略的に示すブロック図である。 本発明の実施例による機械学習方法の動作フローを示すフローチャートである。 本発明の実施例による、強化学習を適用した機械学習装置の原理ブロック図である。 本発明の実施例による、強化学習を適用した機械学習方法の動作フローを示すフローチャートである。 本発明の実施例による、強化学習を適用した機械学習装置を備えるモータ制御装置を示す原理ブロック図である。 本発明の実施例による、強化学習を適用した機械学習装置を備えるモータ制御装置の動作フローを示すフローチャートである。 ニューロンのモデルを示す模式図である。 D1〜D3の3層の重みを有するニューラルネットワークを示す模式図である。 本発明の実施例による、教師あり学習を適用した機械学習装置を備えるモータ制御装置を示す原理ブロック図である。 トルクリップルに対する逆位相の補正量による補償を説明する図である。 周期性のないエラー量を例示する図である。
図1は、本発明の実施例による機械学習装置の原理ブロック図である。以降、異なる図面において同じ参照符号が付されたものは同じ機能を有する構成要素であることを意味するものとする。
本発明の実施例による機械学習装置1は、モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令に対する補正量を学習するものとして構成される。
機械学習装置1は、状態観測部11と学習部12とを備える。
状態観測部11は、モータ制御装置により駆動制御されるモータのロータに対する位置指令と送り機構部の実位置との誤差であるエラー量に関するデータと、モータ制御装置の動作プログラムと、モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令と、モータ制御装置を有する工作機械におけるワーク加工条件に関するデータと、モータ制御装置を有する工作機械の状態に関するデータと、のうちの少なくとも1つから構成される状態変数を観測する。ここで、送り機構部は、送り軸を動作させるためのモータとこれに付随する各種器具とからなる。送り機構部の実位置には、フルクローズ制御が適用される場合において外部センサ(リニアスケール)によって取得される加工部の実位置、および、セミクローズ制御が適用される場合においてモータに設けられたパルスエンコーダによって取得されるロータの実位置が含まれる。
状態観測部11によって状態変数として観測されるロータの位置指令と送り機構部の誤差であるエラー量に関するデータは、モータ制御装置に格納された動作プログラムの内部データとして利用されるものであり、モータ制御装置から取得されるものである。モータ制御装置の動作プログラム、ならびにモータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令も、モータ制御装置から取得される。また、モータ制御装置を有する工作機械におけるワーク加工条件に関するデータと、モータ制御装置を有する工作機械の状態に関するデータは、工作機械から取得される。ここで、工作機械の状態は、工作機械の温度、工作機械の振動のうちの少なくとも1つを含む。工作機械の温度に関するデータは、工作機械内の任意の箇所に設けられた温度センサから取得される。工作機械の振動に関するデータは、工作機械内の任意の箇所に設けられた振動センサから取得される。
学習部12は、状態変数によって構成される訓練データセットに従って、モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令を補正するのに用いられる補正量に関連付けられる条件を学習する。なお、訓練データセットを、複数のモータ制御装置の場合について取得してもよく、この場合、学習部12は、複数のモータ制御装置に対して作成される訓練データセットに従って、エラー量を最小化する補正量を学習する。なお、学習部12は、当該学習部12が備えられる機械学習装置1とは異なる機械学習装置内の学習部が学習した結果に基づいて、モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令を補正するのに用いられる補正量を学習するようにしてもよい。
ここで、モータ制御装置における位置指令、速度指令および電流指令について図2を参照して説明する。図2は、モータ制御装置内の駆動指令生成部の構成を概略的に示すブロック図である。
工作機械の駆動源として用いられる交流モータを駆動するための駆動電力を供給する逆変換器を制御する駆動指令を生成する駆動指令生成部50は、位置制御ループ、速度制御ループおよび電流制御ループから構成される。位置制御ループにおいては、三相交流モータ300に取り付けられた位置検出部16により検出された三相交流モータ300のロータ実位置に関する情報(位置フィードバック値)と位置指令作成部(図示せず)で作成された位置指令とに基づいて、速度指令成部213により速度指令を作成する。速度制御ループにおいては、三相交流モータ300に取り付けられた速度検出部18により検出された三相交流モータ300のロータ速度に関する情報(速度フィードバック値)と速度指令成部213により作成された速度指令とに基づいて、電流指令成部212により電流指令を作成する。電流制御ループにおいては、電流検出部19により検出されたモータ電力供給部15内の逆変換器から三相交流モータ300へ流れ込む電流に関する情報(電流フィードバック値)と電流指令成部212により作成された電流指令値とに基づいて、電流制御部211を用いてモータ電力供給部15内の逆変換器電力変換動作を制御するための駆動指令(例えばPWM制御信号)を作成する。モータ電力供給部15内の逆変換器は、例えば内部に設けられたスイッチング素子のスイッチング動作により直流電力を交流電力に変換するモータ電力供給用のインバータであり、受信した駆動指令により、モータ電力供給部15内の逆変換器内のスイッチング素子のスイッチング動作を制御することで直流電力を三相交流モータ300の駆動用の交流電力に変換する変換動作を制御する。三相交流モータ300は、モータ電力供給部15内の逆変換器から出力された交流電力を駆動電力として動作するので、モータ電力供給部15内の逆変換器から出力される交流電力を制御すれば、三相交流モータ300の速度、トルク、もしくは回転子の位置を駆動制御することができる。三相交流モータ300を駆動することで工作機械の可動部を駆動する。
このように、モータ制御装置における指令として、位置指令、速度指令および電流指令が存在する。学習部12により学習される補正量は、モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令を補正するのに用いられる。
図3は、本発明の実施例による機械学習方法の動作フローを示すフローチャートである。モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令に対する補正量に関連付けられる条件を学習する機械学習方法は、状態観測ステップS101と、学習ステップS102とを備える。
状態観測ステップS101は、状態観測部11により実行されるものであり、すなわち、モータ制御装置により駆動制御されるモータのロータに対する位置指令とロータの実位置との誤差であるエラー量に関するデータと、モータ制御装置の動作プログラムと、モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令と、モータ制御装置を有する工作機械におけるワーク加工条件に関するデータと、モータ制御装置を有する工作機械の状態に関するデータと、のうちの少なくとも1つから構成される状態変数を観測する。
学習ステップS102は、学習部12によって実行されるものであり、すなわち、状態変数によって構成される訓練データセットに従って、モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令を補正するのに用いられる補正量に関連付けられる条件を学習する。
学習部12が用いる学習アルゴリズムはどのようなものを用いてもよい。機械学習装置1は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習を行う機能を有する。その手法は様々であるが、大別すれば「教師あり学習」、「教師なし学習」、「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習(ディープラーニング:Deep Learning)」と呼ばれる手法がある。なお、これらの機械学習(機械学習装置1)は、例えば、GPGPU(General−Purpose computing on Graphics Processing Units)や大規模PCクラスター等を適用することにより実現される。
以下、一例として、強化学習を用いた場合について図4および図5を参照して説明する。「教師あり学習」、「教師なし学習」等については、後述する。
図4は、本発明の実施例による、強化学習を適用した機械学習装置の原理ブロック図である。学習部12は、報酬計算部21と関数更新部22とを備える。なお、報酬計算部21および関数更新部22以外の構成要素については図1に示す構成要素と同様であるので、同一の構成要素には同一符号を付して当該構成要素についての詳細な説明は省略する。
報酬計算部21は、モータ制御装置により駆動制御されるモータのロータに対する位置指令とロータの実位置との誤差であるエラー量に基づいて報酬を計算する。報酬計算部21は、エラー量が小さいほど、モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令を補正するのに用いられる補正量が好影響を及ぼしていると捉えて、高報酬を与える。例えば、報酬計算部21は、状態観測部11によって観測されたエラー量が、現在のエラー量よりも前に状態観測部11により観測されたエラー量よりも、小さいときは報酬を増やし、大きいときは報酬を減らすようにすればよい。また例えば、報酬計算部21は、状態観測部11によって観測されたエラー量が、規定範囲内であるときは報酬を増やし、規定範囲外であるときは報酬を減らすようにしてもよい。ここで、規定範囲については、作業者が、モータや工作機械の製造コストや使用環境など種々の要因を考慮して適宜設定すればよい。
関数更新部22は、状態観測部11によって観測された状態変数および報酬計算部21によって計算された報酬に基づいて、モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令を補正するのに用いられる補正量を計算するための関数(行動価値テーブル)を更新する。
学習部12が、状態観測部11で観測された状態変数を多層構造で演算し、関数(行動価値テーブル)をリアルタイムで更新してもよい。例えば、関数更新部22は、状態観測部11によって観測された状態変数および報酬計算部21によって計算された報酬に基づいて、ニューラルネットワークモデルに従って、モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令を補正するのに用いられる補正量を計算するための関数を更新するようにしてもよい。ここで、状態変数を多層構造で演算する方法として、例えば、後述する図9に示すような多層ニューラルネットワークを用いることができる。
図5は、本発明の実施例による、強化学習を適用した機械学習方法の動作フローを示すフローチャートである。
まず、状態観測ステップS101において、状態観測部11は、モータ制御装置により駆動制御されるモータのロータに対する位置指令と送り機構部の実位置との誤差であるエラー量に関するデータと、モータ制御装置の動作プログラムと、モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令と、モータ制御装置を有する工作機械におけるワーク加工条件に関するデータと、モータ制御装置を有する工作機械の状態に関するデータと、のうちの少なくとも1つから構成される状態変数を観測する。
次いで、報酬計算ステップS102−1において、報酬計算部21は、モータ制御装置により駆動制御されるモータのロータに対する位置指令と送り機構部の実位置との誤差であるエラー量に基づいて報酬を計算する。
次いで、関数更新ステップS102−2において、関数更新部22は、状態観測部11によって観測された状態変数および報酬計算部21によって計算された報酬に基づいて、モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令を補正するのに用いられる補正量を計算するための関数(行動価値テーブル)を更新する。
続いて、上述の機械学習装置を備えるモータ制御装置について説明する。
図6は、本発明の実施例による、強化学習を適用した機械学習装置を備えるモータ制御装置を示す原理ブロック図である。ここでは、工作機械内にモータ制御装置100が設けられ、工作機械の駆動軸の駆動源となる三相交流モータ300を、モータ制御装置100で制御する場合について説明する。
本発明の実施例によるモータ制御装置は、上述の機械学習装置1と、意思決定部13と、補正部14と、モータ電力供給部15と、位置検出部16と、エラー量測定部17と、温度測定部31と、振動測定部32とを備える。なお、図6では、図2において示した速度検出部および電流検出部については図示を省略している。なお、上述のように送り機構部の実位置には、フルクローズ制御が適用される場合において外部センサ(リニアスケール)によって取得される加工部の実位置、および、セミクローズ制御が適用される場合においてモータに設けられたパルスエンコーダによって取得されるロータの実位置が含まれるが、図6では、送り機構部の実位置として、モータ300に設けられた位置検出部16(パルスコーダ)によって検出されるモータ300のロータの実位置を用いている。
モータ電力供給部15は、駆動指令生成部50において生成された駆動指令に基づいて、モータ300へ駆動電力を供給する。モータ電力供給部15は、例えば、交流電源側から供給された交流電力を直流電力に変換してDCリンクへ出力する整流器と、DCリンクに接続され、DCリンクにおける直流電力を交流電力に変換して三相交流モータ300へ供給する逆変換器(インバータ)とからなる。用いられる整流器の実施形態は特に限定されず、例えばダイオード整流器、あるいはPWM制御方式の整流器などがある。また、逆変換器についても実施形態は特に限定されず、一般的には交直双方向に変換可能である電力変換器であり、例えばPWMインバータがある。PWMインバータは、スイッチング素子およびこれに逆並列に接続されたダイオードのブリッジ回路からなり、駆動指令生成部50において生成された駆動指令に基づいてスイッチング素子のスイッチング動作がPWM制御される。すなわち、モータ電力供給部15内の逆変換器は、DCリンク側から供給される直流電力を、駆動指令生成部50から受信した駆動指令に基づき内部のスイッチング素子をスイッチング動作させ、三相交流モータ300を駆動するための所望の電圧および所望の周波数の三相交流電力に変換する。これにより、三相交流モータ300は、供給された電圧可変および周波数可変の三相交流電力に基づいて動作することになる。また、三相交流モータ300の減速時には回生電力が発生するが、この場合は駆動指令生成部50から受信した電動機駆動指令に基づき、三相交流モータ300で発生した交流の回生電力を直流電力へ変換してDCリンクへ戻す。
位置検出部16は、三相交流モータ300のロータの実位置を検出するものであり、三相交流モータ300に設けられたパルスコーダからなる。
エラー量測定部17は、駆動指令生成部50から取得された三相交流モータ300のロータに対する位置指令と位置検出部16により検出された実位置との誤差であるエラー量を測定する。エラー量測定部17により測定されたエラー量に関するデータは機械学習装置1内の状態観測部11に入力される。
温度測定部31は、モータ制御装置100が設けられる工作機械モータ内の任意の箇所に設置される温度センサであり、工作機械の温度を測定する。温度測定部31は、工作機械内の複数の箇所に設置されて当該複数の箇所の温度を測定してもよい。温度測定部31により測定された工作機械の温度に関するデータは機械学習装置1内の状態観測部11に入力される。
振動測定部32は、モータ制御装置100が設けられる工作機械内の任意の箇所に設置される振動センサであり、工作機械内で発生する振動を測定する。振動測定部32は、工作機械内の複数の箇所に設置されて当該複数の箇所の温度を測定してもよい。振動測定部32により測定された工作機械の振動に関するデータは機械学習装置1内の状態観測部11に入力される。
モータ制御装置100内の機械学習装置1は、上述したように、状態観測部11と学習部12とを備える。
状態観測部11は、エラー量測定部17により測定されたエラー量に関するデータと、モータ制御装置100の動作プログラムと、駆動指令生成部50から取得したモータ制御装置100における位置指令、速度指令および電流指令のうちのいずれかの指令と、モータ制御装置100が設けられた工作機械におけるワーク加工条件に関するデータと、モータ制御装置100が設けられた工作機械の状態に関するデータとから構成される状態変数を観測する。観測された状態変数は訓練データセットとして学習部12における学習に用いられる。なお、ここでは、モータ制御装置100が設けられた工作機械の状態に関するデータを、温度測定部31により測定された工作機械の温度に関するデータ、および振動測定部32により測定された工作機械の振動に関するデータとしたが、これら以外の工作機械の状態に関するデータを状態変数として用いてもよい。また、モータ制御装置100の動作プログラムは、モータ制御装置100の動作を統括制御する制御部(図示せず)から取得すればよい。また、モータ制御装置100が設けられた工作機械におけるワーク加工条件に関するデータは、モータ制御装置100の動作を統括制御する制御部(図示せず)から取得されてもよく、またあるいは作業者により入力装置(図示せず)を介して入力されてもよい。
学習部12内の報酬計算部21は、状態観測部11によって観測されたエラー量に基づいて報酬を計算する。例えば、報酬計算部21は、状態観測部11によって観測されたエラー量が、現在のエラー量よりも前に状態観測部11により観測されたエラー量よりも、小さいときは報酬を増やし、大きいときは報酬を減らす。また例えば、報酬計算部21は、状態観測部11によって観測されたエラー量が、規定範囲内であるときは報酬を増やし、規定範囲外であるときは報酬を減らす。
学習部12内の関数更新部22は、状態観測部11によって観測された状態変数および報酬計算部21によって計算された報酬に基づいて、モータ制御装置100における位置指令、速度指令および電流指令のうちのいずれかの指令を補正するのに用いられる補正量を計算するための関数(行動価値テーブル)を更新する。
意思決定部13は、学習部12が訓練データセットに従って学習した結果に基づいて、現在の状態変数の入力に応答して、モータ制御装置100における位置指令、速度指令および電流指令のうちのいずれかの指令を補正するのに用いられる補正量を決定する。本実施例では、一例として学習アルゴリズムとして強化学習を用いているので、学習部12内の報酬計算部21によって算出された報酬に基づいて学習部12内の関数更新部22は、モータ制御装置100における位置指令、速度指令および電流指令のうちのいずれかの指令を補正するのに用いられる補正量を計算するための関数を更新し、意思決定部13は、更新された関数に基づき、報酬が最も多く得られる補正量を選択する。
補正部14は、意思決定部13が決定した補正量を用いて、モータ制御装置100における位置指令、速度指令および電流指令のうちのいずれかの指令を補正する。補正量により補正される指令は、位置指令、速度指令および電流指令のいずれでもあってもよい。
駆動指令生成部50は、補正された指令(位置指令、速度指令および電流指令のいずれか)に基づいて、モータ電力供給部15による三相交流モータ300への電力供給を制御するための駆動指令を生成する。モータ制御装置100内の駆動指令生成部50の構成については、図2に示した通りである。すなわち、駆動指令生成部50は、位置制御ループ、速度制御ループおよび電流制御ループから構成される。位置制御ループにおいては、三相交流モータ300に取り付けられた位置検出部16により検出された三相交流モータ300のロータ実位置に関する情報(位置フィードバック値)と位置指令作成部(図示せず)で作成された位置指令とに基づいて、速度指令成部213により速度指令を作成する。速度制御ループにおいては、三相交流モータ300に取り付けられた速度検出部18により検出された三相交流モータ300のロータ速度に関する情報(速度フィードバック値)と速度指令成部213により作成された速度指令とに基づいて、電流指令成部212により電流指令を作成する。電流制御ループにおいては、電流検出部19により検出されたモータ電力供給部15内の逆変換器から三相交流モータ300へ流れ込む電流に関する情報(電流フィードバック値)と電流指令成部212により作成された電流指令値とに基づいて、電流制御部211を用いてモータ電力供給部15内の逆変換器を駆動するための駆動指令(例えばPWM制御信号)を作成する。上述のようにモータ電力供給部15内の逆変換器は、例えば内部に設けられたスイッチング素子のスイッチング動作により直流電力を交流電力に変換するモータ電力供給用のPWMインバータであり、受信した駆動指令により、モータ電力供給部15内の逆変換器内のスイッチング素子のスイッチング動作を制御することで直流電力を三相交流モータ300の駆動用の交流電力に変換する変換動作を制御する。三相交流モータ300は、モータ電力供給部15内の逆変換器から出力された交流電力を駆動電力として動作するので、モータ電力供給部15内の逆変換器から出力される交流電力を制御すれば、三相交流モータ300の速度、トルク、もしくは回転子の位置を駆動制御することができる。三相交流モータ300を駆動することで工作機械の駆動軸を駆動する。
図7は、本発明の実施例による、強化学習を適用した機械学習装置を備えるモータ制御装置の動作フローを示すフローチャートである。
一般に、強化学習では行動の初期値はランダムに選択される。本発明の実施例では、ステップS201において、行動である指令(位置指令、速度指令および電流指令のいずれか)に対する補正量をランダムに選択する。
ステップS202では、駆動指令生成部50は、設定された補正量を用いて補正された指令(位置指令、速度指令および電流指令のいずれか)に基づいて、三相交流モータ300の動作プログラム、モータ電力供給部15の三相交流モータ300側の交流電流もしくは交流電圧および/または三相交流モータ300の回転速度などを用いて、三相交流モータ300の速度、トルク、もしくは回転子の位置を制御するための駆動指令を生成する。これにより、モータ電力供給部15は、交流電力を直流電力に変換する力行動作(順変換動作)および直流電力を交流電力に変換する回生動作(逆変換動作)を行い、三相交流モータ300は、供給された交流の駆動電力により駆動することになる。この間、位置検出部16は、三相交流モータ300のロータの実位置を検出し、エラー量測定部17は、駆動指令生成部50から取得された三相交流モータ300のロータに対する位置指令と位置検出部16により検出された実位置との誤差であるエラー量を測定し、速度検出部18は、三相交流モータ300のロータ速度を検出し、電流検出部19は、モータ電力供給部15内の逆変換器から三相交流モータ300へ流れ込む電流を検出する。また、温度測定部31は、モータ制御装置100が設けられる工作機械の温度を測定し、振動測定部32は、モータ制御装置100が設けられる工作機械内で発生する振動を測定する。
ステップS203において、状態観測部11は、エラー量測定部17により測定されたエラー量に関するデータと、モータ制御装置100の動作プログラムと、駆動指令生成部50から取得したモータ制御装置100における位置指令、速度指令および電流指令のうちのいずれかの指令と、モータ制御装置100が設けられた工作機械におけるワーク加工条件に関するデータと、モータ制御装置100が設けられた工作機械の状態に関するデータとから構成される状態変数を観測する。
ステップS204では、状態観測部11は、エラー量に関するデータに基づき、当該エラー量が、規定範囲α内であるか否かを判別する。状態観測部11によりエラー量が規定範囲α内であると判定されたときは、ステップS205において報酬計算部21は報酬を増やす。一方、状態観測部11によりエラー量が規定範囲α外であると判定されたときは、ステップS206において報酬計算部21は報酬を減らす。なお、図7に示す例では、報酬計算部21は、エラー量が、規定範囲α内であるときは報酬を増やし、規定範囲α外であるときは報酬を減らすとしたが、この代替例として、報酬計算部21は、エラー量が、現在のエラー量よりも前に状態観測部11により観測されたエラー量よりも、小さいときは報酬を増やし、大きいときは報酬を減らすようにしてもよい。
ステップS207では、関数更新部22は、状態観測部11によって観測された状態変数および報酬計算部21によって計算された報酬に基づいて、モータ制御装置100における位置指令、速度指令および電流指令のうちのいずれかの指令を補正するのに用いられる補正量を計算するための関数を更新する。
続くステップS208では、意思決定部13は、ステップS207において更新された関数に基づいて、報酬が最も多く得られる補正量を選択する。その後、ステップS202へ戻り、これ以降、ステップS202〜S208の処理が繰り返し実行される。これにより、機械学習装置1は、エラー量を最小化することができる補正量を学習していく。なお、訓練データセットを、複数のモータ制御装置100から取得してもよく、この場合、学習部12は、複数のモータ制御装置100に対して取得される訓練データセットに従って、ステップS201〜S208の処理を繰り返し実行し、補正量を学習していく。複数のモータ制御装置100に対して訓練データセットが取得されると機械学習装置1の学習精度は向上する。
次に、機械学習装置1についてより詳細に説明する。機械学習装置1は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習を行う機能を有する。上述のように、機械学習装置1の学習アルゴリズムとして、大別すると「教師あり学習」、「教師なし学習」、「強化学習」がある。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習」と呼ばれる手法がある。なお、これらの機械学習(機械学習装置1)は、例えば、GPGPU(General−Purpose computing on Graphics Processing Units)や大規模PCクラスター等を適用することにより実現される。
「教師あり学習」とは、ある入力と結果(ラベル)のデータの組を大量に機械学習装置1に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル、即ち、その関係性を帰納的に獲得するものである。この教師あり学習を本実施形態に適用する場合、モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令を補正するのに用いられる補正量を計算する部分などに用いることができる。後述のニューラルネットワークなどのアルゴリズムを用いて実現することができる。
「教師なし学習」とは、入力データのみを大量に機械学習装置1に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮、分類、整形などを行う装置を学習する手法である。例えば、それらのデータセットにある特徴を似たものどうしにクラスタリングすることなどができる。この結果を使って、何らかの基準を設けてそれを最適にするような出力の割り当てを行うことで、出力の予測を実現することできる。
また「教師なし学習」と「教師あり学習」との中間的な問題設定として、「半教師あり学習」と呼ばれるものもあり、これは一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合がこれに当たる。本実施形態においては、実際にモータ制御装置を動作させなくても取得することができるデータ(例えばシミュレーションのデータ)を教師なし学習で利用し、学習を効率的に行うことができる。
まず、機械学習装置1の学習アルゴリズムを強化学習とした例について説明する。
強化学習の問題設定として、次のように考える。
・モータ制御装置は環境の状態を観測し、行動を決定する。
・環境は何らかの規則に従って変化し、さらに自分の行動が、環境に変化を与えることもある。
・行動するたびに報酬信号が帰ってくる。
・最大化したいのは将来にわたっての(割引)報酬の合計である。
・行動が引き起こす結果を全く知らない、または不完全にしか知らない状態から学習はスタートする。すなわち、モータ制御装置は実際に動作して初めて、その結果をデータとして得ることができる。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように事前学習(前述の教師あり学習や、逆強化学習といった手法)した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
ここで、「強化学習」とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、即ち、将来的に得られる報酬を最大にするための学習する方法である。このことは、本実施形態において、ロータ位置指令と送り機構部の実位置との誤差を最小化する(エラー量を最小化する)といった、未来に影響を及ぼすような行動を獲得できることを表している。例えばQ学習の場合で説明を続けるが、それに限るものではない。
Q学習は、ある環境状態sの下で、行動aを選択する価値Q(s,a)を学習する方法である。つまり、ある状態sのとき、価値Q(s,a)の最も高い行動aを最適な行動として選択すればよい。しかし、最初は状態sと行動aとの組合せについて、価値Q(s,a)の正しい値は全く分かっていない。そこで、エージェント(行動主体)は、ある状態sの下で様々な行動aを選択し、その時の行動aに対して報酬が与えられる。それにより、エージェントはより良い行動の選択、すなわち正しい価値Q(s,a)を学習していく。
さらに、行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にQ(s,a)=E[Σγtt]となるようにすることを目指す。ここで、期待値は、最適な行動に従って状態変化したときについてとるものとし、それは、それは分かっていないので、探索しながら学習することになる。そのような価値Q(s,a)の更新式は、例えば式1により表すことができる。
上記の式1において、stは時刻tにおける環境の状態を表し、atは時刻tにおける行動を表す。行動atにより、状態はst+1に変化する。rt+1は、その状態の変化により貰える報酬を表している。また、maxの付いた項は、状態st+1の下で、その時に分かっている最もQ値の高い行動aを選択した場合のQ値にγを乗じたものになる。γは、0<γ≦1のパラメータで、割引率と呼ばれる。αは学習係数で、0<α≦1の範囲とする。
式1は、試行atの結果帰ってきた報酬rt+1を元に、状態stにおける行動atの評価値Q(st,at)を更新する方法を表している。状態sにおける行動aの評価値Q(st,at)よりも、報酬rt+1+行動aによる次の状態における最良の行動max aの評価値Q(st+1,max at+1)の方が大きければ、Q(st,at)を大きくするし、反対に小さければ、Q(st,at)も小さくする事を示している。つまり、ある状態におけるある行動の価値を、結果として即時帰ってくる報酬と、その行動による次の状態における最良の行動の価値に近づけるようにしている。
ここで、Q(s,a)の計算機上での表現方法は、すべての状態行動ペア(s,a)に対して、その値をテーブル(行動価値テーブル)として保持しておく方法と、Q(s,a)を近似するような関数を用意する方法がある。後者の方法では、前述の更新式は、確率勾配降下法などの手法で近似関数のパラメータを調整していくことで実現することができる。近似関数としては、後述のニューラルネットワークを用いることができる。
また、教師あり学習、教師なし学習、および強化学習での価値関数の近似アルゴリズムとして、ニューラルネットワークを用いることができる。ニューラルネットワークは、たとえば図8に示すようなニューロンのモデルを模したニューラルネットワークを実現する演算装置およびメモリ等で構成される。図8は、ニューロンのモデルを示す模式図である。
図8に示すように、ニューロンは、複数の入力x(図8では、一例として、入力x1〜入力x3)に対する出力yを出力するものである。各入力x1〜x3には、この入力xに対応する重みw(w1〜w3)が掛けられる。これにより、ニューロンは、式2により表現される出力yを出力する。なお、入力x、出力yおよび重みwは、すべてベクトルである。また、下記の式2において、θはバイアスであり、fkは活性化関数である。
次に、上述したニューロンを組み合わせた3層の重みを有するニューラルネットワークについて、図9を参照して説明する。図9は、D1〜D3の3層の重みを有するニューラルネットワークを示す模式図である。
図9に示すように、ニューラルネットワークの左側から複数の入力x(ここでは一例として、入力x1〜入力x3)が入力され、右側から結果y(ここでは一例として、結果y1〜結果y3)が出力される。
具体的には、入力x1〜入力x3は、3つのニューロンN11〜N13の各々に対して対応する重みが掛けられて入力される。これらの入力に掛けられる重みはまとめてw1と標記されている。
ニューロンN11〜N13は、それぞれ、z11〜z13を出力する。図9において、これらz11〜z13はまとめて特徴ベクトルz1と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルz1は、重みw1と重みw2との間の特徴ベクトルである。z11〜z13は、2つのニューロンN21、N22の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてw2と標記されている。
ニューロンN21、N22は、それぞれ、z21、z22を出力する。図9において、これらz21、z22は、まとめて特徴ベクトルz2と標記されている。この特徴ベクトルz2は、重みw2と重みw3との間の特徴ベクトルである。特徴ベクトルz21、z22は、3つのニューロンN31〜N33の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてw3と標記されている。
最後に、ニューロンN31〜N33は、それぞれ、結果y1〜結果y3を出力する。
ニューラルネットワークの動作には、学習モードと価値予測モードとがある。例えば、学習モードにおいて、学習データセットを用いて重みwを学習し、そのパラメータを用いて予測モードにおいてモータ制御装置の行動判断を行う。なお、便宜上、予測と書いたが、検出、分類、推論など多様なタスクが可能なのはいうまでもない。
ここで、予測モードで実際にモータ制御装置を動かして得られたデータを即時学習し、次の行動に反映させる(オンライン学習)ことも、あらかじめ収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う(バッチ学習)こともできる。あるいは、その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
また、重みw1〜w3は、誤差逆伝搬法(バックプロパゲーション:Backpropagation)により学習可能なものである。誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力xが入力されたときの出力yと真の出力y(教師)との差分を小さくするように、それぞれの重みを調整(学習)する手法である。
このようなニューラルネットワークは、3層以上にさらに層を増やすことも可能である(深層学習と称される)。入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することが可能である。
そこで、本実施形態の機械学習装置1は、上述のQ学習を実施すべく、例えば図6に示すように状態観測部11、学習部12、および意思決定部13を備えている。ただし、本発明に適用される機械学習方法は、Q学習に限定されるものではないのは前述したとおりである。すなわち、機械学習装置で用いることができる手法である「教師あり学習」、「教師なし学習」、「半教師あり学習」および「強化学習」等といった様々な手法が適用可能である。なお、これらの機械学習(機械学習装置1)は、例えば、GPGPUや大規模PCクラスター等を適用することで実現可能である。例えば教師あり学習を適用する場合、価値関数は学習モデル、報酬は誤差に対応する。なお、この行動価値テーブルとして、前述のニューラルネットワークを用いて近似した関数を用いることも可能であり、これはsおよびaの情報量が莫大であるときは特に有効である。
続いて、機械学習装置1の学習アルゴリズムを教師あり学習とした例について説明する。
図10は、本発明の実施例による、教師あり学習を適用した機械学習装置を備えるモータ制御装置を示す原理ブロック図である。図10と、上述した図6の比較から明らかなように、図10に示す教師あり学習を適用した機械学習装置を備えるモータ制御装置を備えるモータ駆動装置は、図6に示すQ学習(強化学習)を適用した機械学習装置を備えるモータ制御装置に対して、さらに、結果(ラベル)提供部40を備える。また、図10における機械学習装置1は、状態観測部11、誤差計算部23および学習モデル更新部24を含む学習部41、ならびに、意思決定部42を備える。
図10に示す教師あり学習を適用した機械学習装置を備えるモータ制御装置において、誤差計算部23および学習モデル更新部24は、それぞれ、図6に示すQ学習を適用したモータ制御装置における報酬計算部21および関数更新部22に対応する。ただし、誤差計算部23には、結果提供部40から結果(ラベル)が入力されるようになっている。なお、その他の構成は、上述した図6と同様であり、その説明は省略する。また、図10では、図2において示した速度検出部および電流検出部については図示を省略している。
結果提供部40は、ラベル付きデータ(結果)を学習部41の誤差計算部23に提供(入力)し、誤差計算部23は、状態観測部11からの信号とともに、結果提供部40からのラベル付きデータを受け取って誤差計算を行い、さらに、学習モデル更新部24は、学習モデルの更新を行う。ここで、結果提供部40は、例えば、モータ制御装置100による処理が同一の場合には、例えば、モータ制御装置100を駆動させる所定日の前日までに得られたラベル付きデータを保持し、その所定日に、結果提供部40に保持されたラベル付きデータを誤差計算部23に提供することができる。
あるいは、モータ制御装置100の外部で行われたシミュレーション等により得られたデータ、または、他のモータ制御装置のラベル付きデータを、メモリカードや通信回線により、そのモータ制御装置100の誤差計算部23に提供することも可能である。さらに、結果提供部40をフラッシュメモリ(Flash Memory)等の不揮発性メモリで構成し、結果提供部(不揮発性メモリ)40を学習部41に内蔵し、その結果提供部40に保持されたラベル付きデータを、そのまま学習部41で使用することもできる。
図10に示すモータ制御装置100に備わる機械学習装置1の動作は、ロータ位置指令と送り機構部の実位置との誤差を最小化する(エラー量を最小化する)、モータ制御装置100における位置指令、速度指令および電流指令のうちのいずれかの指令を補正するのに用いられる補正量を取得するために、例えば、誤差計算部23が、結果提供部40から入力された結果により、状態変数に起因するエラー量に基づいて誤差を計算し、学習モデル更新部24における学習モデルを更新する。
なお、本発明における機械学習装置1としては、上述した強化学習(例えば、Q学習)または教師あり学習を適用したものに限定されず、様々な機械学習のアルゴリズムを適用することが可能である。
上述した状態観測部11、学習部12、41、および意思決定部13、42は、例えばソフトウェアプログラム形式で構築されてもよく、あるいは各種電子回路とソフトウェアプログラムとの組み合わせで構築されてもよい。例えばこれらをソフトウェアプログラム形式で構築する場合は、モータ制御装置100内にある演算処理装置をこのソフトウェアプログラムに従って動作させることで上述の各部の機能が実現される。またあるいは、状態観測部11および学習部12、41を備える機械学習装置1を、各部の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路として実現してもよい。またあるいは、状態観測部11および学習部12、41を備える機械学習装置1のみならず意思決定部13、42も含めた形で、各部の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路を実現してもよい。また、補正部14および駆動指令生成部50についても、一般的なモータ制御装置と同様、例えばソフトウェアプログラム形式で構築されてもよく、あるいは各種電子回路とソフトウェアプログラムとの組み合わせで構築されてもよい。
また、本発明による機械学習処理は、モータ制御装置100が三相交流モータ300の駆動制御のために本来的に備えるエラー量測定部17により取得されるエラー量に関するデータ、温度測定部31により測定されるモータ制御装置100が設けられる工作機械内の温度に関するデータ、振動測定部32により測定されるモータ制御装置100が設けられる工作機械内で発生する振動に関するデータを用いて実行されるので、従来技術のように新たなハードウェア装置を設ける必要がないことから、既存のモータ制御装置にも後付けで適用することも可能である。この場合、機械学習装置1や意思決定部13、42の各部の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路を当該既存のモータ制御装置に組み込んだり、機械学習装置1や意思決定部13、42の各部の機能を実現するソフトウェアプログラムそのものを当該既存のモータ制御装置内の演算処理装置に追加的にインストールすればよい。また、あるモータ制御装置に関して補正量を学習した機械学習装置1を、これとは別のモータ制御装置に取り付け、当該別のモータ制御装置に関して補正量を再学習して更新するようにしてもよい。
1 機械学習装置
11 状態観測部
12、41 学習部
13、42 意思決定部
14 補正部
15 モータ電力供給部
16 位置検出部
17 エラー量測定部1
18 速度検出部
19 電流検出部
21 報酬計算部
22 関数更新部
23 誤差計算部
24 学習モデル更新部
31 温度測定部
32 振動測定部
40 結果(ラベル)提供部
50 駆動指令生成部
100 モータ制御装置
211 電流制御部
212 電流指令生成部
213 速度指令生成部
300 三相交流モータ

Claims (10)

  1. モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令に対する補正量に関連付けられる条件を学習する機械学習装置であって、
    前記モータ制御装置により駆動制御されるモータのロータに対する位置指令と送り機構部の実位置との誤差であるエラー量に関するデータと、前記モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令と、前記モータ制御装置を有する工作機械におけるワーク加工条件に関するデータと、前記モータ制御装置を有する工作機械の状態に関するデータと、から構成される状態変数を観測する状態観測部と、
    前記状態変数によって構成される訓練データセットに従って、前記モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令を補正するのに用いられる補正量に関連付けられる条件を学習する学習部と、
    を備えることを特徴とする機械学習装置。
  2. 前記工作機械の状態は、前記工作機械の温度、前記工作機械の振動のうちの少なくとも1つを含む請求項1に記載の機械学習装置。
  3. 前記学習部は、
    前記エラー量に基づいて報酬を計算する報酬計算部と、
    前記状態変数および前記報酬に基づいて、前記補正量を計算するための関数を更新する関数更新部と、
    を備える請求項1または2に記載の機械学習装置。
  4. 前記報酬計算部は、前記エラー量が、現在の前記エラー量よりも前に前記状態観測部により観測されたエラー量よりも、小さいときは報酬を増やし、大きいときは報酬を減らす請求項3に記載の機械学習装置。
  5. 前記報酬計算部は、前記エラー量が、規定範囲内であるときは報酬を増やし、前記規定範囲外であるときは報酬を減らす請求項3に記載の機械学習装置。
  6. 前記関数更新部は、前記状態変数および前記報酬に基づいて、ニューラルネットワークモデルに従って、前記補正量を計算するための関数を更新する請求項3〜5のいずれか一項に記載の機械学習装置。
  7. 前記学習部は、
    前記エラー量に基づいて誤差を計算する誤差計算部と、
    前記状態変数および前記誤差に基づいて、前記補正量を計算するための学習モデルを更新する学習モデル更新部と、
    を備える請求項1または2に記載の機械学習装置。
  8. 前記学習部は、複数のモータ制御装置に対して取得される前記訓練データセットに従って、前記条件を学習するように構成される請求項1〜7のいずれか一項に記載の機械学習装置。
  9. 請求項1〜8のいずれか一項に記載の機械学習装置を備えた、モータ制御装置であって、
    前記学習部が前記訓練データセットに従って学習した結果に基づいて、現在の前記状態変数の入力に応答して、前記補正量を決定する意思決定部と、
    前記意思決定部が決定した補正量を用いて、前記モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令を補正する補正部と、
    前記補正部により補正された前記指令に基づいて、モータへ駆動電力を供給するモータ電力供給部と、
    送り機構部の実位置を検出する位置検出部と、
    ロータに対する位置指令と前記実位置との誤差である前記エラー量を測定するエラー量測定部と、
    をさらに備えることを特徴とするモータ制御装置。
  10. モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令に対する補正量に関連付けられる条件を学習する機械学習方法であって、
    前記モータ制御装置により駆動制御されるモータのロータに対する位置指令と送り機構部の実位置との誤差であるエラー量に関するデータと、前記モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令と、前記モータ制御装置を有する工作機械におけるワーク加工条件に関するデータと、前記モータ制御装置を有する工作機械の状態に関するデータと、から構成される状態変数を観測する状態観測ステップと、
    前記状態変数によって構成される訓練データセットに従って、前記モータ制御装置における位置指令、速度指令および電流指令のうちのいずれかの指令を補正するのに用いられる補正量に関連付けられる条件を学習する学習ステップと、
    を備えることを特徴とする機械学習方法。
JP2015234054A 2015-11-30 2015-11-30 機械の送り軸の送りの滑らかさを最適化する機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置 Active JP6193961B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015234054A JP6193961B2 (ja) 2015-11-30 2015-11-30 機械の送り軸の送りの滑らかさを最適化する機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置
US15/299,471 US9990590B2 (en) 2015-11-30 2016-10-21 Machine learning apparatus and method for optimizing smoothness of feed of feed axis of machine and motor control apparatus including machine learning apparatus
DE102016013985.4A DE102016013985A1 (de) 2015-11-30 2016-11-23 Vorrichtung für maschinelles Lernen und Verfahren zum Optimieren der Laufruhe des Vorschubs der Vorschubachse einer Maschine und eine die Vorrichtung für maschinelles Lernen umfassende Motorsteuervorrichtung
CN201611052724.6A CN106815642B (zh) 2015-11-30 2016-11-24 机械学习装置及方法以及电动机控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015234054A JP6193961B2 (ja) 2015-11-30 2015-11-30 機械の送り軸の送りの滑らかさを最適化する機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置

Publications (2)

Publication Number Publication Date
JP2017102613A JP2017102613A (ja) 2017-06-08
JP6193961B2 true JP6193961B2 (ja) 2017-09-06

Family

ID=58693125

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015234054A Active JP6193961B2 (ja) 2015-11-30 2015-11-30 機械の送り軸の送りの滑らかさを最適化する機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置

Country Status (4)

Country Link
US (1) US9990590B2 (ja)
JP (1) JP6193961B2 (ja)
CN (1) CN106815642B (ja)
DE (1) DE102016013985A1 (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5969676B1 (ja) * 2015-09-30 2016-08-17 ファナック株式会社 工作機械の工具補正の頻度を最適化する機械学習装置及び機械学習方法、並びに該機械学習装置を備えた工作機械
JP6728495B2 (ja) * 2016-11-04 2020-07-22 ディープマインド テクノロジーズ リミテッド 強化学習を用いた環境予測
JP6474449B2 (ja) * 2017-04-07 2019-02-27 ファナック株式会社 調整装置及び調整方法
JP6530783B2 (ja) 2017-06-12 2019-06-12 ファナック株式会社 機械学習装置、制御装置及び機械学習プログラム
JP6538766B2 (ja) * 2017-07-18 2019-07-03 ファナック株式会社 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法
JP6646025B2 (ja) * 2017-09-15 2020-02-14 ファナック株式会社 制御装置及び機械学習装置
WO2019069649A1 (ja) 2017-10-06 2019-04-11 キヤノン株式会社 制御装置、リソグラフィ装置、測定装置、加工装置、平坦化装置及び物品製造方法
JP7229686B2 (ja) 2017-10-06 2023-02-28 キヤノン株式会社 制御装置、リソグラフィ装置、測定装置、加工装置、平坦化装置及び物品製造方法
DE102017218811A1 (de) * 2017-10-20 2019-04-25 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Aktorregelungssystems, Computerprogramm und maschinenlesbares Speichermedium
JP6626064B2 (ja) 2017-10-31 2019-12-25 ファナック株式会社 試験装置及び機械学習装置
CN111328401B (zh) 2017-11-08 2023-10-10 西门子股份公司 用于在计算单元中进行机器学习的方法和设备
US20190361421A1 (en) 2017-11-10 2019-11-28 Mitsubishi Electric Corporation Servo control device
CN109901944B (zh) * 2017-12-07 2024-04-12 北京忆恒创源科技股份有限公司 基于机器学习的读数据错误处理方法与系统
JP6697491B2 (ja) * 2018-01-25 2020-05-20 ファナック株式会社 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法
JP6711854B2 (ja) * 2018-02-22 2020-06-17 ファナック株式会社 故障予測装置及び機械学習装置
JP6748135B2 (ja) * 2018-03-19 2020-08-26 ファナック株式会社 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP6734318B2 (ja) 2018-03-23 2020-08-05 ファナック株式会社 駆動装置及び機械学習装置
JP6740278B2 (ja) * 2018-04-13 2020-08-12 ファナック株式会社 機械学習装置、制御装置、及び機械学習方法
JP6740277B2 (ja) 2018-04-13 2020-08-12 ファナック株式会社 機械学習装置、制御装置、及び機械学習方法
JP7031502B2 (ja) * 2018-06-07 2022-03-08 オムロン株式会社 制御システム、制御方法、学習装置、制御装置、学習方法及び学習プログラム
CN110832422B (zh) 2018-06-14 2021-04-16 三菱电机株式会社 机器学习装置、校正参数调整装置及机器学习方法
US11081985B2 (en) * 2018-06-21 2021-08-03 Mitsubishi Electric Corporation Synchronous rotating machine control device and machine learning device
CN108927806A (zh) * 2018-08-13 2018-12-04 哈尔滨工业大学(深圳) 一种应用于大批量重复性加工的工业机器人学习方法
JP7110953B2 (ja) * 2018-12-03 2022-08-02 富士通株式会社 強化学習プログラム、強化学習方法、および強化学習装置
JP6599069B1 (ja) * 2018-12-13 2019-10-30 三菱電機株式会社 機械学習装置、加工プログラム生成装置および機械学習方法
JP6647477B1 (ja) * 2019-03-28 2020-02-14 三菱電機株式会社 数値制御装置および機械学習装置
JP7311319B2 (ja) * 2019-06-19 2023-07-19 ファナック株式会社 時系列データ表示装置
JP7405537B2 (ja) * 2019-09-05 2023-12-26 ファナック株式会社 機械学習装置、サーボ制御装置、サーボ制御システム及び機械学習方法
DE112019007725B4 (de) 2019-09-19 2025-03-06 Mitsubishi Electric Corporation Motorsteuerung und Motorsteuerungsverfahren
JP6786012B1 (ja) * 2019-11-29 2020-11-18 三菱電機株式会社 電力変換装置
JP7464383B2 (ja) * 2019-12-10 2024-04-09 ファナック株式会社 ワークモデルの修正量を学習する機械学習装置、制御装置、加工システム、及び機械学習方法
JP6879434B1 (ja) * 2020-02-25 2021-06-02 三菱電機株式会社 圧縮機、空気調和機、冷凍機および圧縮機制御方法
DE102020107623A1 (de) 2020-03-19 2021-09-23 Trumpf Werkzeugmaschinen Gmbh + Co. Kg Computerimplementiertes verfahren zum erstellen von steuerungsdatensätzen, cad-cam-system und fertigungsanlage
US11844432B2 (en) 2020-03-27 2023-12-19 La-Z-Boy Incorporated Furniture motion control system
US20230139818A1 (en) * 2020-03-31 2023-05-04 Asahi Kasei Medical Co., Ltd. Blood purification system, controlling method, controlling program, learning device, and learning method
CN111890351A (zh) * 2020-06-12 2020-11-06 深圳先进技术研究院 机器人及其控制方法、计算机可读存储介质
JP7498613B2 (ja) * 2020-07-17 2024-06-12 ミネベアミツミ株式会社 モータ駆動制御装置、モータ駆動制御システム、ファンシステム、及びモータ駆動制御方法
EP3961314A1 (en) * 2020-08-31 2022-03-02 Siemens Aktiengesellschaft Control loop optimization
JP2023010010A (ja) * 2021-07-08 2023-01-20 キヤノン株式会社 処理装置、管理装置、リソグラフィ装置、および物品製造方法
CN115189620B (zh) * 2022-09-13 2022-12-06 深圳市恒拓高工业技术股份有限公司 伺服电机的控制方法及控制系统
CN117938032A (zh) * 2022-10-14 2024-04-26 台达电子工业股份有限公司 电机预热的功率控制系统及其功率控制方法
KR20240054569A (ko) * 2022-10-19 2024-04-26 주식회사 엘지에너지솔루션 모니터링 시스템 및 그것의 동작 방법
EP4478142A1 (de) 2023-06-16 2024-12-18 Siemens AG Österreich Prädiktion von warnereignissen

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07284286A (ja) 1994-04-07 1995-10-27 Fanuc Ltd サーボモータのトルクリップル補正方式
JP3215067B2 (ja) * 1997-03-21 2001-10-02 ファナック株式会社 移動方向反転時の位置補正方法
JP4472506B2 (ja) * 2004-12-15 2010-06-02 学校法人早稲田大学 情報処理システムおよび情報処理方法、並びにプログラム
JP4283214B2 (ja) * 2004-12-16 2009-06-24 ファナック株式会社 機械先端点の制御装置
JP2007164406A (ja) * 2005-12-13 2007-06-28 Oita Univ 学習機構付意思決定システム
JP4612032B2 (ja) * 2007-10-02 2011-01-12 ファナック株式会社 工作機械用制御装置
US8577820B2 (en) * 2011-03-04 2013-11-05 Tokyo Electron Limited Accurate and fast neural network training for library-based critical dimension (CD) metrology

Also Published As

Publication number Publication date
US9990590B2 (en) 2018-06-05
DE102016013985A1 (de) 2017-06-01
US20170154283A1 (en) 2017-06-01
CN106815642B (zh) 2018-07-06
JP2017102613A (ja) 2017-06-08
CN106815642A (zh) 2017-06-09

Similar Documents

Publication Publication Date Title
JP6193961B2 (ja) 機械の送り軸の送りの滑らかさを最適化する機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置
JP6243385B2 (ja) モータ電流制御における補正値を学習する機械学習装置および方法ならびに該機械学習装置を備えた補正値計算装置およびモータ駆動装置
US10090798B2 (en) Machine learning apparatus and method learning predicted life of power device, and life prediction apparatus and motor driving apparatus including machine learning apparatus
JP6506219B2 (ja) モータの電流指令を学習する機械学習器,モータ制御装置および機械学習方法
JP6063016B1 (ja) 電動機に対する動作指令を学習する機械学習方法および機械学習装置並びに該機械学習装置を備えた工作機械
US11009837B2 (en) Machine learning device that adjusts controller gain in a servo control apparatus
US11156988B2 (en) Drive apparatus and machine learning apparatus
JP6088604B1 (ja) 磁束制御部を有する電動機制御装置、ならびに機械学習装置およびその方法
JP6140225B2 (ja) 磁束制御器を有するモータ制御装置、ならびに機械学習装置およびその方法
US10353351B2 (en) Machine learning system and motor control system having function of automatically adjusting parameter
JP6841852B2 (ja) 制御装置及び制御方法
JP6748135B2 (ja) 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
CN113950393A (zh) 参数计算装置、机器人控制系统及机器人系统
US20190317472A1 (en) Controller and control method
JP2019136818A (ja) 制御装置及び機械学習装置
JP6538573B2 (ja) 抵抗回生開始電圧および抵抗回生停止電圧の値を学習する機械学習器,モータ制御装置,モータ制御システムおよび機械学習方法
WO2022192352A9 (en) Multi-critic based enhanced vector control optimization with multi-q learning for motor control
JP6940425B2 (ja) 制御装置及び機械学習装置
WO2022210472A1 (ja) 加工条件調整装置
US20240152105A1 (en) Operation adjustment system, operation adjustment method, and operation adjustment program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170414

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170810

R150 Certificate of patent or registration of utility model

Ref document number: 6193961

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150