(57)【要約】【課題】  非線形な外乱があっても機械振動を低減し、応答遅れの少ない高速高精度な制御を行う。【解決手段】  第１のフィードフォワード補償部８は位置指令に含まれる振動要因成分を減衰させて第１の位置指令を生成し、第１の位置指令を微分して第１の速度フィードフォワード指令と第１のトルクフィードフォワード指令を生成する。第２のフィードフォワード補償部９は、位置指令が入力され振動低減フィルタ１１のフィルタリングの遅延量にほぼ等価な遅延量を持ち、トルク指令非線形補正部１８の非線形補正のタイミングを調整するタイミング補正部１６と、タイミング補正部１６の出力を微分する微分器１７と、微分器１７の出力に非線形関数を適用して第２のトルクフィードフォワード指令を生成するトルク指令非線形補正部１８を備える。フィードバック補償部１０は、これらの指令とエンコーダ５の計測結果に基づいて制御対象２の位置と速度をフィードバック制御する。【選択図】        図１
2005071034.tif 000002
【特許請求の範囲】
【請求項１】
制御対象への位置指令を生成する指令生成部と、
前記指令生成部で生成される位置指令に基づいて、前記制御対象の振動要因成分を減衰させて前記制御対象を運動させるための第１の駆動指令を生成する第１のフィードフォワード補償部と、
前記指令生成部で生成される位置指令に基づいて、前記制御対象の非線形運動を補正するための第２の駆動指令を生成する第２のフィードフォワード補償部と、
前記制御対象の状態を計測する状態計測部と、
前記第１の駆動指令と、前記第２の駆動指令と、前記状態計測部の計測結果に基づいて、前記制御対象の運動を制御するフィードバック制御部とを備え、
前記第１のフィードフォワード補償部は、前記指令生成部から出力される位置指令に含まれる制御対象の振動要因成分を減衰させて前記第１の駆動指令として第１の位置指令を生成する振動低減フィルタを備え、
前記第２のフィードフォワード補償部は、前記指令生成部から出力される前記位置指令または前記位置指令の処理結果に非線形関数を適用して前記第２の駆動指令を生成する駆動指令非線形補正部と、
前記第１のフィードフォワード補償部の前記振動低減フィルタのフィルタリングの遅延量にほぼ等価な遅延量を持ち、前記駆動指令非線形補正部の非線形補正のタイミングを調整するタイミング補正部とを備えたサーボ制御装置。
【請求項２】
第２のフィードフォワード補償部のタイミング補正部は、オーバーシュートしないフィルタであることを特徴とする請求項１記載のサーボ制御装置。
【請求項３】
制御対象への位置指令を生成する指令生成部と、
前記指令生成部で生成される位置指令に基づいて、前記制御対象の振動要因成分を減衰させて前記制御対象を運動させるための第１の駆動指令を生成する第１のフィードフォワード補償部と、
前記制御対象の非線形運動を補正するための第２の駆動指令を生成する第２のフィードフォワード補償部と、
前記制御対象の状態を計測する状態計測部と、
前記第１の駆動指令と、前記第２の駆動指令と、前記状態計測部の計測結果に基づいて、前記制御対象の運動を制御するフィードバック制御部とを備え、
前記第１のフィードフォワード補償部は、前記指令生成部から出力される位置指令に含まれる制御対象の振動要因成分を減衰させて前記第１の駆動指令として第１の位置指令を生成する振動低減フィルタを備え、
前記第２のフィードフォワード補償部は、前記振動低減フィルタの出力または前記振動低減フィルタの出力の処理結果に対して、微小振動成分を除去する処理を行う非線形関数を適用して前記第２の駆動指令を生成する微小振動除去非線形補正部とを備えたサーボ制御装置。
【請求項４】
物体をそれぞれ異なる方向に運動させる複数の駆動器を備えた制御対象を制御するために、それぞれの駆動器を対応する方向に関して制御する複数の制御系統を備えており、各制御系統が、第１のフィードフォワード補償部と、第２のフィードフォワード補償部と、状態計測部と、フィードバック制御部とを備え、
一方の制御系統の第１のフィードフォワード補償部の振動低減フィルタの低周波領域における位相遅れ量と、他方の制御系統の第１のフィードフォワード補償部の振動低減フィルタの低周波領域における位相遅れ量との差異が±１２．６°以内であることを特徴とする請求項１から請求項３のうちのいずれか１項記載のサーボ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、サーボ制御装置に関する。
【背景技術】
【０００２】
従来のサーボ制御装置には、制御対象の状態が指令と一致するように制御対象を制御するフィードバック補償部と、指令への応答遅れが少なくなるように指令に対する制御対象の応答の予測に基づいて制御対象を制御するフィードフォワード補償部を持つものがある。例えば、特許文献１に開示されたサーボ制御装置のフィードフォワード補償部は、位置指令の微分結果に符号関数ｓｇｎを適用して、機械に加わると予測されるクーロン摩擦の影響を相殺する指令をあらかじめ生成する。このためクーロン摩擦のような外乱があっても、応答遅れの少ない高速高精度な制御ができる。
【０００３】
【特許文献１】特開２００２−１７２３４１号公報（第７頁、図６)
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、このようなサーボ制御装置にあっては、高速高加速度で制御対象を駆動する場合、制御対象に加えられる大きな加速度の結果、制御対象の機械剛性が弱い場合には、機械振動が発生する場合があり、精度が悪くなるという課題があった。機械振動の発生を押さえるために、位置指令に含まれる機械の固有振動数成分をノッチフィルタのような振動低減フィルタで除去することも考え得るが、この場合には、振動低減フィルタの固有振動数で振動低減フィルタの出力が微小振動する。この微小振動が、クーロン摩擦を補償する前記符号関数（ｓｇｎ）等の非線形関数の非線形領域を往復した場合、前記微小振動の振動周波数の成分が拡大されて出力されるために、機械に振動的なトルク指令が入力され、やはり機械が振動し、高精度な制御ができなくなる。
【０００５】
この発明は、上述した課題を解決するためになされたものであって、例えばクーロン摩擦のような非線形な外乱があっても制御対象の機械振動を低減または防止することができ、応答遅れの少ない高速高精度な制御ができるサーボ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るサーボ制御装置は、制御対象への位置指令を生成する指令生成部と、前記指令生成部で生成される位置指令に基づいて、前記制御対象の振動要因成分を減衰させて前記制御対象を運動させるための第１の駆動指令を生成する第１のフィードフォワード補償部と、前記指令生成部で生成される位置指令に基づいて、前記制御対象の非線形運動を補正するための第２の駆動指令を生成する第２のフィードフォワード補償部と、前記制御対象の状態を計測する状態計測部と、前記第１の駆動指令と、前記第２の駆動指令と、前記状態計測部の計測結果に基づいて、前記制御対象の運動を制御するフィードバック制御部とを備え、前記第１のフィードフォワード補償部は、前記指令生成部から出力される位置指令に含まれる制御対象の振動要因成分を減衰させて前記第１の駆動指令として第１の位置指令を生成する振動低減フィルタを備え、前記第２のフィードフォワード補償部は、前記位置指令または前記位置指令の処理結果に非線形関数を適用して前記第２の駆動指令を生成する駆動指令非線形補正部と、前記第１のフィードフォワード補償部の前記振動低減フィルタのフィルタリングの遅延量にほぼ等価な遅延量を持ち、前記駆動指令非線形補正部の非線形補正のタイミングを調整するタイミング補正部とを備えるものである。
【発明の効果】
【０００７】
この発明によれば、第１のフィードフォワード補償部は、指令生成部から出力される位置指令に含まれる制御対象の振動要因成分を減衰させて第１の駆動指令として第１の位置指令を生成する振動低減フィルタを備えるので、第１の駆動指令に含まれる振動要因成分が減衰し、制御対象の機械振動が低減または防止され、高速高精度に制御することが可能となる。また、第２のフィードフォワード補償部は、位置指令または位置指令の処理結果に非線形関数を適用して第２の駆動指令を生成する駆動指令非線形補正部と、第１のフィードフォワード補償部の振動低減フィルタのフィルタリングの遅延量にほぼ等価な遅延量を持ち、前記駆動指令非線形補正部の非線形補正のタイミングを調整するタイミング補正部とを備えるので、例えばクーロン摩擦のような非線形な外乱があっても、第２の駆動指令により制御対象の非線形な動作の補正が可能であり、第２の駆動指令は第１の駆動指令とほぼ同期した適切なタイミングで非線形な動作の補正を行う。第２の駆動指令は、振動低減フィルタとは別系統の第２のフィードフォワード補償部で生成されるので、振動低減フィルタ自体の固有振動数の影響を受けずに、制御対象の機械振動を低減または防止しつつ、非線形な動作の補正を高精度で行うことが可能である。フィードバック補償部は、このような第１のフィードフォワード補償部で生成された第１の駆動指令と、第２のフィードフォワード補償部で生成された第２の駆動指令と、制御対象の状態を計測する状態計測部の計測結果に基づいて制御対象の位置と速度をフィードバック制御するので、第１の駆動指令の効果およびこれとは別個に生成された第２の駆動指令の効果を併有し、かつ制御対象の状態に追従するように位置制御と速度制御を行うことが可能である。すなわち、例えばクーロン摩擦のような外乱があっても制御対象の機械振動を低減または防止することができ、応答遅れの少ない高速高精度な制御ができる。
【発明を実施するための最良の形態】
【０００８】
以下、添付図面を参照しながらこの発明に係る様々な実施の形態を説明する。
実施の形態１．
図１はこの発明の実施の形態１によるサーボ制御装置を示す図である。図１に示すサーボ制御装置１は、例えばコンピュータのようなディジタル処理装置であり、一定サンプリング周期ごとに変化する位置指令からトルク指令を算出する計算動作を行う。
【０００９】
制御対象２は、位置決めテーブルであるＸ軸テーブル３、Ｘ軸テーブル３を駆動するサーボモータ４、モータ４の回転角からＸ軸テーブル３の可動部の位置を計測するエンコーダ（状態計測部）５、および入力されたトルク指令Ｔｃｘに指定されたトルクをモータ４が発揮するようにモータ４への供給電流を制御するモータドライバ６を備える。
【００１０】
サーボ制御装置１は、指令生成部７、第１のフィードフォワード補償部８、第２のフィードフォワード補償部９およびフィードバック補償部１０を備える。これらは実際には処理プログラムに従ったディジタル処理装置の機能を表し、一体としてディジタル処理装置を構成する。指令生成部７は、制御対象２の動作を記述した動作プログラムに基づいて制御対象２に対する位置指令を生成し、前記サンプリング周期ごとに位置指令を第１のフィードフォワード補償部８および第２のフィードフォワード補償部９に供給する。
【００１１】
第１のフィードフォワード補償部８は、位置指令に基づいて、制御対象２の振動要因成分を減衰させて制御対象２を運動させるための第１の駆動指令（この実施の形態では第１の位置指令、第１の速度フィードフォワード指令および第１のトルクフィードフォワード指令）を生成する。振動低減フィルタ１１、微分器（微分演算部）１２，１３および増幅器１４，１５を有する。振動低減フィルタ１１は、例えば帯域阻止フィルタまたはノッチフィルタであり、位置指令に含まれる制御対象２の振動要因成分、特に制御対象２の固有振動数成分を減衰させることにより第１の位置指令を生成する。微分器１２は、振動低減フィルタ１１が出力した第１の位置指令を微分して速度指令に変換する。さらに微分器１３は微分器１２が出力した速度指令を微分して加速度指令に変換する。
【００１２】
第１のフィードフォワード補償部８の増幅器１４は微分器１２が出力した速度指令に定数であるゲインKvx1を乗じ、乗算結果を第１の速度フィードフォワード指令として出力する。ゲインKvx1としては通常１を設定するが、必要に応じて調整してもよい。また、増幅器１５は微分器１３が出力した加速度指令に定数であるゲインKtx1を乗じ、乗算結果を第１のトルクフィードフォワード指令として出力する。ゲインKtx1は、加速度指令で指定された加速度を実現するために必要なトルクを求めるための定数であり、通常、ゲインKtx1としては制御対象２の総イナーシャに相当する値を設定する。
【００１３】
第２のフィードフォワード補償部９は、位置指令に基づいて、制御対象２の非線形運動を減少させる（つまり非線形運動を補正する）ための第２の駆動指令（この実施の形態では第２のトルクフィードフォワード指令）を生成する。換言すれば、第２のフィードフォワード補償部９は、予測されるクーロン摩擦のような非線形な外乱の影響を最小限にするための指令を生成する。第２のフィードフォワード補償部９は、タイミング補正部１６、微分器１７、トルク指令非線形補正部（駆動指令非線形補正部）１８および増幅器１９を有する。タイミング補正部１６には、指令生成部７から出力される位置指令が入力され、振動低減フィルタ１１のフィルタリングに伴う遅延量とほぼ等価な遅延量で前記位置指令を遅延したタイミング補正位置指令が出力される。微分器１７はタイミング補正位置指令を微分して速度指令に変換する。トルク指令非線形補正部１８は、微分器１７が出力した速度指令に非線形関数（例えば符号関数）を適用してトルク指令の符号を生成する。増幅器１９はトルク指令非線形補正部１８が出力したトルク指令の符号にゲインKtx2を乗じ、乗算結果を第２のトルクフィードフォワード指令として出力する。なお、ゲインKtx2としては制御対象２のクーロン摩擦係数に対応する値を設定する。以上より明らかなように、タイミング補正部１６は、第１のフィードフォワード補償部８の前記振動低減フィルタ１１のフィルタリングに伴う遅延量とほぼ等価な遅延量で同期するように第２のトルクフィードフォワード指令を出力する。
【００１４】
フィードバック補償部１０は、第１のフィードフォワード補償部８が出力した第１のトルクフィードフォワード指令と、第２のフィードフォワード補償部９が出力した第２のトルクフィードフォワード指令と、エンコーダ５の計測結果に基づいて、制御対象２の運動を制御する。フィードバック補償部１０は、減算器（位置誤差算出部）２０、位置制御部２１、微分器２２、加減算器（速度誤差算出部）２３、速度制御部２４、加算器（トルク指令算出部）２５を有する。減算器２０は、第１のフィードフォワード補償部８から出力される第１の位置指令とエンコーダ５から出力される位置計測値の差異である位置誤差を計算する。この位置誤差に基づいて、位置制御部２１は位置制御演算（比例演算、積分演算および微分演算を含む）を行い、位置誤差を０にするための所望速度値を算出する。
【００１５】
フィードバック補償部１０の微分器２２は、エンコーダ５が出力した位置計測値を微分して速度計測値に変換する。加減算器２３は、位置制御部２１が出力した所望速度値と第１のフィードフォワード補償部８からの第１の速度フィードフォワード指令を加算し、さらに微分器２２からの速度計測値を減算して、速度誤差を計算する。この速度誤差に基づいて、速度制御部２４は速度制御演算（比例演算、積分演算および微分演算を含む）を行い、速度誤差が０になるように所望トルク値を算出する。
【００１６】
フィードバック補償部１０の加算器２５は、第１のフィードフォワード補償部８からの第１のトルクフィードフォワード指令と、第２のフィードフォワード補償部９からの第２のトルクフィードフォワード指令と、速度制御部２４が出力した所望トルク値を加算して、加算結果をモータドライバ６へトルク指令Ｔｃｘとして出力する。このようにしてモータ４が駆動される。トルク指令Ｔｃｘを適切に逐次制御することで、モータ４の位置、速度および加速度が適切に制御される。
【００１７】
次に第１のフィードフォワード補償部８の振動低減フィルタ１１についてさらに詳しく説明する。上記の通り振動低減フィルタ１１は、例えば帯域阻止フィルタまたはノッチフィルタであり、位置指令に含まれる制御対象２の振動要因成分、特に制御対象２の固有振動数成分を減衰させることにより第１の位置指令を生成する。帯域阻止フィルタまたはノッチフィルタは、ローパスフィルタと比較して、低周波領域の位相遅れが小さく、帯域阻止周波数付近の振幅特性を急峻に減衰させるので、機械振動を効果的に低減できる。二次の帯域阻止フィルタの伝達関数Ｇ1（ｓ）には式（１）に示すものが知られている。
【数１】
2005071034.tif 000003
【００１８】
ここで、ζ1は減衰係数、ω1は振動数、ｓはラプラス演算子である。ａ0、ａ1、ａ2は係数である。式（１）において、ａ0＝１、ａ1＝０、ａ2＝１を代入すれば、ノッチフィルタの伝達関数が実現できる。すなわち式（２）の伝達関数Ｇ1によりノッチフィルタが実現できる。
Ｇ1（ｓ）＝（ｓ2＋ω12）／（ｓ2＋２ζ1ω1ｓ＋ω12）      （２）
【００１９】
式（２）で伝達関数Ｇ1（ｓ）が表されたノッチフィルタを振動低減フィルタ１１に用いた場合、式（２）のω1はノッチフィルタによる減衰量が最も大きいノッチ周波数である。また、図２にこのノッチフィルタの周波数特性を示す。図２において、ω1はノッチ周波数、ωbはノッチフィルタの減衰バンド幅、Ａbは減衰振幅比であり、これらは制御対象２の振動特性に応じて設定する。ノッチ周波数ω1は、制御対象２の振動を最も抑制すべき振動数に設定する。好ましくは、制御対象２の固有振動数ωpと一致するようにノッチ周波数ω1を設定するとよい。また、ノッチフィルタの減衰バンド幅ωb、減衰振幅比Ａbは式（２）のζ1を０〜１まで変化させることで、変更することができる。なお、前記振動低減フィルタ１１のノッチ周波数の調整は、エンコーダ５の出力に含まれる振動周波数を計測して行うが、制御対象２の可動部分の位置を直接計測できるリニアスケールや、工作機械の精度測定用に用いられるＤＢＢ（double ball bar）やグリッドエンコーダのような位置計測装置を用いて振動周波数を計測して行えば、さらに良好な制御結果が得られる。
【００２０】
このような構成によれば、振動低減フィルタ１１により、第１のフィードフォワード補償部８から出力される第１の位置指令、第１の速度フィードフォワード指令および第１のトルクフィードフォワード指令に含まれる制御対象２の振動要因成分を減衰することができる。第１の速度フィードフォワード指令および第１のトルクフィードフォワード指令は、制御対象２が第１の位置指令に追従するように大きなトルクを発生するように働くが、第１のトルクフィードフォワード指令中の振動要因成分が減衰されるので、制御対象２の機械振動が低減または防止され、高速高精度に制御することが可能となる。
【００２１】
振動低減フィルタ１１としては前記のようなノッチフィルタが好適であるが、制御対象２の固有振動数を含み、しかも高周波域に減衰特性をもつ高周波帯域阻止フィルタを用いてもよい。また、制御対象２に複数の固有振動数がある場合は、複数の固有振動数に対応した複数の減衰周波数を持つ帯域阻止フィルタを用いるとさらに効果的である。
【００２２】
次に第２のフィードフォワード補償部９の動作をさらに詳しく説明する。制御対象２が、例えばクーロン摩擦のような非線形な外乱の影響を受ける場合、モータ速度が正から負、および負から正に反転する時、スティックモーションといわれるモータ位置誤差が発生する。これは、モータ発生トルクがクーロン摩擦力以下の条件ではモータが回転できないために、モータトルクがクーロン摩擦力よりも大きくなるまで制御対象２は位置指令に追従することなく停止状態になる現象である。このような非線形な動作あるいは外乱の影響を補正するため、第２のフィードフォワード補償部９のトルク指令非線形補正部１８および増幅器１９を用いる。
【００２３】
トルク指令非線形補正部１８は微分器１７が出力した速度指令に、非線形な動作の補正のための非線形関数を適用してトルク指令の符号を生成する。クーロン摩擦力の影響を相殺する目的のためには、トルク指令非線形補正部１８に入力される速度指令が正から負、または負から正に反転する時に、トルク指令非線形補正部１８から出力されるトルク指令の符号が不連続に急変する関数を使用すればよい。例えば、階段関数または符号関数を使用するのが好適である。符号関数は、入力される速度指令が正ならば値が１のトルク指令の符号を出力し、入力される速度指令が０ならば値が０のトルク指令の符号を出力し、入力される速度指令が負ならば値が−１のトルク指令の符号を出力する。これによれば、微分器１７から出力される速度指令の正負の符号が反転する時に、摩擦力に打ち克つトルクをモータ４が発揮できる。
【００２４】
トルク指令非線形補正部１８が使用する非線形関数は、入力される速度指令の正負の符号が反転した場合、出力が不連続に急変するような他の関数であってもよい。また、モータ４のヒステリシス特性（入力の値が同じでも、入力が増加時と減少時では、出力の値が異なる入出力特性）を考慮して、入力される速度指令が負から正に逆転する場合と、正から負に逆転する場合とで異なる関数を使用してもよい。例えば、図３に示すように、入力される速度指令が負から正に逆転する場合には、速度指令が負から増加して０に達し、０よりもわずかに大きくなった場合、トルク指令の符号を−１から１に切り換える階段関数を使用し、入力される速度指令が正から負に逆転する場合には、速度指令が正から減少して０に達し、０よりもわずかに大きくなった場合、トルク指令の符号を１から−１に切り換える階段関数を使用してもよい。
【００２５】
タイミング補正部１６は、入力が急峻に立ち上がってもオーバーシュートしないローパスフィルタ（以下、オーバーシュート０フィルタと呼ぶ）であると好ましい。しかもオーバーシュート０フィルタは、低周波領域において、振動低減フィルタ１１のフィルタリングに伴う遅延量とほぼ同等の遅延特性を持ち、ひいては振動低減フィルタ１１とほぼ同等の低域通過特性を持つものが好ましい。なお、前記低周波領域とは、概ね、前記振動低減フィルタ１１のノッチ周波数ω1（ノッチ周波数が複数ある場合は、最も低いノッチ周波数）の１／１０以下の周波数領域である。オ―バーシュート０フィルタとしては、一次フィルタ、あるいは減衰係数ζが１の二次フィルタを用いると好ましい。二次のオ―バーシュート０フィルタの伝達関数Ｇ2（ｓ）の一例を式（３）に示す。
【００２６】
【数２】
2005071034.tif 000004
【００２７】
ここで、ω2は振動数、ζ2は減衰係数であり、オーバーシュート０フィルタを実現するには、典型的にはζ2＝１に設定する。ｂ0、ｂ1、ｂ2は係数であり、ｂ0＝０、ｂ1＝０、ｂ2＝１とすればローパス特性が実現できる。すなわち式（４）の伝達関数Ｇ2によりローパスフィルタが実現できる。
Ｇ2（ｓ）＝ω22／（ｓ2＋２ζ2ω1ｓ＋ω22）      （４）
【００２８】
オーバーシュート０フィルタの周波数特性は、振動数ω2を変化させることにより調整することができる。式（４）で伝達関数Ｇ2（ｓ）が表されたローパスフィルタを用いる場合は、例えば、ζ2＝１に設定し、振動数ω2を変化させて周波数特性を調整する。通常、振動数ω2は、振動低減フィルタ１１の振動数ω1の近傍か、ω2＞ω1となるように設定する。このように調整することで、第１のフィードフォワード補償部８の微分器１２から出力される速度指令の符号が正から負、負から正に反転するタイミングと第２のフィードフォワード補償部９の微分器１７から出力される速度指令の符号が正から負、負から正に反転するタイミングをほぼ一致させることができる。従って、トルク指令非線形補正部１８の符号関数の出力であるトルク指令の符号が反転するタイミングが適切になる。トルク指令の符号には増幅器１９でクーロン摩擦係数に対応した係数Ktx2が乗じられ、第２のトルクフィードフォワード指令としてフィードバック補償部１０に供給される。この第２のトルクフィードフォワード指令は、制御対象２に加わるクーロン摩擦力の影響を補正するように働くので制御対象２を高精度に制御することができる。なお、振動低減フィルタ１１、オーバシュート０フィルタは、式（１）〜式（４）のように２次のフィルタについて説明したが、一次フィルタや３次以上の高次フィルタであってもかまわない。
【００２９】
上記の通り、タイミング補正部１６として使用するオーバーシュート０フィルタが二次フィルタの場合、減衰係数ζ2には１を設定するのが好ましいが、指令生成部７の位置指令の微分値、すなわち速度指令成分が急変しない場合は、式（４）の減衰係数ζ2は、１より小さい値でも前記フィルタの出力がオーバーシュートを起こさない場合が多い。そこで、このような場合は、減衰係数ζ2を０．７〜１の範囲で設定してもよい。
【００３０】
なお、振動数ω２の調整方法として、フィードバック補償部１０の微分器２２の速度計測値あるいはテーブル３の可動部分の位置を直接計測できる装置、例えば、リニアスケールのような装置で計測した位置信号や速度信号を用いて調整してもよい。前記速度計測値や速度信号で調整する場合は、第２のフィードフォワード補償部９の微分器１７から出力される速度指令とほぼ同じタイミングで正負の符号が変化するように調整する。これによれば、さらに良好な制御結果が得られる。また、工作機械の精度測定用に用いられるＤＢＢ（double ball bar)やグリッドエンコーダのような位置計測装置を用いて、摩擦による位置誤差が小さくなるように調整しても良好な制御結果が得られる。
【００３１】
以下にタイミング補正部１６に、オーバーシュート０フィルタを用いる理由を説明する。もし、タイミング補正部１６に振動低減フィルタ１１と同じ伝達関数を持つ帯域阻止フィルタまたはノッチフィルタを用いると、微分器１２から出力される速度指令と微分器１７からの速度指令はほぼ同期し、速度指令の正負の符号の反転するタイミングがほぼ一致するが、通常、帯域阻止フィルタまたはノッチフィルタは急峻に変化する信号、例えば、ステップ状の信号が入力されると、フィルタ自身の固有振動数で出力が微小振動する。このため、このようなフィルタに接続された微分器１７から出力される速度指令もフィルタの固有振動数で微小振動する。
【００３２】
微分器１７から出力される速度指令が微小振動し、しかも、トルク指令非線形補正部１８に用いられる非線形関数の非線形領域を往復するような振動であった場合（例えば、符号関数では、非線形領域は０）、トルク指令非線形補正部１８は前記微小振動の周波数を持つ矩形波状のトルク信号を出力する。すると、フィードフォワード補償部９の第２のトルクフィードフォワード指令もやはり矩形波状になり、制御対象２に矩形波状に変化するトルクが加わることになる。これにより、制御対象２の機械振動が励起され、良好な制御ができなくなる。オーバーシュート０フィルタを使用すれば、位置指令が急峻な変化を呈しても（高速で位置制御しても）、タイミング補正部１６から出力される位置指令が微小振動せず、このため制御対象２の機械振動を減少または防止できる。
【００３３】
以上のように、この実施の形態１によれば、第１のフィードフォワード補償部８は、指令生成部７から出力される位置指令に含まれる制御対象２の振動要因成分を減衰させて第１の位置指令を生成する振動低減フィルタ１１を備えるので、第１の位置指令に含まれる振動要因成分が減衰し、制御対象２の機械振動が低減または防止され、高速高精度に制御することが可能となる。第１の位置指令に由来する第１の速度フィードフォワード指令および第１のトルクフィードフォワード指令についても振動要因成分が減衰し、制御対象２の機械振動が低減または防止され、高速高精度に制御することが可能となる。
また、第２のフィードフォワード補償部９は、指令生成部７から出力される位置指令が入力され振動低減フィルタ１１によるフィルタリングに伴う遅延量にほぼ等価な遅延量で前記位置指令を遅延したタイミング補正位置指令を出力するタイミング補正部１６と、タイミング補正位置指令を微分する微分器１７と、微分器１７が出力したタイミング補正位置指令の微分結果に非線形関数を適用して第２のトルクフィードフォワード指令を生成するトルク指令非線形補正部１８とを備えるので、例えばクーロン摩擦のような非線形な外乱があっても、第２のトルクフィードフォワード指令により制御対象２の非線形な動作の補正が可能である。また、第２のトルクフィードフォワード指令は、振動低減フィルタ１１とは別系統の第２のフィードフォワード補償部９で生成されるので、振動低減フィルタ自体の固有振動数の影響を受けずに、制御対象２の非線形な動作の補正を行うことが可能である。
フィードバック補償部１０は、このような第１のフィードフォワード補償部８で生成された第１の位置指令、第１の速度フィードフォワード指令、第１のトルクフィードフォワード指令と、第２のフィードフォワード補償部９で生成された第２のトルクフィードフォワード指令と、制御対象２の状態を計測する状態計測部であるエンコーダ５の計測結果に基づいて制御対象２の位置制御あるいは速度制御するので、制御対象の機械振動を低減または防止することができ、例えばクーロン摩擦のような非線形外乱があっても応答遅れの少ない高速高精度な制御ができる。
【００３４】
また、この実施の形態１によれば、第２のフィードフォワード補償部９のタイミング補正部１６はオーバーシュートしないフィルタであるため、このサーボ制御装置は、高速位置制御時でもタイミング補正部１６自体の固有振動数での微小振動の発生を防止することができ、制御対象２の機械振動をさらに効果的に低減または防止しつつ、非線形な動作の補正をさらに高精度で行うことが可能である。従って、サーボ制御装置全体としてはさらに安定的に高速高精度な制御ができる。
【００３５】
実施の形態２．
図４はこの発明の実施の形態２によるサーボ制御装置を示すブロック図である。図４においては、図１と共通する要素を示すために図１と同一の符号が使用されており、それらの要素の詳細な説明は省略する。図１の実施の形態と異なる点は、実施の形態２のサーボ制御装置が、増幅器３０、加算器３１、位置指令非線形補正部（駆動指令非線形補正部）３３、増幅器３４および加減算器（位置誤差算出部）３５を有することである。
【００３６】
第１のフィードフォワード補償部８は、増幅器３０および加算器３１を有する。増幅器３０は、第１の位置指令の微分器１２による１階微分結果である速度指令にゲインKtx3を乗じて乗算結果を粘性摩擦トルク補正値として出力する。ゲインKtx3は、制御対象２の相対運動要素同士の粘性摩擦係数、具体的にはモータ４内の粘性摩擦とＸ軸テーブル３の可動部と固定部の間に存在する粘性摩擦を考慮した粘性摩擦係数に対応する。加算器３１は、粘性摩擦トルク補正値を第１のトルクフィードフォワード指令に加算し、合計の第１のトルクフィードフォワード指令を出力する。
【００３７】
制御対象２が、粘性摩擦の影響を受ける場合、制御対象２はやはりモータ指令には完全には追従せず位置誤差が発生する。このような非線形な動作あるいは外乱の影響を補正するため、第１のフィードフォワード補償部８の増幅器３０および加算器３１を用いる。
【００３８】
第２のフィードフォワード補償部９は、位置指令非線形補正部３３および増幅器３４を有する。位置指令非線形補正部３３は、タイミング補正位置指令の微分器１７による微分結果である速度指令に非線形関数を適用して位置指令の符号を生成する。増幅器３４は位置指令非線形補正部３３が出力した位置指令の符号にゲインKpx2を乗じ、乗算結果を制御対象２へのバックラッシュ位置補正のための第２の位置指令として出力する。なお、ゲインKpx2としては制御対象２のモータ４とＸ軸テーブル３との間の運動伝達機構のバックラッシュに対応する値を設定する。
【００３９】
フィードバック補償部１０は加減算器３５を有する。加減算器３５は、状態計測部であるエンコーダ５の計測結果である位置計測値、第１のフィードフォワード補償部８の振動低減フィルタ１１で生成された第１の位置指令、および第２のフィードフォワード補償部９で生成された第２の位置指令に基づいて制御対象２の位置誤差位置誤差を計算する。つまり、加減算器３５は、第１の位置指令と第２の位置指令を加算し、加算結果からエンコーダ５の位置計測値を減算することにより位置誤差を計算する。この位置誤差に基づいて、実施の形態１と同様に位置制御部２１は位置制御演算（比例演算、積分演算および微分演算を含む）を行い、位置誤差を０にするための所望速度値を算出する。
【００４０】
次に位置指令非線形補正部３３および増幅器３４の動作をさらに詳しく説明する。制御対象２においては、モータ４とＸ軸テーブル３との間の運動伝達機構にバックラッシュがある場合には、モータ４が回転を開始しても、Ｘ軸テーブル３の可動部の運動が遅延する。つまり、モータ速度が正から負、および負から正に反転する時、バックラッシュのためにＸ軸テーブル３の動作がモータ回転に直ぐには追従しないことがある。このような非線形な動作あるいは外乱の影響を補正するため、第２のフィードフォワード補償部９の位置指令非線形補正部３３を用いる。
【００４１】
位置指令非線形補正部３３は微分器１７が出力した速度指令に、非線形な動作の補正のための非線形関数を適用して位置指令の符号を生成する。バックラッシュの影響を相殺する目的のためには、位置指令非線形補正部３３に入力される速度指令が正から負、または負から正に反転する時に、位置指令非線形補正部３３から出力される位置指令の符号が不連続に急変する関数を使用すればよい。例えば、階段関数または符号関数を使用することもできる。符号関数は、入力される速度指令が正ならば値が１の位置指令の符号を出力し、入力される速度指令が０ならば値が０の位置指令の符号を出力し、入力される速度指令が負ならば値が−１の位置指令の符号を出力する。これに前記ゲインKpx2を乗じたものを用いれば、微分器１７から出力される速度指令の正負の符号が反転する時に、バックラッシュに相当する角度を急速回転するための位置指令をモータ４が発揮できる。
【００４２】
位置指令非線形補正部３３が使用する非線形関数は、入力される速度指令の正負の符号が反転した場合、出力が不連続に急変するような他の関数であってもよい。また、正逆転時の運動伝達機構のバックラッシュのヒステリシス特性を考慮して、入力される速度指令が負から正に逆転する場合と、正から負に逆転する場合とで異なる関数を使用すると好ましい。例えば、図３を参照しながら説明したトルク指令非線形補正部１８のバリエーションの動作と同様に、入力される速度指令が負から正に逆転する場合には、速度指令が負から増加して０に達し、０よりもわずかに大きくなった場合、トルク指令の符号を−１から１に切り換える階段関数を使用し、入力される速度指令が正から負に逆転する場合には、速度指令が正から減少して０に達し、０よりもわずかに小さくなった場合、トルク指令の符号を１から−１に切り換える階段関数を使用すると好適である。
【００４３】
この実施の形態２によれば、実施の形態１の効果に加えて、以下の効果が達成される。第１のフィードフォワード補償部８は、第１の位置指令の微分器１２による１階微分結果に制御対象２の相対運動要素同士の粘性摩擦係数に対応するゲインを乗じて乗算結果としての粘性摩擦トルク補正値を出力する増幅器３０と、粘性摩擦トルク補正値を第１の駆動指令に加算する加算器３１をさらに有するので、制御対象２に粘性摩擦によるトルク外乱があっても補正することができる。また、第２のフィードフォワード補償部９は、微分器１７によるタイミング補正位置指令の微分結果に非線形関数を適用して制御対象２へのバックラッシュ位置補正のための第２の位置指令を生成する位置指令非線形補正部３３をさらに有しており、フィードバック補償部１０は、エンコーダ５の計測結果、第１のフィードフォワード補償部８の振動低減フィルタ１１で生成された第１の位置指令、および第２のフィードフォワード補償部９で生成された第２の位置指令に基づいて制御対象２の位置誤差を算出する加減算器３５と、この位置誤差を低減させる位置制御部２１をさらに有するので、制御対象２にバックラッシュがあっても高精度に制御することが可能となる。
【００４４】
実施の形態３．
図５はこの発明の実施の形態３によるサーボ制御装置を示すブロック図である。この実施の形態３のサーボ制御装置１の制御対象４２は、物体をそれぞれ異なる方向（Ｘ軸方向およびＹ軸方向）に運動させる複数のモータ４，４４を備える。より具体的には、制御対象４２は、Ｘ軸方向の運動に関するＸ軸テーブル３、モータ４、エンコーダ５およびモータドライバ６に加えて、Ｙ軸方向の運動に関するＹ軸テーブル４３、モータ４４、エンコーダ（状態計測部）４５およびモータドライバ４６を有する。Ｙ軸テーブル４３は位置決めテーブルであり、Ｘ軸テーブル３の可動部分に搭載されており、Ｘ軸テーブル３とＹ軸テーブル４３でＸＹテーブルを構成する。図５のＹ軸テーブル４３の可動部分の移動方向（Ｙ軸方向）は紙面に垂直な方向である。Ｘ軸テーブル３とＹ軸テーブル４３を駆動することで、二次元の位置決め制御が行える。モータ４４はＹ軸テーブル４３を駆動し、エンコーダ４５はモータ４４の回転角からＹ軸テーブル４３の可動部の位置を計測し、モータドライバ４６は入力されたトルク指令Ｔｃｙに指定されたトルクをモータ４４が発揮するようにモータ４４への供給電流を制御する。
【００４５】
これらの複数のモータ４，４４を制御するために、サーボ制御装置１はそれぞれのモータ４，４４を対応する方向に関して制御する複数の制御系統を備えており、各制御系統が、第１のフィードフォワード補償部８，４８と、第２のフィードフォワード補償部９，４９と、フィードバック制御部１０，５０とを備える。図５においては、図１と共通するＸ軸方向の制御のための要素を示すために図１と同一の符号が使用されており、それらの要素の詳細な説明は省略する。
【００４６】
Ｙ軸制御系統の第１のフィードフォワード補償部４８、第２のフィードフォワード補償部４９およびフィードバック補償部５０はそれぞれ、Ｘ軸制御系統の第１のフィードフォワード補償部８、第２のフィードフォワード補償部９およびフィードバック補償部１０と同等である。第１のフィードフォワード補償部４８の振動低減フィルタ５１、微分器５２、微分器５３、増幅器５４および増幅器５５はそれぞれ、第１のフィードフォワード補償部８の振動低減フィルタ１１、微分器１２、微分器１３、増幅器１４および増幅器１５と同様に動作する。また、第２のフィードフォワード補償部４９のタイミング補正部５６、微分器５７、トルク指令非線形補正部（駆動指令非線形補正部）５８および増幅器５９は、第２のフィードフォワード補償部９のタイミング補正部１６、微分器１７、トルク指令非線形補正部１８および増幅器１９と同様に動作する。さらに、フィードバック補償部５０の減算器６０、位置制御部６１、微分器６２、加減算器６３、速度制御部６４および加算器６５は、フィードバック補償部１０の減算器２０、位置制御部２１、微分器２２、加減算器２３、速度制御部２４および加算器２５と同様に動作する。なお、Ｘ軸制御系統で使用するゲインとＹ軸制御系統で使用するゲインは、添字x,y で区別する（例えば図中の増幅器１５，５５のゲインKvx1とゲインKvy1）。
【００４７】
図１の指令生成部７に代えて、このサーボ制御装置は、Ｘ軸方向とＹ軸方向の位置指令を出力する指令生成部４０を備える。指令生成部４０はサンプリング周期ごとに、Ｘ軸方向位置指令とＹ軸方向位置指令を出力する。Ｘ軸方向位置指令はＸ軸制御系統の第１のフィードフォワード補償部８と第２のフィードフォワード補償部９に入力され、Ｙ軸方向位置指令はＹ軸制御系統の第１のフィードフォワード補償部４８と第２のフィードフォワード補償部４９に入力される。第１のフィードフォワード補償部４８は、Ｙ軸方向位置指令に基づいて、制御対象４２の振動要因成分を減衰させて制御対象４２を運動させるためのＹ軸方向の第１の駆動指令（この実施の形態では第１の位置指令、第１の速度フィードフォワード指令および第１のトルクフィードフォワード指令）を生成する。第２のフィードフォワード補償部９は、Ｙ軸方向の位置指令に基づいて、制御対象４２の非線形運動を減少させる（つまり非線形運動を補正する）ためのＹ軸方向の第２の駆動指令（この実施の形態では第２のトルクフィードフォワード指令）を生成する。フィードバック補償部５０は、第１のフィードフォワード補償部４８が出力した第１の位置指令、第１の速度フィードフォワード指令および第１のトルクフィードフォワード指令と、第２のフィードフォワード補償部４９が出力した第２のトルクフィードフォワード指令と、エンコーダ４５の計測結果に基づいて、制御対象４２のＹ軸方向の運動を制御するためのモータドライバ４６へトルク指令Ｔｃｙを生成する。
【００４８】
このようにして、Ｘ軸制御系統とＹ軸制御系統は、Ｘ幅のモータ４ひいてはＸ軸テーブル３、ならびにＹ軸のモータ４４ひいてはＹ軸テーブル４３を駆動するように動作するが、Ｘ軸テーブル４とＹ軸テーブル４４の応答特性（時間応答特性および周波数応答特性）を同等に合わせておかないと、ＸＹテーブルに二次元の動作をさせた場合、軌跡誤差が大きいものになってしまう。例えば、Ｘ軸とＹ軸の応答が異なっていると、ＸＹテーブルに円軌道に沿った運動をさせようとしても、結果として得られる軌道は楕円軌道となり、例えばテーブル上の被製造物体の真円度が悪くなる。このため、Ｘ軸テーブル４とＹ軸テーブル４４の応答特性を同等に合わせるのが好ましい。
【００４９】
図５のサーボ制御装置１では、テーブルの応答特性に対して振動低減フィルタ１１，５１が大きな影響を与えるので、振動低減フィルタ１１，５１のフィルタ特性（時間応答特性および周波数応答特性）を同等に合わせておくことが好ましい。
振動低減フィルタ１１，５１のフィルタ特性を互いに同等に合わせる方法として、低周波領域における位相遅れ量を同等に調整することが好ましい。低周波領域とは、例えば、前記制御対象の振動要因成分の中でもっとも低い周波数の１／１０以下の周波数領域である。あるいは、前記振動要因成分が複数あった場合、振動低減フィルタ１１，５１で設定する各ノッチ周波数ω1のなかで、もっとも周波数が低いノッチ周波数の１／１０以下の周波数領域と考えてもよい。前記低周波領域は、サーボ制御装置で非常に良く使用される周波数領域である。この低周波領域で、振動低減フィルタ１１，５１のお互いの位相遅れ量の差が±１２．６度以下となるように、前記振動低減フィルタ１１，５１のフィルタ特性を調整する。フィルタ特性の調整には、例えば、帯域阻止フィルタの伝達関数の式１の係数ａ0、ａ1、ａ2およびζ1に対応した振動低減フィルタ１１，５１の係数を調整する。このようにフィルタ特性を調整することで、例えば、ＸＹテーブルに円軌道に沿った運動をさせた場合に、真円度８０％以上の軌道を達成できる。
【００５０】
さらに、振動低減フィルタ１１，５１のフィルタ特性を同等する簡単な方法として、振動低減フィルタ１１，５１を同一のフィルタ伝達関数を用いるのが好ましい。例えば、Ｘ軸テーブル３の固有振動数ωpxとＹ軸テーブル４３の固有振動数ωpyと異なっていた場合、振動低減フィルタ１１，５１のフィルタは、各軸について個別に発生する振動数のいずれも低減できる図６に示すようなフィルタ特性を持つものが設定される。振動低減フィルタ１１，５１の各々は、二つのノッチ周波数（第１のノッチ周波数および第２のノッチ周波数）を有すると仮定する。図６において、ω1xは振動低減フィルタ１１，５１の第１のノッチ周波数、ω1yは振動低減フィルタ１１，５１の第２のノッチ周波数、Ａbxは振動低減フィルタ１１，５１の第１の減衰振幅比、Ａbyは振動低減フィルタ１１，５１の第２の減衰振幅比である。第１のノッチ周波数ω1xは制御対象２のＸ軸方向の固有振動数ωpxと一致するように設定し、第２のノッチ周波数ω1yは制御対象２のＹ軸方向の固有振動数ωpyと一致するように設定する。ＡbxはＸ軸テーブル３の振動の振幅の大きさに応じて調整し、ＡbyはＹ軸テーブルの振動の振幅の大きさに応じて調整する。
なお、前記のように振動低減フィルタ１１，５１は同一であるのが好ましいが、制御対象２を２次元で駆動した場合の軌道誤差が大きくならない範囲では、フィルタ特性のずれがあってもかまわない。
【００５１】
オーバーシュート０フィルタをタイミング補正部１６，５６に使用する場合には、これらのフィルタ特性が互いに同等となるように、タイミング補正部１６，５６で使用する式（４）の変数ζ2，ω2をできるだけ一致させておくのが好ましい。
【００５２】
以上のように、この実施の形態３によれば、物体をそれぞれ異なる方向に運動させる複数のモータ４，４４を備えた制御対象４２を制御するために、それぞれのモータ４，４４を対応する方向に関して制御する複数の制御系統を備えており、各制御系統が、第１のフィードフォワード補償部８または４８と、第２のフィードフォワード補償部９または４９と、エンコーダ５または４５と、フィードバック制御部１０または５０とを備えるので、ＸＹテーブルのような複数の駆動方向を持つ制御対象４２の各駆動方向に例えばクーロン摩擦などの非線形外乱があっても制御対象４２の各駆動方向の機械振動を低減または防止することができ、各駆動方向について応答遅れの少ない高速高精度な制御ができる。
また、一方の制御系統の第１のフィードフォワード補償部８の振動低減フィルタ１１の前記低周波領域における位相遅れ量と、他方の制御系統の第１のフィードフォワード補償部４８の振動低減フィルタ５１の前記低周波領域における位相遅れ量との差異を±１２．６°以内にし、一方の制御系統の第２のフィードフォワード補償部９のタイミング補正部１６のオーバーシュート０フィルタと、他方の制御系統の第２のフィードフォワード補償部４９のタイミング補正部５６のオーバーシュート０フィルタのフィルタ特性が互いに同等となるようにしたので、二次元形状誤差の少ない高精度な制御が実現できる。
【００５３】
以上、駆動方向がＸ軸方向とＹ軸方向である二次元動作を行う制御対象４２に使用されるサーボ制御装置１について説明したが、制御系統を増加させることにより三方向以上の駆動方向を有する制御対象にこの発明に係るサーボ制御装置を利用することも可能である。
なお、実施の形態２（図４）をこの実施の形態３に組み合わせることも可能である。すなわち実施の形態２の増幅器３０、加算器３１、位置指令非線形補正部３３、増幅器３４および加減算器３５を、この実施の形態の各制御系統に設けてもよい。
【００５４】
実施の形態４．
図７はこの発明の実施の形態４によるサーボ制御装置を示すブロック図である。図７においては、図１と共通する要素を示すために図１と同一の符号が使用されており、それらの要素の詳細な説明は省略する。図１の実施の形態と異なる点は、第２のフィードフォワード補償部７０の構成である。
【００５５】
第２のフィードフォワード補償部７０は、微小振動除去非線形補正部７１、トルク指令非線形補正部１８および増幅器１９を有する。微小振動除去非線形補正部７１には、第１のフィードフォワード補償部８の微分器１２から出力される速度指令が入力される。微小振動除去非線形補正部７１は、微分器１２の出力、すなわち振動低減フィルタ１１で生成される第１の位置指令の微分結果である速度指令に対して、トルク指令非線形補正部１８の非線形領域近傍の微小振動を除去する処理を行う。トルク指令非線形補正部１８は、微小振動除去非線形補正部７１の処理結果に対して非線形関数（例えば符号関数やヒステリシス関数）を適用してトルク指令の符号を生成する。増幅器１９はトルク指令非線形補正部１８が出力したトルク指令の符号にゲインKtx2を乗じ、乗算結果を第２のトルクフィードフォワード指令として出力する。なお、ゲインKtx2としては制御対象２のクーロン摩擦係数に対応する値を設定する。
【００５６】
この構成により第２のフィードフォワード補償部７０は、制御対象２の非線形運動を補正するための第２の駆動指令（この実施の形態では第２のトルクフィードフォワード指令）を生成する。換言すれば、第２のフィードフォワード補償部７０は、予測されるクーロン摩擦のような非線形な外乱の影響を最小限にするための指令を生成する。
【００５７】
次に第２のフィードフォワード補償部７０の動作をさらに詳しく説明する。図８は、微小振動除去非線形補正部７１の入力出力特性つまり実行する関数を示すグラフである。この関数は階段関数であり、入力される速度指令が０付近の一定範囲（以下、不感帯と呼ぶ）にある場合には０を出力する。不感帯以上の入力があった場合、微小振動除去非線形補正部７１は１を出力し、不感帯以下の入力があった場合、微小振動除去非線形補正部７１は−１を出力する。図示例のように、正の入力についての不感帯の範囲と負の入力についての不感帯の範囲とが同等であると好ましいが、これに限定されず、両者の範囲がわずかに異なっていてもよい。
【００５８】
実施の形態１に関連して説明したように、通常、帯域阻止フィルタまたはノッチフィルタは急峻に変化する信号、例えば、ステップ状の信号が入力されると、フィルタ自身の固有振動数で出力が微小振動する。このため振動低減フィルタ１１の後段の微分器１２から出力される速度指令も振動低減フィルタ１１の固有振動数で微小振動する。微分器１２から出力される速度指令がトルク非線形補正部１８の非線形領域近傍で微小振動した場合、微分器１２の出力をトルク指令非線形補正部１８に入力したのではトルク指令非線形補正部１８は微小振動の周波数を持つ矩形波のトルク信号の符号を出力する。
【００５９】
微小振動除去非線形補正部７１は、不感帯を有しており、このような小さい振幅の振動が入力されても０を出力するので、このような小さい振幅の振動を除去するように働く。従って、微小振動除去非線形補正部７１の不感帯は、微分器１２から与えられる速度指令の微小振動の振幅より大きい範囲を持つように設定する。微小振動除去非線形補正部７１が出力した処理結果に対しては、トルク指令非線形補正部１８および増幅器１９では実施の形態１と同等な処理がなされ、これにより第２のトルクフォードフォワード指令が生成され出力される。
なお、微小振動除去非線形補正部７１の処理が、トルク指令非線形補正部１８の処理を包含する場合（例えば、トルク指令非線形補正部１８が符号関数である場合）は、トルク指令非線形補正部１８を削除し、微小振動除去非線形補正部７１の出力を前記増幅器１９に入力してもよい。
【００６０】
以上のように、この実施の形態４によれば、実施の形態１と同様に、第１のフィードフォワード補償部８は、指令生成部７から出力される位置指令に含まれる制御対象２の振動要因成分を減衰させて第１の位置指令を生成する振動低減フィルタ１１を備えるので、第１の位置指令に含まれる振動要因成分が減衰し、制御対象２の機械振動が低減または防止され、高速高精度に制御することが可能となる。第１の位置指令に由来する第１の速度フィードフォワード指令および第１のトルクフィードフォワード指令についても振動要因成分が減衰し、制御対象２の機械振動が低減または防止され、高速高精度に制御することが可能となる。
また、第２のフィードフォワード補償部７０は、第１のフィードフォワード補償部８の振動低減フィルタ１１で生成される第１の位置指令の微分結果に対して、トルク指令非線形補正部１８の非線形領域近傍の微小振動を除去処理を行う微小振動除去非線形補正部７１と、非線形関数を有するトルク指令非線形補正部１８により第２のトルクフィードフォワード指令を生成するようにしたので、例えばクーロン摩擦のような非線形な外乱があっても、第２のトルクフィードフォワード指令により制御対象２の非線形な動作の補正が可能である。第２のトルクフィードフォワード指令は、振動低減フィルタ１１とは別系統の第２のフィードフォワード補償部９で生成されるので、振動低減フィルタ１１自体の固有振動数の影響を受けずに、制御対象２の機械振動を低減または防止しつつ、非線形な動作の補正を高精度で行うことが可能である。
フィードバック補償部１０は、このような第１のフィードフォワード補償部８で生成された第１の位置指令、第１の速度フィードフォワード指令、第１のトルクフィードフォワード指令と、第２のフィードフォワード補償部９で生成された第２のトルクフィードフォワード指令と、制御対象２の状態を計測する状態計測部であるエンコーダ５の計測結果に基づいて制御対象２の位置制御あるいは速度制御するので、制御対象の機械振動を低減または防止することができ、例えばクーロン摩擦のような非線形外乱があっても応答遅れの少ない高速高精度な制御ができる。
【００６１】
実施の形態５．
図９はこの発明の実施の形態５によるサーボ制御装置を示すブロック図である。図９に示すサーボ制御装置は、実施の形態３（図５）の二次元サーボ制御装置の変形例であり、具体的には実施の形態４の微小振動除去非線形補正部を実施の形態３のタイミング補正部１６，５６と微分器１７，５７の代わりに使用し、微小振動除去非線形補正部への入力は微分器１２，５２から行うものである。
【００６２】
図９においては、図５と共通する要素を示すために図５と同一の符号が使用されており、それらの要素の詳細な説明は省略する。図５の実施の形態と異なる点は、第２のフィードフォワード補償部７０，８０の構成である。従って、このサーボ制御装置１は、Ｘ軸方向またはＹ軸方向の各制御系統が、第１のフィードフォワード補償部８，４８と、第２のフィードフォワード補償部７０，８０と、フィードバック制御部１０，５０とを備える。図９の第２のフィードフォワード補償部７０はＸ軸方向の制御を行い、図７の第２のフィードフォワード補償部７０と同等の構成を有し同等の動作を行う。
【００６３】
Ｙ軸制御系統の第２のフィードフォワード補償部８０は、Ｘ軸制御系統の第２のフィードフォワード補償部７０と同等である。第２のフィードフォワード補償部８０の微小振動除去非線形補正部８１、トルク指令非線形補正部５８および増幅器５９は、第２のフィードフォワード補償部７０の微小振動除去非線形補正部７１、トルク指令非線形補正部１８および増幅器１９と同様に動作する。従って、第２のフィードフォワード補償部８０は、第１のフィードフォワード補償部４８の微分器５２が出力したＹ軸方向の速度指令に基づいて、制御対象４２の非線形運動を減少させる（つまり非線形運動を補正する）ためのＹ軸方向の第２の駆動指令（この実施の形態では第２のトルクフィードフォワード指令）を生成する。
【００６４】
実施の形態３と同様に、図９のサーボ制御装置１でも、テーブルの応答特性に対して振動低減フィルタ１１，５１が大きな影響を与えるので、振動低減フィルタ１１，５１のフィルタ特性（時間応答特性および周波数応答特性）を同等に合わせておくことが好ましい。少なくとも低周波領域で振動低減フィルタ１１，５１のお互いの位相遅れ量の差が±１２．６度以下となるように、前記振動低減フィルタ１１，５１のフィルタ特性を調整する。
【００６５】
以上のように、この実施の形態５によれば、物体をそれぞれ異なる方向に運動させる複数のモータ４，４４を備えた制御対象４２を制御するために、それぞれのモータ４，４４を対応する方向に関して制御する複数の制御系統を備えており、各制御系統が、第１のフィードフォワード補償部８または４８と、第２のフィードフォワード補償部７０または８０と、エンコーダ５または４５と、フィードバック制御部１０または５０とを備えるので、ＸＹテーブルのような複数の駆動方向を持つ制御対象４２の各駆動方向に例えばクーロン摩擦などの非線形外乱があっても制御対象４２の各駆動方向の機械振動を低減または防止することができ、各駆動方向について応答遅れの少ない高速高精度な制御ができる。
【００６６】
また、一方の制御系統の第１のフィードフォワード補償部８の振動低減フィルタ１１の低周波領域における位相遅れ量が、他方の制御系統の第１のフィードフォワード補償部４８の振動低減フィルタ５１の低周波領域における位相遅れ量に対する差異が±１２．６度以下にしたので、二次元形状誤差の少ない高精度な制御が実現できる。
【００６７】
以上、駆動方向がＸ軸方向とＹ軸方向である二次元動作を行う制御対象４２に使用されるサーボ制御装置１について説明したが、制御系統を増加させることにより三方向以上の駆動方向を有する制御対象にこの発明に係るサーボ制御装置を利用することも可能である。
【００６８】
実施の形態１〜５では、モータドライバ６，４６にトルク指令が入力されるようになっており、これに対応して各補償部はトルクフィードフォワード指令を生成する。しかし、トルク指令に限らず、モータドライバ６，４６にはモータ４，４４への供給電流を示す電流指令が駆動指令として入力されるようになっていてもよい。このような場合には、第１のフィードフォワード補償部は第１の駆動指令として第１のトルクフィードフォワード指令に代えて第１の電流フィードフォワード指令を生成し、第２のフィードフォワード補償部は第２の駆動指令として第２のトルクフィードフォワード指令に代えて第２の電流フィードフォワード指令を生成してもよい。また、トルク指令が加速度指令という名称であったとしても、加速度指令を使用する形態がこの発明の範囲に包摂されることはいうまでもない。
【００６９】
また、実施の形態１〜５では、第１の位置指令、第１の速度フィードフォワード指令および第１のトルクフィードフォワード指令が、第１の駆動指令としてフィードバック補償部１０，５０に入力されて、フィードバック補償に供されるようになっているが、この発明を実施の形態に限定する意図ではなく、例えば次のような形態もこの発明の範囲に包摂される。
第１のフィードフォワード補償部８，４８から第１の位置指令のみが第１の駆動指令としてフィードバック補償部１０，５０に入力されて、フィードバック補償に供される形態。この形態では、微分器１２，１３，５２，５３、増幅器１４，１５，５４，５５は不要である。
第１のフィードフォワード補償部８，４８から第１の位置指令と第１の速度フィードフォワード指令のみが第１の駆動指令としてフィードバック補償部１０，５０に入力されて、フィードバック補償に供される形態。この形態では、微分器１２，５３、増幅器１５，５５は不要である。
【００７０】
また、実施の形態１〜３では、位置指令に基づいてタイミング補正部１６が生成したタイミング補正位置指令を微分器１７が微分することによりタイミング補正位置指令を生成するが、位置指令を微分した結果をタイミング補正部で処理してタイミング補正位置指令を生成してもよい。
さらには、実施の形態１〜３では、タイミング補正部１６，５６の出力を微分器１７，５７が１階微分することにより生成した速度指令にトルク指令非線形補正部１８，５８が非線形関数を適用して第２のトルクフィードフォワード指令を生成するが、第２のフィードフォワード補償部９で生成される第２の駆動指令をこのような第２のトルクフィードフォワード指令に限定する意図ではない。例えば次のような形態もこの発明の範囲に包摂される。
タイミング補正部１６の出力結果（タイミング補正位置指令）に上記と類似の非線形関数を適用して速度指令を生成し、この速度指令にゲインを乗算することにより第２の速度フィードフォワード指令を生成し、この第２の速度フィードフォワード指令を加減算器２３，６３に供給する形態。この形態では、加減算器２３，６３が所望速度と速度計測値の差に第１の速度フィードフォワード指令とこのように生成された第２のフィードフォワード指令を加算する。
タイミング補正部１６，５６の２階微分結果（加速度指令）に上記と類似の非線形関数を適用してトルク指令の符号を生成し、このトルク指令の符号にゲインを乗算することにより第２のトルクフィードフォワード指令を生成し、この第２のトルクフィードフォワード指令を加算器２５，６５に供給する形態。この形態では、加算器２５，６５が所望トルクと第１のトルクフィードフォワード指令とこのように生成された第２のトルクフィードフォワード指令を加算することになる。
図４の実施の形態２の変形として、トルク指令非線形補正部１８および増幅器１９を設けずに第２のトルクフィードフォワード指令を生成せず、位置指令非線形補正部３３および増幅器３４により生成されたバックラッシュ位置補正のための第２の位置指令のみを第２の駆動指令としてフィードバック補償部１０，５０に供給する形態。
【００７１】
また、実施の形態１〜５ではモータを最終的に制御するが、モータに限らずリニアアクチュエータを制御する形態もこの発明の範囲に包摂される。
また、実施の形態１〜５を等価変換して得られる形態もこの発明の範囲に包摂される。
【図面の簡単な説明】
【００７２】
【図１】この発明の実施の形態１によるサーボ制御装置を示す図である。
【図２】図１のサーボ制御装置で使用される振動低減フィルタの周波数特性を示すグラフである。
【図３】図１の駆動指令非線形補正部のバリエーションで使用される非線形関数の例を示すグラフである。
【図４】この発明の実施の形態２によるサーボ制御装置を示すブロック図である。
【図５】この発明の実施の形態３によるサーボ制御装置を示すブロック図である。
【図６】図５のサーボ制御装置で使用される振動低減フィルタについて設定される可能性のある周波数特性を示すグラフである。
【図７】この発明の実施の形態４によるサーボ制御装置を示すブロック図である。
【図８】図７のサーボ制御装置で使用される微小振動除去非線形補正部の入力出力特性つまり実行する関数を示すグラフである。
【図９】この発明の実施の形態５によるサーボ制御装置を示すブロック図である。
【符号の説明】
【００７３】
１  サーボ制御装置、２，４２  制御対象、３  Ｘ軸テーブル、４，４４  モータ（駆動器）、５，４５  エンコーダ（状態計測部）、６，４６  モータドライバ、７，４０  指令生成部、８，４８  第１のフィードフォワード補償部、９，４９，７０，８０  第２のフィードフォワード補償部、１０，５０  フィードバック補償部、１１，５１  振動低減フィルタ、１２，１３，５２，５３  微分器（微分演算部）、１４，１５，１９，３０，３４，５４，５５，５９  増幅器、２０，６０  減算器、１６，５６  タイミング補正部、１７，２２，５７，６２  微分器、１８，５８  トルク指令非線形補正部（駆動指令非線形補正部）、２１，６１  位置制御部、２３，６３  加減算器（速度誤差算出部）、２４，６４  速度制御部、２５，３１，６５  加算器、３３  位置指令非線形補正部（駆動指令非線形補正部）、３５  加減算器（位置誤差算出部）、４３  Ｙ軸テーブル、７１，８１  微小振動除去非線形補正部。
【図１】
2005071034.tif 000005
【図２】
2005071034.tif 000006
【図３】
2005071034.tif 000007
【図４】
2005071034.tif 000008
【図５】
2005071034.tif 000009
【図６】
2005071034.tif 000010
【図７】
2005071034.tif 000011
【図８】
2005071034.tif 000012
【図９】
2005071034.tif 000013