図面 (/)

技術 モータの電流指令を学習する機械学習器,モータ制御装置および機械学習方法

出願人 ファナック株式会社
発明者 明石広大植松秀俊
出願日 2016年7月21日 (4年7ヶ月経過) 出願番号 2016-143431
公開日 2018年1月25日 (3年0ヶ月経過) 公開番号 2018-014838
状態 特許登録済
技術分野 学習型計算機 電動機の制御一般 交流電動機の制御一般 フィードバック制御一般
主要キーワード 鍛圧機械 価値関数 電流リミット値 ラベル付きデータ 座標制御 PCクラスタ トルク方程式 学習データセット
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2018年1月25日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (9)

課題

それぞれのモータに最適なモータの電流指令を学習することができる機械学習器モータ制御装置および機械学習方法の提供を図る。

解決手段

モータ11の電流指令を学習する機械学習器2であって、前記モータのモータ回転速度またはモータトルク指令と、前記モータのモータトルクモータ電流およびモータ電圧の少なくとも1つと、を含む状態変数観測する状態観測部21と、前記状態観測部により観測された前記状態変数に基づいて、前記モータの電流指令を学習する学習部22と、を備える。

概要

背景

従来、工作機械鍛圧機械射出成形機産業機械,或いは,産業用およびサービス用ロボット等には電動機(モータ)が搭載され、このようなモータを制御するモータ制御装置が利用されている。また、モータ(サーボモータ)としては、例えば、dq三相座標変換を用いて三相交流永久磁石同期モータ(PMSM:Permanent Magnet Synchronous Motor)が幅広く利用されている。

図8は、一般的なモータの特性を説明するための図であり、図8(a)は、モータのトルク回転数の関係を示し、図8(b)は、モータのd軸電流(−Id)とq軸電流(Iq)の関係を示している。図8(a)の特性曲線CL1,CL2,CL3に示されるように、例えば、モータのトルクをそれぞれ異なる大きさtq1,tq2,tq3に設定したとき、安定領域Raでは、設定されたトルクtq1,tq2,tq3を維持しつつ回転数が増加する。このとき、モータの−IdおよびIqの関係は、図8(b)における参照符号P1,P2,P3の点に固定される。

また、図8(a)の特性曲線CL1,CL2,CL3に示されるように、モータの回転数を、安定領域Raからさらに増加して領域Rbにすると、モータのトルクは、それぞれtq1,tq2,tq3から低減することになる。このとき、モータの−IdおよびIqの関係は、図8(b)における特性曲線CI1,CI2,CI3のように変化する。そのため、モータ(サーボモータ)は、その特性に合わせて電流制御パラメータを決定するが、多くの工数がかかり、また、モータインダクタンスの回転数や電流値による変化、或いは、磁気飽和などの影響により、最適なパラメータを決定することは難しい。

ところで、従来、同期電動機(同期モータ)の温度,トルクおよび電圧を決める要因が変化しても、適切なd軸電流の動作指令を得ることで、敏速にトルク応答ができる同期電動機の制御装置が提案されている(例えば、特許文献1参照)。この同期電動機の制御装置は、弱め磁束制御による高回転化を図るための、速度及び電圧に対するd軸電流指令値1を出力する弱め磁束制御部と、最大トルクを発生させるためのq軸電流指令値に対するd軸電流指令値2を出力する最大トルク制御部を備える。そして、d軸電流指令値1と2を合成して最終的なd軸電流制御部のd軸電流指令値とし、弱め磁束制御部の入力信号出力信号の少なくとも一方を補正する弱め磁束補正部と、最大トルク制御部の入力信号を補正するトルク補正部を設けるようになっている。

概要

それぞれのモータに最適なモータの電流指令を学習することができる機械学習器,モータ制御装置および機械学習方法の提供をる。モータ11の電流指令を学習する機械学習器2であって、前記モータのモータ回転速度またはモータトルク指令と、前記モータのモータトルクモータ電流およびモータ電圧の少なくとも1つと、を含む状態変数観測する状態観測部21と、前記状態観測部により観測された前記状態変数に基づいて、前記モータの電流指令を学習する学習部22と、を備える。

目的

ここで、教師データとしては、例えば、同一のモータ制御装置により同じ産業機械やロボット等により同じ作業を行わせる場合、実際に作業を行わせる所定日の前日までに得られたラベル付きデータを保持し、その所定日に、教師データとして誤差計算部43に提供する

効果

実績

技術文献被引用数
1件
牽制数
2件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

モータ電流指令を学習する機械学習器であって、前記モータのモータ回転速度またはモータトルク指令と、前記モータのモータトルクモータ電流およびモータ電圧の少なくとも1つと、を含む状態変数観測する状態観測部と、前記状態観測部により観測された前記状態変数に基づいて、前記モータの電流指令を学習する学習部と、を備える、ことを特徴とする機械学習器。

請求項2

さらに、前記学習部の出力に基づいて、前記モータの電流指令を決定する意思決定部を備える、ことを特徴とする請求項1に記載の機械学習器。

請求項3

