(57)【特許請求の範囲】
【請求項１】
モータの回転速度検出値とモータ回転速度指令値との偏差に応じてトルク電流指令値を出力する速度制御器と、前記トルク電流指令値と前記モータに流れる駆動電流のトルク電流成分であるトルク電流検出値との偏差に応じて前記駆動電流を制御する制御信号を生成する電流制御器と、前記モータのモータトルク値と前記回転速度検出値との双方を用いて、前記速度制御器の制御パラメータを自動調整するオートチューニング部とを備え、
前記回転速度検出値が前記モータ回転速度指令値に近づくように前記モータを制御するモータ制御装置において、
前記オートチューニング部は、
前記モータの回転速度検出値を入力する第１のローパスフィルタと、前記モータのトルク値を入力する第２のローパスフィルタと、
前記第１のローパスフィルタの出力信号と前記第２のローパスフィルタの出力信号とを用いてパラメータベクトルを離散的に同定するパラメータ同定器と、
前記パラメータベクトルを前記速度制御器の制御パラメータに変換する離散系／連続系パラメータ変換部と、を備え、
前記パラメータ同定器は、
前記第１のローパスフィルタの出力信号を一定周期でサンプルする第１のゼロ次ホールド要素と、
前記第２のローパスフィルタの出力信号を前記一定周期でサンプルする第２のゼロ次ホールド要素と、
前記第１のゼロ次ホールド要素の出力信号及び前記第２のゼロ次ホールド要素の出力信号を用いて回帰ベクトルを生成する回帰ベクトル生成部と、
前記第１のゼロ次ホールド要素の出力信号の遅延信号、及び前記第２のゼロ次ホールド要素の出力信号の遅延信号の２つの遅延信号と、前記回帰ベクトル生成部の出力信号、及び前記第１のゼロ次ホールド要素の出力信号の２つの信号との何れかを減衰させる２つの乗算器と、
前記２つの遅延信号を減衰したとき、前記第１のゼロ次ホールド要素の出力信号を減衰させる乗算器の出力信号、及び前記回帰ベクトル生成部の出力信号に基づいて前記パラメータベクトルを離散的に演算し、一方、前記２つの信号を減衰したとき、前記２つの乗算器の出力信号に基づいて前記パラメータベクトルを離散的に演算する離散系パラメータ推定部と、
第１のゼロ次ホールド要素の出力信号及び前記第２のゼロ次ホールド要素の出力信号を用いて前記２つの乗算器のゲインを演算する自動ゲイン制御部とを備えることを特徴とするモータ制御装置。
【請求項２】
前記２つの乗算器は、前記第１のゼロ次ホールド要素の出力信号と前記第２のゼロ次ホールド要素の出力信号とをそれぞれ遅延要素を介して減衰させ、
前記回帰ベクトル生成部は、前記２つの乗算器の出力信号を用いて前記回帰ベクトルを演算し、
前記離散系パラメータ推定部は、前記回帰ベクトルと、前記第１のゼロ次ホールド要素の出力信号を１サンプリング周期遅延させた遅延信号とを用いて、前記パラメータベクトルを演算することを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記回帰ベクトル生成部は、第１のゼロ次ホールド要素の出力信号、及び前記第２のゼロ次ホールド要素の出力信号を用いて前記回帰ベクトルを生成するものであり、
前記２つの乗算器は、第１のゼロ次ホールド要素の出力信号及び前記回帰ベクトル生成部の出力信号をそれぞれ減衰させるものであり、
前記離散系パラメータ推定部は、前記２つの乗算器の出力信号を用いて、前記パラメータベクトルを推定することを特徴とする請求項１に記載のモータ制御装置。
【請求項４】
前記自動ゲイン制御部は、前記パラメータ同定器の動作開始初期のみ動作し、前記離散系パラメータ推定部における同定演算の実行中には前記２つの乗算器のゲインの値を固定することを特徴とする請求項１に記載のモータ制御装置。
【請求項５】
前記ゲインは、固定小数点演算のダイナミックレンジによって制限されることを特徴とする請求項１に記載のモータ制御装置。
【請求項６】
前記回帰ベクトルは、前記ゲインが１であるとき、Nを自然数、Aを定数とするときに、次式のｐ次元ベクトルΦ＊（Ｎ）で定義され、
【数１】
0005192802.tif 000068
前記ゲインは、下記Ｋｇの値に設定されることを特徴とする請求項１に記載のモータ制御装置。
【数２】
0005192802.tif 000069
【請求項７】
前記回帰ベクトルは、前記ゲインが１であるとき、Nを自然数、Bを定数とするときに、次式のｐ次元ベクトルΦ＊（Ｎ）で定義され、
【数３】
0005192802.tif 000070
前記ゲインは、下記Ｋαの値に設定されることを特徴とする請求項１に記載のモータ制御装置。
【数４】
0005192802.tif 000071
【請求項８】
前記回帰ベクトルは、前記ゲインが１であるとき、Nを自然数、Ａ、Bを定数とするときに、次式のようなｐ次元ベクトルΦ＊（Ｎ）で定義され、
【数５】
0005192802.tif 000072
前記ゲインは、下記Ｋｇ及びＫαの内いずれか小さい方の値に設定されることを特徴とする請求項１に記載のモータ制御装置。
【数６】
0005192802.tif 000073
【数７】
0005192802.tif 000074
【請求項９】
請求項１に記載のモータ制御装置と、
前記電流制御器と前記モータとの間に挿入された電力変換器とを備え、
前記電力変換器は、前記電流制御器によりＰＷＭ制御され、前記モータをＰＷＭ制御することを特徴とするモータ制御システム。
【請求項１０】
駆動対象負荷と連結したモータと、前記モータを駆動する電力変換器と、回転速度指令値と前記モータの回転速度検出値との偏差に応じてトルク電流指令値を出力する速度制御器と、前記トルク電流指令値と前記モータに供給されるトルク電流検出値との偏差に応じて前記電力変換器の出力電流を制御する電流制御器と、前記モータのモータトルク値と前記モータの回転速度検出値を入力信号とし、前記速度制御器の制御パラメータを自動調整するオートチューニング部とを備えたモータ制御システムにおいて、
前記オートチューニング部は、
前記モータの回転速度検出値を入力とする第１のローパスフィルタと、
前記モータのモータトルク値を入力とする第２のローパスフィルタと、
前記第１のローパスフィルタ出力信号を周期的にサンプルして保持する第１のゼロ次ホールド要素と、
前記第２のローパスフィルタの出力信号を周期的にサンプルして保持する第２のゼロ次ホールド要素と、
前記第１のゼロ次ホールド要素の出力信号を１サンプル周期遅延させる第１の遅延要素と、前記第２のゼロ次ホールド要素の出力信号を１サンプル周期遅延させる第２の遅延要素と、
前記第１の遅延要素の出力信号を減衰させる第１の乗算器と、前記第２の遅延要素の出力信号を減衰させる第２の乗算器と、
前記第１の乗算器の出力信号、及び前記第２の乗算器の出力信号を入力として回帰ベクトルを生成する回帰ベクトル生成部と、
前記回帰ベクトルを入力としてパラメータベクトルを離散的に推定する離散系パラメータ推定部と、
前記パラメータベクトルを前記速度制御器の制御パラメータに変換する離散系／連続系パラメータ変換部と、
前記第１のゼロ次ホールド要素の出力信号、及び前記第２のゼロ次ホールド要素の出力信号を入力信号として、前記第１の乗算器及び前記第２の乗算器のゲインの設定値を出力する自動ゲイン制御部とを有することを特徴とするモータ制御システム。
【請求項１１】
駆動対象負荷と連結したモータと、前記モータを駆動する電力変換器と、速度指令値と前記モータの速度検出値との偏差に応じてトルク電流指令値を出力する速度制御器と、前記トルク電流指令値と前記モータに供給されるトルク電流検出値との偏差に応じて前記電力変換器の出力電流を制御する電流制御器と、前記モータのモータトルクと前記モータの速度検出値を入力信号とし、前記速度制御器の制御パラメータを自動調整するオートチューニング部とを備えたモータ制御システムにおいて、
前記オートチューニング部は、
前記モータの速度検出値を入力とする第１のローパスフィルタと、前記モータのモータトルクを入力とする第２のローパスフィルタと、
前記第１のローパスフィルタ出力信号を１サンプリング周期遅延させる第１のゼロ次ホールド要素と、
前記第２のローパスフィルタの出力信号を１サンプリング周期遅延させる第２のゼロ次ホールド要素と、
前記第１のゼロ次ホールド要素の出力信号、及び前記第２のゼロ次ホールド要素の出力信号を入力として回帰ベクトルを生成する回帰ベクトル生成部と、
前記第１のゼロ次ホールド要素の出力信号を減衰させる第１の乗算器と、
前記回帰ベクトル生成部が生成する回帰ベクトルの大きさを減衰させる第２の乗算器と、
前記第１の乗算器の出力信号及び前記第２の乗算器の出力信号を入力としてパラメータベクトルを演算する離散系パラメータ推定部と、
前記離散系パラメータ推定部が演算するパラメータベクトルを速度制御器の制御パラメータに変換する離散系／連続系パラメータ変換部と、
前記回帰ベクトルを入力信号として、前記第１の乗算器及び前記第２の乗算器のゲインの設定値を出力する自動ゲイン制御部とを有することを特徴とするモータ制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パラメータを同定して速度制御を行うモータ制御装置、及びモータ制御システムに関する。
【背景技術】
【０００２】
産業用機械（半導体製造装置、工作機械、射出成形機）などに使用されるモータ制御装置として、実運転中に合計慣性モーメント、粘性摩擦係数、及び定常外乱トルク等の機械系パラメータを同定し、この同定結果を速度制御器等の制御器パラメータの自動設定に用いる技術が知られている。例えば、特許文献１には、正転時と逆転時において、それぞれのモータトルク、加速度、及びモータ速度の時系列データを用いて、逐次最小二乗法により前記の機械系パラメータ同定を行う技術が開示されている。
【０００３】
また、より一般的な制御パラメータの自動設定技術として、例えば、非特許文献１に記載されているセルフチューニングレギュレータの技術は、制御対象への入力信号と、制御対象からの出力信号の時系列データに対して逐次最小二乗法を適用することでプラントの伝達関数を同定している。さらに、これらの技術で用いられる逐次最小二乗法演算を、短い演算語長のプロセッサで高精度に求めるアルゴリズムとしてＵＤ分解アルゴリズム（ＵＤ分解フィルタ）が知られており、非特許文献２に詳しく記載されている。また、ＵＤ分解アルゴリズムを同定手段に応用した技術が、特許文献２に開示されている
【特許文献１】特開２００５−１６８１６６号公報
【特許文献２】特開昭６４−８４３０３号公報
【非特許文献１】鈴木  隆著「アダプティブコントロール」、コロナ社、２００１年、１章
【非特許文献２】飯國  洋二著「適応信号処理アルゴリズム」、培風館、２０００年、４章
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＵＤ分解アルゴリズムの技術では、同定演算に与える入力信号の絶対値が大き過ぎる場合には、逐次最小二乗法演算において、オーバフローが発生する可能性があった。特に、固定小数点演算は表現可能な数値のダイナミックレンジが低い為、逐次最小二乗法演算を実行した場合にオーバフローが発生し易くなる問題があった。
【０００５】
このような問題に対する一般的な解決手段は、逐次最小二乗法演算の入力部に減衰器（０超１未満の減衰ゲイン）を入れることが考えられるが、減衰ゲインが大き過ぎる（減衰率が小さい）とオーバフローによる同定誤差が増大し、減衰ゲインが小さ過ぎる（減衰率が大きい）と入力信号の切捨て誤差に起因する同定誤差が増大するという問題があった。また、他の解決手段として、演算結果にリミッタを当ててオーバフローを回避する簡単な方法も存在するが、飽和に伴う演算誤差を発生し、同定精度の低下を招くという問題がある。
【０００６】
本発明は、このような問題点を解決するためになされたものであり、モータ回転速度検出値の値に拘わらずオーバフロー演算の発生を抑制することができるモータ制御装置、及びモータ制御システムを提供することを課題とする。
【課題を解決するための手段】
【０００７】
前記課題を解決するため、本発明のモータ制御装置は、モータの回転速度検出値とモータ回転速度指令値との偏差に応じてトルク電流指令値を出力する速度制御器と、前記トルク電流指令値と前記モータに流れる駆動電流のトルク電流成分であるトルク電流検出値との偏差に応じて前記駆動電流を制御する制御信号を生成する電流制御器と、前記モータのモータトルク値と前記回転速度検出値との双方を用いて、前記速度制御器の制御パラメータを自動調整するオートチューニング部とを備え、前記回転速度検出値が前記モータ回転速度指令値に近づくように前記モータを制御するモータ制御装置において、前記オートチューニング部は、前記モータの回転速度検出値を入力する第１のローパスフィルタと、前記モータのトルク値を入力する第２のローパスフィルタと、前記第１のローパスフィルタの出力信号と前記第２のローパスフィルタの出力信号とを用いてパラメータベクトルを離散的に同定するパラメータ同定器と、前記パラメータベクトルを前記速度制御器の制御パラメータに変換する離散系／連続系パラメータ変換部と、を備え、前記パラメータ同定器は、前記第１のローパスフィルタの出力信号を一定周期でサンプルする第１のゼロ次ホールド要素と、前記第２のローパスフィルタの出力信号を前記一定周期でサンプルする第２のゼロ次ホールド要素と、前記第１のゼロ次ホールド要素の出力信号及び前記第２のゼロ次ホールド要素の出力信号を用いて回帰ベクトルを生成する回帰ベクトル生成部と、前記第１のゼロ次ホールド要素の出力信号の遅延信号、及び前記第２のゼロ次ホールド要素の出力信号の遅延信号の２つの遅延信号と、前記回帰ベクトル生成部の出力信号、及び前記第１のゼロ次ホールド要素の出力信号の２つの信号との何れかを減衰させる２つの乗算器と、前記２つの遅延信号を減衰したとき、前記第１のゼロ次ホールド要素の出力信号を減衰させる乗算器の出力信号、及び前記回帰ベクトル生成部の出力信号に基づいて前記パラメータベクトルを離散的に演算し、一方、前記２つの信号を減衰したとき、前記２つの乗算器の出力信号に基づいて前記パラメータベクトルを離散的に演算する離散系パラメータ推定部と、第１のゼロ次ホールド要素の出力信号及び前記第２のゼロ次ホールド要素の出力信号を用いて前記２つの乗算器のゲインを演算する自動ゲイン制御部とを備えることを特徴とする。
【０００８】
これによれば、２つの乗算器により、信号の大きさが減衰されるので、固定小数点演算のようにダイナミックレンジが制限されていても、同定演算を行っているときにオーバフロー演算の発生を抑制することができる。また、同定演算に与えるモータ回転速度検出値に対して最適な減衰ゲインを設定することができるので、同定精度の向上を図ることができる。このため、制御パラメータの高精度な自動設定が可能となり、より簡単に高性能な制御が実現できることとなる。
【発明の効果】
【０００９】
本発明によれば、モータ回転速度検出値の値に拘わらずオーバフロー演算の発生を抑制することができる。
【発明を実施するための最良の形態】
【００１０】
（基本原理）
逐次最小二乗法演算を実行しても、オーバフロー演算の発生を抑制させるために、同定演算への入力信号に対して設定値を変更可能な可変減衰ゲインを挿入する。さらに、可変減衰ゲインの値を、逐次最小二乗法演算におけるオーバフローの発生を抑制可能な最大値（最小の減衰率）に設定する。これにより、入力信号の切捨て誤差に起因する同定誤差の最小化と、オーバフロー演算の発生の抑制とが両立する。
【００１１】
まず、同定演算アルゴリズムを説明した後、可変減衰ゲインの設定値算出方法について説明する。同定対象への入力信号の値をｕ、同定対象からの出力信号の値をｙとするとき、求めるべき同定対象の伝達関数が（１）式で表現できると仮定する。
【数１】
0005192802.tif 000002
このとき、回帰ベクトルΦ＊（Ｎ）を（２）式で、パラメータベクトルθ＾（Ｎ）を（３）式で定義する。
【００１２】
【数２】
0005192802.tif 000003
（２）式のΦ＊（Ｎ）は、１サンプルからｎａサンプル前のｙと、現在からｎｂサンプル前のｕとを構成要素とするベクトルであり、（３）式のθ＾（Ｎ）は、（１）式のＮサンプル時点での係数同定結果を構成要素とするベクトルである。また、未知パラメータ数をｐとするとき、いずれもｐ次元ベクトルとなる。
【００１３】
ここで、Ｎサンプル時点での予測誤差ε（Ｎ）を（４）式で定義する。
【数３】
0005192802.tif 000004
（４）式のε（Ｎ）は、Ｎサンプル時点に観測されたｙ（Ｎ）に対する（Ｎ−１）サンプル時点に同定したパラメータベクトルθ＾（Ｎ−１）と回帰ベクトルΦ＊（Ｎ）とから求めたｙ（Ｎ）の予測値との誤差を表している。このとき、パラメータベクトルθ＾（Ｎ）はθ＾（０）＝０（ゼロベクトル）を初期値として、（５）式の演算をサンプル周期毎に繰り返し実行することで、真値に収斂することが非特許文献２の（４．５７）式に記載されている。
【数４】
0005192802.tif 000005
【００１４】
次に、非特許文献２を引用しつつ（５）式の演算に必要なゲインベクトルｋ（Ｎ）のＵＤ分解アルゴリズムに基づく算出法を説明する。ＵＤ分解アルゴリズムは、（６）式に示す対角成分が１の（ｐ×ｐ）上三角行列Ｕ（Ｎ）と、（７）式に示す（ｐ×ｐ）対角行列Ｄ（Ｎ）をＮサンプル周期毎に更新しつつゲインベクトルｋ（Ｎ）を算出するのが特徴であり、行列Ｕ（Ｎ），Ｄ（Ｎ）の初期値はそれぞれ（８）式、（９）式で与えられる。また、対角行列Ｄ（Ｎ）の対角要素初期値γは大きな正値に設定すればする程、パラメータベクトルθ＾（Ｎ）が真値に収束することが知られている。
【数５】
0005192802.tif 000006
【数６】
0005192802.tif 000007
Ｕ（０）＝Ｉ（Ｉ：ｐ×ｐの単位行列）                         （８）
Ｄ（０）＝γＩ（Ｉ：ｐ×ｐの単位行列、γ：大きな正定数）     （９）
【００１５】
更新アルゴリズムでは、Ｎサンプル周期毎に、（１０）式、（１１）式、ＳＵＢ１の演算を行った後に、（１９）式でｋ（Ｎ）を求める。ＳＵＢ１の演算とは、α０（Ｎ）に忘却係数λ（１以下で１近傍の正数）を代入した後、ｊ＝１，２，・・・・，ｐについて、（１３）式、（１４）式、（１５）式、（１６）式、ＳＵＢ２の演算を行う。ＳＵＢ２の演算とは、ｉ＝１，２，・・・・，（ｊ−１）について、（１７）式、（１８）式の演算を行うものである。
【数７】
0005192802.tif 000008
【数８】
0005192802.tif 000009
【数９】
0005192802.tif 000010
【数１０】
0005192802.tif 000011
【数１１】
0005192802.tif 000012
【数１２】
0005192802.tif 000013
【数１３】
0005192802.tif 000014
【数１４】
0005192802.tif 000015
【数１５】
0005192802.tif 000016
【数１６】
0005192802.tif 000017
【００１６】
以上が、ＵＤ分解アルゴリズムの詳細である。このアルゴリズムによれば、同定演算開始初期に（１１）式で算出するｇベクトル、及び（１３）式で算出するαベクトルが非常に大きな値となる。このために、短い演算語長、且つ、固定小数点演算でＵＤ分解アルゴリズムを実行すると、ｇベクトルとαベクトルとの何れか一方又は双方がオーバフロー（桁溢れ）が発生し、パラメータベクトルθ＾（Ｎ）が真値に収束しなくなる問題が発生する。このことを、以下に詳述する。
【００１７】
ｇベクトルとαベクトルとが同定演算開始初期に大きな値を持つのは、対角行列Ｄ（Ｎ）の前記対角要素初期値γを真値への収束性を考慮して大きめに設定したことと、Ｄ（Ｎ）が基本的に漸減することが深く関係する。Ｄ（Ｎ）の漸減性は、（１５）式から導くことができる。（１５）式は、Ｄ（Ｎ）と１サンプル周期前のＤ（Ｎ−１）との関係を表現しており、右辺の係数αｊ−１（Ｎ）／（λαｊ（Ｎ））が常に１未満であれば、Ｄ（Ｎ）は漸減すると言える。そこで、αベクトルの算出式（１３）式に着目すると、αｊ（Ｎ）はαｊ−１（Ｎ）に対してｆベクトルとｇベクトルの第ｊ要素同士を乗じた値を加算した結果であることが分かる。一方、ｇベクトルの第ｊ要素は、（１１）式から、対角行列Ｄ（Ｎ）の第ｊｊ要素とｆベクトルの第ｊ要素を乗じた値である。以上のことから、（１３）式の右辺第２項目の値は、対角行列Ｄ（Ｎ）の第ｊｊ要素とｆベクトルの第ｊ要素の２乗値を乗じた正値と判定できる。よって、（１２）式も考慮すると、（２０）式が一般的に成立する。
αｊ（Ｎ）≧αｊ−１（Ｎ）≧λ＞０                              （２０）
【００１８】
（２０）式とλが１近傍の値であることを考慮すると、αｊ−１（Ｎ）／（λαｊ（Ｎ））は１未満の値となる。かくして、Ｄ（Ｎ）は非常に大きな初期値γを起点として、０近傍まで漸減する挙動を示すこととなる。このため、Ｄ（Ｎ）を用いて算出されるｇベクトルや、ｇベクトルを用いて算出されるαベクトルは同定開始初期にオーバフロー（桁溢れ）の危険が最も高まる。逆に、同定開始初期にオーバフローを回避できれば、その後のオーバフロー発生の危険はＤ（Ｎ）の減少と共に小さくなる。そこで、同定開始初期、換言すれば、ＵＤ分解アルゴリズムの初回サンプル時点（Ｎ＝１）でのｇベクトルと、αベクトルのオーバフロー回避を、回帰ベクトルΦ＊（Ｎ）に適切な減衰ゲインを乗じて得た、新たな回帰ベクトルφ（Ｎ）を用いて実現するものとした。以下では、まず、ｇベクトルのオーバフローを回避する減衰ゲインＫｇの算出式をその根拠と共に示す。
【００１９】
Ｎサンプル時点でのｇベクトルの第ｊ要素ｇｊ（Ｎ）は、Ｄ（Ｎ）行列の第（ｊ，ｊ）要素をｄｊ（Ｎ）と記述するとき、（Ｎ−１）サンプル時点でのＤ（Ｎ）行列の第（ｊ，ｊ）要素とＮサンプル時点でのｆベクトルの第ｊ要素ｆｊ（Ｎ）との積となり、（２１）式で表すことができる。
【数１７】
0005192802.tif 000018
一方、Ｎサンプル時点でのｆベクトルの第ｊ要素ｆｊ（Ｎ）は、（２２）式で表すことができる。
【数１８】
0005192802.tif 000019
初回サンプル時点でのｇベクトルの第ｊ要素は、（２１）式において、Ｎ＝１と置くことにより得られ、（２３）式となる。
【数１９】
0005192802.tif 000020
一方、初回サンプル時点でのｆベクトルの第ｊ要素は、（２３）式において、Ｎ＝１と置くことにより得られ、（２４）式となる。
【数２０】
0005192802.tif 000021
初回サンプル時点（Ｎ＝１）の場合には、（８）式の初期値から、（２５）式の如くｕｉｊ（０）＝０となる。よって、（２４）式の２項目以降はゼロとなり、（２６）式で表現できる。
【数２１】
0005192802.tif 000022
【数２２】
0005192802.tif 000023
【００２０】
さらに、Ｎ＝１の場合には、通常（１２）式の如くＤ（０）＝γＩ（Ｉは単位行列）とする為、ｄｊ（０）＝γとなる。よって、（２３）式は（２６）式を代入して、（２７）式に変形することができる。
【数２３】
0005192802.tif 000024
よって、（２７）式より、初回サンプル時点のｇベクトルの第ｊ要素は、初回サンプル時点の回帰ベクトルφ（Ｎ）の第ｊ要素φｊ（１）にＤ行列の対角要素初期値γを乗じた値となることが分かる。
【００２１】
ここで、初回サンプル時点でのｇベクトルの最大絶対値要素|ｇ（１）|ｍａｘを（２８）式で定義する。
【数２４】
0005192802.tif 000025
次に、（２７）式を（２８）式に代入して変形すると、（２９）式の関係が得られる。
【数２５】
0005192802.tif 000026
【００２２】
次に、（２９）式で表現される初回サンプル時点でのｇベクトルの最大絶対値要素｜ｇ（１）｜ｍａｘを規定値（オーバフローする値未満に設定）以下とする方法を示す。これにより、ｇベクトルの全要素の絶対値を規定値以下に抑制可能となる。
そこでまず、（２９）式中の回帰ベクトルφ（Ｎ）を、（３０）式の如く、元々の回帰ベクトルΦ＊（Ｎ）を減衰ゲインＫｇ倍した値と定義する。（但し、０＜Ｋｇ≦１とする）
【数２６】
0005192802.tif 000027
（３０）式の関係を（２９）式に代入すると、（３１）式が得られる。但し、（３１）式において、Φ＊ｊ（１）は減衰ゲインＫｇ倍する以前の回帰ベクトルΦ＊（Ｎ）の第ｊ要素である。
【数２７】
0005192802.tif 000028
この（３１）式は、初回サンプル時点でのｇベクトルの最大絶対値要素|ｇ（１）|ｍａｘが初回サンプル時点での回帰ベクトルΦ＊（Ｎ）の最大絶対値要素で決定付けられることを意味している。さらに、（３１）式の右辺には、減衰ゲインＫｇが含まれていることから、Ｋｇを適切に設定することにより、|ｇ（１）|ｍａｘを規定値以下に抑制可能となる。そこで、|ｇ（１）|ｍａｘに課せられた規定（上限）値をｏｖ＿ｌｉｍ＿ｇと置き、（３２）式の拘束条件を与える。
|ｇ（１）|max≦ｏｖ＿ｌｉｍ＿ｇ                            （３２）
（３１）式を（３２）式に代入して、減衰ゲインＫｇについて解くと（３３）式が得られる。
【数２８】
0005192802.tif 000029
この（３３）式が、ｇベクトルのオーバフロー回避を実現する減衰ゲインＫｇの設定範囲となる。通常、減衰ゲインＫｇを小さく設定すると回帰ベクトル情報の桁落ちが多く発生し、同定精度が低下することから（３３）式を満たす最大値として（３４）式を最適なＫｇ算出式とした。
【数２９】
0005192802.tif 000030
また、γとｏｖ＿ｌｉｍ＿ｇは共に定数であることから、定数Ａを（３５）式で定義することにより、（３４）式は（３６）式で表現することも可能である。
【数３０】
0005192802.tif 000031
【数３１】
0005192802.tif 000032
【００２３】
次に、αベクトルのオーバフローを回避する減衰ゲインＫαの算出式をその根拠と共に示す。初回サンプル時点でのαベクトルの第ｊ要素は、（１３）式において、Ｎ＝１と置くことにより得られ、（３７）式となる。
【数３２】
0005192802.tif 000033
（２６）式、（２７）式を（３７）式に代入すると、（３８）式となる。
【数３３】
0005192802.tif 000034
α０（Ｎ）＝λの関係を用いて、（３８）式の漸化式を解くと（３９）式となる。
【数３４】
0005192802.tif 000035
よって、初回サンプル時点でのαベクトルの最大要素α（１）ｍａｘを（４０）式で定義すると、（３９）式から、α（１）ｍａｘはαｐ（１）となり、（４１）式で計算できる。
【数３５】
0005192802.tif 000036
【数３６】
0005192802.tif 000037
【００２４】
次に、（４１）式で表現される初回サンプル時点でのαベクトルの最大要素α（１）ｍａｘを規定値（オーバフローする値未満に設定）以下に抑制する方法を示す。これにより、αベクトルの全要素を規定値以下に抑制可能となる。
そこでまず、（４１）式中の回帰ベクトルφ（Ｎ）を、（４２）式の如く、元々の回帰ベクトルΦ＊（Ｎ）を減衰ゲインＫα倍した値と定義する。（但し、０＜Ｋα≦１とする）
【数３７】
0005192802.tif 000038
Φ＊（Ｎ）の第ｊ要素をΦ＊ｊ（Ｎ）とするとき、（４１）式、及び（４２）式より、（４３）式が導き出せる。
【数３８】
0005192802.tif 000039
この（４３）式は、初回サンプル時点でのαベクトルの最大要素α（１）ｍａｘが初回サンプル時点での回帰ベクトルΦ＊（Ｎ）の大きさ（ベクトルの長さ）の２乗で決定付けられることを意味している。さらに、（４３）式の右辺には、減衰ゲインＫαが含まれていることから、Ｋαを適切に設定することにより、α（１）ｍａｘを規定値以下に抑制可能となる。そこで、α（１）ｍａｘに課せられた規定（上限）値をｏｖ＿ｌｉｍ＿ａと置き、（４４）式の拘束条件を与える。
α（１）ｍａｘ≦ｏｖ＿ｌｉｍ＿ａ                           （４４）
【００２５】
（４３）式を（４４）式に代入して、減衰ゲインＫαについて解くと（４５）式の関係が得られる。
【数３９】
0005192802.tif 000040
この（４５）式が、αベクトルのオーバフロー回避を実現する減衰ゲインＫαの設定範囲となる。通常、Ｋαを小さく設定しすぎると回帰ベクトル情報の桁落ちが多く発生し、同定精度が低下する。このことから（４５）式を満たす最大値として（４６）式を最適なＫα算出式とした。
【数４０】
0005192802.tif 000041
【００２６】
また、γとｏｖ＿ｌｉｍ＿ａは共に定数であることから、定数Ｂを（４７）式で定義することにより、（４６）式は（４８）式で表現することも可能である。
【数４１】
0005192802.tif 000042
【数４２】
0005192802.tif 000043
【００２７】
以上、ｇベクトルのオーバフローを回避可能な減衰ゲインとしてＫｇを、αベクトルのオーバフローを回避可能な減衰ゲインとしてＫαを示してきたが、実際には両方のオーバフローを回避する必要がある。この為、（３６）式と（４８）式を両立させる最大の減衰ゲインＫｇαを（４９）式、または（５０）式で算出し、（５１）式で求めた回帰ベクトルφ（Ｎ）をＵＤ分解アルゴリズムに適用することとした。
【数４３】
0005192802.tif 000044
【数４４】
0005192802.tif 000045
【数４５】
0005192802.tif 000046
【００２８】
（第１実施形態）
本発明の第１実施形態であるモータ制御システムを、図１の構成図を用いて説明する。
図１において、モータ制御システム２００は、モータ１と、モータ１により駆動される負荷２（駆動対象負荷）と、モータ１と負荷２とを連結する連結軸３と、モータ１を駆動する電力変換器４と、モータ１の回転軸に取り付けられ、モータ１の回転軸の位置検出値θMを出力する位置検出器３８と、モータ１に流れる電流を検出する電流検出器６と、モータ制御装置１００とを備える。
【００２９】
モータ制御装置１００は、速度演算器５と、電流制御器８と、１次遅れフィルタ３６、トルク定数増幅器２０と、オートチューニング部３７と、離散系／連続系パラメータ変換部２５と、速度制御器９と、減算器７とを備え、これらの機能はＣＰＵ等のコンピュータ及びプログラムによって実現される。また、モータ制御装置１００は、モータ１に流れるモータ電流を励磁軸成分と、これに電気的に直交するトルク軸成分にｄｑベクトル変換して制御している。以下、トルク電流成分の検出値Ｉｑのみで説明し、励磁軸成分の値Ｉｄは通常ゼロに設定されるので記載を省略する。
【００３０】
モータ１は、三相同期電動機であり、慣性モーメントＪＭと粘性摩擦係数Ｄとを有し、トルクＴを発生する。負荷２は、連結軸３を介してモータ１により駆動され、慣性モーメントＪＬを有する。なお、モータ１の慣性モーメントＪＭと、連結軸３の慣性モーメントと、負荷２の慣性モーメントＪＬとを合わせて合成慣性モーメントＪという。電力変換器４は、直流電力を交流電力に変換し、モータ１を駆動する。位置検出器３８は、モータ１の回転軸に取り付けられ、モータ１の回転軸の位置検出値θＭを出力する。電流検出器６は、モータ１に供給されるトルク電流検出値Ｉｑを検出する。速度演算器５は、位置検出値θＭの時間変化からモータ回転速度ωＭを演算する。電流検出器６は、モータ１に供給されるトルク電流検出値Ｉｑを検出する。減算器７は、トルク電流指令値Ｉq＊とモータ１に供給されるトルク電流検出値Ｉｑとの電流偏差Ｉｅを演算する。
【００３１】
電流制御器８は、電流偏差Ｉｅに応じて電力変換器４をパルス幅制御（ＰＷＭ制御）する。１次遅れフィルタ３６は、トルク電流指令値Ｉｑ＊が入力され、トルク電流推定値Ｉｑ＾を出力し、そのゲイン交差角周波数は、電流制御器８で構成した電流制御系のゲイン交差角周波数と等しく設定している。トルク定数増幅器２０は、トルク電流推定値Ｉｑ＾が入力されモータトルク値τＭを算出し、使用するモータ１のトルク定数ｋｔと等しい値を設定する。
【００３２】
速度制御器９は、モータ回転速度検出値ωＭをモータ速度指令値ωＭ＊に近づけるように機能する。オートチューニング部３７は、モータトルク値τＭ、及びモータ回転速度検出値ωＭの時系列データを入力値とし、モータ１と連結軸３と駆動対象の負荷２とからなる機械系の合計慣性モーメント推定値Ｊ＾、及び、粘性摩擦係数推定値Ｄ＾を出力する。
【００３３】
速度制御器９は、モータ回転速度偏差ωｅに応じてトルク電流指令値Ｉｑ＊を出力する比例積分構造の制御器であり、減算器１０と、加算器１４，１６と、比例ゲイン１１，１５，１７，１８と、積分ゲイン１２と、積分器１３とを備える。比例ゲイン１１は、速度制御系の比例特性を実現する。積分ゲイン１２は、モータ回転速度偏差ωｅを積分器１３で積分するときのゲインωｓ２／ＮＮを決定する。加算器１４は速度制御系の比例特性と積分器１３の出力とを加算する。比例ゲイン１５は、加算器１４の出力を機械系の合計慣性モーメントＪで増幅し、粘性摩擦補償前モータトルク指令τｓを生成する。比例ゲイン１７は、モータ回転速度ωＭを粘性摩擦係数推定値Ｄ＾で乗算し、粘性摩擦補償トルク推定値τｄ＾を演算する。加算器１６は、粘性摩擦補償前モータトルク指令τｓと、粘性摩擦補償トルク推定値τｄ＾とを加算し、モータトルク指令τＭ＊を演算する。ゲイン１８は、モータトルク指令τＭ＊にトルク定数ｋｔの逆数を乗算し、トルク電流指令値Ｉｑ＊を生成する。
【００３４】
１次遅れフィルタ３６は、トルク電流指令値Ｉｑ＊が入力され、トルク電流推定値Ｉ＾ｑを出力するフィルタであり、そのゲイン交差角周波数は、電流制御器８で構成した電流制御系のゲイン交差角周波数と等しく設定している。
トルク定数増幅器２０は、トルク電流推定値Ｉ＾ｑが入力され、モータトルクτＭを算出するゲインであり、使用するモータ１のトルク定数ｋｔと等しい値を設定する。
【００３５】
オートチューニング部３７は、モータトルクτＭ、及びモータ回転速度検出値ωＭの時系列データを入力値とし、機械系の合計慣性モーメント推定値Ｊ＾と粘性摩擦係数推定値Ｄ＾を算出し、それぞれを比例ゲイン１５，１７に設定するものであり、ローパスフィルタ（ＬＰＦ）２１，２２と、パラメータ同定器作動信号発生器２３と、自動ゲイン制御部作動信号発生器（ＡＧＩ）２４と、離散系／連続系パラメータ変換部２５と、パラメータ同定器１９とを備える。
【００３６】
ローパスフィルタ２１は、トルク定数増幅器２０が出力するモータトルクτＭをフィルタ後モータトルクτＭＦに変換するローパスフィルタであり、ローパスフィルタ２２は、モータ回転速度検出値ωＭをフィルタ後モータ回転速度検出値ωＭＦに変換するローパスフィルタである。ローパスフィルタ２１，２２は、共に、アンチエリアスフィルタとして利用し、その遮断周波数は、オートチューニング部３７のサンプリング周波数の１／２〜１／３程度に設定される。
【００３７】
パラメータ同定器作動信号発生器２３（ＩＤＡ）は、フィルタ後モータトルクτＭＦを用いてパラメータ同定器作動信号Ｉｄ＿ａｃｔを生成するものであり、フィルタ後モータ回転速度検出値ωＭＦの大きさが規定値ωＡを超えるとＩｄ＿ａｃｔ＝１を出力し、ωＭＦの大きさが規定値ωＩ未満に低下するとＩｄ＿ａｃｔ＝０を出力する。
自動ゲイン制御部作動信号発生器２４（ＡＧＩ）は、パラメータ同定器作動信号Ｉｄ＿ａｃｔを用いて自動ゲイン制御部作動信号Ａｇｃ＿ａｃｔを生成するものであり、パラメータ同定器作動信号Ｉｄ＿ａｃｔが１となった次回の１サンプル周期のみＡｇｃ＿ａｃｔ＝１を出力し、以後はＡｇｃ＿ａｃｔ＝０を出力する。
【００３８】
パラメータ同定器１９は、パラメータ同定器作動信号Ｉｄ＿ａｃｔが、Ｉｄ＿ａｃｔ＝１の場合のみフィルタ後モータトルクτＭＦ、及びフィルタ後モータ回転速度検出値ωＭＦを入力としてパラメータベクトル前回推定値θ＾（Ｎ−１）をＮサンプル周期毎に逐次更新出力する。
【００３９】
ここで、パラメータ同定器１９の作用を簡単に説明しておく。パラメータ同定器１９の同定対象は、機械系の合計慣性モーメント推定値Ｊ＾と粘性摩擦係数推定値Ｄ＾とである。このとき、モータトルクτＭは、
τＭ＝Ｊ（ｄωＭ／ｄｔ）＋Ｄ・ωＭ                            （５２）
で表される。このとき、モータトルクτＭに対するモータ回転速度検出値ωＭの伝達関数ＧＲＤ（ｓ）は、ｓをラプラスの演算子として（５３）式の剛体モデルでモデル化することができる。
【数４６】
0005192802.tif 000047
【００４０】
パラメータ同定器１９は、この（５３）式の分母の係数Ｊ＾とＤ＾とを同定対象とする。但し、パラメータ同定器１９を離散時間演算で実現するため、まず、（５２）式に示した剛体モデルの伝達関数ＧＲＤ（ｓ）を、例えば、整合ｚ変換により離散化しておく。ちなみに、整合ｚ変換とはサンプリング周期をＴとするとき、連続系伝達関数の極・零点ｓを、それぞれ離散系伝達関数の極・零点ｚ＝ｅｓＴに写像する変換法である。この整合ｚ変換によれば、ｚ−１を１サンプル周期遅延を意味する演算子とするとき、伝達関数ＧＲＤ（ｓ）に対応する離散系伝達関数ＧＲＤ（ｚ）は（５６）式で表すことができる。また、（５４）式における係数ａ１，ｂ０は、それぞれ（５５）式、（５６）式で表される。
【数４７】
0005192802.tif 000048
【数４８】
0005192802.tif 000049
【数４９】
0005192802.tif 000050
【００４１】
以上の関係式（５４）〜（５６）式を用いれば、剛体モデルの連続系伝達関数ＧＲＤ（ｓ）を対応する離散系伝達関数ＧＲＤ（ｚ）に変換することが可能となる。また、逆にＧＲＤ（ｚ）の係数ａ１，ｂ０から（５７）式、（５８）式によりＧＲＤ（ｓ）のパラメータＪ＾、Ｄ＾を算出することも可能である。
【数５０】
0005192802.tif 000051
【数５１】
0005192802.tif 000052
【００４２】
そこで、本実施形態では、パラメータ同定器１９において、離散系伝達関数ＧＲＤ（ｚ）の未知係数ａ１，ｂ０を前記したＵＤ分解アルゴリズムにより同定し、次に、離散系／連続系パラメータ変換部２５において、（５７）、（５８）式を用いて合計慣性モーメント推定値Ｊ＾と粘性摩擦係数推定値Ｄ＾に変換し、制御系の比例ゲイン１５，１７に反映させるものとした。
【００４３】
ここで、図２を用いて、パラメータ同定器１９の内部構造について説明する。パラメータ同定器１９（図１）は、ゼロ次ホールド要素２６，２７と、１サンプル遅延要素２８，２９と、乗算器３０，３１と、自動ゲイン制御部３２（ＡＧＣＩ）と、回帰ベクトル生成部３３と、離散系パラメータ推定部３４と、離散系パラメータ推定部作動信号発生器３５（ＰＶＡＩ）とを備える。
【００４４】
ゼロ次ホールド要素２６は、フィルタ後モータトルクτＭＦをサンプリング周期Ｔでサンプル＆ホールドし、ホールドした離散値τＭＳ（Ｎ）を出力する。ゼロ次ホールド要素２７は、フィルタ後モータ回転速度検出値ωＭＦをサンプリング周期Ｔでサンプル＆ホールドし、ホールドした離散値ωＭＳ（Ｎ）を出力する。１サンプル遅延要素２８は、自動ゲイン制御部３２（ＡＧＣＩ）の演算時間を確保するためのものであり、τＭＳ（Ｎ）が入力され、τＭＳ（Ｎ−１）を出力する。１サンプル遅延要素２９は、離散値ωＭＳ（Ｎ）が入力され、ωＭＳ（Ｎ−１）を出力する。
【００４５】
乗算器３０は、離散値τＭＳ（Ｎ−１）に対して（５９）式で算出される減衰ゲインＫｇαを乗じて、離散値τＭ（Ｎ）を出力する。乗算器３１は、離散値ωＭＳ（Ｎ−１）に対して減衰ゲインＫｇαを乗じて、離散値ωＭ（Ｎ）を出力する。但し、（５９）式の演算においては、元々の回帰ベクトルΦ＊（Ｎ）は（６０）式で表現される２次元ベクトルである。
【数５２】
0005192802.tif 000053
【数５３】
0005192802.tif 000054
【００４６】
回帰ベクトル生成部３３は、離散値τＭ（Ｎ），ωＭ（Ｎ）が入力され、（６１）式で表現される２次元の回帰ベクトルφ（Ｎ）を出力する。
【数５４】
0005192802.tif 000055
【数５５】
0005192802.tif 000056
【００４７】
離散系パラメータ推定部３４は、離散系パラメータ推定部作動信号Ｐｖ＿ａｃｔＩが、Ｐｖ＿ａｃｔＩ＝１の場合のみＵＤ分解アルゴリズムに基づく逐次最小二乗法により離散系パラメータの推定を行う。具体的には、回帰ベクトルφ（Ｎ）を入力として、（６２）式の２次元ベクトルで表現されるパラメータベクトル推定値θ＾（Ｎ）の前回までのサンプルデータに基づく推定値であるパラメータベクトル前回推定値θ＾（Ｎ−１）を出力する。ここで、パラメータベクトル推定値θ＾（Ｎ）のベクトル要素ａ１＾（Ｎ）、ｂ０＾（Ｎ）はそれぞれ（５５）式、、及び（５６）式に示したａ１、ｂ０のＮサンプル時点での推定値とした。
【００４８】
自動ゲイン制御部３２（ＡＧＣＩ）は、τＭＳ（Ｎ）、及びωＭＳ（Ｎ）を入力信号として、自動ゲイン制御部作動信号Ａｇｃ＿ａｃｔ＝１の場合のみ、（６１）式、及び（６２）式に基づいて、減衰ゲインＫｇαを演算＆出力し、Ａｇｃ＿ａｃｔ  ＝０の場合には、前回サンプル時の減衰ゲインＫｇαを出力する。
【００４９】
離散系パラメータ推定部作動信号発生器（ＰＶＡＩ）３５は、離散系パラメータ推定部作動信号Ｐｖ＿ａｃｔＩを生成するものであり、回帰ベクトル生成部３３におけるデータ準備時間を確保する為に、２サンプル遅れのＩｄ＿ａｃｔをＰｖ＿ａｃｔＩとして出力する。
【００５０】
以上が、図１を用いた第１実施形態の説明である。以下では、図１，２を構成する機能ブロックについて、順次詳細な説明を行う。図３は、自動ゲイン制御部作動信号発生器２４（ＡＧＩ）の内部構成図である。
図３において、自動ゲイン制御部作動信号発生器２４（ＡＧＩ）は、パラメータ同定器作動信号Ｉｄ＿ａｃｔ７０を入力とし、自動ゲイン制御部作動信号Ａｇｃ＿ａｃｔ７６を出力とし、１サンプル遅延要素７１，７３，７５と、ＯＲ論理素子７２と、ＸＯＲ論理素子７４とを備える。
【００５１】
１サンプル遅延要素７１は、ＡＧＣＩ構成図（図４）における１サンプル遅延要素８６の出力を確定する為のものである。ＯＲ論理素子７２は、２入力の双方が０の場合のみ０を出力し、それ以外では１を出力する。１サンプル遅延要素７３は、ＯＲ論理素子７２の出力を入力とし、ＯＲ論理素子７２の入力に対して出力する。
ＯＲ論理素子７２と１サンプル遅延要素７３との帰還構成により、ＯＲ論理素子７２の出力は一度１になった後は、常に１を出力し続けることとなる。
【００５２】
ＸＯＲ論理素子７４は、ＯＲ論理素子７２の出力か、ＯＲ論理素子７２の１サンプル前の出力値のいずれか一方のみが１の場合のみ１を出力し、それ以外は０を出力する。１サンプル遅延要素７５は、ＯＲ論理素子７２の出力を入力するものであり、ＸＯＲ論理素子７４の入力に対して出力する。この１サンプル遅延要素７５とＸＯＲ論理素子７４との構成によりＯＲ論理素子７２の出力が変化した時点の１サンプル期間のみＸＯＲ論理素子７４は１を出力し、それ以外は０を出力する。以上の構成から、自動ゲイン制御部作動信号Ａｇｃ＿ａｃｔ７６は、入力されるパラメータ同定器作動信号Ｉｄ＿ａｃｔ７０が１となった次回の１サンプル周期のみ１を出力し、以後は０を出力する。
【００５３】
図４は自動ゲイン制御部ＡＧＣＩの内部構成図である。自動ゲイン制御部（ＡＧＣＩ）３２は、パラメータ同定器作動信号Ｉｄ＿ａｃｔ＝１の場合のみ、（６１）式、及び（６２）式に基づいて、減衰ゲインＫｇαを演算＆出力し、Ｉｄ＿ａｃｔ＝０の場合には、前回サンプル時の減衰ゲインＫｇαを出力する機能を実現する。
【００５４】
図４において、ＡＧＣＩ３２は、入力信号ωＭＳ（Ｎ）８０、τＭＳ（Ｎ）８１から、Ｋｇα８３を演算するものであり、絶対値演算器８４，８５（ＡＢＳ）と、１サンプル遅延要素８６と、減衰ゲインＫｇα演算部９７とを備える。
絶対値演算器８４，８５はそれぞれωＭＳ（Ｎ），τＭＳ（Ｎ）の絶対値を算出し、絶対値演算器８４の出力は、１サンプル遅延要素８６を介して減衰ゲインＫｇα演算部９７に入力され、絶対値演算器８５の出力は直接減衰ゲインＫｇα演算部９７に入力される。また、自動ゲイン制御部作動信号Ａｇｃ＿ａｃｔ８２も、直接減衰ゲインＫｇα演算部９７に入力される。
【００５５】
減衰ゲインＫｇα演算部９７の内部は、Ａｇｃ＿ａｃｔ＝１の場合のみ作動し、減衰ゲインＫｇα８３を更新する。
減衰ゲインＫｇ算出部９８は、（６１）式右辺の第一の要素に相当するＫｇを算出し、減衰ゲインＫα算出部９９は、（６１）式右辺の第二の要素に相当するＫαを算出するものである。最小値比較選択素子９０は、入力される減衰ゲインＫｇ、及び減衰ゲインＫαの内、いずれか小さい方を出力する。
【００５６】
定数８８は、後記するｇベクトル要素であるｇ１（Ｎ）とｇ２（Ｎ）に許容される最大絶対値をｏｖ＿ｌｉｍ＿ｇと置くときに、この絶対値ｏｖ＿ｌｉｍ＿ｇをＤ行列の対角要素初期値γ（γ＝ｄ１（０）＝ｄ２（０））で除した値である。このとき、ｏｖ＿ｌｉｍ＿ｇとして、実装する演算処理装置がオーバフローすることなく符号付きで表現できる数値の最大値以下を選択する。特に、固定小数点演算の演算桁数によって制限される最大数値を選択することにより、安価なＣＰＵを用いて制御を行うことができる。
【００５７】
最大値比較選択素子８７は、入力される回帰ベクトルΦ＊（Ｎ）要素の絶対値の内、いずれか大きい方を出力する。除算器８９は、定数８８を最大値比較選択素子８７の出力で除して減衰ゲインＫｇを出力する。また、定数９５は、後記するαベクトル要素であるα１（Ｎ）とα２（Ｎ）とに許容される最大値をｏｖ＿ｌｉｍ＿ａと置くとき、ｏｖ＿ｌｉｍ＿ａから忘却係数λ（１以下で１近傍の正数）を減じた値をＤ行列の対角要素初期値γ（γ＝ｄ１（０）＝ｄ２（０））で除した値の平方根をとった定数である。このとき、ｏｖ＿ｌｉｍ＿ａとして、実装する演算処理装置がオーバフローすることなく符号無しで表現できる数値の最大値以下を選択する（αベクトルの要素は、すべて正値の為）。
【００５８】
乗算器９１，９２は、それぞれ入力される回帰ベクトルΦ＊（Ｎ）要素の絶対値の２乗値を演算する。加算器９３は、乗算器９１，９２の出力結果を加算する。開平演算器９４は、加算器９３の出力を開平演算する。除算器９６は、定数９５を開平演算器９４の出力で除して減衰ゲインＫαを出力する。以上、自動ゲイン制御部３２（ＡＧＣＩ）の構成を説明した。
【００５９】
次に、図５のブロック図を用いて、回帰ベクトル生成部３３の構成を説明する。図５において、回帰ベクトル生成部３３は、１サンプル遅延要素１１３と、符号反転器１１４と、ベクトル化記号１１５とを備え、モータ回転速度ωＭ（Ｎ）と、モータトルクτＭ（Ｎ）とを各々入力信号１１０，１１１とし、回帰ベクトルφ（Ｎ）を出力信号１１２としている。なお各入力信号は、図２に示す乗算器３０，３１において減衰ゲインＫｇαを乗じた後の信号である。
【００６０】
１サンプル遅延要素１１３は、ωＭ（Ｎ）が入力されてωＭ（Ｎ−１）を出力する。符号反転器１１４は、１サンプル遅延要素１１３の出力ωＭ（Ｎ−１）が入力されて−ωＭ（Ｎ−１）を出力する。ベクトル化記号１１５は、−ωＭ（Ｎ−１）とτＭ（Ｎ）とをベクトル化表現するためのであり、−ωＭ（Ｎ−１）とτＭ（Ｎ）を要素とする（６１）式の回帰ベクトルφ（Ｎ）を出力する。補足であるが、ベクトル化記号１１５は、実装上は無視するか、構造体としてデータ構造に反映する。
【００６１】
次に、図６を用いて離散系パラメータ推定部３４の構成を説明する。図６において、離散系パラメータ推定部３４は、モータ回転速度離散値ωＭ（Ｎ）と、回帰ベクトルφ（Ｎ）とを入力信号１２０，１２１とし、パラメータベクトル前回推定値θ＾（Ｎ−１）を出力信号１２２とし、予測器１２３と、減算器１２４と、パラメータベクトル演算器１２５と、ＵＤ分解部１２６とを構成要素としている。なお、パラメータベクトル前回推定値θ＾（Ｎ−１）は、（６２）式の２次元ベクトルで表現されるパラメータベクトル推定値θ＾（Ｎ）の前回までのサンプルデータに基づく推定値を意味する。
【００６２】
予測器１２３は、回帰ベクトルφ（Ｎ）とパラメータベクトル前回推定値θ＾（Ｎ−１）とからモータ速度予測値ω＾Ｍ（Ｎ）を算出するものであり、（４）式の右辺第２項目に相当する演算を行う。減算器１２４は、モータ回転速度ωＭ（Ｎ）からモータ回転速度予測値ω＾Ｍ（Ｎ）を減算することにより、予測誤差ε（Ｎ）を算出するものであり、（４）式右辺の減算に相当する演算を行う。パラメータベクトル演算器１２５は、（５）式に相当する演算を用いて、予測誤差ε（Ｎ）とゲインベクトルｋ（Ｎ）とからパラメータベクトル推定値θ＾（Ｎ）を更新演算する。ＵＤ分解部１２６は、回帰ベクトルφ（Ｎ）からゲインベクトルｋ（Ｎ）をＵＤ分解アルゴリズムにより算出するものであり、ｆベクトル演算器１２７と、ｇベクトル演算器１２８と、α・μ演算器１２９と、Ｕ行列演算器１３０と、Ｄ行列演算器１３１と、ゲインベクトル演算器１３２とを備える。
【００６３】
ｆベクトル演算器１２７は、（６５）式の演算を用いて、回帰ベクトルφ（Ｎ）と（６３）式に示した対角成分が１の（２×２）上三角行列Ｕ（Ｎ）の前回値Ｕ（Ｎ−１）とから、ｆベクトルｆ（Ｎ）を算出するものである。
【数５６】
0005192802.tif 000057
【数５７】
0005192802.tif 000058
【数５８】
0005192802.tif 000059
【００６４】
ｇベクトル演算器１２８は、（６６）式の演算を用いて、ｆベクトルｆ（Ｎ）と（６４）式に示した（２×２）対角行列Ｄ（Ｎ）の前回値Ｄ（Ｎ−１）とからｇベクトルｇ（Ｎ）を算出する。
【数５９】
0005192802.tif 000060
【００６５】
α・μ演算器１２９は、（６７）式と（６８）式との演算を用いて、ｇベクトルｇ（Ｎ）とｆベクトルｆ（Ｎ）とから（６９）式によりαベクトルα（Ｎ）を算出し、μ２（Ｎ）を算出するものである。
【数６０】
0005192802.tif 000061
【数６１】
0005192802.tif 000062
【００６６】
Ｕ行列演算器１３０は、（６９）式の演算を用いて、ｇベクトルｇ（Ｎ）とμ２（Ｎ）とからｕ１２（Ｎ）を算出し、（７０）式によりｖベクトルｖ（Ｎ）を算出するでものある。また、Ｕ行列演算器１３０は、（６３）式で用いられるｕ１２（Ｎ−１）の値を、ｆベクトル演算器１２７に帰還させる。
【数６２】
0005192802.tif 000063
【数６３】
0005192802.tif 000064
【００６７】
Ｄ行列演算器１３１は、（７１）式の演算を用いて、αベクトルα（Ｎ）からｄ１（Ｎ）を算出し、（７２）式によりｄ２（Ｎ）を算出することにより、Ｄ（Ｎ−１）をｇベクトル演算器１２８に帰還させる。
【数６４】
0005192802.tif 000065
【数６５】
0005192802.tif 000066
【００６８】
ゲインベクトル演算器１３２は、（７３）式の演算を用いて、ｖベクトルｖ（Ｎ）とα２（Ｎ）とからゲインベクトルｋ（Ｎ）を算出するものである。
【数６６】
0005192802.tif 000067
【００６９】
以上が、離散系パラメータ推定部３４の構成である。以下では、離散系パラメータ推定部３４を構成する機能ブロックについて、順次詳細な説明を行う。
【００７０】
図７の構成図は、予測器１２３の内部構成を示した図である。図７において、予測器１２３は、パラメータベクトル前回推定値θ＾（Ｎ−１）と回帰ベクトルφ（Ｎ）とを入力信号１４０，１４１とし、モータ回転速度予測値ω＾Ｍ（Ｎ）を出力信号１４７とするものであり、ベクトル化記号１４２，１４３と、乗算器１４４，１４５と、加算器１４６とを備える。
【００７１】
ベクトル化記号１４２は、パラメータベクトル前回推定値θ＾（Ｎ−１）から要素ａ１＾（Ｎ−１），ｂ０＾（Ｎ−１）を取り出す操作を行う。ベクトル化記号１４３は、回帰ベクトルφ（Ｎ）から要素−ωＭ（Ｎ−１），τＭ（Ｎ）を取り出す操作を行う。乗算器１４４は、要素ａ１＾（Ｎ−１）と要素−ωＭ（Ｎ−１）との乗算を行う。乗算器１４５は、要素ｂ０＾（Ｎ−１）と要素τＭ（Ｎ）との乗算を行う。加算器１４６は、乗算器１４４の出力信号と乗算器１４５の出力信号とを加算するものであり、結果をモータ速度予測値ω＾Ｍ（Ｎ）として出力する。
【００７２】
図８は（５）式の演算を行うパラメータベクトル演算器１２５の内部構成図である。
図８において、ゲインベクトルｋ（Ｎ）と、予測誤差ε（Ｎ）を入力信号１６０，１６１とし、パラメータベクトル前回推定値θ＾（Ｎ−１）を出力信号１６２とするものであり、ベクトル化記号１６３，１７０と、乗算器１６４，１６７と、加算器１６５，１６８と、１サンプル遅延要素１６６，１６９とを備える。
【００７３】
ベクトル化記号１６３は、ゲインベクトルｋ（Ｎ）から要素ｋ１（Ｎ），ｋ２（Ｎ）を取り出す操作を示す。乗算器１６４は要素ｋ１（Ｎ）と予測誤差ε（Ｎ）の乗算を行い、乗算器１６７は要素ｋ２（Ｎ）と予測誤差ε（Ｎ）との乗算を行う。加算器１６５はａ１＾（Ｎ−１）に乗算器１６４の出力を加算し、（１）式の係数ａ１＾（Ｎ）を算出するものであり、加算器１６８は、係数ｂ０＾（Ｎ−１）に乗算器１６７の出力を加算し、係数ｂ０＾（Ｎ）を算出するものである。
【００７４】
１サンプル遅延要素１６６は、係数ａ１＾（Ｎ）が入力され、係数ａ１＾（Ｎ−１）を出力するものであり、１サンプル遅延要素１６９はｂ０＾（Ｎ）が入力され、係数ｂ０＾（Ｎ−１）を出力するものである。ベクトル化記号１７０は、係数ａ１＾（Ｎ−１）とｂ０＾（Ｎ−１）をベクトル化して１６２のパラメータベクトル前回推定値θ＾（Ｎ−１）に出力するものである。
【００７５】
次に、図９を用いてｆベクトル演算器の内部構成を説明する。図９において、ｆベクトル演算器１２７は、（６７）式の演算を用いて、回帰ベクトルφ（Ｎ）とＵ行列前回値Ｕ（Ｎ−１）の１行２列要素ｕ１２（Ｎ−１）との入力信号１８０，１８１を、ｆベクトルｆ（Ｎ）の出力信号１８２に変換するものであり、ベクトル化記号１８３，１８６と、乗算器１８４と、加算器１８５とを備える。
【００７６】
ベクトル化記号１８３は、回帰ベクトルφ（Ｎ）の要素−ωＭ（Ｎ−１），τＭ（Ｎ）を取り出す操作を示す。乗算器１８４は、−ωＭ（Ｎ−１）とｕ１２（Ｎ−１）との乗算を行うものである。加算器１８５は、τＭ（Ｎ）に乗算器１８４の出力を加算し、第２要素ｆ２（Ｎ）を出力する。ベクトル化記号１８６は、−ωＭ（Ｎ−１）を第一要素ｆ１（Ｎ）にベクトル化し、また、加算器１８５の出力を第二要素ｆ２（Ｎ）にベクトル化する操作を示し、ｆベクトルｆ（Ｎ）１８２を出力する。
【００７７】
次に、図１０を用いて、ｇベクトル演算器の内部構成を説明する。図１０において、ｇベクトル演算器１２８は、（６６）式の演算を用いて、ｆベクトルｆ（Ｎ）とＤ行列前回値Ｄ（Ｎ−１）の対角成分で構成されたベクトルを入力信号２００，２０１として、ｇベクトルｇ（Ｎ）の出力信号２０２に変換するものであり、ベクトル化記号２０３，２０４，２０９と、乗算器２０５，２０７と、リミッタ２０６，２０８とを備える。
【００７８】
ベクトル化記号２０３は、ｆベクトルｆ（Ｎ）の要素ｆ１（Ｎ），ｆ２（Ｎ）を取り出す操作を示し、ベクトル化記号２０４は、Ｄ（Ｎ−１）の対角要素ｄ１（Ｎ−１），ｄ２（Ｎ−１）を取り出す操作を示す。乗算器２０５は、要素ｆ１（Ｎ）と対角要素ｄ１（Ｎ−１）との乗算を行い、乗算器２０７は、要素ｆ２（Ｎ）と対角要素ｄ２（Ｎ−１）との乗算を行う。
【００７９】
リミッタ２０６，２０８は、それぞれ乗算器２０５，２０７の出力を、オーバフローすることなく表現可能な上下限値でリミット処理する。ただし、自動ゲイン制御部３２（図２）を実装した本実施形態の構成では、リミッタ２０６，２０８は通常作動することはない。ベクトル化記号２０９は、リミッタ２０６の出力を第一要素ｇ１（Ｎ）に、また、リミッタ２０８の出力を第二要素ｇ２（Ｎ）にベクトル化してｇベクトルｇ（Ｎ）を出力するものである。
【００８０】
次に、α・μ演算器の内部構成を図１１を用いて説明する。図１１において、α・μ演算器１２９は、（６７）式、（６８）式の演算を用いて、ｇベクトルｇ（Ｎ）とｆベクトルｆ（Ｎ）を入力信号２２０、２２１として、μ２（Ｎ）とαベクトルα（Ｎ）の出力信号２２２、２２３に変換するものであり、ベクトル化記号２３６，２３７，２３５と、乗算器２２５，２３０と、加算器２２６，２３１と、リミッタ２２７，２３２と、除算器２２８と、符号反転器２２９とを備える。
【００８１】
ベクトル化記号２３６は、ｇベクトルｇ（Ｎ）の要素ｇ１（Ｎ），ｇ２（Ｎ）を取り出す操作を示し、ベクトル化記号２３７はｆ（Ｎ）の要素ｆ１（Ｎ），ｆ２（Ｎ）を取り出す操作を示す。定数２２４は、忘却係数λを格納している。乗算器２２５はｇ１（Ｎ）とｆ１（Ｎ）との乗算を行うものであり、乗算器２３０は、要素ｇ２（Ｎ）と要素ｆ２（Ｎ）との乗算を行う。加算器２２６は、忘却係数λと乗算器２２５の出力信号とを加算する。
【００８２】
リミッタ２２７は、加算器２２６の出力を、オーバフローすることなく表現可能な上限値でリミット処理する。加算器２３１は、リミッタ２２７の出力と乗算器２３０の出力を加算する。リミッタ２３２は、加算器２３１の出力をオーバフローすることなく表現可能な上限値でリミット処理するものである。ただし、自動ゲイン制御部３２（図２）を実装した本実施形態では、リミッタ２２７，２３２は通常作動することはない。
【００８３】
ベクトル化記号２３５は、忘却係数λを第一要素α０（Ｎ）に、リミッタ２２７の出力を第二要素α１（Ｎ）に、リミッタ２３２の出力を第三要素α２（Ｎ）にベクトル化してαベクトルα（Ｎ）を出力する。除算器２２８は、ｆ２（Ｎ）をリミッタ２２７が出力するα１（Ｎ）で除算する。符号反転器２２９は、除算器２２８の出力値を符号反転し、μ２（Ｎ）として出力する。
【００８４】
次に、図１２を用いてＵ行列演算器の内部構成を説明する。図１２において、Ｕ行列演算器１３０は、（６９）式、（７０）式の演算を用いて、ｇベクトルｇ（Ｎ）とμ２（Ｎ）とを入力信号２５０、２５１として、ｖベクトルｖ（Ｎ）とＵ行列前回値Ｕ（Ｎ−１）の１行２列要素ｕ１２（Ｎ−１）との出力信号２５２，２５３に変換するものであり、ベクトル化記号２５４，２６０と、乗算器２５５，２５８と、加算器２５６，２５９と、１サンプル遅延要素２５７とを備えている。。
【００８５】
ベクトル化記号２５４は、ｇ（Ｎ）の要素ｇ１（Ｎ），ｇ２（Ｎ）を取り出す操作を示す。乗算器２５５は、要素ｇ１（Ｎ）とμ２（Ｎ）とを乗算する。加算器２５６は、乗算器２５５の出力信号とｕ１２（Ｎ−１）とを加算しｕ１２（Ｎ）を演算するものである。１サンプル遅延要素２５７は、加算器２５６の出力するｕ１２（Ｎ）を入力信号としてｕ１２（Ｎ−１）を出力するものである。乗算器２５８は、ｕ１２（Ｎ−１）とｇ２（Ｎ）とを乗算するものである。加算器２５９は、ｇ１（Ｎ）と乗算器２５８の出力信号とを加算するものである。ベクトル化記号２６０は、加算器２５９の出力を第一要素ｖ１（Ｎ）に、ｇ２（Ｎ）を第二要素ｖ２（Ｎ）にベクトル化することを示し、ｖベクトルｖ（Ｎ）を出力する。
【００８６】
次に、Ｄ行列演算器の内部構成を図１３を用いて説明する。図１２において、Ｄ行列演算器１３１は、（７１）式、（７２）式の演算を用いて、αベクトルα（Ｎ）を入力信号２７０として、Ｄ行列前回値Ｄ（Ｎ−１）の対角要素ｄ１（Ｎ−１），ｄ２（Ｎ−１）で構成されたベクトルの出力信号２７１に変換するものであり、ベクトル化記号２７２，２８１と、除算器２７３，２７７と、乗算器２７４，２７８と、ゲイン２７５，２７８と、１サンプル遅延要素２７６，２８０とを備える。
【００８７】
ベクトル化記号２７２は、αベクトルα（Ｎ）の要素α０（Ｎ），α１（Ｎ），α２（Ｎ）を取り出す操作を示す。除算器２７３は、要素α０（Ｎ）をα１（Ｎ）で除する。除算器２７７は、要素α１（Ｎ）を要素α２（Ｎ）で除する。乗算器２７４は、除算器２７３の出力信号にｄ１（Ｎ−１）を乗算する。ゲイン２７５は、乗算器２７４の出力に１／λを乗ずる。１サンプル遅延要素２７６は、ゲイン２７５の出力が入力され、対角要素ｄ１（Ｎ−１）を出力する。乗算器２７８は、除算器２７７の出力に対角要素ｄ２（Ｎ−１）を乗算する。ゲイン２７９は乗算器２７８の出力に１／λを乗ずる。１サンプル遅延要素２８０は、ゲイン２７９の出力が入力され、対角要素ｄ２（Ｎ−１）を出力する。ベクトル化記号２８１は、対角要素ｄ１（Ｎ−１）と対角要素ｄ２（Ｎ−１）とをベクトル化してＤ行列前回値Ｄ（Ｎ−１）として出力する。
【００８８】
次に、ゲインベクトル演算器の内部構成を図１４を用いて説明する。図１４において、ゲインベクトル演算器１３２は、（７３）式の演算を用いて、ｖベクトルｖ（Ｎ）とα２（Ｎ）とを入力信号２９０、２９１として、ゲインベクトルｋ（Ｎ）の出力信号２９２に変換するものであり、ベクトル化記号２９３，２９６と、除算器２９４，２９５とを備える。
【００８９】
ベクトル化記号２９３はｖ（Ｎ）の要素ｖ１（Ｎ）とｖ２（Ｎ）を取り出す操作を示す。除算器２９４はｖ１（Ｎ）をα２（Ｎ）で除算しｋ１（Ｎ）を出力する。除算器２９５はｖ２（Ｎ）をα２（Ｎ）で除算しｋ２（Ｎ）を出力する。ベクトル化記号２９６は、ｋ１（Ｎ）とｋ２（Ｎ）とをベクトル化することを示し、ゲインベクトルｋ（Ｎ）として出力する。
【００９０】
以上、オートチューニング部３７の構成を詳細に説明してきたが、次にオートチューニング部３７の処理シーケンスを図１５に示すフローチャート図に従い説明する。
逐次、このフローの処理が開始され（Ｓ３００）、初期値が設定される（Ｓ３０１）。具体的には、パラメータ同定器作動信号Ｉｄ＿ａｃｔ＝０、同定回数カウンタＩｄ＿ｃｏｕｎｔ＝０、自動ゲイン制御部作動信号Ａｇｃ＿ａｃｔ＝０、離散系パラメータ推定部作動信号Ｐｖ＿ａｃｔＩ＝０に設定される。
【００９１】
次に、パラメータ同定器作動信号発生器２３は、フィルタ後モータ回転速度検出値ωＭＦの絶対値（大きさ）が規定値ωＡ以上であるか否かを判定する（Ｓ３０２）。規定値ωＡ以上でなければ（Ｎｏ）、Ｓ３０２の処理を繰り返し、規定値ωＡ以上になるのを待つ。そして、規定値ωＡ以上になれば（Ｙｅｓ）、パラメータ同定器作動信号発生器２３がパラメータ同定器作動信号Ｉｄ＿ａｃｔを０から１に変更し、これによりパラメータ同定器１９は処理を開始する（Ｓ３０３）。
【００９２】
そして、図２の１サンプル遅延要素２８，２９及び図４の１サンプル遅延要素８６へのデータ充填時間（Ｋｇα演算時間）を確保する為に、オートチューニング部３７は、１サンプル周期遅延する（Ｓ３０４）。そして、自動ゲイン制御部作動信号発生器２４は、自動ゲイン制御部作動信号Ａｇｃ＿ａｃｔに１をセットする。これにより、自動ゲイン制御部（ＡＧＣＩ）３２の演算が実行され、自動ゲイン制御部（ＡＧＣＩ）３２はオーバフロー抑制ゲイン（減衰ゲイン）Ｋｇαを演算する（Ｓ３０５）。そして、自動ゲイン制御部作動信号発生器２４は、自動ゲイン制御部作動信号Ａｇｃ＿ａｃｔを０に戻す。これにより、このルーチンがＳ３００から再スタートされるまでの間、減衰ゲインＫｇαは固定されることとなる（Ｓ３０６）。
【００９３】
そして、回帰ベクトル生成部３３の１サンプル遅延要素１１３へのデータ充填時間（回帰ベクトル充填時間）を確保する為に、１サンプル周期遅延する（Ｓ３０７）。そして、離散系パラメータ推定部作動信号Ｐｖ＿ａｃｔＩを０から１に変更することにより離散系パラメータ推定部３４の処理を開始する（Ｓ３１１）。そして、複数回同定の実行により同定精度を向上させるために、同定回数カウンタＩｄ＿ｃｏｕｎｔを１加算する（Ｓ３１２）。
【００９４】
そして、オートチューニング部３７は、回転速度ωＭＦの絶対値が規定値ωＩ未満であるか否かを判定する（Ｓ３１３）。オートチューニング部３７は、回転速度ωＭＦの絶対値が規定値ωＩ以上の場合には（Ｎｏ）、Ｓ３１３を再実行し、規定値ωＩ未満になるのを待つ。一方、オートチューニング部３７は、ωＭＦ絶対値が規定値ωＩ未満になった場合には（Ｙｅｓ）、Ｉｄ＿ａｃｔ、及びＰｖ＿ａｃｔＩを１から０に変更することによりパラメータ同定器１９を停止する（Ｓ３１４）。そして、オートチューニング部３７は、同定回数カウンタＩｄ＿ｃｏｕｎｔが規定値回数ＮＣ以上であるか否かを判定する（Ｓ３１５）。
【００９５】
同定回数カウンタＩｄ＿ｃｏｕｎｔが規定回数ＮＣ未満ならば（Ｎｏ）、パラメータ同定器作動信号発生器２３は、フィルタ後モータ回転速度検出値ωＭＦの絶対値が規定値ωＡ以上であるか否かを判定する（Ｓ３０８）。規定値ωＡ以上でなければ（Ｎｏ）、パラメータ同定器作動信号発生器２３は、Ｓ３０８の処理を繰り返す。規定値ωＡ以上になれば（Ｙｅｓ）、パラメータ同定器作動信号発生器２３は、パラメータ同定器作動信号Ｉｄ＿ａｃｔを０から１に変更することによりパラメータ同定器１９の処理を開始する（Ｓ３０９）。そして、オートチューニング部３７は、Ｋｇα演算時間と回帰ベクトル充填時間を確保するために２サンプル周期遅延させ（Ｓ３１０）、前記したＳ３１１からＳ３１５までの処理を実行する。
【００９６】
Ｓ３１５の判定で、同定回数カウンタＩｄ＿ｃｏｕｎｔが規定回数ＮＣ以上であれば（Ｙｅｓ）、パラメータ同定器１９は、同定結果であるパラメータベクトル前回推定値θ＾（Ｎ−１）を離散系／連続系パラメータ変換部２５において連続系のパラメータである合計慣性モーメント推定値Ｊ＾、及び粘性摩擦係数推定値Ｄ＾に変換する（Ｓ３１６）。そして、オートチューニング部３７は、速度制御器９の比例ゲイン１５，１７にそれぞれＪ＾、Ｄ＾をセットし（Ｓ３１７）、本ルーチンの処理を終了する（Ｓ３１８）。
【００９７】
以上が、オートチューニング部における一連の処理の流れである。次に、本実施形態のもたらす効果について、図１６，１７に示すシミュレーション動作波形を用いて説明する。
但し、シミュレーション条件として、モータと連結軸と駆動対象負荷とからなる機械系の合計慣性モーメントにＪ＝５．７１×１０−５［ｋｇ・ｍ２］をセットし、粘性摩擦係数にＤ＝１．０×１０−３［Ｎ・ｍ／（ｒａｄ／ｓ）］をセットし、サンプリング周期にＴ＝８．９６［ｍｓ］をセットした。よって、（５５）式、及び（５６）式の関係からａ１≒−０．８５５、ｂ０≒１４５  が真値であることが分かっている。
【００９８】
図１６（ａ）はフィルタ後モータ回転速度検出値ωＭＦの波形３３０であり、図１６（ｂ）は自動ゲイン制御部作動信号Ａｇｃ＿ａｃｔの波形３３１であり、図１６（ｃ）はパラメータ同定器作動信号Ｉｄ＿ａｃｔの波形３３２であり、図１６（ｄ）は離散系パラメータ推定部作動信号Ｐｖ＿ａｃｔＩの波形３３３である。
【００９９】
また、比較例として、図１７に、減衰ゲインＫｇαを１に固定した条件で同定を行った場合の波形を示す。図１７（ａ）は、ａ１＾の波形３３４であり、図１７（ｂ）はｂ０＾の波形３３５である。さらに、本実施形態の構成で同定を行った場合のａ１＾を波形３３６に示し、ｂ０＾を波形３３７に示す。波形３３０、波形３３２、及び波形３３３から明らかなように、本シミュレーションでは同定回数カウンタＩｄ＿ｃｏｕｎｔ＝２までの動きを示している。
【０１００】
このとき、減衰ゲインＫｇαを１に固定した場合の比較例では、波形３３４、及び波形３３５で確認できるように、同定開始初期において、真値に対して逆符号となる程の、過大な同定誤差を発生し、その後も真値への収束性が低い。一方、本実施形態では、波形３３６、及び波形３３７で確認できるように、同定開始初期における過大な同定誤差もなく真値へ収束することが確認できる。
【０１０１】
（第２実施形態）
次に、本発明の第２の実施形態のパラメータ同定器について図１８を用いて説明する。図２に示されるパラメータ同定器１９との相違点は、減衰ゲインＫｇαを回帰ベクトルに対して乗算する点である。なお、モータ制御システムとしての構成は第１実施形態の図１と同様である。
【０１０２】
回帰ベクトル生成部３５１は、（６２）式に基いて、τＭＳ（Ｎ）、及びωＭＳ（Ｎ）が入力され、回帰ベクトルΦ＊（Ｎ）を生成する。乗算器３５３は、回帰ベクトルΦ＊（Ｎ）に対して、自動ゲイン制御部３５２（ＡＧＣ２）が出力する減衰ゲインＫｇαを乗算するものであり、演算結果を回帰ベクトルφ（Ｎ）として出力する。乗算器３５４は、ωＭＳ（Ｎ）に減衰ゲインＫｇαを乗算するものであり、演算結果をωＭ（Ｎ）として出力する。
離散系パラメータ推定部作動信号発生器３５５（ＰＶＡ２）は、回帰ベクトル生成部３５１におけるデータ準備時間を確保する為に、１サンプル遅れのＩｄ＿ａｃｔを離散系パラメータ推定部作動信号Ｐｖ＿ａｃｔとして出力する。
【０１０３】
自動ゲイン制御部３５２（ＡＧＣ２）は、回帰ベクトルΦ＊（Ｎ）を入力信号として、自動ゲイン制御部作動信号Ａｇｃ＿ａｃｔ＝１の場合のみ、（６１）式、及び（６２）式に基づいて、減衰ゲインＫｇαを演算すると共に演算結果を出力し、Ａｇｃ＿ａｃｔ＝０の場合には、前回サンプル時の減衰ゲインＫｇαを出力する。
【０１０４】
次に、図１９を用いて自動ゲイン制御部３５２（ＡＧＣ２）の内部構成を説明する。図１７において、図４に示した自動ゲイン制御部３２（ＡＧＣＩ）と異なる点は、入力部分だけである。第２実施形態では、回帰ベクトルΦ＊（Ｎ）を入力することから、図４の１サンプル遅延要素８６のように、内部的に回帰ベクトルを生成する必要が無くベクトル化記号３７３から絶対値演算器３７４，３７５を介して減衰ゲインＫｇ算出部９８に入力されていることが特徴である。回帰ベクトルΦ＊（Ｎ）３７０の要素−ωＭ（Ｎ−１），τＭ（Ｎ）を絶対値演算器３７４，３７５にそれぞれ入力した後、図３と同一構成の減衰ゲインＫｇα演算部９７に対して、それぞれ出力する。
【０１０５】
次に、パラメータ同定器３５０の処理シーケンスを図２０に示すフローチャートを用いて説明する。
逐次、このフローの処理が実行され（Ｓ４００）、パラメータ同定器３５０は、フラグ、及び変数の初期化を行う（Ｓ４０１）。そして、フィルタ後モータ回転速度検出値ωＭＦの絶対値（大きさ）が規定値ωＡ以上かどうかを判定する（Ｓ４０２）。判定結果がＮｏの場合にはＳ４０２に戻り、規定値ωＡ以上になるまで待つ。
【０１０６】
一方、判定結果がＹｅｓの場合には、パラメータ同定器作動信号Ｉｄ＿ａｃｔを０から１に変更することによりパラメータ同定器３５０の処理を開始し（Ｓ４０３）。そして、回帰ベクトル生成部３５１の１サンプル遅延要素へのデータ充填時間（回帰ベクトル充填時間）を確保する為に１サンプル周期遅延する（Ｓ４０４）。そして、自動ゲイン制御部作動信号Ａｇｃ＿ａｃｔに１をセットし、これにより自動ゲイン制御部ＡＧＣ２の演算し（Ｓ４０５）、減衰ゲインＫｇαを算出する。
【０１０７】
そして、自動ゲイン制御部作動信号Ａｇｃ＿ａｃｔを０に戻す。これにより、処理４００から再スタートされるまでの間、減衰ゲインＫｇαは固定されることとなる（Ｓ４０６）。そして、離散系パラメータ推定部作動信号Ｐｖ＿ａｃｔを０から１に変更することにより、離散系パラメータ推定部３４の処理を開始する（Ｓ４１０）。
そして、複数回同定の実施により同定精度を向上させる為の同定回数カウンタＩｄ＿ｃｏｕｎｔを１加算する（Ｓ４１１）。
【０１０８】
そして、回転速度ωＭＦの絶対値が規定値ωＩ未満であるか否かが判定される（Ｓ４１２）。規定値ωＩ以上であれば（Ｎｏ）、Ｓ４１２の処理が繰り返される。一方、ωＭＦ絶対値が規定値ωＩ未満の場合には（Ｙｅｓ）、Ｉｄ＿ａｃｔ、及びＰｖ＿ａｃｔ２を１から０に変更することによりパラメータ同定器３５０の処理を停止する（Ｓ４１３）。
【０１０９】
そして、同定回数カウンタＩｄ＿ｃｏｕｎｔが規定回数ＮＣ以上であるか否かが判定される（Ｓ４１４）。規定回数ＮＣ以上でなければ（Ｎｏ）、フィルタ後モータ回転速度検出値ωＭＦの大きさが規定値ωＡ以上であるか否かを判定する（Ｓ４０７）。Ｎｏの場合にはＳ４０７の処理を繰り返す。一方、判定結果がＹｅｓの場合には、パラメータ同定器作動信号Ｉｄ＿ａｃｔを０から１に変更することによりパラメータ同定器３５０の処理を開始する（Ｓ４０８）。そして、回帰ベクトル充填時間を確保する為に、１サンプル周期遅延する（Ｓ４０９）。そして、Ｓ４１０からＳ４１４までの処理を実行し、Ｓ４１４で規定回数ＮＣ以上でなければ（Ｎｏ）、これらの処理が繰り返される。
【０１１０】
一方、Ｓ４１４で、規定回数ＮＣ以上であると判定されれば（Ｙｅｓ）、同定結果であるパラメータベクトル前回推定値θ＾（Ｎ−１）を離散系／連続系パラメータ変換部２５において連続系のパラメータである合計慣性モーメント推定値Ｊ＾、及び粘性摩擦係数推定値Ｄ＾に変換する（Ｓ４１５）。そして、速度制御器９の比例ゲイン１５，１７にそれぞれＪ＾、Ｄ＾をセットし（Ｓ４１６）、処理を終了する（Ｓ４１７）。
以上が、オートチューニング部における一連の処理の流れであり、これにより図１６に示した第２の実施形態においても、第１実施形態と同様の効果を発揮できる。
【０１１１】
本実施形態によれば、逐次最小二乗法演算におけるオーバフローを抑制しつつ同定精度を高く保つことができる。これにより、同定結果を用いた制御パラメータの高精度な自動設定が可能となり、より簡単に高性能な制御が実現できることとなる。
【０１１２】
（変形例）
本発明は前記した実施形態に限定されるものではなく、例えば以下のような種々の変形が可能である。
（１）前記各実施形態は、ゼロ次ホールド要素２６，２７によって、Ｎ個のパラメータτＭＳ（Ｎ），ωＭＳ（Ｎ）を得たが、この機能はＦＩＦＯ（First  In  First Out）によっても実現することもできる。
（２）第２実施形態では、乗算器を介さずにフィルタ後モータ速度サンプル値ωＭＳ（N）を回帰ベクトル生成部３５１に入力したが、乗算器を介した信号を他の回帰ベクトル生成部に入力してもよい。
【図面の簡単な説明】
【０１１３】
【図１】本発明の一実施形態であるモータ制御システムの構成図である。
【図２】本発明の第１実施形態のパラメータ同定器の構成図である。
【図３】本発明の第１実施形態の自動ゲイン制御部作動信号発生器ＡＧＩの構成図である。
【図４】本発明の第１実施形態の自動ゲイン制御部ＡＧＣＩの構成図である。
【図５】本発明の第１実施形態の回帰ベクトル生成部の構成図である。
【図６】離散系パラメータ推定部の構成図である。
【図７】予測器の構成図である。
【図８】パラメータベクトル演算器の構成図である。
【図９】ｆベクトル演算器の構成図である。
【図１０】ｇベクトル演算器の構成図である。
【図１１】α・μ演算器の構成図である。
【図１２】Ｕ行列演算器の構成図である。
【図１３】Ｄ行列演算器の構成図である。
【図１４】ゲインベクトル演算器の構成図である。
【図１５】第１実施形態の動作を示すフローチャートである。
【図１６】第１実施形態の動作波形を示す図である。
【図１７】第１実施形態と比較例との動作波形を示す図である
【図１８】本発明の第２実施形態のパラメータ同定器の構成図である。
【図１９】本発明の第２実施形態の自動ゲイン制御部ＡＧＣの構成図である。
【図２０】第２実施形態の動作を示すフローチャートである。
【符号の説明】
【０１１４】
１    モータ
２    負荷（駆動対象負荷）
３    連結軸
４    電力変換器
５    速度演算器
６    電流検出器
７，１０，１２４    減算器
８    電流制御器
９    速度制御器
１２  積分ゲイン
１３  積分器
１４，１６，９３，１４６，１６５，１６８，１８５，２２６，２３１，２５６，２５９      加算器
１１，１５，１７    比例ゲイン，
１８，２７５，２７９    ゲイン
１９，３５０    パラメータ同定器
２１，２２    ローパスフィルタ
２３    パラメータ同定器作動信号発生器（ＩＤＡ）
２４    自動ゲイン制御部作動信号発生器（ＡＧＩ）
２５    離散系／連続系パラメータ変換部
２６，２７    ゼロ次ホールド要素
２８，２９，７１，７３，７５，８６，１１３，１６６，１６９，２５７，２７６，２８０    １サンプル遅延要素
３０，３１，９１，９２，１４５，１６４，１６７，１８４，２０５，２０７，２２５，２３０，２５５，２５８，２７４，２７８    乗算器
３２    自動ゲイン制御部（ＡＧＣＩ）
３３    回帰ベクトル生成部
３４    離散系パラメータ推定部
３５    離散系パラメータ推定部作動信号発生器（ＰＶＡＩ）
３６    １次遅れフィルタ
３７    オートチューニング部
３８    位置検出器
３９    位置検出器
７０    パラメータ同定器作動信号Ｉｄ＿ａｃｔ
７２    ＯＲ論理素子
７４    ＸＯＲ論理素子
７６    自動ゲイン制御部作動信号Ａｇｃ＿ａｃｔ
８４，８５，３７４，３７５    絶対値演算器
９０    最小値比較選択素子
８９，９６，２２８，２７３，２７７，２９４，２９５    除算器
９４      開平演算器
１１４，２２９    符号反転器
１２３    予測器
１２５    パラメータベクトル演算器
１２７    ｆベクトル演算器
１２８    ｇベクトル演算器
１２９    α・μ演算器
１３０    Ｕ行列演算器
１３１    Ｄ行列演算器
１３２    ゲインベクトル演算器
１１５，１４２，１４３，１６３，１７０，１８３，１８６，２０３，２０４，２０９，２３６，２３７，２３５，２５４，２６０，２７２，２８１，２９３，２９６，３７３    ベクトル化記号
１００  モータ制御装置
２００  モータ制御システム
２０６，２０８，２２７，２３２  リミッタ
２２４    忘却係数λ
Ｉｑ＊    トルク電流指令値、
Ｉｑ     トルク電流検出値、
Ｉ＾ｑ    トルク電流推定値、
Ｉｅ      電流偏差、
τＭ      モータトルク、
τｓ      粘性摩擦補償前モータトルク指令、
τＭ＊    モータトルク指令、
τｄ＾    粘性摩擦補償トルク、
ωＭ      モータ回転速度検出値、
ωＭ＊     モータ速度指令値、
ωｅ      モータ速度偏差
Ｊ＾      機械系の合計慣性モーメント推定値、
Ｄ＾      粘性摩擦係数推定値
τＭＦ      フィルタ後モータトルク
ωＭＦ      フィルタ後モータ回転速度検出値、
τＭＳ（Ｎ）        フィルタ後モータトルクサンプル値、
ωＭＳ（Ｎ）        フィルタ後モータ速度サンプル値、
τＭＳ（Ｎ−１）    フィルタ後モータトルク１サンプル遅延値
ωＭＳ（Ｎ−１）    フィルタ後モータ速度１サンプル遅延値
Ｋｇ，Ｋα，Ｋｇα    減衰ゲイン
τＭ（Ｎ）         減衰後モータトルク
ωＭ（Ｎ）         減衰後モータ速度
φ（Ｎ）          回帰ベクトル
θ＾（Ｎ−１）    パラメータベクトル前回推定値
Ａｇｃ＿ａｃｔ    自動ゲイン制御部作動信号
Ｉｄ＿ａｃｔ      パラメータ同定器作動信号
Ｐｖ＿ａｃｔＩ    離散系パラメータ推定部作動信号
【図１】
0005192802.tif 000075
【図２】
0005192802.tif 000076
【図３】
0005192802.tif 000077
【図４】
0005192802.tif 000078
【図５】
0005192802.tif 000079
【図６】
0005192802.tif 000080
【図７】
0005192802.tif 000081
【図８】
0005192802.tif 000082
【図９】
0005192802.tif 000083
【図１０】
0005192802.tif 000084
【図１１】
0005192802.tif 000085
【図１２】
0005192802.tif 000086
【図１３】
0005192802.tif 000087
【図１４】
0005192802.tif 000088
【図１５】
0005192802.tif 000089
【図１６】
0005192802.tif 000090
【図１７】
0005192802.tif 000091
【図１８】
0005192802.tif 000092
【図１９】
0005192802.tif 000093
【図２０】
0005192802.tif 000094