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