前記モータは、三相交流同期モータであり、前記三相交流同期モータの電流指令は、電気的および磁気的に直交するd軸電流指令およびq軸電流指令を含む、ことを特徴とする請求項1または請求項2に記載の機械学習器。

請求項4

前記d軸電流指令および前記q軸電流指令の学習は、前記三相交流同期モータのロータ位相角として学習する、ことを特徴とする請求項3に記載の機械学習器。

請求項5

前記学習部は、前記状態観測部の出力に基づいて、報酬を計算する報酬計算部と、前記状態観測部の出力および前記報酬計算部の出力に基づいて、前記モータの電流指令に関連する価値関数更新する価値関数更新部と、を備える、ことを特徴とする請求項1乃至請求項4のいずれか1項に記載の機械学習器。

請求項6

前記報酬計算部は、前記モータにおける各モータ回転速度またはモータトルク指令において、前記モータトルクが増加したら、報酬を増やし、前記モータ電流が規定値を超えたら、報酬を減らし、前記モータ電圧が飽和したら、報酬を減らす、ことを特徴とする請求項5に記載の機械学習器。

請求項7

前記学習部は、前記状態観測部の出力および教師データに基づいて、誤差を計算する誤差計算部と、前記状態観測部および前記誤差計算部の出力に基づいて、前記モータの電流指令に関連する誤差モデルを更新する誤差モデル更新部と、を備える、ことを特徴とする請求項1乃至請求項4のいずれか1項に記載の機械学習器。

請求項8

前記機械学習器は、ニューラルネットワークを備える、ことを特徴とする請求項1乃至請求項7のいずれか1項に記載の機械学習器。

請求項9

前記機械学習器により学習された前記モータの電流指令は、通信媒体を介して複数の機械学習器で相互にデータを共有または交換するようになっている、ことを特徴とする請求項1乃至請求項8のいずれか1項に記載の機械学習器。

請求項10

前記機械学習器は、クラウドサーバ上に存在する、ことを特徴とする請求項1乃至請求項8のいずれか1項に記載の機械学習器。

請求項11

請求項1乃至請求項9のいずれか1項に記載の機械学習器と、前記モータを駆動制御するとモータ駆動部と、前記機械学習器により学習された前記モータの電流指令に基づいて、前記モータ駆動部を介して前記モータの電流指令を制御するモータ制御部と、を備える、ことを特徴とするモータ制御装置

請求項12

前記状態観測部は、前記モータの前記モータ回転速度またはモータトルク指令,前記モータ電流および前記モータ電圧を含む状態変数を観測し、前記モータトルクは、観測された前記モータ電流および前記モータ電圧から計算する、ことを特徴とする請求項11に記載のモータ制御装置。

請求項13

モータの電流指令を学習する機械学習方法であって、前記モータのモータ回転速度またはモータトルク指令と、前記モータのモータトルク,モータ電流およびモータ電圧の少なくとも1つと、を含む状態変数を観測し、観測された前記状態変数に基づいて、前記モータの電流指令を学習する、ことを特徴とする機械学習方法。

請求項14

前記モータの電流指令の学習は、観測された前記状態変数に基づいて報酬を計算し、観測された前記状態変数および観測された前記報酬に基づいて、前記モータの電流指令に関連する価値関数を更新する、ことを含む、ことを特徴とする請求項13に記載の機械学習方法。

請求項15

前記報酬の計算は、各モータ回転速度またはモータトルク指令において、前記モータトルクが増加したら、報酬を増やし、前記モータ電流が規定値を超えたら、報酬を減らし、前記モータ電圧が飽和したら、報酬を減らす、ことを特徴とする請求項14に記載の機械学習方法。

技術分野

0001

本発明は、モータ電流指令を学習する機械学習器モータ制御装置および機械学習方法に関する。

背景技術

0002

従来、工作機械鍛圧機械射出成形機産業機械,或いは,産業用およびサービス用ロボット等には電動機(モータ)が搭載され、このようなモータを制御するモータ制御装置が利用されている。また、モータ(サーボモータ)としては、例えば、dq三相座標変換を用いて三相交流永久磁石同期モータ(PMSM:Permanent Magnet Synchronous Motor)が幅広く利用されている。

0003

図8は、一般的なモータの特性を説明するための図であり、図8(a)は、モータのトルク回転数の関係を示し、図8(b)は、モータのd軸電流(−Id)とq軸電流(Iq)の関係を示している。図8(a)の特性曲線CL1,CL2,CL3に示されるように、例えば、モータのトルクをそれぞれ異なる大きさtq1,tq2,tq3に設定したとき、安定領域Raでは、設定されたトルクtq1,tq2,tq3を維持しつつ回転数が増加する。このとき、モータの−IdおよびIqの関係は、図8(b)における参照符号P1,P2,P3の点に固定される。

0004

また、図8(a)の特性曲線CL1,CL2,CL3に示されるように、モータの回転数を、安定領域Raからさらに増加して領域Rbにすると、モータのトルクは、それぞれtq1,tq2,tq3から低減することになる。このとき、モータの−IdおよびIqの関係は、図8(b)における特性曲線CI1,CI2,CI3のように変化する。そのため、モータ(サーボモータ)は、その特性に合わせて電流制御パラメータを決定するが、多くの工数がかかり、また、モータインダクタンスの回転数や電流値による変化、或いは、磁気飽和などの影響により、最適なパラメータを決定することは難しい。

