(57)【特許請求の範囲】
【請求項１】
モータの回生電力を制御する抵抗回生開始電圧および抵抗回生停止電圧の値を学習する機械学習器であって、
少なくとも前記モータを駆動するＤＣリンク電圧の値または前記ＤＣリンク電圧が過電圧になるときに警告を発するＤＣリンク過電圧アラームの有無または前記ＤＣリンク部コンデンサに並列に設けられた放電抵抗が過負荷になるときに警告を発する過負荷アラームの有無を観測する状態観測部と、
前記状態観測部により観測された前記ＤＣリンク電圧の値または前記ＤＣリンク過電圧アラームの有無または前記過負荷アラームの有無に基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧の値を学習する学習部と、を備え、
前記モータは、
ＤＣリンク部コンデンサの両端における前記ＤＣリンク電圧を、ＤＣ／ＡＣ変換部によりＤＣ／ＡＣ変換したＡＣ電圧により駆動され、
前記ＤＣリンク電圧が前記抵抗回生開始電圧よりも高くなれば、前記ＤＣリンク部コンデンサに並列に設けられた放電抵抗による抵抗回生を開始し、前記ＤＣリンク電圧が前記抵抗回生停止電圧よりも低くなれば、前記ＤＣリンク部コンデンサに並列に設けられた放電抵抗による抵抗回生を停止し、
前記学習部は、
前記状態観測部により観測された前記ＤＣリンク電圧の値または前記ＤＣリンク過電圧アラームの有無または前記過負荷アラームの有無を含む状態量に基づいて、報酬を計算する報酬計算部と、
前記状態観測部および前記報酬計算部の出力に基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧の価値を定める価値関数を、前記報酬に応じて更新する価値関数更新部と、を備え、
前記状態量に基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧を決定する操作量を更新する、
ことを特徴とする機械学習器。
【請求項２】
前記状態観測部は、さらに、
前記放電抵抗により消費される回生電力を示す抵抗回生量または前記放電抵抗により回生電力が消費される時間を示す抵抗回生時間または前記放電抵抗の温度を示す抵抗温度を観測し、
前記学習部は、
前記状態観測部により観測された前記抵抗回生量または前記抵抗回生時間または前記抵抗温度を含む状態量に基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧を決定する操作量を更新する、
ことを特徴とする請求項１に記載の機械学習器。
【請求項３】
前記報酬計算部は、
前記モータのＤＣリンク電圧が上昇したら、報酬を増やすと共に、
前記ＤＣリンク過電圧アラームが発生したら、報酬を減らし、さらに、
前記抵抗回生量が増加したら、報酬を減らし、
前記抵抗回生時間が増加したら、報酬を減らし、
前記抵抗温度が上昇したら、報酬を減らし、あるいは、
前記過負荷アラームが発生したら報酬を減らす、
ことを特徴とする請求項２に記載の機械学習器。
【請求項４】
モータの回生電力を制御する抵抗回生開始電圧および抵抗回生停止電圧の値を学習する機械学習器であって、
少なくとも前記モータを駆動するＤＣリンク電圧の値または前記ＤＣリンク電圧が過電圧になるときに警告を発するＤＣリンク過電圧アラームの有無または前記ＤＣリンク部コンデンサに並列に設けられた放電抵抗が過負荷になるときに警告を発する過負荷アラームの有無を観測する状態観測部と、
前記状態観測部により観測された前記ＤＣリンク電圧の値または前記ＤＣリンク過電圧アラームの有無または前記過負荷アラームの有無に基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧の値を学習する学習部と、を備え、
前記モータは、
ＤＣリンク部コンデンサの両端における前記ＤＣリンク電圧を、ＤＣ／ＡＣ変換部によりＤＣ／ＡＣ変換したＡＣ電圧により駆動され、
前記ＤＣリンク電圧が前記抵抗回生開始電圧よりも高くなれば、前記ＤＣリンク部コンデンサに並列に設けられた放電抵抗による抵抗回生を開始し、前記ＤＣリンク電圧が前記抵抗回生停止電圧よりも低くなれば、前記ＤＣリンク部コンデンサに並列に設けられた放電抵抗による抵抗回生を停止し、
前記学習部は、
前記状態観測部により観測された前記ＤＣリンク電圧の値または前記ＤＣリンク過電圧アラームの有無または前記過負荷アラームの有無を含む状態量、ならびに、入力された教師データに基づいて誤差を計算する誤差計算部と、
前記状態観測部および前記誤差計算部の出力に基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧の誤差を定める誤差モデルを更新する誤差モデル更新部と、を備え、
前記状態量に基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧を決定する操作量を更新する、
ことを特徴とする機械学習器。
【請求項５】
前記状態観測部は、さらに、
前記放電抵抗により消費される回生電力を示す抵抗回生量または前記放電抵抗により回生電力が消費される時間を示す抵抗回生時間または前記放電抵抗の温度を示す抵抗温度を観測し、
前記学習部は、
前記状態観測部により観測された前記抵抗回生量または前記抵抗回生時間または前記抵抗温度を含む状態量に基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧を決定する操作量を更新する、
ことを特徴とする請求項４に記載の機械学習器。
【請求項６】
さらに、
前記学習部が学習した前記操作量を参照して、前記抵抗回生開始電圧および前記抵抗回生停止電圧を決定する意思決定部を備える、
ことを特徴とする請求項１乃至請求項５のいずれか１項に記載の機械学習器。
【請求項７】
前記機械学習器は、ニューラルネットワークを備える、
ことを特徴とする請求項１乃至請求項６のいずれか１項に記載の機械学習器。
【請求項８】
請求項１乃至請求項７のいずれか１項に記載の機械学習器と、
前記モータを駆動制御するとモータ駆動部と、
前記機械学習器により学習された前記抵抗回生開始電圧および前記抵抗回生停止電圧の値に基づいて、前記モータ駆動部を介して前記モータの回生電力を制御するモータ制御部と、を備える、
ことを特徴とするモータ制御装置。
【請求項９】
請求項８に記載のモータ制御装置を複数備えるモータ制御システムであって、
前記機械学習器は、それぞれの前記モータ制御装置に設けられ、
複数の前記モータ制御装置に設けられた複数の前記機械学習器は、通信媒体を介して相互にデータを共有または交換するようになっている、
ことを特徴とするモータ制御システム。
【請求項１０】
前記機械学習器は、クラウドサーバ上に存在する、
ことを特徴とする請求項９に記載のモータ制御システム。
【請求項１１】
モータの回生電力を制御する抵抗回生開始電圧および抵抗回生停止電圧の値を学習する機械学習方法であって、
少なくとも前記モータを駆動するＤＣリンク電圧の値または前記ＤＣリンク電圧が過電圧になるときに警告を発するＤＣリンク過電圧アラームの有無または前記ＤＣリンク部コンデンサに並列に設けられた放電抵抗が過負荷になるときに警告を発する過負荷アラームの有無を観測し、
観測された前記ＤＣリンク電圧の値または前記ＤＣリンク過電圧アラームの有無または前記過負荷アラームの有無に基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧の値を学習する機械学習方法において、
前記モータは、
ＤＣリンク部コンデンサの両端における前記ＤＣリンク電圧を、ＤＣ／ＡＣ変換部によりＤＣ／ＡＣ変換したＡＣ電圧により駆動され、
前記ＤＣリンク電圧が前記抵抗回生開始電圧よりも高くなれば、前記ＤＣリンク部コンデンサに並列に設けられた放電抵抗による抵抗回生を開始し、前記ＤＣリンク電圧が前記抵抗回生停止電圧よりも低くなれば、前記ＤＣリンク部コンデンサに並列に設けられた放電抵抗による抵抗回生を停止し、
前記抵抗回生開始電圧および前記抵抗回生停止電圧の値を学習するのは、
観測された前記ＤＣリンク電圧の値または前記ＤＣリンク過電圧アラームの有無または前記過負荷アラームの有無を含む状態量に基づいて、報酬を計算し、
前記状態量および前記報酬に基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧の価値を定める価値関数を、前記報酬に応じて更新し、
前記状態量に基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧を決定する操作量を更新する、
ことを特徴とする機械学習方法。
【請求項１２】
モータの回生電力を制御する抵抗回生開始電圧および抵抗回生停止電圧の値を学習する機械学習方法であって、
少なくとも前記モータを駆動するＤＣリンク電圧の値または前記ＤＣリンク電圧が過電圧になるときに警告を発するＤＣリンク過電圧アラームの有無または前記ＤＣリンク部コンデンサに並列に設けられた放電抵抗が過負荷になるときに警告を発する過負荷アラームの有無を観測し、
観測された前記ＤＣリンク電圧の値または前記ＤＣリンク過電圧アラームの有無または前記過負荷アラームの有無に基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧の値を学習する機械学習方法において、
前記モータは、
ＤＣリンク部コンデンサの両端における前記ＤＣリンク電圧を、ＤＣ／ＡＣ変換部によりＤＣ／ＡＣ変換したＡＣ電圧により駆動され、
前記ＤＣリンク電圧が前記抵抗回生開始電圧よりも高くなれば、前記ＤＣリンク部コンデンサに並列に設けられた放電抵抗による抵抗回生を開始し、前記ＤＣリンク電圧が前記抵抗回生停止電圧よりも低くなれば、前記ＤＣリンク部コンデンサに並列に設けられた放電抵抗による抵抗回生を停止し、
前記抵抗回生開始電圧および前記抵抗回生停止電圧の値を学習するのは、
観測された前記ＤＣリンク電圧の値または前記ＤＣリンク過電圧アラームの有無または前記過負荷アラームの有無を含む状態量、ならびに、入力された教師データに基づいて誤差を計算し、
前状態量および前記誤差に基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧の誤差を定める誤差モデルを更新し、
前記状態量に基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧を決定する操作量を更新する、
ことを特徴とする機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、抵抗回生開始電圧および抵抗回生停止電圧の値を学習する機械学習器，モータ制御装置，モータ制御システムおよび機械学習方法に関する。
【背景技術】
【０００２】
従来、工作機械，鍛圧機械，射出成形機，産業機械，あるいは，産業用およびサービス用ロボット等には電動機(モータ)が搭載され、このようなモータを制御するモータ制御装置が幅広く利用されている。
【０００３】
また、従来、例えば、モータ制御装置(モータ制御部)に対して、抵抗回生開始電圧と抵抗回生停止電圧の値を設定し、モータ駆動部における充電抵抗部と放電抵抗部のスイッチングを制御するものが提供されている。
【０００４】
ところで、従来、モータ回生時において発熱が一気に増えることを抑制し、その状態でモータを駆動させるロボットコントローラが提案されている(例えば、特許文献１参照)。この特許文献１は、ロボットコントローラが設置されている環境下の温度に基づいて、電圧降下の処理を実施するか否かを判断することで、例えば、ロボットコントローラが過高温となる状況でのみ、電圧降下の処理を実施することを開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１５２００８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように、従来、モータ制御装置に対して、抵抗回生開始電圧と抵抗回生停止電圧の値を設定し、モータ駆動部における充電抵抗部と放電抵抗部のスイッチングを制御するものが提供されている。このようなモータ制御装置は、例えば、設計段階において、抵抗回生開始電圧と抵抗回生停止電圧の値を決めるか、あるいは、モータが搭載された機械毎に手動で値を調整しているため、それぞれのモータ(工作機械やロボット等)に最適な抵抗回生開始電圧と抵抗回生停止電圧の値を決めるのが困難であった。
【０００７】
また、従来、特許文献１のように、例えば、ロボットコントローラが設置されている環境下の温度に基づいて電圧降下の処理を実施するか否かを判断し、ロボットコントローラが過高温となる状況でのみ、電圧降下の処理を実施するものも提案されている。しかしながら、これは、モータが減速する前にモータが回生する電力を推測しておき、それに応じて抵抗回生停止電圧を決めるものであり、やはりそれぞれのモータに適した抵抗回生開始電圧と抵抗回生停止電圧の値を調整することは困難である。
【０００８】
本発明の目的は、上述した従来技術の課題に鑑み、それぞれのモータに最適な抵抗回生開始電圧と抵抗回生停止電圧の値を調整することのできる機械学習器，モータ制御装置，モータ制御システムおよび機械学習方法の提供にある。
【課題を解決するための手段】
【０００９】
本発明に係る第１実施形態によれば、  モータの回生電力を制御する抵抗回生開始電圧および抵抗回生停止電圧の値を学習する機械学習器であって、少なくとも前記モータを駆動するＤＣリンク電圧、および、前記ＤＣリンク電圧が過電圧になるときに警告を発するＤＣリンク過電圧アラームを観測する状態観測部と、前記状態観測部により観測された前記ＤＣリンク電圧および前記ＤＣリンク過電圧アラームに基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧の値を学習する学習部と、を備える機械学習器が提供される。
【００１０】
前記モータは、ＤＣリンク部コンデンサの両端における前記ＤＣリンク電圧を、ＤＣ／ＡＣ変換部によりＤＣ／ＡＣ変換したＡＣ電圧により駆動され、前記抵抗回生開始電圧および前記抵抗回生停止電圧は、前記ＤＣリンク部コンデンサに並列に設けられた放電抵抗による放電開始および放電停止を制御し、前記状態観測部は、前記ＤＣリンク電圧の値および前記ＤＣリンク過電圧アラームの有無を観測し、前記学習部は、前記状態観測部により観測された前記ＤＣリンク電圧の値および前記ＤＣリンク過電圧アラームの有無を含む状態量に基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧を決定する操作量を更新するのが好ましい。前記状態観測部は、さらに、前記放電抵抗により消費される回生電力を示す抵抗回生量を観測し、前記学習部は、前記状態観測部により観測された前記抵抗回生量を含む状態量に基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧を決定する操作量を更新することができる。
【００１１】
あるいは、前記状態観測部は、さらに、前記放電抵抗により回生電力が消費される時間を示す抵抗回生時間を観測し、前記学習部は、前記状態観測部により観測された前記抵抗回生時間を含む状態量に基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧を決定する操作量を更新することができる。もしくは、前記状態観測部は、さらに、前記放電抵抗の温度を示す抵抗温度を観測し、前記学習部は、前記状態観測部により観測された前記抵抗温度を含む状態量に基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧を決定する操作量を更新することもできる。また、前記状態観測部は、さらに、前記放電抵抗が過負荷になるときに警告を発する過負荷アラームの有無を観測し、前記学習部は、前記状態観測部により観測された前記過負荷アラームの有無を含む状態量に基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧を決定する操作量を更新することもできる。前記機械学習器は、さらに、前記学習部が学習した前記操作量を参照して、前記抵抗回生開始電圧および前記抵抗回生停止電圧を決定する意思決定部を備えてもよい。
【００１２】
前記学習部は、前記状態観測部により観測された前記ＤＣリンク電圧の値および前記ＤＣリンク過電圧アラームの有無を含む状態量に基づいて、報酬を計算する報酬計算部と、前記状態観測部および前記報酬計算部の出力に基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧の価値を定める価値関数を、前記報酬に応じて更新する価値関数更新部と、を備えることができる。前記報酬計算部は、前記モータのＤＣリンク電圧が上昇したら、報酬を増やすと共に、前記ＤＣリンク過電圧アラームが発生したら、報酬を減らし、さらに、抵抗回生量が増加したら、報酬を減らし、抵抗回生時間が増加したら、報酬を減らし、抵抗温度が上昇したら、報酬を減らし、あるいは、過負荷アラームが発生したら報酬を減らすのが好ましい。
【００１３】
前記学習部は、前記状態観測部により観測された前記ＤＣリンク電圧の値および前記ＤＣリンク過電圧アラームの有無を含む状態量、ならびに、入力された教師データに基づいて誤差を計算する誤差計算部と、前記状態観測部および前記誤差計算部の出力に基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧の誤差を定める誤差モデルを更新する誤差モデル更新部と、を備えることができる。前記機械学習器は、ニューラルネットワークを備えてもよい。
【００１４】
本発明に係る第２実施形態によれば、上述した本発明に係る第１実施形態の機械学習器と、前記モータを駆動制御するとモータ駆動部と、前記機械学習器により学習された前記抵抗回生開始電圧および前記抵抗回生停止電圧の値に基づいて、前記モータ駆動部を介して前記モータの回生電力を制御するモータ制御部と、を備えるモータ制御装置が提供される。
【００１５】
本発明に係る第３実施形態によれば、上述した本発明に係る第２実施形態のモータ制御装置を複数備えるモータ制御システムであって、前記機械学習器は、それぞれの前記モータ制御装置に設けられ、複数の前記モータ制御装置に設けられた複数の前記機械学習器は、通信媒体を介して相互にデータを共有または交換するようになっているモータ制御システムが提供される。前記機械学習器は、クラウドサーバ上に存在してもよい。
【００１６】
本発明に係る第４実施形態によれば、モータの回生電力を制御する抵抗回生開始電圧および抵抗回生停止電圧の値を学習する機械学習方法であって、少なくとも、前記モータを駆動するＤＣリンク電圧、および、前記ＤＣリンク電圧が過電圧になるときに警告を発するＤＣリンク過電圧アラームを観測し、観測された前記ＤＣリンク電圧および前記ＤＣリンク過電圧アラームに基づいて、前記抵抗回生開始電圧および前記抵抗回生停止電圧の値を学習する機械学習方法が提供される。
【発明の効果】
【００１７】
本発明に係る機械学習器，モータ制御装置，モータ制御システムおよび機械学習方法によれば、それぞれのモータに最適な抵抗回生開始電圧と抵抗回生停止電圧の値を調整することのできるという効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】図１は、本発明に係るモータ制御装置の一実施形態を概略的に示すブロック図である。
【図２】図２は、図１に示すモータ制御装置におけるモータ駆動部の一例を示すブロック図である。
【図３】図３は、ニューロンのモデルを模式的に示す図である。
【図４】図４は、図３に示すニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図である。
【図５】図５は、図１に示す機械学習器の動作の第１例を示すフローチャートである。
【図６】図６は、図１に示す機械学習器の動作の第２例を示すフローチャートである。
【図７】図７は、図１に示す機械学習器の動作の第３例を示すフローチャートである。
【図８】図８は、図１に示す機械学習器の動作の第４例を示すフローチャートである。
【図９】図９は、図１に示す機械学習器の動作の第５例を示すフローチャートである。
【図１０】図１０は、図１に示す機械学習器で使用される行動価値テーブルの例を示す図である。
【図１１】図１１は、図１に示す機械学習器の動作の一例を説明するための図である。
【図１２】図１２は、本発明に係るモータ制御装置の他の実施形態を概略的に示すブロック図である。
【図１３】図１３は、図１２に示すモータ制御装置の一例を説明するための図(その１)である。
【図１４】図１４は、図１２に示すモータ制御装置の一例を説明するための図(その２)である。
【発明を実施するための形態】
【００１９】
以下、本発明に係る機械学習器，モータ制御装置，モータ制御システムおよび機械学習方法の実施形態を、添付図面を参照して詳述する。図１は、本発明に係るモータ制御装置の一実施形態を概略的に示すブロック図である。
【００２０】
なお、以下の記載では、説明を簡略化するために、主として、モータ制御部１２によりモータ駆動部３を介して１つのモータ１１を制御し、このモータ１１における回生電力を、機械学習器２により学習された抵抗回生開始電圧および抵抗回生停止電圧の値に基づいて制御する場合を例として説明する。しかしながら、本実施形態の適用は、このような構成に限定されるものではなく、モータ制御部１２(モータ駆動部３)により複数のモータ１１の回生電力の制御を行うこともできるのはいうまでもない。
【００２１】
本実施形態のモータ制御装置は、モータ１１を制御するためのものであり、モータ制御部１２，モータ駆動部３および機械学習器２を含む。ここで、モータ１１としては、工作機械，鍛圧機械，射出成形機，産業機械，あるいは，産業用およびサービス用ロボット等に用いられるモータ(電動機)である。なお、モータ制御部１２，モータ駆動部３および機械学習器２は、モータ制御装置として一体化することができるが、それぞれ別々に設けてもよい。
【００２２】
図１に示されるように、機械学習器２は、例えば、モータ制御部１２に設定される抵抗回生開始電圧および抵抗回生停止電圧の値を学習するものであり、状態観測部２１、学習部２２、および、意思決定部２５を含む。モータ制御部１２は、設定された抵抗回生開始電圧および抵抗回生停止電圧の値に基づいて、モータ駆動部３を介してモータ１１の回生電力の制御を行う。なお、モータ駆動部３の詳細は、図２を参照して後に説明する。
【００２３】
状態観測部２１は、モータ１１(モータ駆動部３)の状態を観測し、学習部２２は、状態観測部２１により観測された状態量に基づいて、抵抗回生開始電圧および抵抗回生停止電圧を決定する操作量(行動価値テーブル)を更新する。すなわち、状態観測部２１は、モータ１１のＤＣリンク電圧の値およびＤＣリンク過電圧アラームの有無を含む状態量を観測する。また、状態観測部２１は、例えば、抵抗回生量(放電制御部３６の放電抵抗362により消費される回生電力)，抵抗回生時間(放電抵抗362により回生電力を消費するのに要する時間)，抵抗温度(放電抵抗362の温度)，ならび，放電抵抗362が過負荷になるときに警告を発する過負荷アラームの有無等も状態量として観測することができる。
【００２４】
ここで、状態観測部２１は、ＤＣリンク電圧の値，ＤＣリンク過電圧アラームの有無，抵抗回生量，抵抗回生時間，抵抗温度および過負荷アラームの有無等を、モータ駆動部３またはモータ制御部１２の出力として受け取ることができる。また、例えば、放電抵抗362の温度(抵抗温度)は、図２に示すように、放電抵抗362の近傍に温度検出器363を設け、状態観測部２１が、温度検出器363の出力を直接受け取るように構成することもできる。
【００２５】
学習部２２は、状態観測部２１により観測された状態量に基づいて報酬を計算する報酬計算部２３、および、報酬計算部２３により計算された報酬に基づいて、現在の状態量(状態変数)から抵抗回生開始電圧および抵抗回生停止電圧を決定する関数を更新する価値関数更新部２４を含む。報酬計算部２３による報酬の計算(報酬を増やす(プラス報酬の設定)，または，報酬を減らす(マイナス報酬の設定))に関しては、図５〜図９ならびに図１０を参照して後に詳述する。なお、意思決定部２５は、学習部２２が学習した操作量、すなわち、価値関数更新部２４により更新された価値関数を参照して、抵抗回生開始電圧および抵抗回生停止電圧を決定し、モータ制御部１２に対して出力する。
【００２６】
図２は、図１に示すモータ制御装置におけるモータ駆動部の一例を示すブロック図である。図２に示されるように、モータ駆動部３は、例えば、モータ制御部１２からの制御信号に基づいてモータ１１を駆動制御するもので、制御用コイル３１，電磁接触器３２，リアクトル(三相リアクトル)３３，ＡＣ／ＤＣ変換部３４，充電制御部３５，放電制御部３６，ＤＣリンク部コンデンサ３７およびＤＣ／ＡＣ変換部３８を備える。
【００２７】
制御用コイル３１は、モータ制御部１２からの電磁接触器開閉指令に基づいて、電磁接触器３２のオン(接続)／オフ(遮断)制御を行い、交流電源(例えば、三相交流電源)からの交流電圧は、接続状態の電磁接触器３２により、リアクトル(三相リアクトル)３３を介してＡＣ／ＤＣ変換部３４に印加され、直流(脈流)電圧に変換される。ここで、三相リアクトル３３は、モータ駆動部(インバータ)３の一次側(交流電源側)に設けられ、力率改善(高調波対策)や電源からのサージを低減するために使用される。ＡＣ／ＤＣ変換部３４は、三相リアクトル３３を介して入力される三相(Ｒ相，Ｓ相およびＴ相)のそれぞれに対して設けられた整流用ダイオード341,342，343,344および345,346を有する。
【００２８】
ＡＣ／ＤＣ変換部３４によりＡＣ／ＤＣ変換された直流電圧は、充電制御部３５を介してＤＣリンク部コンデンサ３７により平滑化され、その平滑化された直流電圧は、ＤＣ／ＡＣ変換部３８により、モータ１１を駆動するための交流電圧(例えば、三相交流電圧)に変換される。ここで、ＤＣリンク部コンデンサ３７の両端には、並列に放電制御部３６が設けられている。また、ＤＣリンク部コンデンサ３７の両端は、モータ制御部１２にも接続され、例えば、モータ制御部１２によりＤＣリンク部コンデンサ３７の両端の電圧(ＤＣリンク電圧)を検出できるようになっている。なお、ＤＣリンク電圧を検出するＤＣリンク電圧検出部を独立に設けてもよく、あるいは、モータ制御部１２とは別の制御回路(例えば、モータ駆動部３に設けられた制御回路)に設けてもよいのはいうまでもない。
【００２９】
充電制御部３５は、充電抵抗352，および，充電抵抗352と並列に設けられたスイッチ351を含み、スイッチ351は、モータ制御部１２からの短絡指令に基づいてオン／オフ制御される。この充電制御部３５は、例えば、ＤＣリンク部コンデンサ３７が完全に放電した後の充電において、スイッチ351がオフすることで充電抵抗352が直列に挿入されることになり、大電流が流れるのを抑制するようになっている。
【００３０】
放電制御部３６は、放電抵抗362，および，放電抵抗362と直列に設けられたスイッチ361を含み、スイッチ361は、モータ制御部１２からの放電指令に基づいてオン／オフ制御される。また、放電制御部３６は、放電抵抗362の温度を検出する温度検出器363を含み、温度検出器363により検出された放電抵抗362の温度(抵抗温度)は、機械学習器２における状態観測部２１に状態量として与えられる。
【００３１】
ここで、モータ制御部１２は、例えば、放電制御部３６のスイッチ361を制御する放電指令(スイッチ361をオン／オフ制御するタイミング)、および、検出したＤＣリンク電圧の変化等に基づいて、放電抵抗362により回生電力が消費される時間(抵抗回生時間)、ならびに、放電抵抗362により消費される回生電力(抵抗回生量)を求めることができ、これらの抵抗回生時間および抵抗回生量も、状態観測部２１に対して状態量として与えるようになっている。
【００３２】
なお、放電制御部３６のスイッチ361をオン(接続)してＤＣリンク電圧を放電抵抗362に印加し、この放電抵抗362により回生電力を消費するのは、モータ制御部１２に設定される抵抗回生開始電圧に基づいて行われ、また、放電制御部３６のスイッチ361をオフ(遮断)して放電抵抗362を切り離すのは抵抗回生停止電圧に基づいて行われる。すなわち、抵抗回生開始電圧および抵抗回生停止電圧は、ＤＣリンク部コンデンサ３７に並列に設けられた放電抵抗362による放電開始および放電停止を制御する。
【００３３】
具体的に、ＤＣリンク電圧が抵抗回生開始電圧よりも高くなれば、放電制御部３６のスイッチ361をオンして放電抵抗362による回生(抵抗回生)を開始し、ＤＣリンク電圧が抵抗回生停止電圧よりも低くなれば、放電制御部３６のスイッチ361をオフして放電抵抗362による回生を停止する。これにより、例えば、ＤＣリンク部コンデンサ３７，ＡＣ／ＤＣ変換部３４およびＤＣ／ＡＣ変換部３８等の破壊を防止するようになっている。
【００３４】
すなわち、例えば、図２に示す構成において、モータ１１が減速すると、回生電力が発生し、ＤＣリンク電圧(ＤＣリンク部コンデンサ３７の電圧)が上昇する。このとき、ＤＣリンク電圧が上昇しすぎると、例えば、ＤＣリンク電圧を検出しているモータ制御部１２からＤＣリンク過電圧アラームが出力され、モータ駆動部３(ＤＣリンク部コンデンサ３７，ＡＣ／ＤＣ変換部３４およびＤＣ／ＡＣ変換部３８等)の耐圧を超えたことによる過電圧破壊が発生し、システムが停止することになってしまう。そこで、システムが停止するのを防止するために、ＤＣリンク電圧が上昇しすぎないよう、放電抵抗362により回生電力を消費するようになっている。
【００３５】
ここで、本実施形態によれば、状態観測部２１は、少なくとも少なくともモータ１１を駆動するＤＣリンク電圧と、ＤＣリンク電圧が過電圧になるときに発せられるＤＣリンク過電圧アラームを観測する。さらに、学習部２２は、状態観測部２１により観測されたＤＣリンク電圧およびＤＣリンク過電圧アラームに基づいて、抵抗回生開始電圧および抵抗回生停止電圧の値を学習する。
【００３６】
ところで、機械学習器２は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準等を解析により抽出し、その判断結果を出力するとともに、知識の学習(機械学習)を行う機能を有する。機械学習の手法は様々であるが、大別すれば、例えば、「教師あり学習」、「教師なし学習」および「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習(ディープラーニング：Deep Learning)」と呼ばれる手法がある。
【００３７】
なお、図１に示す機械学習器２は、「強化学習」を適用したものであり、また、図１２を参照して後述する機械学習器４は、「教師あり学習」を適用したものである。これらの機械学習(機械学習器２，４)は、汎用の計算機若しくはプロセッサを用いることもできるが、例えば、ＧＰＧＰＵ(General-Purpose computing on Graphics Processing Units)や大規模ＰＣクラスター等を適用すると、より高速処理が可能になる。
【００３８】
まず、教師あり学習とは、教師データ、すなわち、ある入力と結果(ラベル)のデータの組を大量に機械学習器２に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル(誤差モデル)、すなわち、その関係性を帰納的に獲得するものである。例えば、後述のニューラルネットワーク等のアルゴリズムを用いて実現することが可能である。
【００３９】
また、教師なし学習とは、入力データのみを大量に学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮・分類・整形等を行う装置で学習する手法である。例えば、それらのデータセットにある特徴を、似た者どうしにクラスタリングすること等ができる。この結果を使って、何らかの基準を設けてそれを最適化するような出力の割り当てを行うことにより、出力の予測を実現することできる。
【００４０】
なお、教師なし学習と教師あり学習との中間的な問題設定として、半教師あり学習と呼ばれるものもあり、これは、例えば、一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合が対応する。本実施形態においては、実際にロボットを動かさなくても取得することができるデータ(画像データやシミュレーションのデータ等)を教師なし学習で利用することにより、学習を効率的に行うことが可能になる。
【００４１】
次に、強化学習について、説明する。まず、強化学習の問題設定として、次のように考える。
・ロボット(すなわち、工作機械，鍛圧機械，射出成形機，産業機械，あるいは，産業用およびサービス用ロボット等に搭載されたモータ：以下の記載では、説明を簡略化するために、様々な機械に搭載されたモータを、ロボットとも称する)は、環境の状態を観測し、行動を決定する。
・環境は、何らかの規則に従って変化し、さらに、自分の行動が、環境に変化を与えることもある。
・行動するたびに、報酬信号が帰ってくる。
・最大化したいのは、将来にわたっての(割引)報酬の合計である。
・行動が引き起こす結果を全く知らない、または、不完全にしか知らない状態から学習はスタートする。すなわち、ロボットは、実際に行動して初めて、その結果をデータとして得ることができる。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように、事前学習(前述の教師あり学習や、逆強化学習といった手法)した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
【００４２】
ここで、強化学習とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、すなわち、将来的に得られる報酬を最大にするための学習する方法を学ぶものである。以下に、例として、Ｑ学習の場合で説明を続けるが、Ｑ学習に限定されるものではない。
【００４３】
Ｑ学習は、或る環境状態ｓの下で、行動ａを選択する価値Ｑ(ｓ，ａ)を学習する方法である。つまり、或る状態ｓのとき、価値Ｑ(ｓ，ａ)の最も高い行動ａを最適な行動として選択すればよい。しかし、最初は、状態ｓと行動ａとの組合せについて、価値Ｑ(ｓ，ａ)の正しい値は全く分かっていない。そこで、エージェント(行動主体)は、或る状態ｓの下で様々な行動ａを選択し、その時の行動ａに対して、報酬が与えられる。それにより、エージェントは、より良い行動の選択、すなわち、正しい価値Ｑ(ｓ，ａ)を学習していく。
【００４４】
さらに、行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にＱ(ｓ，ａ)＝Ｅ［Σ(γt)ｒt］となるようにすることを目指す。ここで、期待値は、最適な行動に従って状態変化したときについてとるものとし、それは、分かっていないので、探索しながら学習することになる。このような価値Ｑ(ｓ，ａ)の更新式は、例えば、次の式(１)により表すことができる。
【００４５】
【数１】
0006538573.tif 000002
上記の式(１)において、ｓtは、時刻ｔにおける環境の状態を表し、ａtは、時刻ｔにおける行動を表す。行動ａtにより、状態はｓt+1に変化する。rt+1は、その状態の変化により得られる報酬を表している。また、ｍａｘの付いた項は、状態ｓt+1の下で、その時に分かっている最もＱ値の高い行動ａを選択した場合のＱ値にγを乗じたものになる。ここで、γは、０＜γ≦１のパラメータで、割引率と呼ばれる。また、αは、学習係数で、０＜α≦１の範囲とする。
【００４６】
上述した式(１)は、試行ａtの結果、帰ってきた報酬ｒt+1を元に、状態ｓtにおける行動ａtの評価値Ｑ(ｓt，ａt)を更新する方法を表している。すなわち、状態ｓにおける行動ａの評価値Ｑ(ｓt，ａt)よりも、報酬ｒt+1 ＋ 行動ａによる次の状態における最良の行動ｍａｘ ａの評価値Ｑ(ｓt+1，ｍａｘ ａt+1)の方が大きければ、Ｑ(ｓt，ａt)を大きくし、反対に小さければ、Ｑ(ｓt，ａt)を小さくすることを示している。つまり、或る状態における或る行動の価値を、結果として即時帰ってくる報酬と、その行動による次の状態における最良の行動の価値に近付けるようにしている。
【００４７】
ここで、Ｑ(ｓ，ａ)の計算機上での表現方法は、すべての状態行動ペア(ｓ，ａ)に対して、その値をテーブルとして保持しておく方法と、Ｑ(ｓ，ａ)を近似するような関数を用意する方法がある。後者の方法では、前述の式(１)は、確率勾配降下法等の手法で近似関数のパラメータを調整していくことにより、実現することができる。なお、近似関数としては、後述のニューラルネットワークを用いることができる。
【００４８】
ここで、強化学習での価値関数の近似アルゴリズムとして、ニューラルネットワークを用いることができる。図３は、ニューロンのモデルを模式的に示す図であり、図４は、図３に示すニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図である。すなわち、ニューラルネットワークは、例えば、図３に示すようなニューロンのモデルを模した演算装置およびメモリ等で構成される。
【００４９】
図３に示されるように、ニューロンは、複数の入力ｘ(図３では、一例として入力ｘ1〜ｘ3)に対する出力(結果)ｙを出力するものである。各入力ｘ(ｘ1，ｘ2，ｘ3)には、この入力ｘに対応する重みｗ(ｗ1，ｗ2，ｗ3)が乗算される。これにより、ニューロンは、次の式(２)により表現される結果ｙを出力する。なお、入力ｘ、結果ｙおよび重みｗは、すべてベクトルである。また、下記の式(２)において、θは、バイアスであり、ｆkは、活性化関数である。
【数２】
0006538573.tif 000003
【００５０】
図４を参照して、図３に示すニューロンを組み合わせて構成した三層のニューラルネットワークを説明する。図４に示されるように、ニューラルネットワークの左側から複数の入力ｘ(ここでは、一例として、入力ｘ1〜入力ｘ3)が入力され、右側から結果ｙ(ここでは、一例として、結果ｙ1〜入力ｙ3)が出力される。具体的に、入力ｘ1，ｘ2， ｘ3は、３つのニューロンＮ11〜Ｎ13の各々に対して、対応する重みが掛けられて入力される。これらの入力に掛けられる重みは、まとめてＷ１と標記されている。
【００５１】
ニューロンＮ11〜Ｎ13は、それぞれ、ｚ11〜ｚ13を出力する。図４において、これらｚ11〜ｚ13は、まとめて特徴ベクトルＺ１と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルＺ１は、重みＷ１と重みＷ２との間の特徴ベクトルである。ｚ11〜ｚ13は、２つのニューロンＮ21およびＮ22の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてＷ２と標記されている。
【００５２】
ニューロンＮ21，Ｎ22は、それぞれｚ21，ｚ22を出力する。図４において、これらｚ21，ｚ22は、まとめて特徴ベクトルＺ２と標記されている。この特徴ベクトルＺ２は、重みＷ２と重みＷ３との間の特徴ベクトルである。ｚ21，ｚ22は、３つのニューロンＮ31〜Ｎ33の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてＷ３と標記されている。
【００５３】
最後に、ニューロンＮ31〜Ｎ33は、それぞれ、結果ｙ１〜結果ｙ３を出力する。ニューラルネットワークの動作には、学習モードと価値予測モードとがある。例えば、学習モードにおいて、学習データセットを用いて重みＷを学習し、そのパラメータを用いて予測モードにおいて、ロボットの行動判断を行う。なお、便宜上、予測と書いたが、検出・分類・推論等多様なタスクが可能なのはいうまでもない。
【００５４】
ここで、予測モードで実際にロボットを動かして得られたデータを即時学習し、次の行動に反映させる(オンライン学習)ことも、予め収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う(バッチ学習)こともできる。あるいは、その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
【００５５】
また、重みＷ１〜Ｗ３は、誤差逆伝搬法(誤差逆転伝播法：バックプロパゲーション：Backpropagation)により学習可能なものである。なお、誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの出力ｙと真の出力ｙ(教師)との差分を小さくするように、それぞれの重みを調整(学習)する手法である。このようなニューラルネットワークは、三層以上に、さらに層を増やすことも可能である(深層学習と称される)。また、入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することも可能である。
【００５６】
そこで、上述したように、本実施例の機械学習器２は、例えば、Ｑ学習を実施すべく、状態観測部２１、学習部２２、および、意思決定部２５を備えている。ただし、本発明に適用される機械学習方法は、Ｑ学習に限定されないのは前述した通りである。なお、機械学習(機械学習器２)は、例えば、ＧＰＧＰＵや大規模ＰＣクラスター等を適用することで実現可能なのは、前述した通りである。
【００５７】
図５は、図１に示す機械学習器の動作の第１例を示すフローチャートである。図５に示されるように、機械学習が開始(学習スタート)すると、ステップＳＴ１において、(A)抵抗回生開始電圧と(B)抵抗回生停止電圧をランダムに選択し(但し、電圧値は、(A)＞(B))、ステップＳＴ２に進んで、モータ１１を駆動する。さらに、ステップＳＴ３に進んで、ＤＣリンク電圧(ＤＣリンク部コンデンサ３７の電圧，ＤＣ／ＡＣ変換部３８の入力電圧：モータ１１を駆動する電圧)が上昇したかどうかを判定する。
【００５８】
ステップＳＴ３において、ＤＣリンク電圧が上昇しなかったと判定すると、ステップＳＴ４に進んで報酬を減らし(マイナス報酬を設定し)、逆に、ＤＣリンク電圧が上昇したと判定すると、ステップＳＴ５に進んで報酬を増やし(プラス報酬を設定し)、ステップＳＴ６に進む。ステップＳＴ６において、過電圧アラーム(ＤＣリンク過電圧アラーム)が発生したと判定すると、ステップＳＴ７に進んで報酬を減らし、逆に、過電圧アラームが発生しなかったと判定すると、ステップＳＴ８に進んで報酬を増やし、ステップＳＴ９に進む。
【００５９】
ステップＳＴ９では、行動価値テーブルを更新し、さらに、ステップＳＴ１０に進んで、抵抗回生開始電圧および抵抗回生停止電圧を決定し、ステップＳＴ２に戻って同様の処理を継続する。すなわち、ステップＳＴ９において、上述したステップＳＴ３〜ＳＴ８による報酬を報酬計算部２３で計算した結果に基づいて、価値関数更新部２４が価値関数(行動価値テーブル)を更新する。そして、ステップＳＴ１０において、例えば、意思決定部２５が、価値関数更新部２４が更新した価値関数に基づいて、抵抗回生開始電圧および抵抗回生停止電圧を決定する。
【００６０】
なお、意思決定部２５により決定された抵抗回生開始電圧および抵抗回生停止電圧(機械学習器２により学習された抵抗回生開始電圧および抵抗回生停止電圧の値)は、例えば、モータ制御部１２に設定され、その設定された抵抗回生開始電圧および抵抗回生停止電圧に基づいて、放電制御部３６のスイッチ361をオン／オフ制御する放電指令が出力される。
【００６１】
このように、本実施形態によれば、ＤＣリンク過電圧アラームが発生しない範囲において、ＤＣリンク電圧を上昇させることができる抵抗回生開始電圧および抵抗回生停止電圧の値が機械学習され、例えば、それぞれのモータに最適な抵抗回生開始電圧と抵抗回生停止電圧の値を調整することが可能になる。
【００６２】
図６は、図１に示す機械学習器の動作の第２例を示すフローチャートである。図６と、上述した図５の比較から明らかなように、本第２例では、図５に示す第１例に対してステップＳＴ１１〜ＳＴ１３の処理が追加されている。すなわち、ステップＳＴ６において、過電圧アラームが発生したと判定すると、ステップＳＴ７に進んで報酬を減らし、逆に、過電圧アラームが発生しなかったと判定すると、ステップＳＴ８に進んで報酬を増やし、ステップＳＴ１１に進む。
【００６３】
ステップＳＴ１１において、抵抗回生量(放電制御部３６の放電抵抗362により消費される回生電力)が増加したかどうかを判定し、抵抗回生量が増加したと判定すると、報酬を減らし(マイナス報酬を設定し)、逆に、抵抗回生量が増加しなかったと判定すると、報酬を増やし(プラス報酬を設定し)、ステップＳＴ９に進む。なお、ステップＳＴ９以降の処理は、図５を参照して説明した第１例と同様であり、その説明は省略する。これは、以下に説明する図７〜図９でも同様である。
【００６４】
このように、図６に示す第２例では、図５を参照して説明した第１例に加え、状態観測部２１に対して、放電抵抗362により消費される回生電力を示す抵抗回生量を状態量として与え、学習部２２(価値関数更新部２４)が、状態観測部２１により観測されたＤＣリンク電圧の値，ＤＣリンク過電圧アラームの有無および抵抗回生量を含む状態量に基づいて、抵抗回生開始電圧および抵抗回生停止電圧を決定する操作量を更新するようになっている。
【００６５】
図７は、図１に示す機械学習器の動作の第３例を示すフローチャートである。図７と、前述した図５の比較から明らかなように、本第３例では、図５に示す第１例に対してステップＳＴ１４〜ＳＴ１６の処理が追加されている。すなわち、ステップＳＴ６において、過電圧アラームが発生したと判定すると、ステップＳＴ７に進んで報酬を減らし、逆に、過電圧アラームが発生しなかったと判定すると、ステップＳＴ８に進んで報酬を増やし、ステップＳＴ１４に進む。
【００６６】
ステップＳＴ１４において、抵抗回生時間(放電抵抗362により回生電力を消費するのに要する時間)が増加したかどうかを判定し、抵抗回生時間が増加したと判定すると、報酬を減らし(マイナス報酬を設定し)、逆に、抵抗回生時間が増加しなかったと判定すると、報酬を増やし(プラス報酬を設定し)、ステップＳＴ９に進む。
【００６７】
このように、図７に示す第３例では、図５を参照して説明した第１例に加え、状態観測部２１に対して、放電抵抗362により回生電力が消費される時間を示す抵抗回生時間を状態量として与え、学習部２２(価値関数更新部２４)が、状態観測部２１により観測されたＤＣリンク電圧の値，ＤＣリンク過電圧アラームの有無および抵抗回生時間を含む状態量に基づいて、抵抗回生開始電圧および抵抗回生停止電圧を決定する操作量を更新するようになっている。
【００６８】
図８は、図１に示す機械学習器の動作の第４例を示すフローチャートである。図８と、前述した図５の比較から明らかなように、本第４例では、図５に示す第１例に対してステップＳＴ１７〜ＳＴ１９の処理が追加されている。すなわち、ステップＳＴ６において、過電圧アラームが発生したと判定すると、ステップＳＴ７に進んで報酬を減らし、逆に、過電圧アラームが発生しなかったと判定すると、ステップＳＴ８に進んで報酬を増やし、ステップＳＴ１７に進む。
【００６９】
ステップＳＴ１７において、抵抗温度(放電抵抗362の温度)が上昇したかどうかを判定し、抵抗温度が上昇したと判定すると、報酬を減らし(マイナス報酬を設定し)、逆に、抵抗温度が上昇しなかったと判定すると、報酬を増やし(プラス報酬を設定し)、ステップＳＴ９に進む。なお、抵抗温度としては、放電抵抗362の平均温度、または、放電抵抗362の最大温度のいずれかであってもよいが、放電抵抗362の平均温度および最大温度の両方を使用してもよい。
【００７０】
このように、図８に示す第４例では、図５を参照して説明した第１例に加え、状態観測部２１に対して、放電抵抗362の温度(平均温度および最大温度の少なくとも一方)を示す抵抗温度を状態量として与え、学習部２２(価値関数更新部２４)が、状態観測部２１により観測されたＤＣリンク電圧の値，ＤＣリンク過電圧アラームの有無および抵抗温度を含む状態量に基づいて、抵抗回生開始電圧および抵抗回生停止電圧を決定する操作量を更新するようになっている。
【００７１】
図９は、図１に示す機械学習器の動作の第５例を示すフローチャートである。図９と、前述した図５の比較から明らかなように、本第５例では、図５に示す第１例に対してステップＳＴ２０〜ＳＴ２５の処理が追加されている。ここで、ステップＳＴ２０〜ＳＴ２２の処理は、前述した図６に示す第２例のステップＳＴ１１〜ＳＴ１３，図７に示す第３例のステップＳＴ１４〜ＳＴ１６，ならびに、図８に示す第４例のステップＳＴ１７〜ＳＴ１９に相当する処理であり、それら第２例〜第４例の処理の少なくとも１つの処理を行うことを示している。なお、第２例〜第４例の全ての処理を順番に行うこともできるのはいうまでもない。
【００７２】
そして、ステップＳＴ２０〜ＳＴ２２の処理を行った後、ステップＳＴ２３に進んで、放電抵抗362の過負荷アラームが発生したかどうかを判定する。なお、放電抵抗362の過負荷アラームは、例えば、モータ制御部１２において、ＤＣリンク電圧の値や放電抵抗362の温度等に基づいて、過負荷アラームを発生するかどうかを制御することができる。
【００７３】
図６〜図９を参照して説明したように、図５に示す第１例に対して、他の様々なパラメータを状態量として状態観測部２１に入力することができる。なお、状態観測部２１に入力する状態量としては、モータ制御装置が適用されるシステム、あるいは、駆動されるモータが搭載される産業機械やロボットの種類等に基づいて適切なものが選択されることになる。
【００７４】
図１０は、図１に示す機械学習器で使用される行動価値テーブルの例を示す図であり、ＤＣリンク電圧の値およびＤＣリンク過電圧アラームの有無を機械学習器２(状態観測部２１)に与え、機械学習処理を＜１回目＞→＜２回目＞→…→＜ｎ回目＞と繰り返して行動価値テーブル(価値関数)を更新する様子を示すものである。
【００７５】
まず、抵抗回生開始電圧および抵抗回生停止電圧をランダムな値として処理を行うが、抵抗回生開始電圧および抵抗回生停止電圧としては、想定される適切な値を設定してもよい。図１０の＜１回目＞に示されるように、ＤＣリンク電圧が低くてＤＣリンク過電圧アラームの発生が無い場合、ＤＣリンク電圧による報酬が『−１０』(例えば、図５におけるステップＳＴ４)でＤＣリンク過電圧アラームの有無による報酬が『＋５』(例えば、図５におけるステップＳＴ８)となって、全体としての報酬は『−５(＝−１０＋５)』となる。これにより、例えば、行動(操作)として、抵抗回生開始電圧および抵抗回生停止電圧の値を上昇させる。
【００７６】
次に、図１０の＜２回目＞に示されるように、ＤＣリンク電圧が高くてＤＣリンク過電圧アラームの発生が無い場合、ＤＣリンク電圧による報酬が『＋１０』(例えば、図５におけるステップＳＴ５)でＤＣリンク過電圧アラームの有無による報酬が『＋５』(例えば、図５におけるステップＳＴ８)となって、全体としての報酬(行動価値)は『＋１５(＝＋１０＋５)』となる。これにより、例えば、行動として、抵抗回生開始電圧および抵抗回生停止電圧の値を上昇させる。
【００７７】
さらに、図１０の＜３回目＞に示されるように、ＤＣリンク電圧が高くてＤＣリンク過電圧アラームの発生が有る場合、ＤＣリンク電圧による報酬が『＋１０』(例えば、図５におけるステップＳＴ５)でＤＣリンク過電圧アラームの有無による報酬が『−３０』(例えば、図５におけるステップＳＴ７)となって、全体としての報酬(行動価値)は『−２０(＝＋１０−３０)』となる。これにより、例えば、行動として、抵抗回生開始電圧および抵抗回生停止電圧の値を降下させる。
【００７８】
このような処理を複数回繰り返して、抵抗回生開始電圧および抵抗回生停止電圧の値を学習させることにより、例えば、図１０の＜ｎ回目＞に示されるような、駆動するモータに適した抵抗回生開始電圧および抵抗回生停止電圧の値を得ることが可能になる。なお、機械学習器(４)として、教師あり学習を適用し、例えば、外部から入力する誤差モデルとの差を小さくするようにして、抵抗回生開始電圧および抵抗回生停止電圧の値を学習させることも可能である。
【００７９】
図１１は、図１に示す機械学習器の動作の一例を説明するための図である。図１１において、Ｘ軸に抵抗回生停止電圧を取り、Ｙ軸に最適な補正値を取り、そして、Ｚ軸に抵抗回生開始電圧を取る。このとき、図１１に示されるように、抵抗回生開始電圧(Ｚ)および抵抗回生停止電圧(Ｘ)により決まる最適な補正値Ｐｃは、常に、補正値の空間ＣＳに含まれることになる。
【００８０】
すなわち、モータ駆動装置は、最初は２つの補正値(Ｐｃ)をどのような値にすれば、抵抗回生開始電圧と抵抗回生停止電圧を最適化して、ＤＣリンク過電圧アラームが発生しない範囲で、ＤＣリンク電圧をどこまで上げられるのか分からない。しかしながら、図５を参照して説明したように、例えば、ＤＣリンク過電圧アラームおよびＤＣリンク電圧の状態量に基づいて機械学習を行うことにより、図１１に示されるような、抵抗回生に応じた最適な補正値の空間ＣＳを作り出すことができる。なお、状態量としては、図６〜図９を参照して説明したように、ＤＣリンク過電圧アラームおよびＤＣリンク電圧の他に、抵抗回生量，抵抗回生時間，抵抗温度(平均値，最大値)および過負荷アラームの少なくとも１つを含んでもよい。
【００８１】
図１２は、本発明に係るモータ制御装置の他の実施形態を概略的に示すブロック図であり、教師あり学習を適用したものを示す。図１２と、前述した図１の比較から明らかなように、図１２に示す教師あり学習を適用したモータ制御装置は、図１に示すＱ学習(強化学習)を適用したモータ制御装置において、教師データ(結果(ラベル)付きデータ)が提供されるようになっている。
【００８２】
図１２に示されるように、教師あり学習を適用したモータ制御装置における機械学習器４は、状態観測部４１と、学習部４２と、意思決定部４５と、を備える。学習部４２は、誤差計算部４３と、誤差モデル更新部４４と、を含む。なお、本実施形態のモータ制御装置においても、機械学習器４は、少なくとも行動価値テーブル(価値関数)によるＤＣリンク電圧の値およびＤＣリンク過電圧アラームの有無に基づいて、抵抗回生開始電圧および抵抗回生停止電圧の値を学習する。
【００８３】
すなわち、状態観測部４１は、図１における状態観測部２１と同様に、少なくともＤＣリンク電圧の値およびＤＣリンク過電圧アラームの有無を状態量として受け取る。また、状態観測部４１は、上述したのと同様に、抵抗回生量，抵抗回生時間，抵抗温度および過負荷アラームの有無等も状態量として受け取ることができる。
【００８４】
図１２に示されるように、学習部４２は、誤差計算部４３および誤差モデル更新部４４を含み、誤差計算部４３および誤差モデル更新部４４は、それぞれ、図１に示すＱ学習を適用したモータ制御装置における報酬計算部２３および価値関数更新部２４に相当する。ただし、本実施形態における誤差計算部４３には、外部から教師データが入力され、その教師データと誤差モデルの差が小さくなるように、誤差モデル更新部４４により誤差モデルが更新される構成等において、図１を参照して説明したものとは異なる。
【００８５】
すなわち、誤差計算部４３は、状態観測部４１の出力および教師データを受け取って、結果(ラベル)付きデータと学習部４２に実装されている誤差モデルの出力との誤差を計算する。ここで、教師データとしては、例えば、同一のモータ制御装置により同じ産業機械やロボット等により同じ作業を行わせる場合、実際に作業を行わせる所定日の前日までに得られたラベル付きデータを保持し、その所定日に、教師データとして誤差計算部４３に提供することができる。
【００８６】
あるいは、モータ制御装置(産業機械やロボット等)の外部で行われたシミュレーション等により得られたデータ、または、他のモータ制御装置のラベル付きデータを、メモリカードや通信回線により、そのモータ制御装置の誤差計算部４３に教師データとして提供することも可能である。さらに、教師データ(ラベル付きデータ)を、例えば、学習部４２に内蔵したフラッシュメモリ(Flash Memory)等の不揮発性メモリに保持し、その不揮発性メモリに保持されたラベル付きデータを、そのまま学習部４２で使用することもできる。
【００８７】
以上において、モータ制御装置を複数備えるモータ制御システムを考えた場合、例えば、機械学習器２(４)は、モータ制御装置毎にそれぞれ設けられ、複数のモータ制御装置に設けられた複数の機械学習器２(４)は、通信媒体を介して相互にデータを共有または交換することができる。また、機械学習器２(４)は、クラウドサーバ上に存在させることも可能である。
【００８８】
図１３および図１４は、図１２に示すモータ制御装置の一例を説明するための図である。まず、パラメータを最適化するにあたり、システムにおける観測可能で制御可能な入力(設定値を含む)をｘ，観測可能だが制御不能な入力をｕ，観測不能な環境変数をΘ，そして，出力をｙとする。
【００８９】
本実施形態において、ｘ，ｕ，Θおよびｙは、それぞれ、ｘは、抵抗回生開始電圧および抵抗回生停止電圧、ｕは、ＤＣリンク電圧，ＤＣリンク過電圧アラームの有無，放電抵抗器の温度，回生時間および抵抗回生量等、Θは、例えば、工作機械毎の動作パターンおよびモータ駆動装置の電気的特性のばらつき等、そして、ｙは、過電圧アラームの閾値およびＤＣリンク電圧(平均値)の差とすることができ、ｙを『０』に近づけるように多次元のｘを制御することが求められる。
【００９０】
図１３に示されるように、教師あり学習を適用した実施形態において、入力ｘ，ｕ，Θからｙを得るための関数をｆΘ(ｘ，ｕ)とする。これを学習モデルと呼び、このｆを表現するにあたり、例えば、ニューラルネットワークを使い、入力ｘとラベルｙの組を多く与えて、学習ベースでｆを表現するのが、教師あり学習の学習方法である。
【００９１】
教師あり学習を適用した本実施形態においては、ＤＣリンク電圧，抵抗回生開始電圧，抵抗回生停止電圧，放電抵抗器の温度，回生時間，抵抗回生量といったセンサ値および制御パラメータを入力とし、その時の出力ｙを観測することを、複数回実施して複数のデータセットを獲得し、学習器(例えば、ニューラルネットワーク)で学習させる。これにより、それらのパラメータと出力ｙの関係性ｆを、学習ベースで表現する。このとき、本実施形態において、それぞれの値は各個体の電気的特性などに依存するが、測定が不能な環境変数Θによって、この表現される学習モデルｆΘ(ｘ，ｕ)は異なる。
【００９２】
このように、学習されたモデルを使うことで、ｘに含まれる調整パラメータを、どのような値に設定すると、どのような出力ｙがこの環境だと得られるかが推測することが可能になる。これをもって、ｘを適切な値に設定することによって、ｙを所望のものとすることができ、最適なパラメータの調整を行うことが可能になる。
【００９３】
すなわち、図１４に示されるように、Θが異なる環境、例えば、環境の異なる複数の個体において、パラメータの最適化を行う場合、異なる個体ａで学習されたモデルｆΘa(ｘ，ｕa)を、個体ｂの調整時に初期値として適用する。そして、そこから、ｆΘb(ｘ，ｕb)の学習を進めることにより、特に個体間のΘのばらつきが少ない場合には、非常に早く学習を収束できると考えられる。
【００９４】
このように、本発明に係る機械学習器としては、「強化学習」だけでなく、「教師あり学習」、あるいは、「教師なし学習」や「半教師あり学習」等の様々な機械学習の手法を適用することが可能である。
【００９５】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点および欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【００９６】
２，４    機械学習器
３    モータ駆動部
１１    モータ
１２    モータ制御部
２１，４１    状態観測部
２２，４２    学習部
２３    報酬計算部
２４    価値関数更新部
２５，４５    意思決定部
３１    制御用コイル
３２    電磁接触器
３３    リアクトル(三相リアクトル)
３４    ＡＣ／ＤＣ変換部
３５    充電制御部
３６    放電制御部
３７    ＤＣリンク部コンデンサ
３８    ＤＣ／ＡＣ変換部
４３    誤差計算部
４４    誤差モデル更新部
341，342，343，344，345，346    整流用ダイオード
351，361    スイッチ
352    充電抵抗
362    放電抵抗
363    温度検出器
【図１】
0006538573.tif 000004
【図２】
0006538573.tif 000005
【図３】
0006538573.tif 000006
【図４】
0006538573.tif 000007
【図５】
0006538573.tif 000008
【図６】
0006538573.tif 000009
【図７】
0006538573.tif 000010
【図８】
0006538573.tif 000011
【図９】
0006538573.tif 000012
【図１０】
0006538573.tif 000013
【図１１】
0006538573.tif 000014
【図１２】
0006538573.tif 000015
【図１３】
0006538573.tif 000016
【図１４】
0006538573.tif 000017