(57)【特許請求の範囲】
【請求項１】
電動機に対する動作指令を学習する機械学習装置であって、
電動機および該電動機を制御する制御装置を備えた電動機装置の周囲温度、並びに前記電動機のサイクル時間を状態変数として観測する状態観測部と、
前記電動機装置においてオーバーヒートが発生したか否かを判定した判定データを取得する判定データ取得部と、
前記状態変数および前記判定データの組合せに基づいて作成される訓練データセットに従って、前記電動機装置の周囲温度および前記電動機のサイクル時間と関連付けられるとともに、オーバーヒートが発生しないような前記電動機に対する動作指令を学習する学習部と、を備え、
前記学習部が、
前記サイクル時間および前記判定データに基づいて報酬を計算する報酬計算部と、
前記報酬に基づいて、前記動作指令を決定するための関数を更新する関数更新部と、
を備える、機械学習装置。
【請求項２】
前記報酬計算部は、前記電動機装置においてオーバーヒートが発生していないと判定され、かつ前記サイクル時間が予め定められる閾値よりも小さいときに報酬を増大し、前記電動機装置においてオーバーヒートが発生したと判定されたとき、または前記サイクル時間が前記閾値以上であるときに報酬を低減するように構成される、請求項１に記載の機械学習装置。
【請求項３】
前記関数更新部が、前記報酬に従って行動価値テーブルを更新するように構成される、請求項２に記載の機械学習装置。
【請求項４】
前記学習部が、複数の電動機装置に対して作成される訓練データセットに従って、前記動作指令を学習するように構成される、請求項１から３のいずれか１項に記載の機械学習装置。
【請求項５】
請求項１から４のいずれか１項に記載の機械学習装置と、
前記周囲温度を測定する温度測定部と、
前記サイクル時間を測定する時間測定部と、
前記学習部が学習した結果に基づいて、現在の前記周囲温度および現在の前記サイクル時間に応じた前記動作指令を決定する意思決定部と、を備える、制御装置。
【請求項６】
請求項５に記載の制御装置と、
前記制御装置によって制御される電動機と、
を備える電動機装置。
【請求項７】
電動機に対する動作指令を学習する機械学習方法であって、
電動機および該電動機を制御する制御装置を備えた電動機装置の周囲温度、並びに前記電動機のサイクル時間を状態変数として観測し、
前記電動機装置においてオーバーヒートが発生したか否かを判定した判定データを取得し、
前記状態変数および前記判定データの組合せに基づいて作成される訓練データセットに従って、前記電動機装置の周囲温度および前記電動機のサイクル時間と関連付けられるとともに、オーバーヒートが発生しないような前記電動機に対する動作指令を学習すること、を含み、
前記動作指令を学習することは、
前記サイクル時間および前記判定データに基づいて報酬を計算することと、
前記報酬に基づいて、前記動作指令を決定するための関数を更新することと、を含む、
機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電動機に対する動作指令を学習する機械学習方法および機械学習装置並びに該機械学習装置を備えた制御装置および電動機装置に関する。
【背景技術】
【０００２】
電動機を利用する所期の工程を効率的に実行するために、サイクル時間を短縮することが望まれる。電動機の加速度または減速度（以下、「加減速」と称することがある。）を最適化することによってサイクル時間を短縮することができる。一般的に、電動機の加減速はオペレータによって指定されるので、最適化の実現にはオペレータの知識ないし経験に頼るところが大きく、また、試行錯誤が不可欠であった。
【０００３】
加減速の最適化を困難にさせる別の要因が、電動機を制御する制御装置から発生する熱である。電動機は、オーバーヒートが発生しない範囲で動作するように制御されるものの、オーバーヒートが発生するか否かは、電動機の周囲環境によっても異なる。そこで、オーバーヒートが発生するのを確実に防止するためには、最も過酷な周囲環境を想定して加減速の最適化を行う必要がある。その結果、周囲温度が低いときには、電動機の動作が実際には最適化されておらず、サイクル時間が増大する傾向にある。
【０００４】
発熱源の温度に応じて電動機の出力を調整する技術が公知である。例えば、電動機を駆動するためのパワー半導体モジュールの温度を推定するとともに、推定された温度が基準温度を超えたときに電動機の出力を制限する技術が公知である（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−２３９６３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
周囲温度に応じて電動機を効率的に動作させられる制御装置が求められている。
【課題を解決するための手段】
【０００７】
本願の１番目の発明によれば、電動機に対する動作指令を学習する機械学習装置であって、電動機および該電動機を制御する制御装置を備えた電動機装置の周囲温度、並びに前記電動機のサイクル時間を状態変数として観測する状態観測部と、前記電動機装置においてオーバーヒートが発生したか否かを判定した判定データを取得する判定データ取得部と、前記状態変数および前記判定データの組合せに基づいて作成される訓練データセットに従って、前記電動機装置の周囲温度および前記電動機のサイクル時間と関連付けられるとともに、オーバーヒートが発生しないような前記電動機に対する動作指令を学習する学習部と、を備え、前記機械学習装置において、前記学習部が、前記サイクル時間および前記判定データに基づいて報酬を計算する報酬計算部と、前記報酬に基づいて、前記動作指令を決定するための関数を更新する関数更新部と、を備える、機械学習装置が提供される。
本願の２番目の発明によれば、１番目の発明に係る機械学習装置において、前記報酬計算部は、前記電動機装置においてオーバーヒートが発生していないと判定され、かつ前記サイクル時間が予め定められる閾値よりも小さいときに報酬を増大し、前記電動機装置においてオーバーヒートが発生したと判定されたとき、または前記サイクル時間が前記閾値以上であるときに報酬を低減するように構成される。
本願の３番目の発明によれば、２番目の発明に係る機械学習装置において、前記関数更新部が、前記報酬に従って行動価値テーブルを更新するように構成される。
本願の４番目の発明によれば、１番目から３番目のいずれかの発明に係る機械学習装置において、前記学習部が、複数の電動機装置に対して作成される訓練データセットに従って、前記動作指令を学習するように構成される。
本願の５番目の発明によれば、１番目から４番目のいずれかの発明に係る機械学習装置と、前記周囲温度を測定する温度測定部と、前記サイクル時間を測定する時間測定部と、前記学習部が学習した結果に基づいて、現在の前記周囲温度および現在の前記サイクル時間に応じた前記動作指令を決定する意思決定部と、を備える、制御装置が提供される。
本願の６番目の発明によれば、５番目の発明に係る制御装置と、前記制御装置によって制御される電動機と、を備える電動機装置が提供される。
本願の７番目の発明によれば、電動機に対する動作指令を学習する機械学習方法であって、電動機および該電動機を制御する制御装置を備えた電動機装置の周囲温度、並びに前記電動機のサイクル時間を状態変数として観測し、前記電動機装置においてオーバーヒートが発生したか否かを判定した判定データを取得し、前記状態変数および前記判定データの組合せに基づいて作成される訓練データセットに従って、前記電動機装置の周囲温度および前記電動機のサイクル時間と関連付けられるとともに、オーバーヒートが発生しないような前記電動機に対する動作指令を学習すること、を含み、前記動作指令を学習することは、前記サイクル時間および前記判定データに基づいて報酬を計算することと、前記報酬に基づいて、前記動作指令を決定するための関数を更新することと、を含む、機械学習方法が提供される。
【０００８】
これら並びに他の本発明の目的、特徴および利点は、添付図面に示される本発明の例示的な実施形態に係る詳細な説明を参照することによって、より明らかになるであろう。
【発明の効果】
【０００９】
本発明に係る機械学習装置および機械学習方法は、状態変数および判定データの組合せに基づいて作成される訓練データセットに従って、電動機に対する動作指令を学習する。電動機装置の周囲温度およびサイクル時間と、オーバーヒートの発生の有無とを関連付けて動作指令を学習するので、周囲温度に応じた最適な動作指令が学習される。
【００１０】
本発明に係る制御装置および電動機装置は、周囲温度に応じて最適化された動作指令に従って電動機を動作させられるので、オーバーヒートが発生することなくサイクル時間を短縮できる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態に係る電動機装置のブロック図である。
【図２】機械学習装置における学習過程の流れを示すフローチャートである。
【図３】ニューラルネットワークの構成例を示す図である。
【図４】電動機に供給される電流とサイクル時間との間の関係を示す図である。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して本発明の実施形態を説明する。図１は、一実施形態に係る電動機装置１のブロック図である。電動機装置１は、電動機２と、電動機２を制御する制御装置３と、電動機２に対する動作指令を学習する機械学習装置４と、放熱器５と、を備えている。
【００１３】
電動機２は、工作機械または産業用ロボットの回転軸に対して動力を付与するために使用される。電動機２は、制御装置３によって作成される動作指令に従って動作する。動作指令は、位置指令、速度指令および加速度指令を含んでいる。機械学習装置４は、後述する機械学習の手法を利用して、周囲温度に応じた最適な加速度指令を学習する。
【００１４】
制御装置３は、バスで相互接続されたＣＰＵ、メモリおよびインタフェイスを備えたデジタルコンピュータである。或いは、制御装置３は、電動機２に動力を供給するアンプであってもよいし、またはデジタルコンピュータおよびアンプの組合せであってもよい。以下、制御装置３がデジタルコンピュータである例について説明する。ＣＰＵは、制御装置３の種々の機能を実現するために必要な演算処理を実行する。
【００１５】
メモリは、ＲＯＭ、ＲＡＭおよび不揮発性メモリなどを含んでいる。ＲＯＭには、制御装置３の全体的な動作を制御するシステムプログラムが格納されている。ＲＡＭには、検出装置または検出回路からの検出信号およびＣＰＵの演算結果などが一時的に格納される。不揮発性メモリには、電動機２の動作を制御する動作プログラムおよびパラメータなどが格納される。
【００１６】
インタフェイスは、制御装置３と、外部装置、例えば、入力装置および表示装置などとを互いに接続し、信号およびデータをそれらの間で送受信するために使用される。
【００１７】
制御装置３は、図１に示されるように、温度測定部３１と、指令作成部３２と、時間測定部３３と、判定部３４と、を備えている。
【００１８】
温度測定部３１は、電動機装置１の周囲温度を測定する。一実施形態において、温度測定部３１は、放熱器５の温度を測定することによって周囲温度を取得する。放熱器５は、電動機装置１の発熱源から発生する熱を放散するために使用される。放熱器５は、例えば、外気と熱交換をするように構成されたヒートシンクであり、電動機装置１の周囲温度に応じて温度が変化する。したがって、放熱器５の温度を測定することによって、周囲温度を間接的に測定することができる。
【００１９】
別の実施形態において、温度測定部３１は、制御装置３の筐体に取付けられた温度センサを用いて周囲温度を直接的に測定してもよい。このように、本明細書において、温度測定部３１によって測定される「周囲温度」は、外気温度を直接的または間接的に測定して得られる温度を意味する。或いは、「周囲温度」は、周囲温度と相関関係のある別の物理量から計算によって求められてもよい。温度測定部３１によって測定された周囲温度は、機械学習装置４の状態観測部４１に入力される。
【００２０】
指令作成部３２は、不揮発性メモリに格納された動作プログラムおよびパラメータに従って、電動機２に対する動作指令を生成する。制御装置３は、動作指令に応じた電力を電動機２に供給する。
【００２１】
時間測定部３３は、指令作成部３２から出力される動作指令に従って動作する電動機２のサイクル時間を測定する。サイクル時間は、動作プログラムのブロック毎に計算されてもよい。時間測定部３３によって測定されたサイクル時間は、機械学習装置４の状態観測部４１に入力される。
【００２２】
判定部３４は、電動機装置１においてオーバーヒートが発生しているか否かを判定する（以下、「オーバーヒート判定」と称することがある。）。判定部３４は、制御装置３のアンプにおいて使用されるパワー素子またはその他の発熱源の温度を検出する検出回路または検出装置を利用して、オーバーヒート判定を実行する。或いは、判定部３４は、温度の上限値が局所的に設定されている任意の箇所の温度を検出する検出手段を利用して、オーバーヒート判定を実行してもよい。オーバーヒート判定の結果（以下、「判定データ」と称することがある。）は、機械学習装置４の判定データ取得部４２に入力される。
【００２３】
機械学習装置４は、図１に示されるように、状態観測部４１と、判定データ取得部４２と、学習部４３と、意思決定部４６と、を備えている。
【００２４】
状態観測部４１は、温度測定部３１から送出される周囲温度、および時間測定部３３から送出されるサイクル時間を状態変数としてそれぞれ観測する。状態変数は、状態観測部４１から学習部４３に入力される。
【００２５】
判定データ取得部４２は、制御装置３の判定部３４から判定データを取得する。判定結果は、後述する報酬計算部４４において報酬を計算するために使用される。
【００２６】
学習部４３は、状態観測部４１から送出される状態変数および判定データ取得部４２から送出される判定データの組合せに基づいて作成される訓練データセットに従って、電動機２に対する動作指令を学習する。
【００２７】
意思決定部４６は、学習部４３が学習した結果に基づいて、現在の状態変数に対応する電動機２への動作指令、特に加速度指令を決定する。指令作成部３２は、意思決定部４６によって決定された加速度指令を電動機２に付与する。
【００２８】
機械学習装置４は、制御装置３とは別個のデジタルコンピュータであってもよいし、または制御装置３に内蔵されていてもよい。後者の場合、機械学習装置４は、制御装置３のＣＰＵおよびメモリを使用して機械学習を実行する。
【００２９】
一実施形態において、機械学習装置４は、電動機２および制御装置３から離隔された場所に設けられていてもよい。その場合、機械学習装置４は、ネットワークを介して制御装置３に接続される。或いは、機械学習装置４は、クラウドサーバに存在していてもよい。
【００３０】
本実施形態に係る機械学習装置４は、公知のＱ学習の手法に従って強化学習を実行する。機械学習装置４は、或る状態変数ｓ（現在の周囲温度および現在のサイクル時間）のときに行動ａ（電動機２に対して付与される動作指令）を選択した場合の行動価値Ｑ（期待値）を求める行動価値関数Ｑ（ｓ，ａ）に基づいて、最良の行動を学習する。
【００３１】
学習の初期段階では、或る状態変数ｓと行動ａの組合せに対して割当てられる行動価値Ｑは未知である。機械学習装置４は、種々の状態変数ｓに対して行動ａをランダムに選択して実行し、行動ａの結果として与えられる報酬を積算することによって、行動価値関数Ｑ（ｓ，ａ）を更新する。行動価値関数Ｑ（ｓ，ａ）を更新する一般式は、式１で表される。
【００３２】
【数１】
0006438366.tif 000002
【００３３】
ここで、ｓtは、時刻ｔにおける状態変数である。ａtは、時刻ｔにおいて実行される行動である。ｓt+1は時刻ｔ＋１における状態変数であり、換言すれば、行動ａtを行った結果として変化した後の状態変数である。ｒt+1は行動ａtの結果として変化する環境に応じて与えられる報酬である。「ｍａｘ」の項は、状態変数ｓt+1における行動価値Ｑの最大値（すなわち、最良の行動ａに対する行動価値）を表している。γは割引率であり、０＜γ≦１を満足するように設定される（例えば、γ＝０．９〜０．９９）。αは学習係数であり、０＜α≦１を満足するように設定される（例えば、α＝０．０５〜０．２）。
【００３４】
式１で表される更新式は、時刻ｔ＋１における最良の行動ａの行動価値が、時刻ｔにおいて実行された行動ａの行動価値Ｑよりも大きければ、行動価値Ｑを大きくし、逆の場合は、行動価値Ｑを小さくする。換言すれば、時刻ｔにおける行動ａの行動価値Ｑを、時刻ｔ＋１における最良の行動価値に近づけるように、行動価値関数Ｑ（ｓ，ａ）を更新する。それにより、或る環境における最良の行動価値が、それ以前の環境における行動価値に順次伝播していくようになる。
【００３５】
図１を再度参照すれば、学習部４３は、報酬計算部４４と、関数更新部４５と、を備えている。
【００３６】
報酬計算部４４は、電動機２のサイクル時間および判定データに基づいて、報酬ｒを計算する。例えば、オーバーヒートが発生していないと判定され、かつサイクル時間が予め定められる閾値よりも小さいときには報酬ｒを増大させる（例えば「１」の報酬を与える。）。他方、オーバーヒートが発生していると判定されたとき、またはサイクル時間が閾値以上であるときには報酬ｒを低減する（例えば「−１」の報酬を与える。）。なお、所定時間ごとに異なる大きさの閾値が使用されてもよい。
【００３７】
関数更新部４５は、報酬計算部４４によって計算される報酬に従って、電動機２に対する動作指令を決定するための関数を更新する。関数の更新は、訓練データセットに従って、例えば行動価値テーブルを更新することによって行うことができる。行動価値テーブルは、任意の行動と、その行動価値とを関連付けてテーブルの形式で記憶したデータセットである。
【００３８】
次に、図２に示されるフローチャートを参照して、行動価値Ｑ（ｓ，ａ）を更新する強化学習方法について説明する。ステップＳ２０１では、温度測定部３１が放熱器５の温度を測定する。ステップＳ２０２では、時間測定部３３が、電動機２のサイクル時間を測定する。
【００３９】
ステップＳ２０３では、電動機装置１においてオーバーヒートが発生しているか否かが判定される。ステップＳ２０３での判定は、判定部３４から出力される判定データに従って実行される。ステップＳ２０３の判定結果が否定である場合、すなわちオーバーヒートが発生していないと判定された場合は、ステップＳ２０４に進む。
【００４０】
ステップＳ２０４では、ステップＳ２０２で取得されたサイクル時間が、予め定められる閾値よりも小さいか否かを判定する。ステップＳ２０４の判定結果が肯定である場合（サイクル時間が閾値よりも小さい場合）、ステップＳ２０５に進む。ステップＳ２０５では、報酬計算部４４が、電動機２に付与された動作指令に対する行動価値Ｑが増大するように、報酬ｒを増大する。
【００４１】
ステップＳ２０３での判定結果が肯定である場合、またはステップＳ２０４での判定結果が否定である場合、ステップＳ２０６に進む。ステップＳ２０６では、報酬計算部４４が、電動機２に付与された動作指令に対する行動価値Ｑが低下するように、報酬ｒを低減する。
【００４２】
ステップＳ２０７では、ステップＳ２０５またはステップＳ２０６で計算された報酬ｒに基づいて、関数更新部４５が、行動価値関数Ｑ（ａ，ｓ）を更新する。その後、再びステップＳ２０１に戻り、新たに選択された動作指令に対して、ステップＳ２０１〜Ｓ２０７の処理が再度実行される。ステップＳ２０１〜Ｓ２０７の処理は、動作指令が変更される度に実行されてもよいし、所定の周期で繰返し実行されてもよい。機械学習の初期段階においては、ランダムに作成される加速度指令に対して、ステップＳ２０１〜Ｓ２０７の処理が実行されてもよい。
【００４３】
別の実施形態において、機械学習装置４は、ニューラルネットワークモデルに従って機械学習を実行してもよい。図３は、ニューラルネットワークモデルの例を示している。ニューラルネットワークは、ｌ個のニューロンｘ1、ｘ2、ｘ3、・・・、ｘlを含む入力層と、ｍ個のニューロンｙ1、ｙ2、ｙ3、・・・、ｙmを含む中間層（隠れ層）と、ｎ個のニューロンｚ1、ｚ2、ｚ3、・・・、ｚnを含む出力層と、から構成されている。なお、図３において、中間層は、１層のみ示されているものの、２層以上の中間層が設けられてもよい。
【００４４】
ニューラルネットワークは、電動機装置１の周囲温度と、サイクル時間と、オーバーヒートの発生の有無との関係性を学習する。ニューラルネットワークは、状態変数および判定データに基づいて作成される訓練データセットに従って、いわゆる教師あり学習によって、状態変数と環境変化との関係性を学習する。本実施形態によれば、電動機制御装置３の意思決定部４６は、ニューラルネットワークの入力層に入力される状態変数に応じて、出力層が、最適な動作指令を決定するように構成される。
【００４５】
前述した実施形態に係る機械学習装置および機械学習方法によれば、電動機装置１の周囲温度に応じて最適な動作指令を学習することができる。図４は、電動機２に供給される電流とサイクル時間との間の関係を示す図である。図中の実線は、オーバーヒートが少なくとも一箇所で発生する場合を示しており、破線は、前述した機械学習を利用して求められた動作指令を電動機２に付与した場合を示している。
【００４６】
実線のグラフよりも上側の領域Ａ１では、オーバーヒートが発生しており、電動機２が異常動作しているとみなされ、非常停止またはアラーム通知の対象になる。前述した機械学習装置４の意思決定部４６は、実線のグラフよりも下側の領域Ａ２の範囲内でありながら、領域Ａ１との境界に近づくような動作指令を決定する。換言すれば、本実施形態に従って、オーバーヒートが発生しない範囲でサイクル時間をできるだけ短縮できる最適な動作指令が電動機２に付与されるようになる。
【００４７】
前述したように、本実施形態によれば、機械学習の結果を利用して、電動機に対する動作指令が自動的に最適化されるので、オペレータの知識または経験に頼る必要がなくなる。さらに、周囲温度に応じて最適な動作指令が生成されるので、電動機の動作を常時最適化できるようになる。また、最適な動作指令を決定する過程が機械学習によって自動化されるので、試行錯誤の必要がなくなり、オペレータの負担を低減できる。
【００４８】
一実施形態において、学習部４３は、複数の電動機装置１に対して作成される訓練データセットに従って、動作指令を学習するように構成されてもよい。学習部４３は、同一の現場で使用される複数の電動機装置１から訓練データセットを取得してもよいし、或いは、異なる現場で独立して稼働する電動機装置１から収集される訓練データセットを利用して故障条件を学習してもよい。
【００４９】
強化学習およびニューラルネットワークを利用して機械学習する実施形態について説明したものの、他の公知の方法、例えば遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
【００５０】
以上、本発明の種々の実施形態について説明したが、当業者であれば、他の実施形態によっても本発明の意図する作用効果を実現できることを認識するであろう。特に、本発明の範囲を逸脱することなく、前述した実施形態の構成要素を削除または置換することができるし、或いは公知の手段をさらに付加することができる。また、本明細書において明示的または暗示的に開示される複数の実施形態の特徴を任意に組合せることによっても本発明を実施できることは当業者に自明である。
【符号の説明】
【００５１】
１    電動機装置
２    電動機
３    制御装置
４    機械学習装置
５    放熱器
３１    温度測定部
３２    時間測定部
３３    指令作成部
３４    判定部
４１    状態観測部
４２    判定データ取得部
４３    学習部
４４    報酬計算部
４５    関数更新部
４６    意思決定部
【図１】
0006438366.tif 000003
【図２】
0006438366.tif 000004
【図３】
0006438366.tif 000005
【図４】
0006438366.tif 000006