0005

ところで、従来、同期電動機(同期モータ)の温度,トルクおよび電圧を決める要因が変化しても、適切なd軸電流の動作指令を得ることで、敏速にトルク応答ができる同期電動機の制御装置が提案されている(例えば、特許文献1参照)。この同期電動機の制御装置は、弱め磁束制御による高回転化を図るための、速度及び電圧に対するd軸電流指令値1を出力する弱め磁束制御部と、最大トルクを発生させるためのq軸電流指令値に対するd軸電流指令値2を出力する最大トルク制御部を備える。そして、d軸電流指令値1と2を合成して最終的なd軸電流制御部のd軸電流指令値とし、弱め磁束制御部の入力信号出力信号の少なくとも一方を補正する弱め磁束補正部と、最大トルク制御部の入力信号を補正するトルク補正部を設けるようになっている。

先行技術

0006

特開2015−089236号公報

発明が解決しようとする課題

0007

従来、モータの温度,トルクおよび電圧を決める要因が変化しても、適切なモータの電流指令を得ることで、敏速にトルク応答が可能なモータ制御装置が提案されている。

0008

しかしながら、前述したように、モータの特性に合わせて電流制御パラメータを決定するには、多くの工数がかかり、例えば、モータのインダクタンスは、モータの回転数や電流値による変化や磁気飽和などの影響により、最適なパラメータを決定するのは難しいものとなっている。

0009

本発明の目的は、上述した従来技術の課題に鑑み、それぞれのモータに最適なモータの電流指令を学習することができる機械学習器,モータ制御装置および機械学習方法の提供にある。

課題を解決するための手段

0010

本発明に係る第1実施形態によれば、モータの電流指令を学習する機械学習器であって、前記モータのモータ回転速度またはモータトルク指令と、前記モータのモータトルクモータ電流およびモータ電圧の少なくとも1つと、を含む状態変数観測する状態観測部と、前記状態観測部により観測された前記状態変数に基づいて、前記モータの電流指令を学習する学習部と、を備える機械学習器が提供される。

0011

前記機械学習器は、さらに、前記学習部の出力に基づいて、前記モータの電流指令を決定する意思決定部を備えてもよい。前記モータは、三相交流同期モータであり、前記三相交流同期モータの電流指令は、電気的および磁気的に直交するd軸電流指令およびq軸電流指令を含むこともできる。前記d軸電流指令および前記q軸電流指令の学習は、前記三相交流同期モータのロータ位相角として学習するようにしてもよい。

0012

前記学習部は、前記状態観測部の出力に基づいて、報酬を計算する報酬計算部と、前記状態観測部の出力および前記報酬計算部の出力に基づいて、前記モータの電流指令に関連する価値関数更新する価値関数更新部と、を備えることができる。前記報酬計算部は、前記モータにおける各モータ回転速度またはモータトルク指令において、前記モータトルクが増加したら、報酬を増やし、前記モータ電流が規定値を超えたら、報酬を減らし、前記モータ電圧が飽和したら、報酬を減らすことができる。

0013

前記学習部は、前記状態観測部の出力および教師データに基づいて、誤差を計算する誤差計算部と、前記状態観測部および前記誤差計算部の出力に基づいて、前記モータの電流指令に関連する誤差モデルを更新する誤差モデル更新部と、を備えてもよい。前記機械学習器は、ニューラルネットワークを備えることができる。前記機械学習器により学習された前記モータの電流指令は、通信媒体を介して複数の機械学習器で相互にデータを共有または交換するようにしてもよい。前記機械学習器は、クラウドサーバ上に存在することできる。

0014

本発明に係る第2実施形態によれば、上述した第1実施形態の機械学習器と、前記モータを駆動制御するとモータ駆動部と、前記機械学習器により学習された前記モータの電流指令に基づいて、前記モータ駆動部を介して前記モータの電流指令を制御するモータ制御部と、を備えるモータ制御装置が提供される。前記状態観測部は、前記モータの前記モータ回転速度またはモータトルク指令,前記モータ電流および前記モータ電圧を含む状態変数を観測し、前記モータトルクは、観測された前記モータ電流および前記モータ電圧から計算することができる。

0015

本発明に係る第3実施形態によれば、モータの電流指令を学習する機械学習方法であって、前記モータのモータ回転速度またはモータトルク指令と、前記モータのモータトルク,モータ電流およびモータ電圧の少なくとも1つと、を含む状態変数を観測し、観測された前記状態変数に基づいて、前記モータの電流指令を学習する機械学習方法が提供される。前記モータの電流指令の学習は、観測された前記状態変数に基づいて報酬を計算し、観測された前記状態変数および観測された前記報酬に基づいて、前記モータの電流指令に関連する価値関数を更新する、ことを含んでもよい。前記報酬の計算は、各モータ回転速度またはモータトルク指令において、前記モータトルクが増加したら、報酬を増やし、前記モータ電流が規定値を超えたら、報酬を減らし、前記モータ電圧が飽和したら、報酬を減らすことができる。

