(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-30
(45)【発行日】2023-07-10
(54)【発明の名称】モータ制御装置、モータ装置および機械学習装置
(51)【国際特許分類】
H02P 29/00 20160101AFI20230703BHJP
【FI】
H02P29/00
(21)【出願番号】P 2019101737
(22)【出願日】2019-05-30
【審査請求日】2022-05-25
【新規性喪失の例外の表示】特許法第30条第2項適用 http://www.symbion.co.jp/arena/rsj2018/index.html 平成30年9月5日 第36回日本ロボット学会学術講演会 中部大学春日井キャンパス(愛知県春日井市松本町1200)平成30年9月6日(開催期間:平成30年9月5日~平成30年9月7日) メカトロニクス制御研究会 予稿集 発行日 平成30年9月26日 メカトロニクス制御研究会 自動車会館2階小会議室(東京都千代田区九段南4-8-13)平成30年9月26日 SAMCON2019(The 5th IEEJ International Workshop on Sensing,Actuation,Motion Control,and Optimization)予稿集USB 発行日 平成31年3月4日 SAMCON2019(The 5th IEEJ International Workshop on Sensing,Actuation,Motion Control,and Optimization)千葉大学 西千葉キャンパス(千葉県千葉市稲毛区弥生町1-33)平成31年3月6日(開催期間:平成31年3月4日~平成31年3月6日)
(73)【特許権者】
【識別番号】304021288
【氏名又は名称】国立大学法人長岡技術科学大学
(73)【特許権者】
【識別番号】591156799
【氏名又は名称】ユニパルス株式会社
(74)【代理人】
【識別番号】110002675
【氏名又は名称】弁理士法人ドライト国際特許事務所
(72)【発明者】
【氏名】大石 潔
(72)【発明者】
【氏名】横倉 勇希
(72)【発明者】
【氏名】パドロン パラガ ホアン ビセンテ
(72)【発明者】
【氏名】佐々木 尊英
【審査官】柏崎 翔
(56)【参考文献】
【文献】特開2013-254257(JP,A)
【文献】特開2017-34936(JP,A)
【文献】特開平9-74783(JP,A)
【文献】特開2000-168600(JP,A)
【文献】特開2001-231280(JP,A)
【文献】特開2019-21024(JP,A)
【文献】特開2016-57812(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 29/00
(57)【特許請求の範囲】
【請求項1】
制御対象となるモータへの電流指令値、前記モータの回転速度および前記モータに減速機構を介して接続された出力軸のねじりトルクの測定値を制御入力として受け取り、前記モータの出力軸に作用する摩擦トルクによる外乱を抑制する外乱オブザーバ装置を備え、
前記外乱オブザーバ装置は、前記制御入力に基づいて前記摩擦トルクを補償するトルク補償値を算出する補償値算出部を有し、
前記補償値算出部の特性を表す感度関数が前記モータの前記回転速度に基づいて設定され
、
前記モータの前記回転速度に基づいて、前記感度関数が、0次の感度関数、1次の感度関数又は2次の感度関数のいずれかに切り替わる
モータ制御装置。
【請求項2】
制御対象となるモータへの電流指令値、前記モータの回転速度および前記モータに減速機構を介して接続された出力軸のねじりトルクの測定値を制御入力として受け取り、前記モータの出力軸に作用する摩擦トルクによる外乱を抑制する外乱オブザーバ装置を備え、
前記外乱オブザーバ装置は、前記制御入力に基づいて前記摩擦トルクを補償するトルク補償値を算出する補償値算出部を有し、
前記補償値算出部の特性を表す感度関数が前記モータの前記回転速度に基づいて設定され、
前記モータの前記回転速度に基づいて、前記感度関数が、0次の感度関数、1次の感度関数又は高次の感度関数のいずれかに切り替わる
モータ制御装置。
【請求項3】
前記補償値算出部は、前記制御入力に基づいて算出された前記摩擦トルクの理論値をフィルタするフィルタとして構成され、
前記感度関数が前記フィルタの感度関数である
請求項1
又は2に記載のモータ制御装置。
【請求項4】
前記感度関数は、設計極が単根である
請求項1
~3のいずれか1項に記載のモータ制御装置。
【請求項5】
前記外乱オブザーバ装置は、前記モータの前記回転速度に基づいて、前記モータに生じた高周波成分を除去するための高周波ダンピング項を算出する高周波ダンピング項演算部を備える
請求項1~4のいずれか1項に記載のモータ制御装置。
【請求項6】
モータと、
前記モータに減速機構を介して接続された出力軸と、
前記出力軸に生じるねじりトルクを測定するトルクセンサと、
前記モータの角度位置を検出するロータリ・エンコーダと、
請求項1~5のいずれか1項に記載のモータ制御装置と
を備えるモータ装置。
【請求項7】
制御対象となるモータへの電流指令値、前記モータの回転速度および前記モータに減速機構を介して接続された出力軸のねじりトルクの測定値を制御入力として受け取り、前記モータの出力軸に作用する摩擦トルクによる外乱を抑制する外乱オブザーバ装置を備え、前記外乱オブザーバ装置は、前記制御入力に基づいて前記摩擦トルクを補償するトルク補償値を算出する補償値算出部を有し、前記補償値算出部の特性を表す感度関数が前記モータの前記回転速度に基づいて設定されるモータ制御装置に対する機械学習装置であって、
前記モータの状態を、環境の現在状態を表す前記回転速度、トルク値、モータ電流およびモータ温度のうちの少なくとも一つを含んだ状態変数として観測する状態観測部と、
前記モータの回転状態を示す速度波形データに基づいた判定データを取得する判定データ生成部と、
前記状態変数と前記判定データとを用いて、前記モータの回転状態と、前記モータへの外乱補償特性を記述する特性係数、スイッチ切り替え閾値および高周波成分算出要素のフィルタ特性係数のうちの少なくとも一つを含む制御パラメータとを関連付けて学習する学習部と、
前記学習部による学習結果に基づき、前記制御パラメータを設定する意思決定部とを有する
機械学習装置。
【請求項8】
前記学習部は、
前記制御パラメータを変更した結果に対する報酬を演算する報酬演算部と、
前記報酬に基づいて、行動価値関数を更新する行動価値関数更新部と、を含み、
前記行動価値関数更新部によって前記行動価値関数の更新を繰り返して、前記報酬が最も多く得られる前記制御パラメータを学習する
請求項7に記載の機械学習装置。
【請求項9】
前記学習部は、
前記制御パラメータと前記状態変数と前記判定データとから前記モータの前記回転状態を導く相関性モデルと予め用意された教師データから識別される相関性特徴との誤差を計算し、
前記誤差を小さくするように前記相関性モデルを更新する
請求項7に記載の機械学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ制御装置、モータ装置および機械学習装置に関する。
【背景技術】
【0002】
従来のモータ制御装置では、出力軸に摩擦力が作用して起きる外乱を推定して抑制するために外乱オブザーバが用いられてきたが、摩擦による外乱の補償は多くの場合不完全である。例えば、モータ出力軸が静止摩擦につかまって極低速状態となり、さらに力を加えてゆくと急激に回転が速くなることで、回転速度が滑らかでなくなる(スティック-スリップ現象)ことがある。言い換えると、出力軸に作用するクーロン摩擦力が大きくなると回転が極低速状態となり、その後、最大摩擦力を超える力が加わると負の勾配特性を有する粘性摩擦力により急激に回転が速くなる。
【0003】
スティック時にクーロン摩擦特性が変化することで生じる過渡状態では、摩擦特性の推定誤差や外乱の非線形特性により外乱オブザーバによる補償が不完全となり、負の勾配特性を有する粘性摩擦力によるスリップ時には、回転が急激に速くなることで外乱オブザーバの推定に遅れが生じる。その結果、モータにより関節駆動されるロボット・アームがガタガタ振動し、アーム先端の動きが滑らかでなくなる。
【0004】
この問題に対処するために、特許文献1に記載された制御装置では、まず、減速機の動摩擦トルク同定を行い、この動摩擦トルクを補償するフィードフォワード制御を行うことで、残留摩擦を補償するために必要なトルクセンサの要求バンド幅を低減する。その上で、静止摩擦トルク等の補償には、要求バンド幅の小さい安価なトルクセンサと外乱オブザーバを用いる。また、特許文献2記載のモータ制御装置では、摩擦損失補償を行う仕組みとして、同様の補償制御を行っており、特許文献3では、ACサーボモータの制御系において、制御対象が静止状態から動き出したときにスティック・スリップ現象が発生することのない高精度な位置制御方法を開示している。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2016-039737号公報
【文献】特開2012-130160号公報
【文献】特開2001-231280号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記特許文献1乃至3に記載された手法では、クーロン摩擦や粘性摩擦に起因する外乱を適切に補償できるか否かは、摩擦特性(摩擦の外乱モデル)や摩擦トルクを記述する物理量の推定精度および関連する制御係数の設定値の好適性に依存している。摩擦特性や摩擦トルクを記述する物理量を高精度に推定できない場合には、クーロン摩擦および粘性摩擦に起因する外乱の補償も不完全となる。
【0007】
本発明に係る幾つかの実施形態では、上述した問題点に鑑み、摩擦特性の高精度なモデリングおよび関連する物理量の高精度な同定を必要とせずに、モータの出力軸に作用する摩擦力の推定とこれによる外乱の補償を適切に行うことができるモータ制御装置、モータ装置および機械学習装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明のモータ制御装置は、制御対象となるモータへの電流指令値、前記モータの回転速度および前記モータに減速機構を介して接続された出力軸のねじりトルクの測定値を制御入力として受け取り、前記モータの出力軸に作用する摩擦トルクによる外乱を抑制する外乱オブザーバ装置を備え、前記外乱オブザーバ装置は、前記制御入力に基づいて前記摩擦トルクを補償するトルク補償値を算出する補償値算出部を有し、前記補償値算出部の特性を表す感度関数が前記モータの前記回転速度に基づいて設定される。
【0009】
本発明のモータ装置は、モータと、前記モータに減速機構を介して接続された出力軸と、前記出力軸に生じるねじりトルクを測定するトルクセンサと、前記モータの角度位置を検出するロータリ・エンコーダと、上記のモータ制御装置とを備える。
【0010】
本発明の機械学習装置は、上記のモータ制御装置に対する機械学習装置であって、前記モータの状態を、環境の現在状態を表す回転速度、トルク値、モータ電流およびモータ温度のうちの少なくとも一つを含んだ状態変数として観測する状態観測部と、前記モータの回転状態を示す速度波形データに基づいた判定データを取得する判定データ生成部と、前記状態変数と前記判定データとを用いて、前記モータの回転状態と、前記モータへの外乱補償特性を記述する特性係数、スイッチ切り替え閾値および高周波成分算出要素のフィルタ特性係数のうちの少なくとも一つを含む制御パラメータとを関連付けて学習する学習部と、前記学習部による学習結果に基づき、前記制御パラメータを設定する意思決定部とを有する。
【発明の効果】
【0011】
以上より、本発明によれば、摩擦特性の高精度なモデリングおよび関連する物理量の高精度な同定を必要とせずに、モータの出力軸に作用する摩擦力の推定とこれによる外乱の補償を適切に行うことが可能なモータ制御装置、モータ制御方法および機械学習装置を実現することができる。
【図面の簡単な説明】
【0012】
【
図1】本発明の第1実施形態のモータ制御装置と制御対象となるモータの構成図である。
【
図2】本発明の第1実施形態の減速装置の断面を示す概略図である。
【
図3】本発明の実施形態に係る外乱オブザーバ・プログラムを実行可能なプロセッサを含む制御装置の内部構成図である。
【
図4】モータと負荷の運動学モデルに本発明の第1実施形態に係る外乱オブザーバ装置が接続された状態のブロック線図である。
【
図5】スティック-スリップ状態におけるモータ回転数の非線形な変化を示すプロット図である。
【
図6】感度関数の設定に用いるスイッチングパターンを示す図である。
【
図7】本発明の第1の実施形態に係る外乱オブザーバ装置による外乱抑制効果の評価結果を曲線グラフで示すプロット図である。
【
図8】本発明の第2実施形態に従い、モータと負荷の運動学モデルに外乱オブザーバ装置と高周波ダンピング要素の両者が接続された状態のブロック線図である。
【
図9】外乱オブザーバ装置と高周波ダンピング要素の組み合わせにより、スティック-スリップ現象によるモータ回転数の不連続変化が滑らかにされている評価結果を示す図である。
【
図10】摩擦トルクにより生じる系の振動周波数とモータの回転加速度との関係を、外乱オブザーバの構成方式毎に対比した図である。
【
図11】高調波成分の各次数について、外乱オブザーバの構成方式毎に摩擦トルクの抑制効果を対比した図である。
【
図12】本発明の第3の実施形態の外乱オブザーバ装置の全体構成を示すブロック線図である。
【
図13】制御系内部のパラメータを機械学習の結果に従って適切に調整するための機械学習装置の構成を示す図である。
【発明を実施するための形態】
【0013】
<1>第1の実施形態
(1-1)本発明の第1の実施形態に係る制御対象モータおよびモータ制御装置の構成
以下、図面を参照しながら、本発明の第1の実施形態に係るモータ制御装置について説明する。
図1に示すように、第1実施形態のモータ装置1は、モータ2と、モータ2の出力軸(図示しない)の一端に接続された減速装置3と、モータ2の出力軸の他端に接続されたロータリ・エンコーダ4と、モータ2、減速装置3及びロータリ・エンコーダ4とそれぞれ配線7a、7b、7cを介して接続されたモータ制御装置5を備えている。
【0014】
モータ2は、配線7aを介してモータ制御装置5に接続されている。モータ制御装置5から配線7aを介してモータ2に電流が供給されると、供給された電流の大きさに応じてモータ2は出力軸を回転させ、ねじりトルクを出力軸に発生させ、これによって減速装置3が駆動される。減速装置3は、出力軸6とトルクセンサ8と減速機構10とを備えている。減速機構10は、一端がモータ2の出力軸に接続され、他端が出力軸6に接続され、モータ2の出力軸の回転速度とねじりトルクの大きさとを減速比に応じて変換する。減速機構10がモータ2によって駆動されると、出力軸6が回転し、出力軸6にねじりトルクが発生する。出力軸6の先端には、ロボットのアームのような負荷が機械的に接続され、出力軸6に生じたねじりトルクによって負荷が駆動される。
【0015】
トルクセンサ8は、出力軸6に設置されている。トルクセンサ8は、出力軸6に生じたねじりトルクを測定する。トルクセンサ8は、ねじりトルクの測定値を出力値として出力する。ロータリ・エンコーダ4は、モータ2の出力軸の位置、すなわち、所定の基準点からの出力軸の角度位置を検出し、電気信号に変換して出力する。モータ制御装置5は、配線7aを介してモータ2に電流を供給する。モータ制御装置5は、トルクセンサ8の出力値を、配線7bを介して受け取る。モータ制御装置5は、配線7cを介してロータリ・エンコーダ4から出力されたモータ2の角度位置を受け取る。
【0016】
モータ制御装置5は、トルク指令値や速度指令値などの種々の指令値に基づいて、モータ2が指令値に追従するように制御する。本実施形態では、モータ制御装置5はモータ2のねじりトルクを制御する場合を例として説明する。モータ制御装置5は、トルク指令値が入力されると、減速装置3の出力軸6に発生するねじりトルクがトルク指令値に追従するように、モータ2を制御する。すなわち、モータ制御装置5は、トルク指令値とトルクセンサ8の出力値とに基づいて算出した電流指令値をモータ2に出力してモータ2を駆動して、ねじりトルクの大きさを制御する。ここでは、電流指令値をモータ2に出力するということは、電流指令値に応じた直流電流をモータ2に供給することを意味している。
【0017】
ここで、減速装置3の構造についてさらに説明する。
図2に示すように、減速装置3は、出力軸6と、トルクセンサ8と、減速機構10と、出力軸6の一部及び減速機構10を収容する筐体12と、出力軸6を筐体12に対して回転自在に支持するベアリング13と、ベアリング13上に設けられた軸カバー14と、を備えている。
【0018】
減速機構10は、波動歯車機構であり、モータ2の出力軸2aの先端に接続されたウエーブジェネレータ10aと、薄肉の金属でカップ形状に形成されて弾性を有し、当該カップの開口部10dの外側面にギア歯(図示せず)が設けられたフレクスプライン10bと、当該フレクスプライン10bのギア歯と噛み合うギア歯(図示せず)が内側面に設けられたサーキュラスプライン10cと、を備えている。ウエーブジェネレータ10aは、モータ2の筐体(図示せず)に固定されたベアリング16に支持された出力軸2aの先端に、ねじ11dによって固定されている。ウエーブジェネレータ10aはフレクスプライン10bに挿入されている。
【0019】
フレクスプライン10bの底部15近傍にある出力軸6と筐体12との間の空間には、オイルシール25が設けられている。オイルシール25は、筐体12に固定されていると共に、出力軸6に接触しており、出力軸6と筐体12との間の空間をシールし、減速機構10側のオイルがトルクセンサ8側に飛散するのを防いでいる。出力軸6は、円柱形状をしており、減速機構10に接続された一端が筐体12に収容されており、他端が負荷を取り付けられるように筐体12から突出している。
【0020】
出力軸6は、径が他の部分よりも小さく形成された起歪部6aと、起歪部6aよりもモータ2側に形成され、出力軸6から鍔状にせりだした円板形状の鍔部6bとを有している。起歪部6aには、歪ゲージ18が貼着されている。鍔部6bには、基板19が基板固定支柱30によって固定されている。基板19はリング状の円板である。基板19は、第1基板19aと第2基板19bとでなり、第1基板19aの表面には歪ゲージ18に結線されたトルク検出回路29が設けられている。
【0021】
トルク検出回路29は、出力軸6に配置された歪ゲージ18の抵抗変化を検出する抵抗変化検出回路(
図2には不図示)を備える。さらに、トルク検出回路29は、抵抗変化検出回路の出力信号に基づいてねじりトルクの測定値を算出するCPUと、整流回路と、安定化回路と(いずれも
図2には不図示)を備え、歪ゲージ18に生じた抵抗変化から出力軸6に生じるねじりトルクを算出し送信部27へ送出する。第2基板19bの表面には、トルク検出回路29に結線され、トルク検出回路29から送出されたねじりトルク測定値の信号を無線で送信する送信部27が設けられている。
【0022】
筐体12に固定された筐体基板24には、送信部27から送信された光信号を受信する受信部28が送信部27と対向する位置に設けられており、送信部27及び受信部28間で赤外線通信などの無線通信ができるようになされている。受信部28の出力は配線7b(
図2には不図示)に接続されており、モータ制御装置5にねじりトルクの測定値に対応した信号を出力値として送出する。さらに、出力軸6には、例えばフェライトシートなどの磁性体シートでなり、出力軸6の側面を覆う2次側コア21aと、2次側コア21aの表面に例えば銅線などの導電性の線材を巻回して形成された2次コイル21bと、を備える受電部21が設けられている。
【0023】
筐体基板24には、受電部21と対向する位置にコアホルダ23が固定されている。コアホルダ23は、送電部22を保持している。送電部22は、直方体形状の部材と、当該部材の長軸方向の両端で直方体の表面に垂直に同じ方向に突出した突部とを有する形状(断面形状がコ字型)をしており、例えばフェライトなどの磁性体で作られている1次側コア22aと、1次側コア22aの2つの突部間に例えば銅線などの導電性の線材を直方体形状の部材に巻回して形成された1次コイル22bと、を備えている。
【0024】
送電部22は、モータ制御装置5から供給された交流電流を1次コイル22bに流し、1次コイル22bに交流磁界を発生させ、受電部21の2次コイル21bに電流を誘起する。よって、2次コイル21bが1次コイル22bから非接触で電力を受電できる。受電部21は、2次コイル21bに誘起された交流電流をトルク検出回路29に供給する。トルク検出回路29は、供給された交流電圧を整流回路と安定化回路とによって直流電圧へと変換し、抵抗変化検出回路などに供給する。
【0025】
出力軸6を筐体12に対して回転自在に支持するベアリング13は、接続部26を介して筐体12に設けられている。接続部26は、中心に穴が形成されており、当該穴内に出力軸6の鍔部6bが配置され、接続部26の穴の内側面26aと鍔部6bとが所定の間隔を空けて対向するように、筐体12に固定されている。ベアリング13は、クロスローラベアリングであり、外輪13aと、内輪13bと、円筒形状のコロ13cとを備え、外輪13aが接続部26に固定され、内輪13bがねじ11cによって鍔部6bに固定されることで、出力軸6が筐体12に対して自在に回転できるように出力軸6を支持している。
【0026】
軸カバー14は、ねじ11eによってベアリング13の外輪13aに固定されており、中心に穴が形成されている。当該穴は、軸カバー14をベアリング13に固定したとき、穴の内側面と出力軸6とが接触しない程度の大きさに形成されている。トルクセンサ8は、上述の歪ゲージ18とトルク検出回路29と送信部27と受信部28と復調回路と受電部21と送電部22とで構成されている。トルクセンサ8の構成は、出力軸6に生じたねじりトルクτsを測定できれば、特に限定されない。
【0027】
次に、
図3および
図4を参照しながら、第1の実施形態に係るモータ制御装置5の構成について説明する。以下で説明するモータ制御装置5の構成はあくまで一例であり、適宜変更してもよい。
図3に示すモータ制御装置5は、内部の構成モジュールとして、プロセッサ510、記憶部520、加減算器530、電流指令出力インターフェース540、第1インターフェース回路561および第2インターフェース回路562を含んで構成され、これらは、バス560によって通信可能に相互接続されている。
【0028】
本実施形態では、上述のように、モータ制御装置5は、モータ2に接続された減速機構10の出力軸6に発生させるねじりトルクτsを制御するように構成されている。モータ制御装置5は、外乱オブザーバ装置50(
図4を参照)として動作するようにプログラミングされたプロセッサ510と、摩擦トルクによる外乱の推定値と制御目標値との和からモータ2への電流指令値i
q
ref(
図4)を算出してプロセッサ510(外乱オブザーバ装置50)に入力する加減算器530と、プロセッサ(外乱オブザーバ装置50)とデータ通信可能に接続され、複数の異なる制御パラメータγ
k(1≦k≦K)を記憶する記憶部520とを備えている。電流指令値i
q
refは、モータ駆動電流としてモータ2に供給される電力である。
【0029】
さらに、モータ制御装置5は、第1インターフェース回路561および第2インターフェース回路562を有し、バス560を介して上記の各構成要素と接続されている。第1インターフェース回路561は、配線7bを介して
図1に示すトルクセンサ8からトルク測定値のデータを含む信号を受信する。第2インターフェース回路562は、配線7cを介して
図1に示すロータリ・エンコーダ4からモータ2の出力軸2aの角度位置を表すデータを信号として受信する。
【0030】
プロセッサ510は、トルクセンサ8からトルク測定値のデータを受信し、ロータリ・エンコーダ4からモータ2の出力軸2aの角度位置を表すデータを受信する。その上で、プロセッサ510は、受信したこれらのデータを入力として用いて、モータ2に出力する電流指令の値を計算し、加減算器530を介して電流指令出力インターフェース540に出力する。また、プロセッサ510は、モータ2の制御に必要なその他の演算を実行し、図示しない他の出力インターフェースを介して制御出力として出力するようにしてもよい。
【0031】
本実施形態では、記憶部520から読み出した外乱オブザーバ・プログラム521をプロセッサ510が読み込んで実行することで、外乱オブザーバ装置50が実現されている。なお、外乱オブザーバ装置50は、専用に設計されたプロセッサによって実現されてもよく、複数のプロセッサや回路の集合体として構成されてもよい。
【0032】
また、本実施形態では、外乱オブザーバ・プログラム521を実行中のプロセッサ510は、記憶部520に記憶された外乱補償制御の演算に必要なデータを読み出し、摩擦トルクによる外乱を推定して抑制するための補償制御を行うように構成されている。
【0033】
本実施形態では、演算に用いるデータとして、モータ2の回転速度ωmからモータ2の出力トルクτmを推定するのに用いる疑似的な慣性モーメントJm(データ522a)と、モータ2と出力軸6の間に介装された減速機構10の減速比Rg(データ522b)と、負荷Lおよびモータ2の運動学モデルを記述する動力学特性パラメータ(522c、522f)と、外乱オブザーバ装置50の周波数応答を所望の応答特性に近づけるように設定されるフィルタ係数および利得係数(データ522d)と、摩擦トルクに起因する非線形制御特性をモデル化する非線形特性パラメータ(データ522e)が記憶部520に記憶されている。
【0034】
本発明の幾つかの実施形態では、
図4に示すモータ制御装置5は、
図7を用いて後述するスティック-スリップ現象により摩擦トルクがモータ2の出力軸2aに作用し、これに起因する外乱を外乱オブザーバ装置50が抑制するように構成される。
【0035】
そこで、以下、
図5を参照しながらスティック-スリップ現象によりモータ2の出力軸2aに作用する摩擦トルクについて詳しく述べる。スティック-スリップ現象とは、強い非線形性を持つ摩擦外乱によって引き起こされる現象である。スティック-スリップ現象は、摩擦係数が急激かつ非常に大きくなりモータ2の出力軸2aが静止摩擦につかまって極低速状態となるスティック現象と、さらに力を加えてゆくと正の値の摩擦係数が急に負の値に符号反転し、急激に回転が速くなるスリップ現象とが組み合わさって生じる現象である。スティック-スリップ現象が生じると回転速度及び回転加速度が滑らかでなくなる。
【0036】
以下、上述したスティック現象とスリップ現象について
図5(A)および
図5(B)に示す具体例を用いて説明する。
図5(A)に示す曲線グラフは、モータ2の回転速度ω
mを横軸とし、モータ2の出力軸2aに作用する摩擦トルクの大きさを縦軸とし、回転速度ω
mの変化に応じた摩擦トルクの変化をプロットしたものである。また、
図5(B)に示す曲線グラフは、経過時間tを横軸とし、モータ2の回転速度ω
mを縦軸とし、時間tの経過に伴って回転速度ω
mがどのように変化するかをプロットしたものである。
【0037】
図5(A)に示す回転速度領域VR(2)は、
図5(B)に示す時間区間Ph(1)に対応し、時間区間Ph(1)内では、モータ2の回転速度ω
mは領域VR(2)内にある。
図5(A)および
図5(B)に示すように、モータ2の回転速度ω
mが領域VR(2)内にある間は、スティック現象が生じ、モータ2の出力軸2aが静止摩擦につかまって極低速状態となっており、出力軸6に作用している摩擦トルクにおいてクーロン摩擦成分が支配的となっている。
【0038】
これに対し、
図5(A)に示す回転速度領域VR(1)は、
図5(B)に示す時間区間Ph(2)に対応し、時間区間Ph(2)内では、モータ2の回転速度ω
mは領域VR(1)内にある。
図5(A)および
図5(B)に示すように、モータ2の回転速度ω
mが回転速度ω
slipを境にして回転速度ω
mが急激に上昇しており、スリップ現象が生じていることがわかる。この急激な回転速度ω
mの上昇は、回転トルクが増加していって領域VR(2)で作用していた静止摩擦を乗り越えたことで、出力軸6に作用している摩擦トルクにおいてクーロン摩擦成分に代わって粘性摩擦成分が支配的となったことを示している。
【0039】
この急激な変化は、例えば、
図2に示すオイルシール25とモータ2の出力軸2aとの間の摩擦によって引き起こされた非線形摩擦効果が増大することで生じる。スティック-スリップ現象により生じた摩擦トルクがモータ2の出力軸2aに外乱として作用している期間中は、モータ2の回転速度ω
mおよび回転加速度ω
m’は滑らかに変化せず、不規則に歪んだ波形を示す。このようなスティック-スリップ現象が発生すると、回転が滑らかではなく不規則に変化する状態にあるモータ2から出力軸6に取り付けられた負荷に出力軸6を介してトルクが伝わる。その結果、負荷Lにおいても高周波成分を含む振動が発生し好ましくない。
【0040】
(1-2)本発明の第1の実施形態に係る外乱オブザーバ装置の構成と動作
本実施形態では、SVMNC(Sensitivity-variable Motor-side Normalization Compensator)を外乱オブザーバ装置に用いることで、スティック-スリップ現象の影響を効果的に低減させるようにしている。SVNMCは、モータの出力軸が受けるねじりトルクとモータの電流指令値とモータの回転速度とに基づいて外乱を補償するトルク補償値を算出する装置であり、SVMNC55aの特性を表す後述の感度関数がモータ2の回転速度ω
mに基づいて設定されるように構成されている。そして、
図4に示す本実施形態の外乱オブザーバ装置50では、補償値演算部としてのSVMNC55aが上記の制御入力に基づいて摩擦トルクτ
dmを補償するトルク補償値を算出し、トルク補償値が制御目標値である電流i
ctrlにフィードバックされるように構成している。本実施形態では、このように外乱オブザーバ装置50を構成することで、スティック-スリップ現象を抑制するようにしている。
【0041】
以下では、
図4に示すブロック線図を用いて、外乱オブザーバ装置50の構成をより詳細に説明する。
図4のブロック線図は、制御系全体を示す図であり、モータ2を運動学モデル20、減速装置3を運動学モデル90として表している。また、外乱オブザーバ装置50も同様にモデル化されて表されている。なお、モータ2及び減速装置3は、出力軸6が弾性を有していたり、減速機構10のギア歯が弾性結合していたりするなどのために、所定の共振周波数で振動する機械共振系である。そのため、
図4では、モータ2及び減速装置3を二慣性共振系の近似化モデルを用いて表している。
【0042】
まずは、モータ2をモデル化した運動学モデル20について説明する。モータ2は、Ktをゲインに有する乗算器20dと、1/Jmをゲインに有する乗算器20eと、非線形特性を有する摩擦トルクをモデル化した外乱要素20gと、減算器20cと、加算器20fと、2つの積分器20a、20bとで構成される。図中の、Ktはトルク定数であり、Jmはモータ2の慣性モーメントであり、sはラプラス演算子である。
【0043】
運動学モデル20では、電流指令値i
q
refと、減速装置3からモータ2の出力軸2a(
図2)が受けるトルクの値であるトルク応答値とがモータ2に入力され、出力軸2aの回転速度ω
mと出力軸2aの回転角度を表す角度位置θ
mとがモータ2から出力されるように表されている。
【0044】
モータ2に入力された電流指令値iq
refは、乗算器20dにおいてトルク定数Ktを乗算され、電流指令値iq
refに応じたトルク値τrefに変換される。当該トルク値τrefは、減算器20cにおいて、後述するモータ2の外乱トルクτdisを減算される。このようにして減算器20cでは、出力軸2aに生じる出力トルク値τrefが等価的に算出される。
【0045】
出力トルク値は、乗算器20eに入力され、モータ2の出力軸2aの慣性モーメントJmの逆数を乗算される。乗算器20eでは、出力軸2aに生じる加速度を表す回転加速度
【数1】
が等価的に算出され、算出された出力軸2aの回転加速度は、積分器20bに入力され、積分される。積分器20bでは、回転速度ω
mが等価的に算出される。
【0046】
回転速度ωmは積分器20aに入力されて積分される。積分器20aでは、角度位置θmが等価的に算出される。一方で、回転速度ωmには非線形特性を持った外乱要素20gが適用され、この外乱は、スティック-スリップ現象によりモータ2の出力軸2aに作用する摩擦力に対応する。回転速度ωmに非線形特性の外乱要素20gが適用されて得られた摩擦トルクτdmは、加算器20fに入力され、前述のトルク応答値と加算される。加算器20fでは、モータ2に生じる外乱トルクτdisが等価的に算出される。
【0047】
以上のように、電流指令値i
q
refと、減速装置3からのトルク応答値とに基づいて回転速度ω
mと角度位置θ
mとが算出され、モータ2から出力される。モータ2から出力された回転速度ω
mは、
図4に示す外乱オブザーバ装置50の中のSVMNC55aに入力される。モータ2から出力された回転速度ω
mを入力として受け取ったSVMNC55aを含む外乱オブザーバ装置50では、スティック-スリップ現象による非線形な摩擦トルクτ
dmを抑制可能な外乱補償演算を行う。
【0048】
次に、減速装置3をモデル化した運動学モデル90について説明する。運動学モデル90では、出力軸6と減速機構10とがモデル化されており、紙面上段の点線で囲まれた領域が出力軸6に対応する運動学モデルであり、紙面下段の点線で囲まれた領域が減速機構10に対応する運動学モデルである。減速装置3の減速機構10に対応する運動学モデルは、減速機構10の減速比Rgの逆数をゲインに有する乗算器90d、90eと、減算器90hと、ばね定数Ksをゲインとして有する乗算器90gと積分器90fとで構成される。一方、出力軸6に対応する運動学モデルは、減算器90iと、出力軸6の慣性モーメントJlの逆数をゲインとして有する乗算器90aと、積分器90b、90cとで構成される。二慣性共振系の近似化モデルでは、減速装置3の出力軸6に生じるねじりトルクτsが、出力軸2a及び出力軸6の速度差により生じるねじり角と、モータ2及び減速装置3間の機械共振振動に依存して定まるばね定数Ksとの積としてモデル化される。そのため、減速装置3の運動学モデル90では、ねじりトルクを等価的に算出するため、出力軸2aの回転速度ωmと減速装置3の出力軸6の回転速度ωlとが減速機構10に入力されるように表されている。
【0049】
また、減速装置3の運動学モデル90では、ねじりトルクτsが、出力軸6側と、帯域がLs(s)であるトルクセンサ8とに出力され、前述のトルク応答値がモータ2に出力されるように表されている。減速機構10へ入力された回転速度ωmは、乗算器90eで減速比Rgの逆数を乗算される。これは出力軸2aの回転が減速機構10で減速されることを表している。乗算器90eでは、回転速度ωmが減速機構10で減速後の回転速度、すなわち、出力軸6側での回転速度に変換される。
【0050】
減算器90hでは、回転速度ωmから乗算器90eにて減速比Rgの逆数を乗算されて減速後の値に変換されたものから回転速度ωlが減算され、出力軸2aと出力軸6との速度差が算出される。減算器90hの出力は、積分器90fに入力され、積分されるのに続いて乗算器90gによりばね定数Ksを乗算される。積分器90fでは、出力軸2aと出力軸6との速度差を積分することで出力軸2aと出力軸6とのねじり角θsが算出され、当該積分結果にばね定数Ksが乗算されてねじりトルクτsが等価的に算出される。
【0051】
算出されたねじりトルクτsは、減速機構10から、トルクセンサ8と出力軸6側とに出力される。またねじりトルクτsは乗算器90dに入力されて減速比Rgの逆数を乗算される。乗算器90dは、ねじりトルクτsをモータ2側の値に変換し、トルク応答値を算出する。トルク応答値は、減速機構10からモータ2へ入力される。ねじりトルクτsを入力されたトルクセンサ8は、ねじりトルクτsの測定値として、出力値τsを外乱オブザーバ装置50に出力する。なお、運動学モデル90では、減速装置3からトルクセンサ8へねじりトルクτsが出力されるように表されているが、実際には、出力軸6に設けられたトルクセンサ8で出力軸6に発生したねじりトルクτsを検出している。
【0052】
出力軸6は、減算器90iと、出力軸6の慣性モーメントJlの逆数をゲインとして有する乗算器90aと、積分器90b、90cとを有し、ねじりトルクτsと、出力軸6の外乱トルクτl
extが出力軸6に入力され、出力軸6の回転速度を表す回転速度ωlと出力軸6の回転角度を表す角度位置θlとが出力軸6から出力されるように表されている。出力軸6に入力されたねじりトルクτsは、減算器90iで出力軸6に入力された外乱トルクτl
extを減算される。減算器90iでは、ねじりトルクτsから外乱トルクτl
ext成分が除かれ、出力軸6に生じる出力トルク値が算出される。
【0053】
出力トルク値は、乗算器90aに入力され、出力軸6の慣性モーメントJlの逆数を乗算される。乗算器90aでは、出力軸6に生じる加速度を表す回転加速度
【数2】
が等価的に算出され、算出された出力軸6の回転加速度は、積分器90bに入力され、積分される。積分器90bでは、回転速度ω
lが等価的に算出される。回転速度ω
lは出力軸6から減速機構10に出力される。一方で、回転速度ω
lは積分器90cにも入力されて積分される。積分器90cでは、角度位置θ
lが等価的に算出される。角度位置θ
lは出力軸6から出力される。
【0054】
次に、外乱オブザーバ装置50の構成と動作について説明する。まず、外乱オブザーバ装置50の概要について説明する。外乱オブザーバ装置50は、トルクセンサ8からねじりトルクτsの測定値を制御入力として受信する。また、外乱オブザーバ装置50は、モータ制御装置5から回転速度ω
mを制御入力として受信する。さらに、外乱オブザーバ装置50は、モータ2の電流指令値i
q
refを制御入力として受け取る。なお、回転速度ω
mは、モータ制御装置5が、ロータリ・エンコーダ4からモータ2の出力軸2aの角度位置θ
mを表すデータを周期的に受信し、時間あたりの角度位置θ
mの変化率を求めることで得られる。また、ロータリ・エンコーダ4が角度位置θ
mを表すデータをアナログ信号として出力し、モータ制御装置5が当該アナログ信号を例えば微分器などを用いて微分することで、回転速度ω
mを算出するようにしてもよい。
図4では、便宜的に、モータ2の回転速度ω
mがモータ2から外乱オブザーバ装置50のSVMNC55aに直接入力されるように示されている。
【0055】
外乱オブザーバ装置50は、ねじりトルクτsと回転速度ωmと電流指令値iq
refとに基づいて、摩擦トルクτdmによる外乱を補償する補償トルク(トルク補償値ともいう)を算出する。外乱オブザーバ装置50は、算出したトルク補償値を電流値に変換して加減算器530に出力し、制御目標値である電流ictrlにフィードバックする。本実施形態では、電流ictrlに外乱オブザーバ装置50の出力がフィードバックされて電流指令値iq
refが算出される。これにより、モータ2の出力軸2aに生じた摩擦トルクτdmが補償され、外乱が抑制される。
【0056】
次いで、外乱オブザーバ装置50の構成について説明する。外乱オブザーバ装置50は、摩擦トルクτdmによる外乱を抑制するための制御計算を実行するSVMNC55a、加算器50a、利得要素50b、50c、50dおよび加算器50eを備える。利得要素50cは、ねじりトルクτsの測定値を受信し、減速機構10の減速比Rgの逆数に等しい利得を乗じてモータ2側のトルク値に変換してSVMNC55aに制御入力として出力する。利得要素50dは、モータ2から入力された電流指令値iq
refにトルク定数に相当する利得係数Kmを乗じてトルク値に変換し、SVMNC55aに制御入力として出力する。
【0057】
SVMNC55aは、ねじりトルクτsをモータ2側のトルク値に変換した値と、電流指令値iq
refをトルク値に変換した値とモータ2の回転速度ωmとに基づいて、摩擦トルクτdmを補償するトルク補償値を定常成分と過渡成分とに分けて算出し、算出結果を別々に出力するように構成される。特に、トルク補償値の過渡成分に関しては、対応する高次の応答特性関数を表す多項式の各々の次数について、トルク補償値の1次成分、2次成分、・・・、N次成分を別々に出力するように構成される。
【0058】
SVMNC55aでは、まず、モータ2側の力学モデルに基づいて摩擦トルクτdmの理論値が次式によって算出される。
τdm=Km・iq
ref-τs/Rg+Jmn・ωm・s
ここで、Jmnはモータ2のイナーシャである。三項目はモータ2のイナーシャJmnにモータ2の回転速度ωmの微分値、すなわち回転加速度ωm’をかけた値に相当する項であり、モータ2の出力軸2aに生じたトルクに相当する値である。
【0059】
その後、SVMNC55aでは、算出した摩擦トルクτ
dmの理論値が高次のローパスフィルタに通されることで、トルク補償値が算出される。高次のローパスフィルタは、その特性がモータ2の回転速度ω
mに応じて可変となるように設計されている。このように、補償値算出部としてのSVMNC55aは、上記の3つの制御入力に基づいて摩擦トルクτ
dmの理論値を算出し、算出された摩擦トルクτ
dmの理論値をフィルタするフィルタとして構成されている。
図4に示すモデルでは、SVMNC55aの出力は、摩擦トルクτ
dmと高次のローパスフィルタの伝達関数の積となる。フィルタの特性は感度関数として表される。本実施形態では、このローパスフィルタが3次のローパスフィルタであり、感度関数が下記の式に設計されている。
【数3】
感度関数は、高次多項式として記述され、g
0、g
1、g
2、g
3は、極に対応する。本実施形態の場合、フィルタは、極が異なる値を有するように、すなわち、設計極が単根であるように設計されている。なお、上記の式におけるパラメータφ
0、φ
1、φ
2は以下の数式で表されるようにモータ2の回転速度ω
mに依存して増減する利得係数であり、以下の式で表される。
【数4】
【数5】
【数6】
【0060】
ここで、α
1(ω
m)、α
2(ω
m)、α
3(ω
m)はモータ2の回転速度ω
mに依存する係数であり、
図6に示すスイッチングパターンによって定められる値である。
図6は、横軸がモータ2の回転速度ω
mであり、縦軸がα
1(ω
m)、α
2(ω
m)、α
3(ω
m)(
図6ではα
1、α
2、α
3と表記)の値であり、回転速度ω
mに応じたα
1(ω
m)、α
2(ω
m)、α
3(ω
m)の値を示すグラフである。スイッチングパターンでは、α
1(ω
m)、α
2(ω
m)、α
3(ω
m)の値がモータ2の回転速度ω
mに応じて定められるようになっている。このスイッチングパターンは、事前に観測したスリップ-スティック現象などに基づいて適宜設定できる。
【0061】
回転速度ω
mに応じてα
1(ω
m)、α
2(ω
m)、α
3(ω
m)の値が変わり、パラメータφ
0、φ
1、φ
2の値も変わるので、感度関数も変わる。このように、回転速度ω
mに応じてローパスフィルタの感度(特性)を変えることができる。なお、上記の感度関数を有するローパスフィルタの伝達関数は、例えば、α
1(ω
m)=α
2(ω
m)=α
3(ω
m)=1の場合、下記式で表される。
【数7】
上記式の第1項目が0次成分、第2項目が1次成分、第3項目が2次成分、第4項目が3次成分に対応する。このように、伝達関数の各項に含まれる極g
0、g
1、g
2、g
3が異なるので、上記の感度関数において極g
0、g
1、g
2、g
3の値を適宜設定することで、伝達関数の定常成分(第1項に相当)の特性と過渡成分(第2項から第4項に相当)の特性を分けて設計できる。SVMNC55aは、出力が摩擦トルクτ
dmとこの伝達関数との積であり、伝達関数が次数毎に分離可能であるので、トルク補償値を次数毎に分離して算出できる。
【0062】
外乱オブザーバ装置50は、可変利得要素59(a)、59(b)、59(c)をさらに備えている。可変利得要素59(a)は可変利得α
1(ω
m)を有し、可変利得要素59(b)は可変利得α
2(ω
m)を有し、可変利得要素59(c)は可変利得α
3(ω
m)を有している。可変利得α
1(ω
m)、α
2(ω
m)、α
3(ω
m)の値は、モータ2の回転速度ω
mに基づいて変えることができる。可変利得要素59(a)は、SVMNC55aで算出された摩擦トルクτ
dmのトルク補償値の1次成分が入力され、可変利得要素59(b)は、トルク補償値の2次成分が入力され、可変利得要素59(c)は、トルク補償値の3次成分が入力される。可変利得要素59(a)、59(b)、59(c)は、入力されたトルク補償値(トルク補償値の1次成分、2次成分および3次成分)に、各々が有する可変利得α
1(ω
m)、α
2(ω
m)、α
3(ω
m)を乗算する。可変利得要素59(a)、59(b)、59(c)は、利得を乗算された摩擦トルクτ
dmの過渡成分のトルク補償値を加算器50eにそれぞれ出力する。なお、可変利得要素59(a)、59(b)、59(c)の可変利得α
1(ω
m)、α
2(ω
m)、α
3(ω
m)は、
図6に示すスイッチングパターンを用い、回転速度ω
mに基づいて設定される。
【0063】
加算器50eは、3つの摩擦トルクτdmの過渡成分を加算し、合計値を加算器50aに出力する。加算器50aにはSVMNC55aから摩擦トルクτdmの定常成分も入力されており、加算器50aは、摩擦トルクτdmの定常成分(0次成分)と、摩擦トルクτdmの過渡成分の合計値とを加算し、利得要素50bに出力する。利得要素50bは、加算器50aから受信した出力に、トルク定数に相当する利得係数Kmの逆数に等しい利得を乗じてトルク値を電流値に変換し、トルク補償指令信号として加減算器530に出力する。加減算器530は、制御目標値である電流ictrlにトルク補償指令信号を加算する。このように、トルク補償指令信号が制御目標値である電流ictrlに加算されることで、外乱が抑えられ、スティック-スリップ現象が抑制される。
【0064】
なお、α1(ωm)=α2(ωm)=α3(ωm)=0の速度領域では、過渡成分に乗算されるすべてのゲインが0であるので、定常成分のみからトルク補償指令信号が算出される。α1(ωm)=1、α2(ωm)=α3(ωm)=0の速度領域では、定常成分と1次成分との和からトルク補償指令信号が算出される。α1(ωm)=α2(ωm)=1、α3(ωm)=0の速度領域では、定常成分と1次成分と2次成分との和からトルク補償指令信号が算出される。α1(ωm)=α2(ωm)=α3(ωm)=1の速度領域では、定常成分と1次成分と2次成分と3次成分との和からトルク補償指令信号が算出される。
【0065】
以上より、第1の実施形態に係る外乱オブザーバ装置50によれば、モータ2の回転速度ωmに応じて感度関数の特性を変えて摩擦トルクτdmのトルク補償値を算出するので、クーロン摩擦や粘性摩擦がモータ2の出力軸2aに作用することにより生じた過渡的な外乱(スティック-スリップ現象)を動的に抑制できる。よって、摩擦特性の高精度なモデリングおよび関連する物理量の高精度な同定を必要とせずに、モータ2の出力軸2aに作用する摩擦力の推定とこれによる外乱の補償を適切に行うことができるモータ制御装置5を実現することができる。
【0066】
(1-3)第1の実施形態に係る外乱オブザーバによる外乱抑制効果の評価
次に、第1の実施形態に係る外乱オブザーバ装置50による外乱抑制効果について検討する。以下では、従来の外乱抑制方式であるZOMNC(Zero-order MNC)を用いた外乱抑制方式を比較対象として、外乱オブザーバ装置50を評価する。ZOMNCは、摩擦外乱をステップ関数として近似して設計したMNCであり、摩擦トルクτ
dmの定常成分(ゼロ次成分)からトルク補償値を算出する。ここでは、
図4に示すモデルをSVMNC及びZOMNCの両方でシミュレーションし、シミュレーションにより得られたモータ2の回転速度ω
mと回転加速度ω
m’の過渡特性を比較することで、外乱抑制効果を評価した。
図7にシミュレーション結果を示す。
図7の紙面上部のグラフが回転加速度ω
m’の結果であり、横軸が時間、縦軸が回転加速度ω
m’を表す。
図7の紙面下部のグラフが回転速度ω
mの結果であり、横軸が時間、縦軸が回転速度ω
mを示す。
図7のグラフでは、点線がSVMNCの結果であり、実線がZOMNCの結果である。
【0067】
ZOMNCでは、モータ2の回転速度ω
mの波形は、図のSV(A)およびSV(B)の領域に示すような不規則に歪んだ形であった。
図7のSV(A)およびSV(B)の領域に対応するSV(1)およびSV(2)の領域にみられるように、モータ2の回転速度ω
mがほぼゼロとなった後に急激に変化しており、スティック-スリップ現象が生じていることがわかる。また、回転加速度ω
m’についても、
図7のPK(A)およびPK(B)の領域に示すように、モータ2の回転速度ω
mの急激な変化に対応するピークがみられ、スティック-スリップ現象が生じていることが確認できる。
【0068】
一方で、SVMNCでは、モータ2の回転速度ω
mの波形はZOMNCの波形より滑らかになっており、ZOMNCにおいてスティック-スリップ現象が見られた
図7のSV(1)およびSV(2)の領域においても、スティック-スリップ現象が生じていないことが確認できる。このように、第1の実施形態の外乱オブザーバはスティック-スリップ現象を抑制できることが確認できた。
【0069】
<2>第2の実施形態
以下、
図4と同じ構成には同じ番号を付した
図8を参照しながら、本発明の第2の実施形態に係るモータ制御装置について説明する。第2の実施形態のモータ制御装置は、第1の実施形態のモータ制御装置に対して、モータ2の回転速度ω
mに基づいて算出した正の高周波ダンピング項を制御目標値である電流i
ctrlにフィードバックすることで、モータ2の回転速度ω
m及び回転加速度ω
m’の高周波成分を除去し、スティック-スリップ現象をより抑制できるようにしたものである。第2の実施形態のモータ制御装置は、高周波ダンピング項演算部57と、高周波ダンピング項演算部57の出力を制御目標値である電流i
ctrlにフィードバックするか否かを切り替える切り替えスイッチSW(1)とを有している点で、第1の実施形態のモータ制御装置と異なる。他の構成は第1の実施形態のモータ制御装置と同じであるので説明を省略する。
【0070】
高周波ダンピング項演算部57は、ゲインがK
νの利得要素57aと、高周波成分算出要素57bとを備えている。高周波成分算出要素57bは、モータ2の回転速度ω
mが入力され、当該回転速度ω
mに基づいて、モータ2の回転速度及び回転加速度の高周波成分を除去するために、高周波ダンピング項として制御目標値にフィードバックする高周波成分を算出する。本実施形態では、高周波成分算出要素57bは、伝達関数がs/(s+g
dmp)のハイパスフィルタとして構成されており、回転速度ω
mをハイパスフィルタに通して利得要素57aに出力する。
図8に示すモデル上では、モータ2の回転速度ω
mとハイパスフィルタの伝達関数s/(s+g
dmp)との積が算出される。なお、g
dmpは、ハイパスフィルタの帯域である。利得要素57aは、高周波成分算出要素57bの出力を、ゲインK
ν倍して高周波ダンピング項を算出する。このようにして、高周波ダンピング項演算部57は、高周波ダンピング項τ
HFD=K
ν・s/(s+g
dmp)・ω
mを算出する。算出された高周波ダンピング項τ
HFDは、利得要素57aから切り替えスイッチSW(1)に出力される。
【0071】
切り替えスイッチSW(1)は、モータ2の回転速度ωmに基づいて高周波ダンピング項τHFDを加減算器530(2)に出力するか否か切り替える。切り替えスイッチSW(1)は、モータ2の回転速度の絶対値|ωm|が所定のスイッチ切り替え閾値ωthld以上の場合、オン状態にされて加減算器530(2)に接続され、高周波ダンピング項τHFDを加減算器530(2)に出力する。一方、切り替えスイッチSW(1)は、モータ2の回転速度の絶対値|ωm|が所定のスイッチ切り替え閾値ωthldより小さい場合、オフ状態にされて加減算器530(2)との接続が切断され、高周波ダンピング項τHFDを加減算器530(2)に出力できなくされる。スイッチ切り替え閾値ωthldは、スティック-スリップ現象の観察から実験的に適宜決められる値である。加減算器530(2)は、制御目標値である電流ictrlから高周波ダンピング項τHFDを減算して制御目標値を補正し、減算結果(補正された制御目標値)を加減算器530(1)に出力する。加減算器530(1)では、加減算器530(2)から入力された電流(補正された制御目標値)と外乱オブザーバ装置50で算出されたトルク補償指令信号とが加算されて電流指令値Iq
refが算出される。
【0072】
以下、
図9を参照しながら、第2の実施形態に係る外乱抑制方式による外乱抑制効果をシミュレーションおよび実験により評価した結果について検討する。以下、第2の実施形態に従って実施される外乱抑制方式を「SVMNC+HFdamping」と略記する。ここでは、第1の実施形態で行ったシミュレーションのモデルに、高周波ダンピング項演算部57を追加したモデルを用いてシミュレーションし、得られた結果を、第1実施形態のSVMNCのシミュレーション結果と比較した。その結果を
図9に示す。
図9では。SVMNC+HFdampingは一点鎖線で表されている。
【0073】
図9に示すように、SVMNC+HFdampingの波形がSVMNCの波形と比較してなだらかになっており、高周波成分が除去されて、よりスティック-スリップ現象が抑制されていることが確認できる。
【0074】
高周波成分の除去効果をより検証するために、上記のシミュレーション結果を用いてモータ2の回転加速度ω
m’応答の周波数解析を行った。周波数解析は7~8secの加速度応答1サイクルのデータを高速フーリエ変換することで行った。その結果を
図10と
図11に示す。
図10は横軸を周波数とし、
図11では横軸を高調波の次数とし、縦軸は両図とも回転加速度ω
m’として示している。
図10中の実線の内、線が太く5Hz付近に大きなピークがある方がZOMNCの結果である。
図10において、SVMNCとSVMNC+HFdampingを比較すると、特に周波数が高い領域(10Hzから15Hzの領域)でSVMNC+HFdampingの方が、この領域の周波数成分の回転加速度が低く、高周波成分が抑制されていることがわかる。また、
図11を見ると、ほぼすべての高調波で、SVMNCよりもSVMNC+HFdampingの方が回転加速度が低く、高周波成分が抑制されていることがわかる。
【0075】
このことは、THD(Total Harmonic Distortion:全高調波歪)の計算結果からもわかる。THDの計算結果を表1に示す。表1に示すように、SVMNCよりもSVMNC+HFdampingの方がTHDが低くて非線形性が低く、より高周波成分が除去されていることがわかる。
【表1】
【0076】
<3>第3の実施形態
以下、
図4と同じ構成には同じ番号を付した
図12を参照しながら、本発明の第3の実施形態に係るモータ制御装置について説明する。第3の実施形態のモータ制御装置は、第1の実施形態のモータ制御装置とは、補償値演算部としてのSTMNC55bを備える点で異なる。第3の実施形態のモータ制御装置の外乱オブザーバ装置60のSTMNC55bは、2次系として構成され、モータ2の回転速度ω
mに基づいて感度関数を設定される。他の構成は第1の実施形態のモータ制御装置と同じなので、説明を省略する。
【0077】
STMNC55bは、第1の実施形態と同様に、ねじりトルクτsをモータ2側のトルク値に変換した値と、電流指令値i
q
refをトルク値に変換した値と、モータ2の回転速度ω
mとに基づいて、摩擦トルクτ
dmを算出する。STMNC55bは、算出した摩擦トルクτ
dmを下記の式で表される感度関数を有する2次のローパスフィルタに通すことで、摩擦トルクτ
dmの補償値を算出する。
【数8】
ここで、α
1、α
2は、モータ2の回転速度ω
mに依存する値であり、上述の
図6に示すスイッチングパターンにより定められる値である。この実施形態では、フィルタは設計極が重根に設計されており、極であるg
dmはローパスフィルタの帯域であり、適宜設定できる。
【0078】
この感度関数は、
図6のスイッチングパターンにおいて、α
1=α
2=0となるモータ2の回転速度ω
mの速度領域では、
【数9】
となり、0次の感度関数となる。また、感度関数は、α
1=1、α
2=0となるモータ2の回転速度ω
mの速度領域では、
【数10】
となり、1次の感度関数とる。感度関数はα
1=α
2=1となるモータ2の回転速度ω
mの速度領域では、
【数11】
となり、2次の感度関数となる。このように、モータ2の回転速度ω
mが極低速領域のときに高次の感度関数が使われて摩擦トルクτ
dmの補償値の過渡成分が算出され、それ以外では0次の感度関数が使われて摩擦トルクτ
dmの補償値の定常成分が算出される。
【0079】
このように、第3の実施形態のSTMNC55bは、モータ2の回転速度ω
mに基づいて感度関数を切り替えることができる。STMNC55bは、算出したトルク補償値の0次成分と1次成分と2次成分とをそれぞれ別々に出力する。0次成分は直接、1次成分は利得要素61で可変利得α
1(ω
m)を乗算されて、2次成分は利得要素62で可変利得α
2(ω
m)を乗算されて加算器50fに入力される。α
1(ω
m)、α
2(ω
m)は、
図6のスイッチングパターンによってモータ2の回転速度ω
mに基づいて定められる値である。
【0080】
以上から、第3の実施形態のモータ制御装置は、第1実施形態のモータ制御装置と同様に、制御対象となるモータ2への電流指令値iq
ref、モータ2の回転速度ωmおよび2モータに減速機構10を介して接続された出力軸6のねじりトルクτsの測定値を制御入力として受け取り、モータ2の出力軸2aに作用する摩擦トルクτdmによる外乱を抑制する外乱オブザーバ装置60を備え、外乱オブザーバ装置60が、上記制御入力に基づいて摩擦トルクτdmを補償するトルク補償値を算出する補償値算出部(STMNC55b)を有し、STMNC55bの特性を表す感度関数がモータ2の回転速度ωmに基づいて設定されるので、第1の実施形態と同様の効果を奏する。さらに、第3の実施形態のモータ制御装置は、第1の実施形態のモータ制御装置に対して外乱オブザーバ装置60の感度関数が簡便であるというメリットを有する。よって、第3の実施形態のモータ制御装置は、外乱オブザーバ装置60での演算が第1の実施形態の外乱オブザーバ装置50よりも比較的容易であり、計算負荷が軽い。そのため、第3の実施形態のモータ制御装置を、高性能の演算装置を用いなくても実装でき、安価に構成できる。さらに、第3の実施形態のモータ制御装置は、極やスイッチングパターンなどの設計すべきパラメータが少なく、感度関数を容易に設計できる。特に、モータ制御装置の設計において経験等によって設定した実際のモータ2や減速装置3のパラメータが、上述の運動学モデル20、90におけるモータ2や減速装置3のパラメータと当初より適合していた場合には、設計の試行回数を少なくできる。加えて、後述の強化学習により感度関数の制御パラメータの設計をする場合も第1実施形態の外乱オブザーバ装置50と比較して計算負荷が軽く、安価な構成で強化学習を行うことができる。なお、第2の実施形態で説明した高周波ダンピング項演算部を、第3の実施形態のモータ制御装置に組み込むこともできる。
【0081】
<4>第4の実施形態
第4の実施形態のモータ制御装置は、制御パラメータとしてのスイッチ切り替え閾値ωthid、モータ2への外乱補償特性を記述する特性係数、高周波成分算出要素57bのフィルタ特性係数、および利得要素57aのゲインKνなどの内の少なくとも一つ以上を機械学習により設定する機械学習装置を備えている点で、第1~第3の実施形態と異なる。モータへの外乱補償特性を記述する特性係数としては、例えば、極g0、g1、g2、g3、帯域(極)gdm、可変利得α1(ωm)、α2(ωm)、α3(ωm)などがあげられ、高周波成分算出要素のフィルタ特性係数としては、帯域gdmpなどがあげられる。以下では、機械学習装置を中心に説明する。また、外乱オブザーバ装置50の可変利得α1(ωm)、α2(ωm)、α3(ωm)を機械学習する場合を例として説明する。なお、可変利得α1(ωm)、α2(ωm)、α3(ωm)はモータ2の回転速度ωmに依存して決まる値であるので、機械学習により設定するのは、可変利得α1(ωm)、α2(ωm)、α3(ωm)の回転速度ωm依存性(回転速度ωmに基づいて可変利得の値を算出すための関数)の特性や上述のスイッチングパターンの波形の形状などである。
【0082】
図13は、第4の実施形態による機械学習装置140を備えるモータ制御装置5の概略的な機能ブロック図である。機械学習装置140は、状態観測部181と、判定データ生成部182と、学習部141と、意思決定部と148とを備える。状態観測部181は、モータ2の状態を、環境の現在状態を表す状態変数Sとして観測する。状態観測部181は、状態変数Sとして、モータ2の回転速度ω
m(S1)、トルク値(S2)、モータ電流(S3)およびモータ温度(S4)などを観測する。状態観測部181は、これらすべての状態変数Sを観測してもよく、これらの状態変数Sの内の少なくとも一つを観測してもよい。また、状態観測部181は、上記以外のモータ2に関連する物理量を状態変数Sとして観測してもよい。
【0083】
本実施形態では、状態観測部181は、上記の状態変数S1、S2、S3を外乱オブザーバ装置50から取得し、モータ温度(S4)をモータ2の筐体に設けた図示しない温度検出器から取得している。ここで、モータ2の回転速度ωm(S1)は、ロータリ・エンコーダ4から出力された角度位置に基づいてモータ制御装置5で算出され、外乱オブザーバ装置50に入力される値である。そのため、状態観測部181は、モータ2の回転速度ωmをモータ制御装置5から取得してもよい。さらに、状態観測部181は、ロータリ・エンコーダ4から角度位置を取得し、モータ2の回転速度ωmを算出してもよい。また、トルク値(S2)は、トルクセンサ8で測定したねじりトルクτsである。そのため、状態観測部181は、トルクセンサ8からトルク値としてねじりトルクτsを取得してもよい。なお、トルク値は、ねじりトルクτsに減速比の逆数をかけてモータ2側のトルク値に変換した値であってもよい。モータ電流(S3)は、モータ2の電流指令値iq
refである。電流指令値iq
refはモータ制御装置5で算出されるので、状態観測部181は、モータ制御装置5からモータ電流として電流指令値iq
refを取得してもよい。また、状態変数S1、S2、S3、S4は、後述の速度波形データと同じ期間の時系列データであってもよい。
【0084】
判定データ生成部182は、モータ2の回転状態を示す速度波形データに基づく判定データDを生成する。判定データDは、状態変数Sの下で制御パラメータ(本実施形態の場合は、可変利得α1(ωm)、α2(ωm)、α3(ωm)の少なくとも一つ)を変えた場合の結果を表す指標である。判定データ生成部182は、外乱オブザーバ装置50からモータ2の回転速度ωmを取得し、回転速度ωmの時系列データである速度波形データを生成する。なお、速度波形データの期間(時系列データの収集期間)は、速度波形データ中にスティック-スリップ現象が少なくとも1回は現れる期間とするのが好ましい。例えば、モータ2の速度波形が正弦波状に周期的に変動している場合は、速度波形データの期間を当該正弦波の1周期の半分の期間とするのが好ましい。
【0085】
判定データ生成部182は、判定データDとして、可変利得α1(ωm)、α2(ωm)、α3(ωm)の少なくとも一つを変えた際の、モータ2の回転状態の適否、すなわち、速度波形データにおいて摩擦トルクτdmによる影響(スティック-スリップ現象)を抑制できているか否かに対する適否判定値D1を用いることができる。例えば、適否判定値D1は、判定データ生成部182が生成した速度波形データと、スティック-スリップ現象が生じていないときの速度波形データとの差分を算出し、差分の絶対値の総和が所定閾値以上のときを不適とし、所定閾値より小さいときを適するとすることで算出できる。なお、本実施形態では、判定データ生成部182が速度波形データをそのまま用いて判定データDを生成しているが、判定データ生成部182は、速度波形データを加工して判定データDを生成してもよい。例えば、回転速度ωmを微分して回転加速度を算出し、速度波形データを加速度波形データに加工し、加速度波形データから判定データDを生成するようにしてもよい。また、速度波形データからTHDを計算し、算出したTHDに基づいてモータ2の回転状態の適否を判定するようにしてもよい。
【0086】
学習部に141対して判定データDと同時に入力される状態変数Sは、学習部141による学習周期で考えた場合、判定データDが取得された1学習周期前のデータに基づくものとなる。このように、機械学習装置140が学習を進める間、環境においては、状態変数Sの取得、後述の意思決定部148による可変利得α1(ωm)、α2(ωm)、α3(ωm)の再設定(変更)、変更後の可変利得α1(ωm)、α2(ωm)、α3(ωm)を用いて算出したトルク補償値による摩擦トルクτdmの制御、変更後の速度波形データ生成、判定データDの生成が繰り返し実施される。
【0087】
学習部141は、状態変数Sと判定データDとを用いて、モータ2の回転状態と、制御パラメータとしての可変利得α1(ωm)、α2(ωm)、α3(ωm)の少なくとも一つとを関連付けて学習する。学習部141は、機械学習と総称される任意の学習アルゴリズムにしたがって学習する。学習アルゴリズムの例については後述する。学習部141は、前述した状態変数Sと判定データDとを含むデータ集合に基づく学習を反復実行することができる。上記学習中、状態変数Sは、上記したように1学習周期前に取得されたモータ2の回転速度ωm(S1)、トルク値(S2)、モータ電流(S3)およびモータ温度(S4)とし、判定データDは、制御パラメータの変更が為された状態での今回の学習周期における速度波形データに基づく適否判定結果とする。
【0088】
このような学習サイクルを繰り返すことにより、可変利得α1(ωm)、α2(ωm)、α3(ωm)の少なくとも一つとモータ2の回転状態との相関性を暗示する特徴が次第に明らかになっていく。学習アルゴリズムの開始時には可変利得α1(ωm)、α2(ωm)、α3(ωm)の少なくとも一つとモータ2の回転状態との相関性は実質的に未知であるが、学習部141は、学習を進めるに従い徐々に相関性についての特徴を見出し、相関性を解釈していく。可変利得α1(ωm)、α2(ωm)、α3(ωm)の少なくとも一つとモータ2の回転状態との相関性がある程度信頼できる水準まで解釈されると、学習部141が反復出力する学習結果は、現在状態(つまり摩擦トルクτdmによるスリップ-スティック現象が生じている状態)に対して、可変利得α1(ωm)、α2(ωm)、α3(ωm)の少なくとも一つをどのように設定すべきかという行動(つまり意思決定)を行うために使用できるものとなる。つまり学習部141は、学習アルゴリズムの進行に伴い、上記相関性を最適解に徐々に近づけることができる。
【0089】
意思決定部148は、外乱オブザーバ装置50に設定されている制御パラメータ(本実施形態では、可変利得α
1(ω
m)、α
2(ω
m)、α
3(ω
m)の少なくとも一つ)を、学習部141による学習結果に基づいて算出された制御パラメータに設定する。また、意思決定部148は、学習時に、制御パラメータとモータ2の回転状態とを関連付ける学習をするために、外乱オブザーバ装置50の制御パラメータを適宜設定する。このような機械学習装置140は、例えば
図3に示したプロセッサ510の一機能として構成してもよく、
図3に示す記憶部520に記憶されたプロセッサ510を機能させるためのソフトウェアとして構成してもよい。また機械学習装置140は、モータ制御装置5と一体に設けてもよく、モータ制御装置5とは別の筐体に設けてもよい。
【0090】
機械学習装置140は、モータ制御装置5に対する機械学習装置であって、モータ2の状態を、環境の現在状態を表す回転速度(S1)、トルク値(S2)、モータ電流(S3)およびモータ温度(S4)のうちの少なくとも一つを含んだ状態変数Sとして観測する状態観測部181と、モータ2の回転状態を示す速度波形データに基づいた判定データDを取得する判定データ生成部182と、状態変数Sと判定データDとを用いて、モータ2の回転状態と、可変利得α1(ωm)、α2(ωm)、α3(ωm)(制御パラメータ)の少なくとも一つとを関連付けて学習する学習部141と、学習部141による学習結果に基づき、可変利得α1(ωm)、α2(ωm)、α3(ωm)を設定する意思決定部148とを有している。
【0091】
よって機械学習装置140は、学習部141の学習結果を用いることで、モータ2の出力軸2aに生じた摩擦トルクτdm(スティック-スリップ現象)の大きさに応じた、制御パラメータを、演算や目算によらずに自動的に、しかも正確に求めることができるようになる。そして、制御パラメータを、演算や目算によらずに自動的に求めることができれば、制御パラメータを迅速かつ適切に決定することができる。したがって、制御パラメータの設定を効率よく行うことができる。さらに、機械学習装置140は、モータ2の使用によりオイルの量やオイルの粘性が変化するなどして摩擦トルクτdmが変化し、モータ2に働く摩擦トルクτdmの特性が変わった場合も、機械学習装置140により自動で適切にパラメータを再設定でき、自動でスティック-スリップ現象を抑制できるようにできるので有用である。
【0092】
上記構成を有する機械学習装置140では、学習部141が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。ここで、学習アルゴリズムの一例として強化学習を説明する。強化学習は、学習対象が存在する環境の現在状態(つまり入力)を観測するとともに現在状態で所定の行動(つまり出力)を実行し、その行動に対し何らかの報酬を与えるというサイクルを試行錯誤的に反復して、報酬の総計が最大化されるような方策(機械学習装置140では制御パラメータの変更量)を最適解として学習する手法である。
【0093】
機械学習装置140において強化学習を行う場合、
図13に示すように、学習部141は報酬演算部141aと行動価値関数更新部141bとをさらに備えるように構成される。報酬演算部141aは、制御パラメータを変更した結果に対する報酬Rを演算する。報酬Rは、制御パラメータ変更後のモータ2の回転状態の適否判定結果(状態変数Sが取得された次の学習周期で用いられる判定データDに相当)に関連する報酬である。行動価値関数更新部141bは、算出された報酬Rに基づいて、行動価値関数Qを更新する。行動価値関数Qは、制御パラメータの変更の価値を表す関数である。学習部141は、行動価値関数更新部141bによって行動価値関数Qの更新を繰り返して、報酬Rが最も多く得られる制御パラメータを学習する。
【0094】
学習部141が実行する強化学習のアルゴリズムの一例を説明する。この例によるアルゴリズムは、Q学習(Q-learning)として知られるものであって、行動主体の状態sと、その状態sで行動主体が選択し得る行動aとを独立変数として、状態sで行動aを選択した場合の行動の価値を表す行動価値関数Q(s,a)を学習する手法である。状態sで行動価値関数Qが最も高くなる行動aを選択することが最適解となる。状態sと行動aとの相関性が未知の状態でQ学習を開始し、任意の状態sで種々の行動aを選択する試行錯誤を繰り返すことで、行動価値関数Qを反復して更新し、最適解に近付ける。ここで、状態sで行動aを選択した結果として環境(つまり状態s)が変化したときに、その変化に応じた報酬(つまり行動aの重み付け)rが得られるように構成し、より高い報酬rが得られる行動aを選択するように学習を誘導することで、行動価値関数Qを比較的短時間で最適解に近付けることができる。行動価値関数Qの更新式は、一般に下記の式のように表すことができる。
【0095】
【0096】
ここで、st及びatはそれぞれ時刻tにおける状態及び行動であり、行動atにより状態はst+1に変化する。rt+1は、状態がstからst+1に変化したことで得られる報酬である。maxQの項は、時刻t+1で最大の行動価値関数Qになる(と時刻tで考えられている)行動aを行ったときのQを意味する。α及びγはそれぞれ学習係数及び割引率であり、0<α≦1、0<γ≦1で任意設定される。
【0097】
学習部141がQ学習を実行する場合、状態観測部181が観測した状態変数S及び判定データ生成部182が生成した判定データDは、更新式の状態sに該当し、現在状態(つまり現在のモータ2の回転状態)に対して制御パラメータをどのように設定するべきかという行動は、更新式の行動aに該当し、報酬演算部141aが求める報酬Rは、更新式の報酬rに該当する。よって行動価値関数更新部141bは、現在状態に対する制御パラメータの変更の価値を表す行動価値関数Qを、報酬Rを用いたQ学習により繰り返し更新する。
【0098】
報酬演算部141aは、例えば、新たに制御パラメータを設定した後に、設定した制御パラメータによりトルク補償値を算出してモータ2の出力軸2aに生じた摩擦トルクτdmを抑制する制御を行ったときに、報酬Rを算出する。具体的には、報酬演算部141aは、モータ2の回転状態の適否判定結果が「適」と判定された場合に正(プラス)の報酬Rを算出し、モータ2の回転状態の適否判定結果が「否」と判定された場合に負(マイナス)の報酬Rを算出する。正負の報酬Rの絶対値は、互いに同一であってもよいし異なっていてもよい。また、判定の条件として、判定データDに含まれる複数の値を組み合わせて判定するようにしても良い。
【0099】
また、モータ2の回転状態の適否判定結果を、「適」及び「否」の二通りだけでなく複数段階に設定することができる。例えば、モータ2の回転状態の適否判定に用いた上述の「差分の総和」をVとし、モータ2の回転状態の許容範囲の最大値をVmaxとした場合、差分の総和Vが、0≦V<Vmax/5のときは報酬R=5を与え、Vmax/5≦V<Vmax/2のときは報酬R=2を与え、Vmax/2≦V≦Vmaxのときは報酬R=1を与えるような構成とすることができる。さらに、学習の初期段階はVmaxを比較的大きく設定し、学習が進行するにつれてVmaxを縮小する構成とすることもできる。
【0100】
行動価値関数更新部141bは、状態変数Sと判定データDと制御パラメータと報酬Rとを、行動価値関数Qで表される行動価値(例えば数値で表される)と関連付けて整理した行動価値テーブルを持つことができる。この場合、行動価値関数更新部141bが行動価値関数Qを更新するという行為は、行動価値関数更新部141bが行動価値テーブルを更新するという行為と同義である。Q学習の開始時には環境の現在状態(モータ2の回転状態)と制御パラメータの相関性は未知であるから、行動価値テーブルにおいては、種々の制御パラメータと状態変数Sと判定データDと報酬Rとが、無作為に定めた行動価値の値(行動価値関数Q)と関連付けた形態で用意されている。なお報酬演算部141aは、判定データDが分かればこれに対応する報酬Rを直ちに算出でき、算出した報酬Rの値が行動価値テーブルに書き込まれる。
【0101】
モータ2の回転状態の適否判定結果に応じた報酬Rを用いてQ学習を進めると、より高い報酬Rが得られる行動を選択する方向へ学習が誘導され、選択した行動を現在状態で実行した結果として変化する環境の状態(つまり判定データD)に応じて、現在状態で行う行動についての行動価値の値(行動価値関数Q)が書き換えられて行動価値テーブルが更新される。この更新を繰り返すことにより、行動価値テーブルに表示される行動価値の値(行動価値関数Q)は、適正な行動ほど大きな値となるように書き換えられる。このようにして、未知であった環境の現在状態(モータ2の回転状態)とそれに対する行動(制御パラメータの設定)との相関性が徐々に明らかになる。つまり行動価値テーブルの更新により、モータ2の回転状態と、制御パラメータとの関係が最適解に徐々に近づけられる。
【0102】
ここで、Q学習では、すべての状態行動ペア(s,a)についてのQ(s,a)のテーブルを作成して、学習を行う方法がある。しかし、すべての状態行動ペアのQ(s,a)の値を求めるには状態数が多すぎて、Q学習が収束するのに多くの時間を要してしまう場合がある。そこで、ニューラル・ネットワークを利用して強化学習するようにしてもよい。具体的には、行動価値関数Qを適当なニューラル・ネットワークを用いて構成し、ニューラル・ネットワークのパラメータを調整することにより行動価値関数Q(s,a)の値を算出するようにする。ニューラル・ネットワークを利用することにより、Q学習が収束するのに要する時間を短くすることが可能となる。
【0103】
また、機械学習装置140が教師なしで機械学習を行う場合について説明してきたが、機械学習装置140が、教師有りの機械学習を行うこともできる。教師あり学習では、入力とそれに対応する出力との既知のデータセット、いわゆる教師データが予め大量に機械学習装置140に与えられ、機械学習装置140がこの教師データから入力と出力との相関性を暗示する特徴を識別して、新たな入力に対する出力を推定するための相関性モデル、例えばここではモータ2の回転状態と制御パラメータの関連性を学習する。
【0104】
より具体的には、機械学習装置140の学習部141は、予め与えられた大量の教師データから、制御パラメータおよび状態変数Sとモータ2の回転状態(判定データD)との相関性特徴を識別する演算を行う。次に、学習部141は、予め識別しておいた相関性特徴と、制御パラメータ、状態変数S及び判定データDから最適なモータ2の回転状態を導く相関性モデルとの誤差を計算する。その後、学習部141は、この誤差を縮小するように相関性モデルを更新する。そして学習部141は、相関性モデルの更新を繰り返すことによって状態変数Sにおいて最適なモータ2の回転状態を導く最適な制御パラメータを学習する。そして、学習により導出した制御パラメータが設定される。
【0105】
相関性モデルの初期値は、例えば、制御パラメータ及び状態変数Sと判定データDとの相関性を単純化して表現したものであり、教師あり学習の開始前に学習部141に与えられる。教師データは、例えば、過去に上述の強化学習や人手によって試行錯誤的に行う制御パラメータの設定、シミュレーションを用いた制御パラメータの設定などにより得た状態変数S、制御パラメータ及び判定データDのデータセットによって構成される。学習部141は、状態変数S、制御パラメータと、判定データDとの相関性を暗示する相関性特徴を識別し、この相関性特徴と、現在の状態における制御パラメータと状態変数S及び判定データDに対応する相関性モデルとの誤差を求める。さらに学習部141は、例えば予め定めた更新ルールにしたがい、誤差が小さくなる方向へ相関性モデルを更新する。
【0106】
相関性モデルの初期値が与えられた後、更新後の相関性モデルにしたがってトルク補償値を算出して摩擦トルクτdmを抑制する制御が行われる。学習部141は、この制御により変化した状態変数S及び判定データDを用いて、変更した制御パラメータ、変化した状態変数S及び判定データDに対応する相関性モデルと、教師データから求めた相関性特徴との誤差を求める。そして、学習部141は、この誤差に基づき、再び相関性モデルを更新する。これを繰り返して、未知であったモータ2の回転状態とそれに対する適切な制御パラメータとの相関性が徐々に明らかになる。相関性モデルの更新により、モータ2の回転状態と制御パラメータとの関係が最適解に徐々に近づく。教師あり学習を進める際に、例えばニューラル・ネットワークを用いても良い。
【符号の説明】
【0107】
2 モータ
3 減速装置
4 ロータリ・エンコーダ
5 モータ制御装置
6 出力軸
8 トルクセンサ
10 減速機構
20、90 運動学モデル
20a 積分器
20b 積分器
20c 減算器
20d 乗算器
20e 乗算器
20f 加算器
20g 外乱要素
50、60 外乱オブザーバ装置
50a 加算器
50b 利得要素
50c 利得要素
50d 利得要素
50e 加算器
55a SVMNC(補償値算出部)
55b STMNC(補償値算出部)
59(a)、59(b)、59(c)可変利得要素