(57)【要約】【課題】高速高精度に追従し停止時の残留振動を抑制できるモータ制御装置を得る。【解決手段】動作目標値に制御対象の動作を追従させるために必要なモデルトルクを生成する制御部を有し、モデルトルクに基づいて制御対象を動作させるトルク指令を発生するモータ制御装置にて、制御部は、動作目標値を入力し、モデルゲインから決定した遮断周波数以上の高周波数成分と制御対象の振動に対応する所定の周波数成分とを減衰させるフィルタ演算によりモデルトルクを演算し、モデルトルクとフィルタ演算の状態変数とを出力するフィルタ１２１と、ゲイン目標値、モデルトルクあるいは状態変数、および動作目標値に基づき、ゲイン目標値を変更した際にモデルトルクのｎ階時間微分（ｎ＞１）またはトルク指令のｎ階時間微分（ｎ＞１）が所定の値以下となり、モデルゲインとゲイン目標値との誤差を低減するようにモデルゲインを計算するモデルゲイン変更部１２２を備える。【選択図】図１
2014007901.tif 000002
【特許請求の範囲】
【請求項１】
制御対象の位置や速度に対する動作目標値に前記制御対象の動作を追従させるために必要なモデルトルクを生成するフィードフォワード制御部を有し、前記モデルトルクに基づいて前記制御対象を動作させるトルク指令を発生するモータ制御装置において、
前記フィードフォワード制御部は、
前記動作目標値を入力し、モデルゲインから決定した遮断周波数以上の高周波数成分と前記制御対象の振動に対応する所定の周波数成分とを減衰させるフィルタ演算により前記モデルトルクを演算し、前記モデルトルクと前記フィルタ演算の状態変数とを出力する制振フィルタと、
モデルゲイン目標値、前記モデルトルクあるいは前記状態変数、および前記動作目標値に基づき、前記モデルゲイン目標値を変更した際に前記モデルトルクのｎ階時間微分（ｎ＞１）または前記トルク指令のｎ階時間微分（ｎ＞１）が所定の値以下となり、前記モデルゲインと前記モデルゲイン目標値との誤差を低減するように前記モデルゲインを計算するモデルゲイン変更部と、
を備えることを特徴とするモータ制御装置。
【請求項２】
制御対象の位置や速度に対する動作目標値に前記制御対象の動作を追従させるための理想的な前記速度を表すモデル速度を生成するフィードフォワード制御部を有し、前記モデル速度に前記速度を追従させるトルク指令を発生するモータ制御装置において、
前記フィードフォワード制御部は、
前記動作目標値を入力し、モデルゲインから決定した遮断周波数以上の高周波数成分と前記制御対象の振動に対応する所定の周波数成分とを減衰させるフィルタ演算により前記モデル速度を演算し、前記モデル速度と前記フィルタ演算の状態変数とを出力する制振フィルタと、
モデルゲイン目標値、前記モデル速度あるいは前記状態変数、および前記動作目標値に基づき、前記モデルゲイン目標値を変更した際に前記トルク指令のｎ階時間微分（ｎ＞１）が所定の値以下となり、前記モデルゲインと前記モデルゲイン目標値との誤差を低減するように前記モデルゲインを計算するモデルゲイン変更部と、
を備えることを特徴とするモータ制御装置。
【請求項３】
制御対象の位置や速度に対する動作目標値に前記制御対象の動作を追従させるための理想的な前記位置を表すモデル位置を生成するフィードフォワード制御部を有し、前記モデル位置に前記位置を追従させるトルク指令を発生するモータ制御装置において、
前記フィードフォワード制御部は、
前記動作目標値を入力し、モデルゲインから決定した遮断周波数以上の高周波数成分と前記制御対象の振動に対応する所定の周波数成分とを減衰させるフィルタ演算により前記モデル位置を演算し、前記モデル位置と前記フィルタ演算の状態変数とを出力する制振フィルタと、
モデルゲイン目標値、前記モデル位置あるいは前記状態変数、および前記動作目標値に基づき、前記モデルゲイン目標値を変更した際に前記トルク指令のｎ階時間微分（ｎ＞１）が所定の値以下となり、前記モデルゲインと前記モデルゲイン目標値との誤差を低減するように前記モデルゲインを計算するモデルゲイン変更部と、
を備えることを特徴とするモータ制御装置。
【請求項４】
前記モデルゲイン変更部は、前記モデルトルクのｎ階時間微分（ｎ＞１）または前記トルク指令のｎ階時間微分（ｎ＞１）が所定の値以下となるような前記モデルゲインの時間微分を計算し、当該モデルゲインの時間微分に基づいて前記モデルゲインを計算する
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項５】
前記モデルゲイン変更部は、前記トルク指令のｎ階時間微分（ｎ＞１）が所定の値以下となるような前記モデルゲインの時間微分を計算し、当該モデルゲインの時間微分に基づいて前記モデルゲインを計算する
ことを特徴とする請求項２または３に記載のモータ制御装置。
【請求項６】
前記モデルゲイン変更部は、前記モデルトルクのｎ階時間微分（ｎ＞１）または前記トルク指令のｎ階時間微分（ｎ＞１）が所定の値以下となるような前記モデルゲインの時間微分の最大制限値および最小制限値を求め、当該最大制限値以下且つ当該最小制限値以上の前記モデルゲインの時間微分を積分することにより前記モデルゲインを計算する
ことを特徴とする請求項４に記載のモータ制御装置。
【請求項７】
前記モデルゲイン変更部は、前記トルク指令のｎ階時間微分（ｎ＞１）が所定の値以下となるような前記モデルゲインの時間微分の最大制限値および最小制限値を求め、当該最大制限値以下且つ当該最小制限値以上の前記モデルゲインの時間微分を積分することにより前記モデルゲインを計算する
ことを特徴とする請求項５に記載のモータ制御装置。
【請求項８】
前記動作目標値および前記状態変数に基づいて前記モデルゲイン目標値を計算するモデルゲイン目標値決定部を更に備える
ことを特徴とする請求項１〜７のいずれか１項に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はモータで機械系を駆動する制御対象の位置や速度を指令に追従させる、モータ制御装置に関するものである。
【背景技術】
【０００２】
モータ制御装置では、モータ制御装置から出力されるトルク指令に応じたトルクを発生するモータにより機械系を駆動する制御対象に対して、検出した制御対象の位置あるいは速度が位置目標値、速度目標値に高速高精度に追従することが望まれている。この要望を実現するためにフィードフォワード制御とフィードバック制御を組み合わせた２自由度制御が用いられている。また、高速高精度化と同時に、機械共振などに起因して発生する停止時の残留振動を抑制することも必要であり、制御対象の振動周波数（共振・反共振周波数）における信号成分が小さくなるようにフィードフォワード制御系を設計する制振制御により振動抑制を実現している。
【０００３】
モータ制御装置などの制御系をより高性能（高速・高精度化）する技術として、制御系に必要なパラメータを動作中に可変にする技術が知られている。しかしながら、通常パラメータを可変にするためには、複数のパラメータ候補を設定する必要があり、この複数のパラメータ候補を適切に設定するのが複雑であるという問題がある。また、パラメータを急激に変更すると、制御入力も急激に変化し、機械にショックを与えるなど悪影響が出る問題もある。
【０００４】
また、制御系に必要なパラメータを動作中に急激に変更すると、モータ制御装置がモータに過大なトルクを発生させようとしてしまう問題もある。モータが発生できるトルク又はトルクを発生させるために必要なモータに印加する電流などには制限があるため、モータ制御装置がモータに過大なトルクを発生させようとした場合、モータはモータ制御装置に与えられる位置・速度目標値に追従できなくなるという問題もある。
【０００５】
これらの問題があるため、動作中に制御系に必要なパラメータを可変にする場合は、制御入力（トルク、電流）が急激に変化せず、かつこれらの値自身も所定の値を超えないように設定する必要があった。そして、様々な位置目標値・速度目標値が入力されるモータ制御装置では、これらすべての位置目標値・速度目標値に対応できるように、可変にするパラメータを設計するのが類雑であるという問題があった。
【０００６】
制御パラメータを急激に変化させると、制御入力が急激に変化する場合があるという問題に対し、特許文献１に記載のＰＩＤコントローラでは、ＰＩＤ定数を複数保存しているＰＩＤテーブルを有し、入力された制御量に対するＰＩＤ定数を用いてＰＩＤ制御を行う際に、入力された制御量に対応するＰＩＤ定数がＰＩＤテーブル内にない場合、ＰＩＤテーブル内のＰＩＤ定数を補間して、入力された制御量に対応するＰＩＤ定数を算出することが記載されている。また、ＰＩＤ定数の変化量を一定値以下にしてＰＩＤ定数を変更することも記載されている。
【０００７】
特許文献２に記載の電動機の制御装置および電動機の制御プログラムでは、高周波を低減するフィルタに位置指令を入力し、このフィルタの出力を制御対象の共振周波数成分を低減する制振フィルタに作用させ、この制振フィルタの出力である指令信号にモータの回転位置もしくは制御対象（機械）の位置を追従させるようにトルク指令（電流指令）を生成しており、高周波成分を低減するフィルタの特性を動作状態により可変にすることで、より高速高精度な制御装置が得られることが記載されている。また、トルク指令がトルクリミッタの値を越えないように、高周波成分を低減するフィルタの特性を決定することが記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平８−１６１００４号公報
【特許文献２】特許第４２９４３４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記した特許文献１では、ＰＩＤ制御のＰＩＤ定数をＰＩＤテーブルが持つ値を補間して決定することで、ＰＩＤ定数が急激に変化することを防止し、それによりＰＩＤ定数を変更した際に操作量が急激に変化することを防止している。さらに、特許文献２にはＰＩＤ定数の変化量を一定値以下にすることにより、操作量が急激に変化することを防止することも記載されている。しかし、ＰＩＤテーブルが持つ値を補間して、ＰＩＤ定数を変更しても、ＰＩＤテーブルの値がすごく大きく異なる場合は、補間したＰＩＤ定数の変化も大きくなってしまう。また、ＰＩＤ定数の変化量と操作量の変化量との関係は、制御対象の動作状況によって異なる。そのため、ＰＩＤ定数の変化量を一定値以下に制限することで、ある動作状況において、ＰＩＤ定数変更時に操作量が急激に変化しなくなっても、別の動作状況においては、ＰＩＤ定数変更時に操作量が急激に変化してしまう問題もある。
【００１０】
また、特許文献２では、位置指令の高周波成分を低減するフィルタと制振フィルタがあり、高周波成分を低減するフィルタの特性をトルク飽和が発生しないように決定するため、制御装置から出力されるトルク指令が過大となってトルク飽和が発生することを防止している。また、動作状態に応じて、高周波成分を低減するフィルタの特性を変化させることにより、高速高精度化を図っている。しかし、特許文献２では、動作状態に応じて高周波成分を低減するフィルタの特性を変化させる方式について具体的な方式が述べられていないため、入力されるすべての位置・速度指令値に対し、実際にトルク指令が急激に変化しないように、またトルク指令が過大とならないように、フィルタの特性変化を適切に決定することは難しいという問題がある。
【００１１】
本発明は、上記に鑑みてなされたものであって、様々な指令値が入力される状況においても、モデルゲインを変更した際に、モータが発生するトルクが急激に変化することや、トルクが非常に大きくなることを防止ができ、モータ駆動中にモデルトルクを変更することにより、与えられた位置指令に対し、高速高精度に追従し、停止時の残留振動を抑制できるモータ制御装置を得ることを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、本発明は、制御対象の位置や速度に対する動作目標値に前記制御対象の動作を追従させるために必要なモデルトルクを生成するフィードフォワード制御部を有し、前記モデルトルクに基づいて前記制御対象を動作させるトルク指令を発生するモータ制御装置において、前記フィードフォワード制御部は、前記動作目標値を入力し、モデルゲインから決定した遮断周波数以上の高周波数成分と前記制御対象の振動に対応する所定の周波数成分とを減衰させるフィルタ演算により前記モデルトルクを演算し、前記モデルトルクと前記フィルタ演算の状態変数とを出力する制振フィルタと、モデルゲイン目標値、前記モデルトルクあるいは前記状態変数、および前記動作目標値に基づき、前記モデルゲイン目標値を変更した際に前記モデルトルクのｎ階時間微分（ｎ＞１）または前記トルク指令のｎ階時間微分（ｎ＞１）が所定の値以下となり、前記モデルゲインと前記モデルゲイン目標値との誤差を低減するように前記モデルゲインを計算するモデルゲイン変更部と、を備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、制御対象であるモータがいかなる動作状況においても、モータ制御装置の特性変更時にモータのトルクが過大になること、もしくは急激に変化することを防止することができるという効果を奏する。また、モータ制御装置のように様々な指令値が入力される状況においても、複雑な調整を必要とせず、モータ制御装置に与えられた位置指令に対し、高速高精度に追従し、停止時の残留振動を抑制できるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の実施の形態１にかかるモータ制御装置を示すブロック図である。
【図２】図２は、本発明の実施の形態１にかかるモータ制御装置の制振フィルタの一例を示すブロック図である。
【図３】図３は、本発明の実施の形態１にかかるモータ制御装置の制振フィルタの別の例を示すブロック図である。
【図４】図４は、本発明の実施の形態１にかかる制振フィルタの周波数応答の一例を示す図である。
【図５】図５は、本発明の実施の形態１にかかるモデルゲイン変更部を示すブロック図である。
【図６−１】図６−１は、本発明の実施の形態１にかかるモータ制御装置を用いた場合の効果を説明するための図である。
【図６−２】図６−２は、本発明の実施の形態１にかかるモータ制御装置を用いた場合の効果を説明するための図である。
【図７】図７は、本発明の実施の形態１にかかるモータ制御装置の制振フィルタの別の例を示すブロック図である。
【図８】図８は、本発明の実施の形態２にかかるモータ制御装置を示すブロック図である。
【図９】図９は、本発明の実施の形態２にかかるモデルゲイン変更部を示すブロック図である。
【図１０】図１０は、本発明の実施の形態３にかかるモータ制御装置を示すブロック図である。
【図１１】図１１は、本発明の実施の形態３におけるモデルゲイン変更部を示すブロック図である。
【図１２】図１２は、本発明の実施の形態４にかかるモータ制御装置を示すブロック図である。
【図１３】図１３は、本発明の実施の形態４にかかるモータ制御装置を用いた場合の効果を示す図である。
【図１４】図１４は、本発明の実施の形態５にかかるモータ制御装置を示すブロック図である。
【図１５】図１５は、本発明の実施の形態５にかかるモデルゲイン変更部を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下に、本発明にかかるモータ制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１６】
実施の形態１．
実施の形態１にかかるモータ制御装置１００について図１〜図７に基づいて詳細に説明する。図１は、実施の形態１にかかるモータ制御装置１００の構成を示すブロック図である。
【００１７】
図１において、制御対象１はモータ１ａ、バネ（振動要素）１ｂ、機械負荷１ｃから構成され、電流制御器３から出力される電流Ｉを入力し、検出器２によりモータ１ａの位置（例えば、モータ１ａ内におけるロータの回転位置又は可動子の駆動位置）を表すモータ動作検出値ｐｍを出力する。制御対象１は、電流Ｉによりモータ１ａが駆動することで、モータ１ａの駆動力がバネ１ｂを通して機械負荷１ｃへ伝達され、機械負荷１ｃが駆動する。これにより、機械負荷１ｃに所望の動作をさせる。
【００１８】
本実施の形態１にかかるモータ制御装置１００は、制御対象１の動作位置をフィードバック制御により目標値に追従させる位置制御を行う構成として、駆動する制御対象１の位置目標値を表す動作目標値（位置指令）ｐｒｅｆを、外部（例えば、図示しない上位コントローラ）から受けるとともに、後述するモデルゲインｇの定常値を表すモデルゲイン目標値ｇｃを外部から設定され、検出器２（例えば、エンコーダ）により検出されたモータ動作検出値ｐｍを受ける。そして、モータ制御装置１００は、モータ動作検出値ｐｍが動作目標値ｐｒｅｆへ追従するようにトルク指令τｍを発生させて電流制御器３へ出力する。これにより、電流制御器３がトルク指令τｍに応じた電流Ｉ（に依存した電力）を制御対象１内部にあるモータ１ａへ供給するので、モータ１ａは、トルク指令τｍに応じたモータトルクを発生して制御対象１内部にあるバネ（振動要素）１ｂおよび機械負荷１ｃを動作させる。また、モータ制御装置１００はフィードフォワード制御部１１１、フィードバック制御１１２、トルク加算器１１３を備える。なお、動作目標値は速度に対する目標値である場合、あるいは速度に対する目標値も含む場合もあり得る。
【００１９】
次にモータ制御装置１００の構成と動作について説明する。フィードフォワード制御部１１１は、外部から動作指令として動作目標値ｐｒｅｆが入力され、モデルゲインｇの定常値としてモデルゲイン目標値ｇｃが設定される。即ち、設定したモデルゲイン目標値ｇｃにモデルゲインｇは定常的に一致するよう定められる。フィードフォワード制御部１１１は、この動作目標値ｐｒｅｆに対し、想定した制御対象１がモデルゲインｇに基づき設定される伝達関数Ｆ（ｓ）の特性で追従するモデル位置ｐａを計算し、このように求めたモデル位置ｐａにモータ１ａが一致して動作した場合の理想的な速度であるモデル速度ｖａと、モデル位置ｐａにモータ１ａが一致して動作するための理想的なトルクであるモデルトルクτａを計算する。そして、計算されたモデル位置ｐａ、モデル速度ｖａはフィードバック制御部１１２に出力され、モデルトルクτａはトルク加算器１１３に出力される。モデルトルクτａは、動作目標値ｐｒｅｆに制御対象１の動作を追従させるために必要な値となっており、動作目標値ｐｒｅｆに制御対象１の動作を追従させるための理想的な位置および速度が、それぞれモデル位置ｐａおよびモデル速度ｖａである。
【００２０】
フィードバック制御器１１２は、フィードフォワード制御器１１１から出力されたモデル位置ｐａ、モデル速度ｖａを受けるとともに、検出器２で検出された制御対象１（モータ１ａ）のモータ動作検出値ｐｍを受けて、モータ動作検出値ｐｍがモデル位置ｐａに、モータ動作検出値ｐｍの時間微分がモデル速度ｖａに追従するようにフィードバックトルクτＢを計算する。そして計算したフィードバックトルクτＢをトルク加算器１１３へ出力する。
【００２１】
トルク加算器１１３はフィードバックトルクτＢとモデルトルクτａを入力し、これらの和を計算し、その計算結果をトルク指令τｍとして電流制御器３へ出力する。電流制御器３はトルク加算器１１３から出力されたトルク指令τｍを受けて、トルク指令τｍに一致するモータトルクを実現する実電流Ｉ（に依存した電力）をモータ１ａへ加える（供給する）。
【００２２】
次に、フィードバック制御部１１２の内部構成とその動作について説明する。フィードバック制御部１１２は、速度制御器１３１、位置制御器１３２、速度演算器１３３を有する。
【００２３】
位置制御器１３２は、モデル位置ｐａとモータ動作検出値ｐｍを入力し、モータ動作検出値ｐｍとモデル位置ｐａとの誤差が減少するように速度指令ｖｕを計算する。そして、計算した速度指令ｖｕを速度制御器１３１へ出力する。例えば、位置制御器１３２が比例制御を行う場合、位置比例ゲインをＫｐとして、以下の式（１）の演算を行い、その計算結果を速度指令ｖｕとして、速度制御器１３１に出力する。
【数１】
2014007901.tif 000003
【００２４】
速度演算器１３３は、検出器２より検出されたモータ動作検出値ｐｍを受ける。速度演算器１３３は、受けたモータ動作検出値ｐｍに対して時間微分、差分やフィルタ処理等を行い、モータ速度演算値ｖｍを計算する。例えば、時間微分を行ってモータ速度演算器ｖｍを出力する場合は以下の式（２）によりモータ速度演算値ｖｍを計算する。計算したモータ速度演算値ｖｍは速度制御器１３１へ出力される。ここで、ｐｍ(1)はモータ動作検出値ｐｍの時間に関する１階微分を表しており、以後各記号の右上にある（）内の数値は時間に関する微分の回数を表す。
【数２】
2014007901.tif 000004
【００２５】
速度制御器１３１は、フィードフォワード制御部１１１から出力されたモデル速度ｖａと、位置制御器１３２から出力された速度指令ｖｕと、速度演算器１３３から出力されたモータ速度演算値ｖｍを受ける。速度制御器１３１は、モータ速度演算値ｖｍをモデル速度ｖａに追従させるように、すなわちモータ速度演算値ｖｍがモデル速度ｖａと速度指令ｖｕとの和に一致するようにＰＩ制御などの演算によりフィードバックトルクτＢを計算する。計算されたフィードバックトルクτＢはトルク加算器１１３へ出力される。速度制御器１３１における計算処理の例として、以下の式（３）のようにＰＩ制御とフィルタとの組み合わせがある。式（３）においてｓはラプラス演算子、Ｋｖは速度比例ゲイン、Ｋｉは速度積分ゲインである。フィルタＨ（ｓ）は速度制御器１３１の速度比例ゲインＫｖ、速度積分ゲインＫｉで決まる制御帯域よりも高い周波数おいて所定の周波数成分を除去するもので、ローパスフィルタやノッチフィルタと呼ばれるものを用いる。
【数３】
2014007901.tif 000005
【００２６】
トルク加算器１１３は、フィードバック制御器１１２で計算されたフィードバックトルクτＢとフィードフォワード制御部１１１で計算されたモデルトルクτａを入力し加算する。そして、その和をトルク指令τｍとして電流制御器３へ出力する。
【００２７】
次に、フィードフォワード制御部１１１の内部構成と動作について図２、図３、図４、および図５を用いて説明する。フィードフォワード制御部１１１は、制振フィルタ１２１、およびモデルゲイン変更部１２２を有する。
【００２８】
制振フィルタ１２１は、モータ制御装置１００の外部から動作目標値ｐｒｅｆを、後述するモデルゲイン変更部１２２からモデルゲインｇを入力し、モデルゲインｇより遮断周波数を決定し、動作目標値ｐｒｅｆに含まれる遮断周波数以上の高周波成分と想定した制御対象１の振動周波数（共振・反共振周波数）成分を減衰させた信号から、モデル位置ｐａ、モデル速度ｖａ、モデルトルクτａを計算し、モデル位置ｐａ、モデル速度ｖａ、モデルトルクτａを計算する過程で制振フィルタ１２１の内部状態量ｘａ（状態変数）を生成する。そして、モデル位置ｐａとモデル速度ｖａをフィードバック制御部１１２、モデルトルクτａをトルク加算器１１３に出力し、内部状態量ｘａをモデルゲイン変更部１２２に出力する。
【００２９】
制振フィルタ１２１における具体的なモデル位置ｐａ、モデル速度ｖａ、モデルトルクτａの計算方式を実現する構成として、図２の構成がある。図２の構成では、以下の式（４），（５），（６）を用いてモデル位置ｐａ、モデル速度ｖａ、モデルトルクτａを計算する。
【数４】
2014007901.tif 000006
【数５】
2014007901.tif 000007
【数６】
2014007901.tif 000008
【００３０】
ここで、ｇはモデルゲイン、ｐ0，ｐ1，ｐ2，ｐ3，ｐ4はそれぞれ、第０特性係数、第一特性係数、第二特性係数、第三特性係数、第四特性係数、ζzは反共振減衰値、ωzは反共振周波数、ζpは共振減衰値、ωpは共振周波数、ＪＬは機械負荷慣性モーメント、Ｊｍはモータの慣性モーメントを表している。式（４）は状態方程式と呼ばれることがよく知られており、状態方程式では式（４）のｒ，ｒ(1)，ｒ(2)，ｒ(3)，ｒ(4)に相当する値を状態変数と呼ぶことが知られている。別の言い方をすると、状態変数ｒ，ｒ(1)，ｒ(2)，ｒ(3)，ｒ(4)は、動作目標値ｐｒｅｆからモデル位置ｐａ、モデル速度ｖａ、モデルトルクτａを計算する過程で生成される内部状態量であるとも言える。また、状態変数ｘａを１つにまとめた数値ベクトルを状態ベクトルと呼ぶことも良く知られており、式（４）の場合はｘａ＝［ｒ，ｒ(1)，ｒ(2)，ｒ(3)，ｒ(4)］Tが状態ベクトルに相当する。なお、本実施の形態では状態ベクトルｘａを内部状態量と呼ぶ。
【００３１】
また、制振フィルタ１２１の別の構成として図３の構成が考えられる。制振フィルタ１２１を図３の構成とした場合は、以下の式（７），（８），（９），（１０）を用いて、動作目標値ｐｒｅｆからモデル位置ｐａ、モデル速度ｖａ、モデルトルクτａを計算することになる。
【数７】
2014007901.tif 000009
【数８】
2014007901.tif 000010
【数９】
2014007901.tif 000011
【数１０】
2014007901.tif 000012
【００３２】
式（７）では、ｒ−，ｒ−(1)，ｒ−(2)，ｒ−(3)，ｒ−(4)が状態変数に当たり、式（９）では、ｒ〜，ｒ〜(1)，ｒ〜(2)，ｒ〜(3)，ｒ〜(4)が状態変数に相当する。これらの値も、動作目標値ｐｒｅｆからモデル位置ｐａ、モデル速度ｖａ、モデルトルクτａを計算する過程で生成される内部状態量ｘａである。また、状態変数ｒ−，ｒ−(1)，ｒ−(2)，ｒ−(3)，ｒ−(4)やｒ〜，ｒ〜(1)，ｒ〜(2)，ｒ〜(3)，ｒ〜(4)を１つの数値ベクトルとしてまとめたものも状態ベクトルと呼ばれる。なお、制振フィルタ１２１の構成を図２、図３のどちらにしても、モデル位置ｐａ、モデル速度ｖａ、モデルトルクτａの伝達関数はそれぞれ以下の式（１１）、式（１２）、式（１３）となり、計算されるモデル位置ｐａ、モデル速度ｖａ、モデルトルクτａの値は同じである。
【数１１】
2014007901.tif 000013
【数１２】
2014007901.tif 000014
【数１３】
2014007901.tif 000015
【００３３】
これらの構成にすることにより、モデルゲインｇより遮断周波数を決定し、動作目標値ｐｒｅｆから遮断周波数以上の高周波成分を取り除く特性とし、第０特性係数、第一特性係数、第二特性係数、第三特性係数、第四特性係数より制振フィルタ１２１の高周波減衰特性を決定することが可能となる。例えば、第０特性係数、第一特性係数、第二特性係数、第三特性係数、第四特性係数を所定の値に設定すると、高周波成分を減衰させるフィルタの従来技術として知られているバターワースフィルタやベッセルフィルタと同様の高周波減衰特性が得られることが知られている。また、図４に示す通り、モデルゲインｇを大きくすることにより、高周波減衰特性を弱めることが可能となる。制振フィルタ１２１は図４のような周波数特性となるため、動作目標値ｐｒｅｆの高周波特性と共振・反共振周波数より設定される制御対象の振動周波数を減衰させた特性となる。
【００３４】
また、制振フィルタ１２１に設定するこれらの値を制御対象１の特性と一致させ、式（５），または式（１０）のようにモデルトルクτａを出力することにより、摩擦やモデル誤差などの外乱がなければ、モータ１ａの位置の計測値であるモータ動作検出値ｐｍをモデル位置ｐａに偏差なく追従させることが可能となる。その結果、振動を抑制することも可能となる。また、外乱が存在する場合でも、フィードバック制御部１１２を用いることにより、制振フィルタ１２１が計算するモデル位置ｐａ、モデル速度ｖａにモータ動作検出値ｐｍとモータ速度演算値ｖｍをそれぞれ追従させることで、振動を励起させずに制御対象１を動作させることが可能となる。なお、本実施の形態では説明の簡略化のため、制振フィルタ１２１の構成を図２として説明する。ただし、これにより、本実施の形態による制振フィルタの構成が限定されるものではない。
【００３５】
モデルゲイン変更部１２２は、モータ制御装置１００の外部から入力される動作目標値ｐｒｅｆとモデルゲイン目標値ｇｃ、制振フィルタ１２１から出力される内部状態量ｘａを受け、これらの値に基づき、モデルゲインｇが変更された場合のモデルトルクτａの２階時間微分τａ(2)が所定の値以下τａ(2)ｌｉｍｉｔとなるようにモデルゲインｇを変更する。変更したモデルゲインｇは制振フィルタ１２１へ出力される。次にモデルゲイン変更部１２２の動作について図５を用いて説明する。なお、本実施の形態においてはモデルトルクτａの２階時間微分τａ(2)が所定の値以下τａ(2)ｌｉｍｉｔとなるようにモデルゲインｇを変更するとして説明するが、一般にモデルトルクτａのｎ階時間微分（ｎ＞１）が所定の値以下となるようにしてモデルゲインｇを求めるようにしてもよい。
【００３６】
図５はモデルゲイン変更部１２２の一例を示した図である。図５のモデルゲイン変更部１２２は、モデルゲイン減算器１２２ａ、モデルゲイン時定数乗算部１２２ｂ、モデルゲイン微分値リミッタ決定部１２２ｃ、モデルゲイン微分値リミッタ１２２ｄ、およびモデルゲイン積分器１２２ｅから構成される。
【００３７】
モデルゲイン減算器１２２ａはモデルゲイン目標値ｇｃとモデルゲインｇを入力し、これらの差を以下の式（１４）から計算し、計算した結果をモデルゲイン誤差ｇｅとしてモデルゲイン時定数乗算部１２２ｂに出力する。
【数１４】
2014007901.tif 000016
【００３８】
モデルゲイン時定数乗算部１２２ｂはモデルゲイン減算器１２２ａから出力されるモデルゲイン誤差ｇｅを入力し、以下の式（１５）により、モデルゲイン誤差ｇｅにモデルゲイン時定数ｇＴを掛け、その積をリミッタ前モデルゲイン微分値ｇ＾(1)としてモデルゲイン微分値リミッタ１２２ｄへ出力する。
【数１５】
2014007901.tif 000017
【００３９】
モデルゲイン微分値リミッタ決定部１２２ｃは、動作目標値ｐｒｅｆと内部状態量ｘａを入力し、モデルトルクの２階時間微分τａ(2)が所定の値以下τａ(2)ｌｉｍｉｔとなるモデルゲインｇの時間微分ｇ(1)の範囲を計算する。次に、モデルトルクの２階時間微分τａ(2)が所定の値以下τａ(2)ｌｉｍｉｔとなるモデルゲインｇの時間微分ｇ(1)の範囲の計算方法について説明する。
【００４０】
モデルトルクτａは式（５）で表されるため、モデルトルクの時間微分τａ(1)は以下の式（１６）で計算され、モデルトルクの２階時間微分τａ(2)は以下の式（１７）で計算される。
【数１６】
2014007901.tif 000018
【数１７】
2014007901.tif 000019
【００４１】
よって、式（１７）よりモデルトルクの２階時間微分τａ(2)の絶対値が所定の値τａ(2)ｌｉｍｉｔ以下となるためには、以下の式（１８）を満たせばよいことがわかる。
【数１８】
2014007901.tif 000020
【００４２】
モデルゲイン微分値リミッタ決定部１２２ｃは式（１８）を用いて、モデルトルクの２階時間微分τａ(2)が所定の値τａ(2)ｌｉｍｉｔ以下となるモデルゲインの時間微分ｇ(1)を計算し、求められた範囲を満たす最大値をゲイン微分値最大制限値ｇ(1)ｍａｘとして、最小値をゲイン微分値最小制限値ｇ(1)ｍｉｎとして、モデルゲイン微分値リミッタ１２２ｄに出力する。例えば、γ＞０の場合は、式（１８）のβがモデルゲイン微分値最大制限値ｇ(1)ｍａｘ、αがモデルゲイン微分値最小制限値ｇ(1)ｍｉｎに、γ＜０の場合は、式（１８）のαがモデルゲイン微分値最大制限値ｇ(1)ｍａｘ、βがモデルゲイン微分値最小制限値ｇ(1)ｍｉｎとなる。
【００４３】
モデルゲイン微分値リミッタ１２２ｄは、モデルゲイン時定数乗算部１２２ｂから出力されたモデルリミッタ前ゲイン微分値ｇ＾(1)と、モデルゲイン微分値リミッタ決定部１２２ｃから出力されたモデルゲイン微分値最大制限値ｇ(1)ｍａｘ、モデルゲイン微分値最小制限値ｇ(1)ｍｉｎを入力し、モデルゲイン微分値ｇ(1)を出力する。モデルゲイン微分値ｇ(1)は、以下の式（１９）を用いて、モデルゲイン微分値ｇ(1)がモデルゲイン微分値最大制限値ｇ(1)ｍａｘ以下となり、かつモデルゲイン微分値ｇ(1)がモデルゲイン微分値最小制限値ｇ(1)ｍｉｎ以上となるように制限される。
【数１９】
2014007901.tif 000021
【００４４】
モデルゲイン積分器１２２ｅはモデルゲイン微分値リミッタ１２２ｄから出力されたモデルゲイン微分値ｇ(1)を入力し、以下の式（２０）により、モデルゲイン微分値ｇ(1)を積分し、積分した結果をモデルゲインｇとして制振フィルタ１２１に出力する。これにより、定常的にはモデルゲインｇはモデルゲイン目標値ｇｃへ収束する。なお、式（２０）の積分の初期値はモータ制御装置１００が動作し始めた時刻（初期時刻）に入力されたモデルゲイン目標値ｇｃと同じ値とする。よって、モデルゲインｇの初期値もモデルゲイン目標値ｇｃと一致することとなる。
【数２０】
2014007901.tif 000022
【００４５】
図６−１および図６−２を用いて本実施の形態の効果を説明する。図６−１は本実施の形態のモータ制御装置１００を用いた場合の動作目標値の微分値ｐｒｅｆ(1)、モデルトルクτａ、モデルゲイン目標値ｇｃ、モデルゲインｇの時間変化を表しており、図６−２はモデルゲイン微分値ｇ(1)を制限せず、モデルゲイン目標値ｇｃとモデルゲインｇを常に一致させた場合の動作目標値の微分値ｐｒｅｆ(1)、モデルトルクτａ、モデルゲイン目標値ｇｃ、モデルゲインｇの時間変化を表している。また、図６−１および図６−２において、ｔａはモデルゲイン目標値ｇｃが変化する時刻を表している。図６−２を見ると、モデルゲインｇを不連続に変化させると、モデルトルクτａが急激に変化してしまい、それに伴い、モデルトルクτａの絶対値もかなり大きくなっている。それに対し、図６−１を見ると、モデルゲイン目標値ｇｃが変化しても、モデルゲイン微分値リミッタ１２２ｄにより、モデルゲイン微分値ｇ(1)が制限されているため、モデルゲインｇが徐々にモデルゲイン目標値ｇｃに収束し、それにより、モデルトルクτａが急激に変化せず、かつモデルトルクτａがかなり大きくなることも防止されている。
【００４６】
以上のように、実施の形態１では、モータ制御装置１００において、制振フィルタ１２１の内部状態ｘａと外部から入力される動作目標値ｐｒｅｆに基づき、モデルトルクの２階時間τａ(2)が所定の値τａ(2)ｌｉｍｉｔ以下となるようなモデルゲイン微分量ｇ(1)を計算し、この値に基づきモデルゲインｇを変更する。これにより、本実施の形態において操作量に相当するモデルトルクτａを急激に変化させることなく、モデルゲインｇを変更することが可能となる。また、モデルトルクτａが急激に変化することがないため、モデルゲインｇを変更した場合にモデルトルクτａが過大になることも解決できる。
【００４７】
また、モデルトルクの２階微分τａ(2)が所定の値τａ(2)ｌｉｍｉｔ以下となるようにモデルゲイン微分量ｇ(1)を制振フィルタ１２１の内部状態量ｘａを用いて自動的に計算するため、調整の手間が不要でかつ様々な動作パターンに自動的に対応することが可能となる。
【００４８】
なお、本実施の形態では、所定の値τａ(2)ｌｉｍｉｔを一定の値として説明したが、所定の値τａ(2)ｌｉｍｉｔは時間で変化する値でも良い。
【００４９】
また、本実施の形態では、制振フィルタ１２１の構成を図２、または図３として説明したが、制振フィルタ１２１、構成は図２および図３の構成とは異なる構成でもよい。例えば、４次や６次のフィルタにしてもよい。例えば、制振フィルタが図７のような４次フィルタを持つ構成の場合、本実施の形態で説明したような計算をすると、以下の式（２１）を満たすようにモデルゲイン微分値ｇ(1)を決定すると、モデルトルクの時間微分τａ(1)は所定の値τａ(1)ｌｉｍｉｔ以下となる。
【数２１】
2014007901.tif 000023
【００５０】
また、本実施の形態では、位置制御器１３２はＰ制御、速度制御器１３１はＰＩ制御とフィルタとを行う構成としているが、これらは、ＰＩＤ制御、Ｈ∞制御、μ制御、適応制御、スライディングモード制御のような制御器であっても良い。
【００５１】
実施の形態２．
次に、図８に示す実施の形態２にかかるモータ制御装置２００について説明する。以下では、実施の形態１と異なる点を中心に説明する。
【００５２】
本実施の形態のモータ制御装置２００と実施の形態１のモータ制御装置１００との差異は、モデルゲイン変更部２２２の構造にある。実施の形態１のモータ制御装置１００内部にあるモデルゲイン変更部１２２は連続的にモデルゲインｇを変更していたが、本実施の形態２にかかるモデルゲイン変更部２２２においては所定のサンプリング時間でモデルゲインｇを変更する。
【００５３】
フィードフォワード制御部２１１は、外部から動作指令として動作目標値ｐｒｅｆが、モデルゲインｇの定常値としてモデルゲイン目標値ｇｃが入力される。フィードフォワード制御部２１１は、この動作目標値ｐｒｅｆに対し、想定した制御対象１がモデルゲインｇに基づき設定される伝達関数Ｆ（ｓ）の特性で追従するモデル位置ｐａを計算し、このように求めたモデル位置ｐａにモータ１ａが一致して動作した場合の理想的な速度であるモデル速度ｖａと、モデル位置ｐａにモータ１ａが一致して動作するための理想的なトルクであるモデルトルクτａを計算する。そして、計算されたモデル位置ｐａ、モデル速度ｖａはフィードバック制御部１１２に出力され、モデルトルクτａはトルク加算器１１３に出力される。フィードフォワード制御部２１１は制振フィルタ１２１と図９に示すモデルゲイン変更部２２２を有する。制振フィルタ１２１の動作は実施の形態１と同じであるため説明を割愛する。なお、本実施の形態では制振フィルタ１２１の構成は図２の構成であるとして説明する。
【００５４】
図９に示すモデルゲイン変更部２２２は、動作目標値ｐｒｅｆとモデルゲイン目標値ｇｃを入力し、モデルトルクの２階微分τａ(2)が所定の値τａ(2)ｌｉｍｉｔを越えないように、モデルゲインｇを変更する。モデルゲイン変更部２２２はモデルゲイン減算器１２２ａ、モデルゲイン微分値リミッタ決定部１２２ｃ、モデルゲイン微分値リミッタ２２２ｄ、モデルゲイン加算器２２２ｅ、モデルゲインメモリ２２２ｆから構成される。次に、これらに構成要素の動作について説明する。なお、モデルゲイン減算器１２２ａとモデルゲイン微分値リミッタ決定部１２２ｃは実施の形態１と同じ動作をするため、説明を割愛する。
【００５５】
モデルゲイン微分値リミッタ２２２ｄは、モデルゲイン誤差ｇｅ、モデルゲイン微分値最大制限値ｇ(1)ｍａｘ、モデルゲイン微分値最小制限値ｇ(1)ｍｉｎを入力し、以下の式（２２）を用いて、モデルゲイン微分値ｇ(1)がモデルゲイン微分値最大制限値ｇ(1)ｍａｘ以下、かつモデルゲイン微分値最小制限値ｇ(1)ｍｉｎ以上となるようにモデルゲイン微分値ｇ(1)を制限する。制限した結果は、モデルゲイン微分値ｇ(1)として、モデルゲイン加算器２２２ｅへ出力する。
【数２２】
2014007901.tif 000024
【００５６】
モデルゲイン加算器２２２ｅは、モデルゲイン微分値ｇ(1)と後述する１ステップ前ゲインｇｚ-1を入力し、以下の式（２３）を用いて、これらの和を計算する。計算した結果は、モデルゲインｇとして、制振フィルタ１２１とゲインメモリ２２２ｆへ出力される。
【数２３】
2014007901.tif 000025
【００５７】
モデルゲインメモリ２２２ｆはモデルゲインｇを入力し、１サンプリング時間の間、モデルゲインｇを保存する。そして、現在保存している１サンプリング時間前のモデルゲインの値を１ステップ間モデルゲインｇｚ-1としてモデルゲイン加算器２２２ｅへ出力する。
【００５８】
以上説明したようにモデルゲイン変更部２２２を図９のような構成にすることで、モデルゲイン変更部２２２の特性を、実施の形態１のモデルゲイン変更部１２２の特性と同じにすることが可能となり、離散系のフィルタを用いても実施の形態１と同様の効果が得られる。それにより、マイコンなどを用いて実装することが可能となる。
【００５９】
なお、本実施の形態ではモデルトルクの２階微分τａ(2)が所定の値τａ(2)ｌｉｍｉｔ以下となるようにゲイン微分値ｇ(1)を決定しているが、以下の式（２４）を用いることにより、１サンプリング時間Ｔｓｆ後のモデルトルクの時間微分τａ（ｔ＋Ｔｓｆ）(1)が所定の値τａ(1)ｌｉｍｉｔとなるように決定することも可能である。
【数２４】
2014007901.tif 000026
ここでＴｓｆはモデルゲイン変更部２２２のサンプリング時間である。
【００６０】
また、１サンプリング時間Ｔｓｆ後のモデルトルクの時間微分τａ（ｔ＋Ｔｓｆ）(1)が所定の値τａ(1)ｌｉｍｉｔとなるように決定することも可能であるため、モデルゲインｇを変更した場合にモデルトルクτａが急激に変化することを防止でき、かつモデルトルクの時間微分τａ(1)自体を制限することも可能である。
【００６１】
また、本実施の形態では制振フィルタ１２１の構成は図２の構成であるとして説明したが、図２の構成以外の構成であってもよい。例えば、図３、図７のような構成であっても良い。
【００６２】
実施の形態３．
次に、図１０に示す実施の形態３にかかるモータ制御装置３００について説明する。以下では、実施の形態１と異なる点を中心に説明する。
【００６３】
本実施の形態のモータ制御装置３００と実施の形態１のモータ制御装置１００との差異は、実施の形態１ではモデルトルクの２階微分τａ(2)が所定の値τａ(2)ｌｉｍｉｔ以下となるようにモデルゲイン微分値ｇ(1)を求めていたのに対し、本実施の形態はトルク指令τｍの２階微分τｍ(2)が所定の値τｍ(2)ｌｉｍｉｔ以下となるようにモデルゲイン微分値ｇ(1)を決定することにある。なお、以下ではトルク指令τｍの２階微分τｍ(2)が所定の値τｍ(2)ｌｉｍｉｔ以下となるようにして説明するが、一般には、トルク指令τｍのｎ階時間微分（ｎ＞１）が所定の値以下となるようにしてモデルゲインｇを求めるようにしてもよい。
【００６４】
図１０に示すようにモータ制御装置３００はフィードフォワード制御部３１１、フィードバック制御部１１２、トルク加算器１１３を備える。なお、フィードバック制御部１１２とトルク加算器１１３は実施の形態１と同じ動作をするため説明を割愛する。
【００６５】
フィードフォワード制御部３１１は、外部から動作指令として動作目標値ｐｒｅｆが入力され、モデルゲインｇの定常値としてモデルゲイン目標値ｇｃが設定される。フィードフォワード制御部３１１は、この動作目標値ｐｒｅｆに対し、想定した制御対象１がモデルゲインｇに基づき設定される伝達関数Ｆ（ｓ）の特性で追従するモデル位置ｐａを計算し、このように求めたモデル位置ｐａにモータ１ａが一致して動作した場合の理想的な速度であるモデル速度ｖａと、モデル位置ｐａに想定したモータ１ａが一致して動作するための理想的なトルクであるモデルトルクτａを計算する。そして、計算されたモデル位置ｐａ、モデル速度ｖａはフィードバック制御部１１２に出力され、モデルトルクτａはトルク加算器１１３に出力される。
【００６６】
次にフィードフォワード制御部３１１の内部構成と動作について説明する。フィードフォワード制御部３１１は、制振フィルタ１２１、モデルゲイン変更部３２２を有する。制振フィルタ１２１の動作は実施の形態１と同じであるため、説明を割愛する。なお、本実施の形態では、制振フィルタ１２１の構成は図２の構成であるものとして説明する。
【００６７】
モデルゲイン変更３２２は、モータ制御装置３００の外部から入力される動作目標値ｐｒｅｆとモデルゲイン目標値ｇｃ、制振フィルタ１２１から出力される内部状態量ｘａを受け、これらの値に基づき、モデルゲインｇが変更された場合のトルク指令τｍの２階時間微分τｍ(2)が所定の値以下τｍ(2)ｌｉｍｉｔとなるようにモデルゲインｇを変更する。変更したモデルゲインｇは制振フィルタ１２１へ出力される。次にモデルゲイン変更部３２２の動作について図１１を用いて説明する。
【００６８】
図１１はモデルゲイン変更部３２２の一例を示した図である。図１１のモデルゲイン変更部３２２は、モデルゲイン減算器１２２ａ、モデルゲイン時定数乗算部１２２ｂ、モデルゲイン微分値リミッタ決定部３２２ｃ、モデルゲイン微分値リミッタ１２２ｄ、モデルゲイン積分器１２２ｅから構成される。本実施の形態において、モデルゲイン減算器１２２ａ、モデルゲイン時定数乗算部１２２ｂ、モデルゲイン微分値リミッタ１２２ｄ、モデルゲイン積分器１２２ｅの動作は実施の形態１と同じであるため説明を割愛する。ここでは、実施の形態１と異なる動作をするモデルゲイン微分値リミッタ決定部３２２ｃの動作について説明する。
【００６９】
モデルゲイン微分値リミッタ決定部３２２ｃは、動作目標値ｇｒｅｆと内部状態量ｘａを入力し、トルク指令の２階時間微分τｍ(2)が所定の値以下τｍ(2)ｌｉｍｉｔとなるモデルゲインｇの時間微分ｇ(1)の範囲を計算する。そして、計算した範囲の内、最大値をモデルゲイン微分値最大制限値ｇ(1)ｍａｘとして、最小値をモデルゲイン微分値最小制限値ｇ(1)ｍｉｎとして、モデルゲイン微分値リミッタ１２２ｄに出力する。次に、トルク指令の時間微分τｍ(2)が所定の値以下τｍ(2)ｌｉｍｉｔとなるモデルゲインｇの時間微分ｇ(1)の範囲の計算法について説明する。
【００７０】
フィードバック制御部１１２がモデル位置ｐａとモータ動作検出値ｐｍの差が十分に小さくなるよう調整されている場合は、モータ制御装置３００が出力するトルク指令τｍは以下の式（２５）で近似出来る。式（２５）において、ｄ・ｖａは粘性摩擦によるトルク指令τｍの増加分を表す項であり、ｃ・ｓｇｎ（ｖａ）はクーロン摩擦によるトルク指令τｍの増加分を表す項である。また、ｄは粘性摩擦係数、ｃはクーロン摩擦係数を表しており、ｓｇｎ（ｖａ）はモデル速度ｖａの符号を表す関数である。
【数２５】
2014007901.tif 000027
【００７１】
式（２５）を２階微分することにより、トルク指令τｍの２階時間微分τｍ(2)は以下の式（２６）で表すことが可能である。
【数２６】
2014007901.tif 000028
【００７２】
従って、トルク指令の２階時間微分τｍ(2)が所定の値以下となるモデルゲインの時間微分ｇ(1)の範囲は以下の式（２７）で計算できる。そして、計算された範囲を満たす最大値をゲイン微分値最大制限値ｇ(1)ｍａｘとして、最小値をゲイン微分値最小制限値ｇ(1)ｍｉｎとして、モデルゲイン微分値リミッタ１２２ｄに出力する。例えば、γ＞０の場合は、式（２７）のβがモデルゲイン微分値最大制限値ｇ(1)ｍａｘに、γ＜０の場合は、式（２７）のαがモデルゲイン微分値最小制限値ｇ(1)ｍｉｎとなる。
【数２７】
2014007901.tif 000029
【００７３】
モデルゲイン微分値リミッタ決定部３２２ｃからモデルゲイン微分値最大制限値ｇ(1)ｍａｘと、モデルゲイン微分値最小制限値ｇ(1)ｍｉｎが出力されると、モデルゲイン微分値リミッタ１２２ｄは、式（１９）を用いて、リミッタ前モデルゲイン微分値ｇ＾(1)がモデルゲイン微分値最小制限値ｇ(1)ｍａｘ以上、かつモデルゲイン微分値最小微分値ｇ(1)ｍｉｎ以下となるように、モデルゲイン微分値ｇ(1)を出力する。
【００７４】
モデルゲイン積分器１２２ｅはモデルゲイン微分値リミッタ１２２ｄよりモデルゲイン微分値ｇ(1)を入力し、式（２０）を用いて、モデルゲイン微分値ｇ(1)を積分する。そして、積分した結果をモデルゲインｇとして、制振フィルタ１２１へ出力する。
【００７５】
以上のように実施の形態３によれば、式（２５）によりトルク指令τｍを推定することで、モデルゲイン目標値ｇｃを変更した場合に、トルク指令τｍの２階時間微分τｍ(2)を所定の値τｍ(2)ｌｉｍｉｔ以下とすることができる。これにより、モデルゲイン目標値ｇｃを変更した場合に、トルク指令τｍが急激に変化することが防止でき、またトルク指令τｍの絶対値が非常に大きくなることも防止可能である。
【００７６】
また、本実施の形態では制振フィルタ１２１の構成は図２の構成であるとして説明したが、図２の構成以外の構成であってもよい。例えば、図３、図７のような構成であっても良い。
【００７７】
以上のように、実施の形態１乃至３によれば、モデルトルクまたはトルク指令のｎ階時間微分が所定の値以下となるようにモデルゲインを変更することで、モデルゲインを変更した場合でもモデルトルク、トルク指令が急激に変化することや、大きくなることを防止できる。また、速度制御においても、同様の効果が得られる。また、モデルトルクもしくは、トルク指令のｎ階時間微分（ｎ＞１）が所定の値以下となるようにモデルゲインの時間微分を計算し、モデルゲインの時間微分に基づきモデルゲインを変更することにより、様々な動作目標値に対しても、モデルゲインを変更した場合にトルク指令が急激に変化することや、大きくなることを防止できる。
【００７８】
実施の形態４．
次に、実施の形態４にかかるモータ制御装置４００について説明する。以下では、実施の形態１と異なる点を中心に説明する。図１２は、本発明の実施の形態４にかかるモータ制御装置４００を示すブロック図である。
【００７９】
本実施の形態のモータ制御装置４００と実施の形態１のモータ制御装置１００との差異は、実施の形態１はモデルゲイン目標値ｇｃを外部から入力していたのに対し、本実施の形態では、動作目標値ｐｒｅｆや内部状態量ｘａなどからモデルゲイン目標値ｇｃも計算する点にある。
【００８０】
具体的にはモータ制御装置４００は、制御対象１の動作位置をフィードバック制御により目標値に追従させる位置制御を行う構成として、駆動する制御対象１の位置目標値を表す動作目標値ｐｒｅｆを外部から受けるとともに、検出器２により検出されたモータ動作検出値ｐｍを受ける。そして、モータ制御装置４００は、モータ動作検出値ｐｍが動作目標値ｐｒｅｆへ追従するようにトルク指令τｍを発生させて電流制御器３へ出力する。
【００８１】
図１２に示すようにモータ制御装置４００はフィードフォワード制御部１１１、フィードバック制御部１１２、トルク加算器１１３、およびモデルゲイン目標値決定部４１４を備える。なお、フィードフォワード制御部１１１、フィードバック制御部１１２、トルク加算器１１３は実施の形態１と同じ動作であるため、説明を割愛する。
【００８２】
モデルゲイン目標値決定部４１４は、動作目標値ｐｒｅｆと内部状態量ｘａを入力し、モデルゲインｇが定常的には一致すべきモデルゲイン目標値ｇｃを計算し、フィードフォワード制御部１１１に出力する。
【００８３】
次に、モデルゲイン目標値決定部４１４によるモデルゲイン目標値ｇｃの計算方法の例について図１３を用いて説明する。図１３は、本発明の実施の形態４の効果を示す図である。本例では、モータ１ａが出力可能なトルクに制限がある場合において有効となるモデルゲイン目標値ｇｃの計算方式を示す。
【００８４】
動作目標値ｐｒｅｆの時間微分ｐｒｅｆ(1)が０になった以後は、フィードフォワード制御部１１１が出力するモデルトルクτａは大きくならないことが知られている。このため、動作目標値ｐｒｅｆの時間微分ｐｒｅｆ(1)が０となった以後は、モデルゲインｇを大きくしてもモデルトルクτａが所定の値τａｌｉｍｉｔ以上となりづらい。図１３のモデルゲイン目標値の計算例はこの性質を用いたものである。
【００８５】
図１３において、ｔａは動作目標値の時間微分ｐｒｅｆ(1)が０となった時刻、ｇｃａは時刻ｔａ以前のモデルゲイン目標値ｇｃの値、ｇｃｂは時刻ｔａ以後のモデルゲイン目標値ｇｃの値を表している。図１３において、時刻０から時刻ｔａまでのモデルゲイン目標値ｇｃはｇｃａであるため、モデルゲインｇもｇｃａと一致している。時刻ｔａになり、動作目標値ｐｒｅｆの時間微分ｐｒｅｆ(1)が０になると、モデルゲイン目標値決定部４１４はモデルゲイン目標値ｇｃをｇｃａからｇｃｂへ変更する。モデルゲイン目標値ｇｃがｇｃａからｇｃｂへ変更されると、モデルゲイン変更部１２２が式（１４）、式（１５）、式（１９）、式（２０）の計算を行い、モデルゲインｇを出力する。
【００８６】
そして制振フィルタ１２１はモデルゲインへ変更部１２２が計算したモデルゲインｇを用いて、モデル位置ｐａ、モデル速度ｖａ、モデルトルクτａ、内部状態量ｘａを計算する。ここで、時刻ｔａ以前のモデルゲイン目標値ｇｃａと、時刻ｔａ以後のモデルゲイン目標値ｇｃｂはパラメータとして予め調整しておいても良いし、動作目標値ｐｒｅｆや内部状態量ｘａを用いて計算しもよい。例えば、動作目標値ｐｒｅｆの２階微分ｐｒｅｆ(2)とモータの慣性モーメントＪｍ、機械負荷の慣性モーメントＪＬなどの値に基づき、モデルトルクτａの値が所定の値τａｌｍｉｉｔ以下となるようなモデルゲインｇを計算し、このモデルゲインｇに基づき、時刻ｔａ以前のモデルゲイン目標値ｇｃａ、時刻ｔａ以後のモデルゲイン目標値ｇｃｂを計算しても良い。
【００８７】
以上のように、実施の形態４では、モータ制御装置４００において、モデルゲイン目標値決定部４１４を備えているため、動作目標値ｐｒｅｆの値や制振フィルタ１２１の内部状態量ｘａに基づき、最適なモデルゲイン目標値ｇｃを計算することが可能となる。よって、さまざまな動作目標値ｐｒｅｆに対し、高応答なモータ制御装置を得ることが可能となる。即ち、モデルゲイン目標値ｇｃを外部から入力しないでモータ制御装置の内部で計算することにより、さまざまな動作目標値に対して、モデルトルクやトルク指令を急激に変化させることなく、モデルゲインを最適な値にすることが可能である。
【００８８】
なお、本実施の形態ではフィードフォワード制御部１１１は実施の形態１と同じ動作をするものとして説明しているが、実施の形態２のフィードフォワード制御部２１１、実施の形態３のフィードフォワード制御３１１を用いても同様の効果が得られる。
【００８９】
実施の形態５．
次に、図１４を用いて実施の形態５にかかるモータ制御装置５００について説明する。以下では、実施の形態３と異なる点を中心に説明する。
【００９０】
本実施の形態のモータ制御装置５００と実施の形態３のモータ制御装置３００との差異は、実施の形態３はフィードフォワード制御部３１１がモデル位置ｐａ、モデル速度ｖａ、モデルトルクτａを出力していたのに対し、実施の形態５ではモデル位置ｐａを出力する点にある。
【００９１】
具体的にはモータ制御装置５００は、制御対象１の動作位置をフィードバック制御により目標値に追従させる位置制御を行う構成として、駆動する制御対象１の位置目標値を表す動作目標値ｐｒｅｆ、モデルゲイン目標値ｇｃを外部から受けるとともに、検出器２により検出されたモータ動作検出値ｐｍを受ける。そして、モータ制御装置５００は、モータ動作検出値ｐｍが動作目標値ｐｒｅｆへ追従するようにトルク指令τｍを発生させて電流制御器３へ出力する。
【００９２】
図１４に示すようにモータ制御装置５００はフィードフォワード制御部５１１、フィードバック制御部５１２を備える。
【００９３】
次にフィードフォワード制御部５１１の構成と動作について説明する。フィードフォワード制御部５１１は外部から動作目標値ｐｒｅｆを入力、モデルゲイン目標値ｇｃを設定し、フィードバック制御部５１２にモデル位置ｐａを出力する。そして、図１４に示すように、動作目標値ｐｒｅｆとモデルゲインｇを入力し、モデル位置ｐａ、内部状態量ｘａを出力する制振フィルタ５２１と動作目標値ｐｒｅｆ、内部状態量ｘａを入力し、モデルゲインｇを出力するモデルゲイン変更部５２２から構成される。
【００９４】
制振フィルタ５２１は、モータ制御装置５００の外部から動作目標値ｐｒｅｆを、後述するモデルゲイン変更部５２２からモデルゲインｇを入力し、モデルゲインｇより高周波成分の減衰特性を決定し、決定した減衰特性に基づき、動作目標値ｐｒｅｆに含まれる高周波成分と想定した制御対象１の振動周波数（共振・反共振周波数）成分を減衰させた信号から、モデル位置ｐａを計算し、モデル位置ｐａを計算する過程で内部状態量ｘａを生成する。そして、モデル位置ｐａをフィードバック制御部５１２に出力し、内部状態量ｘａをモデルゲイン変更部５２２に出力する。本実施の形態ではモデル位置ｐａは式（４）、式（５）もしくは式（７）、式（８）から計算されるものとする。
【００９５】
モデルゲイン変更部５２２は動作目標値ｐｒｅｆ、モデルゲイン目標値ｇｃを入力し、トルク指令τｍの２階微分値τｍ(2)が所定の値τｍ(2)ｌｉｍｉｔ以下となるようにモデルゲインｇを出力する。そして図１５に示すように、モデルゲイン変更部５２２は、モデルゲイン減算値５２２ａ、モデルゲイン時定数乗算部５２２ｂ、モデルゲイン微分値リミッタ決定部５２２ｃ、モデルゲイン微分値リミッタ５２２ｄ、モデルゲイン積分器５２２ｅから構成される。
【００９６】
モデルゲイン減算値５２２ａはモデルゲイン目標値ｇｃとモデルゲインｇを入力し、式（１４）を用いて、これらの値の差を計算する。そして、計算した差をモデルゲイン誤差ｇｅとして、モデルゲイン時定数乗算部５２２ｂに出力する。
【００９７】
モデルゲイン時定数乗算部５２２ｂは、モデルゲイン誤差ｇｅを入力し、式（１５）を用いて、入力されたモデルゲイン誤差ｇｅにモデルゲイン時定数ｇＴを掛けて、その積をリミッタ前モデルゲイン微分値ｇ＾(1)としてモデルゲイン微分値リミッタ５２２ｄに出力する。
【００９８】
モデルゲイン微分値リミッタ決定部５２２ｃは、動作目標値ｐｒｅｆと制振フィルタ５２１から出力される内部状態量ｘａを入力し、トルク指令τｍの２階微分τｍ(2)が所定の値τｍ(2)ｌｉｍｉｔ以下となるようにモデルゲイン微分値ｇ(1)の範囲を計算し、計算した範囲における最大値をモデルゲイン微分値最大制限値ｇ(1)ｍａｘ、最小値をモデルゲイン微分値最小制限値ｇ(1)ｍｉｎとして、モデルゲイン微分値リミッタ５２２ｄに出力する。なお、以下ではトルク指令τｍの２階微分τｍ(2)が所定の値τｍ(2)ｌｉｍｉｔ以下となるようにして説明するが、一般には、トルク指令τｍのｎ階時間微分（ｎ＞１）が所定の値以下となるようにしてモデルゲインｇを求めるようにしてもよい。
【００９９】
次に、本実施の形態におけるトルク指令τｍの２階微分τｍ(2)が所定の値τｍ(2)ｌｉｍｉｔ以下となるようにモデルゲイン微分値ｇ(1)の範囲を決定する方式について説明する。
【０１００】
実施の形態３では、トルク指令τｍを式（２５）で推定していたが、本実施の形態では、以下の式（２８）でトルク指令τｍを推定する。
【数２８】
2014007901.tif 000030
【０１０１】
式（２８）を時間に関して２階微分すると、以下の式（２９）となる。
【数２９】
2014007901.tif 000031
【０１０２】
式（２９）と式（２６）が同じであるため、トルク指令τｍの２階微分τｍ(2)が所定の値τｍ(2)ｌｉｍｉｔ以下となるようなモデルゲイン微分値ｇ(1)の範囲は式（２７）から計算できる。よって、例えば、γ＞０の場合は式（２７）のβがモデルゲイン微分値最大制限量ｇ(1)ｍａｘ、αがモデルゲイン微分値最小制限量ｇ(1)ｍｉｎに相当し、γ＜０の場合はαがモデルゲイン微分値最大制限量ｇ(1)ｍａｘ、βがモデルゲイン微分値最小制限値ｇ(1)ｍｉｎに相当する。
【０１０３】
モデルゲイン微分値リミッタ５２２ｄはモデルゲイン微分値リミッタ決定部５２２ｃからモデルゲイン微分値最小制限値ｇ(1)ｍａｘとモデルゲイン微分値最大制限値ｇ(1)ｍｉｎが入力され、式（１９）を用いて、モデルゲインの微分値ｇ(1)がモデルゲイン微分値最小制限値ｇ(1)ｍｉｎ以上、かつモデルゲイン微分値最大制限値ｇ(1)ｍａｘ以下となるようにモデルゲイン微分値ｇ(1)を制限する。そして、式（１９）により制限されたモデルゲイン微分値ｇ(1)をモデルゲイン積分器５２２ｅへ出力する。
【０１０４】
モデルゲイン積分器５２２ｅはモデルゲイン微分値ｇ(1)を入力し、式（２０）を用いて、モデルゲイン微分値ｇ(1)を積分する。積分した結果の値をモデルゲインｇとして、制振フィルタ５２１に出力する。
【０１０５】
次に、フィードバック制御部５１２の内部構成とその動作について説明する。フィードバック制御部５１２は、速度制御器５３１、位置制御器５３２、速度演算器１３３を有する。位置制御器５３２は、モデル位置ｐａとモータ動作検出値ｐｍを入力し、モータ動作検出値ｐｍとモデル位置ｐａの誤差が減少するように速度指令ｖｕを計算する。そして、計算した速度指令ｖｕを速度制御器５３１へ出力する。例えば、位置制御器５３２が比例制御を行う場合、位置比例ゲインをＫｐとして、式（１）の演算を行い、その計算結果を速度指令ｖｕとして、速度制御器５３１に出力する。速度演算器１３３の動作は実施の形態１と同じであるため、説明を割愛する。
【０１０６】
速度制御器５３１は、位置制御器５３２から出力された速度指令ｖｕと、速度演算器１３３から出力されたモータ速度演算値ｖｍを受ける。速度制御器５３１は、すなわちモータ速度演算値ｖｍが速度指令ｖｕに一致するようにＰＩ制御などの演算によりトルク指令τｍを計算する。計算されたトルク指令τｍは電流制御器３へ出力される。速度制御器５３１における計算処理の例として、以下の式（３０）のようにＰＩ制御とフィルタとの組み合わせがある。式（３０）においてｓはラプラス演算子、Ｋｖは速度比例ゲイン、Ｋｉは速度積分ゲインである。
【数３０】
2014007901.tif 000032
【０１０７】
以上のように、実施の形態５では、モータ制御装置５００において、モデル位置ｐａしか計算しない場合においても、トルク指令の２階微分τｍ(2)から所定の値τｍ(2)ｌｉｍｉｔ以下となるようにモデルゲインｇを変更することができ、モデルゲインｇを変更した際に、トルク指令τｍが急激に変化したり、大きくなったりすることを防止することが可能となる。また、トルク指令のｎ階時間微分（ｎ＞１）が所定の値以下となるようにモデルゲインを変更することで、モデルゲインを変更した場合でもトルク指令が急激に変化することや、大きくなることを防止できる。また、モデル位置しか計算できない場合でも同様の効果が得られる。また、トルク指令のｎ階時間微分が所定の値以下となるようにモデルゲインの時間微分を計算し、モデルゲインの時間微分に基づきモデルゲインを変更することにより、様々な動作目標値に対しても、モデルゲインを変更した場合にトルク指令が急激に変化することや、大きくなることを防止できる。
【０１０８】
さらに、本願発明は上記実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、上記実施の形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。更に、異なる実施の形態にわたる構成要素を適宜組み合わせてもよい。
【産業上の利用可能性】
【０１０９】
以上のように、本発明にかかるモータ制御装置は、トルク指令に応じたトルクを発生するモータにより機械系を駆動する制御対象の位置や速度を指令に追従させる、モータ制御装置に有用であり、特に、目標値に高速高精度に追従し、停止時の残留振動を抑制できるモータ制御装置に適している。
【符号の説明】
【０１１０】
１  制御対象
１ａ  モータ
１ｂ  弾性体（バネ）
１ｃ  機械負荷
２  検出器
３  電流制御器
１００、２００、３００、４００、５００  モータ制御装置
１１１、２１１、３１１、５１１  フィードフォワード制御部
１１２、５１２  フィードバック制御部
１１３  トルク加算器
４１４  モデルゲイン目標値決定部
１２１、５２１  制振フィルタ
１２２、２２２、３２２、５２２  モデルゲイン変更部
１３１、５３１  速度制御器
１３２、５３２  位置制御器
１３３  速度演算器
１２２ａ、５２２ａ  モデルゲイン減算器
１２２ｂ  モデルゲイン時定数乗算部
１２２ｃ、５２２ｃ、３２２ｃ  モデルゲイン微分値リミッタ決定部
１２２ｄ、２２２ｄ、５２２ｄ  モデルゲイン微分値リミッタ
１２２ｅ  モデルゲイン積分器
２２２ｅ  モデルゲイン加算器
２２２ｆ  モデルゲインメモリ
【図１】
2014007901.tif 000033
【図２】
2014007901.tif 000034
【図３】
2014007901.tif 000035
【図４】
2014007901.tif 000036
【図５】
2014007901.tif 000037
【図６−１】
2014007901.tif 000038
【図６−２】
2014007901.tif 000039
【図７】
2014007901.tif 000040
【図８】
2014007901.tif 000041
【図９】
2014007901.tif 000042
【図１０】
2014007901.tif 000043
【図１１】
2014007901.tif 000044
【図１２】
2014007901.tif 000045
【図１３】
2014007901.tif 000046
【図１４】
2014007901.tif 000047
【図１５】
2014007901.tif 000048