発明の効果

0016

本発明に係る機械学習器,モータ制御装置および機械学習方法によれば、それぞれのモータに最適なモータの電流指令を学習することができるという効果を奏する。

図面の簡単な説明

0017

図1は、本発明に係るモータ制御装置の一実施形態を概略的に示すブロック図である。
図2は、dq三相座標変換を用いて三相交流のモータを制御するモータ制御装置の一例を示すブロック図である。
図3は、ニューロンモデルを模式的に示す図である。
図4は、図3に示すニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図である。
図5は、本発明に係るモータ制御装置におけるモータの電流制御を説明するための図である。
図6は、図1に示す機械学習器における処理の一例を説明するためのフローチャートである。
図7は、本発明に係るモータ制御装置の他の実施形態を概略的に示すブロック図である。
図8は、一般的なモータの特性を説明するための図である。

実施例

0018

以下、本発明に係る機械学習器,機械学習器,モータ制御装置および機械学習方法の実施形態を、添付図面を参照して詳述する。図1は、本発明に係るモータ制御装置の一実施形態を概略的に示すブロック図である。

0019

図1に示されるように、本実施形態のモータ制御装置は、モータ11を制御するためのものであり、モータ制御部12,モータ駆動部3および機械学習器2を含む。ここで、モータ11としては、工作機械,鍛圧機械,射出成形機,産業機械,或いは,産業用およびサービス用ロボット等に用いられるモータ(電動機)である。なお、モータ制御部12,モータ駆動部3および機械学習器2は、モータ制御装置として一体化することができるが、それぞれ別々に設けてもよい。

0020

図1に示されるように、機械学習器2は、例えば、モータ制御部12に設定されるモータの電流指令を学習するものであり、状態観測部21、学習部22、および、意思決定部25を含む。モータ制御部12は、モータ駆動部3を介してモータ11を制御する。

0021

状態観測部21は、モータ11(モータ駆動部3)の状態を観測し、学習部22は、状態観測部21により観測された状態変数(状態量)に基づいて、モータ11の電流指令を学習する。ここで、状態観測部21が観測する状態変数としては、例えば、モータ11のモータ回転速度(または、モータトルク指令)と、モータ11のモータトルク,モータ電流およびモータ電圧の少なくとも1つと、を含む。

0022

ここで、状態観測部21が観測するモータ11のモータ回転速度(または、モータトルク指令),モータ11のモータトルク,モータ電流およびモータ電圧等の状態変数は、例えば、モータ制御部12,モータ駆動部3またはモータ11に設けたセンサ(図示しない)等から状態観測部21に入力される。さらに、モータ11は、例えば、PMSM(dq三相座標変換を用いて三相交流の永久磁石同期モータ)といった三相交流同期モータを適用することができ、また、学習部22により学習されるモータ11の電流指令は、例えば、電気的および磁気的に直交するd軸電流指令id*およびq軸電流指令iq*を含んでもよい。

0023

学習部22は、状態観測部21の出力に基づいて報酬を計算する報酬計算部23と、状態観測部21の出力および報酬計算部23の出力に基づいて、モータ11の電流指令に関連する価値関数を更新する価値関数更新部24を含む。すなわち、報酬計算部23は、状態観測部21により観測された状態変数に基づいて報酬を計算し、価値関数更新部24は、報酬計算部23により計算された報酬に基づいて、現在の状態変数から求めたモータ11の電流指令の価値関数を更新する。

0024

報酬計算部23は、例えば、モータ11における各モータ回転速度(または、モータトルク指令)において、モータトルクが増加したら報酬を増やし、モータ電流が規定値を超えたら報酬を減らし、モータ電圧が飽和したら報酬を減らすといった報酬の計算を行う。なお、報酬計算部23による報酬の計算(報酬を増やす(プラス報酬の設定),または,報酬を減らす(マイナス報酬の設定))に関しては、後に詳述する。意思決定部25は、学習部22の出力に基づいて、モータ11の電流指令を決定する。すなわち、意思決定部25は、学習部22が学習したモータ11の電流指令(操作量)を決定してモータ制御部12に出力し、モータ制御部12は、機械学習器2により学習されたモータ11の電流指令に基づいて、モータ駆動部3を介してモータ11の電流指令を制御する。

0025

図2は、dq三相座標変換を用いて三相交流のモータを制御するモータ制御装置の一例を示すブロック図であり、PMSMを制御するモータ制御装置の一例を説明するためのものである。ここで、dq座標制御系において、例えば、ロータ磁極の方向をd軸に設定し、d軸と電気的および磁気的に直交する軸をq軸に設定すると、d軸電流は磁束を発生させるのに使われる励磁電流成分を表し、q軸電流は負荷のトルクに対応した電機子電流成分を表す。

0026

図2において、参照符号iq*はq軸のモータ電流指令(q軸電流指令)、id*はd軸のモータ電流指令(d軸電流指令)、Vqはq軸のモータ電圧(q軸モータ電圧)、Vdはd軸のモータ電圧(d軸モータ電圧)、Lqはq軸のインダクタンス(q軸インダクタンス)、そして、Ldはd軸のインダクタンス(d軸インダクタンス)を示す。さらに、参照符号Ψaはロータ鎖交磁束、Ktはトルク係数、Tはモータトルク、Jは慣性モーメント、ωドットは角加速度、ωは角速度、そして、ω[rad/sec]×(60/2π)はモータ回転速度[min-1]を示す。

