(57)【要約】  モータ状態信号を出力するモータ状態観測部（１）と、モータ状態信号および対象機械（１０）の物理モデルパラメータに基づき、第一の推定トルクと物理状態変数とを出力する第一のトルク推定部（２１）と、実トルクと第一の推定トルクとの差分を低減するよう物理モデルパラメータを学習し記憶する物理モデル記憶部（２２）と、第一の推定トルク、物理状態変数、およびモータ状態信号のうち少なくとも一つから特徴量を生成する特徴量生成部（３）と、入出力関係に自己回帰項を含む機械学習を用いて特徴量および機械学習モデルパラメータから機械学習補正量を算出し、第一の推定トルクに加算して第二の推定トルクを出力する第二のトルク推定部（４１）と、機械学習補正量が実トルクと第一の推定トルクとの差分に近づくように機械学習モデルパラメータを教師あり学習により学習し記憶する機械学習モデル記憶部（４２）と、を備える。
2020213062.tif 000002
【特許請求の範囲】
【請求項１】
対象機械を駆動するモータを制御するモータ制御装置であって、
前記モータの状態を観測し観測結果をモータ状態信号として出力するモータ状態観測部と、
前記モータ状態信号および前記対象機械の物理モデルパラメータに基づき、運動方程式を用いて前記モータのトルクの推定値である第一の推定トルクと前記第一の推定トルクの成分である物理状態変数とを出力する第一のトルク推定部と、
前記モータ状態信号に含まれる実トルクと前記第一の推定トルクとの差分を低減するよう前記物理モデルパラメータを学習し記憶する物理モデル記憶部と、
前記第一の推定トルク、前記物理状態変数、および前記モータ状態信号のうち少なくとも一つから特徴量を生成し出力する特徴量生成部と、
入出力関係に自己回帰項を含む機械学習を用いて前記特徴量および機械学習モデルパラメータから機械学習補正量を算出し、算出した前記機械学習補正量を前記第一の推定トルクに加算して第二の推定トルクを出力する第二のトルク推定部と、
前記機械学習補正量が前記実トルクと前記第一の推定トルクとの差分に近づくように前記機械学習モデルパラメータを教師あり学習により学習し、学習した前記機械学習モデルパラメータを記憶する機械学習モデル記憶部と、
を備えることを特徴とするモータ制御装置。
【請求項２】
前記第二のトルク推定部は、入出力関係に自己回帰項を含む機械学習としてニューラルネットワークを用いた機械学習を用い、
前記機械学習モデル記憶部は、前記機械学習モデルパラメータの学習時に用いる教師あり学習手法として誤差逆伝搬法を用いる、
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記第二のトルク推定部は、前記機械学習補正量を算出するのに用いる入出力関係に自己回帰項を含む機械学習において、自己回帰項として前記実トルクと前記第一の推定トルクとの差分を用いる、
ことを特徴とする請求項２に記載のモータ制御装置。
【請求項４】
前記特徴量生成部は、前記第一の推定トルク、前記物理状態変数、および前記モータ状態信号を格納可能な記憶装置を備え、前記記憶装置に格納されている前記第一の推定トルク、前記物理状態変数、および前記モータ状態信号から抽出したものを特徴量として出力する、
ことを特徴とする請求項１から３のいずれか一つに記載のモータ制御装置。
【請求項５】
前記物理モデルパラメータには、前記対象機械のリンク機構における質量、前記対象機械のリンク機構における重心位置、および前記対象機械のリンク機構における慣性テンソルが含まれる、
ことを特徴とする請求項１から４のいずれか一つに記載のモータ制御装置。
【請求項６】
前記第一のトルク推定部は、前記モータ状態信号により求まる前記モータの速度を入力としてトルクの摩擦成分の推定値を出力する連続かつ滑らかな摩擦モデルを含む運動方程式を用いる、
ことを特徴とする請求項１から５のいずれか一つに記載のモータ制御装置。
【請求項７】
前記物理モデル記憶部は、前記摩擦モデルの係数を前記物理モデルパラメータとして学習し記憶する、
ことを特徴とする請求項６に記載のモータ制御装置。
【請求項８】
前記物理状態変数に、前記摩擦モデルが含まれる、
ことを特徴とする請求項７に記載のモータ制御装置。
【請求項９】
前記物理モデル記憶部は、前記物理モデルパラメータの学習において、前記摩擦モデルの係数および他の前記物理モデルパラメータを交互に推定する、
ことを特徴とする請求項８に記載のモータ制御装置。
【請求項１０】
前記物理モデル記憶部は、前記物理モデルパラメータの学習において、最小二乗法、正則化最小二乗法、非線形最小二乗法、またはカルマンフィルタを用いる、
ことを特徴とする請求項９に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象を模したモデルを生成するモータ制御装置に関する。
【背景技術】
【０００２】
ロボット、工作機械などをはじめとした制御対象の機械を制御するモータ制御装置に対して、高速かつ高精度な制御手法および故障検知手法が求められている。これらの性能向上には、制御対象を正確に模したモデルが必要不可欠である。しかしながら、実際のモータ制御装置の動作においては、制御対象における配線、エンドエフェクタなどの取り付けによる質量、重心位置、慣性テンソルといった物理モデルパラメータの誤差が無視できず、また、振動、摩擦などモータ速度に対して非線形な成分も多く含まれる。そのため、予めこれらを高精度に再現可能なモデルを与えることは困難であった。【０００３】
近年、このようなモデルにおける力およびトルクの推定誤差を抑制するための制御方式が提案されている。例えば、特許文献１には、電動機の制御装置が、Ｍ系列または正弦波状の指令を取得し、トルク推定誤差が最小となるように、慣性テンソル、摩擦係数、およびばね定数をサンプリング周期毎に修正することにより、物理モデルパラメータの初期値に含まれる誤差を動作中に修正する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１２８３８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術では、電動機の制御装置の運動が、慣性テンソル、摩擦、およびばねからのトルクでモデル化できると仮定されており、モデルとして考慮されていない外乱が表現できない、という問題があった。また、摩擦のモデルについても簡略化されているため、ストライベック効果、ヒステリシスなどといった非線形性の強い複雑な現象に対する表現能力を持たない、という問題があった。【０００６】
本発明は、上記に鑑みてなされたものであって、トルク推定精度および汎化性能を向上したモデルを学習し、異常を検知する速度および精度を向上可能なモータ制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、対象機械を駆動するモータを制御するモータ制御装置である。モータ制御装置は、モータの状態を観測し観測結果をモータ状態信号として出力するモータ状態観測部と、モータ状態信号および対象機械の物理モデルパラメータに基づき、運動方程式を用いてモータのトルクの推定値である第一の推定トルクと第一の推定トルクの成分である物理状態変数とを出力する第一のトルク推定部と、モータ状態信号に含まれる実トルクと第一の推定トルクとの差分を低減するよう物理モデルパラメータを学習し記憶する物理モデル記憶部と、第一の推定トルク、物理状態変数、およびモータ状態信号のうち少なくとも一つから特徴量を生成し出力する特徴量生成部と、を備える。また、モータ制御装置は、入出力関係に自己回帰項を含む機械学習を用いて特徴量および機械学習モデルパラメータから機械学習補正量を算出し、算出した機械学習補正量を第一の推定トルクに加算して第二の推定トルクを出力する第二のトルク推定部と、機械学習補正量が実トルクと第一の推定トルクとの差分に近づくように機械学習モデルパラメータを教師あり学習により学習し、学習した機械学習モデルパラメータを記憶する機械学習モデル記憶部と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、モータ制御装置は、トルク推定精度および汎化性能を向上したモデルを学習し、異常を検知する速度および精度を向上できる、という効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】モータ制御装置の構成例を示すブロック図
【図２】モータ制御装置が制御対象とする対象機械を示す模式図
【図３】物理モデル記憶部で推定される物理モデルパラメータである非線形摩擦モデルの例を示す図
【図４】特徴量生成部および機械学習モデル計算部の構成例を示すブロック図
【図５】特徴量生成部および機械学習モデル計算部の構成において自己回帰項を示す図
【図６】モータ制御装置における物理モデルパラメータおよび機械学習モデルパラメータの学習の流れを示すフローチャート
【図７】モータ制御装置の制御対象の対象機械の動作を表すモータ速度、モータ制御装置で推定される第一の推定トルク、およびモータ制御装置で推定される第二の推定トルクを示す図
【図８】モータ制御装置が備える処理回路をプロセッサおよびメモリで構成する場合の例を示す図
【図９】モータ制御装置が備える処理回路を専用のハードウェアで構成する場合の例を示す図
【発明を実施するための形態】
【００１０】
以下に、本発明の実施の形態に係るモータ制御装置を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態．
図１は、本発明の実施の形態に係るモータ制御装置１００の構成例を示すブロック図である。モータ制御装置１００は、対象機械１０を駆動するモータを制御する。モータ制御装置１００は、モータ状態観測部１と、物理モデル計算部２と、特徴量生成部３と、機械学習モデル計算部４と、を備える。物理モデル計算部２は、第一のトルク推定部２１と、物理モデル記憶部２２と、を備える。機械学習モデル計算部４は、第二のトルク推定部４１と、機械学習モデル記憶部４２と、を備える。
【００１２】
モータ制御装置１００が制御対象とする対象機械１０について説明する。図２は、本実施の形態に係るモータ制御装置１００が制御対象とする対象機械１０を示す模式図である。ここでは、対象機械１０として、水平多関節ロボットを例にして説明する。対象機械１０である水平多関節ロボットは、第１軸１１ｊと、第２軸１２ｊと、第３軸１３ｊと、第４軸１４ｊと、第１リンク１１ｌと、第２リンク１２ｌと、第３リンク１３ｌと、第４リンク１４ｌと、手先部１５ｅと、から構成されている。モータ制御装置１００は、第１軸１１ｊに搭載されたアクチュエータによって第２リンク１２ｌを駆動し、第２軸１２ｊに搭載されたアクチュエータによって第３リンク１３ｌを駆動し、第３軸１３ｊおよび第４軸１４ｊに搭載されたアクチュエータによって第４リンク１４ｌを駆動することで、水平多関節ロボットの手先部１５ｅの位置および向きを制御することができる。ここで、第３軸１３ｊは第４リンク１４ｌの手先部１５ｅ方向に対する軸回りの回転運動に対応し、第４軸１４ｊは第４リンク１４ｌの手先部１５ｅ方向に対する並進運動に対応している。
【００１３】
本実施の形態では、対象機械１０として水平多関節ロボットを例示したがこれに限定されず、モータ制御装置１００は、モータによって駆動される対象機械１０について広く適用することができる。対象機械１０の例としては、さらに、垂直多関節ロボット、ＮＣ（Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ）工作機械、実装機などを挙げることができる。
【００１４】
モータ状態観測部１は、対象機械１０を駆動するモータの状態を観測し、観測結果をモータ状態信号として出力する。具体的には、モータ状態観測部１は、第１軸１１ｊと、第２軸１２ｊと、第３軸１３ｊと、第４軸１４ｊと、に対応する各アクチュエータの位置、速度、加速度の少なくともいずれか一つと、前述のモータのトルクである実トルクとをモータ状態信号として出力する。ここで、実トルクについては、直接センサから計測した値であってもよいし、アクチュエータから取得された入力電流値の換算値を用いてもよい。また、モータ状態信号は、各アクチュエータの位置、速度、加速度、および実トルクの信号のみに限定されない。モータ状態信号は、ロボットの各軸または規定された個所に設けられた内界センサもしくは外界センサのセンシングデータ、例えば、各軸のアクチュエータの温度データ、手先の力覚センサの取得データ、赤外線センサ、超音波センサなどのセンサから得られた距離データ、ビジョンセンサから得られた動画像データ、およびそれらを画像処理して得られた特徴量データ、などの値を含んでもよい。
【００１５】
第一のトルク推定部２１は、モータ状態信号と、物理モデル記憶部２２の出力である後述する物理モデルパラメータとを入力として、前述のモータのトルクである実トルクの推定値である第一の推定トルクを運動方程式により算出する。すなわち、第一のトルク推定部２１は、モータ状態信号および対象機械１０の物理モデルパラメータに基づき、運動方程式を用いてモータのトルクの推定値である第一の推定トルクを推定する。第一のトルク推定部２１は、第一の推定トルクと、第一の推定トルクの成分である物理状態変数とを出力する。物理状態変数には、慣性項、遠心力の項、コリオリ力の項、重力項だけでなく、クーロン摩擦の項、粘性摩擦の項、アームの振動の項、弾性たわみの項に加えて、後述する非線形摩擦モデルのような、第一の推定トルクを算出する上で何らかの物理現象を模擬して導入された関数の項が含まれてもよい。物理状態変数に摩擦推定値を含むことにより、モータ制御装置１００は、摩擦モデルの不確かさおよび実トルクの摩擦成分に対する摩擦推定値の誤差を、後述する機械学習モデル計算部４で補正することを可能にする。
【００１６】
運動方程式において用いられるモータ状態信号および物理モデルパラメータは、それぞれ、各アクチュエータの位置、速度、加速度と、各リンクの質量、重心位置、慣性テンソルとに対応している。すなわち、物理モデルパラメータには、対象機械１０のリンク機構における質量、対象機械１０のリンク機構における重心位置、および対象機械１０のリンク機構における慣性テンソルが含まれる。これにより、モータ制御装置１００は、対象機械１０の既知の機構に関する情報を利用する逆動力学において、係数の質量、重心位置、慣性テンソルを物理モデルパラメータとして学習し実トルクに対する第一の推定トルクの推定精度を向上させることができる。また、モータ制御装置１００は、後述する機械学習モデル計算部４における補正値が相対的に小さくなり、第二の推定トルクの汎化性能を向上させることができる。ここで、運動方程式としては、例えば、ニュートンオイラー法、ラグランジュの運動方程式などを用いることができる。
【００１７】
第一のトルク推定部２１は、モータ状態信号により求まるモータの速度を入力として、トルクの摩擦成分の推定値を出力する連続かつ滑らかな摩擦モデルを含む運動方程式を用いる。後述するように機械学習モデル計算部４がニューラルネットワークを用いるが、ニューラルネットワークが計算できるのは入力に対して連続な関数であるため、特徴量および特徴量生成部３への入力は連続であることが望ましい。そのため、モータ制御装置１００は、速度ゼロ近傍も含めて連続となる摩擦モデルを定義することで、物理モデル記憶部２２内で学習しきれない摩擦成分についてもニューラルネットワークを用いて学習および補正することが可能となる。
【００１８】
物理モデル記憶部２２は、対象機械１０を一定期間動作させた際のモータ状態信号を教師データとし、モータ状態信号に含まれる実トルクと第一の推定トルクとの差分を低減するよう物理モデルパラメータを学習する。物理モデル記憶部２２は、学習した物理モデルパラメータを記憶する。モータ制御装置１００は、物理モデルパラメータを学習することで、センサ、配線類の取り付け、加工誤差、組み立て誤差などによる物性の変化を補正し、実トルクの推定精度を向上させることができる。また、一般的に、物理モデルパラメータは、諸元表、ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）データなどからおおよその値が算出可能であるため、これらの値を学習時の初期値として与えることにより学習の速度、収束性などを向上させることが可能である。ただし、これらの値が未知もしくは算出が困難な場合は、任意の定数で初期化してもよい。
【００１９】
物理モデル記憶部２２での物理モデルパラメータの学習には、上述の運動方程式を変形し、物理モデルパラメータのみを分離した優決定系の線形方程式を用いる。ニュートンの運動方程式、オイラーの運動方程式、およびラグランジュの運動方程式は、いずれも位置、速度、加速度に対して非線形な項を考慮しない場合、質量、重心位置、慣性テンソルからなる定数係数と、位置、速度、加速度からなる変数との積の線形結合で表現できる。すなわち、実トルクに対する動力学計算の誤差をΔｆとおくと、各軸の運動方程式は、質量、重心位置、慣性テンソルからなる物理モデルパラメータｗ、および速度ｖと加速度ａからなる係数行列Ａ（ｖ，ａ）を用いて式（１）のように変数分離した形で記述できる。
【００２０】
Δｆ＝Ａ（ｖ，ａ）ｗ  …（１）
【００２１】
よって、物理モデル記憶部２２は、式（１）を最小二乗法により軸毎にｗについて解くことで、各軸の物理モデルパラメータを算出できる。また、物理モデル記憶部２２は、駆動軸が直列に接続されている産業用ロボットのような軸間干渉の生じうる駆動機械に対しては、各軸のｗに関する式（１）を１つの線形方程式にまとめて同時に解くことにより、物理モデル計算部２全体としてより尤もらしい解を得ることができる。物理モデル記憶部２２は、物理モデルパラメータｗの同定手法に関して、最小二乗法以外にも正則化最小二乗法、カルマンフィルタに加えて、ベイズ推定、遺伝的アルゴリズム、ニューラルネットワークなどを用いてもよい。
【００２２】
なお、物理モデル記憶部２２は、運動方程式において摩擦の影響を考慮する際、次に示すクーロン摩擦および粘性摩擦からなる摩擦モデルである線形摩擦モデルなど、速度の関数と摩擦係数との線形結合で表現される摩擦係数が分離可能な式で摩擦を表現することで、摩擦係数についても式（１）と同様に物理モデルパラメータとして同時に推定が可能となる。物理モデル記憶部２２で推定される摩擦係数を式（２）で示す。なお、イメージで取り込まれる式（２）および後述の式（３）ではｑiの上部にドットが付与されているが、これを説明部分で表現できない。そのため、説明部分では、ｑiの上部にドットが付与されているものを単にｑiと表記する。
【００２３】
【数１】
2020213062.tif 000003
【００２４】
ここで、速度ｑiで動作する軸ｉの摩擦モデルＦiに対して、ｒFC,iはクーロン摩擦係数、ｒFV,iは粘性摩擦係数である。ただし、産業用ロボットをはじめとする多軸機構の動作においては、粘性摩擦が速度に対して完全に線形な関係とならず、特にアクチュエータの高速動作時においては、線形と仮定した場合の値と比べて小さくなることがしばしば確認される。そのような場合は、速度に対する非線形性を考慮したより自由度の高い摩擦モデルを用いて摩擦を推定し、実トルクと第一の推定トルクの差分における摩擦成分を除去した上で、その他の物理モデルパラメータを推定することが望ましい。このような摩擦モデルである非線形摩擦モデルとして、式（３）で示される以下に示すような関数が一例として挙げられる。
【００２５】
【数２】
2020213062.tif 000004
【００２６】
ここで、ωlsは低速動作の境界速度であり、ωhsは高速動作の境界速度であり、ｒST,iは摩擦の飽和係数である。非線形摩擦モデルのグラフを図３に示す。図３は、本実施の形態に係る物理モデル記憶部２２で推定される物理モデルパラメータである非線形摩擦モデルの例を示す図である。図３において、横軸はモータ速度を示し、縦軸は摩擦を示す。非線形摩擦モデルは、クーロン摩擦係数ｒFC,iおよび粘性摩擦係数ｒFV,iに加えて計４つのパラメータを持ち、速度ｑiに対して非線形な関数であるため、これらは実トルクと第一の推定トルクとの差分から非線形最小二乗法であるＬｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ法を用いて求める。Ｌｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ法は、初期値依存性を持つため、一度摩擦に線形性を仮定してクーロン摩擦係数ｒFC,iおよび粘性摩擦係数ｒFV,iを物理モデルパラメータｗに加え、上述の式（１）により各摩擦係数を算出した後、それらを初期値とすることで初期値依存性による推定の失敗を防ぐことができる。すなわち、物理モデル記憶部２２は、物理モデルパラメータの学習において、最小二乗法、正則化最小二乗法、非線形最小二乗法、またはカルマンフィルタなどを用いることができる。モータ制御装置１００は、最小二乗法、非線形最小二乗法、非線形最小二乗法、またはカルマンフィルタを用いることで、対象機械１０の運動方程式および状態方程式における未知の係数を動作データから推定することが可能となる。動作データは、例えば、モータ状態信号に含まれるデータである。
【００２７】
物理モデル記憶部２２は、ここで得られた非線形摩擦モデルの係数を物理モデルパラメータとして記憶し、各時刻の非線形摩擦モデルの出力を物理状態変数に追加する。モータ制御装置１００は、摩擦モデルの係数を物理モデルパラメータとして物理モデル記憶部２２で記憶しておくことにより、経年劣化、異常などによる粘性摩擦、またクーロン摩擦の変化を検知することができる。物理モデル記憶部２２は、例えば、物理モデルパラメータの学習において、非線形摩擦モデルの係数および他の物理モデルパラメータを交互に推定する。モータ制御装置１００は、摩擦モデルの係数およびその他の物理モデルパラメータを交互に推定することで、摩擦モデルをより複雑かつ詳細に設計することができる。また、モータ制御装置１００は、その他の物理モデルパラメータの推定についても摩擦の影響をほとんど除去した状態で行えるため、物理モデルパラメータをより高精度に学習することが可能となる。
【００２８】
ただし、非線形摩擦モデルについては、速度の関数に限らず、位置、加速度、モータ温度などにも依存する多変数関数であってもよく、非線形摩擦モデルの各係数はＧａｕｓｓ−Ｎｅｗｔｏｎ法、最急降下法、拡張カルマンフィルタ、無香カルマンフィルタなどによって同定してもよい。また、非線形摩擦モデルとして、サポートベクター回帰モデル、回帰木、ランダムフォレスト、多変量適応型回帰スプラインモデル、ニューラルネットワークなど機械学習アルゴリズムに基づいたモデル生成手法を用いてもよいが、後述の機械学習モデル計算部４において、ニューラルネットワークをはじめとする機械学習部４１１により第一の推定トルクの補正を行うため、非線形摩擦モデルは摩擦の静的な特性に着目したマクロな影響のみを除去できればよく、陽に与えられる速度のみの関数として考慮すれば十分である。
【００２９】
特徴量生成部３は、第一の推定トルクと、物理状態変数と、モータ状態信号とを入力とし、機械学習部４１１の入力である特徴量を出力する。これらの特徴量生成部３の入力および推定対象である実トルクは、時系列的に変化する値である。機械学習モデル記憶部４２は、それぞれ時間軸方向の相関についても考慮する必要があるため、特徴量も過去の一定期間の値も同時に含むベクトルとして与える。また、本実施の形態で対象とする水平多関節ロボットのような多軸機構においては、軸間の相互干渉の影響が小さくないため、それぞれの軸に対応する入力の値についても同時に含むベクトルとすることが望ましい。ただし、特徴量におけるトルク成分に関しては、実トルクと第一の推定トルクとの差分として与え、推定対象とする実トルクに対して過去の値のみを用いるものとする。
【００３０】
図４は、本実施の形態に係る特徴量生成部３および機械学習モデル計算部４の構成例を示すブロック図である。図４において、ｚは単位遅延演算子であり、Ｎdは遅延の単位時刻数を示す０以上の整数である。図４に示す単位遅延演算子は、特徴量生成部３に備えられた記憶装置ともいえる。すなわち、特徴量生成部３は、第一の推定トルク、物理状態変数、およびモータ状態信号を格納可能な記憶装置を備え、記憶装置に格納されている第一の推定トルク、物理状態変数、およびモータ状態信号から抽出したものを特徴量として出力してもよい。モータ制御装置１００は、物理状態変数およびモータ状態信号に関する時系列変化の情報を入力として特徴量に含むことで、機械学習モデル計算部４が対象機械１０の動作をより詳細に予測できるため、実トルクに対する第二の推定トルクの推定精度を向上させることができる。
【００３１】
特徴量生成部３は、第一の推定トルク、物理状態変数、およびモータ状態信号の全てを使用せず、一部のみを使用して特徴量を生成し、出力してもよい。すなわち、特徴量生成部３は、第一の推定トルク、物理状態変数、およびモータ状態信号のうち少なくとも一つから特徴量を生成し出力してもよい。
【００３２】
第二のトルク推定部４１は、機械学習部４１１を備える。第二のトルク推定部４１は、特徴量生成部３で生成された特徴量と、第一のトルク推定部２１の出力である第一の推定トルクと、機械学習モデル記憶部４２の出力である機械学習モデルパラメータとを入力とし、特徴量および機械学習モデルパラメータを用いた機械学習部４１１の機械学習に基づいて機械学習補正量を算出する。第二のトルク推定部４１は、第一の推定トルクに機械学習補正量を加算したものを第二の推定トルクとして出力する。
【００３３】
機械学習部４１１は、特徴量生成部３で生成された特徴量と機械学習モデル記憶部４２の出力である機械学習モデルパラメータとを入力とし、実トルクに対する第二の推定トルクの誤差が最小となるよう、機械学習補正量を出力するニューラルネットワークから構成される。すなわち、出力の機械学習補正量の理想的な値は実トルクと第一の推定トルクとの差分と一致し、入力である特徴量に遅延した過去の実トルクと第一の推定トルクとの差分を含むため、機械学習部４１１は、図５に示すような入出力関係に自己回帰項を持つ。
【００３４】
図５は、本実施の形態に係る特徴量生成部３および機械学習モデル計算部４の構成において自己回帰項を示す図である。図５は、図４から自己回帰項に関連する部分を抽出したものである。ここで、機械学習モデルパラメータは、ニューラルネットワークにおける重み行列およびバイアスベクトルを指す。また、ニューラルネットワークの種類として、中間層の入出力関係に再帰的な構造を持つ、リカレントニューラルネットワーク、ＬＳＴＭ（Ｌｏｎｇ  Ｓｈｏｒｔ  Ｔｅｒｍ  Ｍｅｍｏｒｙ）、ＧＲＵ（Ｇａｔｅｄ  Ｒｅｃｕｒｒｅｎｔ  Ｕｎｉｔ）といったリカレント型と呼ばれるニューラルネットワークを用いることも、このような時系列データに対する予測精度を向上する上で有効な手段である。また、学習負荷および計算量を削減するため、ニューラルネットワークの代わりに多項式モデル、重回帰モデル、サポートベクター回帰モデル、回帰木、ランダムフォレスト、多変量適応型回帰スプラインモデルなどを用いてもよいし、軸間の相互干渉を無視してよい場合などは、軸毎に独立に機械学習部４１１を適用してもよい。
【００３５】
ただし、ニューラルネットワークをはじめとする機械学習部４１１で用いた汎用的な関数近似モデルは、一般的に不連続関数の近似に適していない。そのため、第一の推定トルクにおいて式（２）の線形摩擦モデルによって摩擦分のトルクの近似および補正を行うと、実トルクと第一の推定トルクとの差分が不連続なジャンプを起こし、これらの値を入出力に含み自己回帰項を形成する機械学習部４１１の機械学習モデルパラメータの学習結果および機械学習補正量の算出結果が著しく悪化する可能性がある。さらに、駆動機械の実機においては、粘着と滑りとが交互に起こって発生するスティックスリップ現象、ストライベック曲線で表わされるような潤滑に関する摩擦などが影響し、速度０付近および低速動作時の摩擦は非線形性が強いため、これらのモデルを陽に与えることは非常に困難である。そこで、式（３）で示した非線形摩擦モデルように、速度０近傍を連続かつ滑らかに接続した摩擦モデルを用いることで、第一の推定トルクおよび特徴量の各値がそれぞれ連続となり、上述のような第一の推定トルクおよび非線形摩擦モデルで再現が困難な摩擦成分についても、機械学習補正量を加えることによって高精度に推定が可能となる。さらに、特徴量は、過去の一定期間の速度、非線形摩擦モデルの出力などを同時に含むベクトルである。そのため、機械学習部４１１は、摩擦のヒステリシス特性など直前の状態に依存して変化する推定誤差要因についても学習し、機械学習補正量として補正することが可能となる。
【００３６】
このように、第二のトルク推定部４１は、入出力関係に自己回帰項を含む機械学習を用いて特徴量および機械学習モデルパラメータから機械学習補正量を算出する。第二のトルク推定部４１は、算出した機械学習補正量を第一の推定トルクに加算して第二の推定トルクを出力する。また、第二のトルク推定部４１は、入出力関係に自己回帰項を含む機械学習としてニューラルネットワークを用いた機械学習を用いてもよい。モータ制御装置１００は、機械学習の手法としてニューラルネットワークを利用することで、運動方程式上で表現が困難なトルク成分を非線形多自由度モデルとして学習し保存することが可能となる。また、第二のトルク推定部４１は、機械学習補正量を算出するのに用いる入出力関係に自己回帰項を含む機械学習において、自己回帰項として実トルクと第一の推定トルクとの差分を用いてもよい。実トルクと第一の推定トルクとの差分が第一の推定トルクに対する補正量の目標値である。補正量の目標値は対象機械１０のモータの動作に伴い時系列的に変化するため、モータ制御装置１００は、次の時刻の最適な補正量を推定する際、過去の補正量の目標値を入力に含む自己回帰項を備えることで、より高精度に推定することが可能となる。
【００３７】
機械学習モデル記憶部４２は、物理モデル記憶部２２における物理モデルパラメータの学習後に、対象機械１０を一定期間動作させた際の特徴量、および実トルクと第一の推定トルクとの差分をそれぞれ入出力の教師データとして、実トルクと第一の推定トルクとの差分に対する機械学習補正量の誤差が低減するよう機械学習モデルパラメータを学習する。すなわち、機械学習モデル記憶部４２は、機械学習補正量が実トルクと第一の推定トルクとの差分に近づくように機械学習モデルパラメータを教師あり学習により学習する。機械学習モデル記憶部４２は、学習した機械学習モデルパラメータを記憶する。学習開始時の機械学習モデルパラメータは任意の定数で初期化してよいが、特にニューラルネットワークで表現される機械学習部４１１は、機械学習モデルパラメータである重み行列、バイアスなどに対して初期値依存性を持つ。そのため、機械学習部４１１では、重み行列について、一様分布、通常の正規分布に加えて、切断正規分布、Ｈｅの正規分布、Ｇｌｏｒｏｔの正規分布など、正規分布に由来した確率分布で初期化することが一般的である。
【００３８】
また、機械学習モデル記憶部４２は、学習手法としてミニバッチ勾配降下法および誤差逆伝搬法を利用し、重み行列およびバイアスベクトルで表わされる機械学習モデルパラメータをバッチ毎に更新する。すなわち、機械学習モデル記憶部４２は、機械学習モデルパラメータの学習時に用いる教師あり学習手法として誤差逆伝搬法を用いてもよい。ただし、教師データが十分な量だけ用意できない場合などは、機械学習モデル記憶部４２は、ミニバッチ勾配降下法の代わりに通常の勾配降下法、確率的勾配降下法などを用いてもよい。また、機械学習モデル記憶部４２は、機械学習部４１１におけるニューラルネットワークの汎化性能を向上させるため、学習の際にニューロンをランダムに除外するｄｒｏｐｏｕｔ、エポック毎に誤差を監視して学習を早く打ち切るｅａｒｌｙ  ｓｔｏｐｐｉｎｇといった手法を用いるのも有効である。機械学習モデル記憶部４２は、学習時にｄｒｏｐｏｕｔを適用した際は、機械学習補正量の推論時にｄｒｏｐｏｕｔ確率を重み行列に適用する必要があるので、このようなハイパーパラメータについても機械学習モデルパラメータとして追加し保存する。
【００３９】
ここまでの物理モデルパラメータおよび機械学習モデルパラメータの学習の流れを、フローチャートを用いて説明する。図６は、本実施の形態に係るモータ制御装置１００における物理モデルパラメータおよび機械学習モデルパラメータの学習の流れを示すフローチャートである。物理モデル記憶部２２は、諸元表の値から各リンクの物理モデルパラメータである質量、重心位置、および慣性テンソルの初期値を設定する（ステップＳ１）。モータ状態観測部１は、対象機械１０のモータ状態信号である実トルク、位置、速度、および加速度の時系列データを教師データとして出力する（ステップＳ２）。
【００４０】
第一のトルク推定部２１は、位置、速度、および加速度に対して、動力学計算により第一の推定トルクを算出する（ステップＳ３）。第一のトルク推定部２１は、動力学方程式に線形摩擦モデルの項を追加する（ステップＳ４）。物理モデル記憶部２２は、物理モデルパラメータにクーロン摩擦係数および粘性摩擦係数を追加する（ステップＳ５）。物理モデル記憶部２２は、実トルクと第一の推定トルクとの差分から、線形方程式に変形した動力学方程式および最小二乗法を用いて、物理モデルパラメータを同定する（ステップＳ６）。物理モデル記憶部２２は、同定した物理モデルパラメータにおけるクーロン摩擦係数および粘性摩擦係数を初期値とし、Ｌｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ法で非線形摩擦モデルを同定し、得られた各係数を物理モデルパラメータに追加する（ステップＳ７）。物理モデル記憶部２２は、実トルクから第一の推定トルクおよび非線形摩擦モデルの値を引いた結果に対し、摩擦モデルの項を除去し線形方程式に変形した動力学方程式および最小二乗法を用いて、摩擦係数以外の物理モデルパラメータを再び同定する（ステップＳ８）。第一のトルク推定部２１は、動力学方程式に非線形摩擦モデルの項を追加し、学習した物理モデルパラメータを用いて、第一の推定トルクを再び算出する（ステップＳ９）。
【００４１】
特徴量生成部３は、第一の推定トルク、物理状態変数、およびモータ状態信号を入力として、それらを過去の一定期間の値も同時に含むベクトルにまとめ、特徴量として出力する（ステップＳ１０）。機械学習モデル記憶部４２は、機械学習モデルパラメータである重み行列、およびバイアスに対し、重み行列を正規分布で、バイアスを定数で初期化する（ステップＳ１１）。機械学習モデル記憶部４２は、学習時の条件として、ｅａｒｌｙ  ｓｔｏｐｐｉｎｇ、ｄｒｏｐｏｕｔなどのハイパーパラメータを設定し、それらの値を機械学習モデルパラメータへ追加する（ステップＳ１２）。第二のトルク推定部４１は、入力を特徴量、出力を実トルクと第一の推定トルクとの差分である機械学習補正量の理想値とし、機械学習モデルパラメータにおける学習時の条件に従って、誤差逆伝搬法により機械学習モデルパラメータの重み行列およびバイアスを学習する（ステップＳ１３）。
【００４２】
ここで、第二の推定トルクの汎化性能の向上については、上述の通り、事前に物理モデル記憶部２２において物理モデルパラメータの学習を行い、第一の推定トルクに対する機械学習補正量を自己回帰項として、機械学習モデル記憶部４２において機械学習モデルパラメータの学習を行うことによる寄与が大きい。なぜなら、モータ制御装置１００は、物理モデルパラメータと機械学習モデルパラメータとを区別することで、それぞれ運動方程式においてモデル化が容易な既知の物理現象に起因したトルク推定誤差成分と、運動方程式においてモデル化が困難なトルク推定誤差成分とを分けて学習することができ、機械学習部４１１の出力である機械学習補正量の絶対値が小さくなるためである。言い換えれば、陽に与えられるトルク推定誤差成分が機械学習補正量に含まれないため、モータ制御装置１００は、機械学習モデルパラメータに含まれるパラメータ数も少なくすることができ、結果として機械学習モデル記憶部４２における学習の過学習の防止と高速化、さらに学習に用いる教師データの削減も可能となる。
【００４３】
機械学習補正量に関する自己回帰項についても同様に、実トルクと物理モデルパラメータに初期値を用いた運動方程式による算出結果の差分を機械学習モデル計算部４で学習し機械学習補正量とする構成、または、物理モデルパラメータに初期値を用いた運動方程式による算出結果を特徴量に含み第二の推定トルクを直接機械学習部４１１の出力として機械学習モデルパラメータを学習する構成に比べ、機械学習補正量の絶対値が小さくなりニューラルネットワークなどによるトルク推定誤差範囲を抑えることができる。さらに、自己回帰項を用いるメリットとして、モータ特性に依存するコギングトルク、トルクリップル、ギア間のトルク伝達におけるバックラッシュの影響など、運動方程式の式中に与えることが困難な時間軸方向に周期的に変化する推定誤差要因を学習しやすい点などが挙げられる。実際に、物理モデルパラメータを学習した後の第一の推定トルク、さらに実トルクと第一の推定トルクとの差分から機械学習モデルパラメータを学習した第二の推定トルクを図７に示す。図７は、本実施の形態に係るモータ制御装置１００の制御対象の対象機械１０の動作を表すモータ速度、モータ制御装置１００で推定される第一の推定トルク、およびモータ制御装置１００で推定される第二の推定トルクを示す図である。各項目において、横軸は時間を示している。図７に示すように、第二の推定トルクの方が、第一の推定トルクよりも実トルクに近似している。
【００４４】
また、機械学習部４１１にニューラルネットワークを用いた場合、特徴量に含まれるどのパラメータが機械学習補正量にどの程度影響したかが明らかでなく、機械学習モデルパラメータの変化から対象機械１０の物性の変化を推測することは非常に困難である。しかしながら、物理モデルパラメータの学習ではそれら物性の各値を直接確認できる本実施の形態では、モータ制御装置１００は、物理モデルパラメータと機械学習モデルパラメータとを区別して学習するため、異常検知に適した構成といえる。
【００４５】
学習を行った物理モデル計算部２および機械学習モデル計算部４を用いた異常検知の例として、主に実トルクと第二の推定トルクとの差分を監視する手法が考えられる。モータ制御装置１００は、実トルクと第二の推定トルクとの差分を監視することで、観測値がほぼ０周りに集中し、絶対値をそのまま実トルクの異常度と捉えられるためである。具体的な異常検知手法としては、実トルクと第二の推定トルクとの差分の絶対値があらかじめ設定された閾値を超えるかによって検知する単純なものでもよいし、その他に、特徴量および実トルクと第二の推定トルクとの差分を入力とした正常、異常の２クラス分類問題として、ラベル付けを行った教師データを用意し、ロジスティック回帰、サポートベクターマシン、決定木、ニューラルネットワークなどを用いて判別してもよい。
【００４６】
モータ制御装置１００は、教師データである異常時の動作データが集めにくい場合、ＳＭＯＴＥ（Ｓｙｎｔｈｅｔｉｃ  Ｍｉｎｏｒｉｔｙ  Ｏｖｅｒ−ｓａｍｐｌｉｎｇ  ＴＥｃｈｎｉｑｕｅ）、ＡＤＡＳＹＮ（ＡＤＡｐｔｉｖｅ  ＳＹＮｔｈｅｔｉｃ）などを用いて取得された異常時の動作データに対するオーバーサンプリングを行ってもよいし、Ｋ−ｍｅａｎｓ法、自己組織化マップなど教師なし学習により正常、異常で分かれる２クラスタに分類してもよい。また、モータ制御装置１００において、クラス数およびクラスタ数は正常、異常の２つに限定されず、異常度の度合いに合わせてより細かく段階的に設定してもよいし、実トルクと第二の推定トルクとの差分の絶対値以外の異常度を任意に設定してもよい。
【００４７】
図１の破線で示した、物理モデル記憶部２２における物理モデルパラメータ、および機械学習モデル記憶部４２における機械学習モデルパラメータの学習のタイミングについて、故障検知を目的とした用途を想定すると、出荷段階の試験運転時などモータ制御装置１００が劣化度合いの比較対象として理想的な状態となる環境で実行することが望ましい。ただし、水平多関節ロボットをはじめとする産業用ロボットは、手先に力覚センサ、エンドエフェクタなどを取り付けることが多々あり、その場合も各リンクの質量、重心位置、慣性テンソルといった物性が変化するため、各状態で物理モデルパラメータおよび機械学習モデルパラメータをどちらも学習し直す必要がある。
【００４８】
ただし、一般的にセンサ、エンドエフェクタなどを取り付けた際、これらの物理モデルパラメータへの影響をロボットコントローラなどによって設定する手間が発生していたのに対し、本実施の形態では、物理モデル記憶部２２において、対象機械１０を一定期間動作させた際のモータ状態信号からそれらを学習することで、この設定の過程についても自動化することが可能となっている。また、物理モデルパラメータの値が正しく設定されていることで、サイクルタイム、軌跡ずれ、衝突時の押しつけ力などが減少するといった利点もあり、位置制御、速度制御などに加えて、力制御、インピーダンス制御の高速化、高精度化にも応用可能な技術であり、上述の手法の用途は異常検知に限定されるものではない。
【００４９】
つづいて、モータ制御装置１００のハードウェア構成について説明する。モータ制御装置１００において、モータ状態観測部１、物理モデル計算部２、特徴量生成部３、および機械学習モデル計算部４は処理回路により実現される。処理回路は、メモリに格納されるプログラムを実行するプロセッサおよびメモリであってもよいし、専用のハードウェアであってもよい。
【００５０】
図８は、本実施の形態に係るモータ制御装置１００が備える処理回路をプロセッサおよびメモリで構成する場合の例を示す図である。処理回路がプロセッサ９１およびメモリ９２で構成される場合、モータ制御装置１００の処理回路の各機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアまたはファームウェアはプログラムとして記述され、メモリ９２に格納される。処理回路では、メモリ９２に記憶されたプログラムをプロセッサ９１が読み出して実行することにより、各機能を実現する。すなわち、処理回路は、モータ制御装置１００の処理が結果的に実行されることになるプログラムを格納するためのメモリ９２を備える。また、これらのプログラムは、モータ制御装置１００の手順および方法をコンピュータに実行させるものであるともいえる。
【００５１】
ここで、プロセッサ９１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、またはＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）などであってもよい。また、メモリ９２には、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（登録商標）（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）などの、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、またはＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）などが該当する。
【００５２】
図９は、本実施の形態に係るモータ制御装置１００が備える処理回路を専用のハードウェアで構成する場合の例を示す図である。処理回路が専用のハードウェアで構成される場合、図９に示す処理回路９３は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、またはこれらを組み合わせたものが該当する。モータ制御装置１００の各機能を機能別に処理回路９３で実現してもよいし、各機能をまとめて処理回路９３で実現してもよい。
【００５３】
なお、モータ制御装置１００の各機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。このように、処理回路は、専用のハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述の各機能を実現することができる。
【００５４】
以上説明したように、本実施の形態では、モータ制御装置１００のモデルを、対象機械１０の力学的物性と運動方程式上で陽に与えられる物理現象の情報を利用してトルクの推定を行う物理モデル計算部２と、物理モデル計算部２の推定トルクに対する補正量を自己回帰項として含み、運動方程式上で表現が困難な非線形性の強いトルク成分の推定を行う機械学習モデル計算部４の組み合わせで表現する。モータ制御装置１００は、これらを順に学習することで、実トルクに対するトルク推定精度および汎化性能が高い対象機械１０のモデルを、少量の動作データから高速に学習することができる。また、モータ制御装置１００は、実トルクとトルク推定値とを比較する、すなわち実機と学習したモデルとを比較することで、軽微な異常についても検知が可能となる。
【００５５】
すなわち、モータ制御装置１００は、物理モデルパラメータと機械学習モデルパラメータとを順に学習することで、それぞれ対象機械１０の力学的物性、運動方程式上で陽に与えられる物理現象によるトルク成分と、運動方程式上で表現が困難な非線形性の強いトルク成分とを区別して学習し、推定することができる。これにより、モータ制御装置１００は、学習全体にかかる時間を短縮し、機械学習補正量の絶対値が物理モデルパラメータの学習により小さくなるので、実トルクに対する第二の推定トルクの汎化性能を向上させることができる。また、モータ制御装置１００は、第二のトルク推定部４１において、入出力関係の自己回帰項により時間軸方向の特徴量間の相関を効率的に学習させることで、第二の推定トルクの推定精度を向上させることができる。
【００５６】
なお、本実施の形態では、水平多関節ロボットを制御対象としていたが、モータ制御装置１００は、機械の軸数、関節の直動、回転の機構によらずに適用することができるため、垂直多関節ロボット、ＮＣ工作機械、実装機などにも適用することが可能である。
【００５７】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００５８】
１  モータ状態観測部、２  物理モデル計算部、３  特徴量生成部、４  機械学習モデル計算部、１０  対象機械、１１ｌ  第１リンク、１１ｊ  第１軸、１２ｌ  第２リンク、１２ｊ  第２軸、１３ｌ  第３リンク、１３ｊ  第３軸、１４ｌ  第４リンク、１４ｊ  第４軸、１５ｅ  手先部、２１  第一のトルク推定部、２２  物理モデル記憶部、４１  第二のトルク推定部、４２  機械学習モデル記憶部、１００  モータ制御装置、４１１  機械学習部。
【図１】
2020213062.tif 000005
【図２】
2020213062.tif 000006
【図３】
2020213062.tif 000007
【図４】
2020213062.tif 000008
【図５】
2020213062.tif 000009
【図６】
2020213062.tif 000010
【図７】
2020213062.tif 000011
【図８】
2020213062.tif 000012
【図９】
2020213062.tif 000013
【国際調査報告】
2020213062.tif 000014
2020213062.tif 000015