(57)【特許請求の範囲】
【請求項１】
複数の軸毎に設けられ、モータの回転運動を直線運動に変換するねじ送り部と、前記ねじ送り部によって直線移動させられる被駆動部と、前記ねじ送り部及び前記被駆動部が支持される支持体とを備える数値制御機器に適用され、前記被駆動部の位置を位置指令に一致させるように前記モータを制御するサーボ制御装置であって、
前記軸毎に、前記被駆動部の位置を前記位置指令に一致させるためのフィードバック制御を行うフィードバック手段と、
前記軸毎に、前記フィードバック制御による前記被駆動部に対する位置制御の遅れを補償するためのフィードフォワード制御を行うフィードフォワード手段と、
を備え、
前記フィードフォワード制御がオフとされた場合に、前記軸毎の前記フィードバックゲインを予め設定した同一値とし、前記フィードフォワード手段による前記フィードフォワード制御がオンとされた場合に、前記フィードバック制御によるフィードバックゲインを前記軸毎に応じた所定値とするサーボ制御装置。
【請求項２】
前記所定値は、前記フィードフォワード制御によるフィードフォワードゲインの設定値が各軸で同一の場合と該設定値が一つ以上の前記軸で異なる場合とで、異なる値が設定される請求項１記載のサーボ制御装置。
【請求項３】
前記所定値は、前記フィードフォワード制御によるフィードフォワードゲインの設定値が各軸で同一の場合、前記軸の機械剛性に応じて前記軸毎に設定された値とされる請求項１又は請求項２記載のサーボ制御装置。
【請求項４】
前記所定値は、前記フィードフォワード制御によるフィードフォワードゲインの設定値が一つ以上の前記軸で異なる場合、前記被駆動物に対する前記位置指令と前記被駆動物の実際の位置との偏差が各前記軸で同一となる値とされる請求項１から請求項３の何れか１項記載のサーボ制御装置。
【請求項５】
複数の軸毎に設けられ、モータの回転運動を直線運動に変換するねじ送り部と、前記ねじ送り部によって直線移動させられる被駆動部と、前記ねじ送り部及び前記被駆動部が支持される支持体とを備える数値制御機器に適用され、前記被駆動部の位置を位置指令に一致させるように前記モータを制御するために、
前記軸毎に、前記被駆動部の位置を前記位置指令に一致させるためのフィードバック制御を行うフィードバック手段と、
前記軸毎に、前記フィードバック制御による前記被駆動部に対する位置制御の遅れを補償するためのフィードフォワード制御を行うフィードフォワード手段と、
を備えたサーボ制御装置によるサーボ制御方法であって、
前記フィードフォワード制御がオフとされた場合、前記軸毎の前記フィードバックゲインを予め設定した同一値にして、フィードバック制御を行う第１工程と、
前記フィードフォワード手段による前記フィードフォワード制御がオンとされた場合、前記フィードバック制御によるフィードバックゲインを前記軸毎に応じた所定値にして、フィードフォワード制御を行う第２工程と、
を含むサーボ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボ制御装置及びサーボ制御方法に関するものである。
【背景技術】
【０００２】
例えば、工作機械等に用いられるサーボ制御装置においては、移動させられる被駆動部の位置制御の精度向上のために、様々な制御方法が提案されている。
例えば、特許文献１には、位置制御時の速度超過やオーバーシュートを抑制しつつ位置決め時間を短縮でき、制御応答が低い場合においても安定した制御を行う制御装置として、動作中にモデル速度の多項式に基づいて位置制御ゲインを連続的に変化させる制御装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−７９５２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、２軸以上を有する工作機械において、位置フィードバック制御で用いるフィードバックゲイン（位置ループゲイン）は、従来各軸同じ値が設定されている。この理由は、各軸でフィードバックゲインが異なると、図９に示されるように、被駆動部の移動時の位置偏差のバランスが崩れ、実際の機械軌跡と位置指令により示される軌跡との間に誤差が生じるためである。
しかしながら、各軸で同一とされるフィードバックゲインは、例えば最も機械剛性が弱い軸を基準に定められる。このため、同一のフィードバックゲインでフィードバック制御が行われると、各軸の位置制御が必ずしも最適な応答とはならなかった。
【０００５】
本発明は、このような事情に鑑みてなされたものであって、被駆動物の位置を制御するために複数の軸を有している装置において、各軸の位置制御を最適な応答にできる、サーボ制御装置及びサーボ制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のサーボ制御装置及びサーボ制御方法は以下の手段を採用する。
【０００７】
本発明の第一態様に係るサーボ制御装置は、複数の軸毎に設けられ、モータの回転運動を直線運動に変換するねじ送り部と、前記ねじ送り部によって直線移動させられる被駆動部と、前記ねじ送り部及び前記被駆動部が支持される支持体とを備える数値制御機器に適用され、前記被駆動部の位置を位置指令に一致させるように前記モータを制御するサーボ制御装置であって、前記軸毎に、前記被駆動部の位置を前記位置指令に一致させるためのフィードバック制御を行うフィードバック手段と、前記軸毎に、前記フィードバック制御による前記被駆動部に対する位置制御の遅れを補償するためのフィードフォワード制御を行うフィードフォワード手段と、を備え、前記フィードフォワード制御がオフとされた場合に、前記軸毎の前記フィードバックゲインを予め設定した同一値とされ、前記フィードフォワード手段による前記フィードフォワード制御がオンとされた場合に、前記フィードバック制御によるフィードバックゲインを前記軸毎に応じた所定値とされる。
【０００８】
本構成によれば、サーボ制御装置は、複数の軸毎に設けられ、モータの回転運動を直線運動に変換するねじ送り部と、ねじ送り部によって直線移動させられる被駆動部と、ねじ送り部及び被駆動部が支持される支持体とを備える数値制御機器に適用され、被駆動部の位置を位置指令に一致させるようにモータを制御する。
そして、フィードバック手段によって、複数の軸毎に、被駆動部の位置を位置指令に一致させるためのフィードバック制御が行われる。また、フィードフォワード手段によって、複数の軸毎に、フィードバック制御による被駆動部に対する位置制御の遅れを補償するためのフィードフォワード制御が行われる。
さらに、フィードフォワード制御がオフとされた場合に、軸毎のフィードバックゲインが予め設定した同一値とされ、フィードフォワード制御がオンとされた場合に、フィードバック制御によるフィードバックゲインが軸毎に応じた所定値とされる。
【０００９】
予め設定された各軸で同一のフィードバックゲインは、例えば最も機械剛性が弱い軸を基準に定められる。このため、同一のフィードバックゲインでフィードバック制御が行われると、各軸の位置制御が必ずしも最適な応答とはならなかった。
しかしながら、フィードフォワード制御によって、各軸におけるフィードバック制御の遅れが補償されるので、軸毎のフィードバックゲインを同一としなくても各軸の位置制御の遅れは抑制されることとなる。このため、フィードフォワード制御が行われている場合に、各軸のフィードバックゲインを軸毎に応じた値とすることによって、サーボ制御装置は、各軸における位置制御に遅れを生じさせずに、各軸の位置制御を最適な応答とできる。
【００１０】
このように、本構成は、被駆動物の位置を制御するために複数の軸を有している装置において、各軸の位置制御を最適な応答にできる。
【００１１】
上記第一態様では、前記所定値が、前記フィードフォワード制御によるフィードフォワードゲインの設定値が各軸で同一の場合と該設定値が一つ以上の前記軸で異なる場合とで、異なる値が設定されることが好ましい。
【００１２】
フィードフォワードゲインの設定値が各軸で同一の場合は、各軸毎の被駆動物の移動量に差が生じることが抑制される。一方、フィードフォワードゲインの設定値が一つ以上の軸で異なる場合、各軸のフィードフォワードゲインがアンバランスとなる。各軸のフィードフォワードゲインがアンバランスになると、各軸毎の被駆動物の移動量に差が生じ、精度の高い被駆動物の位置制御が行われないこととなる。
このため、本構成によれば、フィードフォワード制御がオンとされた際に、フィードフォワードゲインの設定値が各軸で同一の場合と該設定値が一つ以上の軸で異なる場合とで、異なる値が設定されるので、各軸の位置制御をより最適な応答にできる。
【００１３】
上記第一態様では、前記所定値が、前記フィードフォワード制御によるフィードフォワードゲインの設定値が各軸で同一の場合、前記軸の機械剛性に応じて前記軸毎に設定された値とされることが好ましい。
【００１４】
一般的に軸の機械剛性は、各軸毎に異なっている。このため、本構成によれば、フィードフォワード制御がオンとされた場合に、フィードバックゲインを軸の機械剛性に応じて軸毎に設定された値とされることで、各軸の位置制御をより最適な応答にできる。
【００１５】
上記第一態様では、前記所定値が、前記フィードフォワード制御によるフィードフォワードゲインの設定値が一つ以上の前記軸で異なる場合、前記被駆動物に対する前記位置指令と前記被駆動物の実際の位置との偏差が各前記軸で同一となる値とされることが好ましい。
【００１６】
本構成によれば、被駆動物に対する位置指令と実際の被駆動物の位置との偏差を各軸で同一とされるので、フィードフォワードゲインのアンバランスを解消し、被駆動部に対する位置指令により示される軌道と実際の軌道との誤差の発生を抑制することができる。
【００１７】
本発明の第二態様に係るサーボ制御方法は、複数の軸毎に設けられ、モータの回転運動を直線運動に変換するねじ送り部と、前記ねじ送り部によって直線移動させられる被駆動部と、前記ねじ送り部及び前記被駆動部が支持される支持体とを備える数値制御機器に適用され、前記被駆動部の位置を位置指令に一致させるように前記モータを制御するために、前記軸毎に、前記被駆動部の位置を前記位置指令に一致させるためのフィードバック制御を行うフィードバック手段と、前記軸毎に、前記フィードバック制御による前記被駆動部に対する位置制御の遅れを補償するためのフィードフォワード制御を行うフィードフォワード手段と、を備えたサーボ制御装置によるサーボ制御方法であって、前記フィードフォワード制御がオフとされた場合、前記軸毎の前記フィードバックゲインを予め設定した同一値にして、フィードバック制御を行う第１工程と、前記フィードフォワード手段による前記フィードフォワード制御がオンとされた場合、前記フィードバック制御によるフィードバックゲインを前記軸毎に応じた所定値にして、フィードフォワード制御を行う第２工程と、を含む。
【発明の効果】
【００１８】
本発明によれば、被駆動物の位置を制御するために複数の軸を有している装置において、各軸の位置制御を最適な応答にできる、という優れた効果を有する。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１実施形態に係るサーボ制御装置が適用される工作機械の概略構成を示した図である。
【図２】本発明の第１実施形態に係るサーボ制御装置の制御対象機器の概略構成を示した図である。
【図３】本発明の第１実施形態に係るサーボ制御装置のブロック線図を示した図である。
【図４】本発明の第１実施形態に係る速度フィードフォワード部のブロック線図を示した図である。
【図５】本発明の第１実施形態に係るサーボ制御処理の流れを示したフローチャートである。
【図６】本発明の第１実施形態に係る被駆動部の移動方向が反転する場合における軌道誤差を示したグラフである。
【図７】本発明の第２実施形態に係るサーボ制御装置のブロック線図を示した図である。
【図８】本発明のサーボ制御処理のステップ１０４において本第２実施形態に係るゲイン変換部で行われる処理の流れを示したフローチャートである。
【図９】従来の技術の説明に要する図である。
【発明を実施するための形態】
【００２０】
以下に、本発明に係るサーボ制御装置及びサーボ制御方法の一実施形態について、図面を参照して、本発明を工作機械（数値制御機器）に適用する場合の実施形態について説明する。
【００２１】
〔第１実施形態〕
図１は、本発明の第１実施形態に係る工作機械５０の概略構成を示した図である。図１に示されるように、工作機械５０は、ベッド１と、ベッド１上に配置され、Ｘ軸方向に沿い移動可能な被駆動部であるテーブル２を備える。また、テーブル２を跨ぐように門形のコラム３が配置されている。コラム３には、Ｙ軸方向にクロスレール４が取り付けられており、このクロスレール４上を被駆動部であるサドル５が移動することにより、サドル５がＹ軸方向に沿い移動可能とされている。サドル５は、Ｚ軸方向に沿い移動可能な被駆動部であるラム６を備える。ラム６の先端には、切削加工等を行う機械先端が取り付けられている。本第１実施形態では、このラム６のＹ軸方向における機械先端位置を位置指令θによって示される位置に一致させるようにサドル５の位置を制御することを目的としている。
【００２２】
図２に、本第１実施形態に係るサーボ制御装置２０の制御対象機器の概略構成を示す。なお、図２に示されるサーボ制御装置２０は、一例としてサドル５をＹ軸方向に沿って移動させるためのサーボ制御装置（Ｙ軸サーボ制御装置）である。このため、テーブル２をＸ軸方向に沿い移動させるためのサーボ制御装置（Ｘ軸サーボ制御装置）、及びラム６をＺ軸方向に沿い移動させるためのサーボ制御装置（Ｚ軸サーボ制御装置）も工作機械５０は備える。これらサーボ機械装置の構成は、図２に示される構成と同様である。
図２に示されるように、制御対象機器は、モータ１２の回転運動をボールねじナット１０とボールねじ軸１１からなるボールねじ送り部（ねじ送り部）９により直線運動に変換して、負荷であるサドル５を直線移動（Ｙ軸方向に移動）させる工作機械５０のボールねじ駆動機構である。モータ１２には、モータ速度ωMを検出して出力するモータエンコーダ１３が配置されている。リニアスケール１４は、サドル５の位置を示す負荷位置θLを検出して出力する。ボールねじ駆動機構では、モータ１２が回転駆動してボールねじ軸１１が回転すると、ボールねじナット１０及びこれに固定連結したサドル５が直線移動するようになっている。
【００２３】
なお、図２に示されるサーボ制御装置２０（Ｙ軸サーボ制御装置）は、ラム６に取り付けられている機械先端がＹ軸方向の位置指令θＹによって示される位置に一致するように、サドル５の位置を制御する。同様に、Ｘ軸サーボ制御装置は、テーブル２の所定位置がＸ軸方向の位置指令θＸによって示される位置に一致するように、テーブル２の位置を制御する。また、Ｚ軸サーボ制御装置は、ラム６に取り付けられている機械先端がＺ軸方向の位置指令θＺによって示される位置に一致するように、ラム６の位置を制御する。
【００２４】
図３は、本第１実施形態に係るサーボ制御装置２０のブロック線図を示した図である。なお、図３は、一例として、Ｙ軸サーボ制御装置のブロック線図を示しているが、Ｘ軸サーボ制御装置及びＺ軸サーボ制御装置も同様の構成である。
【００２５】
図３に示されるように、サーボ制御装置２０は、位置フィードバック部２１、速度フィードフォワード部２２、減算部２３、比例積分演算部２４、切替部２５、及びゲイン変更部２６を有している。
【００２６】
位置フィードバック部２１は、サドル５の位置を位置指令θ（位置指令θＹ）に一致させるための位置フィードバック制御を行う。位置フィードバック部２１は、減算部２７及び乗算部２８を備える。
減算部２７は、位置指令θと負荷位置θLとの差である位置偏差Δθを出力する。乗算部２８は、位置偏差Δθにフィードバックゲイン（以下、「位置ループゲイン」という。）を乗算して偏差速度ΔＶを減算部２３へ出力する。なお、Ｘ軸に対応する位置ループゲインをＫＰＸとし、Ｙ軸に対応する位置ループゲインをＫＰＹとし、Ｚ軸に対応する位置ループゲインをＫＰＺとする。
【００２７】
速度フィードフォワード部２２は、位置フィードバック制御によるサドル５に対する位置制御の遅れを補償するための速度フィードフォワード制御を行う。
【００２８】
速度フィードフォワード部２２は、図４に示されるように、位置指令θを１次微分する１次微分項演算部３０−１と、位置指令θを２次微分する２次微分項演算部３０−２と、位置指令θを３次微分する３次微分項演算部３０−３と、位置指令θを４次微分する４次微分項演算部３０−４とを備える。さらに、速度フィードフォワード部２２は、１次微分項に１次微分フィードフォワードゲイン（ａＹ１）を乗じる乗算部３１−１と、２次微分項に２次次微分フィードフォワードゲイン（ａＹ２）を乗じる乗算部３１−２と、３次微分項に３次微分フィードフォワードゲイン（ａＹ３）を乗じる乗算部３１−３と、４次微分項に４次微分フィードフォワードゲイン（ａＹ４）を乗じる乗算部３１−４と、加算部３２と、速度ループ補償部３３とを備える。図４において、ｓはラプラス演算子（微分演算子）である。なお、本第１実施形態では、１次微分フィードフォワードゲインから４次微分フィードフォワードゲインは、各軸で同一の値が用いられている。
【００２９】
上記１次微分フィードフォワードゲインから４次微分フィードフォワードゲインは、機械系モデルにおけるトルク及び速度の逆特性モデルの伝達関数に設定されている。また、上記速度ループ補償部３３の伝達関数は、位置ゲインＫP、積分時定数Ｔvを用いて、｛ＫP／（１＋Ｔvｓ）｝で表わされる。
【００３０】
速度フィードフォワード部２２では、位置指令θが入力されると、１次微分フィードフォワードゲインが乗算された１次微分項、２次次微分フィードフォワードゲインが乗算された２次微分項、３次微分フィードフォワードゲインが乗算された３次微分項、４次微分フィードフォワードゲインが乗算された４次微分項がそれぞれ加算部３２に入力される。これにより、各異なる微分係数値が加算され、速度ループ補償部３３に与えられる。速度ループ補償部３３では、上記伝達関数で表わされる位置補償が施されて得た補償速度Ｖ’を減算部２３へ出力する。補償速度Ｖ’は、モータ１２やサドル５に対する「ひずみ」、「たわみ」、「粘性」といった誤差要因（遅れ要因）を補償した速度である。
【００３１】
減算部２３は、偏差速度ΔＶに、速度フィードフォワード部２２から出力された補償速度Ｖ´を加えた値からモータ速度ωMを減算した指令速度Ｖを出力し、比例積分演算部２４へ出力する。
【００３２】
比例積分演算部２４は、指令速度Ｖを比例積分演算して指令トルクτを出力する。比例積分演算部２４では、速度ループゲインＫv、積分時定数Ｔv、及びトルク定数ＫTを用いた、τ＝ＶＫT｛Ｋv（１＋（１／Ｔvｓ））｝という演算をして指令トルクτを求めている。
【００３３】
この指令トルクτは、図２に示される制御対象機器に与えられ、この指令トルクτに基づく各部の制御が行われる。例えば、モータ１２は、電流制御器（図示省略）から指令トルクτに応じた電流が供給されることにより回転駆動する。この場合、図示は省略するが、指令トルクτに応じた電流値になるように、電流のフィードバック制御が行われている。モータ１２の回転運動はボールねじ送り部９により直線運動に変換される。この結果、ボールねじ送り部９に螺合されるボールねじナット１０が、ボールねじナット１０に固定されているサドル５と共に移動し、サドル５が位置指令θＹにより示される位置に移動する。
【００３４】
切替部２５は、速度フィードフォワード部２２による速度フィードフォワード制御のオン及びオフを切り替える。
【００３５】
ゲイン変更部２６は、切替部２５によって速度フィードフォワード制御がオフとされた場合に、軸毎の位置ループゲインを予め設定した同一値（以下、「共通ゲイン」という。）とし、切替部２５によって速度フィードフォワード制御がオンとされた場合に、位置フィードバック制御による位置ループゲインを軸毎に応じた所定値（以下、「最適ゲイン」という。）とする。なお、ゲイン変更部２６は、最適ゲイン及び共通ゲインを記憶する記憶部を備える。
【００３６】
共通ゲインは、Ｘ軸、Ｙ軸、Ｚ軸のうち、最も機械剛性が弱い軸を基準とした値とされている。このため、共通ゲインでは、各軸の位置ループゲインは必ずしも最適な値であるとは限らない。
一方、最適ゲインは、軸の機械剛性に応じて、Ｘ軸、Ｙ軸、Ｚ軸毎に最適な位置ループ応答が得られるように予め設定されている。例えば、Ｘ軸上には重量物であるテーブル２が移動するため、ゲインを大きくするとハンチングが生じやすくなるため、Ｘ軸の最適ゲインは他の軸に比べ小さい。また、Ｚ軸上には比較的軽量であるラム６が移動し、かつＺ軸はテーブル２に載置された被加工物に対して上下方向に移動する方向ため、比較的高いゲインを得ることが望ましく、Ｚ軸の最適ゲインは他の軸に比べて大きい。
【００３７】
なお、サーボ制御装置２０は、例えば、ＣＰＵ（Central  Processing  Unit）、ＲＡＭ（Random  Access  Memory）、及びコンピュータ読み取り可能な記録媒体等から構成されている。そして、各種制御に係る機能を実現するための一連の処理は、一例として、プログラムの形式で記録媒体等に記録されており、このプログラムをＣＰＵがＲＡＭ等に読み出して、情報の加工・演算処理を実行することにより、各種制御が実現される。
また、速度フィードフォワード部２２、位置フィードバック部２１、減算部２３、及び比例積分演算部２４は、各軸毎に設けられる一方、切替部２５及びゲイン変更部２６は、各軸共通としてもよい。
【００３８】
次に、本第１実施形態に係るサーボ制御装置２０で実行される処理（以下、「サーボ制御処理」という。）について、図５に示されるフローチャートを用いて説明する。なお、サーボ制御処理は、工作機械５０の動作が開始されると共に開始し、工作機械５０の動作が終了すると共に終了する。
【００３９】
まず、ステップ１００では、位置フィードバック制御による各軸に対する位置制御が開始される。この場合、位置ループゲインは共通ゲインとされ、速度フィードフォワード制御は開始されていない。
【００４０】
次のステップ１０２では、速度フィードフォワード制御のオン指令があるか否かを切替部２５が判定し、肯定判定の場合は、ステップ１０４へ移行し、否定判定の場合は、ステップ１０４へ移行せずに、位置フィードバック制御のみによる制御が継続される。
なお、速度フィードフォワード制御のオン指令がされる場合とは、例えば、テーブル２に載置された被加工物に対してラム６による加工が行われる場合等である。
【００４１】
ステップ１０４では、位置ループゲインが変更されると共に、速度フィードフォワード制御が開始される。具体的には、切替部２５が、ゲイン変更部２６へ位置ループゲインを変更させるゲイン変更指令を出力すると共に、速度フィードフォワード部２２へ速度フィードフォワード制御を開始させるためのＦＦ制御開始指令を出力する。
ゲイン変更部２６は、ゲイン変更指令が入力されると、各軸の位置ループゲインを共通ゲインから最適ゲインへ変更する。
速度フィードフォワード部２２は、ＦＦ制御開始指令が入力されると、速度フィードフォワード制御を開始する。
【００４２】
これにより、工作機械５０は、位置フィードバック制御及び速度フィードフォワード制御による制御が開始される。速度フィードフォワード制御によって、各軸における位置フィードバック制御の遅れが補償されるので、軸毎の位置ループゲインを同一としなくても各軸の位置制御の遅れは抑制されることとなる。このため、速度フィードフォワード制御が行われている場合に、各軸の位置ループゲインを軸毎に応じた最適ゲインとすることによって、サーボ制御装置２０は、各軸における位置制御に遅れを生じさせずに、各軸の位置制御を最適な応答とできる。
【００４３】
次のステップ１０６では、速度フィードフォワード制御のオフ指令があるか否かを切替部２５が判定し、肯定判定の場合は、ステップ１０８へ移行し、否定判定の場合は、ステップ１０８へ移行せずに、位置フィードバック制御及び速度フィードフォワード制御による制御が継続される。
【００４４】
ステップ１０８では、位置ループゲインが最適ゲインから共通ゲインへ変更されると共に、速度フィードフォワード制御が終了され、ステップ１０２へ戻り、工作機械５０の動作が終了するまでステップ１０２からステップ１０８の処理を繰り返す。
【００４５】
また、位置ループゲインが最適ゲインとされた場合の効果は、被駆動部であるテーブル２、サドル５、及びラム６の移動方法が各軸で反転する場合に顕著に現れる。
【００４６】
図６は、被駆動部の移動方向が反転する場合における位置指令により示される軌道と実際の軌道との誤差（以下、「軌道誤差」という。）を示したグラフである。図６は、一例としてＸＺ平面における軌道誤差を示しており、二点鎖線の円で囲まれた領域が、移動方向が反転した場合の軌道誤差である。図６の下図は、上記円で囲まれた領域における被駆動部であるテーブル２の位置（実線）と軸を介してテーブル２を移動させるモータ１２の位置（破線）の時間変化を示したグラフであり、本来移動方向が反転しても、モータ１２の位置に追従するべき、テーブル２の位置が追従しきれず、遅れが生じていることを示している（破線で示された円内）。
【００４７】
このように、被駆動部の移動方向が反転する場合、摩擦等の影響によって被駆動部に対する位置制御に遅れが生じる場合がある。しかしながら、位置ループゲインが最適ゲインとされるので、被駆動部に対する位置制御の遅れを抑制することができる。
【００４８】
以上説明したように、本第１実施形態に係るサーボ制御装置２０は、Ｘ軸、Ｙ軸、Ｚ軸毎に、被駆動部の位置を位置指令に一致させるための位置フィードバック制御を行う位置フィードバック部２１と、軸毎に、位置フィードバック制御による被駆動部に対する位置制御の遅れを補償するための速度フィードフォワード制御を行う速度フィードフォワード部２２とを備える。そして、サーボ制御装置２０は、速度フィードフォワード制御がオフとされた場合に、軸毎の位置ループゲインを予め設定した同一値とし、速度フィードフォワード部２２による速度フィードフォワード制御がオンとされた場合に、位置フィードバック制御による位置ループゲインを軸毎に応じた最適ゲインとする。
従って、本第１実施形態に係るサーボ制御装置２０は、被駆動物の位置を制御するために複数の軸を有している工作機械５０において、各軸の位置制御を最適な応答にできる。
【００４９】
また、本第１実施形態に係るサーボ制御装置２０は、最適ゲインを、軸の機械剛性に応じて軸毎に設定された値とするので、各軸の位置制御をより最適な応答にできる。
【００５０】
〔第２実施形態〕
以下、本発明の第２実施形態について説明する。
【００５１】
なお、本第２実施形態に係る工作機械５０の構成は、図１及び図２に示す第１実施形態に係る工作機械５０の構成と同様であるので説明を省略する。
【００５２】
図７は、本第２実施形態に係るサーボ制御装置２０のブロック線図を示す。なお、図７における図３と同一の構成部分については図３と同一の符号を付して、その説明を省略する。
【００５３】
本第２実施形態に係るフィードフォワードゲインの設定値は可変とされている。フィードフォワードゲインの設定値が一つ以上の軸で異なる場合、各軸のフィードフォワードゲインがアンバランスとなる。各軸のフィードフォワードゲインがアンバランスになると、各軸毎の被駆動物の移動量に差が生じ、精度の高い被駆動物の位置制御が行われないこととなる。
なお、ここでいうフィードフォワードゲインは、代表的なフィードフォワードゲイン(例えば、速度補償値を算出するための１次微分フィードフォワードゲイン）としてもよいし、速度フィードフォワード制御で用いられている複数のフィードフォワードゲインの総和としてもよい。
【００５４】
ゲイン変更部２６’は、フィードフォワードゲインの設定値が一つ以上の軸で異なる場合、各軸の位置フィードバックゲインを、被駆動物に対する位置指令と被駆動物の実際の位置との偏差（位置偏差Δθ）が各軸で同一となる値とする。
【００５５】
本第２実施形態に係るゲイン変更部２６’について具体的に説明する。
Ｘ軸、Ｙ軸、Ｚ軸の１次微分フィードフォワードゲインを各々ａＸ１、ａＹ１、ａＺ１とする。被駆動物の速度に変化が生じることによる衝撃を緩和させたい場合のように、１次微分フィードフォワードゲインを１００％として用いることができない場合がある。
このような場合、Ｘ軸、Ｙ軸、Ｚ軸の１次微分フィードフォワードゲインの重み（０〜１００％）を考慮した１次微分フィードフォワードゲインを各々ｐＸ１、ｐＹ１、ｐＺ１とする。
【００５６】
以下、Ｘ軸を代表して説明する。
指令速度Ｖとして各軸に同じ値を与えると、１次の速度フィードフォワード制御で補償される速度指令ＦＦＸ１は、下記（１）式で表わされる。
【数１】
0005943650.tif 000002
【００５７】
一方、１次の速度フィードフォワード制御で補償されない速度指令Ｖは、位置フィードバック制御で補償されるので、下記（２）式で表わされる。なお、下記（２）式におけるＤＬＸはＸ軸における被駆動物であるテーブル２の位置偏差Δθである。
【数２】
0005943650.tif 000003
【００５８】
上記（１），（２）式から下記（３）式が導かれる。
【数３】
0005943650.tif 000004
そして、Ｘ軸、Ｙ軸、Ｚ軸の各軸で同じ速度指令Ｖを与えた場合、各軸で同じ位置偏差とするために、下記（４）式が導かれる。（４）式は、フィードフォワードゲインの上限値から設定値を減算した値（（４）式の分子）と位置ループゲインの設定値（（４）式の分母）との比が各軸で同一となる。
【数４】
0005943650.tif 000005
【００５９】
ゲイン変更部２６’は、（４）式に基づいて、位置ループゲインの最適ゲインを算出する。例えば、Ｘ軸の１次微分フィードフォワードゲインｐＸ１＝８０％とし、Ｙ軸の１次微分フィードフォワードゲインｐＹ１＝７０％とした場合、上記（４）式から下記（５）式が導き出される。
【数５】
0005943650.tif 000006
なお、（５）式を成立させるためには、Ｘ軸の最適ゲインをＹ軸の位置ループゲインＫＰＹの３分の２としてもよいし、Ｙ軸の最適ゲインをＸ軸の位置ループゲインＫＰＸの２分の３としてもよい。このため、ゲイン変更部２６’は、各軸の位置ループゲインの最大値を超えない範囲で、各軸の位置ループゲインが最も大きくなるように最適ゲインを設定する。
【００６０】
図８は、サーボ制御処理のステップ１０４において本第２実施形態に係るゲイン変更部２６’で行われる処理の流れを示したフローチャートである。
【００６１】
まず、ステップ２００では、各軸のフィードフォワードゲインが同一であるか否かを判定し、肯定判定の場合は、ステップ２０２へ移行し、否定判定の場合は、ステップ２０４へ移行する。例えば、ステップ２００では、全ての１次微分フィードフォワードゲインａＸ１，ａＹ１，ａＺ１が全て同一であるか否かを判定する。同一である場合とは、例えば、１次微分フィードフォワードゲインの重みｐＸ１，ｐＹ１，ｐＺ１が１００％とされている場合に限らず、１００％未満であっても同一であればよい。
【００６２】
ステップ２０２では、軸毎に各軸で最大の位置ループゲイン、すなわち第１実施形態に係る最適ゲインを位置ループゲインとして設定する。
【００６３】
ステップ２０４では、Ｘ軸の位置ループゲインの最大値ＫＰＸＭがＹ軸及びＺ軸の位置ループゲインの最大値ＫＰＹＭ，ＫＰＺＭよりも大きいか否かを判定し、肯定判定の場合は、ステップ２０６へ移行し、否定判定の場合は、ステップ２１６へ移行する。
【００６４】
ステップ２０６では、Ｘ軸の位置ループゲインＫＰＸ＝ＫＰＸＭとし、Ｙ軸の位置ループゲインＫＰＹ及びＺ軸の位置ループゲインＫＰＺを（４）式に基づいて算出する。
【００６５】
次のステップ２０８では、ステップ２０６で算出したＹ軸の位置ループゲインＫＰＹが最大値ＫＰＹＭよりも大きいか否かを判定し、肯定判定の場合は、ステップ２１０へ移行し、否定判定の場合は、ステップ２１２へ移行する。
【００６６】
ステップ２１０では、Ｙ軸の位置ループゲインＫＰＹ＝ＫＰＹＭとし、Ｘ軸の位置ループゲインＫＰＸ及びＺ軸の位置ループゲインＫＰＺを（４）式に基づいて算出する。
【００６７】
次のステップ２１２では、ステップ２１０で算出したＺ軸の位置ループゲインＫＰＺが最大値ＫＰＹＺよりも大きいか否かを判定し、肯定判定の場合は、ステップ２１４へ移行し、否定判定の場合は、ステップ１０６へ移行する。
【００６８】
ステップ２１４では、Ｚ軸の位置ループゲインＫＰＺ＝ＫＰＺＭとし、Ｘ軸の位置ループゲインＫＰＸ及びＹ軸の位置ループゲインＫＰＹを（４）式に基づいて算出し、ステップ１０６へ移行する。
【００６９】
すなわち、ステップ２０８及びステップ２１２で否定判定となってステップ１０６へ移行した場合、各軸の位置ループゲインは、ステップ２０６で算出した位置ループゲインＫＰＸ，ＫＰＹ，ＫＰＺに設定される。一方、ステップ２０８で肯定判定となり、ステップ２１２で否定判定となってステップ１０６へ移行した場合、各軸の位置ループゲインは、ステップ２１０で算出した位置ループゲインＫＰＸ，ＫＰＹ，ＫＰＺに設定される。さらに、ステップ２１２で肯定判定となってステップ１０６へ移行した場合、各軸の位置ループゲインは、ステップ２１４で算出した位置ループゲインＫＰＸ，ＫＰＹ，ＫＰＺに設定される。
【００７０】
ステップ２０４で否定判定となり移行するステップ２１６では、Ｙ軸の位置ループゲインの最大値ＫＰＹＭが他の軸の位置ループゲインの最大値ＫＰＸＭ，ＫＰＺＭよりも大きいか否かを判定し、肯定判定の場合は、ステップ２１８へ移行し、否定判定の場合は、ステップ２２８へ移行する。
【００７１】
ステップ２１８では、Ｙ軸の位置ループゲインＫＰＹ＝ＫＰＹＭとし、Ｘ軸の位置ループゲインＫＰＸ及びＺ軸の位置ループゲインＫＰＺを（４）式に基づいて算出する。
【００７２】
次のステップ２２０では、ステップ２１８で算出したＸ軸の位置ループゲインＫＰＸが最大値ＫＰＸＭよりも大きいか否かを判定し、肯定判定の場合は、ステップ２２２へ移行し、否定判定の場合は、ステップ２２４へ移行する。
【００７３】
ステップ２２２では、Ｘ軸の位置ループゲインＫＰＸ＝ＫＰＸＭとし、Ｙ軸の位置ループゲインＫＰＹ及びＺ軸の位置ループゲインＫＰＺを（４）式に基づいて算出する。
【００７４】
次のステップ２２４では、ステップ２２２で算出したＺ軸の位置ループゲインＫＰＺが最大値ＫＰＺＭよりも大きいか否かを判定し、肯定判定の場合は、ステップ２２６へ移行し、否定判定の場合は、ステップ１０６へ移行する。
【００７５】
ステップ２２６では、Ｚ軸の位置ループゲインＫＰＺ＝ＫＰＺＭとし、Ｘ軸の位置ループゲインＫＰＸ及びＹ軸の位置ループゲインＫＰＹを（４）式に基づいて算出し、ステップ１０６へ移行する。
【００７６】
すなわち、ステップ２２０及びステップ２２４で否定判定となってステップ１０６へ移行した場合、各軸の位置ループゲインは、ステップ２１８で算出した位置ループゲインＫＰＸ，ＫＰＹ，ＫＰＺに設定される。一方、ステップ２２０で肯定判定となり、ステップ２２４で否定判定となってステップ１０６へ移行した場合、各軸の位置ループゲインは、ステップ２２２で算出した位置ループゲインＫＰＸ，ＫＰＹ，ＫＰＺに設定される。さらに、ステップ２２４で肯定判定となってステップ１０６へ移行した場合、各軸の位置ループゲインは、ステップ２２６で算出した位置ループゲインＫＰＸ，ＫＰＹ，ＫＰＺに設定される。
【００７７】
ステップ２１６で否定判定となり移行するステップ２２８では、Ｚ軸の位置ループゲインＫＰＺ＝ＫＰＺＭとし、Ｘ軸の位置ループゲインＫＰＸ及びＹ軸の位置ループゲインＫＰＹを（４）式に基づいて算出する。
【００７８】
次のステップ２３０では、ステップ２２８で算出したＸ軸の位置ループゲインＫＰＸが最大値ＫＰＸＭよりも大きいか否かを判定し、肯定判定の場合は、ステップ２３２へ移行し、否定判定の場合は、ステップ２３４へ移行する。
【００７９】
ステップ２３２では、Ｘ軸の位置ループゲインＫＰＸ＝ＫＰＸＭとし、Ｙ軸の位置ループゲインＫＰＹ及びＺ軸の位置ループゲインＫＰＺを（４）式に基づいて算出する。
【００８０】
次のステップ２３４では、ステップ２３２で算出したＹ軸の位置ループゲインＫＰＹが最大値ＫＰＹＭよりも大きいか否かを判定し、肯定判定の場合は、ステップ２３６へ移行し、否定判定の場合は、ステップ１０６へ移行する。
【００８１】
ステップ２３６では、Ｙ軸の位置ループゲインＫＰＹ＝ＫＰＹＭとし、Ｘ軸の位置ループゲインＫＰＸ及びＺ軸の位置ループゲインＫＰＺを（４）式に基づいて算出し、ステップ１０６へ移行する。
【００８２】
すなわち、ステップ２３０及びステップ２３４で否定判定となってステップ１０６へ移行した場合、各軸の位置ループゲインは、ステップ２２８で算出した位置ループゲインＫＰＸ，ＫＰＹ，ＫＰＺに設定される。一方、ステップ２３０で肯定判定となり、ステップ２３４で否定判定となってステップ１０６へ移行した場合、各軸の位置ループゲインは、ステップ２３２で算出した位置ループゲインＫＰＸ，ＫＰＹ，ＫＰＺに設定される。さらに、ステップ２３４で肯定判定となってステップ１０６へ移行した場合、各軸の位置ループゲインは、ステップ２３６で算出した位置ループゲインＫＰＸ，ＫＰＹ，ＫＰＺに設定される。
【００８３】
以上説明したように、本第２実施形態に係るサーボ制御装置２０は、フィードフォワード制御をオンとした際に、フィードフォワードゲインの設定値が各軸で同一の場合と該設定値が一つ以上の軸で異なる場合とで、異なる値を設定する。
フィードフォワードゲインの設定値が各軸で同一の場合は、各軸毎の被駆動物の移動量に差が生じることが抑制される。一方、フィードフォワードゲインの設定値が一つ以上の軸で異なる場合、各軸毎の被駆動物の移動量に差が生じ、精度の高い被駆動物の位置制御が行われないこととなる。
このため、本第２実施形態では、フィードフォワードゲインの設定値が各軸で同一の場合と該設定値が一つ以上の軸で異なる場合とで、異なる値が設定されるので、各軸の位置制御をより最適な応答にできる。
【００８４】
そして、フィードフォワードゲインの設定値が一つ以上の軸で異なる場合、位置ループゲインが、被駆動物に対する位置指令と被駆動物の実際の位置との偏差が各軸で同一となる値とされる。このため、本第２実施形態に係るサーボ制御装置２０は、フィードフォワードゲインのアンバランスを解消し、被駆動部に対する位置指令により示される軌道と実際の軌道との誤差の発生を抑制することができる。
【００８５】
また、図８に示される処理は、各軸のフィードフォワードゲインの少なくとも一つが変更される度に行われてもよい。
【００８６】
以上、本発明を、上記各実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記各実施形態に多様な変更または改良を加えることができ、該変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【００８７】
例えば、上記各実施形態では、本発明を、３軸（Ｘ軸、Ｙ軸、Ｚ軸）を有する工作機械のサーボ制御装置に適用する形態について説明したが、本発明は、これに限定されるものではなく、本発明を、２軸又は４軸以上を有する工作機械のサーボ制御装置に適用する形態としてもよい。
【００８８】
また、上記各実施形態で説明したサーボ制御処理の流れも一例であり、本発明の主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
【符号の説明】
【００８９】
１    ベッド
２    テーブル
３    コラム
４    クロスレール
５    サドル
６    ラム
９    ボールねじ送り部
１１  ボールねじ軸
１２  モータ
２０  サーボ制御装置
２１  位置フィードバック部
２２  速度フィードフォワード部
２５  切替部
２６  ゲイン変更部
５０  工作機械
【図１】
0005943650.tif 000007
【図２】
0005943650.tif 000008
【図３】
0005943650.tif 000009
【図４】
0005943650.tif 000010
【図５】
0005943650.tif 000011
【図６】
0005943650.tif 000012
【図７】
0005943650.tif 000013
【図８】
0005943650.tif 000014
【図９】
0005943650.tif 000015