(57)【要約】  モータ制御装置は、モータ及び振動可能要素を有する制御対象の動作を制御するモータ制御装置であって、前記制御対象の振動特性に関連した前記制御対象の状態を表す状態情報に応じて、前記制御対象の振動特性を表す第１のパラメータを生成する生成部と、前記生成部により生成された第１のパラメータの時間変化量に応じた第２のパラメータを演算する第１の演算部と、動作目標値と前記第１のパラータと前記第２のパラメータとを用いて、前記制御対象が振動を励起しないようにモデルトルクを演算する第２の演算部と、前記制御対象の動作が前記動作目標値に追従するように、前記第２の演算部により演算されたモデルトルクに応じてトルク指令を発生させる発生部とを備えている。
2012086550.tif 000002
【特許請求の範囲】
【請求項１】
モータ及び振動可能要素を有する制御対象の動作を制御するモータ制御装置であって、
前記制御対象の振動特性に関連した前記制御対象の状態を表す状態情報に応じて、前記制御対象の振動特性を表す第１のパラメータを生成する生成部と、
前記生成部により生成された前記第１のパラメータの時間変化量に応じた第２のパラメータを演算する第１の演算部と、
動作目標値と前記第１のパラータと前記第２のパラメータとに応じて、前記制御対象が振動を励起しないようにモデルトルクを演算する第２の演算部と、
前記第２の演算部により演算された前記モデルトルクに応じて、前記制御対象の動作を前記動作目標値に追従させる前記モータに対するトルク指令を発生させる発生部と、
を備えたことを特徴とするモータ制御装置。
【請求項２】
前記第２の演算部は、前記動作目標値と前記第１のパラータと前記第２のパラメータとを用いて、前記制御対象が振動せずに追従することが可能な速度であるモデル速度を演算し、
前記発生部は、前記制御対象の速度が前記第２の演算部により演算された前記モデル速度に追従するように、前記トルク指令を発生させる
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記第２の演算部は、前記動作目標値と前記第１のパラータとを用いて、前記制御対象が振動せずに追従することが可能な位置であるモデル位置を演算し、
前記発生部は、前記制御対象の位置を前記第２の演算部により演算された前記モデル位置に追従させる前記トルク指令を発生させる
ことを特徴とする請求項２に記載のモータ制御装置。
【請求項４】
前記第１のパラメータは、前記制御対象の振動周波数を含み、
前記第２のパラメータは、前記制御対象の振動周波数の時間変化量を含む
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項５】
前記状態情報の複数の値と前記第１のパラメータの複数の値とが対応付けられたテーブルを記憶する記憶部をさらに備え、
前記生成部は、前記記憶部に記憶された前記テーブルを参照することにより、受けた前記状態情報に対応する前記第１のパラメータを生成する
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項６】
前記状態情報の値と前記第１のパラメータの値との関係を示す関数を記憶する第２の記憶部をさらに備え、
前記生成部は、前記第２の記憶部に記憶された前記関数を参照することにより、前記生成部に入力された前記状態情報に対応する前記第１のパラメータを生成する
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項７】
前記第１の演算部は、ｎを１より大きな整数とするとき、前記第１のパラメータのｎ階微分もしくはｎ階差分を行うことにより前記第２のパラメータを演算する
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項８】
前記制御対象は、複数の前記モータを有し、
前記生成部が受ける前記状態情報は、前記複数のモータのうち前記モータ制御装置により制御されていないモータの位置に応じた前記振動可能要素の状態を含む
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項９】
前記第２の演算部は、前記トルク指令から前記制御対象の位置までの動特性の逆特性に基づき、前記制御対象の位置を前記動作目標値に追従させるために必要な前記トルク指令を演算し、演算結果により前記モデルトルクを演算する
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項１０】
前記第２の演算部は、前記制御対象の速度が前記動作目標値に応じた速度に追従しているときのモータ速度を推定して前記モデル速度として演算する
ことを特徴とする請求項２に記載のモータ制御装置。
【請求項１１】
前記第２の演算部は、前記制御対象の位置が前記動作目標値に応じた速度に追従しているときのモータ位置を推定して前記モデル位置として演算する
ことを特徴とする請求項３に記載のモータ制御装置。
【請求項１２】
モータ及び振動可能要素を有する制御対象の動作を制御するモータ制御装置であって、
前記制御対象の振動特性に関連した前記制御対象の状態を表す状態情報に応じて、前記制御対象の振動特性を表す第１のパラメータを生成する生成部と、
動作目標値から前記第１のパラメータに対応する周波数成分を取り除いた動作補償信号を生成する第２の生成部と、
前記第２の生成部により生成された動作補償信号を時間的に２階微分することにより、モデルトルクを生成する第３の演算部と、
前記制御対象の動作が前記動作目標値に追従するように、前記第３の演算部により演算された前記モデルトルクに応じて前記モータに対するトルク指令を発生させる発生部と、
を備えたことを特徴とするモータ制御装置。
【請求項１３】
前記第３の演算部は、前記第２の生成部により生成された動作補償信号を時間的に１階微分することにより、前記制御対象を振動させず動作させるモデル速度を演算し、
前記発生部は、前記制御対象の速度を前記第３の演算部により演算された前記モデル速度に追従させる、前記トルク指令を発生させる
ことを特徴とする請求項１２に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置に関する。
【背景技術】
【０００２】
剛性の低い産業用機械装置において、モータにより産業用機械装置の位置決め駆動が行われると、機械共振などに起因して停止時に残留振動が発生する場合がある。このような残留振動を抑制するために、モータを介して産業用機械装置を動作させるモータ制御装置は、動作目標値に応じて産業用機械装置の振動周波数（共振周波数）の信号成分が小さくなるように制御信号を演算し、産業用機械装置の制振制御を行う。モータ制御装置がこの制振制御を行うためには、産業用機械装置を含む制御系の振動周波数に応じた制振制御の制振パラメータが必要である。動作中に振動周波数が変化しない産業用機械装置に対しては、固定の制振パラメータをモータ制御装置に設定すれば、十分残留振動が抑制可能である。【０００３】
一方、産業用機械装置の中には、直行ロボット、クレーンなどのように動作中に振動周波数が変化するものが存在する。このような産業用機械装置に対しては、固定の制振パラメータをモータ制御装置に設定しても、残留振動を抑制できない傾向にある。【０００４】
それに対して、特許文献１には、ｘ軸用のモータによりアームをｘ軸方向に移動させるとともにｚ軸用のモータによりアーム先端の重量物をｚ軸方向に移動させることが可能な機械制御装置において、アーム及び重量物を含む制御対象の変化する振動周波数に応じて、パラメータ（ゲイン定数）を変更することが記載されている。具体的には、制御用データテーブルがスライド部からアーム先端の重量物までの距離についての位置情報を得て振動周波数の補正量に係る出力データを出力し、補正ブロックが制御用データテーブルの出力データから得られたパラメータ（ゲイン定数）を位置指令値の２階微分値に乗算して補正量を求めて加算器へ出力し、加算器がこの補正量を元の位置指令に加算する。これにより、特許文献１によれば、制御対象における移動する一部の構成部材の現在位置に応じた振動周波数等の変化を考慮して補正を行うので、所定位置まで移動させた制御対象を振動させずに停止させることができるとされている。【０００５】
また、特許文献２には、荷に係合されて荷を吊り下げるロープとロープを巻き上げ巻下げする巻上げドラムとを有するクレーンの駆動装置の制御システムにおいて、ロープ長の信号から荷振れが生じないようにフィードフォワード制御することが記載されている。具体的には、制御システムにおいて、ロープ長を検出し、ロープ長の検出結果からロープの共振周波数を逐次演算し、駆動装置の性能を超えないように制限された搬送指令からさらに共振周波数の成分を除去してクレーンの駆動装置へ入力する。これにより、特許文献２によれば、荷を搬送した時点で荷が大きく振れないようにクレーンの駆動装置を駆動し且つ制御することができるとされている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４３６７０４１号公報
【特許文献２】国際公開第０５／０１２１５５号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載された機械制御装置では、スライド部からアーム先端の重量物までの距離についての位置情報から振動周波数に応じて変化するパラメータ（ゲイン定数）を出力し、位置指令の2階微分とパラメータ（ゲイン定数）の積として補正量を求め、求めた補正量を位置指令に加算することで、動作中に機械固有振動数が変化する制御対象に対しても振動を励起しないようにした指令生成法が開示されている。しかしながら変化する機械固有振動数に正確に対応させながらパラメータ（ゲイン定数）を変化させても振動抑制効果が十分に得られない場合があるという問題がある。【０００８】
特許文献２に記載された制御システムでは、荷振れが生じないようにするために、搬送指令から共振周波数の成分を除去することしか行われていないので、振動抑制効果が十分に得られない可能性がある。しかも、クレーンの駆動装置においても、ロープ長に応じて変化する共振周波数付近の信号を取り除くだけでは振動抑制効果が十分ではないという問題がある。また、特許文献２に記載された制御システムでは、フィルタ係数をシミュレーションにより繰り返し演算して決定していると考えられるため、係数の決定が難しく、時間がかかる傾向にある。【０００９】
本発明は、上記に鑑みてなされたものであって、動作中に振動特性が変化する制御対象を動作させる際の振動抑制効果をさらに向上できるモータ制御装置を得ることを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明の１つの側面にかかるモータ制御装置は、モータ及び振動可能要素を有する制御対象の動作を制御するモータ制御装置であって、前記制御対象の振動特性に関連した前記制御対象の状態を表す状態情報に応じて、前記制御対象の振動特性を表す第１のパラメータを生成する生成部と、前記生成部により生成された第１のパラメータの時間変化量に応じた第２のパラメータを演算する第１の演算部と、動作目標値と前記第１のパラータと前記第２のパラメータとを用いて、前記制御対象が振動を励起しないようにモデルトルクを演算する第２の演算部と、前記制御対象の動作が前記動作目標値に追従するように、前記第２の演算部により演算されたモデルトルクに応じてトルク指令を発生させる発生部とを備えたことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、第１のパラメータだけではなく、第１のパラメータの時間変化量に応じた第２のパラメータも用いてモデルトルクを演算するので、振動特性のみならず振動特性の変化率も考慮してトルク指令を発生させることができる。これにより、動作中に振動特性が変化する制御対象を動作させる際の振動抑制効果をさらに向上できる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施の形態１にかかるモータ制御装置の構成を示す図である。
【図２】図２は、実施の形態１における制御対象を示す図である。
【図３】図３は、実施の形態１における制御対象を示す図である。
【図４】図４は、実施の形態１における制御対象を示す図である。
【図５】図５は、実施の形態１におけるフィードフォワード制御部の構成を示す図である。
【図６】図６は、実施の形態１における共振・反共振テーブルの構成を示す図である。
【図７】図７は、実施の形態２におけるフィードフォワード制御部の構成を示す図である。
【図８】図８は、実施の形態３におけるフィードフォワード制御部の構成を示す図である。
【図９】図９は、実施の形態４におけるフィードフォワード制御部の構成を示す図である。
【図１０】図１０は、実施の形態５にかかるモータ制御装置の構成を示す図である。
【図１１】図１１は、実施の形態５におけるフィードフォワード制御部の構成を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本発明にかかるモータ制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１４】
実施の形態１．
実施の形態１にかかるモータ制御装置１００の構成について図１を用いて説明する。図１は、実施の形態１にかかるモータ制御装置１００の構成を示すブロック図である。
【００１５】
モータ制御装置１００は、駆動する制御対象１の位置目標値を表す動作目標値（位置指令）ｐｒｅｆを外部（例えば、図示しない上位コントローラ）から受けるとともに、検出器２（例えば、エンコーダ）により検出されたモータ１ａの位置（例えば、モータ１ａ内におけるロータの回転位置又は可動子の駆動位置）を表すモータ動作検出値ｐＭを検出器２から受ける。また、モータ制御装置１００は、制御対象１の振動特性に関連した制御対象１の状態を表すパラメータ変更信号（状態情報）ＭＬを検出器３から受ける。モータ制御装置１００は、パラメータ変更信号ＭＬに応じた動作を行うとともに、モータ動作検出値ｐＭが動作目標値ｐｒｅｆへ追従するようにトルク指令τＭを発生させて電流制御器４へ出力する。これにより、電流制御器４がトルク指令τＭに応じた電流Ｉ（に依存した電力）を制御対象１内部にあるモータ１ａへ供給するので、モータ１ａは、トルク指令τＭに応じたモータトルクを発生して制御対象１内部にあるバネ（振動可能要素）１ｂ及び機械負荷１ｃを動作させる。
【００１６】
具体的には、モータ制御装置１００は、フィードフォワード制御部１１１、フィードバック制御部１１２、及びトルク加算器（発生部）１１３を備える。
【００１７】
フィードフォワード制御部１１１は、動作目標値ｐｒｅｆを外部から受けるとともに、パラメータ変更信号ＭＬを検出器３から受ける。検出器３は、例えば、アーム長検出器であり、ｚ軸アーム１ｂ１（図３参照）の長さをパラメータ変更信号ＭＬとして検出する。あるいは、検出器３は、例えば、ロープ長検出器であり、ロープ１ｂ２（図４参照）の長さをパラメータ変更信号ＭＬとして検出する。フィードフォワード制御部１１１は、制御対象１の理想的な動作波形に対応したモデル位置ｐａ、モデル速度ｖａをフィードバック制御部１１２へ出力し、モデルトルクτａをトルク加算器１１３へ出力する。
【００１８】
フィードバック制御部１１２は、フィードフォワード制御部１１１から出力されたモデル位置ｐａ、モデル速度ｖａを受けるとともに、検出器２からフィードバックされた制御対象１（モータ１ａ）のモータ動作検出値ｐＭを受けて、トルク加算器１１３へフィードバックトルクτＢを出力する。
【００１９】
トルク加算器１１３は、フィードバックトルクτＢとモデルトルクτａとの和をトルク指令τＭとして発生させて電流制御器４へ出力する。電流制御器４は、トルク加算器１１３から出力されたトルク指令τＭを受けて、トルク指令τＭと一致するモータトルクを実現する実電流Ｉ（に依存した電力）をモータ１ａへ加える（供給する）。そして電流制御器４から出力された実電流Ｉをモータ１ａに流すことにより、制御対象１内のバネ（振動可能要素）１ｂ及び機械負荷１ｃが駆動される。また、検出器２により、制御対象１内のモータ１ａのモータ動作検出値ｐＭが検出される。
【００２０】
次に、フィードフォワード制御部１１１の内部構成の概略について説明する。フィードフォワード制御部１１１は、制振パラメータ決定部１２２、制振パラメータフィルタ（第１の演算部）１２３、及び制振フィルタ（第２の演算部）１２１を有する。
【００２１】
制振パラメータ決定部１２２は、パラメータ変更信号ＭＬを受けて、制振パラメータ信号θを生成する。すなわち、制振パラメータ決定部１２２は、パラメータ変更信号ＭＬに基づき、制御対象１の現在の振動特性を表す制振パラメータ信号（第１のパラメータ）θを生成して制振フィルタ１２１と制振パラメータフィルタ１２３とへ出力する。
【００２２】
制振パラメータフィルタ１２３は、制振パラメータ信号θを受けて、制振パラメータ変分信号θ’を演算する。すなわち、制振パラメータフィルタ１２３は、制振パラメータ決定部１２２から制振パラメータ信号θを受けて、制御対象１の振動特性変化を表す、すなわち制振パラメータ信号θの時間変化量に応じた制振パラメータ変分信号（第２のパラメータ）θ’を演算して、演算した結果を制振フィルタ１２１へ出力する。
【００２３】
制振フィルタ１２１は、振動を励起せず、かつ定常的には制御対象１を動作目標値ｐｒｅｆに追従させるように、モデル位置ｐａ、モデル速度ｖａ、及びモデルトルクτａを演算して出力する。
【００２４】
具体的には、制振フィルタ１２１は、動作目標値ｐｒｅｆを外部から受け、制振パラメータ信号θを制振パラメータ決定部１２２から受け、制振パラメータ変分信号θ’を制振パラメータフィルタ１２３から受ける。制振フィルタ１２１は、制振パラメータ信号θと制振パラメータ変分信号θ’とによりその特性を逐次変更する。そして、制振フィルタ１２１は、動作目標値ｐｒｅｆの変動に対して、振動を励起しないように、かつ定常的にモデル位置ｐａが動作目標値ｐｒｅｆと、モデル速度ｖａが動作目標値の１階微分値ｐ（１）ｒｅｆと、モデルトルクτａが動作目標値の２階微分値ｐ（2）ｒｅｆに制御対象１の慣性モーメントを乗算した値と一致するように、モデル位置ｐａ、モデル速度ｖａ、モデルトルクτａを演算する。
【００２５】
なお、ｐ（１）ｒｅｆはｐｒｅｆの時間に関する１階微分を、ｐ（2）ｒｅｆはｐｒｅｆの時間に関する２階微分を表しており、以後各記号の右上にある（）内の数値は時間に関する微分の回数を表す。
【００２６】
そして、制振フィルタ１２１は、モデル位置ｐａとモデル速度ｖａとをフィードバック制御部１１２へ出力し、モデルトルクτａをトルク加算器１１３へ出力する。モデル位置ｐａ、モデル速度ｖａ、モデルトルクτａを演算する方法については後述する。
【００２７】
次にフィードバック制御部１１２の内部構成について説明する。フィードバック制御部１１２は、位置制御器１３１、速度演算器１３３、及び速度制御器１３２を有する。
【００２８】
位置制御器１３１は、フィードフォワード制御部１１１から出力されたモデル位置ｐａを受けるとともに、検出器２からフィードバックされたモータ動作検出値ｐＭを受ける。位置制御器１３１は、モータ動作検出値ｐＭがモデル位置ｐａに追従するように速度指令ｖｕを計算する。位置制御器１３１は、計算した速度指令ｖｕを速度制御器１３２へ出力する。例えば、位置制御器１３１が比例制御の場合、位置比例ゲインをＫｐとして、式（１）の演算を行い、その結果を速度指令ｖｕとして出力する。
【００２９】
ｖｕ＝Ｋｐ×（ｐａ−ｐＭ）・・・（１）
【００３０】
速度演算器１３３は、検出器２より検出されたモータ動作検出値ｐＭを受ける。速度演算器１３３は、受けたモータ動作検出値ｐＭに対して差分やフィルタ処理等を行い、モータ速度演算値ｖＭを計算する。速度演算器１３３は、計算したモータ速度演算値ｖＭを速度制御器１３２へ出力する。
【００３１】
速度制御器１３２は、フィードフォワード制御部１１１から出力されたモデル速度ｖａを受け、位置制御器１３１から出力された速度指令ｖｕを受け、速度演算器１３３から出力されたモータ速度演算値ｖＭを受ける。速度制御器１３２は、モータ速度演算値ｖＭをモデル速度ｖａに追従させるように、すなわちモータ速度演算値ｖMがモデル速度ｖａと速度指令ｖｕとの和に一致するように速度ＰＩ制御などの演算によりフィードバックトルクτＢを計算する。速度制御器１３２は、計算したフィードバックトルクτＢをトルク加算器１１３へ出力する。速度制御器１３２における計算処理の例として、式（２）のようにＰＩ制御とフィルタとの組み合わせがある。ここでｓはラプラス演算子、Ｋｖは速度比例ゲイン、Ｋｉは速度積分ゲインである。フィルタＨ（ｓ）は速度制御器１３２の速度比例ゲイン、速度積分ゲインで決まる制御帯域よりも高い周波数において所定の周波数成分を除去するもので、ローパスフィルタやノッチフィルタと呼ばれるものを用いる。
【００３２】
τＢ＝Ｈ（ｓ）×Ｋｖ×（（ｓ＋Ｋｉ）／ｓ）×（ｖｕ＋ｖａ−ｖＭ）・・・（２）
【００３３】
これに応じて、トルク加算器１１３は、フィードバック制御器１１２で計算されたフィードバックトルクτＢとフィードフォワード制御部１１１で計算されたモデルトルクτaを加算し、トルク指令τＭを計算する。そして、トルク加算器１１３は、電流制御器４にトルク指令τＭを出力する。これにより、制御対象１にあるモータ１ａを駆動し、モータ動作検出値ｐＭを動作目標値ｐｒｅｆに追従させ、制御対象１に所望の動作を行わせることになる。
【００３４】
次に、制振フィルタ１２１の動作（モデル位置ｐａ、モデル速度ｖａ、モデルトルクτａの演算方法）について詳細に説明する。本実施の形態では、図２に示すように制御対象１の特性（機械位置特性、機械速度特性）をモータ１ａがバネ（振動可能要素）１ｂを介して機械負荷１ｃを駆動する２慣性系モデルで表せるものとして説明する。また本実施の形態では、バネ１ｂのバネ定数が動作中に変化するとする。図２の２慣性系モデルの運動方程式は式（３）、（４）で表すことができる。
【００３５】
ＪＭ×ｐ（２）Ｍ＝−ｋｍ×（ｐＭ−ｐＬ）＋τＭ・・・（３）
【００３６】
ＪＬ×ｐ（２）Ｌ＝ｋｍ×（ｐＭ−ｐＬ）・・・（４）
式（３）、（４）において、ｐＭはモータ位置（例えば、モータ１ａ内におけるロータの回転位置又は可動子の駆動位置）、ｖＭはモータ速度（例えば、モータ１ａ内におけるロータの回転速度又は可動子の駆動速度）、ｐＬは機械位置（機械負荷１ｃの位置）、ＪＭはモータ１ａの慣性モーメント、ＪＬは機械負荷１ｃの慣性モーメント、τＭはモータトルク（例えば、モータ１ａ内におけるロータ又は可動子に作用するトルク）、ｋｍはバネ定数を表す。また以後の説明ではｖＭ：=Ｐ（１）Ｍと定義するモータ速度、ｖＬ：=Ｐ（１）Ｌと定義する機械速度も用いる。なお、式（３）、（４）と図１とにおいて、モータ位置はモータ動作検出値、モータ速度はモータ速度演算値、モータトルクはトルク指令に相当する。このため、本実施の形態では、モータ位置とモータ動作検出値、モータ速度とモータ速度演算値、モータトルクとトルク指令は、同じ記号を用いて表し、それぞれｐＭ、ｖＭ、τＭとする。また、本実施の形態では、バネ定数ｋｍは固定値ではなく動作中に変化し、それに応じ式（５）、（６）で表される２慣性系モデルの共振周波数ωｐ、反共振周波数ωｚも動作中に変化する。
【００３７】
ωｐ＝√（ｋｍ×（１／ＪＬ＋１／ＪＭ））・・・（５）
【００３８】
ωｚ＝√（ｋｍ／ＪＬ）・・・（６）
【００３９】
このようなバネ定数ｋｍが動作中に変化する２慣性系でモデル化ができる機械装置としては、例えば、図３（ａ）に示すようなｚ軸アーム１ｂ１のアーム長が変化する直交２軸（ｘ−ｙ）ロボットや、図４に示すようなロープ１ｂ２のロープ長が変化するクレーンなどが挙げられる。
【００４０】
図３（ａ）に示す直交２軸（ｘ−ｙ）ロボットでは、ｘ軸モータ１ａ１及びｚ軸モータ１ａ１１によりそれぞれ２つのアームすなわちｘ軸アーム１ｄ１及びｚ軸アーム１ｂ１が駆動される。ｘ軸アーム１ｄ１をｘ軸方向に駆動させると、ｚ軸アーム１ｂ１全体がｘ軸方向へ移動する。また、ｚ軸アーム１ｂ１を駆動させるとｚ軸方向に負荷１ｃ１が移動する構成になっている。このような直交２軸ロボットでは、ｘ軸方向に負荷１ｃ１を高速駆動させると振動が発生する。その振動特性を表したのが図３（ｂ）、（ｃ）のボード線図である。図３（ｂ）、（ｃ）のボード線図を見ると、ｚ軸アーム１ｂ１が短い場合と長い場合の両方において、ゲイン特性が山になっている共振特性と、ゲイン特性が谷になっている反共振特性とがあることがわかる。このような共振特性、反共振特性は式（３）、（４）で表される２慣性系モデルを用いて表されることは既に良く知られている。なお、図３（ｂ）、（ｃ）のボード線図では、ｚ軸アーム１ｂ１の長さが短い場合のｘ軸方向のゲイン特性が破線で示され、ｚ軸アーム１ｂ１の長さが長い場合のｘ軸方向のゲイン特性が実線で示されている。
【００４１】
また、直交２軸ロボットの場合、図３（ｂ）、（ｃ）のボード線図に示されるように、負荷１ｃ１をｘ軸方向に駆動させたときの振動周波数が、ｚ軸方向のアーム長に依存する。図３（ｂ）、（ｃ）に示すような特性の場合、ｚ軸アーム１ｂ１のアーム長が長い場合は、ｘ軸方向に駆動させたときの負荷１ｃ１による振動周波数が低く、ｚ軸アーム１ｂ１のアーム長が短い場合は、ｘ軸方向に駆動させたときの負荷１ｃ１による振動周波数が高い。つまり、ｘ軸アーム１ｄ１及びｚ軸アーム１ｂ１の両方を同時に駆動させた場合、負荷１ｃ１による振動特性（共振、反共振特性）は時間により変化する。このように共振、反共振特性が時間により変化する場合、直交２軸ロボットの特性を、式（３）、（４）で表されるばね定数ｋｍが時間変化する２慣性系モデルを用いて表すことが可能である。
【００４２】
図４で表されるロープ長が変化するクレーンの場合は、モータ１ａ２によりスライダ１ｄ２を駆動させることでロープ１ｂ２を介して負荷１ｃ２が水平方向に移動し、ロープ１ｂ２の巻き上げ、巻き下げにより負荷１ｃ２が垂直方向に移動する。この場合、スライダ１ｄ２による水平方向の駆動が上記の直交２軸ロボットにおけるｘ軸アーム１ｄ１の駆動に対応し、ロープ１ｂ２の巻き上げ及び巻き下げがｚ軸アーム１ｂ１の駆動に対応する。すなわち、ロープ１ｂ２の長さにより、スライダ１ｄ２を駆動させたときの負荷１ｃ２の振動周波数が異なる。このようにロープ１ｂ２の長さにより振動周波数が異なるが、この場合も、式（３）、（４）で表されるばね定数ｋｍが時間変化する２慣性系モデルで表すことが可能である。
【００４３】
なお、ここで説明したものは制御対象１の一例であり、図２に示す２慣性系モデルで表すことが可能であればどのような制御対象でも良い。また、制御対象１の運動方程式又は、動特性は、式（３）、（４）で表されるものに限定されるものではない。
【００４４】
次に、フィードフォワード制御部１１１の内部構成の詳細について図５を用いて説明する。図５は、フィードフォワード制御部１１１の内部構成を示すブロック図である。
【００４５】
制振パラメータ決定部１２２は、生成部１２２ａを有する。生成部１２２ａは、制御対象１の振動特性に関連した制御対象１の現在の状態を表すパラメータ変更信号（状態情報）ＭＬを受ける。パラメータ変更信号ＭＬは、例えば、図３に示すアーム長が変化する直交２軸（ｘ−ｙ）ロボットにおけるｚ軸モータ１ａ１１の回転位置に応じた（負荷の位置を決める）ｚ軸アーム１ｂ１の長さ（アーム長）を含む。あるいは、パラメータ変更信号ＭＬは、例えば、図４に示すクレーンにおけるロープ１ｂ２の長さ（ロープ長）を含む。生成部１２２ａは、パラメータ変更信号ＭＬに応じて、制御対象１の（現在の）振動特性を表す制振パラメータ（第１のパラメータ）θを生成して制振パラメータフィルタ１２３及び制振フィルタ１２１へ出力する。制振パラメータ信号θは、例えば、共振周波数ωｐや反共振周波数ωｚを含む。制振パラメータ信号θは、さらに、負荷慣性モーメント、バネ定数ｋｍ、ロープ長などを含んでも良い。
【００４６】
制振パラメータ決定部１２２は、記憶部１２２ｂをさらに有しても良い。記憶部１２２ｂは、パラメータ変更信号ＭＬの複数の値と制振パラメータ信号θの複数の値とが対応付けられた共振・反共振テーブル１２２ｂ１を記憶する。例えば、パラメータ変更信号ＭＬの複数の値と制振パラメータ信号θの複数の値との対応を予め実験的に求めておき、共振・反共振テーブル１２２ｂ１として記憶部１２２ｂに予め記憶しておいても良い。共振・反共振テーブル１２２ｂ１は、例えば、図６に示すように、パラメータ変更信号（アーム長）ＭＬと共振周波数ωｐ及び反共振周波数ωｚとが複数対応付けられたテーブルである。この場合、生成部１２２ａは、記憶部１２２ｂに記憶された共振・反共振テーブル１２２ｂ１を逐次参照することにより、検出部３（図１参照）から受けたパラメータ変更信号（アーム長）ＭＬに対応する制振パラメータ信号θすなわち共振周波数ωｐや反共振周波数ωｚを決定して生成する。
【００４７】
なお、記憶部１２２ｂは、共振・反共振テーブル１２２ｂ１に代えて、パラメータ変更信号ＭＬの値と制振パラメータ信号θの値との関係を示す関数を記憶しても良い。この場合、生成部１２２ａは、記憶部１２２ｂに記憶された関数を逐次参照することにより、検出部３（図１参照）から受けたパラメータ変更信号（アーム長）ＭＬに対応する制振パラメータ信号θすなわち共振周波数ωｐや反共振周波数ωｚを決定して生成する。
【００４８】
制振パラメータフィルタ（第１の演算部）１２３は、制振パラメータ信号θすなわち共振周波数ωｐや反共振周波数ωｚを制振パラメータ決定部１２２から受ける。制振パラメータフィルタ１２３は、制振パラメータ信号θの時間変化量に応じた制振パラメータ変分信号（第２のパラメータ）θ’を演算する。制振パラメータ変分信号θ’は、制振パラメータ信号θの時間変化量に相当するように演算された量であり、制御対象１の振動特性変化を表す。例えば、制振パラメータ変分信号θ’は、制振パラメータ信号θに対し微分、差分、微分＋平均化フィルタ、ハイパスフィルタなどを用いて演算される。また、制振パラメータ信号θが共振・反共振テーブル１２２ｂ１により記憶されている場合は、予め制振パラメータ信号θの変分量を計算しておき、計算した変分量とパラメータ変更信号ＭＬの時間微分との積から制振パラメータ変分信号θ’を求めてもよい。
【００４９】
例えば、制振パラメータフィルタ１２３は、微分器１２３ａ及び微分器１２３ｂを有する。微分器１２３ａは、共振周波数ωｐや反共振周波数ωｚを生成部１２２ａから受ける。微分器１２３ａは、共振周波数ωｐや反共振周波数ωｚに対して時間的に１階微分を行い、その結果を微分値ω（１）ｐ、ω（１）ｚとして微分器１２３ｂ及び制振フィルタ１２１へ出力する。微分器１２３ｂは、微分値ω（１）ｐ、ω（１）ｚを微分器１２３ａから受け、微分値ω（１）ｐに対してさらに時間的に１階微分を行い、その結果を２階微分値ω（２）ｐとして制振フィルタ１２１へ出力する。
【００５０】
制振フィルタ１２１（第２の演算部）は、位置演算部１２１ａ、速度演算部１２１ｂ、及びトルク演算部１２１ｃを有する。
【００５１】
位置演算部１２１ａは、モデル位置演算部１４１を有する。モデル位置演算部１４１は、動作目標値ｐｒｅｆを外部から受け、反共振周波数ωｚを制振パラメータ決定部１２２から受ける。モデル位置演算部１４１は、動作目標値ｐｒｅｆと反共振周波数ωｚとを用いて、後述の数式（８）に示すようにモデル位置ｐａを演算してフィードバック制御部１１２（図１参照）へ出力する。
【００５２】
速度演算部１２１ｂは、モデル速度演算部１４２を有する。モデル速度演算部１４２は、動作目標値ｐｒｅｆを外部から受け、反共振周波数ωｚを制振パラメータ決定部１２２の生成部１２２ａから受け、反共振周波数の１階微分値ω（１）ｚを制振パラメータフィルタ１２３の微分器１２３ａから受ける。モデル速度演算部１４２は、動作目標値ｐｒｅｆと反共振周波数ωｚと反共振周波数の１階微分値ω（１）ｚとを用いて、後述の数式（１０）に示すようにモデル速度ｖａを演算してフィードバック制御部１１２（図１参照）へ出力する。
【００５３】
トルク演算部１２１ｃは、モデル加速度演算部１４３及び慣性モーメント乗算部１４４を有する。
【００５４】
モデル加速度演算部１４３は、動作目標値ｐｒｅｆを外部から受け、共振周波数ωｐを制振パラメータ決定部１２２の生成部１２２ａから受ける。また、モデル加速度演算部１４３は、共振周波数の１階微分値ω（１）ｐを制振パラメータフィルタ１２３の微分器１２３ａから受け、共振周波数の２階微分値ω（２）ｐを制振パラメータフィルタ１２３の微分器１２３ｂから受ける。モデル加速度演算部１４３は、動作目標値ｐｒｅｆと共振周波数ωｐと共振周波数の１階微分値ω（１）ｐと共振周波数の２階微分値ω（２）ｐとを用いて、後述の数式（１３）に示すようにモデル加速度ａａを演算して慣性モーメント乗算部１４４へ出力する。
【００５５】
慣性モーメント乗算部１４４は、モデル加速度ａａをモデル加速度演算部１４３から受ける。慣性モーメント乗算部１４４は、モデル加速度ａａを用いて、後述の数式（１４）に示すようにモデルトルクτａを演算してトルク加算器１１３（図１参照）へ出力する。
【００５６】
なお、共振周波数ωｐ、反共振周波数ωｚが図１の制振パラメータθに相当し、共振周波数の１階微分値ω（１）ｐ、２階微分値ω（２）ｐ、反共振周波数の１階微分値ω（１）ｚが図１の制振パラメータ変分信号θ’に相当する。
【００５７】
次に、制振フィルタ１２１内部の具体的な動作について説明する。
【００５８】
制振フィルタ１２１のモデル位置演算部１４１は、反共振周波数ωｚ（制振パラメータ信号θ）と動作目標値ｐｒｅｆとを用いて機械位置ｐＬが動作目標値ｐｒｅｆに一致するようモータ１ａを動作させたときのモータ位置ｐＭを演算し、その演算結果をモデル位置ｐａとしてフィードバック制御部１１２（図１参照）へ出力する。このように演算されたモデル位置ｐａにモータ動作検出値ｐＭを一致させることにより、動作中に共振・反共振周波数が変化する制御対象１に対しても制御対象１の機械位置を動作目標値ｐｒｅｆに一致させることができ、結果的に振動を抑制することが可能となる。また、モデル位置ｐａは定常的に動作目標値ｐｒｅｆと一致するよう計算されるため、モータ動作検出値ｐＭも動作目標値ｐｒｅｆに追従させやすい。モータトルクτＭから機械位置ｐＬまでの特性を２慣性系モデルで表した場合について詳細に説明すると、機械位置ｐＬを動作目標値ｐｒｅｆに一致させたときのモータ位置ｐＭは式（４）、（６）より
１／ωｚ２×ｐ（２）ｒｅｆ＋ｐｒｅｆ＝ｐＭ・・・（７）
と演算することが可能である。従って、モデル位置演算部１４１は、下記の式（８）を用いてモデル位置ｐａを演算する。つまり、モデル位置ｐａは、動作目標値の２階微分値ｐ（2）ｒｅｆに反共振周波数ωｚの２乗分の１を乗じた値と動作目標値ｐｒｅｆとの和となる。
【００５９】
ｐａ＝１／ωｚ２×ｐ（２）ｒｅｆ＋ｐｒｅｆ・・・（８）
まとめると、モデル位置演算部１４１は、動作目標値ｐｒｅｆと制振パラメータθに相当する反共振周波数ωｚとを用いて、式（８）によりモデル位置ｐａを演算し、演算したモデル位置ｐａをフィードバック制御部１１２へ出力する。
【００６０】
制振フィルタ１２１のモデル速度演算部１４２は、反共振周波数ωｚ（制振パラメータ信号θ）とその１階微分値ω（１）ｚ（制振パラメータ変分信号θ’）とを用いて、式（４）により、機械速度ｖＬが動作目標値の１階微分値ｐ（１）ｒｅｆに一致しているときのモータ速度ｖＭを演算し、その演算結果をモデル速度ｖａとしてフィードバック制御部１１２へ出力する。このように演算されたモデル速度ｖａにモータ速度演算値ｖＭを追従させることにより、動作中に共振・反共振周波数が変化する制御対象１に対しても制御対象１における機械速度（機械負荷１ｃの移動速度）を動作目標値の１階微分値ｐ（１）ｒｅｆに偏差なく追従させることが可能である。実際に数式を用いて説明すると、機械速度ｖＬが動作目標値の１階微分値ｐ（１）ｒｅｆに一致しているときのモータ速度ｖＭは、反共振周波数ωｚも時間変化することを考慮し、式（７）の両辺を時間に関して微分することにより、
１／ωｚ２×ｐ（３）ｒｅｆ＋ｐ（１）ｒｅｆ−２×ω（１）ｚ／ωｚ３×ｐ（２）ｒｅｆ
＝ｐ（１）Ｍ
＝ｖＭ・・・（９）
と求められる。従ってモデル速度演算部１４２は、下記の式（１０）を用いてモデル速度ｖａを演算する。そして演算したモデル速度ｖａをフィードバック制御部１１２へ出力する。つまり、モデル速度演算部１４２は、動作目標値の３階微分値ｐ（3）ｒｅｆに反共振周波数ωｚの２乗分の１を掛けた値と、動作目標値の２階微分値ｐ（2）ｒｅｆと反共振周波数の１階微分値ω（１）ｚとの積を２倍した値に反共振周波数ωｚの３乗分の１を掛けた値との差に、動作目標値の１階微分ｐ（1）ｒｅｆを加算した値を、モデル速度ｖａとしてフィードバック制御部１１２へ出力する。
【００６１】
ｖａ＝１／ωｚ２×ｐ（３）ｒｅｆ＋ｐ（１）ｒｅｆ
−２×ω（１）ｚ／ωｚ３×ｐ（２）ｒｅｆ・・・（１０）
数式（１０）において、ωｚは、制振パラメータ決定部１２２から得られる値である。ω（１）ｚは、制振パラメータフィルタ１２３が制振パラメータ決定部１２２からωｚを得て微分または差分等の演算し、制振フィルタ１２１へ出力する値である。式（１０）より、共振周波数が変動する制御対象１では、機械速度ｖＬが動作目標値の１階微分値ｐ（１）ｒｅｆに一致するよう、モータ速度ｖＭに相当するモデル速度ｖａを演算するには、反共振周波数ωｚのみならず、反共振周波数の１階微分値ω（１）ｚも必要な情報であることがわかる。
【００６２】
モデル加速度演算部１４３と慣性モーメント乗算部１４４とは、共振周波数ωｐ（制振パラメータ信号θ）とその１階微分値ω（１）ｐ、２階微分値ω（２）ｐ（制振パラメータ変分信号θ’）とを用いて、動作目標値ｐｒｅｆからモデルトルクτａまでの特性をモータトルクτＭから機械位置ｐＬまでの特性の逆特性とするように、モデルトルクτａを演算する。慣性モーメント乗算部１４４は、演算したモデルトルクτａをトルク加算器１１３へ出力する。
【００６３】
このようにモデルトルクτａを演算することにより、摩擦やモデル誤差等の外乱がなければ制御対象１の機械位置を動作目標値ｐｒｅｆに偏差なく追従させることが可能となる。その結果、振動を抑制することも可能となる。次に、数式を用いてモデル加速度演算部１４３と慣性モーメント乗算部１４４の動作を説明する。
【００６４】
まず、式（４）の両辺を共振周波数ωｐも時間変化することも考慮し、時間に関して１階、２階微分の計算を行う。そして、計算した式と式（４）そのものを式（３）に代入して、モータトルクτＭから機械位置ｐＬまでの動特性を求めると式（１１）となる。
【００６５】
１／ωｐ２×ｐ（４）Ｌ−４×ω（１）ｐ／ωｐ３×ｐ（３）Ｌ
＋（−２×ω（２）ｐ／ωｐ２＋６×（ω（１）ｐ）２／ωｐ４）×ｐ（２）Ｌ
＋ｐ（２）Ｌ
＝１／（ＪＭ＋ＪＬ）×τＭ・・・（１１）
式（１１）より、共振周波数ωｐが変動する制御対象１では、その動特性が共振周波数ωｐのみならず、共振周波数の１階微分値ω（１）ｐ、２階微分値ω（２）ｐにも影響されるため、制御対象１の動特性を完全に補償するためには、共振周波数ωｐだけでなく、共振周波数の１階微分値ω（１）ｐ、２階微分値ω（２）ｐも必要な情報であることがわかる。そして、動作目標値ｐｒｅｆからモデルトルクτａまでの特性をモータトルクτＭから機械位置ｐＬまでの特性の逆特性にすれば、動作目標値ｐｒｅｆに制御対象の機械位置を偏差なく追従させることができるとともに、モータトルクτＭから機械位置ｐＬまで動特性が式（１１）となることから、モデルトルクτａが式（１２）となるように演算する。
【００６６】
τａ＝（ＪＭ＋ＪＬ）
×｛１／ωｐ２×ｐ（４）ｒｅｆ−４×ωｐ（１）／ωｐ３×ｐ（３）ｒｅｆ
＋（−２×ω（２）ｐ／ωｐ２＋６×（ω（１）ｐ）２／ωｐ４）×ｐ（２）ｒｅｆ
＋ｐ（２）ｒｅｆ｝・・・（１２）
【００６７】
したがって、モデル加速度演算部１４３は、動作目標値ｐｒｅｆと、共振周波数ωｐと、その１階微分値ω（１）ｐ、２階微分値ω（２）ｐとを用いて、下記の式（１３）によりモデル加速度ａａを演算する。モデル加速度演算部１４３は、演算したモデル加速度ａａを慣性モーメント乗算部１４４へ出力する。慣性モーメント乗算部１４４は、モデル加速度ａａを用いて、下記の式（１４）によりモデルトルクτａを演算する。慣性モーメント乗算部１４４は、演算したモデルトルクτａをトルク加算器１１３へ出力する。
【００６８】
ａａ＝１／ωｐ２×ｐ（４）ｒｅｆ−４×ωｐ（１）／ωｐ３×ｐ（３）ｒｅｆ＋（−２×ω（２）ｐ／ωｐ２＋６×（ω（１）ｐ）２／ωｐ４）×ｐ（２）ｒｅｆ＋ｐ（２）ｒｅｆ・・・（１３）
【００６９】
τａ＝（ＪＭ＋ＪＬ）×ａａ・・・（１４）
式（１３）において、ωｐは、制振パラメータ決定部１２２から得る制振パラメータ信号θである。ω（１）ｐ、ω（２）ｐは、制振パラメータフィルタ１２３が制振パラメータ決定部１２２からωｐを得て演算し、制振フィルタ１２１へ出力する制振パラメータ変分信号θ’である。
【００７０】
このように、モデル加速度演算部１４３が式（１３）を用い、慣性モーメント乗算部１４４が式（１４）を用いて、モデルトルクτａを演算することにより、摩擦やモデル誤差などの外乱がない場合、機械位置ｐＬを動作目標値ｐｒｅｆへ偏差なく追従させることが可能となる。
【００７１】
以上のように、実施の形態１では、モータ制御装置１００において、制御対象１の振動特性変化に応じて、制振パラメータ決定部１２２と制振パラメータフィルタ１２３とが、フィードフォワード制御部１１１の特性を変化させる。すなわち、制振パラメータ決定部１２２の生成部１２２ａは、制御対象１の振動特性に関連した制御対象１の（現在の）状態を表すパラメータ変更信号ＭＬに応じて、制御対象１の振動特性を表す制振パラメータ信号θを生成する。制振パラメータフィルタ１２３は、生成部１２２ａにより生成された制振パラメータ信号θの時間変化量に応じた制振パラメータ変分信号θ’を演算する。制振フィルタ１２１は、動作目標値ｐｒｅｆと制振パラメータ信号θと制振パラメータ変分信号θ’とを用いて、制御対象１が振動を励起しないようにモデルトルクτａを演算する。すなわち、制振パラメータ信号θは、制御対象１の振動周波数を含み、制振パラメータ変分信号θ’は、制御対象１の振動周波数の時間変化量を含む。このように、制振パラメータ信号（振動周波数）だけではなく、制振パラメータ変分信号（振動周波数の時間変化量）も用いてモデルトルクτａを演算するので、振動特性のみならず振動特性の変化率も考慮してフィードフォワード制御を行うことができる。これにより、動作中に振動特性が変化する制御対象に対しても振動抑制制御における高応答化・低振動化が実現できる。すなわち、動作中に振動特性が変化する制御対象１を動作させる際の振動抑制効果をさらに向上できる。
【００７２】
また、実施の形態１では、制振フィルタ１２１が、動作目標値ｐｒｅｆと制振パラメータ信号θと制振パラメータ変分信号θ’とを用いて、制御対象１を振動させないようにモデル速度ｖａを演算する。速度制御器１３２は、制御対象１の速度が制振フィルタ１２１により演算されたモデル速度ｖａに追従するように、フィードバックトルクτＢを発生させる。これにより、動作中の振動特性が変化する制御対象１に対し外乱が印加される状況においても高い振動抑制効果を得ることができる。
【００７３】
さらに、実施の形態１では、制振フィルタ１２１が、動作目標値ｐｒｅｆと制振パラメータ信号θと制振パラメータ変分信号θ’とを用いて、制御対象１が振動を励起しないようにモデル位置ｐａを演算する。位置制御器１３１は、制御対象１の位置が制振フィルタ１２１により演算されたモデル位置ｐａに追従するように、フィードバックトルクτＢを発生させる。これにより、動作中の振動特性が変化する制御対象１に対し外乱が印加される状況においても高い振動抑制効果を得ることができる。
【００７４】
さらに、実施の形態１では、制振フィルタ１２１の演算に使用する制振パラメータθ（振動周波数）は、（検出器３により検出された）制御対象１の特性から簡単に演算又は決定できるものなので、制振フィルタ１２１の係数（すなわち、制振パラメータθ）を決定する際にシミュレーションを繰り返し行う必要がなく、制振パラメータθの決定を簡単に短時間で行うことができる。
【００７５】
例えば、制振パラメータ決定部１２２の記憶部１２２ｂは、パラメータ変更信号ＭＬの複数の値と制振パラメータ信号θの複数の値とが対応付けられた共振・反共振テーブル１２２ｂ１を記憶する。生成部１２２ａは、記憶部１２２ｂに記憶された共振・反共振テーブル１２２ｂ１を参照することにより、受けたパラメータ変更信号ＭＬに対応する制振パラメータ信号θを生成する。これにより、制振パラメータθの決定を簡単に短時間で行うことが容易である。
【００７６】
あるいは、例えば、制振パラメータ決定部１２２の記憶部１２２ｂは、パラメータ変更信号ＭＬの値と制振パラメータ信号θの値との関係を示す関数を記憶する。生成部１２２ａは、記憶部１２２ｂに記憶された関数を参照することにより、受けたパラメータ変更信号ＭＬに対応する制振パラメータ信号θを生成する。これにより、制振パラメータθの決定を簡単に短時間で行うことが容易である。
【００７７】
また、実施の形態１では、制振パラメータフィルタ１２３が、制振パラメータ信号θの１階微分及び２階微分を行うことにより制振パラメータ変分信号θ’を演算する。これにより、制振パラメータ変分信号θ’を簡易に短時間で演算することができる。
【００７８】
また、実施の形態１では、制御対象１が図３に示す直交２軸（ｘ−ｙ）ロボットである場合に、制御対象１が複数のモータすなわちｘ軸モータ１ａ１及びｚ軸モータ１ａ１１を含む。制振パラメータ決定部１２２の生成部１２２ａが受けるパラメータ変更信号ＭＬは、複数のモータ（ｘ軸モータ１ａ１及びｚ軸モータ１ａ１１）のうちモータ制御装置１００により制御されていないｚ軸モータ１ａ１１の位置（回転位置）に応じたｚ軸アーム（振動可能要素）１ｂ１の状態（アーム長）を含む。これにより、複数のモータを有した制御対象における１つのモータを制御中に他のモータの位置に応じて制御対象の振動周波数が変化する場合でも、制御対象１を動作させる際の振動抑制における精度を向上できる。
【００７９】
また、実施の形態１では、制振フィルタ１２１が、動作目標値ｐｒｅｆからモデルトルクτａまでの特性がトルク指令（モータトルク）τＭから制御対象１の位置までの特性の逆特性となるように、モデルトルクτａを演算する。これにより、制御対象１の機械位置を動作目標値ｐｒｅｆに偏差なく追従させることができる。
【００８０】
また、実施の形態１では、制振フィルタ１２１が、制御対象１の速度が動作目標値ｐｒｅｆに応じた速度に追従しているときのモータ速度ｖＭをモデル速度ｖａとして演算する。これにより、制御対象１の速度をモデル速度ｖａに偏差なく追従させることができる。
【００８１】
また、実施の形態１では、制振フィルタ１２１が、制御対象１の位置が動作目標値ｐｒｅｆに応じた位置に追従しているときのモータ位置ｐＭを推定してモデル位置ｐａとして演算する。これにより、制御対象１の機械位置を動作目標値ｐｒｅｆに偏差なく追従させることができる。
【００８２】
なお、本実施の形態では、制御対象１としてバネ定数が可変である２慣性系モデルを用いたが、これ以外の制御対象においても、本実施の形態は適用可能である。例えば、慣性モーメントが動作中に変化する制御対象や、ダンパなどの減衰が存在する制御対象であっても良い。
【００８３】
また、本実施の形態では、共振周波数、反共振周波数とそれらの微分を逐次変更していたが、バネ定数をテーブル等から参照し、その値に基づき共振周波数、反共振周波数を計算して制振フィルタ１２１へ出力してもよい。
【００８４】
また、本実施の形態では、モータ制御装置１００の外部（すなわち検出器３）からパラメータ変更信号ＭＬを受け取り、これに応じて制振パラメータ信号θ、制振パラメータ変分信号θ’を変更していたが、モータ制御装置１００は、制振パラメータ信号θを外部から受けても良い。この場合、モータ制御装置１００は、受けた制振パラメータ信号θに応じて、制振パラメータ変分信号θ’を計算しても良い。あるいは、モータ制御装置１００は、制振パラメータ信号θと制振パラメータ変分信号θ’との両方を外部から受けても良い。
【００８５】
また、本実施の形態では、位置制御器１３１はＰ制御、速度制御器１３２はＰＩ制御とフィルタとを行う構成としているが、これらは、ＰＩＤ制御、Ｈ∞制御、μ制御、適応制御、スライディングモード制御のような制御器であっても良い。
【００８６】
実施の形態２．
次に、実施の形態２にかかるモータ制御装置２００について説明する。以下では、実施の形態１と異なる点を中心に説明する。
【００８７】
本実施の形態のモータ制御装置２００と実施の形態１のモータ制御装置１００との差異は、制振フィルタにおける処理内容（モデル位置、モデル速度、モデルトルクの演算方法）にある。すなわち、共振周波数ωｐと反共振周波数ωｚとが略等しい（ωｐ≒ωｚ）場合、動作目標値ｐｒｅｆから制振パラメータ信号θに対応する周波数成分を取り除いた動作補償信号（モデル位置ｐａ）を生成し、生成した動作補償信号の１階微分、２階微分を行ってモデル速度ｖａ、モデルトルクτａを演算する。
【００８８】
具体的には、モータ制御装置２００は、図７に示すようなフィードフォワード制御部２１１を備える。図７は、実施の形態２におけるフィードフォワード制御部２１１の内部構成を示すブロック図である。
【００８９】
フィードフォワード制御部２１１は、制振パラメータフィルタ１２３を有せず、制振パラメータ決定部２２２及び制振フィルタ２２１を有する。
【００９０】
制振パラメータ決定部２２２は、生成部２２２ａを有する。生成部２２２ａは、パラメータ変更信号ＭＬに応じて、反共振周波数ωｚをパラメータ変更信号θとして制振フィルタ２２１へ出力するが、共振周波数ωｐを出力しない。この場合、制振パラメータ決定部２２２の記憶部１２２ｂには、共振・反共振テーブル１２２ｂ１における共振周波数の欄が省略された構成のテーブル（反共振テーブル）が記憶されていても良い。
【００９１】
制振フィルタ２２１は、補償信号生成部（第２の生成部）２２１ａ、変化量演算部（第１の演算部）２２１ｂ、及びトルク演算部（第２の演算部）２２１ｃを有する。
【００９２】
補償信号生成部２２１ａは、動作目標値ｐｒｅｆからパラメータ変更信号θ（反共振周波数ωｚ）に対応する周波数成分を取り除いた動作補償信号（モデル位置ｐａ）を生成する。
【００９３】
具体的には、補償信号生成部２２１ａは、モデル位置演算部２４１を有する。モデル位置演算部２４１は、動作目標値ｐｒｅｆを外部から受け、制振パラメータ信号θに相当する反共振周波数ωｚを制振パラメータ決定部２２２の生成部２２２ａから受ける。モデル位置演算部２４１は、式（８）により、動作目標値ｐｒｅｆから反共振周波数ωｚに対応した成分を取り除き、取り除いた信号をモデル位置ｐａとしてフィードバック制御部１１２及び変化量演算部２２１ｂへ出力する。
【００９４】
変化量演算部２２１ｂは、補償信号生成部２２１ａにより生成された動作補償信号（モデル位置ｐａ）を時間的に１、２階微分した値を、制振パラメータ信号θの時間変化量に応じたパラメータ（第２のパラメータ）として演算する。
【００９５】
具体的には、変化量演算部２２１ｂは、モデル位置微分器２４５及びモデル速度微分器２４６を有する。モデル位置微分器２４５は、動作補償信号（モデル位置ｐａ）をモデル位置演算部２４１から受けて、その１階微分値ｐ（１）ａを演算する。このとき、モデル位置微分器２４５は、式（７）〜式（１０）に示されるように、補償信号生成部２２１ａにより生成された動作補償信号（モデル位置ｐａ）を時間的に１階微分することにより、制御対象１が振動を励起しないようにモデル速度ｖａを演算する。モデル位置微分器２４５は、演算した結果をモデル速度ｖａとしてフィードバック制御部１１２及びモデル速度微分器２４６へ出力する。
【００９６】
モデル速度微分器２４６は、モデル速度ｖａをモデル位置微分器２４５から受けて、その１階微分値ｖ（１）ａを演算する。モデル速度微分器２４６は、その演算結果を、動作補償信号（モデル位置ｐａ）を時間的に２階微分した値としてトルク演算部２２１ｃへ出力する。
【００９７】
トルク演算部２２１ｃは、動作目標値ｐｒｅｆと制振パラメータ（第１のパラータ）θと動作補償信号の２階微分値（第２のパラメータ）ｖ（１）ａとに応じて、制御対象１が振動を励起しないようにモデルトルクτａを演算する。
【００９８】
具体的には、トルク演算部２２１ｃは、慣性モーメント乗算部２４４を有する。慣性モーメント乗算部２４４は、動作補償信号の２階微分値（モデル速度の１階微分値ｖ（１）ａ）をモデル速度微分器２４６から受ける。動作補償信号の２階微分値は、後述の式（１５）に示されるように、動作目標値ｐｒｅｆと制振パラメータθ（反共振周波数ωｚ）とを含む。すなわち、慣性モーメント乗算部２４４は、動作目標値ｐｒｅｆと制振パラメータ（第１のパラータ）θとを含む動作補償信号の２階微分値ｖ（１）ａに、共振周波数ωｐと反共振周波数ωｚとが同じ（ωｐ＝ωｚ）という関係を適用し、さらに慣性モーメント（ＪＭ＋ＪＬ）を乗算することにより、モデルトルクτａを求める。慣性モーメント乗算部２４４は、求めたモデルトルクτａをトルク加算器１１３へ出力する。
【００９９】
次に、制振フィルタ２２１の具体的な動作について図７を用いて説明する。
【０１００】
モデル位置演算部２４１は、外部から入力された動作目標値ｐｒｅｆと制振パラメータ決定部１２２から入力された反共振周波数ωｚに基づき、動作目標値ｐｒｅｆから反共振周波数ωｚに対応した成分を取り除いたモデル位置ｐａを式（８）により演算する。そして、モデル位置演算部２４１は、演算したモデル位置ｐａをモデル位置微分器２４５及びフィードバック制御器１１２へ出力する。
【０１０１】
モデル位置微分器２４５は、モデル位置ｐａを受けて、その１階微分値を演算し、演算した結果をモデル速度ｖａとしてモデル速度微分器２４６及びフィードバック制御器１１２へ出力する。つまり、モデル位置微分器２４５は、モデル位置ｐａの１階微分を直接演算することで、式（１０）で表されるモデル速度ｖａと同等の信号を求めてモデル速度微分器２４６及びフィードバック制御器１１２へ出力する。
【０１０２】
モデル速度微分器２４６は、モデル位置微分器２４５からモデル速度ｖａを受けて、モデル速度の１階微分値ｖ（１）ａを演算し、その演算結果を慣性モーメント乗算部２４４へ出力する。つまり、モデル速度微分器２４６は、モデル速度ｖａの１階微分を直接演算することで、下記の式（１５）と同等の信号を求めて慣性モーメント乗算部２４４へ出力する。
【０１０３】
ｖ（１）ａ＝１／ωｚ２×ｐ（４）ｒｅｆ−４×ωｚ（１）／ωｚ３×ｐ（３）ｒｅｆ
＋（−２×ω（２）ｚ／ωｚ３＋６×（ω（１）ｚ）２／ωｚ４）×ｐ（２）ｒｅｆ
＋ｐ（２）ｒｅｆ・・・（１５）
慣性モーメント乗算部２４４は、モデル速度微分器２４６の出力ｖ（１）ａに慣性モーメント（ＪＭ＋ＪＬ）を乗算し、その積をモデルトルクτａとしてトルク加算器１１３に出力する。
【０１０４】
すなわち、共振周波数ωｐと反共振周波数ωｚとが略等しい（ωｐ≒ωｚ）場合、慣性モーメント乗算部２４４の出力は、実施の形態１の式（１２）を用いて演算されるモデルトルクτａにおいて、共振周波数ωｐと反共振周波数ωｚを同じ（ωｐ＝ωｚ）とした場合のモデルトルクτａと一致する。このように、共振周波数ωｐと反共振周波数ωｚとが略等しい（ωｐ≒ωｚ）場合は、実施の形態１の制振フィルタ１２１が出力するモデル位置ｐａ、モデル速度ｖａ、モデルトルクτａと、本実施の形態の制振フィルタ２２１が出力するモデル位置ｐａ、モデル速度ｖａ、モデルトルクτａとは、その演算方法が異なるだけであり、値としては同じになる。したがって、制振フィルタ２２１は、図３に示す直交２軸ロボットのように共振周波数ωｐと反共振周波数ωｚが近い（ωｐ≒ωｚ）制御対象に対しては、実施の形態１と同等の効果が、簡単な演算で得ることが可能となる。
【０１０５】
制振フィルタ２２１において、反共振周波数ωｚの１階微分ω（１）ｚ、２階微分ω（２）ｚを利用せずに実施の形態１と同等の効果が出せる要因は、動作目標値ｐｒｅｆから反共振周波数ωｚを利用して、反共振周波数ωｚに対応した成分を取り除いた後の信号であるモデル位置ｐａを微分する構造（演算順序）にある。モデル位置微分器２４５が動作目標値ｐｒｅｆから反共振周波数ωｚに対応する成分を取り除いた後の信号であるモデル位置ｐａを１階微分することにより、実施の形態１における制振パラメータ変分信号θ’に相当する反共振周波数の１階微分値ω（１）ｚを演算し、補償している。同様にモデル速度微分器２４６がモデル速度ｖａを１階微分してモデル位置ｐａの２階微分値を求めることにより、実施の形態１における制振パラメータ変分信号θ’に相当する反共振周波数の２階微分値ω（２）ｚを演算し、補償している。このように、制振フィルタ２２１では、制振フィルタ１２１の内部で制振パラメータ変分信号θ’に相当する反共振周波数の微分ω（１）ｚ、２階微分ω（２）ｚを演算する構成になっているため、実施の形態１の制振フィルタ１２１と同等の効果を、制振パラメータ変分信号θ’自体を利用しなくても得られるのである。
【０１０６】
以上のように、実施の形態２によれば、制御対象１の共振周波数ωｐと反共振周波数ωｚとが略等しい（ωｐ≒ωｚ）場合に、制振パラメータ変分信号θ自体を利用（生成）せずに、制振パラメータ変分信号θに相当するパラメータ（動作補償信号の１階微分値、２階微分値）を利用（生成）して、実施の形態１と同等のモデル速度ｖａ、モデルトルクτａを演算することができる。
【０１０７】
実施の形態３．
次に、実施の形態３にかかるモータ制御装置３００について説明する。以下では、実施の形態１と異なる点を中心に説明する。
【０１０８】
本実施の形態のモータ制御装置３００と実施の形態１のモータ制御装置１００との差異は、制振フィルタにおける処理内容（モデル位置、モデル速度、モデルトルクの演算方法）にある。すなわち、制御対象１の共振周波数ωｐ、反共振周波数ωｚが異なる場合においても、動作目標値ｐｒｅｆから制振パラメータ信号θに対応する周波数成分を取り除いた動作補償信号（モデル位置ｐａ、共振周波数補償信号ｐｃｐ）を生成し、生成した動作補償信号（モデル位置ｐａ）の１階微分を行ってモデル速度ｖａを演算するとともに、動作補償信号（共振周波数補償信号ｐｃｐ）の２階微分を行ってモデルトルクτａを演算する。
【０１０９】
具体的には、モータ制御装置３００は、図８に示すようなフィードフォワード制御部３１１を備える。図８は、実施の形態３におけるフィードフォワード制御部３１１の内部構成を示すブロック図である。
【０１１０】
フィードフォワード制御部３１１は、制振パラメータフィルタ１２３を有せず、制振パラメータ決定部３２２及び制振フィルタ３２１を有する。
【０１１１】
制振パラメータ決定部３２２は、生成部３２２ａを有する。生成部３２２ａは、パラメータ変更信号ＭＬに応じて、共振周波数ωｐ及び反共振周波数ωｚをパラメータ変更信号θとして制振フィルタ３２１へ出力する。
【０１１２】
制振フィルタ３２１は、補償信号生成部（第２の生成部）３２１ａ、速度演算部３２１ｄ、変化量演算部（第１の演算部）３２１ｂ、及びトルク演算部（第２の演算部）３２１ｃを有する。
【０１１３】
補償信号生成部３２１ａは、動作目標値ｐｒｅｆからパラメータ変更信号θ（共振周波数ωｐ）に対応する周波数成分を取り除いた動作補償信号（共振周波数補償信号ｐｃｐ）を生成する。
【０１１４】
具体的には、補償信号生成部３２１ａは、モデル位置演算部３４１及び共振補償信号演算部３４７を有する。モデル位置演算部３４１は、動作目標値ｐｒｅｆを外部から受け、制振パラメータ信号θに相当する反共振周波数ωｚを制振パラメータ決定部３２２の生成部３２２ａから受ける。モデル位置演算部３４１は、式（８）により、動作目標値ｐｒｅｆから反共振周波数ωｚに対応した成分を取り除き、取り除いた信号をモデル位置ｐａとしてフィードバック制御部１１２及び速度演算部３２１ｄへ出力する。
【０１１５】
共振補償信号演算部３４７は、動作目標値ｐｒｅｆを外部から受け、制振パラメータ信号θに相当する共振周波数ωｐを制振パラメータ決定部３２２の生成部３２２ａから受ける。共振補償信号演算部３４７は、後述の式（１６）により、動作目標値ｐｒｅｆから共振周波数ωｐに対応した成分を取り除き、取り除いた信号を共振補償信号ｐｃｐとして変化量演算部３２１ｂへ出力する。
【０１１６】
速度演算部３２１ｄは、モデル位置微分器３４５を有する。モデル位置微分器３４５は、動作目標値ｐｒｅｆから反共振周波数成分を取り除いた信号であるモデル位置ｐａをモデル位置演算部３４１から受ける。モデル位置微分器３４５は、モデル位置の１階微分値ｐ（１）ａを演算し、演算した結果をモデル速度ｖａとしてフィードバック制御部１１２へ出力する。
【０１１７】
変化量演算部３２１ｂは、補償信号生成部３２１ａにより生成された動作補償信号（共振周波数補償信号ｐｃｐ）を時間的に２階微分した値を、制振パラメータ信号θの時間変化量に応じたパラメータ（第２のパラメータ）として演算する。
【０１１８】
具体的には、変化量演算部３２１ｂは、共振補償信号微分器３４８及び共振補償信号２階微分器３４９を有する。共振補償信号微分器３４８は、共振補償信号ｐｃｐを共振補償信号演算部３４７から受けて、その１階微分値ｐ（１）ｃｐを演算し、演算結果を共振補償信号２階微分器３４９へ出力する。
【０１１９】
共振補償信号２階微分器３４９は、共振補償信号の１階微分値ｐ（１）ｃｐを共振補償信号微分器３４８から受けて、その１階微分値ｐ（２）ｃｐを演算する。共振補償信号２階微分器３４９は、その演算結果を、動作補償信号（共振補償信号ｐｃｐ）を時間的に２階微分した値としてトルク演算部３２１ｃへ出力する。
【０１２０】
トルク演算部３２１ｃは、動作目標値ｐｒｅｆと制振パラメータ（第１のパラータ）θと動作補償信号の２階微分値（第２のパラメータ）ｐ（２）ｃｐとに応じて、制御対象１が振動を励起しないようにモデルトルクτａを演算する。
【０１２１】
具体的には、トルク演算部３２１ｃは、慣性モーメント乗算部３４４を有する。慣性モーメント乗算部３４４は、動作補償信号の２階微分値（共振補償信号の２階微分値ｐ（２）ｃｐ）を共振補償信号２階微分器３４９から受ける。動作補償信号の２階微分値は、後述の式（１８）に示されるように、動作目標値ｐｒｅｆと制振パラメータθ（共振周波数ωｐ）とを含む。すなわち、慣性モーメント乗算部３４４は、動作目標値ｐｒｅｆと制振パラメータ（第１のパラータ）θとを含む動作補償信号の２階微分値ｐ（２）ｃｐに、慣性モーメント（ＪＭ＋ＪＬ）を乗算することにより、モデルトルクτａを求める。慣性モーメント乗算部３４４は、求めたモデルトルクτａをトルク加算器１１３へ出力する。
【０１２２】
次に、制振フィルタ３２１の具体的な動作について図８を用いて説明する。
【０１２３】
モデル位置演算部３４１は、外部から入力された動作目標値ｐｒｅｆと制振パラメータ決定部３２２から入力された反共振周波数ωｚとに基づき、動作目標値ｐｒｅｆから反共振周波数ωｚに対応した成分を取り除いたモデル位置ｐａを式（８）により計算する。そして、モデル位置演算部３４１は、演算したモデル位置ｐａをモデル位置微分器３４５及びフィードバック制御器１１２へ出力する。
【０１２４】
モデル位置微分器３４５は、モデル位置ｐａを受けて、その１階微分値ｐ（１）ａを演算し、演算した結果をモデル速度ｖａとしてフィードバック制御部１１２へ出力する。そのため、制振フィルタ３２１で演算するモデル位置ｐａ及びモデル速度ｖａはそれぞれ式（８）及び式（１０）で表される。
【０１２５】
一方、共振補償信号演算部３４７は、動作目標値ｐｒｅｆを外部から受け、制振パラメータ信号θに相当する共振周波数ωｐを制振パラメータ決定部３２２から受けて、下記の式（１６）の演算により動作目標値ｐｒｅｆから共振周波数成分を取り除き、演算した結果を共振補償信号ｐｃｐとして共振補償信号微分器３４８へ出力する。
【０１２６】
ｐｃｐ＝１／ωｐ２×ｐ（２）ｒｅｆ＋ｐｒｅｆ・・・（１６）
【０１２７】
共振補償信号微分器３４８は、共振補償信号ｐｃｐを共振補償信号演算部３４７から受けて、その１階微分値ｐ（１）ｃｐを演算し、演算した結果を共振補償信号２階微分器３４９へ出力する。すなわち、共振補償信号微分器３４８の出力は、式（１７）で表される信号と等価である。
【０１２８】
ｐ（１）ｃｐ＝１／ωｐ２×ｐ（３）ｒｅｆ−２×ω（１）ｐ／ωｐ３×ｐ（２）ｒｅｆ
＋ｐ（１）ｒｅｆ・・・（１７）
【０１２９】
共振補償信号２階微分器３４９は、共振補償信号の１階微分値ｐ（１）ｃｐを共振補償信号微分器３４８から受けて、共振補償信号の微分を微分することで、共振補償信号の２階微分ｐ（２）ｃｐを演算し、演算した結果を慣性モーメント乗算部３４４へ出力する。すなわち、共振補償信号２階微分器３４９の出力は、式（１８）で表される信号と等価である。
【０１３０】
ｐ（２）ｃｐ＝１／ωｐ２×ｐ（４）ｒｅｆ−４×ωｐ（１）／ωｐ３×ｐ（３）ｒｅｆ
＋（−２×ω（２）ｐ／ωｐ３＋６×（ω（１）ｐ）２／ωｐ４）×ｐ（２）ｒｅｆ
＋ｐ（２）ｒｅｆ・・・（１８）
【０１３１】
慣性モーメント乗算器３４４は、共振補償信号２階微分器３４９の出力である共振補償信号の２階微分値ｐ（２）ｃｐに慣性モーメント（ＪＭ＋ＪＬ）を乗算して、その積をモデルトルクτａとしてトルク加算器１１３に出力する。つまり、慣性モーメント乗算器３４４は、式（１２）と同等の信号をトルク加算器１１３に出力する。このように、実施の形態１の制振フィルタ３２１が出力するモデル位置ｐａ、モデル速度ｖａ、モデルトルクτａと、本実施の形態の制振フィルタ３２１が出力するモデル位置ｐａ、モデル速度ｖａ、モデルトルクτａとは、その演算方法が異なるだけであり、値としては同じになる。したがって、制振フィルタ３２１は、共振周波数ωｐと反共振周波数ωｚとが近い（ωｐ≒ωｚ）制御対象に対しても、共振周波数ωｐと反共振周波数ωｚとが異なる（ωｐ≠ωｚ）制御対象に対しても、実施の形態１と同等の効果が、簡単な演算で得ることが可能となる。
【０１３２】
制振フィルタ３２１において、共振周波数ωｐの１階微分ω（１）ｐ、２階微分ω（２）ｐを利用せずに実施の形態１と同等の効果が出せる要因は、共振周波数ωｐに対応した成分を取り除いた後の信号である共振補信号ω（１）ｐを微分することにより、実施の形態１における制振パラメータ変分信号θ’に相当する共振周波数の１階微分値ω（１）ｐ、２階微分値ω（２）ｐを制振フィルタ３２１自身が演算する構成に成っているためである。
【０１３３】
以上のように、実施の形態３によれば、制御対象１の共振周波数ωｐと反共振周波数ωｚとが略等しい（ωｐ≒ωｚ）場合でも、制御対象１の共振周波数ωｐと反共振周波数ωｚとが異なる（ωｐ≠ωｚ）場合でも、制振パラメータ変分信号θ’自体を利用（生成）せずに、制振パラメータ変分信号θ’に相当するパラメータ（動作補償信号の１階微分値、２階微分値）を利用（生成）して、実施の形態１と同等のモデル速度ｖａ、モデルトルクτａを演算することができる。
【０１３４】
実施の形態４．
次に、実施の形態４にかかるモータ制御装置４００について説明する。以下では、実施の形態１と異なる点を中心に説明する。
【０１３５】
本実施の形態のモータ制御装置４００と実施の形態１のモータ制御装置１００との差異は、制振フィルタにおける処理内容（モデル位置、モデル速度、モデルトルクの演算方法）にある。すなわち、制御対象１の共振周波数ωｐ、反共振周波数ωｚが異なる場合においても、動作目標値ｐｒｅｆから制振パラメータ信号θに対応する周波数成分を取り除いた動作補償信号（モデル位置ｐａ）を生成し、生成した動作補償信号（モデル位置ｐａ）の１階微分及び２階微分を行ってそれぞれモデル速度ｖａ及びモデルトルクτａを演算する。
【０１３６】
具体的には、モータ制御装置４００は、図９に示すようなフィードフォワード制御部４１１を備える。図９は、実施の形態４におけるフィードフォワード制御部４１１の内部構成を示すブロック図である。
【０１３７】
フィードフォワード制御部４１１は、制振パラメータフィルタ１２３を有せず、制振パラメータ決定部４２２及び制振フィルタ４２１を有する。
【０１３８】
制振パラメータ決定部４２２は、生成部４２２ａを有する。生成部４２２ａは、パラメータ変更信号ＭＬに応じて、共振周波数ωｐ及び反共振周波数ωｚをパラメータ変更信号θとして制振フィルタ４２１へ出力する。
【０１３９】
制振フィルタ４２１は、補償信号生成部（第２の生成部）４２１ａ、変化量演算部（第１の演算部）４２１ｂ、及びトルク演算部（第２の演算部）４２１ｃを有する。
【０１４０】
補償信号生成部４２１ａは、動作目標値ｐｒｅｆからパラメータ変更信号θ（反共振周波数ωｚ）に対応する周波数成分を取り除いた動作補償信号（モデル位置ｐａ）を生成する。
【０１４１】
具体的には、補償信号生成部４２１ａは、モデル位置演算部４４１を有する。モデル位置演算部４４１は、動作目標値ｐｒｅｆを外部から受け、制振パラメータ信号θに相当する反共振周波数ωｚを制振パラメータ決定部４２２の生成部４２２ａから受ける。モデル位置演算部４４１は、式（８）により、動作目標値ｐｒｅｆから反共振周波数ωｚに対応した成分を取り除き、取り除いた信号をモデル位置ｐａとしてフィードバック制御部１１２及び変化量演算部４２１ｂへ出力する。
【０１４２】
変化量演算部４２１ｂは、補償信号生成部４２１ａにより生成された動作補償信号（モデル位置ｐａ）を時間的に２階微分した値を、制振パラメータ信号θの時間変化量に応じたパラメータ（第２のパラメータ）として演算する。
【０１４３】
具体的には、変化量演算部４２１ｂは、モデル位置微分器４４５及びモデル速度微分器４４６を有する。モデル位置微分器４４５は、動作補償信号（モデル位置ｐａ）をモデル位置演算部４４１から受けて、その１階微分値ｐ（１）ａを演算する。このとき、モデル位置微分器４４５は、式（７）〜式（１０）に示されるように、補償信号生成部４２１ａにより生成された動作補償信号（モデル位置ｐａ）を時間的に１階微分することにより、制御対象１が振動を励起しないようにモデル速度ｖａを演算する。モデル位置微分器４４５は、演算した結果をモデル速度ｖａとしてフィードバック制御部１１２及びモデル速度微分器４４６へ出力する。
【０１４４】
モデル速度微分器４４６は、モデル速度ｖａをモデル位置微分器４４５から受けて、その１階微分値ｖ（１）ａを演算する。モデル速度微分器４４６は、その演算結果を、動作補償信号（モデル位置ｐａ）を時間的に２階微分した値としてトルク演算部４２１ｃへ出力する。
【０１４５】
トルク演算部４２１ｃは、動作目標値ｐｒｅｆと制振パラメータ（第１のパラータ）θと動作補償信号の２階微分値（第２のパラメータ）ｖ（１）ａとに応じて、制御対象１が振動を励起しないようにモデルトルクτａを演算する。
【０１４６】
具体的には、トルク演算部４２１ｃは、目標値微分器４４１０、目標値２階微分器４４１１、モデルトルク減算部４４１２、モデルトルク補償部４４１３、モデルトルク加算器４４１４、及び慣性モーメント乗算部４４４を有する。目標値微分器４４１０は、動作目標値ｐｒｅｆを外部から受けて、動作目標値の１階微分値ｐ（１）ｒｅｆを演算して、演算した結果を目標値２階微分器４４１１へ出力する。
【０１４７】
目標値２階微分器４４１１は、動作目標値の１階微分値ｐ（１）ｒｅｆを目標値微分器４４１０から受けて、その１階微分値を演算して、演算した結果を動作目標値の２階微分値ｐ（2）ｒｅｆとしてモデルトルク減算器４４１２及びモデルトルク加算器４４１４へ出力する。
【０１４８】
モデルトルク減算器４４１２は、動作目標値の２階微分値ｐ（2）ｒｅｆを目標値２階微分器４４１１から受け、モデル速度ｖａの１階微分値ｖ（１）ａをモデル速度微分器４４６から受ける。モデルトルク減算器４４１２は、モデル速度ｖａの１階微分値ｖ（１）ａから動作目標値の２階微分値ｐ（2）ｒｅｆを減算し、その減算結果をモデルトルク補償部４４１３へ出力する。
【０１４９】
モデルトルク補償部４４１３は、減算結果をモデルトルク減算器４４１２から受け、（制御対象１の現在の）共振周波数ωｐ、反共振周波数ωｚを制振パラメータ決定部４２２から受ける。モデルトルク補償部４４１３は、モデルトルク減算器４４１２による減算結果に反共振周波数ωｚの２乗を乗算し、共振周波数ωｐの２乗を除算した値を演算して、その演算結果をモデルトルク加算器４４１４へ出力する。
【０１５０】
モデルトルク加算器４４１４は、演算結果をモデルトルク補償部４４１３から受け、動作目標値の２階微分値ｐ（2）ｒｅｆを目標値２階微分器４４１１から受け、それらの値を加算し、その加算結果を慣性モーメント乗算部４４４へ出力する。
【０１５１】
慣性モーメント乗算部４４４は、モデルトルク加算器４４１４による加算結果に慣性モーメントを乗算して、その積をモデルトルクτａとしてトルク加算器１１３へ出力する。
【０１５２】
次に、制振フィルタ４２１の具体的な動作について図９を用いて詳細に説明する。
【０１５３】
モデル速度微分器４４６は、モデル速度ｖａをモデル位置微分器４４５から受け、モデル速度の１階微分値ｖ（１）ａを演算し、その演算結果をモデルトルク減算器４４１２へ出力する。つまり、モデル速度微分器４４６は、モデル速度ｖａの１階微分を直接演算することで、下記の式（１５）と同等の信号を求めてモデルトルク減算器４４１２へ出力する。
【０１５４】
ｖ（１）ａ＝１／ωｚ２×｛ｐ（４）ｒｅｆ−４×ωｐ（１）／ωｐ×ｐ（３）ｒｅｆ
＋（−２×ω（２）ｐ／ωｐ＋６×（ω（１）ｐ）２／ωｐ２）×ｐ（２）ｒｅｆ｝
＋ｐ（２）ｒｅｆ・・・（１９）
式（１９）において、
ω（１）ｐ／ωｐ＝ω（１）ｚ／ωｚ，ω（２）ｐ／ωｐ＝ω（２）ｚ／ωｚ・・・（２０）
という仮定を用いている。もし制御対象１をバネ定数ｋｍが動作中に変化する２慣性系モデルで表すことが可能ならば、ωｐ＝√（ｋｍ/（ＪＬ＋ＪＭ））、ωｚ＝√（ｋｍ／ＪＬ）より式（２０）の仮定は厳密に成り立つ。
【０１５５】
モデルトルク減算器４４１２は、モデル速度の１階微分値ｖ（１）ａをモデル速度微分器４４６から受け、動作目標値の２階微分値ｐ（2）ｒｅｆを目標値２階微分器４４１１から受ける。モデルトルク減算器４４１２は、モデル速度の１階微分値ｖ（１）ａから動作目標値の２階微分値ｐ（2）ｒｅｆを減算し、その減算結果をモデルトルク補償部４４１３へ出力する。つまり、モデルトルク減算器４４１２は、下記の式（２１）の値をモデルトルク補償部４４１３へ出力することになる。
【０１５６】
ｐ（４）ｒｅｆ−４×ωｐ（１）／ωｐ×ｐ（３）ｒｅｆ
＋（−２×ω（２）ｐ／ωｐ＋６×（ω（１）ｐ）２／ωｐ２）×ｐ（２）ｒｅｆ・・・（２１）
【０１５７】
モデルトルク補償部４４１３は、モデルトルク減算器４４１２による減算結果に反共振周波数ωｚの２乗を乗算し、共振周波数ωｐの２乗を除算して、その演算結果をモデルトルク加算器４４１４へ出力する。よって、式（２２）で計算される値がモデルトルク加算器４４１４へ出力される。
【０１５８】
１／ωｐ２×ｐ（４）ｒｅｆ−４×ω（１）ｐ／ωｐ３×ｐ（３）ｒｅｆ
＋（−２×ω（２）ｐ／ωｐ２＋６×（ω（１）ｐ）２／ωｐ４）×ｐ（２）ｒｅｆ・・・（２２）
【０１５９】
モデルトルク加算器４４１４は、モデルトルク補償器４４１３による演算結果に、動作目標値の２階微分値ｐ（2）ｒｅｆを加算する。モデルトルク加算器４４１４は、その和を慣性モーメント乗算部４４４へ出力する。よって式（２３）で計算される値と同等の値を持つ信号が慣性モーメント乗算部４４４へ出力されることになる。
【０１６０】
１／ωｐ２×ｐ（４）ｒｅｆ−４×ω（１）ｐ／ωｐ３×ｐ（３）ｒｅｆ
＋（−２×ω（２）ｐ／ωｐ２＋６×（ω（１）ｐ）２／ωｐ４）×ｐ（２）ｒｅｆ
＋ｐ（２）ｒｅｆ・・・（２３）
【０１６１】
慣性モーメント乗算部４４４は、モデルトルク加算器４４１４による加算結果に慣性モーメント（ＪＭ＋ＪＬ）を乗算し、その積をモデルトルクτａとしてトルク加算器１１３に出力する。
【０１６２】
すなわち、慣性モーメント乗算部４４４の出力は実施の形態１の慣性モーメント乗算部１４４と同様に式（１２）で計算される値となる。よって、制振フィルタ４２１から出力されるモデル位置ｐａ、モデル速度ｖａ、モデルトルクτａの値はそれぞれ式（８）、（１０）、（１２）となる。そのため、実施の形態１でのフィードフォワード制御部１１１が出力するモデル位置ｐａ、モデル速度ｖａ、モデルトルクτａと、本実施の形態におけるフィードフォワード制御部４１１が出力するモデル位置ｐａ、モデル速度ｖａ、モデルトルクτａとは、演算方法が異なるだけであり、値としては同じである。したがって、実施の形態４の方式においても実施の形態１と同等の効果を得ることが可能となる。
【０１６３】
以上のように、実施の形態４によれば、制御対象１の共振周波数ωｐと反共振周波数ωｚとが略等しい（ωｐ≒ωｚ）場合でも、制御対象１の共振周波数ωｐと反共振周波数ωｚとが異なる（ωｐ≠ωｚ）場合でも、制振パラメータ変分信号θ自体を利用（生成）せずに、制振パラメータ変分信号θに相当するパラメータ（動作補償信号の１階微分値、２階微分値）を利用（生成）して、実施の形態１と同等のモデル速度ｖａ、モデルトルクτａを演算することができる。
【０１６４】
実施の形態５．
次に、実施の形態５にかかるモータ制御装置５００について図１０を用いて説明する。図１０は、実施の形態５にかかるモータ制御装置５００の構成を示すブロック図である。以下では、実施の形態１と異なる点を中心に説明する。
【０１６５】
本実施の形態と実施の形態１との差異は、実施の形態１がモータ動作検出値ｐＭを所望の動作目標値（位置指令）ｐｒｅｆに追従させる位置制御であるのに対し、本実施の形態は、モータ速度演算値ｖＭを動作目標値（速度指令）ｖｒｅｆに追従させる速度制御であることである。すなわち、モータ制御装置５００は、駆動する制御対象１の速度目標値を表す動作目標値（速度指令）ｖｒｅｆを外部（例えば、図示しない上位コントローラ）から受けて、モータ動作検出値ｐＭに応じたモータ速度演算値ｖＭが動作目標値ｖｒｅｆへ追従するようにトルク指令τＭを発生させて電流制御器４へ出力する。
【０１６６】
具体的には、モータ制御装置５００は、フィードフォワード制御部５１１及びフィードバック制御部５１２を備える。フィードバック制御部５１２は、位置制御器１３１（図１参照）を有さず、速度演算器１３３、及び速度制御器１３２を有する。
【０１６７】
また、フィードフォワード制御部５１１は、制振フィルタ（第２の演算部）５２１を有する。制振フィルタ５２１は、図１１に示すように、その内部構成が実施の形態１と異なる。図１１は、フィードフォワード制御部５１１の内部構成を示すブロック図である。
【０１６８】
制振フィルタ５２１は、位置演算部１２１ａ（図５参照）を有さず、速度演算部５２１ｂ及びトルク演算部５２１ｃを有する。
【０１６９】
速度演算部５２１ｂは、モデル速度演算部５４２は、動作目標値ｖｒｅｆを外部から受け、反共振周波数ωｚを制振パラメータ決定部１２２の生成部１２２ａから受け、反共振周波数の１階微分値ω（１）ｚを制振パラメータフィルタ１２３の微分器１２３ａから受ける。モデル速度演算部５４２は、動作目標値ｖｒｅｆと反共振周波数ωｚと反共振周波数の１階微分値ω（１）ｚとを用いて、後述の数式（２４）に示すようにモデル速度ｖａを演算してフィードバック制御部５１２（図１０参照）へ出力する。
【０１７０】
トルク演算部５２１ｃは、モデル加速度演算部５４３及び慣性モーメント乗算部５４４を有する。
【０１７１】
モデル加速度演算部５４３は、動作目標値ｖｒｅｆを外部から受け、共振周波数ωｐを制振パラメータ決定部１２２の生成部１２２ａから受ける。また、モデル加速度演算部５４３は、共振周波数の１階微分値ω（１）ｐを制振パラメータフィルタ１２３の微分器１２３ａから受け、共振周波数の２階微分値ω（２）ｐを制振パラメータフィルタ１２３の微分器１２３ｂから受ける。モデル加速度演算部５４３は、動作目標値ｖｒｅｆと共振周波数ωｐと共振周波数の１階微分値ω（１）ｐと共振周波数の２階微分値ω（２）ｐとを用いて、後述の数式（２７）に示すようにモデル加速度ａａを演算して慣性モーメント乗算部５４４へ出力する。
【０１７２】
慣性モーメント乗算部５４４は、モデル加速度ａａをモデル加速度演算部５４３から受ける。慣性モーメント乗算部５４４は、モデル加速度ａａを用いて、後述の数式（２８）に示すようにモデルトルクτａを演算してトルク加算器１１３（図１０参照）へ出力する。
【０１７３】
次に、制振フィルタ５２１の動作（モデル位置ｐａ、モデル速度ｖａ、モデルトルクτａの演算方法）について詳細に説明する。
【０１７４】
モデル速度演算部５４２は、反共振周波数ωｚ（制振パラメータ信号θ）と動作目標値ｖｒｅｆとを用いて、式（６）と式（４）を時間的に微分した式とにより、機械速度ｖＬが外部速度指令ｖｒｅｆに一致しているときのモータ速度ｖＭを演算し、その演算結果をモデル速度ｖａとしてフィードバック制御部５１２に出力する。実際に数式を用いて説明すると、機械速度ｖＬが外部速度指令ｖｒｅｆに一致しているときのモータ速度ｖＭは反共振周波数ωｚも時間変化することを考慮し、式（４）の両辺を時間に関して微分することにより
ｖａ＝１／ωｚ２×ｖ（２）ｒｅｆ−２×ω（１）ｚ／ωｚ３×ｖ（１）ｒｅｆ
＋ｖｒｅｆ・・・（２４）
と求められる。ここで式（６）も用いている。モデル速度演算部５４２は、この式（２４）を用いてモデル速度ｖａを演算する。モデル速度演算部５４２は、演算したモデル速度ｖａをフィードバック制御部５１２へ出力する。つまり、モデル速度演算部５４２は、動作目標値の２階微分値ｖ（２）ｒｅｆに反共振周波数ωｚの２乗分の１を掛けた値と、動作目標値の１階微分値ｖ（１）ｒｅｆ及び反共振周波数の１階微分値ω（１）ｚの積を２倍した値に反共振周波数ωｚの３乗分の１を掛けた値との差に、動作目標値ｖｒｅｆを加算した値を、モデル速度ｖａとしてフィードバック制御部５１２へ出力する。
【０１７５】
モデル加速度制御器５４３と慣性モーメント乗算部５４４とは、共振周波数ωｐ（制振パラメータ信号θ）とその１階微分値ω（１）ｐ、２階微分値ω（２）ｐ（制振パラメータ変分信号θ’）とを用いて、動作目標値ｖｒｅｆからモデルトルクτａまでの特性をモータトルクτＭから機械速度ｖＬまでの動特性の逆特性とするように、モデルトルクτａを演算する。慣性モーメント乗算部５４４は、演算結果をトルク加算器１１３へ出力する。
【０１７６】
このようにモデルトルクτａを演算することにより、摩擦やモデル誤差等の外乱がなければ制御対象１の機械速度ｖＬを動作目標値ｖｒｅｆに偏差なく追従させることが可能となる。その結果、振動を抑制することも可能となる。次に、数式を用いてモデル加速度演算部５４３と慣性モーメント乗算部５４４との動作を説明する。
【０１７７】
まず、式（４）の両辺を共振周波数ωｐ、反共振周波数ωｚも時間変化することも考慮し、時間に関して１階微分及び２階微分の演算を行う。そして、演算した式と式（４）そのものとを式（３）に代入して、モータトルクτＭから機械速度ｖＬまでの動特性を求めると式（２５）となる。
【０１７８】
１／ωｐ２×ｖ（４）Ｌ−４×ω（１）ｐ／ωｐ３×ｖ（３）Ｌ
＋（−２×ω（２）ｐ／ωｐ２＋６×（ω（１）ｐ）２／ωｐ４）×ｖ（２）Ｌ＋ｖ（２）Ｌ
＝１／（ＪＭ＋ＪＬ）×τＭ・・・（２５）
動作目標値ｖｒｅｆからモデルトルクτａまでの特性をモータトルクτＭから機械速度ｖＬまでの特性の逆特性にすれば、動作目標値ｖｒｅｆに制御対象の機械速度を偏差なく追従させることができるとともに、モータトルクτＭから機械速度ｖＬまでの動特性が式（２５）となることから、モデルトルクτａが下記の式（２６）となるように演算する。
【０１７９】
τａ＝（ＪＭ＋ＪＬ）
×｛１／ωｐ２×ｖ（４）ｒｅｆ−４×ωｐ（１）／ωｐ３×ｐ（３）ｒｅｆ
＋（−２×ω（２）ｐ／ωｐ２＋６×（ω（１）ｐ）２／ωｐ４）×ｖ（２）ｒｅｆ
＋ｖ（２）ｒｅｆ｝・・・（２６）
【０１８０】
したがって、モデル加速度演算部５４３は、動作目標値ｖｒｅｆと、共振周波数ωｐと、その１階微分ω（１）ｐ、２階微分ω（２）ｐとを用いて、下記の式（２７）によりモデル加速度ａａを演算する。モデル加速度演算部５４３は、演算したモデル加速度ａａを慣性モーメント乗算部５４４へ出力する。慣性モーメント乗算部５４４は、実施の形態１と同様にモデル加速度ａａを用いて、式（２８）によりモデルトルクτａを演算し、モデルトルクτａをトルク加算器１１３へ出力する。
【０１８１】
ａａ＝１／ωｐ２×ｖ（４）ｒｅｆ−４×ωｐ（１）／ωｐ３×ｖ（３）ｒｅｆ
＋（−２×ω（２）ｐ／ωｐ２＋６×（ω（１）ｐ）２／ωｐ４）×ｖ（２）ｒｅｆ
＋ｖ（２）ｒｅｆ・・・（２７）
【０１８２】
τａ＝（ＪＭ＋ＪＬ）×ａａ・・・（２８）
【０１８３】
このように、モデル加速度演算部５４３が式（２７）を用い、慣性モーメント乗算部５４４が式（２８）を用いて、モデルトルクτａを演算することにより、摩擦やモデル誤差などの外乱がない場合、制御対象の機械速度ｖＬを動作目標値ｖｒｅｆへ偏差なく追従させることが可能となる。
【０１８４】
以上のように、実施の形態５によれば、実施の形態１と同等の効果を速度制御においても得ることが可能となり、本発明のモータ制御装置の用途を広げることが可能となる。
【０１８５】
なお、本実施の形態では、エンコーダなどの検出器２によりモータ動作目標値ｐＭを検出し、それを速度演算器１３３によってモータ速度演算値ｖＭを計算しているが、レゾルバやタコジェネレータ、ホール素子等を用いて直接モータ速度演算値ｖＭを計測してもよい。
【０１８６】
また、動作目標値ｖｒｅｆの積分値を位置についての動作目標値ｐｒｅｆとみなして、本実施の形態２〜実施の形態４と同様の計算方法によりモデル速度ｖａとモデルトルクτａを計算してもよい。
【産業上の利用可能性】
【０１８７】
以上のように、本発明にかかるモータ制御装置は、剛性の低い産業用機械装置の位置決め駆動に有用である。
【符号の説明】
【０１８８】
１  制御対象
１ａ  モータ
１ａ１  ｘ軸モータ
１ａ２  モータ
１ａ１１  ｚ軸モータ
１ｂ  バネ
１ｂ１  ｚ軸アーム
１ｂ２  ロープ
１ｃ  機械負荷
１ｃ１、１ｃ２  負荷
１ｄ１  ｘ軸アーム
１ｄ２  スライダ
２  検出器
３  検出器
４  電流制御器
１００、２００、３００、４００、５００  モータ制御装置
１１１、２１１、３１１、４１１、５１１  フィードフォワード制御部
１１２、５１２  フィードバック制御部
１１３  トルク加算器
１２１、２２１、３２１、４２１、５２１  制振フィルタ
１２１ａ  位置演算部
１２１ｂ、５２１ｂ  速度演算部
１２１ｃ、２２１ｃ、３２１ｃ、４２１ｃ、５２１ｃ  トルク演算部
１２２、２２２、３２２、４２２  制振パラメータ決定部
１２２ａ、２２２ａ、３２２ａ、４２２ａ  生成部
１２２ｂ  記憶部
１２２ｂ１  共振・反共振テーブル
１２３  制振パラメータフィルタ
１２３ａ  微分器
１２３ｂ  微分器
１３１  位置制御器
１３２  速度制御器
１３３  速度演算器
１４１、２４１、３４１、４４１  モデル位置演算部
１４２、５４２  モデル速度演算部
１４３、５４３  モデル加速度演算部
１４４、２４４、３４４、４４４、５４４  慣性モーメント乗算部
２２１ａ、３２１ａ、４２１ａ  補償信号生成部
２２１ｂ、３２１ｂ、４２１ｂ  変化量演算部
２４５、３４５、４４５  モデル位置微分器
２４６、４４６  モデル速度微分器
３２１ｄ  速度演算部
３４７  共振補償信号減算部
３４８  共振補償信号微分器
３４９  共振補償信号２階微分器
４４１０  目標値微分器
４４１１  目標値２階微分器
４４１２  モデルトルク減算器
４４１３  モデルトルク補償部
４４１４  モデルトルク加算器
【図１】
2012086550.tif 000003
【図２】
2012086550.tif 000004
【図３】
2012086550.tif 000005
【図４】
2012086550.tif 000006
【図５】
2012086550.tif 000007
【図６】
2012086550.tif 000008
【図７】
2012086550.tif 000009
【図８】
2012086550.tif 000010
【図９】
2012086550.tif 000011
【図１０】
2012086550.tif 000012
【図１１】
2012086550.tif 000013
【手続補正書】
【提出日】平成25年1月18日(2013.1.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
モータ及び振動可能要素を有する制御対象の動作を制御するモータ制御装置であって、
前記制御対象の振動特性に関連した前記制御対象の状態を表す状態情報に応じて、前記制御対象の振動特性を表す第１のパラメータを生成する生成部と、
前記生成部により生成された前記第１のパラメータの時間変化量に応じた第２のパラメータを演算する第１の演算部と、
動作目標値と前記第１のパラータと前記第２のパラメータとに応じて、前記制御対象が振動を励起しないようにモデルトルクを演算する第２の演算部と、
前記第２の演算部により演算された前記モデルトルクに応じて、前記制御対象の動作を前記動作目標値に追従させる前記モータに対するトルク指令を発生させる発生部と、
を備えたことを特徴とするモータ制御装置。
【請求項２】
前記第２の演算部は、前記動作目標値と前記第１のパラータと前記第２のパラメータとを用いて、前記制御対象が振動せずに追従することが可能な速度であるモデル速度を演算し、
前記発生部は、前記制御対象の速度が前記第２の演算部により演算された前記モデル速度に追従するように、前記トルク指令を発生させる
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記第２の演算部は、前記動作目標値と前記第１のパラータとを用いて、前記制御対象が振動せずに追従することが可能な位置であるモデル位置を演算し、
前記発生部は、前記制御対象の位置を前記第２の演算部により演算された前記モデル位置に追従させる前記トルク指令を発生させる
ことを特徴とする請求項２に記載のモータ制御装置。
【請求項４】
前記第１のパラメータは、前記制御対象の振動周波数を含み、
前記第２のパラメータは、前記制御対象の振動周波数の時間変化量を含む
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項５】
前記状態情報の複数の値と前記第１のパラメータの複数の値とが対応付けられたテーブルを記憶する記憶部をさらに備え、
前記生成部は、前記記憶部に記憶された前記テーブルを参照することにより、受けた前記状態情報に対応する前記第１のパラメータを生成する
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項６】
前記状態情報の値と前記第１のパラメータの値との関係を示す関数を記憶する第２の記憶部をさらに備え、
前記生成部は、前記第２の記憶部に記憶された前記関数を参照することにより、前記生成部に入力された前記状態情報に対応する前記第１のパラメータを生成する
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項７】
前記第１の演算部は、ｎを１より大きな整数とするとき、前記第１のパラメータのｎ階微分もしくはｎ階差分を行うことにより前記第２のパラメータを演算する
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項８】
前記制御対象は、複数の前記モータを有し、
前記生成部が受ける前記状態情報は、前記複数のモータのうち前記モータ制御装置により制御されていないモータの位置に応じた前記振動可能要素の状態を含む
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項９】
前記第２の演算部は、前記トルク指令から前記制御対象の位置までの動特性の逆特性に基づき、前記制御対象の位置を前記動作目標値に追従させるために必要な前記トルク指令を演算し、演算結果により前記モデルトルクを演算する
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項１０】
前記第２の演算部は、前記制御対象の速度が前記動作目標値に応じた速度に追従しているときのモータ速度を推定して前記モデル速度として演算する
ことを特徴とする請求項２に記載のモータ制御装置。
【請求項１１】
前記第２の演算部は、前記制御対象の位置が前記動作目標値に応じた速度に追従しているときのモータ位置を推定して前記モデル位置として演算する
ことを特徴とする請求項３に記載のモータ制御装置。
【請求項１２】
モータ及び振動可能要素を有する制御対象の動作を制御するモータ制御装置であって、
前記制御対象の振動特性に関連した前記制御対象の状態を表す状態情報に応じて、前記制御対象の振動特性を表す第１のパラメータを生成する生成部と、
動作目標値から前記第１のパラメータに対応する反共振周波数成分を取り除いたモデル位置と前記動作目標値から前記第１のパラメータに対応する共振周波数成分を取り除いた共振周波数補償信号を生成する第２の生成部と、
前記第２の生成部により生成された共振周波数補償信号を時間的に２階微分することにより、モデルトルクを生成するトルク演算部と、
前記第２の生成部により生成されたモデル位置を時間的に微分することにより、モデル速度を生成する速度演算部と、
前記制御対象の速度が前記速度演算部により生成されたモデル速度に追従するように、前記トルク演算部により生成されたモデルトルクに応じて前記モータに対するトルク指令を発生させる発生部と、
を備えたことを特徴とするモータ制御装置。
【請求項１３】
モータ及び振動可能要素を有する制御対象の動作を制御するモータ制御装置であって、
前記制御対象の振動特性に関連した前記制御対象の状態を表す状態情報に応じて、前記制御対象の振動特性を表す第１のパラメータを生成する生成部と、
動作目標値から前記第１のパラメータに対応する反共振周波数成分を取り除いたモデル位置を生成する第２の生成部と、
前記動作目標値を時間的に２階微分した第１の値と前記第２の生成部により生成されたモデル位置を時間的に２階微分した第２の値と前記第１のパラメータに対応する反共振周波数成分と前記第１のパラメータに対応する共振周波数成分とに基づいて、モデルトルクを生成するトルク演算部と、
前記第２の生成部により生成されたモデル位置を時間的に微分することにより、モデル速度を生成する速度演算部と、
前記制御対象の速度が前記速度演算部により生成されたモデル速度に追従するように、前記トルク演算部により生成されたモデルトルクに応じて前記モータに対するトルク指令を発生させる発生部と、
を備えたことを特徴とするモータ制御装置。
【請求項１４】
前記トルク演算部は、前記第２の値から前記第１の値を減算し、減算結果に前記反共振周波数成分の２乗を乗算し、乗算結果に前記共振周波数成分の２乗を除算し、除算結果に前記第１の値を加算することにより、前記モデルトルクを生成する
ことを特徴とする請求項１３に記載のモータ制御装置。
【手続補正書】
【提出日】平成25年12月25日(2013.12.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
モータ及び振動可能要素を有する制御対象の動作を制御するモータ制御装置であって、
前記制御対象の振動特性に関連した前記制御対象の状態を表す状態情報に応じて、前記制御対象の振動特性を表す第１のパラメータを生成する生成部と、
前記生成部により生成された前記第１のパラメータの時間変化量に応じた第２のパラメータを演算する第１の演算部と、
動作目標値と前記第１のパラメータと前記第２のパラメータとに応じて、前記制御対象が振動を励起しないようにモデルトルクを演算する第２の演算部と、
前記第２の演算部により演算された前記モデルトルクに応じて、前記制御対象の動作を前記動作目標値に追従させる前記モータに対するトルク指令を発生させる発生部と、
を備えたことを特徴とするモータ制御装置。 
【請求項２】
前記第２の演算部は、前記動作目標値と前記第１のパラメータと前記第２のパラメータとを用いて、前記制御対象が振動せずに追従することが可能な速度であるモデル速度を演算し、
前記発生部は、前記制御対象の速度が前記第２の演算部により演算された前記モデル速度に追従するように、前記トルク指令を発生させる
ことを特徴とする請求項１に記載のモータ制御装置。 
【請求項３】
前記第２の演算部は、前記動作目標値と前記第１のパラメータとを用いて、前記制御対象が振動せずに追従することが可能な位置であるモデル位置を演算し、
前記発生部は、前記制御対象の位置を前記第２の演算部により演算された前記モデル位置に追従させる前記トルク指令を発生させる
ことを特徴とする請求項２に記載のモータ制御装置。 
【請求項４】
前記第１のパラメータは、前記制御対象の振動周波数を含み、
前記第２のパラメータは、前記制御対象の振動周波数の時間変化量を含む
ことを特徴とする請求項１に記載のモータ制御装置。 
【請求項５】
前記状態情報の複数の値と前記第１のパラメータの複数の値とが対応付けられたテーブルを記憶する記憶部をさらに備え、
前記生成部は、前記記憶部に記憶された前記テーブルを参照することにより、受けた前記状態情報に対応する前記第１のパラメータを生成する
ことを特徴とする請求項１に記載のモータ制御装置。 
【請求項６】
前記状態情報の値と前記第１のパラメータの値との関係を示す関数を記憶する第２の記憶部をさらに備え、
前記生成部は、前記第２の記憶部に記憶された前記関数を参照することにより、前記生成部に入力された前記状態情報に対応する前記第１のパラメータを生成する
ことを特徴とする請求項１に記載のモータ制御装置。 
【請求項７】
前記第１の演算部は、ｎを１より大きな整数とするとき、前記第１のパラメータのｎ階微分もしくはｎ階差分を行うことにより前記第２のパラメータを演算する
ことを特徴とする請求項１に記載のモータ制御装置。 
【請求項８】
前記制御対象は、複数の前記モータを有し、
前記生成部が受ける前記状態情報は、前記複数のモータのうち前記モータ制御装置により制御されていないモータの位置に応じた前記振動可能要素の状態を含む
ことを特徴とする請求項１に記載のモータ制御装置。 
【請求項９】
前記第２の演算部は、前記トルク指令から前記制御対象の位置までの動特性の逆特性に基づき、前記制御対象の位置を前記動作目標値に追従させるために必要な前記トルク指令を演算し、演算結果により前記モデルトルクを演算する
ことを特徴とする請求項１に記載のモータ制御装置。 
【請求項１０】
前記第２の演算部は、前記制御対象の速度が前記動作目標値に応じた速度に追従しているときのモータ速度を推定して前記モデル速度として演算する
ことを特徴とする請求項２に記載のモータ制御装置。 
【請求項１１】
前記第２の演算部は、前記制御対象の位置が前記動作目標値に応じた速度に追従しているときのモータ位置を推定して前記モデル位置として演算する
ことを特徴とする請求項３に記載のモータ制御装置。 
【請求項１２】
モータ及び振動可能要素を有する制御対象の動作を制御するモータ制御装置であって、
前記制御対象の振動特性に関連した前記制御対象の状態を表す状態情報に応じて、前記制御対象の振動特性を表す第１のパラメータを生成する生成部と、
動作目標値から前記第１のパラメータに対応する反共振周波数成分を取り除いたモデル位置と前記動作目標値から前記第１のパラメータに対応する共振周波数成分を取り除いた共振周波数補償信号を生成する第２の生成部と、
前記第２の生成部により生成された共振周波数補償信号を時間的に２階微分することにより、モデルトルクを生成するトルク演算部と、
前記第２の生成部により生成されたモデル位置を時間的に微分することにより、モデル速度を生成する速度演算部と、
前記制御対象の速度が前記速度演算部により生成されたモデル速度に追従するように、前記トルク演算部により生成されたモデルトルクに応じて前記モータに対するトルク指令を発生させる発生部と、
を備えたことを特徴とするモータ制御装置。 
【請求項１３】
モータ及び振動可能要素を有する制御対象の動作を制御するモータ制御装置であって、
前記制御対象の振動特性に関連した前記制御対象の状態を表す状態情報に応じて、前記制御対象の振動特性を表す第１のパラメータを生成する生成部と、
動作目標値から前記第１のパラメータに対応する反共振周波数成分を取り除いたモデル位置を生成する第２の生成部と、
前記動作目標値を時間的に２階微分した第１の値と前記第２の生成部により生成されたモデル位置を時間的に２階微分した第２の値と前記第１のパラメータに対応する反共振周波数成分と前記第１のパラメータに対応する共振周波数成分とに基づいて、モデルトルクを生成するトルク演算部と、
前記第２の生成部により生成されたモデル位置を時間的に微分することにより、モデル速度を生成する速度演算部と、
前記制御対象の速度が前記速度演算部により生成されたモデル速度に追従するように、前記トルク演算部により生成されたモデルトルクに応じて前記モータに対するトルク指令を発生させる発生部と、
を備えたことを特徴とするモータ制御装置。
【請求項１４】
前記トルク演算部は、前記第２の値から前記第１の値を減算し、減算結果に前記反共振周波数成分の２乗を乗算し、乗算結果に前記共振周波数成分の２乗を除算し、除算結果に前記第１の値を加算することにより、前記モデルトルクを生成する
ことを特徴とする請求項１３に記載のモータ制御装置。
【国際調査報告】
2012086550.tif 000014
2012086550.tif 000015
2012086550.tif 000016
2012086550.tif 000017