0027

モータ制御装置100は、入力されたd軸電流指令id*およびq軸電流指令iq*に基づいてモータ(11)を駆動するための駆動電力を出力する。これにより、モータには、d軸電圧Vdおよびq軸電圧Vqが印加され、d軸電流idおよびq軸電流iqが流れる。このとき、モータのd軸電圧Vd、モータのq軸電圧Vq、モータのd軸電流idおよびモータのq軸電流iqの間で、次の式[1]で表される電圧方程式が成り立っている。

0028

また、d軸電流idとq軸電流iqのベクトル和であるモータ電流iaは、次の式[2]で計算される。

0029

さらに、モータのトルクTは、モータの極対数をPnとしたとき、次の式[3]で表されるトルク方程式で計算できる。

0030

ここで、従来の技術では、例えば、モータ(11)のロータ鎖交磁束Ψa、q軸インダクタンスLqおよびd軸インダクタンスLdを調べ、モータ回転速度とモータトルクの指令(モータトルク指令)から、角速度ωとq軸電流iqを算出し、限られた電圧と電流の制限の中でトルクを最大化するidをωとiqの関数として算出する。なお、その算出式に用いるパラメータは、事前に準備しておく。具体的に、例えば、次の式[4]が知られている。

0031

本実施形態では、モータ回転速度から角速度ωを決定し、モータトルク指令に比例する値として合計のモータ電流iaを算出し、iaがiqとidのベクトル和であることからiaから分割して生成するiqとidを学習対象変数としてモータに入力し、モータ電流(iq,id)およびモータ電圧(Vq,Vd)を測定する。

0032

そして、以下のように各モータ回転速度と各モータトルク指令において、入力したiqとidの報酬を決定し、その報酬に応じてモータ電流iqとidの指令値を変更する。
・iqとidの変化に対して、モータトルクが大きいほどプラス
・iqとidの変化に対して、モータ電圧が電圧制限を超えたらマイナス

0033

ここで、各モータ回転速度とは、0〜1min-1, 1〜2min-2のように分割した区間を示し、各モータトルクとは、0〜1Nm,1〜2Nmのように分割した区間を示す。また、iqとidの学習は、iq=iacosΦ,id=iasinΦとして、Φについて学習してもよい。すなわち、三相交流同期モータ(PMSM)11の電流指令は、電気的および磁気的に直交するd軸電流指令id*およびq軸電流指令iq*を含み、id*およびiq*の学習は、三相交流同期モータ11のロータ位相角Φとして学習することができる。

0034

ところで、機械学習器2(4)は、装置に入力されるデータの集合から、その中にある有用な規則知識表現判断基準等を解析により抽出し、その判断結果を出力するとともに、知識の学習(機械学習)を行う機能を有する。機械学習の手法は様々であるが、大別すれば、例えば、「教師あり学習」、「教師なし学習」および「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習(ディープラーニング:Deep Learning)」と呼ばれる手法がある。

0035

なお、図1を参照して説明した機械学習器2は、「強化学習」を適用したものであり、また、図7を参照して後述する機械学習器4は、「教師あり学習」を適用したものである。これらの機械学習器(機械学習装置)2,4は、汎用計算機若しくはプロセッサを用いることもできるが、例えば、GPGPU(General-Purpose computing on Graphics Processing Units)や大規模PCクラスター等を適用すると、より高速処理が可能になる。

0036

まず、教師あり学習とは、教師データ、すなわち、ある入力と結果(ラベル)のデータの組を大量に機械学習器(4)に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル(誤差モデル)、すなわち、その関係性帰納的に獲得するものである。例えば、後述のニューラルネットワーク等のアルゴリズムを用いて実現することが可能である。

0037

また、教師なし学習とは、入力データのみを大量に学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮分類・整形等を行う装置で学習する手法である。例えば、それらのデータセットにある特徴を、似た者どうしにクラスタリングすること等ができる。この結果を使って、何らかの基準を設けてそれを最適化するような出力の割り当てを行うことにより、出力の予測を実現することできる。

0038

なお、教師なし学習と教師あり学習との中間的な問題設定として、半教師あり学習と呼ばれるものもあり、これは、例えば、一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合が対応する。本実施形態においては、実際にモータを動かさなくても取得することができるデータ(シミュレーションデータ等)を教師なし学習で利用することにより、学習を効率的に行うことが可能になる。

0039

次に、強化学習について、説明する。まず、強化学習の問題設定として、次のように考える。
・モータ(すなわち、工作機械,鍛圧機械,射出成形機,産業機械,或いは,産業用およびサービス用ロボット等に搭載されたモータ)は、環境の状態を観測し、行動を決定する。
・環境は、何らかの規則に従って変化し、さらに、自分の行動が、環境に変化を与えることもある。
・行動するたびに、報酬信号が帰ってくる。
・最大化したいのは、将来にわたっての(割引)報酬の合計である。
・行動が引き起こす結果を全く知らない、または、不完全にしか知らない状態から学習はスタートする。すなわち、モータは、実際に行動して初めて、その結果をデータとして得ることができる。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように、事前学習(前述の教師あり学習や、逆強化学習といった手法)した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。

