(57)【特許請求の範囲】
【請求項１】
モータの回転運動をボールねじ送り部により直線運動に変換して負荷を直線移動させる工作機械に、
前記モータの速度を検出してモータ速度（ωM）を出力するモータ速度検出手段と、
前記負荷の位置を検出して負荷位置（θL）を出力する負荷位置検出手段と、
指令位置（θ）と前記負荷位置（θL）との偏差に応じた偏差速度（ΔＶ）を求める位置制御ループと、前記偏差速度（ΔＶ）と前記モータ速度（ωM）との差である指令速度（Ｖ）を求める速度制御ループと、前記指令速度（Ｖ）を比例積分演算して指令トルク（τ）を出力する比例積分演算器を備え、前記指令トルク（τ）に応じて前記モータの回転制御をする制御部とを備えた、
サーボ制御装置において、
前記指令位置（θ）に補償制御用伝達関数を乗算して得た補償速度を、前記偏差速度（ΔＶ）に加える逆特性モデルを有しており、
この逆特性モデルは、ｓを微分演算子、Ｋｖを速度ループゲイン、Ｔｖを積分時定数、ＪMをモータのイナーシャ、ＪLを負荷のイナーシャ、ＤMをモータの粘性、ＤLを負荷の粘性、ＫLを負荷のばね剛性、係数ａ１〜ａ５を下式で示す値とした場合に、
指令位置（θ）に演算項ａ１ｓを乗算して出力する第１微分項演算部と、
指令位置（θ）に演算項ａ２ｓ2を乗算して出力する第２微分項演算部と、
指令位置（θ）に演算項ａ３ｓ3を乗算して出力する第３微分項演算部と、
指令位置（θ）に演算項ａ４ｓ4を乗算して出力する第４微分項演算部と、
指令位置（θ）に演算項ａ５ｓ5を乗算して出力する第５微分項演算部と、
前記第１から第５の微分項演算部から出力される演算結果を加算したものに、｛Ｔｖ／ｋv（Ｔｖｓ＋１）｝を乗算して前記補償速度とする比例積分逆伝達関数部とを有することを特徴とするサーボ制御装置。
【数１】
0005112100.tif 000021
【請求項２】
請求項１において、第１から第５の微分項演算部の微分次数が１次下がっており、前記比例積分逆伝達関数部の微分次数が１次上がっていることを特徴とするサーボ制御装置。
【請求項３】
モータの回転運動をボールねじ送り部により直線運動に変換して負荷を直線移動させる工作機械に、
前記モータの速度を検出してモータ速度（ωM）を出力するモータ速度検出手段と、
前記負荷の位置を検出して負荷位置（θL）を出力する負荷位置検出手段と、
指令位置（θ）と前記負荷位置（θL）との偏差に応じた偏差速度（ΔＶ）を求める位置制御ループと、前記偏差速度（ΔＶ）と前記モータ速度（ωM）との差である指令速度（Ｖ）を求める速度制御ループと、前記指令速度（Ｖ）を比例積分演算して指令トルク（τ）を出力する比例積分演算器を備え、前記指令トルク（τ）に応じて前記モータの回転制御をする制御部とを備えた、
サーボ制御装置において、
前記指令位置（θ）に補償制御用伝達関数を乗算して得た補償速度を、前記偏差速度（ΔＶ）に加える逆特性モデルを有しており、
この逆特性モデルは、ｓを微分演算子、Ｋｖを速度ループゲイン、Ｔｖを積分時定数、ＪMをモータのイナーシャ、ＪLを負荷のイナーシャ、ＪBをボールねじ送り部のイナーシャ、ＤMをモータの粘性、ＤLを負荷の粘性、ＤBをボールねじ送り部の粘性、ＫLを負荷のばね剛性、ＫBをボールねじ送り部のばね剛性、係数ａ１〜ａ７を下式で示す値とした場合に、
指令位置（θ）に演算項ａ１ｓを乗算して出力する第１微分項演算部と、
指令位置（θ）に演算項ａ２ｓ2を乗算して出力する第２微分項演算部と、
指令位置（θ）に演算項ａ３ｓ3を乗算して出力する第３微分項演算部と、
指令位置（θ）に演算項ａ４ｓ4を乗算して出力する第４微分項演算部と、
指令位置（θ）に演算項ａ５ｓ5を乗算して出力する第５微分項演算部と、
指令位置（θ）に演算項ａ６ｓ6を乗算して出力する第６微分項演算部と、
指令位置（θ）に演算項ａ７ｓ7を乗算して出力する第７微分項演算部と、
前記第１から第７の微分項演算部から出力される演算結果を加算したものに、｛Ｔｖ／ｋv（Ｔｖｓ＋１）｝を乗算して前記補償速度とする比例積分逆伝達関数部とを有することを特徴とするサーボ制御装置。
【数２】
0005112100.tif 000022
【請求項４】
請求項３において、第１から第７の微分項演算部の微分次数が１次下がっており、前記比例積分逆伝達関数部の微分次数が１次上がっていることを特徴とするサーボ制御装置。
【請求項５】
請求項１乃至請求項４の何れか一項において、
前記負荷位置（θL）の代わりにモータ位置（θM）を用いることを特徴とするサーボ制御装置。
【請求項６】
請求項１乃至請求項５の何れか一項において、
前記モータと前記ボールねじ送り部と前記負荷がコラムに取り付けられていると共に、
コラム補償用伝達関数が設定されており、前記指令位置（θ）に前記コラム補償用伝達関数を乗算して得た指令位置を前記制御部に送るコラム補償モデルを有しており、
前記負荷の特性をモデル化した負荷伝達関数に関して入出力の関係を示す運動方程式と、前記コラムをモデル化したコラム伝達関数に関して入出力の関係を示す運動方程式から、負荷位置を、コラム補償用伝達関数にコラム位置（θｃ）を乗算したものとした等価式を求め、この等価式に現れるコラム補償用伝達関数を、前記コラム補償モデルに設定している、
ことを特徴とするサーボ制御装置。
【請求項７】
請求項６において、
前記コラム補償モデルに設定しているコラム補償用伝達関数は、
ｓを微分演算子、ＪLを負荷のイナーシャ、ＪCをコラムのイナーシャ、ＤLを負荷の粘性、ＣCをコラムのばね粘性、ＫCをコラムのばね剛性とした場合に、下式で表される関数であることを特徴とするサーボ制御装置。
【数３】
0005112100.tif 000023
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボ制御装置に関し、工作機械において、モータの回転運動をボールねじ送り部により直線運動に変換して、負荷（テーブルやサドル）を直線移動させる場合に、制御系を簡単にしつつ、負荷の位置を正確にサーボ制御することができるように工夫したものである。
【背景技術】
【０００２】
工作機械の概要を図１１を参照して説明する。同図に示すように、ベッド０１上にテーブル０２が配置されており、テーブル０２はベッド０１上でＸ方向に沿い移動可能に設けられている。
門形のコラム０３には、クロスレール０４が昇降自在（Ｚ方向に沿い移動自在）に配置されている。クロスレール０４には、ラム０６を備えたサドル０５が、Ｙ方向に沿い移動可能に設けられている。
【０００３】
テーブル０２のＸ方向移動は、ボールねじ駆動機構により行なわれるようになっている。また、ラム０６を備えたサドル０５のＹ方向移動も、コラム０３に設置した別のボールねじ駆動機構により行なわれるようになっている。この場合、テーブル０２やサドル０５の位置及び速度は、高精度に制御することが要求されている。
【０００４】
図１２は、テーブル０２を駆動するボールねじ駆動制御系を示す。同図に示すように、テーブル０２にはボールねじナット１０が固定連結されており、このボールねじナット１０にはボールねじ軸１１が螺合している。ボールねじ軸１１の一端にはモータ（サーボモータ）１２が連結されている。なお、ボールねじナット１０とボールねじ軸１１により、ボールねじ送り部９が形成されている。
【０００５】
モータ１２には、モータ速度ωMを検出して出力するモータエンコーダ１３が配置されている。リニアスケール１４は、負荷であるテーブル０２の位置を示す負荷位置θLを検出して出力する。
【０００６】
ボールねじ駆動機構では、モータ１２が回転駆動してボールねじ軸１１が回転すると、ボールねじナット１０及びこれに固定連結したテーブル０２が直線移動する。
【０００７】
制御部１００は、減算部１０１と、乗算器１０２と、減算部１０３と、比例積分演算器１０４を有している。
【０００８】
減算部１０１は、指令位置θと負荷位置θLとの差である偏差位置Δθを出力する。乗算器１０２は、偏差位置Δθに位置ループゲインｋPを乗算して偏差速度ΔＶを出力する。減算部１０３は、偏差速度ΔＶとモータ速度ωMとの差である指令速度Ｖを出力する。
【０００９】
比例積分演算器１０４は、指令速度Ｖを比例積分演算して指令トルクτを出力する。
即ち、比例積分演算器１０４では、速度ループゲインｋvと積分時定数Ｔvを用いて、
τ＝Ｖ×｛ｋv（１＋（１／Ｔvｓ））｝という演算をして指令トルクτを求めている。なお、ｓは、ラプラス演算子である（なお以降の説明においても「ｓ」はラプラス演算子を示す）。
【００１０】
モータ１２は、電流制御器（図示省略）から指令トルクτに応じた電流が供給されて回転駆動する。この場合、図示は省略するが、指令トルクτに応じた電流値になるように、電流のフィードバック制御を行なっている。
【００１１】
このように、テーブル０２を駆動するボールねじ駆動機構を制御する制御部１００は、位置ループをメインループとし、速度ループと電流ループをマイナーループとした３重のループによってフィードバック制御をしている。
この場合、電流ループの制御周期が最も短く、速度ループの制御周期は電流ループの制御周期よりも長く、位置ループの制御周期が最も長くなっている。
【００１２】
図１２は、テーブル０２をＸ方向に沿い駆動するボールねじ駆動制御系であるが、サドル０５をＹ方向に沿い駆動するボールねじ駆動制御系も、同様な構成となっている。
即ち、図１３に示すように、サドル０５に、ボールねじ送り部９ａのボールねじナット１０ａが固定連結されており、このボールねじナット１０ａにボールねじ１１ａが螺合しており、このボールねじ１１ａの端部にモータ１２ａが連結されている。モータ１２ａにはモータエンコーダ１３ａが配置されている。
【００１３】
そして、図１２と同様に、制御部１００ａは、減算部１０１ａ，乗算器１０２ａ，減算部１０３ａ，比例積分演算器１０４ａを有しており、位置ループをメインループとし、速度ループと電流ループをマイナーループとした３重のループによってフィードバック制御をしている。
【００１４】
ところで高速高精度加工用の工作機械、特に大型の工作機械では、各部分（モータや、テーブルやサドル等の負荷や、ボールねじナットとボールねじ軸からなるボールねじ送り部）に発生する「ひずみ」や「ねじれ」や「たわみ」や「粘性」といった精度阻害要因により、位置精度に悪影響を及ぼしてしまう。
【００１５】
そこで、各部分をモデル化し、そのモデルの逆特性をもった伝達関数を用いてフィードフォワード補償することにより、精度を向上することが考えられている。
【００１６】
図１４は、テーブル０２を負荷として、この負荷（テーブル０２）をボールねじ駆動機構により駆動制御をするボールねじ駆動制御系において、フィードフォワード補償をした、従来例を示す。
なお図１４は、モータ１２と負荷（テーブル０２）を質点とした２質点系のモデル特性を示しており、図１１と同一部分には同一符号を付し重複する説明は省略する。
【００１７】
図１４において、モータ１２の特性をモデル化して伝達関数で示すと、ブロック１２−１とブロック１２−２とで示される。なお、ＪMはモータイナーシャを示し、ＤMはモータ粘性を示す。
ブロック１２−１からはモータ速度ωMが出力され、ブロック１２−２からはモータ位置θMが出力される。
【００１８】
また負荷であるテーブル０２の特性をモデル化して伝達関数で示すと、ブロック０２−１とブロック０２−２とブロック０２−３とで示される。なお、ＪLは負荷（テーブル）のイナーシャを示し、ＤLは負荷（テーブル）の粘性を示し、ＣLは負荷（テーブル）のばね粘性を示し、ＫLは負荷（テーブル）のばね剛性を示す。
【００１９】
減算部２０１は、モータ位置θMと負荷位置θLとの偏差（θM−θL）を求める。ブロック０２−１は、偏差（θM−θL）が入力されると、反力トルクτLを出力する。
反力トルクτLが、ブロック０２−２に入力されると、ブロック０２−３から負荷位置θLが出力される。
【００２０】
トルク逆特性モデル２１０は、逆特性補償トルクτgを出力する。詳細は後述するが、トルク逆特性モデル２１０は、トルク制御系の誤差をフィードフォワード補償する伝達関数特性を有しており、逆特性補償トルクτgにより、トルク制御系のフィードフォワード補償制御をする。
減算部２０２では、指令トルクτに逆特性補償トルクτgを加算した値から、反力トルクτLを減算した値の指令トルクが、モータ１２に入力される。
【００２１】
速度逆特性モデル２１１は、逆特性補償速度Ｖgを出力する。詳細は後述するが、速度逆特性モデル２１１は、速度制御系の誤差をフィードフォワード補償する伝達関数特性を有しており、逆特性補償速度Ｖgにより、速度制御系のフィードフォワード補償制御をする。
減算部１０３では、偏差速度ΔＶに逆特性補償速度Ｖcを加算した値から、モータ速度ωcを減算した値の指令速度を、比例積分演算器１０４に入力している。
【００２２】
ここで、トルク逆特性モデル２１０の伝達関数特性と、速度逆特性モデル２１１の伝達関数特性が、どのようなものであれば、トルク制御系のフィードフォワード補償制御及び速度制御系のフィードフォワード補償制御ができるかを説明する。
【００２３】
図１４に示す機械系モデルにおいて、トルク及び速度の逆特性モデルの伝達関数は、次のようにして計算できる。
まず、運動方程式から、次式（１），（２）が求められる。
τ−（θM−θL）・（ＣLｓ＋ＫL）＝（ＪMＳ2＋ＤMＳ）・θM・・・・（１）
（θM−θL）・（ＣLｓ＋ＫL）＝（ＪLＳ2＋ＤLＳ）・θL     ・・・（２）
【００２４】
上記（１），（２）式より、次の（３），（４）式が得られる。なお式（４）において、θMＳはモータ速度ωMと等価である。
【数４】
0005112100.tif 000002
【００２５】
誤差０で負荷（テーブル０２）を動かすためには、指令位置θが負荷位置θLと一致するように補償制御をすればよい。即ち、θ＝θLとなるように補償制御をすればよい。このように、θ＝θLとするためには、
トルク逆特性モデル２１０が、式（３）の｛  ｝内の式を伝達関数として有し、指令位置θに、トルク逆特性モデル２１０の伝達関数を乗算して得た、逆特性補償トルクτgをトルク制御ループに加算し、
速度逆特性モデル２１０が、式（４）の（  ）内の式を伝達関数として有し、指令位置θに、速度逆特性モデル２１１の伝達関数を乗算して得た、逆特性補償速度Ｖgを速度制御ループに加算する、
というフィードフォワード補償制御をすればよい。
【００２６】
【特許文献１】特許第２８１０２４６号
【特許文献２】特許第３３５１９９０号
【特許文献３】特許第３２９７６４３号
【発明の開示】
【発明が解決しようとする課題】
【００２７】
ところで、図１４に示す従来技術では次のような課題があった。
【００２８】
（１）トルク逆特性モデル２１０や速度逆特性モデル２１１に設定する、フィードフォワード補償制御用の伝達関数は、機械定数（イナーシャ、粘性、ばね粘性）を同定して設定している。しかし、機械定数の同定を正確に行なうことは実際的には難しい。
しかも、負荷イナーシャＪL、負荷粘性ＤL、モータ粘性ＤM、負荷ばね粘性ＣLは、負荷（テーブル０２）の位置や、負荷（テーブル０２）の移動速度によって動的に変化する定数であるので、これらの定数を簡単に同定することができない。
したがって、機械定数の同定を正確にできない場合には、フィードフォワード補償制御をしても、精度向上を実現することができない。特に、加減速時に発生する動的誤差をなくして、負荷（テーブル０２）の位置を高精度に位置制御することができない。
【００２９】
（２）トルク逆特性モデル２１０は、指令位置θを受けて、逆特性補償トルクτgを出力するものであるので、逆特性補償トルクτgの計算周期（出力周期）は、位置ループの制御周期となる。
一方、指令トルクτは、位置ループの制御周期よりも短い速度ループの制御周期で出力される。
したがって、図１４に示すように、計算周期（出力周期）の長い逆特性補償トルクτgを、制御周期（出力周期）の短い指令トルクτに加えてフィードフォワード補償制御をしようとした場合、両者の周期が異なるため、逆特性補償トルクτgによる補償量がステップ状の補償量となり、かえって外乱となり位置制御の精度が悪化する恐れがあった。
この問題を解決するには、逆特性補償トルクτgの計算周期（出力周期）を、指令トルクτの制御周期（出力周期）と同じになるように、高速計算をすればよいが、このようにするには高速演算をする演算手段を新たに追加すること等が必要となり、新たな問題が生じる。
【００３０】
（３）図１４の例は、モータ１２と負荷（テーブル０２）を質点とした２質点系の制御であるが、モータ１２と負荷（テーブル０２）とボールねじ送り部９（ボールねじナット１０およびボールねじ軸１１）を質点とした３質点系の制御系に対して、フィードフォワード補償制御を実行しようとした場合には、更に複雑な逆特性補償モデルが必要となり、この場合には逆特性補償モデルを設計することは極めて困難である。
【００３１】
（４）なお、図１３に示すような、負荷をサドル０５として、この負荷（サドル０５）をボールねじ駆動機構により駆動制御をするボールねじ駆動制御系において、フィードフォワード補償制御する場合にも、上記と全く同様な問題が生じる。
つまり、負荷がテーブル０２であっても、負荷がサドル０５であっても、モータ１２（１１２ａ）の回転駆動力を、ボールねじ送り部９（９ａ）により直線運動力に変換して、負荷（テーブル０２，サドル０５）を駆動する場合には、いずれも、上記の（１）〜（３）の問題が生じる。
【００３２】
（５）更に、図１３に示すようなボールねじ駆動制御系では、負荷であるサドル０５の移動に伴い、コラム０３のたわみ（変形）が生じるため、これを原因として位置精度が悪化するという問題もある。
【００３３】
本発明は、上記従来技術に鑑み、逆特性モデルに設定するフィードフォワード補償制御用の伝達関数に使用する機械定数を簡単に同定することができ、しかも、逆特性補償が外乱となることなく精度向上に寄与することができるようにしたサーボ制御装置を提供することを目的とする。
【課題を解決するための手段】
【００３６】
上記課題を解決する本発明の構成は、モータの回転運動をボールねじ送り部により直線運動に変換して負荷を直線移動させる工作機械に、
前記モータの速度を検出してモータ速度（ωM）を出力するモータ速度検出手段と、
前記負荷の位置を検出して負荷位置（θL）を出力する負荷位置検出手段と、
指令位置（θ）と前記負荷位置（θL）との偏差に応じた偏差速度（ΔＶ）を求める位置制御ループと、前記偏差速度（ΔＶ）と前記モータ速度（ωM）との差である指令速度（Ｖ）を求める速度制御ループと、前記指令速度（Ｖ）を比例積分演算して指令トルク（τ）を出力する比例積分演算器を備え、前記指令トルク（τ）に応じて前記モータの回転制御をする制御部とを備えた、
サーボ制御装置において、
前記指令位置（θ）に補償制御用伝達関数を乗算して得た補償速度を、前記偏差速度（ΔＶ）に加える逆特性モデルを有しており、
この逆特性モデルは、ｓを微分演算子、Ｋｖを速度ループゲイン、Ｔｖを積分時定数、ＪMをモータのイナーシャ、ＪLを負荷のイナーシャ、ＤMをモータの粘性、ＤLを負荷の粘性、ＫLを負荷のばね剛性、係数ａ１〜ａ５を下式で示す値とした場合に、
指令位置（θ）に演算項ａ１ｓを乗算して出力する第１微分項演算部と、
指令位置（θ）に演算項ａ２ｓ2を乗算して出力する第２微分項演算部と、
指令位置（θ）に演算項ａ３ｓ3を乗算して出力する第３微分項演算部と、
指令位置（θ）に演算項ａ４ｓ4を乗算して出力する第４微分項演算部と、
指令位置（θ）に演算項ａ５ｓ5を乗算して出力する第５微分項演算部と、
前記第１から第５の微分項演算部から出力される演算結果を加算したものに、｛Ｔｖ／ｋv（Ｔｖｓ＋１）｝を乗算して前記補償速度とする比例積分逆伝達関数部とを有することを特徴とする。
【数５】
0005112100.tif 000003
また、この場合において、第１から第５の微分項演算部の微分次数が１次下がっており、前記比例積分逆伝達関数部の微分次数が１次上がっていることを特徴とする。
【００３７】
また本発明の構成は、モータの回転運動をボールねじ送り部により直線運動に変換して負荷を直線移動させる工作機械に、
前記モータの速度を検出してモータ速度（ωM）を出力するモータ速度検出手段と、
前記負荷の位置を検出して負荷位置（θL）を出力する負荷位置検出手段と、
指令位置（θ）と前記負荷位置（θL）との偏差に応じた偏差速度（ΔＶ）を求める位置制御ループと、前記偏差速度（ΔＶ）と前記モータ速度（ωM）との差である指令速度（Ｖ）を求める速度制御ループと、前記指令速度（Ｖ）を比例積分演算して指令トルク（τ）を出力する比例積分演算器を備え、前記指令トルク（τ）に応じて前記モータの回転制御をする制御部とを備えた、
サーボ制御装置において、
前記指令位置（θ）に補償制御用伝達関数を乗算して得た補償速度を、前記偏差速度（ΔＶ）に加える逆特性モデルを有しており、
この逆特性モデルは、ｓを微分演算子、Ｋｖを速度ループゲイン、Ｔｖを積分時定数、ＪMをモータのイナーシャ、ＪLを負荷のイナーシャ、ＪBをボールねじ送り部のイナーシャ、ＤMをモータの粘性、ＤLを負荷の粘性、ＤBをボールねじ送り部の粘性、ＫLを負荷のばね剛性、ＫBをボールねじ送り部のばね剛性、係数ａ１〜ａ７を下式で示す値とした場合に、
指令位置（θ）に演算項ａ１ｓを乗算して出力する第１微分項演算部と、
指令位置（θ）に演算項ａ２ｓ2を乗算して出力する第２微分項演算部と、
指令位置（θ）に演算項ａ３ｓ3を乗算して出力する第３微分項演算部と、
指令位置（θ）に演算項ａ４ｓ4を乗算して出力する第４微分項演算部と、
指令位置（θ）に演算項ａ５ｓ5を乗算して出力する第５微分項演算部と、
指令位置（θ）に演算項ａ６ｓ6を乗算して出力する第６微分項演算部と、
指令位置（θ）に演算項ａ７ｓ7を乗算して出力する第７微分項演算部と、
前記第１から第７の微分項演算部から出力される演算結果を加算したものに、｛Ｔｖ／ｋv（Ｔｖｓ＋１）｝を乗算して前記補償速度とする比例積分逆伝達関数部とを有することを特徴とする。
【数６】
0005112100.tif 000004
またこの場合において、第１から第７の微分項演算部の微分次数が１次下がっており、前記比例積分逆伝達関数部の微分次数が１次上がっていることを特徴とする。
【００３８】
また本発明の構成は、前記のサーボ制御装置において、前記負荷位置（θL）の代わりにモータ位置（θM）を用いることを特徴とする。
【００３９】
また本発明の構成は、前記のサーボ制御装置において、前記モータと前記ボールねじ送り部と前記負荷がコラムに取り付けられていると共に、
コラム補償用伝達関数が設定されており、前記指令位置（θ）に前記コラム補償用伝達関数を乗算して得た指令位置を前記制御部に送るコラム補償モデルを有しており、
前記負荷の特性をモデル化した負荷伝達関数に関して入出力の関係を示す運動方程式と、前記コラムをモデル化したコラム伝達関数に関して入出力の関係を示す運動方程式から、負荷位置を、コラム補償用伝達関数にコラム位置（θｃ）を乗算したものとした等価式を求め、この等価式に現れるコラム補償用伝達関数を、前記コラム補償モデルに設定していることを特徴とする。
【００４０】
また本発明の構成は、
前記コラム補償モデルに設定しているコラム補償用伝達関数は、
ｓを微分演算子、ＪLを負荷のイナーシャ、ＪCをコラムのイナーシャ、ＤLを負荷の粘性、ＣCをコラムのばね粘性、ＫCをコラムのばね剛性とした場合に、下式で表される関数であることを特徴とする。
【数７】
0005112100.tif 000005
【発明の効果】
【００４１】
本願発明では、精度に影響の少ない負荷のばね粘性ＣLやボールねじ送り部のばね粘性ＣBを省略（無視）して、逆特性モデルに使用する機械定数を同定している。したがって、逆特性モデルに使用する機械定数を簡単に同定することができる。
【００４２】
また逆特性補償を、制御周期の短い速度ループの制御系ではなく、制御周期の長い位置ループの制御系に投入するようにしているため、計算周期を長くすることができる。また、補償制御により確実に精度向上を図ることができる。
【００４３】
更に、逆特性補償を、制御周期の短い速度ループの制御系ではなく、制御周期の長い位置ループの制御系に投入するようにしているため、３質点系のモデルにおいても、補償次数（微分次数）を２次増やすだけで、逆特性モデルに設定する伝達関数は複雑になることなく、補償制御を実施することができる。
【発明を実施するための最良の形態】
【００４４】
以下に、本発明を実施するための最良の形態を実施例に基づき詳細に説明する。
【実施例１】
【００４５】
図１は本発明の実施例１に係るサーボ制御装置を示すブロック線図である。
【００４６】
実施例１の制御対象機器は、図１２に示すような、モータ１２の回転運動を、ボールねじナット１０とボールねじ軸１１からなるボールねじ送り部９により直線運動に変換して、負荷であるテーブル０２を直線移動させる、工作機械のボールねじ駆動機構である。
【００４７】
つまり、図１２に示すように、テーブル０２にはボールねじナット１０が固定連結されており、このボールねじナット１０にはボールねじ軸１１が螺合している。ボールねじ軸１１の一端にはモータ（サーボモータ）１２が連結されている。なお、ボールねじナット１０とボールねじ軸１１により、ボールねじ送り部９が形成されている。
モータ１２には、モータ速度ωMを検出して出力するモータエンコーダ１３が配置されている。リニアスケール１４は、負荷であるテーブル０２の位置を示す負荷位置θLを検出して出力する。
ボールねじ駆動機構では、モータ１２が回転駆動してボールねじ軸１１が回転すると、ボールねじナット１０及びこれに固定連結したテーブル０２が直線移動する。
【００４８】
実施例１では、図１に示すように、機械系の特性を、モータ１２と、負荷であるテーブル０２を質点とした、２質点系の機械系のモデルとして特定している。
そして、この機械系を、制御部１００によりサーボ制御（フィードバック制御）することを基本制御としつつ、逆特性モデル３００によりフィードフォワード補償制御をするものである。
【００４９】
図１に示すように、モータ１２の特性をモデル化して伝達関数で示すと、ブロック１２−１とブロック１２−２とで示される。なお、ＪMはモータイナーシャを示し、ＤMはモータ粘性を示す。
ブロック１２−１からはモータ速度ωMが出力され、ブロック１２−２からはモータ位置θMが出力される。
【００５０】
また負荷であるテーブル０２の特性をモデル化して伝達関数で示すと、ブロック０２−１とブロック０２−２とブロック０２−３とで示される。なお、ＪLは負荷（テーブル）のイナーシャを示し、ＤLは負荷（テーブル）の粘性を示し、ＣLは負荷（テーブル）のばね粘性を示し、ＫLは負荷（テーブル）のばね剛性を示す。
【００５１】
減算部２０１は、モータ位置θMと負荷位置θLとの偏差（θM−θL）を求める。ブロック０２−１は、偏差（θM−θL）が入力されると、反力トルクτLを出力する。
反力トルクτLが、ブロック０２−２に入力されると、ブロック０２−３から負荷位置θLが出力される。
【００５２】
制御部１００は、減算部１０１と、乗算器１０２と、減算部１０３と、比例積分演算器１０４を有している。
【００５３】
減算部１０１は、指令位置θと負荷位置θLとの差である偏差位置Δθを出力する。乗算器１０２は、偏差位置Δθに位置ループゲインｋPを乗算して偏差速度ΔＶを出力する。
【００５４】
減算部１０３は、偏差速度ΔＶに、逆特性モデル３００から出力される補償速度Ｖ300を加えた値から、補償モータ速度ωMを減算した指令速度Ｖを出力する。
補償速度Ｖ300の詳細については後述するが、この補償速度Ｖ300を追加（補償）することにより、質点であるモータ１２やテーブル０２に生ずる「ひずみ」や「たわみ」や「粘性」といった誤差要因を補償して、正確にテーブル０２の位置制御（サーボ制御）をすることができる。
【００５５】
比例積分演算器１０４は、指令速度Ｖを比例積分演算して指令トルクτを出力する。
即ち、比例積分演算器１０４では、速度ループゲインｋvと積分時定数Ｔvを用いて、
τ＝Ｖ×｛ｋv（１＋（１／Ｔｖｓ））｝という演算をして指令トルクτを求めている。
【００５６】
モータ１２は、電流制御器（図示省略）から指令トルクτに応じた電流が供給されて回転駆動する。この場合、図示は省略するが、指令トルクτに応じた電流値になるように、電流のフィードバック制御を行なっている。
【００５７】
このように、テーブル０２を駆動するボールねじ駆動機構を制御する制御部１００は、位置ループをメインループとし、速度ループと電流ループをマイナーループとした３重のループによってフィードバック制御をしている。
この場合、電流ループの制御周期が最も短く、速度ループの制御周期は電流ループの制御周期よりも長く、位置ループの制御周期が最も長くなっている。
【００５８】
逆特性モデル３００は、１次微分項演算部３０１と、２次微分項演算部３０２と、３次微分項演算部３０３と、４次微分項演算部３０４と、５次微分項演算部３０５と、加算部３１０と、比例積分逆伝達関数部３１１とを有している。
つまり逆特性モデル３００には、各微分項演算部３０１〜３０５と、加算部３１０と、比例積分逆伝達関数部３１１にそれぞれ設定した演算式により、誤差要因を補償する補償制御用伝達関数が設定されている。
【００５９】
この逆特性モデル３００により演算した補償速度Ｖ300は、制御周期が短い速度ループの制御系ではなく、制御周期が最も長い位置ループの制御系を補償するように、減算部１０３に加えられるようにしている。
【００６０】
１次〜５次の各微分項演算部３０１〜３０５は、演算項ａ１ｓ、ａ２ｓ2、ａ３ｓ3、ａ４ｓ4、ａ５ｓ5を有しており、指令位置θに対して、各演算項を乗算した演算信号を出力する。なお、ｓはラプラス演算子（微分演算子）である。
【００６１】
この場合、係数ａ１〜ａ５の値は次の通りに設定している。
【数８】
0005112100.tif 000006
【００６２】
詳細は後述するが、上記の各係数ａ１〜ａ５を決定（演算）するに当たって、位置制御の精度に影響することが少ない、負荷であるテーブル０２のばね粘性ＣLを省略して機械系の特性を特定している。
このように、負荷のばね粘性ＣLを省略して機械系の特性を特定することにより、各係数ａ１〜ａ５を決定しているため、各係数の演算式が簡略化でき、制御演算を高速演算することができる。
【００６３】
比例積分逆伝達関数部３１１は、比例積分演算部１０４の伝達関数であるｋv（１＋（１／Ｔｖｓ））の逆伝達関数である｛Ｔｖ／ｋv（Ｔｖｓ＋１）｝×ｓのうち、｛Ｔｖ／ｋv（Ｔｖｓ＋１）｝を伝達関数として有している。そして、微分演算子ｓは、各係数ａ１〜ａ５に、それぞれ割り振っている。
なお、比例積分逆伝達関数部３１１に設定した伝達関数｛Ｔｖ／ｋv（Ｔｖｓ＋１）｝は、制御系の特性によって決定される固定値（一定値）である。
【００６４】
次に、上記の各係数ａ１〜ａ５を決定（演算）した演算手法を説明する。
【００６５】
図１に示す機械系モデルにおいて、トルク及び速度の逆特性モデルの伝達関数は、次のようにして計算できる。
まず、運動方程式から、次式（１１），（１２）が求められる。
τ−（θM−θL）・（ＣLｓ＋ＫL）＝（ＪMＳ2＋ＤMＳ）・θM・・・・（１１）
（θM−θL）・（ＣLｓ＋ＫL）＝（ＪLＳ2＋ＤLＳ）・θL     ・・・（１２）
なお式（１１）は、モータ１２の特性をモデル化したモータ伝達関数に関して入出力の関係を示す運動方程式であり、式（１２）は、負荷であるテーブル０２の特性をモデル化した負荷伝達関数に関して入出力の関係を示す運動方程式である。
【００６６】
上記（１１），（１２）式より、次の（１３），（１４）式が得られる。
【数９】
0005112100.tif 000007
【００６７】
誤差０で負荷（テーブル０２）を動かすためには、指令位置θが負荷位置θLと一致するように補償制御をすればよい。即ち、θ＝θLとなるように補償制御をすればよい。このように、θ＝θLとするためには、
指令トルクτを、式（１３）の｛  ｝内の式（第１の伝達関数式）でフィードフォワード補償制御をし、指令速度Ｖを式（１４）の（  ）内の式（第２の伝達関数式）でフィードフォワード補償制御をすればよい。なお式（１４）において、θMｓはモータ速度ωMと等価である。
ここまでの考え方は、従来技術で示したのと同じである。
【００６８】
式（１３）において、θLをθに置換してから、指令速度Ｖτに置き換えると、式（１３）は下式（１５）となる。式（１５）は、式（１３）に、比例積分演算器１０４に設定した比例積分演算式の逆演算式を掛けたものである。換言すると、式（１３）を、比例積分演算器１０４に設定した比例積分演算式で除算したものが、式（１５）となる
式（１５）の右辺において、θを除く部分が第３の伝達関数式となる。
【００６９】
また式（１４）において、θLをθに置換してから、変形すると下式（１６）となる。
指令位置θが負荷位置θLと一致するように補償制御をするには、即ち、θとθLとの誤差を０とするための補償速度Ｖ300を、式（１５）と式（１６）を加えたものにすればよく、下式（１７）で示される。
式（１７）の右辺のうちθを除く部分が第４の伝達関数式である。
【数１０】
0005112100.tif 000008
【００７０】
式（１７）のまでは、微分次数で式をまとめることはでいないが、精度にあまり影響しないＣL項を式（１７）から削除すると式（１８）が得られる。式（１８）の右辺のうちθを除く部分が、補償制御用伝達関数である。式（１８）を、係数ａ１〜ａ５に置き換えると式（１９）が得られる。
式（１８），（１９）から、各係数ａ１〜ａ５を得たのである。
【数１１】
0005112100.tif 000009
【００７１】
したがって、逆特性モデル３００は、指令位置θが入力されると、各微分項演算部３０１〜３０５の演算値が加算部３１０にて加算され、加算値に比例積分逆伝達関数３１１の伝達関数が乗算されて、式（１８），（１９）で示される演算結果となっている補償速度Ｖ300を出力する。この補償速度Ｖ300を偏差速度ΔＶに加算することにより、質点であるモータ１２やテーブル０２に生ずる「ひずみ」や「たわみ」や「粘性」といった誤差要因を補償して、正確にテーブル０２の位置制御（サーボ制御）をすることができる。
【００７２】
また、指令位置θを基に得た補償速度Ｖ300を、制御周期の短い位置ループに入力しているため、補償速度Ｖ300の計算周期を長くすることができ、演算負荷が軽くなる。
【００７３】
＜変形例＞
図１に示す逆特性モデル３００の変形例である逆特性モデル３２０を図２に示す。この逆特性モデル３２０では、各微分項演算部３０１〜３０５の微分次数を１次だけ下げる一方で、比例積分逆伝達関数部３１１の微分次数を１次だけ上げている。
このように、各微分項演算部３０１〜３０５の微分次数を１次下げることにより、演算誤差を少なくすることができる。
【００７４】
ここで、図１及び図２に示す機械系モデルにおいて、粘性項の誤差に対する影響をシミュレーションにより得た結果を、図３（ａ），（ｂ），（ｃ），（ｄ）に示す。なお、縦軸が誤差（μｍ）を示し、横軸は時間（ｓｅｃ）を示す。なお、図３（ｏ）は、指令を示す。
【００７５】
図３（ａ）は、完全逆伝達補償をした場合であり、図３（ｂ）は負荷のばね粘性ＣL項の補償がない場合であり、図３（ｃ）は負荷粘性ＤL項の補償がない場合であり、図３（ｄ）はモータ粘性ＤM項の補償がない場合である。
【００７６】
図３（ａ）〜（ｄ）から分かるように、誤差に影響する粘性項は、負荷粘性ＤLとモータ粘性ＤMであり、負荷のばね粘性ＣLは影響が少ないことが分かった。
したがって、逆特性モデル３００（３２０）に設定する補償制御用伝達関数を計算する場合には、上述したように、負荷のばね粘性ＣLを省いても問題はなく、これにより計算し易く、かつ誤差の少ない補償制御用伝達関数特性を持つ逆特性モデル３００（３２０）にすることができた。
【実施例２】
【００７７】
本発明の実施例２に係るサーボ制御装置を、図４を参照して説明する。図４に示す実施例２は、図１に示す実施例１における逆特性モデル３００の代わりに、逆特性モデル３３０を採用したものであり、機械系のモデル及び、制御部１００の機能・構成は図１に示す実施例１と同じである。
したがって、逆特性モデル３３０を中心に説明をし、実施例１と同一部分についての説明は省略する。
【００７８】
逆特性モデル３３０は、１次微分項演算部３０１と、２次微分項演算部３０２と、３次微分項演算部３０３と、４次微分項演算部３０４と、５次微分項演算部３０５と、加算部３１０と、比例積分逆伝達関数部３１１の他に、微分次数判定部３３１と、微分係数決定部３３２と、微分係数重み計算部３３３を有している。
また逆特性モデル３３０の他に、テスト信号発生部３３４を有している。
【００７９】
逆特性モデル３３０の各微分項演算部３０１〜３０５は、実施例１と同様に、演算項ａ１ｓ、ａ２ｓ2、ａ３ｓ3、ａ４ｓ4、ａ５ｓ5を有しており、指令位置θに対して、各演算項を乗算した演算信号を出力する。
また比例積分逆伝達関数部３１１は、実施例１と同様に、比例積分演算部１０４の伝達関数であるｋv｛１＋（１／Ｔｖｓ）｝の逆伝達関数である｛Ｔｖ／ｋv（Ｔｖｓ＋１）｝×ｓのうち、｛Ｔｖ／ｋv（Ｔｖｓ＋１）｝を伝達関数として有している。そして、微分演算子ｓは、各係数ａ１〜ａ５に、それぞれ割り振っている。
【００８０】
微分次数判定部３３１は、指令位置θの微分次数を判定する。
微分係数決定部３３２は、微分次数判定部３３１により判定した指令位置θの微分次数に応じて、各微分項演算部３０１〜３０５の各演算項ａ１ｓ、ａ２ｓ2、ａ３ｓ3、ａ４ｓ4、ａ５ｓ5を決定する。
【００８１】
つまり、判定した指令位置θの微分次数が１次であれば、係数ａ１のみを決定し、ａ２〜ａ５は０とし、
判定した指令位置θの微分次数が２次であれば、係数ａ１，ａ２を決定し、ａ３〜ａ５は０とし、
判定した指令位置θの微分次数が３次であれば、係数ａ１〜ａ３を決定し、ａ４，ａ５は０とし、
判定した指令位置θの微分次数が４次であれば、係数ａ１〜ａ４を決定し、ａ５は０とし、
判定した指令位置θの微分次数が５次であれば、係数ａ１〜ａ５を決定する。
【００８２】
この場合、決定された係数をそのまま設定してもよいが、決定された係数を、前回の係数から今回の係数に徐々に変化させるようにして、外乱を防止するようにしてもよい。
【００８３】
また機械定数、例えば負荷のばね剛性ＫL等は、負荷位置に応じて変化するものであるので、微分係数重み計算部３３３に、負荷位置と係数の関係を予め設定しておき、この微分係数重み計算部３３３により、負荷位置に応じて機械定数を自動変更（自動設定）していくこともできる。
【００８４】
更に、テスト信号を発生するテスト信号発生部３３４を備え、テスト信号を入力することより、微分次数の判定をし易くすることもできる。
【実施例３】
【００８５】
図５は本発明の実施例３に係るサーボ制御装置を示すブロック線図である。
【００８６】
実施例３の制御対象機器は、図１２に示すような、モータ１２の回転運動を、ボールねじナット１０とボールねじ軸１１からなるボールねじ送り部９により直線運動に変換して、負荷であるテーブル０２を直線移動させる、工作機械のボールねじ駆動機構である。
【００８７】
実施例３では、図５に示すように、機械系の特性を、モータ１２と、負荷であるテーブル０２とボールねじ送り部９を質点とした、３質点系の機械系のモデルとして特定している。
そして、この機械系を、制御部１００によりサーボ制御（フィードバック制御）することを基本制御としつつ、逆特性モデル３４０によりフィードフォワード補償制御をするものである。
【００８８】
図５に示すように、モータ１２の特性をモデル化して伝達関数で示すと、ブロック１２−１とブロック１２−２とで示される。なお、ＪMはモータのイナーシャを示し、ＤMはモータの粘性を示す。
ブロック１２−１からはモータ速度ωMが出力され、ブロック１２−２からはモータ位置θMが出力される。
【００８９】
ボールねじ送り部９の特性をモデル化して伝達関数で示すと、ブロック９−１とブロック９−２とブロック９−３とで示される。なお、ＪBはボールねじ送り部のイナーシャを示し、ＤBはボールねじ送り部の粘性を示し、ＣBはボールねじ送り部のばね粘性を示し、ＫBはボールねじ送り部のばね剛性を示す。
ブロック９−１は、モータ位置θMとボールねじ位置θBとの偏差（θM−θB）が入力されると、反力トルクを出力する。
この反力トルクとテーブル０２からの反力トルクの差が、ブロック９−２に入力されると、ブロック９−３からボールねじ位置θBが出力される。
【００９０】
負荷であるテーブル０２の特性をモデル化して伝達関数で示すと、ブロック０２−１とブロック０２−２とブロック０２−３とで示される。なお、ＪLは負荷（テーブル）のイナーシャを示し、ＤLは負荷（テーブル）の粘性を示し、ＣLは負荷（テーブル）のばね粘性を示し、ＫLは負荷（テーブル）のばね剛性を示す。
ブロック０２−１は、ボールねじ位置θBと負荷位置θLとの偏差（θB−θL）が入力されると、反力トルクを出力する。
この反力トルクが、ブロック０２−２に入力されると、ブロック０２−３から負荷位置θLが出力される。
【００９１】
制御部１００は、減算部１０１と、乗算器１０２と、減算部１０３と、比例積分演算器１０４を有している。
【００９２】
減算部１０１は、指令位置θと負荷位置θLとの差である偏差位置Δθを出力する。乗算器１０２は、偏差位置Δθに位置ループゲインｋPを乗算して偏差速度ΔＶを出力する。
【００９３】
減算部１０３は、偏差速度ΔＶに、逆特性モデル３４０から出力される補償速度Ｖ340を加えた値から、補償モータ速度ωMを減算した指令速度Ｖを出力する。
補償速度Ｖ340の詳細については後述するが、この補償速度Ｖ340を追加（補償）することにより、質点であるモータ１２やテーブル０２やボールねじ送り部９に生ずる「ひずみ」や「たわみ」や「粘性」といった誤差要因を補償して、正確にテーブル０２の位置制御（サーボ制御）をすることができる。
【００９４】
比例積分演算器１０４は、指令速度Ｖを比例積分演算して指令トルクτを出力する。
即ち、比例積分演算器１０４では、速度ループゲインｋvと積分時定数Ｔvを用いて、
τ＝Ｖ×｛ｋv（１＋（１／Ｔｖｓ））｝という演算をして指令トルクτを求めている。
【００９５】
モータ１２は、電流制御器（図示省略）から指令トルクτに応じた電流が供給されて回転駆動する。この場合、図示は省略するが、指令トルクτに応じた電流値になるように、電流のフィードバック制御を行なっている。
【００９６】
このように、テーブル０２を駆動するボールねじ駆動機構を制御する制御部１００は、位置ループをメインループとし、速度ループと電流ループをマイナーループとした３重のループによってフィードバック制御をしている。
【００９７】
逆特性モデル３４０は、１次微分項演算部３０１と、２次微分項演算部３０２と、３次微分項演算部３０３と、４次微分項演算部３０４と、５次微分項演算部３０５と、６次微分項演算部３０６と、７次微分項演算部３０７と、加算部３１０と、比例積分逆伝達関数部３１１とを有している。
つまり逆特性モデル３００には、各微分項演算部３０１〜３０７と、加算部３１０と、比例積分逆伝達関数部３１１にそれぞれ設定した演算式により、誤差要因を補償する補償制御用伝達関数特性が設定されている。
【００９８】
この逆特性モデル３４０により演算した補償速度Ｖ340は、制御周期が短い速度ループの制御系ではなく、制御周期が最も長い位置ループの制御系を補償するように、減算部１０３に加えられるようにしている。
【００９９】
１次〜７次の各微分項演算部３０１〜３０５は、演算項ａ１、ａ２ｓ、ａ３ｓ2、ａ４ｓ3、ａ５ｓ4、ａ６ｓ5、ａ７ｓ6を有しており、指令位置θに対して、各演算項を乗算した演算信号を出力する。なお、ｓはラプラス演算子（微分演算子）である。
【０１００】
この場合、係数ａ１〜ａ７の値は次の通りに設定している。
【数１２】
0005112100.tif 000010
【０１０１】
詳細は後述するが、上記の各係数ａ１〜ａ７を決定（演算）するに当たって、位置制御の精度に影響することが少ない、負荷であるテーブル０２のばね粘性ＣLと、ボールねじ送り部のばね粘性ＣBを省略して機械系の特性を特定している。
このように、負荷のばね粘性ＣLと、ボールねじ送り部のばね粘性ＣBを省略して機械系の特性を特定することにより、各係数ａ１〜ａ７を決定しているため、各係数の演算式が簡略化でき、制御演算を高速演算することができる。
【０１０２】
比例積分逆伝達関数部３１１は、比例積分演算部１０４の伝達関数であるｋv｛１＋（１／Ｔｖｓ）｝の逆伝達関数である｛Ｔｖ／ｋv（Ｔｖｓ＋１）｝×ｓを伝達関数として有している。
なお、比例積分逆伝達関数部３１１に設定した伝達関数｛Ｔｖ／ｋv（Ｔｖｓ＋１）｝×Ｓは、制御系の特性によって決定される固定値（一定値）である。
【０１０３】
なお、各微分項演算部３０１〜３０５の微分次数を１次上げると共に、比例積分逆伝達関数部３１１に設定した伝達関数の微分次数を１次下げるようにしてもよい。
【０１０４】
次に、上記の各係数ａ１〜ａ７を決定（演算）した演算手法を説明する。
【０１０５】
図５に示す機械系モデルにおいて、トルク及び速度の逆特性モデルの伝達関数は、次のようにして計算できる。
まず、運動方程式から、次式（２１），（２２），（２３）が求められる。
【数１３】
0005112100.tif 000011
【０１０６】
上式（２２），（２３）より、次の式（２４）が得られる。式（２４）の右辺のうちθLを除いた部分が第２の伝達関数式である。
【数１４】
0005112100.tif 000012
【０１０７】
式（２４）を速度指令とするため、両辺にＳをかけると式（２５）が得られる。
【数１５】
0005112100.tif 000013
【０１０８】
式（２１），（２２），（２３）より式（２６）が得られる。式（２６）の右辺のうち、θLを除いた部分が第１伝達関数式である。
【数１６】
0005112100.tif 000014
【０１０９】
実施例１の場合と同様に、式（２６）を速度指令に変換するため、両辺に｛Ｔｖｓ／（ＫｖＴｖｓ＋Ｋｖ）｝をかけると、式（２７）が得られる。式（２７）の右辺が第３の伝達関数式である。
【数１７】
0005112100.tif 000015
【０１１０】
このとき、式（２５）＋式（２７）が実施例３の機械系モデルの速度補償モデルとなる。
実施例１の機械系モデルの場合と同様、このままでは各微分次数に分離することができないが、精度に影響の少ないＣL項及びＣB項を式（２７）から削除すると式（２８）が得られる。
式（２７），（２８）から、各係数ａ１〜ａ７を得たのである。
【数１８】
0005112100.tif 000016
【０１１１】
したがって、逆特性モデル３４０は、指令位置θが入力されると、各微分項演算部３０１〜３０７の演算値が加算部３１０にて加算され、加算値に比例積分逆伝達関数３１１の伝達関数が乗算されて、式（２７），（２８）で示される演算結果となっている補償速度Ｖ340を出力する。この補償速度Ｖ340を偏差速度ΔＶに加算することにより、質点であるモータ１２やテーブル０２やボールねじ送り部９に生ずる「ひずみ」や「たわみ」や「粘性」といった誤差要因を補償して、正確にテーブル０２の位置制御（サーボ制御）をすることができる。
【０１１２】
また、指令位置θを基に得た補償速度Ｖ340を、制御周期の短い位置ループに入力しているため、補償速度Ｖ340の計算周期を長くすることができ、演算負荷が軽くなる。
【実施例４】
【０１１３】
図６は本発明の実施例４に係るサーボ制御装置を示すブロック線図である。
【０１１４】
実施例４の制御対象機器は、図１３に示すような、モータ１２ａの回転運動を、ボールねじナット１０ａとボールねじ軸１１ａからなるボールねじ送り部９ａにより直線運動に変換して、負荷であるサドル０５を直線移動させる、工作機械のボールねじ駆動機構である。
【０１１５】
実施例４では、図６に示すように、機械系の特性を、モータ１２と、負荷であるサドル０５を質点とした、２質点系の機械系のモデルに、コラム０３を備えたモデルとして特定している。
そして、この機械系を、制御部１００ａによりサーボ制御（フィードバック制御）することを基本制御としつつ、逆特性モデル３２０とコラム補償モデル４００によりフィードフォワード補償制御をするものである。
【０１１６】
図６に示すように、モータ１２ａの特性をモデル化して伝達関数で示すと、ブロック１２ａ−１とブロック１２ａ−２とで示される。なお、ＪMはモータイナーシャを示し、ＤMはモータ粘性を示す。
ブロック１２ａ−１からはモータ速度ωMが出力され、ブロック１２ａ−２からはモータ位置θMが出力される。
【０１１７】
負荷であるサドル０５の特性をモデル化して伝達関数で示すと、ブロック０５−１とブロック０５−２とブロック０５−３とで示される。なお、ＪLは負荷（サドル）のイナーシャを示し、ＤLは負荷（サドル）の粘性を示し、ＣLは負荷（サドル）のばね粘性を示し、ＫLは負荷（サドル）のばね剛性を示す。
ブロック０５−１は、モータ位置θMと負荷位置θLとの偏差（θM−θL）が入力されると、反力トルクを出力する。
この反力トルクが、ブロック０５−２に入力されると、ブロック０５−３から負荷位置θLが出力される。
【０１１８】
コラム０３の特性をモデル化して伝達関数で示すと、ブロック０３−１とブロック０３−２とブロック０３−３とで示される。なお、ＪCはコラムのイナーシャを示し、ＣCはコラムのばね粘性を示し、ＫCはコラムのばね剛性を示す
【０１１９】
制御部１００ａは、減算部１０１ａと、乗算器１０２ａと、減算部１０３ａと、比例積分演算器１０４ａを有している。
【０１２０】
減算部１０１ａは、指令位置θにコラム補償した位置と負荷位置θLとの差である偏差位置Δθを出力する。乗算器１０２ａは、偏差位置Δθに位置ループゲインｋPを乗算して偏差速度ΔＶを出力する。
【０１２１】
減算部１０３ａは、偏差速度ΔＶに、逆特性モデル３２０から出力される補償速度Ｖ320を加えた値から、補償モータ速度ωMを減算した指令速度Ｖを出力する。
逆特性モデル３２０は、図２に示すものと同様である。
【０１２２】
比例積分演算器１０４ａは、指令速度Ｖを比例積分演算して指令トルクτを出力する。
即ち、比例積分演算器１０４ａでは、速度ループゲインｋvと積分時定数Ｔvを用いて、
τ＝Ｖ×｛ｋv（１＋（１／Ｔｖｓ））｝という演算をして指令トルクτを求めている。
【０１２３】
モータ１２ａは、電流制御器（図示省略）から指令トルクτに応じた電流が供給されて回転駆動する。この場合、図示は省略するが、指令トルクτに応じた電流値になるように、電流のフィードバック制御を行なっている。
【０１２４】
このように、サドル０５を駆動するボールねじ駆動機構を制御する制御部１００ａは、位置ループをメインループとし、速度ループと電流ループをマイナーループとした３重のループによってフィードバック制御をしている。
【０１２５】
コラム０３のたわみはフィードバック制御できないので、本実施例では、コラム補償モデル４００を備えて、コラム０３のたわみを補償するフィードフォワード補償制御をしている。
【０１２６】
コラム０３のたわみを補償するフィードフォワード補償制御をするため、コラム補償モデル４００に設定する逆伝達関数は、次式（３１）に示される演算式とした。式（３１）に示す演算式の係数は、機械構造によって決定されて変化しないものであるので、一度補償係数を決定すれば、精度よくコラム０３の変形・振動を補償することができる。
【数１９】
0005112100.tif 000017
【０１２７】
式（３１）で示される逆伝達関数をどのようにして求めたかを、次に説明する。
図６に示す機械系モデルにおいて、ＣL項を削除した運動方程式は式（３２），（３３），３４）で表される。
そして、式（３３），（３４）より式（３５）が得られる。
このとき、θｃ＝θとしたいため、負荷位置θLは、式（３５）に従い、わざと指令位置θからずらす。
【数２０】
0005112100.tif 000018
【０１２８】
図７（ａ）はコラム補償モデル４００を使用しない場合のコラム０３の変形の例を示し、図７（ｂ）はコラム補償モデル４００を使用してコラム０３の変形を補償制御したときのコラム０３の状態を示す。なお図７（ａ），（ｂ）において、点線は加速度を示し、実線は誤差を示す。
図７（ａ）に示すようにコラム補償をしない場合には、加速時誤差が８．５μｍで、振動誤差が２１μｍであったものが、図７（ｂ）に示すようにコラム補償をすることにより、加速時誤差が０．５μｍで、振動誤差が４μｍに減少したことを確認した。
【実施例５】
【０１２９】
図８は本発明の実施例５に係るサーボ制御装置を示すブロック線図である。
【０１３０】
実施例５の制御対象機器は、図１３に示すような、モータ１２ａの回転運動を、ボールねじナット１０ａとボールねじ軸１１ａからなるボールねじ送り部９ａにより直線運動に変換して、負荷であるサドル０５を直線移動させる、工作機械のボールねじ駆動機構である。
【０１３１】
実施例５では、図８に示すように、機械系の特性を、モータ１２と、負荷であるサドル０５とボールねじ送り部９を質点とした、３質点系の機械系のモデルに、コラム０３を備えたモデルとして特定している。
そして、この機械系を、制御部１００ａによりサーボ制御（フィードバック制御）することを基本制御としつつ、逆特性モデル３４０とコラム補償モデル４００によりフィードフォワード補償制御をするものである。
【０１３２】
図８に示すように、モータ１２ａの特性をモデル化して伝達関数で示すと、ブロック１２ａ−１とブロック１２ａ−２とで示される。なお、ＪMはモータイナーシャを示し、ＤMはモータ粘性を示す。
ブロック１２ａ−１からはモータ速度ωMが出力され、ブロック１２ａ−２からはモータ位置θMが出力される。
【０１３３】
ボールねじ送り部９の特性をモデル化して伝達関数で示すと、ブロック９−１とブロック９−２とブロック９−３とで示される。なお、ＪBはボールねじ送り部のイナーシャを示し、ＤBはボールねじ送り部の粘性を示し、ＣBはボールねじ送り部のばね粘性を示し、ＫBはボールねじ送り部のばね剛性を示す。
ブロック９−１は、モータ位置θMとボールねじ位置θBとの偏差（θM−θB）が入力されると、反力トルクを出力する。
この反力トルクとサドル０５からの反力トルクの差が、ブロック９−２に入力されると、ブロック９−３からボールねじ位置θBが出力される。
【０１３４】
負荷であるサドル０５の特性をモデル化して伝達関数で示すと、ブロック０５−１とブロック０５−２とブロック０５−３とで示される。なお、ＪLは負荷（サドル）のイナーシャを示し、ＤLは負荷（サドル）の粘性を示し、ＣLは負荷（サドル）のばね粘性を示し、ＫLは負荷（サドル）のばね剛性を示す。
ブロック０５−１は、ボールねじ位置θBと負荷位置θLとの偏差（θB−θL）が入力されると、反力トルクを出力する。
この反力トルクが、ブロック０５−２に入力されると、ブロック０５−３から負荷位置θLが出力される。
【０１３５】
コラム０３の特性をモデル化して伝達関数で示すと、ブロック０３−１とブロック０３−２とブロック０３−３とで示される。なお、ＪCはコラムのイナーシャを示し、ＣCはコラムのばね粘性を示し、ＫCはコラムのばね剛性を示す
【０１３６】
制御部１００ａは、減算部１０１ａと、乗算器１０２ａと、減算部１０３ａと、比例積分演算器１０４ａを有している。
【０１３７】
減算部１０１ａは、指令位置θにコラム補償した位置と負荷位置θLとの差である偏差位置Δθを出力する。乗算器１０２ａは、偏差位置Δθに位置ループゲインｋPを乗算して偏差速度ΔＶを出力する。
【０１３８】
減算部１０３ａは、偏差速度ΔＶに、逆特性モデル３４０から出力される補償速度Ｖ340を加えた値から、補償モータ速度ωMを減算した指令速度Ｖを出力する。
逆特性モデル３４０は、図５に示すものと同様である。
【０１３９】
比例積分演算器１０４ａは、指令速度Ｖを比例積分演算して指令トルクτを出力する。
即ち、比例積分演算器１０４ａでは、速度ループゲインｋvと積分時定数Ｔvを用いて、
τ＝Ｖ×｛ｋv（１＋（１／Ｔｖｓ））｝という演算をして指令トルクτを求めている。
【０１４０】
モータ１２ａは、電流制御器（図示省略）から指令トルクτに応じた電流が供給されて回転駆動する。この場合、図示は省略するが、指令トルクτに応じた電流値になるように、電流のフィードバック制御を行なっている。
【０１４１】
このように、サドル０５を駆動するボールねじ駆動機構を制御する制御部１００ａは、位置ループをメインループとし、速度ループと電流ループをマイナーループとした３重のループによってフィードバック制御をしている。
【０１４２】
コラム０３のたわみはフィードバック制御できないので、本実施例では、コラム補償モデル４００を備えて、コラム０３のたわみを補償するフィードフォワード補償制御をしている。
このコラム補償モデル４００は、図６に示すのと同じである。
【実施例６】
【０１４３】
上述した各実施例は、負荷の実位置を示す負荷位置θLを位置フィードバック信号としてサーボ制御するフルクローズドループ制御のサーボ制御装置であったが、実施例６では、モータ１２の回転角位置を示すモータ位置θMを位置フィードバック信号としてサーボ制御するセミクローズドループ制御のサーボ制御装置である。
【０１４４】
実施例６は図９に示すように、モータ１２の回転角位置を示すモータ位置θMを位置フィードバック信号として、減算部１０１にフィードバックしている。
この減算部１０１には、フィードバック補償モデル５００にて、指令位置θを補償した補償指令位置θhが入力され、補償指令位置θhとモータ位置θMとの偏差より偏差速度ΔＶを求めている。
【０１４５】
フィードバック補償モデル５００に設定した補償用伝達関数は、下式（４２）の（  ）内の式で示すものであり、この式で示す補償用伝達関数により補償することにより、セミクローズドループ制御であっても、モータ１２の動きを、フルクローズドループ制御と同様にすることができる。
【０１４６】
フィードバック補償モデル５００に設定した補償用伝達関数は次のようにして求めたものである。
セミクローズドループ制御の場合、モータ位置θMをフィードバックするため、モータ位置θMと負荷位置θLとの差分を計算して、指令位置θからずらす必要がある。
モータ位置と負荷位置との運動方程式は式（４１）にて示され、この式（４１）から式（４２）が得られる。
負荷位置θL＝指令位置θ、としたいためモータ位置θMは、式（４２）にしたがい、わざと指令位置θからずらしている。
【数２１】
0005112100.tif 000019
【０１４７】
このようにしているため、セミクローズドループ制御であっても、負荷であるテーブル０２をモータ１２により駆動する場合に、逆特性モデル３２０を備えて補償速度Ｖ320を追加することにより、負荷であるテーブル０２を正確に位置制御することができる。
なお、逆特性モデル３２０は、図２に示すものと同じである。
【実施例７】
【０１４８】
図１０に示す実施例７は、フルクローズドループ制御とセミクローズドループ制御とを組み合わせた、デュアルサーボ制御をするサーボ制御装置である。
【０１４９】
実施例７では、減算部６００にて、負荷位置θLとモータ位置θMとの差分を求め、この差分をフィルタ６１０にてフィルタリングしている。なおフィルタ６１０はローパスフィルタであり、例えば、（ａ／（ｓ＋ａ））という伝達関数特性を有している。
【０１５０】
そして、フィルタリングした信号を加算部６２０にてモータ位置θMに加え、加算部６２０から出力される信号θFを、位置フィードバック信号として、減算部１０１にフィードバックしている。
【０１５１】
この減算部１０１には、フィードバック補償モデル５００にて、指令位置θを補償した補償指令位置θhが入力される。
更に、減算部１０１では、フィードバック補償モデル５１０とフィルタ補償モデル５２０にて指令位置θを補償した信号θaが減算されるようになっている。
結局、補償指令位置θhから、θFとθaを減算することにより、偏差速度ΔＶを求めている。
フィードバック補償モデル５００は、図９に示すものと同じである。
【０１５２】
フィードバック補償モデル５１０に設定した補償用伝達関数は、下式（５３）の（  ）内に示す（ＪLＳ2＋ＤLＳ）／ＫLである。
このように、フィードバック補償モデル５１０とフィルタ補償モデル５２０にて指令位置θを補償した信号θaを減算することにより、デュアルサーボ制御であっても、モータ１２の動きを、フルクローズドループ制御と同様にすることができる。
【０１５３】
フィードバック補償モデル５１０に設定した補償用伝達関数は次のようにして求めたものである。
デュアルサーボ制御の場合、モータ位置θMと負荷位置θLとの差分をフィルタ６１０を通してフィードバックするため、負荷位置θLとの差分を計算して、指令位置θからずらす必要がある。
モータ位置と負荷位置との運動方程式は式（５１），（５２）にて示され、この式（５１），（５２）から式（５３）が得られる。
負荷位置θL＝指令位置θ、としたいためフィードバック位置θFは、式（５３）にしたがい、わざと指令位置θからずらしている。
【数２２】
0005112100.tif 000020
【０１５４】
このようにしているため、デュアルサーボ制御であっても、負荷であるテーブル０２をモータ１２により駆動する場合に、逆特性モデル３２０を備えて補償速度Ｖ320を追加することにより、負荷であるテーブル０２を正確に位置制御することができる。
なお、逆特性モデル３２０は、図２に示すものと同じである。
【図面の簡単な説明】
【０１５５】
【図１】本発明の実施例１に係るサーボ制御装置を示すブロック線図。
【図２】実施例１の変形例を示すブロック線図。
【図３】誤差に対する影響を示す特性図。
【図４】本発明の実施例２に係るサーボ制御装置を示すブロック線図。
【図５】本発明の実施例３に係るサーボ制御装置を示すブロック線図。
【図６】本発明の実施例４に係るサーボ制御装置を示すブロック線図。
【図７】コラム変形の例を示す特性図。
【図８】本発明の実施例５に係るサーボ制御装置を示すブロック線図。
【図９】本発明の実施例６に係るサーボ制御装置を示すブロック線図。
【図１０】本発明の実施例７に係るサーボ制御装置を示すブロック線図。
【図１１】工作機械の概要を示す斜視図。
【図１２】従来の制御系を示すブロック線図。
【図１３】従来の制御系を示すブロック線図。
【図１４】フィードフォワード補償制御をした従来の制御系を示すブロック線図。
【符号の説明】
【０１５６】
０１  ベッド
０２  テーブル
０３  コラム
０４  クロスレール
０５  サドル
０６  ラム
９，９ａ  ボールねじ送り部
１０，１０ａ  ボールねじナット
１１，１１ａ  ボールねじ軸
１２，１２ａ  モータ
１３，１３ａ  モータエンコーダ
１４，１４ａ  リニアスケール
１００，１００ａ  制御部
３００，３２０，３３０，３４０  逆特性モデル
３０１〜３０７  微分項演算部
３１０  加算部
３１１  比例積分逆伝達関数部
４００  コラム補償モデル
５００，５１０  フィードバック補償モデル
【図１】
0005112100.tif 000024
【図２】
0005112100.tif 000025
【図３】
0005112100.tif 000026
【図４】
0005112100.tif 000027
【図５】
0005112100.tif 000028
【図６】
0005112100.tif 000029
【図７】
0005112100.tif 000030
【図８】
0005112100.tif 000031
【図９】
0005112100.tif 000032
【図１０】
0005112100.tif 000033
【図１１】
0005112100.tif 000034
【図１２】
0005112100.tif 000035
【図１３】
0005112100.tif 000036
【図１４】
0005112100.tif 000037