(57)【要約】      （修正有）【課題】摩擦特性の高精度なモデリングおよび関連する物理量の高精度な同定を必要とせずに、モータの出力軸に作用する摩擦力の推定とこれによる外乱の補償を適切に行うことができるモータ制御装置、モータ装置および機械学習装置を提供する。【解決手段】制御対象となるモータへの電流指令値ｉｑｒｅｆ、モータの回転速度ωｍおよびモータに減速機構を介して接続された出力軸のねじりトルクτｓの測定値を制御入力として受け取り、モータの出力軸に作用する摩擦トルクτｄｍによる外乱を抑制する外乱オブザーバ装置５０を備え、外乱オブザーバ装置５０は、制御入力に基づいて摩擦トルクτｄｍを補償するトルク補償値を算出する補償値算出部５５ａを有し、補償値算出部５５ａの特性を表す感度関数がモータの回転速度ωｍに基づいて設定される。【選択図】図４
2020198657.tif 000002
【特許請求の範囲】
【請求項１】
制御対象となるモータへの電流指令値、前記モータの回転速度および前記モータに減速機構を介して接続された出力軸のねじりトルクの測定値を制御入力として受け取り、前記モータの出力軸に作用する摩擦トルクによる外乱を抑制する外乱オブザーバ装置を備え、
前記外乱オブザーバ装置は、前記制御入力に基づいて前記摩擦トルクを補償するトルク補償値を算出する補償値算出部を有し、
前記補償値算出部の特性を表す感度関数が前記モータの前記回転速度に基づいて設定される
モータ制御装置。
【請求項２】
前記補償値算出部は、前記制御入力に基づいて算出された前記摩擦トルクの理論値をフィルタするフィルタとして構成され、
前記感度関数が前記フィルタの感度関数である
請求項１に記載のモータ制御装置。
【請求項３】
前記感度関数は、設計極が単根である
請求項１又は２に記載のモータ制御装置。
【請求項４】
前記モータの前記回転速度に基づいて、前記感度関数が、０次の感度関数、１次の感度関数又は２次の感度関数のいずれかに切り替わる
請求項１又は２に記載のモータ制御装置。
【請求項５】
前記外乱オブザーバ装置は、前記モータの前記回転速度に基づいて、前記モータに生じた高周波成分を除去するための高周波ダンピング項を算出する高周波ダンピング項演算部を備える
請求項１〜４のいずれか１項に記載のモータ制御装置。
【請求項６】
モータと、
前記モータに減速機構を介して接続された出力軸と、
前記出力軸に生じるねじりトルクを測定するトルクセンサと、
前記モータの角度位置を検出するロータリ・エンコーダと、
請求項１〜５のいずれか１項に記載のモータ制御装置と
を備えるモータ装置。
【請求項７】
請求項１〜５のいずれか１項に記載のモータ制御装置に対する機械学習装置であって、
前記モータの状態を、環境の現在状態を表す前記回転速度、トルク値、モータ電流およびモータ温度のうちの少なくとも一つを含んだ状態変数として観測する状態観測部と、
前記モータの回転状態を示す速度波形データに基づいた判定データを取得する判定データ生成部と、
前記状態変数と前記判定データとを用いて、前記モータの回転状態と、前記モータへの外乱補償特性を記述する特性係数、スイッチ切り替え閾値および高周波成分算出要素のフィルタ特性係数のうちの少なくとも一つを含む制御パラメータとを関連付けて学習する学習部と、
前記学習部による学習結果に基づき、前記制御パラメータを設定する意思決定部とを有する
機械学習装置。
【請求項８】
前記学習部は、
前記制御パラメータを変更した結果に対する報酬を演算する報酬演算部と、
前記報酬に基づいて、行動価値関数を更新する行動価値関数更新部と、を含み、
前記行動価値関数更新部によって前記行動価値関数の更新を繰り返して、前記報酬が最も多く得られる前記制御パラメータを学習する
請求項７に記載の機械学習装置。
【請求項９】
前記学習部は、
前記制御パラメータと前記状態変数と前記判定データとから前記モータの前記回転状態を導く相関性モデルと予め用意された教師データから識別される相関性特徴との誤差を計算し、
前記誤差を小さくするように前記相関性モデルを更新する
請求項７に記載の機械学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置、モータ装置および機械学習装置に関する。
【背景技術】
【０００２】
従来のモータ制御装置では、出力軸に摩擦力が作用して起きる外乱を推定して抑制するために外乱オブザーバが用いられてきたが、摩擦による外乱の補償は多くの場合不完全である。例えば、モータ出力軸が静止摩擦につかまって極低速状態となり、さらに力を加えてゆくと急激に回転が速くなることで、回転速度が滑らかでなくなる（スティック−スリップ現象）ことがある。言い換えると、出力軸に作用するクーロン摩擦力が大きくなると回転が極低速状態となり、その後、最大摩擦力を超える力が加わると負の勾配特性を有する粘性摩擦力により急激に回転が速くなる。
【０００３】
スティック時にクーロン摩擦特性が変化することで生じる過渡状態では、摩擦特性の推定誤差や外乱の非線形特性により外乱オブザーバによる補償が不完全となり、負の勾配特性を有する粘性摩擦力によるスリップ時には、回転が急激に速くなることで外乱オブザーバの推定に遅れが生じる。その結果、モータにより関節駆動されるロボット・アームがガタガタ振動し、アーム先端の動きが滑らかでなくなる。
【０００４】
この問題に対処するために、特許文献１に記載された制御装置では、まず、減速機の動摩擦トルク同定を行い、この動摩擦トルクを補償するフィードフォワード制御を行うことで、残留摩擦を補償するために必要なトルクセンサの要求バンド幅を低減する。その上で、静止摩擦トルク等の補償には、要求バンド幅の小さい安価なトルクセンサと外乱オブザーバを用いる。また、特許文献２記載のモータ制御装置では、摩擦損失補償を行う仕組みとして、同様の補償制御を行っており、特許文献３では、ＡＣサーボモータの制御系において、制御対象が静止状態から動き出したときにスティック・スリップ現象が発生することのない高精度な位置制御方法を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−０３９７３７号公報
【特許文献２】特開２０１２−１３０１６０号公報
【特許文献３】特開２００１−２３１２８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１乃至３に記載された手法では、クーロン摩擦や粘性摩擦に起因する外乱を適切に補償できるか否かは、摩擦特性（摩擦の外乱モデル）や摩擦トルクを記述する物理量の推定精度および関連する制御係数の設定値の好適性に依存している。摩擦特性や摩擦トルクを記述する物理量を高精度に推定できない場合には、クーロン摩擦および粘性摩擦に起因する外乱の補償も不完全となる。
【０００７】
本発明に係る幾つかの実施形態では、上述した問題点に鑑み、摩擦特性の高精度なモデリングおよび関連する物理量の高精度な同定を必要とせずに、モータの出力軸に作用する摩擦力の推定とこれによる外乱の補償を適切に行うことができるモータ制御装置、モータ装置および機械学習装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のモータ制御装置は、制御対象となるモータへの電流指令値、前記モータの回転速度および前記モータに減速機構を介して接続された出力軸のねじりトルクの測定値を制御入力として受け取り、前記モータの出力軸に作用する摩擦トルクによる外乱を抑制する外乱オブザーバ装置を備え、前記外乱オブザーバ装置は、前記制御入力に基づいて前記摩擦トルクを補償するトルク補償値を算出する補償値算出部を有し、前記補償値算出部の特性を表す感度関数が前記モータの前記回転速度に基づいて設定される。
【０００９】
本発明のモータ装置は、モータと、前記モータに減速機構を介して接続された出力軸と、前記出力軸に生じるねじりトルクを測定するトルクセンサと、前記モータの角度位置を検出するロータリ・エンコーダと、上記のモータ制御装置とを備える。
【００１０】
本発明の機械学習装置は、上記のモータ制御装置に対する機械学習装置であって、前記モータの状態を、環境の現在状態を表す回転速度、トルク値、モータ電流およびモータ温度のうちの少なくとも一つを含んだ状態変数として観測する状態観測部と、前記モータの回転状態を示す速度波形データに基づいた判定データを取得する判定データ生成部と、前記状態変数と前記判定データとを用いて、前記モータの回転状態と、前記モータへの外乱補償特性を記述する特性係数、スイッチ切り替え閾値および高周波成分算出要素のフィルタ特性係数のうちの少なくとも一つを含む制御パラメータとを関連付けて学習する学習部と、前記学習部による学習結果に基づき、前記制御パラメータを設定する意思決定部とを有する。
【発明の効果】
【００１１】
以上より、本発明によれば、摩擦特性の高精度なモデリングおよび関連する物理量の高精度な同定を必要とせずに、モータの出力軸に作用する摩擦力の推定とこれによる外乱の補償を適切に行うことが可能なモータ制御装置、モータ制御方法および機械学習装置を実現することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１実施形態のモータ制御装置と制御対象となるモータの構成図である。
【図２】本発明の第１実施形態の減速装置の断面を示す概略図である。
【図３】本発明の実施形態に係る外乱オブザーバ・プログラムを実行可能なプロセッサを含む制御装置の内部構成図である。
【図４】モータと負荷の運動学モデルに本発明の第１実施形態に係る外乱オブザーバ装置が接続された状態のブロック線図である。
【図５】スティック−スリップ状態におけるモータ回転数の非線形な変化を示すプロット図である。
【図６】感度関数の設定に用いるスイッチングパターンを示す図である。
【図７】本発明の第１の実施形態に係る外乱オブザーバ装置による外乱抑制効果の評価結果を曲線グラフで示すプロット図である。
【図８】本発明の第２実施形態に従い、モータと負荷の運動学モデルに外乱オブザーバ装置と高周波ダンピング要素の両者が接続された状態のブロック線図である。
【図９】外乱オブザーバ装置と高周波ダンピング要素の組み合わせにより、スティック−スリップ現象によるモータ回転数の不連続変化が滑らかにされている評価結果を示す図である。
【図１０】摩擦トルクにより生じる系の振動周波数とモータの回転加速度との関係を、外乱オブザーバの構成方式毎に対比した図である。
【図１１】高調波成分の各次数について、外乱オブザーバの構成方式毎に摩擦トルクの抑制効果を対比した図である。
【図１２】本発明の第３の実施形態の外乱オブザーバ装置の全体構成を示すブロック線図である。
【図１３】制御系内部のパラメータを機械学習の結果に従って適切に調整するための機械学習装置の構成を示す図である。
【発明を実施するための形態】
【００１３】
＜１＞第１の実施形態
（１−１）本発明の第１の実施形態に係る制御対象モータおよびモータ制御装置の構成
以下、図面を参照しながら、本発明の第１の実施形態に係るモータ制御装置について説明する。図１に示すように、第１実施形態のモータ装置１は、モータ２と、モータ２の出力軸（図示しない）の一端に接続された減速装置３と、モータ２の出力軸の他端に接続されたロータリ・エンコーダ４と、モータ２、減速装置３及びロータリ・エンコーダ４とそれぞれ配線７ａ、７ｂ、７ｃを介して接続されたモータ制御装置５を備えている。
【００１４】
モータ２は、配線７ａを介してモータ制御装置５に接続されている。モータ制御装置５から配線７ａを介してモータ２に電流が供給されると、供給された電流の大きさに応じてモータ２は出力軸を回転させ、ねじりトルクを出力軸に発生させ、これによって減速装置３が駆動される。減速装置３は、出力軸６とトルクセンサ８と減速機構１０とを備えている。減速機構１０は、一端がモータ２の出力軸に接続され、他端が出力軸６に接続され、モータ２の出力軸の回転速度とねじりトルクの大きさとを減速比に応じて変換する。減速機構１０がモータ２によって駆動されると、出力軸６が回転し、出力軸６にねじりトルクが発生する。出力軸６の先端には、ロボットのアームのような負荷が機械的に接続され、出力軸６に生じたねじりトルクによって負荷が駆動される。
【００１５】
トルクセンサ８は、出力軸６に設置されている。トルクセンサ８は、出力軸６に生じたねじりトルクを測定する。トルクセンサ８は、ねじりトルクの測定値を出力値として出力する。ロータリ・エンコーダ４は、モータ２の出力軸の位置、すなわち、所定の基準点からの出力軸の角度位置を検出し、電気信号に変換して出力する。モータ制御装置５は、配線７ａを介してモータ２に電流を供給する。モータ制御装置５は、トルクセンサ８の出力値を、配線７ｂを介して受け取る。モータ制御装置５は、配線７ｃを介してロータリ・エンコーダ４から出力されたモータ２の角度位置を受け取る。
【００１６】
モータ制御装置５は、トルク指令値や速度指令値などの種々の指令値に基づいて、モータ２が指令値に追従するように制御する。本実施形態では、モータ制御装置５はモータ２のねじりトルクを制御する場合を例として説明する。モータ制御装置５は、トルク指令値が入力されると、減速装置３の出力軸６に発生するねじりトルクがトルク指令値に追従するように、モータ２を制御する。すなわち、モータ制御装置５は、トルク指令値とトルクセンサ８の出力値とに基づいて算出した電流指令値をモータ２に出力してモータ２を駆動して、ねじりトルクの大きさを制御する。ここでは、電流指令値をモータ２に出力するということは、電流指令値に応じた直流電流をモータ２に供給することを意味している。
【００１７】
ここで、減速装置３の構造についてさらに説明する。図２に示すように、減速装置３は、出力軸６と、トルクセンサ８と、減速機構１０と、出力軸６の一部及び減速機構１０を収容する筐体１２と、出力軸６を筐体１２に対して回転自在に支持するベアリング１３と、ベアリング１３上に設けられた軸カバー１４と、を備えている。
【００１８】
減速機構１０は、波動歯車機構であり、モータ２の出力軸２ａの先端に接続されたウエーブジェネレータ１０ａと、薄肉の金属でカップ形状に形成されて弾性を有し、当該カップの開口部１０ｄの外側面にギア歯（図示せず）が設けられたフレクスプライン１０ｂと、当該フレクスプライン１０ｂのギア歯と噛み合うギア歯（図示せず）が内側面に設けられたサーキュラスプライン１０ｃと、を備えている。ウエーブジェネレータ１０ａは、モータ２の筐体（図示せず）に固定されたベアリング１６に支持された出力軸２ａの先端に、ねじ１１ｄによって固定されている。ウエーブジェネレータ１０ａはフレクスプライン１０ｂに挿入されている。
【００１９】
フレクスプライン１０ｂの底部１５近傍にある出力軸６と筐体１２との間の空間には、オイルシール２５が設けられている。オイルシール２５は、筐体１２に固定されていると共に、出力軸６に接触しており、出力軸６と筐体１２との間の空間をシールし、減速機構１０側のオイルがトルクセンサ８側に飛散するのを防いでいる。出力軸６は、円柱形状をしており、減速機構１０に接続された一端が筐体１２に収容されており、他端が負荷を取り付けられるように筐体１２から突出している。
【００２０】
出力軸６は、径が他の部分よりも小さく形成された起歪部６ａと、起歪部６ａよりもモータ２側に形成され、出力軸６から鍔状にせりだした円板形状の鍔部６ｂとを有している。起歪部６ａには、歪ゲージ１８が貼着されている。鍔部６ｂには、基板１９が基板固定支柱３０によって固定されている。基板１９はリング状の円板である。基板１９は、第１基板１９ａと第２基板１９ｂとでなり、第１基板１９ａの表面には歪ゲージ１８に結線されたトルク検出回路２９が設けられている。
【００２１】
トルク検出回路２９は、出力軸６に配置された歪ゲージ１８の抵抗変化を検出する抵抗変化検出回路（図２には不図示）を備える。さらに、トルク検出回路２９は、抵抗変化検出回路の出力信号に基づいてねじりトルクの測定値を算出するＣＰＵと、整流回路と、安定化回路と（いずれも図２には不図示）を備え、歪ゲージ１８に生じた抵抗変化から出力軸６に生じるねじりトルクを算出し送信部２７へ送出する。第２基板１９ｂの表面には、トルク検出回路２９に結線され、トルク検出回路２９から送出されたねじりトルク測定値の信号を無線で送信する送信部２７が設けられている。
【００２２】
筐体１２に固定された筐体基板２４には、送信部２７から送信された光信号を受信する受信部２８が送信部２７と対向する位置に設けられており、送信部２７及び受信部２８間で赤外線通信などの無線通信ができるようになされている。受信部２８の出力は配線７ｂ（図２には不図示）に接続されており、モータ制御装置５にねじりトルクの測定値に対応した信号を出力値として送出する。さらに、出力軸６には、例えばフェライトシートなどの磁性体シートでなり、出力軸６の側面を覆う２次側コア２１ａと、２次側コア２１ａの表面に例えば銅線などの導電性の線材を巻回して形成された２次コイル２１ｂと、を備える受電部２１が設けられている。
【００２３】
筐体基板２４には、受電部２１と対向する位置にコアホルダ２３が固定されている。コアホルダ２３は、送電部２２を保持している。送電部２２は、直方体形状の部材と、当該部材の長軸方向の両端で直方体の表面に垂直に同じ方向に突出した突部とを有する形状（断面形状がコ字型）をしており、例えばフェライトなどの磁性体で作られている１次側コア２２ａと、１次側コア２２ａの２つの突部間に例えば銅線などの導電性の線材を直方体形状の部材に巻回して形成された１次コイル２２ｂと、を備えている。
【００２４】
送電部２２は、モータ制御装置５から供給された交流電流を１次コイル２２ｂに流し、１次コイル２２ｂに交流磁界を発生させ、受電部２１の２次コイル２１ｂに電流を誘起する。よって、２次コイル２１ｂが１次コイル２２ｂから非接触で電力を受電できる。受電部２１は、２次コイル２１ｂに誘起された交流電流をトルク検出回路２９に供給する。トルク検出回路２９は、供給された交流電圧を整流回路と安定化回路とによって直流電圧へと変換し、抵抗変化検出回路などに供給する。
【００２５】
出力軸６を筐体１２に対して回転自在に支持するベアリング１３は、接続部２６を介して筐体１２に設けられている。接続部２６は、中心に穴が形成されており、当該穴内に出力軸６の鍔部６ｂが配置され、接続部２６の穴の内側面２６ａと鍔部６ｂとが所定の間隔を空けて対向するように、筐体１２に固定されている。ベアリング１３は、クロスローラベアリングであり、外輪１３ａと、内輪１３ｂと、円筒形状のコロ１３ｃとを備え、外輪１３ａが接続部２６に固定され、内輪１３ｂがねじ１１ｃによって鍔部６ｂに固定されることで、出力軸６が筐体１２に対して自在に回転できるように出力軸６を支持している。
【００２６】
軸カバー１４は、ねじ１１ｅによってベアリング１３の外輪１３ａに固定されており、中心に穴が形成されている。当該穴は、軸カバー１４をベアリング１３に固定したとき、穴の内側面と出力軸６とが接触しない程度の大きさに形成されている。トルクセンサ８は、上述の歪ゲージ１８とトルク検出回路２９と送信部２７と受信部２８と復調回路と受電部２１と送電部２２とで構成されている。トルクセンサ８の構成は、出力軸６に生じたねじりトルクτｓを測定できれば、特に限定されない。
【００２７】
次に、図３および図４を参照しながら、第１の実施形態に係るモータ制御装置５の構成について説明する。以下で説明するモータ制御装置５の構成はあくまで一例であり、適宜変更してもよい。図３に示すモータ制御装置５は、内部の構成モジュールとして、プロセッサ５１０、記憶部５２０、加減算器５３０、電流指令出力インターフェース５４０、第１インターフェース回路５６１および第２インターフェース回路５６２を含んで構成され、これらは、バス５６０によって通信可能に相互接続されている。
【００２８】
本実施形態では、上述のように、モータ制御装置５は、モータ２に接続された減速機構１０の出力軸６に発生させるねじりトルクτｓを制御するように構成されている。モータ制御装置５は、外乱オブザーバ装置５０（図４を参照）として動作するようにプログラミングされたプロセッサ５１０と、摩擦トルクによる外乱の推定値と制御目標値との和からモータ２への電流指令値ｉｑｒｅｆ（図４）を算出してプロセッサ５１０（外乱オブザーバ装置５０）に入力する加減算器５３０と、プロセッサ（外乱オブザーバ装置５０）とデータ通信可能に接続され、複数の異なる制御パラメータγｋ（１≦ｋ≦Ｋ）を記憶する記憶部５２０とを備えている。電流指令値ｉｑｒｅｆは、モータ駆動電流としてモータ２に供給される電力である。
【００２９】
さらに、モータ制御装置５は、第１インターフェース回路５６１および第２インターフェース回路５６２を有し、バス５６０を介して上記の各構成要素と接続されている。第１インターフェース回路５６１は、配線７ｂを介して図１に示すトルクセンサ８からトルク測定値のデータを含む信号を受信する。第２インターフェース回路５６２は、配線７ｃを介して図１に示すロータリ・エンコーダ４からモータ２の出力軸２ａの角度位置を表すデータを信号として受信する。
【００３０】
プロセッサ５１０は、トルクセンサ８からトルク測定値のデータを受信し、ロータリ・エンコーダ４からモータ２の出力軸２ａの角度位置を表すデータを受信する。その上で、プロセッサ５１０は、受信したこれらのデータを入力として用いて、モータ２に出力する電流指令の値を計算し、加減算器５３０を介して電流指令出力インターフェース５４０に出力する。また、プロセッサ５１０は、モータ２の制御に必要なその他の演算を実行し、図示しない他の出力インターフェースを介して制御出力として出力するようにしてもよい。
【００３１】
本実施形態では、記憶部５２０から読み出した外乱オブザーバ・プログラム５２１をプロセッサ５１０が読み込んで実行することで、外乱オブザーバ装置５０が実現されている。なお、外乱オブザーバ装置５０は、専用に設計されたプロセッサによって実現されてもよく、複数のプロセッサや回路の集合体として構成されてもよい。
【００３２】
また、本実施形態では、外乱オブザーバ・プログラム５２１を実行中のプロセッサ５１０は、記憶部５２０に記憶された外乱補償制御の演算に必要なデータを読み出し、摩擦トルクによる外乱を推定して抑制するための補償制御を行うように構成されている。
【００３３】
本実施形態では、演算に用いるデータとして、モータ２の回転速度ωｍからモータ２の出力トルクτｍを推定するのに用いる疑似的な慣性モーメントＪｍ（データ５２２ａ）と、モータ２と出力軸６の間に介装された減速機構１０の減速比Ｒｇ（データ５２２ｂ）と、負荷Ｌおよびモータ２の運動学モデルを記述する動力学特性パラメータ（５２２ｃ、５２２ｆ）と、外乱オブザーバ装置５０の周波数応答を所望の応答特性に近づけるように設定されるフィルタ係数および利得係数（データ５２２ｄ）と、摩擦トルクに起因する非線形制御特性をモデル化する非線形特性パラメータ（データ５２２ｅ）が記憶部５２０に記憶されている。
【００３４】
本発明の幾つかの実施形態では、図４に示すモータ制御装置５は、図７を用いて後述するスティック−スリップ現象により摩擦トルクがモータ２の出力軸２ａに作用し、これに起因する外乱を外乱オブザーバ装置５０が抑制するように構成される。
【００３５】
そこで、以下、図５を参照しながらスティック−スリップ現象によりモータ２の出力軸２ａに作用する摩擦トルクについて詳しく述べる。スティック−スリップ現象とは、強い非線形性を持つ摩擦外乱によって引き起こされる現象である。スティック−スリップ現象は、摩擦係数が急激かつ非常に大きくなりモータ２の出力軸２ａが静止摩擦につかまって極低速状態となるスティック現象と、さらに力を加えてゆくと正の値の摩擦係数が急に負の値に符号反転し、急激に回転が速くなるスリップ現象とが組み合わさって生じる現象である。スティック−スリップ現象が生じると回転速度及び回転加速度が滑らかでなくなる。
【００３６】
以下、上述したスティック現象とスリップ現象について図５（Ａ）および図５（Ｂ）に示す具体例を用いて説明する。図５（Ａ）に示す曲線グラフは、モータ２の回転速度ωｍを横軸とし、モータ２の出力軸２ａに作用する摩擦トルクの大きさを縦軸とし、回転速度ωｍの変化に応じた摩擦トルクの変化をプロットしたものである。また、図５（Ｂ）に示す曲線グラフは、経過時間ｔを横軸とし、モータ２の回転速度ωｍを縦軸とし、時間ｔの経過に伴って回転速度ωｍがどのように変化するかをプロットしたものである。
【００３７】
図５（Ａ）に示す回転速度領域ＶＲ（２）は、図５（Ｂ）に示す時間区間Ｐｈ（１）に対応し、時間区間Ｐｈ（１）内では、モータ２の回転速度ωｍは領域ＶＲ（２）内にある。図５（Ａ）および図５（Ｂ）に示すように、モータ２の回転速度ωｍが領域ＶＲ（２）内にある間は、スティック現象が生じ、モータ２の出力軸２ａが静止摩擦につかまって極低速状態となっており、出力軸６に作用している摩擦トルクにおいてクーロン摩擦成分が支配的となっている。
【００３８】
これに対し、図５（Ａ）に示す回転速度領域ＶＲ（１）は、図５（Ｂ）に示す時間区間Ｐｈ（２）に対応し、時間区間Ｐｈ（２）内では、モータ２の回転速度ωｍは領域ＶＲ（１）内にある。図５（Ａ）および図５（Ｂ）に示すように、モータ２の回転速度ωｍが回転速度ωｓｌｉｐを境にして回転速度ωｍが急激に上昇しており、スリップ現象が生じていることがわかる。この急激な回転速度ωｍの上昇は、回転トルクが増加していって領域ＶＲ（２）で作用していた静止摩擦を乗り越えたことで、出力軸６に作用している摩擦トルクにおいてクーロン摩擦成分に代わって粘性摩擦成分が支配的となったことを示している。
【００３９】
この急激な変化は、例えば、図２に示すオイルシール２５とモータ２の出力軸２ａとの間の摩擦によって引き起こされた非線形摩擦効果が増大することで生じる。スティック−スリップ現象により生じた摩擦トルクがモータ２の出力軸２ａに外乱として作用している期間中は、モータ２の回転速度ωｍおよび回転加速度ωｍ’は滑らかに変化せず、不規則に歪んだ波形を示す。このようなスティック−スリップ現象が発生すると、回転が滑らかではなく不規則に変化する状態にあるモータ２から出力軸６に取り付けられた負荷に出力軸６を介してトルクが伝わる。その結果、負荷Ｌにおいても高周波成分を含む振動が発生し好ましくない。
【００４０】
（１−２）本発明の第１の実施形態に係る外乱オブザーバ装置の構成と動作
本実施形態では、ＳＶＭＮＣ（Sensitivity-variable Motor-side Normalization Compensator）を外乱オブザーバ装置に用いることで、スティック−スリップ現象の影響を効果的に低減させるようにしている。ＳＶＮＭＣは、モータの出力軸が受けるねじりトルクとモータの電流指令値とモータの回転速度とに基づいて外乱を補償するトルク補償値を算出する装置であり、ＳＶＭＮＣ５５ａの特性を表す後述の感度関数がモータ２の回転速度ωｍに基づいて設定されるように構成されている。そして、図４に示す本実施形態の外乱オブザーバ装置５０では、補償値演算部としてのＳＶＭＮＣ５５ａが上記の制御入力に基づいて摩擦トルクτｄｍを補償するトルク補償値を算出し、トルク補償値が制御目標値である電流ｉｃｔｒｌにフィードバックされるように構成している。本実施形態では、このように外乱オブザーバ装置５０を構成することで、スティック−スリップ現象を抑制するようにしている。
【００４１】
以下では、図４に示すブロック線図を用いて、外乱オブザーバ装置５０の構成をより詳細に説明する。図４のブロック線図は、制御系全体を示す図であり、モータ２を運動学モデル２０、減速装置３を運動学モデル９０として表している。また、外乱オブザーバ装置５０も同様にモデル化されて表されている。なお、モータ２及び減速装置３は、出力軸６が弾性を有していたり、減速機構１０のギア歯が弾性結合していたりするなどのために、所定の共振周波数で振動する機械共振系である。そのため、図４では、モータ２及び減速装置３を二慣性共振系の近似化モデルを用いて表している。
【００４２】
まずは、モータ２をモデル化した運動学モデル２０について説明する。モータ２は、Ｋｔをゲインに有する乗算器２０ｄと、１／Ｊｍをゲインに有する乗算器２０ｅと、非線形特性を有する摩擦トルクをモデル化した外乱要素２０ｇと、減算器２０ｃと、加算器２０ｆと、２つの積分器２０ａ、２０ｂとで構成される。図中の、Ｋｔはトルク定数であり、Ｊｍはモータ２の慣性モーメントであり、ｓはラプラス演算子である。
【００４３】
運動学モデル２０では、電流指令値ｉｑｒｅｆと、減速装置３からモータ２の出力軸２ａ（図２）が受けるトルクの値であるトルク応答値とがモータ２に入力され、出力軸２ａの回転速度ωｍと出力軸２ａの回転角度を表す角度位置θｍとがモータ２から出力されるように表されている。
【００４４】
モータ２に入力された電流指令値ｉｑｒｅｆは、乗算器２０ｄにおいてトルク定数Ｋｔを乗算され、電流指令値ｉｑｒｅｆに応じたトルク値τｒｅｆに変換される。当該トルク値τｒｅｆは、減算器２０ｃにおいて、後述するモータ２の外乱トルクτｄｉｓを減算される。このようにして減算器２０ｃでは、出力軸２ａに生じる出力トルク値τｒｅｆが等価的に算出される。
【００４５】
出力トルク値は、乗算器２０ｅに入力され、モータ２の出力軸２ａの慣性モーメントＪｍの逆数を乗算される。乗算器２０ｅでは、出力軸２ａに生じる加速度を表す回転加速度
【数１】
2020198657.tif 000003
が等価的に算出され、算出された出力軸２ａの回転加速度は、積分器２０ｂに入力され、積分される。積分器２０ｂでは、回転速度ωｍが等価的に算出される。
【００４６】
回転速度ωｍは積分器２０ａに入力されて積分される。積分器２０ａでは、角度位置θｍが等価的に算出される。一方で、回転速度ωｍには非線形特性を持った外乱要素２０ｇが適用され、この外乱は、スティック−スリップ現象によりモータ２の出力軸２ａに作用する摩擦力に対応する。回転速度ωｍに非線形特性の外乱要素２０ｇが適用されて得られた摩擦トルクτｄｍは、加算器２０ｆに入力され、前述のトルク応答値と加算される。加算器２０ｆでは、モータ２に生じる外乱トルクτｄｉｓが等価的に算出される。
【００４７】
以上のように、電流指令値ｉｑｒｅｆと、減速装置３からのトルク応答値とに基づいて回転速度ωｍと角度位置θｍとが算出され、モータ２から出力される。モータ２から出力された回転速度ωｍは、図４に示す外乱オブザーバ装置５０の中のＳＶＭＮＣ５５ａに入力される。モータ２から出力された回転速度ωｍを入力として受け取ったＳＶＭＮＣ５５ａを含む外乱オブザーバ装置５０では、スティック−スリップ現象による非線形な摩擦トルクτｄｍを抑制可能な外乱補償演算を行う。
【００４８】
次に、減速装置３をモデル化した運動学モデル９０について説明する。運動学モデル９０では、出力軸６と減速機構１０とがモデル化されており、紙面上段の点線で囲まれた領域が出力軸６に対応する運動学モデルであり、紙面下段の点線で囲まれた領域が減速機構１０に対応する運動学モデルである。減速装置３の減速機構１０に対応する運動学モデルは、減速機構１０の減速比Ｒｇの逆数をゲインに有する乗算器９０ｄ、９０ｅと、減算器９０ｈと、ばね定数Ｋｓをゲインとして有する乗算器９０ｇと積分器９０ｆとで構成される。一方、出力軸６に対応する運動学モデルは、減算器９０ｉと、出力軸６の慣性モーメントＪｌの逆数をゲインとして有する乗算器９０ａと、積分器９０ｂ、９０ｃとで構成される。二慣性共振系の近似化モデルでは、減速装置３の出力軸６に生じるねじりトルクτｓが、出力軸２ａ及び出力軸６の速度差により生じるねじり角と、モータ２及び減速装置３間の機械共振振動に依存して定まるばね定数Ｋｓとの積としてモデル化される。そのため、減速装置３の運動学モデル９０では、ねじりトルクを等価的に算出するため、出力軸２ａの回転速度ωｍと減速装置３の出力軸６の回転速度ωｌとが減速機構１０に入力されるように表されている。
【００４９】
また、減速装置３の運動学モデル９０では、ねじりトルクτｓが、出力軸６側と、帯域がＬｓ（ｓ）であるトルクセンサ８とに出力され、前述のトルク応答値がモータ２に出力されるように表されている。減速機構１０へ入力された回転速度ωｍは、乗算器９０ｅで減速比Ｒｇの逆数を乗算される。これは出力軸２ａの回転が減速機構１０で減速されることを表している。乗算器９０ｅでは、回転速度ωｍが減速機構１０で減速後の回転速度、すなわち、出力軸６側での回転速度に変換される。
【００５０】
減算器９０ｈでは、回転速度ωｍから乗算器９０ｅにて減速比Ｒｇの逆数を乗算されて減速後の値に変換されたものから回転速度ωｌが減算され、出力軸２ａと出力軸６との速度差が算出される。減算器９０ｈの出力は、積分器９０ｆに入力され、積分されるのに続いて乗算器９０ｇによりばね定数Ｋｓを乗算される。積分器９０ｆでは、出力軸２ａと出力軸６との速度差を積分することで出力軸２ａと出力軸６とのねじり角θｓが算出され、当該積分結果にばね定数Ｋｓが乗算されてねじりトルクτｓが等価的に算出される。
【００５１】
算出されたねじりトルクτｓは、減速機構１０から、トルクセンサ８と出力軸６側とに出力される。またねじりトルクτｓは乗算器９０ｄに入力されて減速比Ｒｇの逆数を乗算される。乗算器９０ｄは、ねじりトルクτｓをモータ２側の値に変換し、トルク応答値を算出する。トルク応答値は、減速機構１０からモータ２へ入力される。ねじりトルクτｓを入力されたトルクセンサ８は、ねじりトルクτｓの測定値として、出力値τｓを外乱オブザーバ装置５０に出力する。なお、運動学モデル９０では、減速装置３からトルクセンサ８へねじりトルクτｓが出力されるように表されているが、実際には、出力軸６に設けられたトルクセンサ８で出力軸６に発生したねじりトルクτｓを検出している。
【００５２】
出力軸６は、減算器９０ｉと、出力軸６の慣性モーメントＪｌの逆数をゲインとして有する乗算器９０ａと、積分器９０ｂ、９０ｃとを有し、ねじりトルクτｓと、出力軸６の外乱トルクτｌｅｘｔが出力軸６に入力され、出力軸６の回転速度を表す回転速度ωｌと出力軸６の回転角度を表す角度位置θｌとが出力軸６から出力されるように表されている。出力軸６に入力されたねじりトルクτｓは、減算器９０ｉで出力軸６に入力された外乱トルクτｌｅｘｔを減算される。減算器９０ｉでは、ねじりトルクτｓから外乱トルクτｌｅｘｔ成分が除かれ、出力軸６に生じる出力トルク値が算出される。
【００５３】
出力トルク値は、乗算器９０ａに入力され、出力軸６の慣性モーメントＪｌの逆数を乗算される。乗算器９０ａでは、出力軸６に生じる加速度を表す回転加速度
【数２】
2020198657.tif 000004
が等価的に算出され、算出された出力軸６の回転加速度は、積分器９０ｂに入力され、積分される。積分器９０ｂでは、回転速度ωｌが等価的に算出される。回転速度ωｌは出力軸６から減速機構１０に出力される。一方で、回転速度ωｌは積分器９０ｃにも入力されて積分される。積分器９０ｃでは、角度位置θｌが等価的に算出される。角度位置θｌは出力軸６から出力される。
【００５４】
次に、外乱オブザーバ装置５０の構成と動作について説明する。まず、外乱オブザーバ装置５０の概要について説明する。外乱オブザーバ装置５０は、トルクセンサ８からねじりトルクτｓの測定値を制御入力として受信する。また、外乱オブザーバ装置５０は、モータ制御装置５から回転速度ωｍを制御入力として受信する。さらに、外乱オブザーバ装置５０は、モータ２の電流指令値ｉｑｒｅｆを制御入力として受け取る。なお、回転速度ωｍは、モータ制御装置５が、ロータリ・エンコーダ４からモータ２の出力軸２ａの角度位置θｍを表すデータを周期的に受信し、時間あたりの角度位置θｍの変化率を求めることで得られる。また、ロータリ・エンコーダ４が角度位置θｍを表すデータをアナログ信号として出力し、モータ制御装置５が当該アナログ信号を例えば微分器などを用いて微分することで、回転速度ωｍを算出するようにしてもよい。図４では、便宜的に、モータ２の回転速度ωｍがモータ２から外乱オブザーバ装置５０のＳＶＭＮＣ５５ａに直接入力されるように示されている。
【００５５】
外乱オブザーバ装置５０は、ねじりトルクτｓと回転速度ωｍと電流指令値ｉｑｒｅｆとに基づいて、摩擦トルクτｄｍによる外乱を補償する補償トルク（トルク補償値ともいう）を算出する。外乱オブザーバ装置５０は、算出したトルク補償値を電流値に変換して加減算器５３０に出力し、制御目標値である電流ｉｃｔｒｌにフィードバックする。本実施形態では、電流ｉｃｔｒｌに外乱オブザーバ装置５０の出力がフィードバックされて電流指令値ｉｑｒｅｆが算出される。これにより、モータ２の出力軸２ａに生じた摩擦トルクτｄｍが補償され、外乱が抑制される。
【００５６】
次いで、外乱オブザーバ装置５０の構成について説明する。外乱オブザーバ装置５０は、摩擦トルクτｄｍによる外乱を抑制するための制御計算を実行するＳＶＭＮＣ５５ａ、加算器５０ａ、利得要素５０ｂ、５０ｃ、５０ｄおよび加算器５０ｅを備える。利得要素５０ｃは、ねじりトルクτｓの測定値を受信し、減速機構１０の減速比Ｒｇの逆数に等しい利得を乗じてモータ２側のトルク値に変換してＳＶＭＮＣ５５ａに制御入力として出力する。利得要素５０ｄは、モータ２から入力された電流指令値ｉｑｒｅｆにトルク定数に相当する利得係数Ｋｍを乗じてトルク値に変換し、ＳＶＭＮＣ５５ａに制御入力として出力する。
【００５７】
ＳＶＭＮＣ５５ａは、ねじりトルクτｓをモータ２側のトルク値に変換した値と、電流指令値ｉｑｒｅｆをトルク値に変換した値とモータ２の回転速度ωｍとに基づいて、摩擦トルクτｄｍを補償するトルク補償値を定常成分と過渡成分とに分けて算出し、算出結果を別々に出力するように構成される。特に、トルク補償値の過渡成分に関しては、対応する高次の応答特性関数を表す多項式の各々の次数について、トルク補償値の１次成分、２次成分、・・・、Ｎ次成分を別々に出力するように構成される。
【００５８】
ＳＶＭＮＣ５５ａでは、まず、モータ２側の力学モデルに基づいて摩擦トルクτｄｍの理論値が次式によって算出される。
τｄｍ＝Ｋｍ・ｉｑｒｅｆ−τｓ／Ｒｇ＋Ｊｍｎ・ωｍ・ｓ
ここで、Ｊｍｎはモータ２のイナーシャである。三項目はモータ２のイナーシャＪｍｎにモータ２の回転速度ωｍの微分値、すなわち回転加速度ωｍ’をかけた値に相当する項であり、モータ２の出力軸２ａに生じたトルクに相当する値である。
【００５９】
その後、ＳＶＭＮＣ５５ａでは、算出した摩擦トルクτｄｍの理論値が高次のローパスフィルタに通されることで、トルク補償値が算出される。高次のローパスフィルタは、その特性がモータ２の回転速度ωｍに応じて可変となるように設計されている。このように、補償値算出部としてのＳＶＭＮＣ５５ａは、上記の３つの制御入力に基づいて摩擦トルクτｄｍの理論値を算出し、算出された摩擦トルクτｄｍの理論値をフィルタするフィルタとして構成されている。図４に示すモデルでは、ＳＶＭＮＣ５５ａの出力は、摩擦トルクτｄｍと高次のローパスフィルタの伝達関数の積となる。フィルタの特性は感度関数として表される。本実施形態では、このローパスフィルタが３次のローパスフィルタであり、感度関数が下記の式に設計されている。
【数３】
2020198657.tif 000005
感度関数は、高次多項式として記述され、ｇ０、ｇ１、ｇ２、ｇ３は、極に対応する。本実施形態の場合、フィルタは、極が異なる値を有するように、すなわち、設計極が単根であるように設計されている。なお、上記の式におけるパラメータφ０、φ１、φ２は以下の数式で表されるようにモータ２の回転速度ωｍに依存して増減する利得係数であり、以下の式で表される。
【数４】
2020198657.tif 000006
【数５】
2020198657.tif 000007
【数６】
2020198657.tif 000008
【００６０】
ここで、α１（ωｍ）、α２（ωｍ）、α３（ωｍ）はモータ２の回転速度ωｍに依存する係数であり、図６に示すスイッチングパターンによって定められる値である。図６は、横軸がモータ２の回転速度ωｍであり、縦軸がα１（ωｍ）、α２（ωｍ）、α３（ωｍ）（図６ではα１、α２、α３と表記）の値であり、回転速度ωｍに応じたα１（ωｍ）、α２（ωｍ）、α３（ωｍ）の値を示すグラフである。スイッチングパターンでは、α１（ωｍ）、α２（ωｍ）、α３（ωｍ）の値がモータ２の回転速度ωｍに応じて定められるようになっている。このスイッチングパターンは、事前に観測したスリップ−スティック現象などに基づいて適宜設定できる。
【００６１】
回転速度ωｍに応じてα１（ωｍ）、α２（ωｍ）、α３（ωｍ）の値が変わり、パラメータφ０、φ１、φ２の値も変わるので、感度関数も変わる。このように、回転速度ωｍに応じてローパスフィルタの感度（特性）を変えることができる。なお、上記の感度関数を有するローパスフィルタの伝達関数は、例えば、α１（ωｍ）＝α２（ωｍ）＝α３（ωｍ）＝１の場合、下記式で表される。
【数７】
2020198657.tif 000009
上記式の第１項目が０次成分、第２項目が１次成分、第３項目が２次成分、第４項目が３次成分に対応する。このように、伝達関数の各項に含まれる極ｇ０、ｇ１、ｇ２、ｇ３が異なるので、上記の感度関数において極ｇ０、ｇ１、ｇ２、ｇ３の値を適宜設定することで、伝達関数の定常成分（第１項に相当）の特性と過渡成分（第２項から第４項に相当）の特性を分けて設計できる。ＳＶＭＮＣ５５ａは、出力が摩擦トルクτｄｍとこの伝達関数との積であり、伝達関数が次数毎に分離可能であるので、トルク補償値を次数毎に分離して算出できる。
【００６２】
外乱オブザーバ装置５０は、可変利得要素５９（ａ）、５９（ｂ）、５９（ｃ）をさらに備えている。可変利得要素５９（ａ）は可変利得α１（ωｍ）を有し、可変利得要素５９（ｂ）は可変利得α２（ωｍ）を有し、可変利得要素５９（ｃ）は可変利得α３（ωｍ）を有している。可変利得α１（ωｍ）、α２（ωｍ）、α３（ωｍ）の値は、モータ２の回転速度ωｍに基づいて変えることができる。可変利得要素５９（ａ）は、ＳＶＭＮＣ５５ａで算出された摩擦トルクτｄｍのトルク補償値の１次成分が入力され、可変利得要素５９（ｂ）は、トルク補償値の２次成分が入力され、可変利得要素５９（ｃ）は、トルク補償値の３次成分が入力される。可変利得要素５９（ａ）、５９（ｂ）、５９（ｃ）は、入力されたトルク補償値（トルク補償値の１次成分、２次成分および３次成分）に、各々が有する可変利得α１（ωｍ）、α２（ωｍ）、α３（ωｍ）を乗算する。可変利得要素５９（ａ）、５９（ｂ）、５９（ｃ）は、利得を乗算された摩擦トルクτｄｍの過渡成分のトルク補償値を加算器５０ｅにそれぞれ出力する。なお、可変利得要素５９（ａ）、５９（ｂ）、５９（ｃ）の可変利得α１（ωｍ）、α２（ωｍ）、α３（ωｍ）は、図６に示すスイッチングパターンを用い、回転速度ωｍに基づいて設定される。
【００６３】
加算器５０ｅは、３つの摩擦トルクτｄｍの過渡成分を加算し、合計値を加算器５０ａに出力する。加算器５０ａにはＳＶＭＮＣ５５ａから摩擦トルクτｄｍの定常成分も入力されており、加算器５０ａは、摩擦トルクτｄｍの定常成分（０次成分）と、摩擦トルクτｄｍの過渡成分の合計値とを加算し、利得要素５０ｂに出力する。利得要素５０ｂは、加算器５０ａから受信した出力に、トルク定数に相当する利得係数Ｋｍの逆数に等しい利得を乗じてトルク値を電流値に変換し、トルク補償指令信号として加減算器５３０に出力する。加減算器５３０は、制御目標値である電流ｉｃｔｒｌにトルク補償指令信号を加算する。このように、トルク補償指令信号が制御目標値である電流ｉｃｔｒｌに加算されることで、外乱が抑えられ、スティック−スリップ現象が抑制される。
【００６４】
なお、α１（ωｍ）＝α２（ωｍ）＝α３（ωｍ）＝０の速度領域では、過渡成分に乗算されるすべてのゲインが０であるので、定常成分のみからトルク補償指令信号が算出される。α１（ωｍ）＝１、α２（ωｍ）＝α３（ωｍ）＝０の速度領域では、定常成分と１次成分との和からトルク補償指令信号が算出される。α１（ωｍ）＝α２（ωｍ）＝１、α３（ωｍ）＝０の速度領域では、定常成分と１次成分と２次成分との和からトルク補償指令信号が算出される。α１（ωｍ）＝α２（ωｍ）＝α３（ωｍ）＝１の速度領域では、定常成分と１次成分と２次成分と３次成分との和からトルク補償指令信号が算出される。
【００６５】
以上より、第１の実施形態に係る外乱オブザーバ装置５０によれば、モータ２の回転速度ωｍに応じて感度関数の特性を変えて摩擦トルクτｄｍのトルク補償値を算出するので、クーロン摩擦や粘性摩擦がモータ２の出力軸２ａに作用することにより生じた過渡的な外乱（スティック−スリップ現象）を動的に抑制できる。よって、摩擦特性の高精度なモデリングおよび関連する物理量の高精度な同定を必要とせずに、モータ２の出力軸２ａに作用する摩擦力の推定とこれによる外乱の補償を適切に行うことができるモータ制御装置５を実現することができる。
【００６６】
（１−３）第１の実施形態に係る外乱オブザーバによる外乱抑制効果の評価
次に、第１の実施形態に係る外乱オブザーバ装置５０による外乱抑制効果について検討する。以下では、従来の外乱抑制方式であるＺＯＭＮＣ（Zero-order MNC)を用いた外乱抑制方式を比較対象として、外乱オブザーバ装置５０を評価する。ＺＯＭＮＣは、摩擦外乱をステップ関数として近似して設計したＭＮＣであり、摩擦トルクτｄｍの定常成分（ゼロ次成分）からトルク補償値を算出する。ここでは、図４に示すモデルをＳＶＭＮＣ及びＺＯＭＮＣの両方でシミュレーションし、シミュレーションにより得られたモータ２の回転速度ωｍと回転加速度ωｍ’の過渡特性を比較することで、外乱抑制効果を評価した。図７にシミュレーション結果を示す。図７の紙面上部のグラフが回転加速度ωｍ’の結果であり、横軸が時間、縦軸が回転加速度ωｍ’を表す。図７の紙面下部のグラフが回転速度ωｍの結果であり、横軸が時間、縦軸が回転速度ωｍを示す。図７のグラフでは、点線がＳＶＭＮＣの結果であり、実線がＺＯＭＮＣの結果である。
【００６７】
ＺＯＭＮＣでは、モータ２の回転速度ωｍの波形は、図のＳＶ（Ａ）およびＳＶ（Ｂ）の領域に示すような不規則に歪んだ形であった。図７のＳＶ（Ａ）およびＳＶ（Ｂ）の領域に対応するＳＶ（１）およびＳＶ（２）の領域にみられるように、モータ２の回転速度ωｍがほぼゼロとなった後に急激に変化しており、スティック−スリップ現象が生じていることがわかる。また、回転加速度ωｍ’についても、図７のＰＫ（Ａ）およびＰＫ（Ｂ）の領域に示すように、モータ２の回転速度ωｍの急激な変化に対応するピークがみられ、スティック−スリップ現象が生じていることが確認できる。
【００６８】
一方で、ＳＶＭＮＣでは、モータ２の回転速度ωｍの波形はＺＯＭＮＣの波形より滑らかになっており、ＺＯＭＮＣにおいてスティック−スリップ現象が見られた図７のＳＶ（１）およびＳＶ（２）の領域においても、スティック−スリップ現象が生じていないことが確認できる。このように、第１の実施形態の外乱オブザーバはスティック−スリップ現象を抑制できることが確認できた。
【００６９】
＜２＞第２の実施形態
以下、図４と同じ構成には同じ番号を付した図８を参照しながら、本発明の第２の実施形態に係るモータ制御装置について説明する。第２の実施形態のモータ制御装置は、第１の実施形態のモータ制御装置に対して、モータ２の回転速度ωｍに基づいて算出した正の高周波ダンピング項を制御目標値である電流ｉｃｔｒｌにフィードバックすることで、モータ２の回転速度ωｍ及び回転加速度ωｍ’の高周波成分を除去し、スティック−スリップ現象をより抑制できるようにしたものである。第２の実施形態のモータ制御装置は、高周波ダンピング項演算部５７と、高周波ダンピング項演算部５７の出力を制御目標値である電流ｉｃｔｒｌにフィードバックするか否かを切り替える切り替えスイッチＳＷ（１）とを有している点で、第１の実施形態のモータ制御装置と異なる。他の構成は第１の実施形態のモータ制御装置と同じであるので説明を省略する。
【００７０】
高周波ダンピング項演算部５７は、ゲインがＫνの利得要素５７ａと、高周波成分算出要素５７ｂとを備えている。高周波成分算出要素５７ｂは、モータ２の回転速度ωｍが入力され、当該回転速度ωｍに基づいて、モータ２の回転速度及び回転加速度の高周波成分を除去するために、高周波ダンピング項として制御目標値にフィードバックする高周波成分を算出する。本実施形態では、高周波成分算出要素５７ｂは、伝達関数がｓ／（ｓ＋ｇｄｍｐ）のハイパスフィルタとして構成されており、回転速度ωｍをハイパスフィルタに通して利得要素５７ａに出力する。図８に示すモデル上では、モータ２の回転速度ωｍとハイパスフィルタの伝達関数ｓ／（ｓ＋ｇｄｍｐ）との積が算出される。なお、ｇｄｍｐは、ハイパスフィルタの帯域である。利得要素５７ａは、高周波成分算出要素５７ｂの出力を、ゲインＫν倍して高周波ダンピング項を算出する。このようにして、高周波ダンピング項演算部５７は、高周波ダンピング項τＨＦＤ＝Ｋν・ｓ／（ｓ＋ｇｄｍｐ）・ωｍを算出する。算出された高周波ダンピング項τＨＦＤは、利得要素５７ａから切り替えスイッチＳＷ（１）に出力される。
【００７１】
切り替えスイッチＳＷ（１）は、モータ２の回転速度ωｍに基づいて高周波ダンピング項τＨＦＤを加減算器５３０（２）に出力するか否か切り替える。切り替えスイッチＳＷ（１）は、モータ２の回転速度の絶対値｜ωｍ｜が所定のスイッチ切り替え閾値ωｔｈｌｄ以上の場合、オン状態にされて加減算器５３０（２）に接続され、高周波ダンピング項τＨＦＤを加減算器５３０（２）に出力する。一方、切り替えスイッチＳＷ（１）は、モータ２の回転速度の絶対値｜ωｍ｜が所定のスイッチ切り替え閾値ωｔｈｌｄより小さい場合、オフ状態にされて加減算器５３０（２）との接続が切断され、高周波ダンピング項τＨＦＤを加減算器５３０（２）に出力できなくされる。スイッチ切り替え閾値ωｔｈｌｄは、スティック−スリップ現象の観察から実験的に適宜決められる値である。加減算器５３０（２）は、制御目標値である電流ｉｃｔｒｌから高周波ダンピング項τＨＦＤを減算して制御目標値を補正し、減算結果（補正された制御目標値）を加減算器５３０（１）に出力する。加減算器５３０（１）では、加減算器５３０（２）から入力された電流（補正された制御目標値）と外乱オブザーバ装置５０で算出されたトルク補償指令信号とが加算されて電流指令値Ｉｑｒｅｆが算出される。
【００７２】
以下、図９を参照しながら、第２の実施形態に係る外乱抑制方式による外乱抑制効果をシミュレーションおよび実験により評価した結果について検討する。以下、第２の実施形態に従って実施される外乱抑制方式を「ＳＶＭＮＣ＋ＨＦｄａｍｐｉｎｇ」と略記する。ここでは、第１の実施形態で行ったシミュレーションのモデルに、高周波ダンピング項演算部５７を追加したモデルを用いてシミュレーションし、得られた結果を、第１実施形態のＳＶＭＮＣのシミュレーション結果と比較した。その結果を図９に示す。図９では。ＳＶＭＮＣ＋ＨＦｄａｍｐｉｎｇは一点鎖線で表されている。
【００７３】
図９に示すように、ＳＶＭＮＣ＋ＨＦｄａｍｐｉｎｇの波形がＳＶＭＮＣの波形と比較してなだらかになっており、高周波成分が除去されて、よりスティック−スリップ現象が抑制されていることが確認できる。
【００７４】
高周波成分の除去効果をより検証するために、上記のシミュレーション結果を用いてモータ２の回転加速度ωｍ’応答の周波数解析を行った。周波数解析は７〜８ｓｅｃの加速度応答１サイクルのデータを高速フーリエ変換することで行った。その結果を図１０と図１１に示す。図１０は横軸を周波数とし、図１１では横軸を高調波の次数とし、縦軸は両図とも回転加速度ωｍ’として示している。図１０中の実線の内、線が太く５Ｈｚ付近に大きなピークがある方がＺＯＭＮＣの結果である。図１０において、ＳＶＭＮＣとＳＶＭＮＣ＋ＨＦｄａｍｐｉｎｇを比較すると、特に周波数が高い領域（１０Ｈｚから１５Ｈｚの領域）でＳＶＭＮＣ＋ＨＦｄａｍｐｉｎｇの方が、この領域の周波数成分の回転加速度が低く、高周波成分が抑制されていることがわかる。また、図１１を見ると、ほぼすべての高調波で、ＳＶＭＮＣよりもＳＶＭＮＣ＋ＨＦｄａｍｐｉｎｇの方が回転加速度が低く、高周波成分が抑制されていることがわかる。
【００７５】
このことは、ＴＨＤ（Total Harmonic Distortion：全高調波歪）の計算結果からもわかる。ＴＨＤの計算結果を表１に示す。表１に示すように、ＳＶＭＮＣよりもＳＶＭＮＣ＋ＨＦｄａｍｐｉｎｇの方がＴＨＤが低くて非線形性が低く、より高周波成分が除去されていることがわかる。
【表１】
2020198657.tif 000010
【００７６】
＜３＞第３の実施形態
以下、図４と同じ構成には同じ番号を付した図１２を参照しながら、本発明の第３の実施形態に係るモータ制御装置について説明する。第３の実施形態のモータ制御装置は、第１の実施形態のモータ制御装置とは、補償値演算部としてのＳＴＭＮＣ５５ｂを備える点で異なる。第３の実施形態のモータ制御装置の外乱オブザーバ装置６０のＳＴＭＮＣ５５ｂは、２次系として構成され、モータ２の回転速度ωｍに基づいて感度関数を設定される。他の構成は第１の実施形態のモータ制御装置と同じなので、説明を省略する。
【００７７】
ＳＴＭＮＣ５５ｂは、第１の実施形態と同様に、ねじりトルクτｓをモータ２側のトルク値に変換した値と、電流指令値ｉｑｒｅｆをトルク値に変換した値と、モータ２の回転速度ωｍとに基づいて、摩擦トルクτｄｍを算出する。ＳＴＭＮＣ５５ｂは、算出した摩擦トルクτｄｍを下記の式で表される感度関数を有する２次のローパスフィルタに通すことで、摩擦トルクτｄｍの補償値を算出する。
【数８】
2020198657.tif 000011
ここで、α１、α２は、モータ２の回転速度ωｍに依存する値であり、上述の図６に示すスイッチングパターンにより定められる値である。この実施形態では、フィルタは設計極が重根に設計されており、極であるｇｄｍはローパスフィルタの帯域であり、適宜設定できる。
【００７８】
この感度関数は、図６のスイッチングパターンにおいて、α１＝α２＝０となるモータ２の回転速度ωｍの速度領域では、
【数９】
2020198657.tif 000012
となり、０次の感度関数となる。また、感度関数は、α１＝１、α２＝０となるモータ２の回転速度ωｍの速度領域では、
【数１０】
2020198657.tif 000013
となり、１次の感度関数とる。感度関数はα１＝α２＝１となるモータ２の回転速度ωｍの速度領域では、
【数１１】
2020198657.tif 000014
となり、２次の感度関数となる。このように、モータ２の回転速度ωｍが極低速領域のときに高次の感度関数が使われて摩擦トルクτｄｍの補償値の過渡成分が算出され、それ以外では０次の感度関数が使われて摩擦トルクτｄｍの補償値の定常成分が算出される。
【００７９】
このように、第３の実施形態のＳＴＭＮＣ５５ｂは、モータ２の回転速度ωｍに基づいて感度関数を切り替えることができる。ＳＴＭＮＣ５５ｂは、算出したトルク補償値の０次成分と１次成分と２次成分とをそれぞれ別々に出力する。０次成分は直接、１次成分は利得要素６１で可変利得α１（ωｍ）を乗算されて、２次成分は利得要素６２で可変利得α２（ωｍ）を乗算されて加算器５０ｆに入力される。α１（ωｍ）、α２（ωｍ）は、図６のスイッチングパターンによってモータ２の回転速度ωｍに基づいて定められる値である。
【００８０】
以上から、第３の実施形態のモータ制御装置は、第１実施形態のモータ制御装置と同様に、制御対象となるモータ２への電流指令値ｉｑｒｅｆ、モータ２の回転速度ωｍおよび２モータに減速機構１０を介して接続された出力軸６のねじりトルクτｓの測定値を制御入力として受け取り、モータ２の出力軸２ａに作用する摩擦トルクτｄｍによる外乱を抑制する外乱オブザーバ装置６０を備え、外乱オブザーバ装置６０が、上記制御入力に基づいて摩擦トルクτｄｍを補償するトルク補償値を算出する補償値算出部（ＳＴＭＮＣ５５ｂ）を有し、ＳＴＭＮＣ５５ｂの特性を表す感度関数がモータ２の回転速度ωｍに基づいて設定されるので、第１の実施形態と同様の効果を奏する。さらに、第３の実施形態のモータ制御装置は、第１の実施形態のモータ制御装置に対して外乱オブザーバ装置６０の感度関数が簡便であるというメリットを有する。よって、第３の実施形態のモータ制御装置は、外乱オブザーバ装置６０での演算が第１の実施形態の外乱オブザーバ装置５０よりも比較的容易であり、計算負荷が軽い。そのため、第３の実施形態のモータ制御装置を、高性能の演算装置を用いなくても実装でき、安価に構成できる。さらに、第３の実施形態のモータ制御装置は、極やスイッチングパターンなどの設計すべきパラメータが少なく、感度関数を容易に設計できる。特に、モータ制御装置の設計において経験等によって設定した実際のモータ２や減速装置３のパラメータが、上述の運動学モデル２０、９０におけるモータ２や減速装置３のパラメータと当初より適合していた場合には、設計の試行回数を少なくできる。加えて、後述の強化学習により感度関数の制御パラメータの設計をする場合も第１実施形態の外乱オブザーバ装置５０と比較して計算負荷が軽く、安価な構成で強化学習を行うことができる。なお、第２の実施形態で説明した高周波ダンピング項演算部を、第３の実施形態のモータ制御装置に組み込むこともできる。
【００８１】
＜４＞第４の実施形態
第４の実施形態のモータ制御装置は、制御パラメータとしてのスイッチ切り替え閾値ωｔｈｉｄ、モータ２への外乱補償特性を記述する特性係数、高周波成分算出要素５７ｂのフィルタ特性係数、および利得要素５７ａのゲインＫνなどの内の少なくとも一つ以上を機械学習により設定する機械学習装置を備えている点で、第１〜第３の実施形態と異なる。モータへの外乱補償特性を記述する特性係数としては、例えば、極ｇ０、ｇ１、ｇ２、ｇ３、帯域（極）ｇｄｍ、可変利得α１（ωｍ）、α２（ωｍ）、α３（ωｍ）などがあげられ、高周波成分算出要素のフィルタ特性係数としては、帯域ｇｄｍｐなどがあげられる。以下では、機械学習装置を中心に説明する。また、外乱オブザーバ装置５０の可変利得α１（ωｍ）、α２（ωｍ）、α３（ωｍ）を機械学習する場合を例として説明する。なお、可変利得α１（ωｍ）、α２（ωｍ）、α３（ωｍ）はモータ２の回転速度ωｍに依存して決まる値であるので、機械学習により設定するのは、可変利得α１（ωｍ）、α２（ωｍ）、α３（ωｍ）の回転速度ωm依存性（回転速度ωｍに基づいて可変利得の値を算出すための関数）の特性や上述のスイッチングパターンの波形の形状などである。
【００８２】
図１３は、第４の実施形態による機械学習装置１４０を備えるモータ制御装置５の概略的な機能ブロック図である。機械学習装置１４０は、状態観測部１８１と、判定データ生成部１８２と、学習部１４１と、意思決定部と１４８とを備える。状態観測部１８１は、モータ２の状態を、環境の現在状態を表す状態変数Ｓとして観測する。状態観測部１８１は、状態変数Ｓとして、モータ２の回転速度ωｍ（Ｓ１）、トルク値（Ｓ２）、モータ電流（Ｓ３）およびモータ温度（Ｓ４）などを観測する。状態観測部１８１は、これらすべての状態変数Ｓを観測してもよく、これらの状態変数Ｓの内の少なくとも一つを観測してもよい。また、状態観測部１８１は、上記以外のモータ２に関連する物理量を状態変数Ｓとして観測してもよい。
【００８３】
本実施形態では、状態観測部１８１は、上記の状態変数Ｓ１、Ｓ２、Ｓ３を外乱オブザーバ装置５０から取得し、モータ温度（Ｓ４）をモータ２の筐体に設けた図示しない温度検出器から取得している。ここで、モータ２の回転速度ωｍ（Ｓ１）は、ロータリ・エンコーダ４から出力された角度位置に基づいてモータ制御装置５で算出され、外乱オブザーバ装置５０に入力される値である。そのため、状態観測部１８１は、モータ２の回転速度ωｍをモータ制御装置５から取得してもよい。さらに、状態観測部１８１は、ロータリ・エンコーダ４から角度位置を取得し、モータ２の回転速度ωｍを算出してもよい。また、トルク値（Ｓ２）は、トルクセンサ８で測定したねじりトルクτｓである。そのため、状態観測部１８１は、トルクセンサ８からトルク値としてねじりトルクτｓを取得してもよい。なお、トルク値は、ねじりトルクτｓに減速比の逆数をかけてモータ２側のトルク値に変換した値であってもよい。モータ電流（Ｓ３）は、モータ２の電流指令値ｉｑｒｅｆである。電流指令値ｉｑｒｅｆはモータ制御装置５で算出されるので、状態観測部１８１は、モータ制御装置５からモータ電流として電流指令値ｉｑｒｅｆを取得してもよい。また、状態変数Ｓ１、Ｓ２、Ｓ３、Ｓ４は、後述の速度波形データと同じ期間の時系列データであってもよい。
【００８４】
判定データ生成部１８２は、モータ２の回転状態を示す速度波形データに基づく判定データＤを生成する。判定データＤは、状態変数Ｓの下で制御パラメータ（本実施形態の場合は、可変利得α１（ωｍ）、α２（ωｍ）、α３（ωｍ）の少なくとも一つ）を変えた場合の結果を表す指標である。判定データ生成部１８２は、外乱オブザーバ装置５０からモータ２の回転速度ωｍを取得し、回転速度ωｍの時系列データである速度波形データを生成する。なお、速度波形データの期間（時系列データの収集期間）は、速度波形データ中にスティック−スリップ現象が少なくとも１回は現れる期間とするのが好ましい。例えば、モータ２の速度波形が正弦波状に周期的に変動している場合は、速度波形データの期間を当該正弦波の１周期の半分の期間とするのが好ましい。
【００８５】
判定データ生成部１８２は、判定データＤとして、可変利得α１（ωｍ）、α２（ωｍ）、α３（ωｍ）の少なくとも一つを変えた際の、モータ２の回転状態の適否、すなわち、速度波形データにおいて摩擦トルクτｄｍによる影響（スティック−スリップ現象）を抑制できているか否かに対する適否判定値Ｄ１を用いることができる。例えば、適否判定値Ｄ１は、判定データ生成部１８２が生成した速度波形データと、スティック−スリップ現象が生じていないときの速度波形データとの差分を算出し、差分の絶対値の総和が所定閾値以上のときを不適とし、所定閾値より小さいときを適するとすることで算出できる。なお、本実施形態では、判定データ生成部１８２が速度波形データをそのまま用いて判定データＤを生成しているが、判定データ生成部１８２は、速度波形データを加工して判定データＤを生成してもよい。例えば、回転速度ωｍを微分して回転加速度を算出し、速度波形データを加速度波形データに加工し、加速度波形データから判定データＤを生成するようにしてもよい。また、速度波形データからＴＨＤを計算し、算出したＴＨＤに基づいてモータ２の回転状態の適否を判定するようにしてもよい。
【００８６】
学習部に１４１対して判定データＤと同時に入力される状態変数Ｓは、学習部１４１による学習周期で考えた場合、判定データＤが取得された１学習周期前のデータに基づくものとなる。このように、機械学習装置１４０が学習を進める間、環境においては、状態変数Ｓの取得、後述の意思決定部１４８による可変利得α１（ωｍ）、α２（ωｍ）、α３（ωｍ）の再設定（変更）、変更後の可変利得α１（ωｍ）、α２（ωｍ）、α３（ωｍ）を用いて算出したトルク補償値による摩擦トルクτｄｍの制御、変更後の速度波形データ生成、判定データＤの生成が繰り返し実施される。
【００８７】
学習部１４１は、状態変数Ｓと判定データＤとを用いて、モータ２の回転状態と、制御パラメータとしての可変利得α１（ωｍ）、α２（ωｍ）、α３（ωｍ）の少なくとも一つとを関連付けて学習する。学習部１４１は、機械学習と総称される任意の学習アルゴリズムにしたがって学習する。学習アルゴリズムの例については後述する。学習部１４１は、前述した状態変数Ｓと判定データＤとを含むデータ集合に基づく学習を反復実行することができる。上記学習中、状態変数Ｓは、上記したように１学習周期前に取得されたモータ２の回転速度ωｍ（Ｓ１）、トルク値（Ｓ２）、モータ電流（Ｓ３）およびモータ温度（Ｓ４）とし、判定データＤは、制御パラメータの変更が為された状態での今回の学習周期における速度波形データに基づく適否判定結果とする。
【００８８】
このような学習サイクルを繰り返すことにより、可変利得α１（ωｍ）、α２（ωｍ）、α３（ωｍ）の少なくとも一つとモータ２の回転状態との相関性を暗示する特徴が次第に明らかになっていく。学習アルゴリズムの開始時には可変利得α１（ωｍ）、α２（ωｍ）、α３（ωｍ）の少なくとも一つとモータ２の回転状態との相関性は実質的に未知であるが、学習部１４１は、学習を進めるに従い徐々に相関性についての特徴を見出し、相関性を解釈していく。可変利得α１（ωｍ）、α２（ωｍ）、α３（ωｍ）の少なくとも一つとモータ２の回転状態との相関性がある程度信頼できる水準まで解釈されると、学習部１４１が反復出力する学習結果は、現在状態（つまり摩擦トルクτｄｍによるスリップ−スティック現象が生じている状態）に対して、可変利得α１（ωｍ）、α２（ωｍ）、α３（ωｍ）の少なくとも一つをどのように設定すべきかという行動（つまり意思決定）を行うために使用できるものとなる。つまり学習部１４１は、学習アルゴリズムの進行に伴い、上記相関性を最適解に徐々に近づけることができる。
【００８９】
意思決定部１４８は、外乱オブザーバ装置５０に設定されている制御パラメータ（本実施形態では、可変利得α１（ωｍ）、α２（ωｍ）、α３（ωｍ）の少なくとも一つ）を、学習部１４１による学習結果に基づいて算出された制御パラメータに設定する。また、意思決定部１４８は、学習時に、制御パラメータとモータ２の回転状態とを関連付ける学習をするために、外乱オブザーバ装置５０の制御パラメータを適宜設定する。このような機械学習装置１４０は、例えば図３に示したプロセッサ５１０の一機能として構成してもよく、図３に示す記憶部５２０に記憶されたプロセッサ５１０を機能させるためのソフトウェアとして構成してもよい。また機械学習装置１４０は、モータ制御装置５と一体に設けてもよく、モータ制御装置５とは別の筐体に設けてもよい。
【００９０】
機械学習装置１４０は、モータ制御装置５に対する機械学習装置であって、モータ２の状態を、環境の現在状態を表す回転速度（Ｓ１）、トルク値（Ｓ２）、モータ電流（Ｓ３）およびモータ温度（Ｓ４）のうちの少なくとも一つを含んだ状態変数Ｓとして観測する状態観測部１８１と、モータ２の回転状態を示す速度波形データに基づいた判定データＤを取得する判定データ生成部１８２と、状態変数Ｓと判定データＤとを用いて、モータ２の回転状態と、可変利得α１（ωｍ）、α２（ωｍ）、α３（ωｍ）（制御パラメータ）の少なくとも一つとを関連付けて学習する学習部１４１と、学習部１４１による学習結果に基づき、可変利得α１（ωｍ）、α２（ωｍ）、α３（ωｍ）を設定する意思決定部１４８とを有している。
【００９１】
よって機械学習装置１４０は、学習部１４１の学習結果を用いることで、モータ２の出力軸２ａに生じた摩擦トルクτｄｍ（スティック−スリップ現象）の大きさに応じた、制御パラメータを、演算や目算によらずに自動的に、しかも正確に求めることができるようになる。そして、制御パラメータを、演算や目算によらずに自動的に求めることができれば、制御パラメータを迅速かつ適切に決定することができる。したがって、制御パラメータの設定を効率よく行うことができる。さらに、機械学習装置１４０は、モータ２の使用によりオイルの量やオイルの粘性が変化するなどして摩擦トルクτｄｍが変化し、モータ２に働く摩擦トルクτｄｍの特性が変わった場合も、機械学習装置１４０により自動で適切にパラメータを再設定でき、自動でスティック−スリップ現象を抑制できるようにできるので有用である。
【００９２】
上記構成を有する機械学習装置１４０では、学習部１４１が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。ここで、学習アルゴリズムの一例として強化学習を説明する。強化学習は、学習対象が存在する環境の現在状態（つまり入力）を観測するとともに現在状態で所定の行動（つまり出力）を実行し、その行動に対し何らかの報酬を与えるというサイクルを試行錯誤的に反復して、報酬の総計が最大化されるような方策（機械学習装置１４０では制御パラメータの変更量）を最適解として学習する手法である。
【００９３】
機械学習装置１４０において強化学習を行う場合、図１３に示すように、学習部１４１は報酬演算部１４１ａと行動価値関数更新部１４１ｂとをさらに備えるように構成される。報酬演算部１４１ａは、制御パラメータを変更した結果に対する報酬Ｒを演算する。報酬Ｒは、制御パラメータ変更後のモータ２の回転状態の適否判定結果（状態変数Ｓが取得された次の学習周期で用いられる判定データＤに相当）に関連する報酬である。行動価値関数更新部１４１ｂは、算出された報酬Ｒに基づいて、行動価値関数Ｑを更新する。行動価値関数Ｑは、制御パラメータの変更の価値を表す関数である。学習部１４１は、行動価値関数更新部１４１ｂによって行動価値関数Ｑの更新を繰り返して、報酬Ｒが最も多く得られる制御パラメータを学習する。
【００９４】
学習部１４１が実行する強化学習のアルゴリズムの一例を説明する。この例によるアルゴリズムは、Ｑ学習（Ｑ−ｌｅａｒｎｉｎｇ）として知られるものであって、行動主体の状態ｓと、その状態ｓで行動主体が選択し得る行動ａとを独立変数として、状態ｓで行動ａを選択した場合の行動の価値を表す行動価値関数Ｑ（ｓ，ａ）を学習する手法である。状態ｓで行動価値関数Ｑが最も高くなる行動ａを選択することが最適解となる。状態ｓと行動ａとの相関性が未知の状態でＱ学習を開始し、任意の状態ｓで種々の行動ａを選択する試行錯誤を繰り返すことで、行動価値関数Ｑを反復して更新し、最適解に近付ける。ここで、状態ｓで行動ａを選択した結果として環境（つまり状態ｓ）が変化したときに、その変化に応じた報酬（つまり行動ａの重み付け）ｒが得られるように構成し、より高い報酬ｒが得られる行動ａを選択するように学習を誘導することで、行動価値関数Ｑを比較的短時間で最適解に近付けることができる。行動価値関数Ｑの更新式は、一般に下記の式のように表すことができる。
【００９５】
【数１２】
2020198657.tif 000015
【００９６】
ここで、ｓt及びａtはそれぞれ時刻ｔにおける状態及び行動であり、行動ａtにより状態はｓt+1に変化する。ｒt+1は、状態がｓtからｓt+1に変化したことで得られる報酬である。ｍａｘＱの項は、時刻ｔ＋１で最大の行動価値関数Ｑになる（と時刻ｔで考えられている）行動ａを行ったときのＱを意味する。α及びγはそれぞれ学習係数及び割引率であり、０＜α≦１、０＜γ≦１で任意設定される。
【００９７】
学習部１４１がＱ学習を実行する場合、状態観測部１８１が観測した状態変数Ｓ及び判定データ生成部１８２が生成した判定データＤは、更新式の状態ｓに該当し、現在状態（つまり現在のモータ２の回転状態）に対して制御パラメータをどのように設定するべきかという行動は、更新式の行動ａに該当し、報酬演算部１４１ａが求める報酬Ｒは、更新式の報酬ｒに該当する。よって行動価値関数更新部１４１ｂは、現在状態に対する制御パラメータの変更の価値を表す行動価値関数Ｑを、報酬Ｒを用いたＱ学習により繰り返し更新する。
【００９８】
報酬演算部１４１ａは、例えば、新たに制御パラメータを設定した後に、設定した制御パラメータによりトルク補償値を算出してモータ２の出力軸２ａに生じた摩擦トルクτｄｍを抑制する制御を行ったときに、報酬Ｒを算出する。具体的には、報酬演算部１４１ａは、モータ２の回転状態の適否判定結果が「適」と判定された場合に正（プラス）の報酬Ｒを算出し、モータ２の回転状態の適否判定結果が「否」と判定された場合に負（マイナス）の報酬Ｒを算出する。正負の報酬Ｒの絶対値は、互いに同一であってもよいし異なっていてもよい。また、判定の条件として、判定データＤに含まれる複数の値を組み合わせて判定するようにしても良い。
【００９９】
また、モータ２の回転状態の適否判定結果を、「適」及び「否」の二通りだけでなく複数段階に設定することができる。例えば、モータ２の回転状態の適否判定に用いた上述の「差分の総和」をＶとし、モータ２の回転状態の許容範囲の最大値をＶｍａｘとした場合、差分の総和Ｖが、０≦Ｖ＜Ｖｍａｘ／５のときは報酬Ｒ＝５を与え、Ｖｍａｘ／５≦Ｖ＜Ｖｍａｘ／２のときは報酬Ｒ＝２を与え、Ｖｍａｘ／２≦Ｖ≦Ｖｍａｘのときは報酬Ｒ＝１を与えるような構成とすることができる。さらに、学習の初期段階はＶｍａｘを比較的大きく設定し、学習が進行するにつれてＶｍａｘを縮小する構成とすることもできる。
【０１００】
行動価値関数更新部１４１ｂは、状態変数Ｓと判定データＤと制御パラメータと報酬Ｒとを、行動価値関数Ｑで表される行動価値（例えば数値で表される）と関連付けて整理した行動価値テーブルを持つことができる。この場合、行動価値関数更新部１４１ｂが行動価値関数Ｑを更新するという行為は、行動価値関数更新部１４１ｂが行動価値テーブルを更新するという行為と同義である。Ｑ学習の開始時には環境の現在状態（モータ２の回転状態）と制御パラメータの相関性は未知であるから、行動価値テーブルにおいては、種々の制御パラメータと状態変数Ｓと判定データＤと報酬Ｒとが、無作為に定めた行動価値の値（行動価値関数Ｑ）と関連付けた形態で用意されている。なお報酬演算部１４１ａは、判定データＤが分かればこれに対応する報酬Ｒを直ちに算出でき、算出した報酬Ｒの値が行動価値テーブルに書き込まれる。
【０１０１】
モータ２の回転状態の適否判定結果に応じた報酬Ｒを用いてＱ学習を進めると、より高い報酬Ｒが得られる行動を選択する方向へ学習が誘導され、選択した行動を現在状態で実行した結果として変化する環境の状態（つまり判定データＤ）に応じて、現在状態で行う行動についての行動価値の値（行動価値関数Ｑ）が書き換えられて行動価値テーブルが更新される。この更新を繰り返すことにより、行動価値テーブルに表示される行動価値の値（行動価値関数Ｑ）は、適正な行動ほど大きな値となるように書き換えられる。このようにして、未知であった環境の現在状態（モータ２の回転状態）とそれに対する行動（制御パラメータの設定）との相関性が徐々に明らかになる。つまり行動価値テーブルの更新により、モータ２の回転状態と、制御パラメータとの関係が最適解に徐々に近づけられる。
【０１０２】
ここで、Ｑ学習では、すべての状態行動ペア（ｓ，ａ）についてのＱ（ｓ，ａ）のテーブルを作成して、学習を行う方法がある。しかし、すべての状態行動ペアのＱ（ｓ，ａ）の値を求めるには状態数が多すぎて、Ｑ学習が収束するのに多くの時間を要してしまう場合がある。そこで、ニューラル・ネットワークを利用して強化学習するようにしてもよい。具体的には、行動価値関数Ｑを適当なニューラル・ネットワークを用いて構成し、ニューラル・ネットワークのパラメータを調整することにより行動価値関数Ｑ（ｓ，ａ）の値を算出するようにする。ニューラル・ネットワークを利用することにより、Ｑ学習が収束するのに要する時間を短くすることが可能となる。
【０１０３】
また、機械学習装置１４０が教師なしで機械学習を行う場合について説明してきたが、機械学習装置１４０が、教師有りの機械学習を行うこともできる。教師あり学習では、入力とそれに対応する出力との既知のデータセット、いわゆる教師データが予め大量に機械学習装置１４０に与えられ、機械学習装置１４０がこの教師データから入力と出力との相関性を暗示する特徴を識別して、新たな入力に対する出力を推定するための相関性モデル、例えばここではモータ２の回転状態と制御パラメータの関連性を学習する。
【０１０４】
より具体的には、機械学習装置１４０の学習部１４１は、予め与えられた大量の教師データから、制御パラメータおよび状態変数Ｓとモータ２の回転状態（判定データＤ）との相関性特徴を識別する演算を行う。次に、学習部１４１は、予め識別しておいた相関性特徴と、制御パラメータ、状態変数Ｓ及び判定データＤから最適なモータ２の回転状態を導く相関性モデルとの誤差を計算する。その後、学習部１４１は、この誤差を縮小するように相関性モデルを更新する。そして学習部１４１は、相関性モデルの更新を繰り返すことによって状態変数Ｓにおいて最適なモータ２の回転状態を導く最適な制御パラメータを学習する。そして、学習により導出した制御パラメータが設定される。
【０１０５】
相関性モデルの初期値は、例えば、制御パラメータ及び状態変数Ｓと判定データＤとの相関性を単純化して表現したものであり、教師あり学習の開始前に学習部１４１に与えられる。教師データは、例えば、過去に上述の強化学習や人手によって試行錯誤的に行う制御パラメータの設定、シミュレーションを用いた制御パラメータの設定などにより得た状態変数Ｓ、制御パラメータ及び判定データＤのデータセットによって構成される。学習部１４１は、状態変数Ｓ、制御パラメータと、判定データＤとの相関性を暗示する相関性特徴を識別し、この相関性特徴と、現在の状態における制御パラメータと状態変数Ｓ及び判定データＤに対応する相関性モデルとの誤差を求める。さらに学習部１４１は、例えば予め定めた更新ルールにしたがい、誤差が小さくなる方向へ相関性モデルを更新する。
【０１０６】
相関性モデルの初期値が与えられた後、更新後の相関性モデルにしたがってトルク補償値を算出して摩擦トルクτｄｍを抑制する制御が行われる。学習部１４１は、この制御により変化した状態変数Ｓ及び判定データＤを用いて、変更した制御パラメータ、変化した状態変数Ｓ及び判定データＤに対応する相関性モデルと、教師データから求めた相関性特徴との誤差を求める。そして、学習部１４１は、この誤差に基づき、再び相関性モデルを更新する。これを繰り返して、未知であったモータ２の回転状態とそれに対する適切な制御パラメータとの相関性が徐々に明らかになる。相関性モデルの更新により、モータ２の回転状態と制御パラメータとの関係が最適解に徐々に近づく。教師あり学習を進める際に、例えばニューラル・ネットワークを用いても良い。
【符号の説明】
【０１０７】
２    モータ
３    減速装置
４    ロータリ・エンコーダ
５    モータ制御装置
６    出力軸
８    トルクセンサ
１０    減速機構
２０、９０    運動学モデル
２０ａ    積分器
２０ｂ    積分器
２０ｃ    減算器
２０ｄ    乗算器
２０ｅ    乗算器
２０ｆ    加算器
２０ｇ    外乱要素
５０、６０  外乱オブザーバ装置
５０ａ    加算器
５０ｂ    利得要素
５０ｃ    利得要素
５０ｄ    利得要素
５０ｅ    加算器
５５ａ    ＳＶＭＮＣ（補償値算出部）
５５ｂ    ＳＴＭＮＣ（補償値算出部）
５９（ａ）、５９（ｂ）、５９（ｃ）可変利得要素
【図１】
2020198657.tif 000016
【図２】
2020198657.tif 000017
【図３】
2020198657.tif 000018
【図４】
2020198657.tif 000019
【図５】
2020198657.tif 000020
【図６】
2020198657.tif 000021
【図７】
2020198657.tif 000022
【図８】
2020198657.tif 000023
【図９】
2020198657.tif 000024
【図１０】
2020198657.tif 000025
【図１１】
2020198657.tif 000026
【図１２】
2020198657.tif 000027
【図１３】
2020198657.tif 000028