IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三菱電機株式会社の特許一覧 ▶ 独立行政法人産業技術総合研究所の特許一覧

<>
  • 特開-モータ制御装置及びモータ制御方法 図1
  • 特開-モータ制御装置及びモータ制御方法 図2
  • 特開-モータ制御装置及びモータ制御方法 図3
  • 特開-モータ制御装置及びモータ制御方法 図4
  • 特開-モータ制御装置及びモータ制御方法 図5
  • 特開-モータ制御装置及びモータ制御方法 図6
  • 特開-モータ制御装置及びモータ制御方法 図7
  • 特開-モータ制御装置及びモータ制御方法 図8
  • 特開-モータ制御装置及びモータ制御方法 図9
  • 特開-モータ制御装置及びモータ制御方法 図10
  • 特開-モータ制御装置及びモータ制御方法 図11
  • 特開-モータ制御装置及びモータ制御方法 図12
  • 特開-モータ制御装置及びモータ制御方法 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023051040
(43)【公開日】2023-04-11
(54)【発明の名称】モータ制御装置及びモータ制御方法
(51)【国際特許分類】
   H02P 29/00 20160101AFI20230404BHJP
   G06N 20/00 20190101ALI20230404BHJP
   G05B 11/36 20060101ALI20230404BHJP
【FI】
H02P29/00
G06N20/00
G05B11/36 D
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021161476
(22)【出願日】2021-09-30
(71)【出願人】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(71)【出願人】
【識別番号】301021533
【氏名又は名称】国立研究開発法人産業技術総合研究所
(74)【代理人】
【識別番号】100118762
【弁理士】
【氏名又は名称】高村 順
(72)【発明者】
【氏名】河田 武之
(72)【発明者】
【氏名】木村 将哉
(72)【発明者】
【氏名】池田 英俊
(72)【発明者】
【氏名】増井 秀之
(72)【発明者】
【氏名】丸田 潤
(72)【発明者】
【氏名】中根 滉稀
(72)【発明者】
【氏名】赤穂 昭太郎
(72)【発明者】
【氏名】麻生 英樹
【テーマコード(参考)】
5H004
5H501
【Fターム(参考)】
5H004GA02
5H004GB15
5H004HA07
5H004HA10
5H004HB07
5H004HB10
5H004JA04
5H004KC27
5H004KC37
5H004KD33
5H501AA22
5H501GG01
5H501GG05
5H501JJ03
5H501JJ04
5H501JJ17
5H501JJ25
5H501JJ30
5H501LL22
5H501LL32
5H501LL35
(57)【要約】
【課題】少ない計算負荷で精度が高い摩擦補償を調整することができるモータ制御装置を得ること。
【解決手段】モータ制御装置10は、位置指令及びモータ20の位置に基づいてモータ20のトルクの指令である第1トルク指令を算出するフィードバック制御部2と、モータ20又は制御対象の動作の状態に関するデータである軌跡制御データを保持するデータ保持部6と、軌跡制御データを複数のデータセットに分割し複数のデータセットの各々についてデータセットに基づいた学習とデータセットに対応する学習モデルの生成とを実行する学習部7と、摩擦を補償するモータ20のトルクである摩擦補償トルクを複数の学習モデルに基づいて算出する摩擦補償トルク算出部3と、第1トルク指令と摩擦補償トルクとを加算して第2トルク指令を算出する加算器4と、第2トルク指令に追従するようにモータ20への電流を制御してモータを駆動する電流制御部5とを有する。
【選択図】図1
【特許請求の範囲】
【請求項1】
位置指令に基づいてモータを駆動し前記モータに機械的に接続された制御対象が移動する軌跡を制御する軌跡制御を実行するモータ制御装置であって、
前記位置指令及び前記モータの位置に基づいて前記モータのトルクの指令である第1トルク指令を算出するフィードバック制御を実行するフィードバック制御部と、
前記モータ又は前記制御対象の動作の状態に関するデータである軌跡制御データを保持するデータ保持部と、
前記軌跡制御データを複数のデータセットに分割し前記複数のデータセットの各々についてデータセットに基づいた学習と前記データセットに対応する学習モデルの生成とを実行する学習部と、
摩擦を補償する前記モータのトルクである摩擦補償トルクを複数の前記学習モデルに基づいて算出する摩擦補償トルク算出部と、
前記第1トルク指令と前記摩擦補償トルクとを加算して第2トルク指令を算出する加算器と、
前記第2トルク指令に追従するように前記モータへの電流を制御して前記モータを駆動する電流制御部と
を備えることを特徴とするモータ制御装置。
【請求項2】
前記学習部は、パラメータの個数が可変である学習モデルを学習する
ことを特徴とする請求項1に記載のモータ制御装置。
【請求項3】
前記データ保持部は、前記摩擦補償トルクを用いた前記軌跡制御の実行中における前記モータ又は前記制御対象の動作の状態に関するデータである軌跡制御データを保持する
ことを特徴とする請求項1に記載のモータ制御装置。
【請求項4】
前記学習部には、前記軌跡制御データを分割するための境界を規定するデータ境界が予め設定されており、前記学習部は、前記データ境界に基づいて前記軌跡制御データを分割する
ことを特徴とする請求項1に記載のモータ制御装置。
【請求項5】
前記学習部は、前記軌跡制御データに基づくクラスタリングにより前記軌跡制御データを分割する
ことを特徴とする請求項1に記載のモータ制御装置。
【請求項6】
位置指令に基づいてモータを駆動し前記モータに機械的に接続された制御対象が移動する軌跡を制御する軌跡制御を実行するモータ制御方法であって、
前記位置指令と前記モータの位置とに基づくフィードバック制御によって前記モータのトルクの指令である第1トルク指令を算出するステップと、
前記軌跡制御の実行中における前記モータ又は前記制御対象の動作の状態に関するデータである軌跡制御データを保持するステップと、
前記軌跡制御データを複数のデータセットに分割し前記複数のデータセットの各々に基づいた学習によって前記複数のデータセットの各々に対応する学習モデルを生成するステップと、
摩擦を補償する前記モータのトルクである摩擦補償トルクを複数の前記学習モデルに基づいて算出するステップと、
前記第1トルク指令と前記摩擦補償トルクとを加算して第2トルク指令を算出するステップと、
前記第2トルク指令に追従するように前記モータへの電流を制御して前記モータを駆動するステップと
を含むことを特徴とするモータ制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御対象について軌跡制御を行うモータ制御装置及びモータ制御方法に関する。
【背景技術】
【0002】
工作機械及びロボットをはじめとする機械を駆動するモータ制御装置では、機械を指令通りに駆動するために軌跡制御が行われる。軌跡制御が行われる際、機械に加わる摩擦力の影響により生じる軌跡誤差をいかに補償するかが課題となる。従来、機械に加わる摩擦力を模擬する摩擦モデルを用いて摩擦力を相殺するトルクを計算し、計算したトルクをトルク指令に印加することで摩擦力の影響を低減する補償方法が知られている。
【0003】
摩擦モデルの精度が高いほど、摩擦力の影響を低減した高精度な軌跡制御が可能となる。最も単純な摩擦モデルは、モータ速度と摩擦とが比例関係となる線形の摩擦モデルであるが、当該摩擦モデルでは、摩擦力の高精度な模擬が困難な場合がある。実機においては、機械とモータとがボールねじ又は減速機といった機械要素部品を介して接続されている。機械要素部品が持つ軸受及び潤滑油の影響は、摩擦においてモータ速度に対する非線形な成分として表れる。従来、非線形性を持つ摩擦をモデル化し、得られた摩擦モデルを用いて摩擦補償をする技術が知られている。
【0004】
特許文献1は、速度フィードフォワード制御部を有するモータ制御装置を開示している。当該速度フィードフォワード制御部は、入力された上位指令加速度を速度側加速度出力として出力する速度側加速度入力部と、入力された上位指令速度を速度側速度出力として出力する速度側速度入力部と、限定速度範囲を分割した複数の速度範囲の境界となる複数の境界速度に対応させて用意されて上位指令速度と対応する箇所より速度側境界速度出力を出力する複数の速度側境界速度入力部と、各入力部からの出力である速度側第1出力のそれぞれに対応する複数の速度側第1学習重みを速度偏差に応じて変更する速度側第1重み学習部と、速度側第1出力と速度側第1学習重みとを乗算した複数の速度側第1乗算値を加算して第2仮指令電流として出力する速度側出力部とを有する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2017-127176号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1が開示している技術は、摩擦モデルを表現するためにニューラルネットワークの学習モデルを用いる。当該技術はニューラルネットワークの入力値を細かく離散化することで非線形の摩擦モデルの表現を可能とするが、入力値の離散化を細かくするほど重み係数の数が増加するために学習に必要なデータ数及び計算量が増加する。つまり、当該技術には、精度が高い調整を行おうとすると計算負荷が大きくなるという課題がある。
【0007】
上述のように、特許文献1が開示している技術では、少ない計算負荷で精度が高い摩擦補償を調整することができるモータ制御装置を提供することができないという課題がある。
【0008】
本開示は、上記に鑑みてなされたものであって、少ない計算負荷で精度が高い摩擦補償を調整することができるモータ制御装置を得ることを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決し、目的を達成するために、本開示に係るモータ制御装置は、位置指令に基づいてモータを駆動しモータに機械的に接続された制御対象が移動する軌跡を制御する軌跡制御を実行するモータ制御装置であって、位置指令及びモータの位置に基づいてモータのトルクの指令である第1トルク指令を算出するフィードバック制御を実行するフィードバック制御部と、モータ又は制御対象の動作の状態に関するデータである軌跡制御データを保持するデータ保持部とを有する。本開示に係るモータ制御装置は、軌跡制御データを複数のデータセットに分割し複数のデータセットの各々についてデータセットに基づいた学習とデータセットに対応する学習モデルの生成とを実行する学習部と、摩擦を補償するモータのトルクである摩擦補償トルクを複数の学習モデルに基づいて算出する摩擦補償トルク算出部と、第1トルク指令と摩擦補償トルクとを加算して第2トルク指令を算出する加算器と、第2トルク指令に追従するようにモータへの電流を制御してモータを駆動する電流制御部とを更に有する。
【発明の効果】
【0010】
本開示に係るモータ制御装置は、少ない計算負荷で精度が高い摩擦補償を調整することができるという効果を奏する。
【図面の簡単な説明】
【0011】
図1】実施の形態1に係るモータ制御装置の構成を示すブロック図
図2】実施の形態1に係るモータ制御装置が制御するモータと駆動対象である対象機械との例を模式的に示す斜視図
図3】実施の形態1に係る軌跡制御データについての閾値の設定の例を示す図
図4】実施の形態1に係る分割された軌跡制御データから生成された複数の学習モデルの例を示す図
図5】実施の形態1に係るガウス過程回帰で表現された摩擦モデルの例を示す図
図6】実施の形態2に係る決定木で表された摩擦モデルの例を示す図
図7】実施の形態2にかかる決定木で構成される単一の学習モデルと入力空間毎に構築された複数の学習モデルとの比較を示す図
図8】実施の形態3に係るニューラルネットワークで表現された摩擦モデルの例を示す図
図9】実施の形態3に係るニューラルネットワークモデルで構成される単一の学習モデルと入力空間毎に構築された複数の学習モデルとの比較を示す図
図10】実施の形態4に係る特定の入力空間でクーロンの摩擦モデルを採用した学習モデルの例を示す図
図11】実施の形態5に係るクラスタリングによる軌跡制御データの複数の組への分割を示す図
図12】実施の形態1に係るモータ制御装置が有するモデル速度算出部、フィードバック制御部、摩擦補償トルク算出部、加算器、電流制御部、データ保持部及び学習部の少なくとも一部がプロセッサによって実現される場合のプロセッサを示す図
図13】実施の形態1に係るモータ制御装置が有するモデル速度算出部、フィードバック制御部、摩擦補償トルク算出部、加算器、電流制御部、データ保持部及び学習部の少なくとも一部が処理回路によって実現される場合の処理回路を示す図
【発明を実施するための形態】
【0012】
以下に、実施の形態に係るモータ制御装置及びモータ制御方法を図面に基づいて詳細に説明する。
【0013】
実施の形態1.
図1は、実施の形態1に係るモータ制御装置10の構成を示すブロック図である。モータ制御装置10は、位置指令に基づいてモータ20を駆動しモータ20に機械的に接続された制御対象が移動する軌跡を制御する軌跡制御を実行する装置である。モータ制御装置10は、制御対象の機械である対象機械30を駆動するモータ20に接続され、モータ20を制御する。図1には、モータ20及び対象機械30も示されている。モータ20は、対象機械30に機械的に接続される。対象機械30は、モータ制御装置10がモータ20を制御することによって動作する。
【0014】
図2は、実施の形態1に係るモータ制御装置10が制御するモータ20と駆動対象である対象機械30との例を模式的に示す斜視図である。図2は、対象機械30がボールねじ装置である場合を示している。ボールねじ装置は、ボールねじ31と、テーブル32と、カップリング33とを有する。
【0015】
モータ20は、カップリング33を介してボールねじ31に接続される。ボールねじ31は、モータ20の回転運動を直動運動に変換する。ボールねじ31にはテーブル32が取り付けられており、テーブル32は直動運動を行う。モータ20は、第1方向と、第1方向と逆方向の第2方向との間で回転方向を切り換えることができる。モータ20は、位置検出器21を有する。位置検出器21は、モータ20の位置を検出し、モータ20の位置をモータ制御装置10に出力する。以下では、モータ20の位置は、モータ位置と記載される。
【0016】
実施の形態1では、対象機械30はボールねじ装置であるが、対象機械30はボールねじ装置に限定されない。モータ制御装置10は、ガイド機構をはじめとする機械要素部品以外にも、モータ20によって駆動される対象機械30について広く適用される。対象機械30の例として、ボールねじ装置以外に、垂直多関節ロボット、NC(Numerical Control)工作機械又は実装機を挙げることができる。
【0017】
図1に戻り、モータ制御装置10は、モデル速度算出部1と、フィードバック制御部2と、摩擦補償トルク算出部3と、加算器4と、電流制御部5と、データ保持部6と、学習部7とを有する。
【0018】
モデル速度算出部1は、位置指令を入力としてモデル速度を出力とする。位置指令は、例えばコントローラ又はNC装置といった指令値生成装置からモデル速度算出部1に入力される。モデル速度は、モータ20の目標速度を示す値として、位置指令を時間微分してフィルタを適用することで得られる。時間微分に係る微分処理は離散時間系においては差分処理に置き換えられ、現在のモータ指令と1サンプル前のモータ指令との差を制御処理周期で除した値が近似的な微分値として使用される。位置指令はモータ20の回転位置の目標値であるが、単位換算を行うことによってテーブル32の並進位置の目標値が位置指令として用いられてもよい。
【0019】
フィードバック制御部2は、位置指令及びモータ位置に基づいてモータ20のトルクの指令である第1トルク指令を算出するフィードバック制御を実行する。つまり、フィードバック制御部2は、位置指令とモータ位置とに基づくフィードバック制御によってモータ20のトルクの指令である第1トルク指令を算出する。フィードバック制御部2は、位置指令及びモータ位置を受け取り、第1トルク指令を出力する。モータ位置は、モータ20が有する位置検出器21からフィードバック制御部2に入力される。フィードバック制御部2は、位置指令とモータ位置との偏差である位置偏差を小さくするように、比例制御又は積分制御の位置制御処理を行い、位置偏差を小さくするような第1トルク指令を出力する。モータ位置は、テーブル32の位置を例えばリニアスケールといったセンサによって読み取られた値であってもよい。フィードバック制御部2は、モータ位置を位置指令に追従させるものであれば、どのようなものであってもよい。例えば、フィードバック制御部2は、2自由度制御を行ってもよい。
【0020】
摩擦補償トルク算出部3は、モデル速度算出部1からモデル速度を受け取り、摩擦補償トルクを出力する。摩擦補償トルク算出部3は、複数の学習モデルを用いて構成される摩擦モデルに基づいて摩擦補償トルクを算出する。後述するように、各学習モデルはそれぞれ異なる軌跡制御データに基づいて学習される。摩擦モデルは、モデル速度とモデル速度の微分値であるモデル加速度とに基づいて摩擦補償トルクを出力する。摩擦モデルの出力である摩擦補償トルクは、軌跡誤差の原因となる摩擦外乱の影響を小さくするようにモータ20のトルク指令に加算される。上述の説明では、摩擦モデルは、モデル速度及びモデル加速度を入力とするが、モータ位置から得られるモータ20の速度をはじめ、モータ20の位置、速度又は加速度に関する任意のデータを用いることができる。以下では、モータ20の速度は、モータ速度と記載される。
【0021】
加算器4は、第1トルク指令と摩擦補償トルクとを加算して第2トルク指令を算出する。つまり、加算器4は、第1トルク指令と摩擦補償トルクとの和を計算し、計算した結果を第2トルク指令として出力する。
【0022】
電流制御部5は、第2トルク指令に追従するようにモータ20への電流を制御してモータ20を駆動する。つまり、電流制御部5は、モータ20のトルクが第2トルク指令に追従するように、モータ20に電流を供給する。
【0023】
データ保持部6は、モータ20又は制御対象の動作の状態に関するデータである軌跡制御データを保持する。データ保持部6は、摩擦補償トルクを用いた軌跡制御の実行中におけるモータ20又は制御対象の動作の状態に関するデータである軌跡制御データを保持する。
【0024】
データ保持部6は、モータ20が有する位置検出器21によって検出されたモータ位置とモータ20に供給される電流の値である電流値とを受け取り、軌跡制御データを出力する。軌跡制御データは、モータ位置を微分したモータ速度と、モータ速度を微分したモータ加速度と、トルク情報である電流値とを含むデータセットである。データ保持部6は、制御周期毎に取得されるモータ位置及び電流値に対し、軌跡制御データのサンプリングと保持とを行う。データ保持部6は、モータ速度の正負の符号が切り替わる前と後とにおける軌跡制御データが含まれるように軌跡制御データをサンプリングする。すなわち、データ保持部6は、第1方向と第2方向との間で回転方向が切り替わる前と後とにおける軌跡制御データをサンプリングし、保持する。例えば、データ保持部6の一部は、半導体メモリによって実現される。
【0025】
学習部7は、軌跡制御データを複数のデータセットに分割し複数のデータセットの各々についてデータセットに基づいた学習とデータセットに対応する学習モデルの生成とを実行する。つまり、学習部7は、軌跡制御データを複数のデータセットに分割し複数のデータセットの各々に基づいた学習によって複数のデータセットの各々に対応する学習モデルを生成する。例えば、学習部7は、パラメータの個数が可変である学習モデルを学習する。摩擦補償トルク算出部3は、摩擦を補償するモータ20のトルクである摩擦補償トルクを複数の学習モデルに基づいて算出する。学習部7は、入力される軌跡制御データを複数の組に分ける。学習部7は、軌跡制御データが内包するモータ速度の値及びモータ加速度の値に基づいて、軌跡制御データを複数の組に分ける。学習部7は、各組の軌跡制御データに対応する各学習モデルを学習する。学習部7には、軌跡制御データを分割するための境界を規定するデータ境界が予め設定されており、学習部7は、データ境界に基づいて軌跡制御データを分割する。
【0026】
学習部7は、学習モデルを学習することにより、モータ速度とモータ加速度に対応する摩擦補償トルクとの関係を学習する。摩擦補償トルクは、軌跡制御データに基づいて、モータ20の電流値を単位換算した実トルクから、モータ20に接続された負荷の慣性モーメントとモータ加速度との積で表される慣性トルクを減ずることによって算出される。各学習モデルは、対応する各軌跡制御データを用いた教師あり学習によって学習される。
【0027】
学習部7は、学習モデルの学習時には、モータ速度及びモータ加速度と、モータ速度及びモータ加速度に対応する摩擦補償トルクとの関係を学習し、使用時には学習モデルに対してモデル速度とモデル加速度とを入力として出力を摩擦補償トルクとする。
【0028】
以下で学習部7の処理を説明する。軌跡制御データを8個の組に分ける例を用いて学習部7の処理を説明する。軌跡制御データに関する閾値が設定されることを仮定する。まず、モータ速度に対する3個の閾値としてV1、V2及びV3が設定される。ひとつ目の閾値V1は負の値であり、二つ目の閾値V2は0の値であり、三つ目の閾値V3は正の値である。つまり、学習部7は、モータ速度に対応して、モータ速度が閾値V1未満である場合と、モータ速度が閾値V1以上閾値V2未満である場合と、モータ速度が閾値V2以上閾値V3未満である場合と、モータ速度が閾値V3以上である場合との四つの場合に軌跡制御データを分ける。モータ加速度に対する閾値としてA1が設定され、閾値A1の値を0とする。つまり、学習部7は、モータ加速度の符号に対応させて軌跡制御データを二つに分ける。
【0029】
上述の閾値によって、軌跡制御データは第1組から第8組までの8個の組に分けられる。8個の組に対応する各軌跡制御データの領域は、図3に示される通りである。図3は、実施の形態1に係る軌跡制御データについての閾値の設定の例を示す図である。説明のため、8個の組に分けられたi組目の軌跡制御データを第i組軌跡制御データと呼ぶことにする。iは、1から8までの整数である。第i組軌跡制御データに対応し、第i組軌跡制御データを用いて学習される学習モデルを第i学習モデルと呼ぶことにする。図4は、実施の形態1に係る分割された軌跡制御データから生成された複数の学習モデルの例を示す図である。図4は、加速度が正である領域において第1学習モデルから第4学習モデルまでの各学習モデルが生成された際の速度と摩擦との関係を示している。
【0030】
第i学習モデルの学習のためには、第i組目の軌跡制御データのみが使われる。そのため、全ての軌跡制御データを使ってひとつの学習モデルを学習する場合と比較すると、ひとつの学習モデルの学習に用いるデータセットのデータ量は少量となる。
【0031】
学習部7は、上述の複数の学習モデルを用いて摩擦モデルを構築する。具体的には、学習部7は、下記の式(1)に示されるように、8個の学習モデルの出力の総和を摩擦補償トルクとして出力する摩擦モデルを構築する。
【0032】
【数1】
【0033】
式(1)において、Tは摩擦補償トルクであり、Fは第i学習モデルの出力である摩擦トルクであり、wは第i学習モデルの出力に掛かる係数である。
【0034】
学習部7が構築する摩擦モデルは、モデル速度及びモデル加速度を入力として計算される。wの決め方について、入力されるモデル速度及びモデル加速度を含む第i組軌跡制御データに対応するwのみを大きくするように、wは決められてもよい。例えば、第1組軌跡制御データの範囲内のモデル速度及びモデル加速度が入力される場合、wを1とし、wからwまでを0とするように、wは決められてもよい。
【0035】
次に、第i組軌跡制御データに基づく第i学習モデルの学習を説明する。教師あり学習が行われる。第i学習モデルの入力が第i組軌跡制御データに含まれるモータ速度及びモータ加速度であって、第i学習モデルの出力が摩擦トルクであるので、教師あり学習においては、モータ速度、モータ加速度及び摩擦トルクを含むデータセットを用いて学習が行われる。当該データセットに関して、モータ速度及びモータ加速度については、第i組軌跡制御データに含まれるデータが用いられる。摩擦トルクは、第i組軌跡制御データに基づいて、モータ20の電流値を単位換算した実トルクから、モータ20に接続された負荷の慣性モーメントとモータ加速度との積で表される慣性トルクを減ずることにより算出される。
【0036】
学習モデルの例は、ガウス過程回帰で表現される学習モデルである。ガウス過程回帰で表現される学習モデルがデータの個数と同数のパラメータを有するため、データの個数がパラメータの個数となる。ガウス過程回帰で表現される学習モデルは、各データと入力のモータ速度との距離に対応して、摩擦トルクを出力する。
【0037】
このとき、摩擦トルクの予測分布も、ガウス分布の分散として同時に算出される。ただし、摩擦トルクの予測分布が算出される際に用いられる距離はカーネル関数kによって算出され、具体的に、xとxn’との2点間の距離は、一般的に下記の式(2)に示されるガウスカーネルを用いて表現される。なお、x及びxn’はベクトルである。nは、1以上の整数である。
【0038】
【数2】
【0039】
式(2)において、θ及びθは学習部7に設定されるハイパーパラメータである。ただし、カーネル関数は、ガウスカーネルに限定されず、線形カーネル、指数カーネル、周期カーネル、又はMaternカーネルであってもよく、さらに、これらの和又は積の組み合わせで構成されたカーネル関数であってもよい。同時に、観測された電流値及び算出された摩擦トルクに観測ノイズが含まれていると考え、観測ノイズの平均が0であり、分散がσである下記の式(3)に示されるガウス分布に観測ノイズがしたがっているものとして、下記の式(4)に示されるように、カーネル関数kにノイズ項を追加したものが用いられてもよい。
【0040】
【数3】
【0041】
【数4】
【0042】
式(4)において、デルタ関数δ(x,xn’)は、同じ軌跡制御データ間で距離計算を行うn=n’の場合に1を返し、n=n’以外の場合に0を返す関数である。図5は、実施の形態1に係るガウス過程回帰で表現された摩擦モデルの例を示す図である。図5は、ガウス過程回帰で表現される学習モデルを示している。
【0043】
学習部7は、ガウス過程回帰のカーネル関数におけるハイパーパラメータを推定し、ハイパーパラメータを同定した後の学習モデルを出力する。ハイパーパラメータは、軌跡制御データから構成されるXとハイパーパラメータをまとめたθ=(θ,θ,σ)とに対する摩擦トルクyの尤度関数p(y|X,θ)が最大となるように推定される。尤度関数が最大となるようなハイパーパラメータθの同定方法として、θ空間のグリッド探索若しくはMCMC(Markov Chain Monte Carlo)法を用いた探索手法、又は、最急降下法、共役勾配法若しくは準ニュートン法をはじめとする勾配法を用いることができる。なお、X,y及びハイパーパラメータをまとめたθはベクトルである。
【0044】
ガウス過程回帰で表現される学習モデルを用いることで、学習モデルが摩擦トルクを出力する際、学習部7は、摩擦トルクの分散を同時に算出することができる。したがって、学習モデルが出力する摩擦トルクの精度を評価することができる。例えば精度が低い場合、学習部7は、軌跡制御データを増やしたり、軌跡制御データを取得しなおしたりして精度を向上させることが可能となる。
【0045】
ただし、ガウス過程回帰における学習に用いられるデータの個数がNである場合、下記の式(5)に示されるように、Nの三乗に比例する計算量の計算が必要になる。Nは、自然数である。
【0046】
【数5】
【0047】
つまり、データの個数の増加に伴う計算量の増加が非常に大きく、このことが効率的な調整を困難とする原因となる。実施の形態1では、軌跡制御データは8個に分割される。説明の簡単のためにデータが等分されるとすると、計算量は下記の式(6)に示されるようになる。
【0048】
【数6】
【0049】
つまり、データを分割する前の計算量と比較すると、計算量を64分の1に低減することができ、効率的な調整が可能となる。上述の例では軌跡制御データは等分されるが、分割については必ずしも等分である必要はない。
【0050】
実施の形態1では学習モデルとしてガウス過程回帰が用いられるが、軌跡制御データから学習モデルを構築することができれば、他の学習手法が用いられてもよい。他の学習手法においても軌跡制御データを分割して、分割によって得られる複数のデータ群の各々に対応する複数の学習モデルを学習することで効率の良い調整を実現することができる。
【0051】
以上により、実施の形態1によれば、少ない計算負荷で精度が高い摩擦補償を調整することができるモータ制御装置10を提供することができる。
【0052】
実施の形態2.
次に、実施の形態2に係るモータ制御装置を説明する。実施の形態1では、学習部7における学習モデルをガウス過程回帰により表現し、摩擦外乱のフィードフォワード補正を行うモータ制御装置10を説明した。実施の形態2に係るモータ制御装置は、決定木によって摩擦モデルを表現する。摩擦補償トルク算出部3及び学習部7以外については、実施の形態1と同様であるため、説明を省略する。
【0053】
図6は、実施の形態2に係る決定木で表された摩擦モデルの例を示す図である。決定木の学習では、下記の式(7)で示される目的関数IGを最大化するように、ノード分割が行われる。
【0054】
【数7】
【0055】
式(7)において、Dは親データセット又は親ノードであり、fは特徴量数であり、Dleftは親ノードから見た左の子ノードであり、Drightは親ノードから見た右の子ノードであり、Nは親ノードDに含まれるデータ数であり、Nleftは左の子ノードDleftに含まれるデータ数であり、Nrightは右の子ノードDrightに含まれるデータ数であり、Iは不純度指標である。不純度指標Iについては、実施の形態2では摩擦トルクに対する回帰問題が扱われるため、下記の式(8)に示される平均二乗誤差が用いられる。
【0056】
【数8】
【0057】
式(8)において、yはノードDにおける各サンプルの値であり、yは当該各サンプルの値の平均値である。NはノードDにおけるサンプル数である。すなわち、yは軌跡制御データの出力に対応し、親ノードの分散から二つの子ノードの分散の和を引いた目的関数IGが最大となるように、分岐は生成される。ノードDにおける分岐候補の選び方に関し、出力yに対応する複数の軌跡制御データの入力xをモータ速度又はモータ加速度の軸に着目して小さい順に並べ、隣接する軌跡制御データの中間地点を分岐候補点として、複数の分岐候補の各々について式(6)の評価が行われる。
【0058】
実施の形態1と同様に、軌跡制御データを8個の組に分ける例を用いて、決定木における複数の学習モデルを用いた際の計算量の削減を説明する。軌跡制御データに関する閾値V1、閾値V2、閾値V3及び閾値A1の設定方法、並びに第i組軌跡制御データと第i学習モデルとの対応は、実施の形態1と同じである。学習に用いられる軌跡制御データの個数がNであって、図6に示される単一の学習モデルと同サイズの摩擦モデルを学習する場合、式(6)の評価を各層で最大(N-1)回行う必要がある。層数がNに比べて十分に小さい場合、下記の式(9)に示されるように、Nの三乗に比例する計算量の計算が必要になる。
【0059】
【数9】
【0060】
つまり、データ数の増加に伴う計算量の増加が非常に大きく、このことが効率的な調整を困難とする原因となる。
【0061】
実施の形態2では、軌跡制御データ及び学習モデルは8個に分割される。閾値V1、閾値V2、閾値V3及び閾値A1が既知として予め設定されるため、式(7)及び式(8)の計算を行う必要がなく、各軌跡制御データがどの学習モデルに対応するかを判定するのみでよく、下記の式(10)に示される通り、計算量はNに比例する。
【0062】
【数10】
【0063】
つまり、データを分割する前の計算量と比較すると、計算量をNの二乗分の1に低減することができ、効率的な調整が可能となる。図7は、実施の形態2にかかる決定木で構成される単一の学習モデルと入力空間毎に構築された複数の学習モデルとの比較を示す図である。図7は、各組へ分割後の学習モデルを示している。
【0064】
決定木は、与えられるデータに偏りがある場合及び単一の深い木を構成する場合、過学習になりやすい性質を有する。そのため、対象の既知の物理的な性質を予め閾値として設定し、複数の浅い木に分けて複数の浅い木の各々について別に学習を行うことによって、学習モデルの汎化性能を高められることが知られている。
【0065】
したがって、実施の形態2によれば、少ない計算負荷で精度が高い摩擦補償を調整することができるモータ制御装置を提供することができる。
【0066】
摩擦モデルには、上述のような決定木を複数含むランダムフォレスト又は勾配ブースティング決定木をはじめとするアンサンブル法が用いられてもよく、構築過程で木の生成を早めに止める事前枝刈りと、木を構築した後に情報の少ないノードを削除する事後枝刈りとのうちの一方又は両方が適用されてもよい。
【0067】
実施の形態3.
次に、実施の形態3に係るモータ制御装置を説明する。実施の形態1では、学習部7における学習モデルをガウス過程回帰により表現し、実施の形態2では、学習部7における学習モデルを決定木により表現し、摩擦外乱のフィードフォワード補正を行うモータ制御装置を説明した。実施の形態3に係るモータ制御装置では、摩擦モデルがニューラルネットワークによって表現される。摩擦補償トルク算出部3及び学習部7以外については、実施の形態1及び実施の形態2と同様であるため、説明を省略する。
【0068】
図8は、実施の形態3に係るニューラルネットワークで表現された摩擦モデルの例を示す図である。ニューラルネットワークの各層をXとおくと、層Xの入出力は下記の漸化式(11)で表現される。
【0069】
【数11】
【0070】
式(11)において、Wは行列であり、X及びBは縦ベクトルであり、Wは重み行列と呼ばれ、Bはバイアスベクトルと呼ばれる。したがって、ニューラルネットワークの計算量は、W及びBの行数と一致する一層あたりのノード数Cと、ニューラルネットワーク全体に含まれる層数Lとによって決まる。ニューラルネットワークの層数とノード数とを増やすことで、学習モデルはより高次の複雑な学習モデルとなるため、一般的にニューラルネットワークの推定精度と計算量とはトレードオフの関係にある。
【0071】
実施の形態1及び実施の形態2と同様に、実施の形態3でも軌跡制御データが8個の組に分けられる例が示される。図8に示すように、層数L、ノード数Cの単一の学習モデルを用いて学習した場合、層数L及びノード数Cは、速度ゼロ近傍の複雑な曲線と一定速度以上の滑らかな曲線とを同時に表現するために比較的大きな値をとる必要があり、このときの計算量は、下記の式(12)に示されるように、L×Cで表される。
【0072】
【数12】
【0073】
つまり、単一の学習モデルのみを使用することに伴う計算量の増加が非常に大きく、このことが効率的な調整を困難とする原因となる。
【0074】
実施の形態3では、軌跡制御データ及び学習モデルは8個に分割される。ただし、閾値V1、閾値V2、閾値V3及び閾値A1は既知である。複雑に変化するゼロ速度近傍の閾値V1から閾値V3までの間の曲線について、この領域に対応する学習モデルのLをLとおくと共に、当該学習モデルのCをCとおくと、各モデルの計算量はL×Cと表される。L×Cは、全速度帯の摩擦変化を学習する必要なく得られるため、下記の式(13)に示されるように、L×Cと比較すると小さな値となる。mは、1以上の整数である。
【0075】
【数13】
【0076】
さらに、閾値V1以下及び閾値V3以上の領域に対応する学習モデルのLをLとおくと共に、当該領域に対応する学習モデルのCをCとおくと、計算量はL×Cと表される。当該領域ではゼロ速度近傍の閾値V1から閾値V3までの曲線に比べて急峻な変化の無い単調な形状となることが知られているため、下記の式(14)に示されるように、L×CはL×Cと比較すると小さな値となる。
【0077】
【数14】
【0078】
つまり、データを分割する前の計算量と比較するとデータを分割した後の計算量を低減することができ、効率的な調整が可能となる。図9は、実施の形態3に係るニューラルネットワークモデルで構成される単一の学習モデルと入力空間毎に構築された複数の学習モデルとの比較を示す図である。図9は、各組へ分割後の学習モデルを示している。
【0079】
実施の形態2で述べた決定木と同様に、ニューラルネットワークは、与えられるデータに偏りがある場合又はサイズが大きい場合、過学習になりやすい性質を有する。そこで、軌跡制御データの出力の特性が入力空間の特定の領域で大きく変化することが既知である場合、当該領域毎にニューラルネットワークのモデルを分けて個々に学習することによって、各々の学習モデルを出力の複雑さに合わせて適切なサイズに変更することができ、汎化性能を高めることができる。
【0080】
したがって、実施の形態3によれば、比較的少ない計算負荷で比較的精度が高い摩擦補償を調整することができるモータ制御装置を提供することができる。
【0081】
ニューラルネットワークについて、中間層の入出力関係に再帰的な構造を持つRNN(Recurrent Neural Network)、LSTM(Long Short Term Memory)若しくはGRU(Gated Recurrent Unit)といったリカレント型と呼ばれるニューラルネットワーク、又は、CNN(Convolutional Neural Network)、FCN(Fully Convolutional Network)若しくはTCN(Temporal Convolutional Network)といった畳み込み型のニューラルネットワークが用いられてもよい。
【0082】
実施の形態4.
次に、実施の形態4に係るモータ制御装置を説明する。実施の形態1から実施の形態3まででは、学習部7における学習モデルは、同一の機械学習アルゴリズムが用いられて入力の領域毎に構築される。実施の形態4に係るモータ制御装置は、領域毎に異なる機械学習アルゴリズム又は関数形を用いることによって摩擦モデルを表現する。摩擦補償トルク算出部3及び学習部7以外については、実施の形態1及び実施の形態2と同様であるため、説明を省略する。
【0083】
実施の形態4でも、実施の形態1から実施の形態3までと同様に、軌跡制御データを8個の組に分ける例が用いられる。実施の形態3で述べた通り、閾値V1以下及び閾値V3以上の領域では、ゼロ速度近傍の閾値V1から閾値V3までの曲線に比べて急峻な変化の無い単調な形状となることが知られているため、一般的に、対象機械30の一例であるボールねじ装置にかかる摩擦は、下記の式(15)に示されるゼロ速度のモータ速度における一定閾値以下の駆動力とつりあうクーロン摩擦と、モータ速度に対する比例関係で表される粘性摩擦とにより、精度よく表される。
【0084】
【数15】
【0085】
式(15)において、fは摩擦力であり、vは粘性摩擦係数であり、wはモータ速度であり、cはクーロン摩擦項である。
【0086】
モータ速度の正負の符号が切り替わる前と後、つまり閾値V1から閾値V3までの領域においては、例えばスティックスリップ現象に代表されるモータ速度以外の荷重条件に依存する非線形な摩擦が生ずることが知られている。当該摩擦は、対象機械30の軸の運動方向が反転する際に象限突起として生じる軌跡誤差の要因となっている。
【0087】
実施の形態4では、ゼロ速度近傍の閾値V1から閾値V3までの領域のみ実施の形態1から3までに記載されている機械学習アルゴリズムで学習モデルが構築され、閾値V1以下及び閾値V3以上の領域では、式(15)に示されるクーロンの摩擦モデルで推論が行われる。これにより、実施の形態4に係るモータ制御装置は、摩擦モデルの精度を劣化することなく、計算量を削減することができる。図10は、実施の形態4に係る特定の入力空間でクーロンの摩擦モデルを採用した学習モデルの例を示す図である。図10は、閾値V1以下及び閾値V3以上の領域でクーロンの摩擦モデルを採用した学習モデルの例を示している。
【0088】
閾値V1以下及び閾値V3以上の領域で用いられる摩擦モデルについては、クーロンの摩擦モデルでなく、例えば、LuGre Model、Seven parameter model、又は、State variable modelといった摩擦モデルが用いられてもよい。
【0089】
閾値V1以下及び閾値V3以上の領域と閾値V1から閾値V3までの領域とで、実施の形態1から実施の形態3までで挙げられた機械学習アルゴリズムと学習モデルとが切り替えられてもよい。閾値V1以下及び閾値V3以上の領域でデータ数Nを小さく設定したガウス過程回帰を用い、閾値V1から閾値V3までの領域でニューラルネットワークを用いることによって、単一の摩擦モデルを用いる場合に比べて計算量が少ない学習モデルを構成することができる。用いられる機械学習アルゴリズムについても、実施の形態1から実施の形態3までで挙げられた手法に限定されず、回帰モデルを学習可能な任意のアルゴリズムが用いられてもよい。
【0090】
したがって、実施の形態4によれば、少ない計算負荷で精度が高い摩擦補償を調整することができるモータ制御装置を提供することができる。
【0091】
実施の形態5.
次に、実施の形態5に係るモータ制御装置を説明する。実施の形態1から実施の形態4まででは、学習部7の動作によって軌跡制御データを複数の組に分けて各組の軌跡制御データに対応する各学習モデルが学習されるモータ制御装置を説明した。実施の形態1から実施の形態4まででは、軌跡制御データは、予め設定された閾値に基づいて分けられる。
【0092】
実施の形態5では、軌跡制御データを分けるための閾値は事前に設定されない。実施の形態5では、クラスタリングの手法を用いて軌跡制御データを複数の組に分けて各組の軌跡制御データに対応する各学習モデルを学習する学習部を有するモータ制御装置を説明する。実施の形態5の学習部は、学習部7eと記載される。学習部7e以外については、実施の形態1と同様であるため説明を省略する。
【0093】
上述の通り、実施の形態5に係るモータ制御装置は、学習部7eを有する。学習部7eは、入力される軌跡制御データを複数の組に分ける。学習部7eは、軌跡制御データに基づくクラスタリングにより軌跡制御データを分割する。学習部7eは、軌跡制御データが内包するモータ速度の値及び加速度の値に基づいて、k平均法によって軌跡制御データを複数の組に分ける。学習部7eは、各組の軌跡制御データに対応する各学習モデルを学習する。学習モデルの入力はモータ速度及びモータ加速度であって、学習モデルの出力は摩擦トルクである。各学習モデルは、対応する各軌跡制御データを用いた教師あり学習によって学習される。
【0094】
以下で、学習部7eが行う軌跡制御データを複数の組に分ける処理を説明する。学習部7eが軌跡制御データを8個の組に分ける例を想定し、用いられるk平均法の処理を説明する。
【0095】
学習に用いられる軌跡制御データをn点としてそれらのうちのi番目のモータ速度の値及びi番目の加速度の値を含むデータは、まとめてxと表記される。iは、1からnまでの整数である。nは、1以上の整数である。学習部7eは、軌跡制御データを8個の組に分けるため、まずはn点のデータを無作為に8個の組に割り振る。
【0096】
次に、8個の組の各々において、学習部7eは、組の中心Mを計算する。jは、1から8までの整数である。学習部7eは、組の中心Mが当該組に含まれるデータの算術平均となるように計算する。
【0097】
次に、学習部7eは、i番目のデータxと8個の組の中心Mの各々との距離を計算して、8個の距離のなかから距離が最も小さくなる組にi番目のデータを割り振る。学習部7eは、当該操作をn点の全てのデータに関して実施する。
【0098】
これにより、各組に属するデータが入れ替わるために組の中心が移動する。そこで、学習部7eは、組の中心Mが当該組のデータの算術平均となるように再度計算する。
【0099】
学習部7eは、各組の中心の計算と、各データと各組の中心との距離の計算と、各データの各組への割り振りとを、各データの割り振りが収束するまで、又はあらかじめ決められた回数の繰返しが完了するまで実行する。図11は、実施の形態5に係るクラスタリングによる軌跡制御データの複数の組への分割を示す図である。図11は、各データと各組の中心の対応を示している。
【0100】
以上の手順により、事前に閾値を決めることなく軌跡制御データに基づくクラスタリングによって8個の組が形成される。上述の説明ではクラスタリング手法としてk平均法を用いる例が示されたが、実施の形態5におけるクラスタリング手法はk平均法に限られず、例えば、単リンク法又は群平均法といった他のクラスタリング手法が用いられてもよい。
【0101】
学習部7eによって軌跡制御データは第1組から第8組までの8個の組に分けられる。8個の組に分けられた軌跡制御データのi組目を第i組軌跡制御データと呼ぶことにする。第i組軌跡制御データに対応し、第i組軌跡制御データを用いて学習される学習モデルを第i学習モデルと呼ぶことにする。
【0102】
第i学習モデルの学習のためには、第i組目の軌跡制御データのみが使われる。そのため、全ての軌跡制御データを使う場合と比較すると学習に用いるデータセットの量は少量となる。
【0103】
学習部7eは、複数の学習モデルを用いて摩擦モデルを構築する。摩擦モデルの構築方法は、実施の形態1に記載されている方法と同じである。
【0104】
実施の形態5に係るモータ制御装置によれば、学習部7eで実行される軌跡制御データに基づくクラスタリングにより軌跡制御データが複数の組に分けられる。そのため、軌跡制御データを分けるための閾値を事前に設定する必要がない。学習モデルの入力である速度及び加速度の値の大きさが近いデータが同じ学習モデルの学習用データとして用いられるため、比較的少ない学習用データによる効率が良い高精度な学習が可能となる。高精度な複数の学習モデルを用いることで、高精度な摩擦モデルを構築することが可能になる。
【0105】
高精度な摩擦モデルを用いることで、軌跡制御を高精度化するための摩擦補償を実現することができる。
【0106】
実施の形態5によれば、少ない計算負荷で精度が高い摩擦補償を調整することできるモータ制御装置を提供することができる。
【0107】
図12は、実施の形態1に係るモータ制御装置10が有するモデル速度算出部1、フィードバック制御部2、摩擦補償トルク算出部3、加算器4、電流制御部5、データ保持部6及び学習部7の少なくとも一部がプロセッサ91によって実現される場合のプロセッサ91を示す図である。つまり、モデル速度算出部1、フィードバック制御部2、摩擦補償トルク算出部3、加算器4、電流制御部5、データ保持部6及び学習部7の少なくとも一部の機能は、メモリ92に格納されるプログラムを実行するプロセッサ91によって実現されてもよい。プロセッサ91は、CPU(Central Processing Unit)、処理システム、演算システム、マイクロプロセッサ、又はDSP(Digital Signal Processor)である。図12には、メモリ92も示されている。
【0108】
モデル速度算出部1、フィードバック制御部2、摩擦補償トルク算出部3、加算器4、電流制御部5、データ保持部6及び学習部7の少なくとも一部の機能がプロセッサ91によって実現される場合、当該一部の機能は、プロセッサ91と、ソフトウェア、ファームウェア、又は、ソフトウェアとファームウェアとの組み合わせとによって実現される。ソフトウェア又はファームウェアは、プログラムとして記述され、メモリ92に格納される。プロセッサ91は、メモリ92に記憶されたプログラムを読み出して実行することにより、モデル速度算出部1、フィードバック制御部2、摩擦補償トルク算出部3、加算器4、電流制御部5、データ保持部6及び学習部7の少なくとも一部の機能を実現する。
【0109】
モデル速度算出部1、フィードバック制御部2、摩擦補償トルク算出部3、加算器4、電流制御部5、データ保持部6及び学習部7の少なくとも一部の機能がプロセッサ91によって実現される場合、モータ制御装置10は、モデル速度算出部1、フィードバック制御部2、摩擦補償トルク算出部3、加算器4、電流制御部5、データ保持部6及び学習部7によって実行されるステップの少なくとも一部が結果的に実行されることになるプログラムを格納するためのメモリ92を有する。メモリ92に格納されるプログラムは、モデル速度算出部1、フィードバック制御部2、摩擦補償トルク算出部3、加算器4、電流制御部5、データ保持部6及び学習部7が実行する手順又は方法の少なくとも一部をコンピュータに実行させるものであるともいえる。
【0110】
メモリ92は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable Programmable Read-Only Memory)等の不揮発性若しくは揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク又はDVD(Digital Versatile Disk)等である。
【0111】
図13は、実施の形態1に係るモータ制御装置10が有するモデル速度算出部1、フィードバック制御部2、摩擦補償トルク算出部3、加算器4、電流制御部5、データ保持部6及び学習部7の少なくとも一部が処理回路93によって実現される場合の処理回路93を示す図である。つまり、モデル速度算出部1、フィードバック制御部2、摩擦補償トルク算出部3、加算器4、電流制御部5、データ保持部6及び学習部7の少なくとも一部は、処理回路93によって実現されてもよい。
【0112】
処理回路93は、専用のハードウェアである。処理回路93は、例えば、単一回路、複合回路、プログラム化されたプロセッサ、並列プログラム化されたプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、又はこれらを組み合わせたものである。
【0113】
モデル速度算出部1、フィードバック制御部2、摩擦補償トルク算出部3、加算器4、電流制御部5、データ保持部6及び学習部7の一部は、残部とは別個の専用のハードウェアによって実現されてもよい。
【0114】
モデル速度算出部1、フィードバック制御部2、摩擦補償トルク算出部3、加算器4、電流制御部5、データ保持部6及び学習部7の複数の機能について、当該複数の機能の一部がソフトウェア又はファームウェアで実現され、当該複数の機能の残部が専用のハードウェアで実現されてもよい。このように、モデル速度算出部1、フィードバック制御部2、摩擦補償トルク算出部3、加算器4、電流制御部5、データ保持部6及び学習部7の複数の機能は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせによって実現することができる。
【0115】
実施の形態2から実施の形態5までの各摩擦補償トルク算出部3は、メモリに格納されるプログラムを実行するプロセッサによって実現されてもよい。当該メモリは、メモリ92と同様のメモリである。当該プロセッサは、プロセッサ91と同様のプロセッサである。実施の形態2から実施の形態5までの各摩擦補償トルク算出部3は、処理回路によって実現されてもよい。当該処理回路は、処理回路93と同様の処理回路である。
【0116】
実施の形態2から実施の形態4までの各学習部7及び実施の形態5の学習部7eは、メモリに格納されるプログラムを実行するプロセッサによって実現されてもよい。当該メモリは、メモリ92と同様のメモリである。当該プロセッサは、プロセッサ91と同様のプロセッサである。実施の形態2から実施の形態4までの各学習部7及び実施の形態5の学習部7eは、処理回路によって実現されてもよい。当該処理回路は、処理回路93と同様の処理回路である。
【0117】
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略又は変更することも可能である。
【符号の説明】
【0118】
1 モデル速度算出部、2 フィードバック制御部、3 摩擦補償トルク算出部、4 加算器、5 電流制御部、6 データ保持部、7,7e 学習部、10 モータ制御装置、20 モータ、21 位置検出器、30 対象機械、31 ボールねじ、32 テーブル、33 カップリング、91 プロセッサ、92 メモリ、93 処理回路。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13