0040

ここで、強化学習とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用踏まえて適切な行動を学習、すなわち、将来的に得られる報酬を最大にするための学習する方法を学ぶものである。以下に、例として、Q学習の場合で説明を続けるが、Q学習に限定されるものではない。

0041

Q学習は、或る環境状態sの下で、行動aを選択する価値Q(s,a)を学習する方法である。つまり、或る状態sのとき、価値Q(s,a)の最も高い行動aを最適な行動として選択すればよい。しかし、最初は、状態sと行動aとの組合せについて、価値Q(s,a)の正しい値は全く分かっていない。そこで、エージェント(行動主体)は、或る状態sの下で様々な行動aを選択し、その時の行動aに対して、報酬が与えられる。それにより、エージェントは、より良い行動の選択、すなわち、正しい価値Q(s,a)を学習していく。

0042

さらに、行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にQ(s,a)=E[Σ(γt)rt]となるようにすることを目指す。ここで、期待値は、最適な行動に従って状態変化したときについてとるものとし、それは、分かっていないので、探索しながら学習することになる。このような価値Q(s,a)の更新式は、例えば、次の式[5]により表すことができる。

0043

上記の式[5]において、stは、時刻tにおける環境の状態を表し、atは、時刻tにおける行動を表す。行動atにより、状態はst+1に変化する。rt+1は、その状態の変化により得られる報酬を表している。また、maxの付いた項は、状態st+1の下で、その時に分かっている最もQ値の高い行動aを選択した場合のQ値にγを乗じたものになる。ここで、γは、0<γ≦1のパラメータで、割引率と呼ばれる。また、αは、学習係数で、0<α≦1の範囲とする。

0044

上述した式[5]は、試行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)を小さくすることを示している。つまり、或る状態における或る行動の価値を、結果として即時帰ってくる報酬と、その行動による次の状態における最良の行動の価値に近付けるようにしている。

0045

ここで、Q(s,a)の計算機上での表現方法は、すべての状態行動ペア(s,a)に対して、その値をテーブルとして保持しておく方法と、Q(s,a)を近似するような関数を用意する方法がある。後者の方法では、前述の式[5]は、確率勾配降下法等の手法で近似関数のパラメータを調整していくことにより、実現することができる。なお、近似関数としては、後述のニューラルネットワークを用いることができる。

0046

ここで、強化学習での価値関数の近似アルゴリズムとして、ニューラルネットワークを用いることができる。図3は、ニューロンのモデルを模式的に示す図であり、図4は、図3に示すニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図である。すなわち、ニューラルネットワークは、例えば、図3に示すようなニューロンのモデルを模した演算装置およびメモリ等で構成される。

0047

図3に示されるように、ニューロンは、複数の入力x(図3では、一例として入力x1〜x3)に対する出力(結果)yを出力するものである。各入力x(x1,x2,x3)には、この入力xに対応する重みw(w1,w2,w3)が乗算される。これにより、ニューロンは、次の式[6]により表現される結果yを出力する。なお、入力x、結果yおよび重みwは、すべてベクトルである。また、下記の式[6]において、θは、バイアスであり、fkは、活性化関数である。

0048

図4を参照して、図3に示すニューロンを組み合わせて構成した三層のニューラルネットワークを説明する。図4に示されるように、ニューラルネットワークの左側から複数の入力x(ここでは、一例として、入力x1〜入力x3)が入力され、右側から結果y(ここでは、一例として、結果y1〜入力y3)が出力される。具体的に、入力x1,x2, x3は、3つのニューロンN11〜N13の各々に対して、対応する重みが掛けられて入力される。これらの入力に掛けられる重みは、まとめてW1と標記されている。

0049

ニューロンN11〜N13は、それぞれ、z11〜z13を出力する。図4において、これらz11〜z13は、まとめて特徴ベクトルZ1と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルZ1は、重みW1と重みW2との間の特徴ベクトルである。z11〜z13は、2つのニューロンN21およびN22の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてW2と標記されている。

0050

ニューロンN21,N22は、それぞれz21,z22を出力する。図4において、これらz21,z22は、まとめて特徴ベクトルZ2と標記されている。この特徴ベクトルZ2は、重みW2と重みW3との間の特徴ベクトルである。z21,z22は、3つのニューロンN31〜N33の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてW3と標記されている。

0051

最後に、ニューロンN31〜N33は、それぞれ、結果y1〜結果y3を出力する。ニューラルネットワークの動作には、学習モードと価値予測モードとがある。例えば、学習モードにおいて、学習データセットを用いて重みWを学習し、そのパラメータを用いて予測モードにおいて、ロボット行動判断を行う。なお、便宜上、予測と書いたが、検出・分類・推論等多様なタスクが可能なのはいうまでもない。

0052

ここで、予測モードで実際にロボットを動かして得られたデータを即時学習し、次の行動に反映させる(オンライン学習)ことも、予め収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う(バッチ学習)こともできる。或いは、その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。

0053

また、重みw1〜w3は、誤差逆伝搬法(誤差逆転伝播法:バックプロパゲーション:Backpropagation)により学習可能なものである。なお、誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力xが入力されたときの出力yと真の出力y(教師)との差分を小さくするように、それぞれの重みを調整(学習)する手法である。このようなニューラルネットワークは、三層以上に、さらに層を増やすことも可能である(深層学習と称される)。また、入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することも可能である。

0054

そこで、前述したように、本実施例の機械学習器2は、例えば、Q学習を実施すべく、状態観測部21、学習部22、および、意思決定部25を備えている。ただし、本発明に適用される機械学習方法は、Q学習に限定されないのは前述した通りである。なお、機械学習(機械学習器2)は、例えば、GPGPUや大規模PCクラスター等を適用することで実現可能なのは、前述した通りである。

0055

図5は、本発明に係るモータ制御装置におけるモータの電流制御を説明するための図であり、図5(a)は、状態変数(モータトルク,モータ電流およびモータ電圧)と報酬の関係を説明するためのものであり、図5(b)は、得られた報酬RWの一例を示すものである。

0056

図5(a)に示されるように、モータトルクL1に関して、増加すればプラスの報酬が設定され(報酬を増やす)、減少すればマイナスの報酬が設定される(報酬を減らす)。また、モータ電流L2に関して、電流リミット値(規定値)Ilimを超えればマイナスの報酬が設定され、超えなければプラスの報酬が設定される。さらに、モータ電圧L3に関して、電圧飽和値(規定値)Vsatを超えればマイナスの報酬が設定され、超えなければプラスの報酬が設定される。これら状態変数による報酬をまとめると図5(b)のような報酬(報酬曲線)RWが得られることになる。

0057

図6は、図1に示す機械学習器における処理の一例を説明するためのフローチャートである。図6に示されるように、機械学習が開始(学習スタート)すると、ステップST1において、モータの回転速度(モータトルク指令)を取得し、ステップST2に進んで、モータ11を駆動する。ここで、ステップST1におけるモータの回転速度の取得は、例えば、モータ制御部12から直接受け取ることができる。さらに、ステップST3に進んで、モータトルク(L1)が増加したかどうかを判定する。

0058

ステップST3において、モータトルクが増加していない(ST3:NO)と判定すると、ステップST4に進んで報酬を減らし(マイナス報酬を設定し)、逆に、モータトルクが増加した(ST3:YES)と判定すると、ステップST5に進んで報酬を増やし(プラス報酬を設定し)、ステップST6に進む。ステップST6では、モータ電流(L2)が規定値(電流リミット値Ilim)を超えたかどうかを判定する。

0059

ステップST6において、モータ電流が規定値を超えた(ST6:YES)と判定すると、ステップST7に進んで報酬を減らし、逆に、モータ電流が規定値を超えていない(ST6:NO)と判定すると、ステップST8に進んで報酬を増やし、ステップST9に進む。ステップST9では、モータ電圧(L3)が飽和したかどうか、すなわち、モータ電圧が飽和電圧(Vsat)を超えたかどうかを判定する。

0060

ステップST9において、モータ電圧が飽和した、すなわち、モータ電圧が飽和電圧を超えた(ST9:YES)と判定すると、ステップST10に進んで報酬を減らし、逆に、モータ電圧が飽和していない、すなわち、モータ電圧が飽和電圧を超えていない(ST9:NO)と判定すると、ステップST11に進んで報酬を増やし、ステップST12に進む。ステップST12では、それぞれのステップST4,ST5,ST7,ST8.ST10およびST11による報酬に基づいて行動価値テーブルを更新し、ステップST13に進む。ステップST13では、更新された行動価値テーブルに基づいて、モータの電流指令を決定し、ステップST2に戻り、同様の処理を繰り返す。

0061

ここで、ステップST4,ST5,ST7,ST8.ST10およびST11(ST3〜ST11)は、例えば、前述した状態観測部21の出力に基づいて報酬を計算する報酬計算部23の処理に相当する。また、ステップST12は、前述した状態観測部21の出力および報酬計算部23の出力に基づいてモータ11の電流指令に関連する価値関数を更新する価値関数更新部24の処理に相当する。さらに、ステップST13は、前述した価値関数更新部24(学習部22)の出力に基づいてモータ11の電流指令を決定する意思決定部25の処理に相当する。

0062

なお、図6では、状態観測部21が、モータトルク,モータ電流およびモータ電圧の全てを含む状態変数を観測する場合を示しているが、これらの少なくとも1つを含む状態変数を観測してもよい。すなわち、本実施形態によれば、状態観測部21は、モータ11のモータ回転速度またはモータトルク指令と、モータトルク,モータ電流およびモータ電圧の少なくとも1つを含む状態変数を観測し、報酬計算部23は、状態観測部21の出力に基づいて報酬を計算し、価値関数更新部24は、状態観測部21の出力および報酬計算部23の出力に基づいて、モータ11の電流指令に関連する価値関数を更新する。そして、意思決定部25は、価値関数更新部24の出力に基づいて、モータ11の電流指令を決定する。これにより、それぞれのモータ(モータ回転速度,モータトルク指令)に最適なモータの電流指令を学習することが可能になる。

0063

以上において、例えば、モータトルク指令(モータのトルク指令)に対して、合計電流が最小となる電流制御(モータの電流指令)を学習させることもできる。この場合、制御ループ計算式および分割方法は、上述したのと同じものを適用することができる。また、モータ回転速度から角速度ωを決定し、モータトルク指令に比例する値として、例えば、モータ電流iqを決定する。すなわち、前述した式[2]のように、モータ電流iaは、d軸電流idとq軸電流iqのベクトル和であることを考慮し、学習対象とするidを変数としてモータに入力し、モータ電流(Iq,Id)およびモータ電圧(Vq,Vd)を測定することができる。

0064

そして、各モータ回転速度と各モータトルク指令において、モータに入力するidの報酬を決定し、その報酬に応じてモータ電流(d軸電流)idの指令値を変更(更新)する。具体的に、例えば、idを減らしても指令通りのトルクが発生していて、且つ、電圧が電圧制限(Vsat)を越えなければプラス報酬を設定し、どちらか一方でも達成できなければマイナス報酬を設定する。

0065

さらに、モータトルクを実際にモータに流れる電流(モータ実電流)から計算し、制御することも可能である。すなわち、モータ回転速度,モータ実電流(Iq,Id),実際にモータに印加するモータ実電圧(Vq,Vd)を測定し、モータトルクの測定は行わずに、モータトルクがq軸電流Iqに比例すると仮定して、モータトルクを計算で求めることも可能である。なお、計算で求めたモータトルクを使用して、前述した最大トルク制御および合計電流最小制御を行うこともできる。

0066

図7は、本発明に係るモータ制御装置の他の実施形態を概略的に示すブロック図であり、教師あり学習を適用したものを示す。図7と、前述した図1の比較から明らかなように、図7に示す教師あり学習を適用したモータ制御装置は、図1に示すQ学習(強化学習)を適用したモータ制御装置において、教師データ(結果(ラベル)付きデータ)が提供されるようになっている。

0067

図7に示されるように、教師あり学習を適用したモータ制御装置における機械学習器4は、状態観測部41と、学習部42と、意思決定部45と、を備える。学習部42は、誤差計算部43と、誤差モデル更新部44と、を含む。なお、本実施形態の機械学習器4においても、状態観測部41は、モータ11のモータ回転速度またはモータトルク指令と、モータ11のモータトルク,モータ電流およびモータ電圧の少なくとも1つと、を含む状態変数を観測し、学習部42は、状態観測部41により観測された状態変数に基づいて、モータ11の電流指令を学習する。

0068

図7に示されるように、学習部42は、誤差計算部43および誤差モデル更新部44を含み、誤差計算部43および誤差モデル更新部44は、それぞれ、図1に示すQ学習を適用したモータ制御装置における報酬計算部23および価値関数更新部24に相当する。ただし、本実施形態における誤差計算部43には、外部から教師データが入力され、その教師データと誤差モデルの差が小さくなるように、誤差モデル更新部44により誤差モデルが更新される構成等において、図1を参照して説明したものとは異なる。

0069

すなわち、誤差計算部43は、状態観測部41の出力および教師データを受け取って、結果(ラベル)付きデータと学習部42に実装されている誤差モデルの出力との誤差を計算する。ここで、教師データとしては、例えば、同一のモータ制御装置により同じ産業機械やロボット等により同じ作業を行わせる場合、実際に作業を行わせる所定日の前日までに得られたラベル付きデータを保持し、その所定日に、教師データとして誤差計算部43に提供することができる。

0070

或いは、モータ制御装置(産業機械やロボット等)の外部で行われたシミュレーション等により得られたデータ、または、他のモータ制御装置のラベル付きデータを、メモリカード通信回線により、そのモータ制御装置の誤差計算部43に教師データとして提供することも可能である。さらに、教師データ(ラベル付きデータ)を、例えば、学習部42に内蔵したフラッシュメモリ(Flash Memory)等の不揮発性メモリに保持し、その不揮発性メモリに保持されたラベル付きデータを、そのまま学習部42で使用することもできる。

0071

以上において、モータ制御装置を複数備えるモータ制御システムを考えた場合、例えば、機械学習器2(4)は、モータ制御装置毎にそれぞれ設けられ、複数のモータ制御装置に設けられた複数の機械学習器2(4)は、通信媒体を介して相互にデータを共有または交換することができる。また、機械学習器2(4)は、クラウドサーバ上に存在させることも可能である。

0072

このように、本発明に係る機械学習器としては、「強化学習」だけでなく、「教師あり学習」、或いは、「教師なし学習」や「半教師あり学習」等の様々な機械学習の手法を適用することも可能である。

0073

以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点および欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。

0074

2,4機械学習器
3モータ駆動部
11モータ
12モータ制御部
21,41 状態観測部
22,42 学習部
23報酬計算部
24価値関数更新部
25,45意思決定部
43誤差計算部
44誤差モデル更新部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