(57)【要約】【課題】フルクローズド・ループ制御にてサーボモータを駆動制御する際、位置ループゲインを上げることができ、その結果、機械振動を抑制した制御が可能となり、応答性が悪化しない工作機械の位置制御装置及び工作機械の位置制御方法を提供する。【解決手段】工作機械の位置制御装置１０の制御回路は、モータ速度ＶMとモータ位置ＰM、及び機械速度Ｖmと機械位置Ｐmの４つの情報が関与する関数Ｆ（ＶM，ＰM，Ｖm，Ｐm）に基づいて統合フィードバック値ｇを演算し、推力指令τ＊に統合フィードバック値ｇを補償する。【選択図】        図１
2005056254.tif 000002
【特許請求の範囲】
【請求項１】
機械位置指令に基づいて位置制御部にて速度指令を出力し、前記速度指令に基づきＰＩ制御を用いた速度制御部にて推力指令を出力して、駆動部を前記推力指令に基づいて駆動制御するとともに、前記駆動部により駆動される被駆動体の機械位置を同機械位置の検出に基づきフルクローズド・ループ制御にて位置制御する工作機械の位置制御装置において、
前記駆動部の駆動状態量を検出する第１検出手段と、
前記被駆動体の従動状態量を検出する第２検出手段と、
前記駆動部の駆動状態量に基づいて得られる前記駆動部の速度と位置、及び前記被駆動体の従動状態量に基づいて得られる前記被駆動体の速度と位置の４つの情報のうち、少なくとも、前記駆動部の速度と前記被駆動体の速度、又は、前記駆動部の位置と前記被駆動体の位置が関与する関数に基づいて統合フィードバック値を演算する統合フィードバック値演算手段と、
前記推力指令に前記統合フィードバック値を補償する補償手段と
を備えたことを特徴とする工作機械の位置制御装置。
【請求項２】
前記統合フィードバック値演算手段が演算する関数は、前記駆動部の速度と位置、及び前記被駆動体の速度と位置の４つの情報に対して、それぞれ所定のフィードバック係数を乗算し、乗算して得た値を合計するものであることを特徴とする請求項１に記載の工作機械の位置制御装置。
【請求項３】
前記駆動部の位置に乗算するフィードバック係数と、前記被駆動体の位置に乗算するフィードバック係数は、互いに絶対値が等しく、符号が異なることを特徴とする請求項２に記載の工作機械の位置制御装置。
【請求項４】
前記位置制御部が出力する速度指令から工作機械の速度出力までの伝達関数を、前記工作機械のモデルを駆動部と被駆動体との２慣性モデルとして想定した上で、下記式（１−１）にて表わすとともに、極が−Ａ±ｊＡ，−Ｂ，−Ｃ、零点が−Ｄ（Ａ，Ｂ，Ｃ，Ｄ，＞０）として、下記式（１−２）で表したとき、
前記速度制御部のＰＩ制御のゲインと、前記４つの情報に対してそれぞれ乗算する各フィードバック係数を、前記式（１−１）と式（１−２）式の係数比較を行って得られた式に基づいて求める制御パラメータ演算部を備えることを特徴とする請求項２に記載の工作機械の位置制御装置。
【数１】
2005056254.tif 000008
【請求項５】
オーバーシュートを抑えるパラメータをＫos，振動の減衰性を増すパラメータをＫd、及び振動の振幅を小さくするパラメータをＫvaとしたとき、前記第１検出手段が検出した駆動状態量に基づいて得られる速度及び位置に対してそれぞれ乗算するフィードバック係数を（Ｋos＋Ｋd）・Ｋv及びＫva・Ｋiと規定し、前記第２検出手段が検出した従動状態量に基づいて得られる速度及び位置に対してそれぞれ乗算するフィードバック係数を（Ｋos−Ｋｄ）・Ｋv及び−Ｋva・Ｋiと規定したことを特徴とする請求項２に記載の工作機械の位置制御装置。
【請求項６】
前記統合フィードバック値演算手段が演算する関数は、
前記駆動部の速度と前記被駆動体の速度の差、前記駆動部の速度と前記被駆動体の速度の和、及び前記駆動部の位置と前記被駆動体の位置の差のそれぞれに所定のフィードバック係数を乗算し、乗算して得た値を合計するものであることを特徴とする請求項１に記載の工作機械の位置制御装置。
【請求項７】
機械位置指令に基づいて位置制御部にて速度指令を出力し、前記速度指令に基づきＰＩ制御を用いた速度制御部にて推力指令を出力して、駆動部を前記推力指令に基づいて駆動制御するとともに、前記駆動部により駆動される被駆動体の機械位置を同機械位置の検出に基づきフルクローズド・ループ制御にて位置制御する工作機械の位置制御方法において、
前記駆動部の駆動状態量に基づいて得られる前記駆動部の速度と位置、及び前記被駆動体の従動状態量に基づいて得られる前記被駆動体の速度と位置の４つの情報のうち、少なくとも、前記駆動部の速度と前記被駆動体の速度、又は、前記駆動部の位置と前記被駆動体の位置が関与する関数に基づいて統合フィードバック値を演算し、
前記推力指令に前記統合フィードバック値を補償することを特徴とする工作機械の位置制御方法。
【請求項８】
前記関数は、前記駆動部の速度と位置、及び前記被駆動体の速度と位置の４つの情報に対して、それぞれ所定のフィードバック係数を乗算し、乗算して得た値を合計するものであることを特徴とする請求項７に記載の工作機械の位置制御方法。
【請求項９】
前記関数は、前記駆動部の速度と前記被駆動体の速度の差、前記駆動部の速度と前記被駆動体の速度の和、及び前記駆動部の位置と前記被駆動体の位置の差のそれぞれに所定のフィードバック係数を乗算し、乗算して得た値を合計するものであることを特徴とする請求項７に記載の工作機械の位置制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械の位置制御装置及び工作機械の位置制御方法に関する。
【背景技術】
【０００２】
従来から、機械駆動系の被駆動体である例えば送り軸を、駆動部としてのサーボモータにより、駆動する工作機械の位置制御装置は公知である。この送り軸の駆動のために行われているサーボ制御としては、フルクローズド・ループ制御とセミクローズド・ループ制御が知られている。フルクローズド・ループ制御を行う制御装置では、工作機械のテーブル等の機械駆動系の被駆動体に対して、光学スケール等からなる位置検出器にて位置検出を行い、この検出した被駆動体の位置データをフィードバックする制御ループが構成されている。
【０００３】
一方、セミクローズド・ループ制御を行う制御装置では、サーボモータに内蔵されたロータリエンコーダ等の位置検出装置の検出に基づいて得られた位置データをフィードバックする制御ループが構成されている。ところで、セミクローズド・ループ制御はサーボモータを直接制御するため、制御性がよいが、最終的に定常偏差が残る問題がある。それに対して、フルクローズド・ループ制御は被駆動体の位置を直接検出して制御するため、定常偏差が残らず、位置決め精度が良くなる利点がある。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、フルクローズド・ループ制御では、制御ループ内に機械自体を含むため、機械の剛性が低い場合には、セミクローズド・ループ制御に比較して、位置ループゲインを小さく設定する必要がある。ところが、位置ループゲインを小さく設定した場合には、応答性が悪化するので、輪郭運動精度などの動的性能が劣る問題があった。
【０００５】
本発明の目的は、フルクローズド・ループ制御にてサーボモータを駆動制御する際、位置ループゲインを上げることができ、その結果、機械振動を抑制した制御が可能となり、応答性が悪化しない工作機械の位置制御装置及び工作機械の位置制御方法を提供することにある。
【課題を解決するための手段】
【０００６】
上記問題点を解決するために、請求項１に記載の発明は、機械位置指令に基づいて位置制御部にて速度指令を出力し、前記速度指令に基づきＰＩ制御を用いた速度制御部にて推力指令を出力して、駆動部を前記推力指令に基づいて駆動制御するとともに、前記駆動部により駆動される被駆動体の機械位置を同機械位置の検出に基づきフルクローズド・ループ制御にて位置制御する工作機械の位置制御装置において、前記駆動部の駆動状態量を検出する第１検出手段と、前記被駆動体の従動状態量を検出する第２検出手段と、前記駆動部の駆動状態量に基づいて得られる前記駆動部の速度と位置、及び前記被駆動体の従動状態量に基づいて得られる前記被駆動体の速度と位置の４つの情報のうち、少なくとも、前記駆動部の速度と前記被駆動体の速度、又は、前記駆動部の位置と前記被駆動体の位置が関与する関数に基づいて統合フィードバック値を演算する統合フィードバック値演算手段と、前記推力指令に前記統合フィードバック値を補償する補償手段とを備えたことを特徴とする工作機械の位置制御装置を要旨とするものである。
【０００７】
請求項２の発明は、請求項１において、前記統合フィードバック値演算手段が演算する関数は、前記駆動部の速度と位置、及び前記被駆動体の速度と位置の４つの情報に対して、それぞれ所定のフィードバック係数を乗算し、乗算して得た値を合計するものであることを特徴とする。
【０００８】
請求項３の発明は、請求項２において、前記駆動部の位置に乗算するフィードバック係数と、前記被駆動体の位置に乗算するフィードバック係数は、互いに絶対値が等しく、符号が異なることを特徴とする。
【０００９】
請求項４の発明は、請求項２において、前記位置制御部が出力する速度指令から工作機械の速度出力までの伝達関数を、前記工作機械のモデルを駆動部と被駆動体との２慣性モデルとして想定した上で、下記式（１−１）にて表わすとともに、極が−Ａ±ｊＡ，−Ｂ，−Ｃ、零点が−Ｄ（Ａ，Ｂ，Ｃ，Ｄ，＞０）として、下記式（１−２）で表したとき、前記速度制御部のＰＩ制御のゲインと、前記４つの情報に対してそれぞれ乗算する各フィードバック係数を、前記式（１−１）と式（１−２）式の係数比較を行って得られた式に基づいて求める制御パラメータ演算部を備えることを特徴とする。
【００１０】
【数１】
2005056254.tif 000003
なお、Ｍの１次側慣性、ｍの２次側慣性は、２慣性モデルが、直線運動系の場合は、それぞれ慣性質量を意味し、回転運動系の場合は、慣性モーメントを意味する。
【００１１】
請求項５の発明は、請求項２において、オーバーシュートを抑えるパラメータをＫos，振動の減衰性を増すパラメータをＫd、及び振動の振幅を小さくするパラメータをＫvaとしたとき、前記第１検出手段が検出した駆動状態量に基づいて得られる速度及び位置に対してそれぞれ乗算するフィードバック係数を（Ｋos＋Ｋd）・Ｋv及びＫva・Ｋiと規定し、前記第２検出手段が検出した従動状態量に基づいて得られる速度及び位置に対してそれぞれ乗算するフィードバック係数を（Ｋos−Ｋd）・Ｋv及び−Ｋva・Ｋiと規定したことを特徴とする。
【００１２】
請求項６の発明は、請求項１において、前記統合フィードバック値演算手段が演算する関数は、前記駆動部の速度と前記被駆動体の速度の差、前記駆動部の速度と前記被駆動体の速度の和、及び前記駆動部の位置と前記被駆動体の位置の差のそれぞれに所定のフィードバック係数を乗算し、乗算して得た値を合計するものであることを特徴とする。
【００１３】
請求項７の発明は、機械位置指令に基づいて位置制御部にて速度指令を出力し、前記速度指令に基づきＰＩ制御を用いた速度制御部にて推力指令を出力して、駆動部を前記推力指令に基づいて駆動制御するとともに、前記駆動部により駆動される被駆動体の機械位置を同機械位置の検出に基づきフルクローズド・ループ制御にて位置制御する工作機械の位置制御方法において、前記駆動部の駆動状態量に基づいて得られる前記駆動部の速度と位置、及び前記被駆動体の従動状態量に基づいて得られる前記被駆動体の速度と位置の４つの情報のうち、少なくとも、前記駆動部の速度と前記被駆動体の速度、又は、前記駆動部の位置と前記被駆動体の位置が関与する関数に基づいて統合フィードバック値を演算し、前記推力指令に前記統合フィードバック値を補償することを特徴とする工作機械の位置制御方法を要旨とするものである。
【００１４】
請求項８の発明は、請求項７において、前記関数は、前記駆動部の速度と位置、及び前記被駆動体の速度と位置の４つの情報に対して、それぞれ所定のフィードバック係数を乗算し、乗算して得た値を合計するものであることを特徴とする。
【００１５】
請求項９の発明は、請求項７において、前記関数は、前記駆動部の速度と前記被駆動体の速度の差、前記駆動部の速度と前記被駆動体の速度の和、及び前記駆動部の位置と前記被駆動体の位置の差のそれぞれに所定のフィードバック係数を乗算し、乗算して得た値を合計するものであることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、機械振動を抑制した制御が可能であり、速度・位置ループゲインを上げることができる。
又、本発明の位置制御装置の制御は速度制御部のＰＩ制御に現代制御理論を組み合わせているため、ＰＩ制御に関しては、従来の調整方法で従来通りの性能を出すことができる。その上で、機械モデルの同定と係数計算を実行し、装置を有効とする手順を踏めば装置の安全な立ち上げが可能である。
【００１７】
又、本発明では、速度制御部のＰＩ制御が基本であるので、ワーク重量など機械的な諸元が若干変化しても、安定性が確保される特徴をもつ。
【発明を実施するための最良の形態】
【００１８】
（第１実施形態）
以下、本発明を、具体化した一実施形態を図１及び図２を参照して説明する。図１は、工作機械の位置制御装置１０（以下、単に位置制御装置という）の制御ブロック図である。図２は、位置制御装置１０の概略図である。
【００１９】
図２において、数値制御装置（以下、ＣＮＣ１００という）は、工作機械の制御を行なうコンピュータを内蔵している。制御回路２００はプロセッサ（ＣＰＵ），ＲＯＭ，ＲＡＭ等を備えており、工作機械の各可動部のサーボモータを駆動するサーボ回路の処理をソフトウェアで実行し、各サーボモータを駆動制御するようにされている。
【００２０】
サーボモータ３００は、ボールねじ等の連結部３１０を介して機械駆動系３３０における１つの被駆動体４００を駆動するようにされている。このサーボモータ３００には速度検出器３２０が設けられている。速度検出器３２０はサーボモータ３００に取り付けたロータリーエンコーダ或いはタコジェネレータとする。ロータリーエンコーダの場合は２相９０°位相差のパルス信号を出力するようにされている。なお、アブソリュートエンコーダにてロータリエンコーダを構成しても良い。又、タコジェネレータの場合は出力はアナログ電圧となり、該出力をＡ／Ｄ変換器にてデジタル信号として入力する。速度検出器３２０により、サーボモータ３００のモータ速度ＶMが検出され、制御回路２００に出力される。
【００２１】
又、機械駆動系３３０の被駆動体４００には該被駆動体４００の移動位置を検出するリニアスケール等の位置検出器３４０が取り付けられ、被駆動体４００の位置を検出し、位置検出信号である機械位置Ｐmを制御回路２００に出力している。なお、図２におけるＣＮＣ工作機械は公知であるので、その詳細説明は省略する。
【００２２】
次に図１を参照して位置制御装置１０の制御ブロックについて説明する。
概略すると、位置制御装置１０は位置指令Ｐ＊（機械位置指令）に基づいて位置制御部１２にて速度指令Ｖrを出力し、速度指令Ｖrに基づきＰＩ制御を用いた速度制御部１４にて推力指令τ＊を出力して、サーボモータ３００を推力指令τ＊に基づいて駆動制御する。そして、位置制御装置１０は送り軸（図示しない）等の被駆動体４００の機械位置Ｐmの検出に基づきフルクローズド・ループ制御にて被駆動体４００を位置制御するようにされている。
【００２３】
図１に示す、１１〜１５，３２，３４，４０〜４７，５０の符号で示される構成は、ハードウエアではなく、制御回路２００を構成するＣＰＵが実行するソフトウエアによって実現されるものである。
【００２４】
位置制御装置１０は上位装置であるＣＮＣ１００から減算器１１に機械位置指令としての位置指令Ｐ＊が入力される。減算器１１は位置指令Ｐ＊から機械位置Ｐmを減算し、位置偏差（Ｐ＊−Ｐm）を算出する。前記機械位置Ｐmは最終的に制御対象となる工作機械の送り軸等の被駆動体４００の位置を前記位置検出器３４０により直接検出した位置検出信号である。位置検出器３４０は、第２検出手段に相当し、位置検出信号は被駆動状態量に相当する。
【００２５】
位置制御部１２は位置偏差（Ｐ＊−Ｐm）を位置ループゲインの比率で比例増幅し、速度指令Ｖrを生成する。速度指令Ｖrは、減算器１３に入力される。減算器１３は速度指令Ｖrからモータ速度ＶMを減算し、速度偏差（Ｖr−ＶM）を算出する。モータ速度ＶMはサーボモータ３００に設けられた速度検出器３２０の検出信号である。速度検出器３２０は第１検出手段に相当し、速度検出器３２０が検出した信号は、駆動部の駆動状態量に相当する。又、サーボモータ３００は駆動部に相当する。前記サーボモータ３００は、ボールねじ等の連結部３１０を介して機械駆動系３３０に接続されており、同機械駆動系３３０における前記被駆動体４００の位置を移動させる。機械駆動系３３０の被駆動体４００としては、送り軸等がある。
【００２６】
速度偏差（Ｖr−ＶM）は速度制御部１４に入力される。速度制御部１４は速度偏差（Ｖr−ＶM）を比例積分増幅して、すなわち、ＰＩ制御して、推力指令τ＊を生成する。図１の速度制御部１４内は、速度制御部１４の伝達関数を示しており、Ｋvは速度ループ比例ゲイン、Ｋiは速度ループ積分ゲインである。又、ｓはラプラス演算子である。減算器１５は、推力指令τ＊から後述する補償値である統合フィードバック値ｇを減算し、推力指令偏差（τ＊−ｇ）を算出する。
【００２７】
推力制御部１６は、電流制御器、電力増幅器とサーボモータ３００を含み、前記推力指令偏差（τ＊−ｇ）を入力して、前記電流制御器で電流を制御し、前記電力増幅器にて増幅し、サーボモータ３００にて推力τ（トルク）を出力する。
【００２８】
図１に示す位置制御装置１０の制御対象となる機械モデル２０は、被駆動体４００（負荷）とサーボモータ３００の間を有限の剛性を備えた部材で結合された直線運動系の２慣性モデルである。
【００２９】
同図において、Ｍはサーボモータの慣性モーメントを直線運動の慣性質量に変換した値、すなわち、２慣性モデルの１次側慣性を表し、ｍは被駆動体４００（負荷）の慣性質量、すなわち、２慣性モデルの２次側慣性を表している。Ｋは２慣性モデルの剛性を表し、ｈは２次側慣性に働く２次側推力を示している。１／ｓは積分器を示している。
【００３０】
図１に示すように、推力τは、要素２１にて反力となる２次側推力ｈが減算され、要素２２の伝達関数（１／Ｍｓ）にてモータ速度ＶMが得られる。ここでは、モータ速度ＶMを直線運動に変換した速度として扱う。又、モータ速度ＶMは要素２３にて機械速度Ｖmが減算されて、要素２４に入力される。要素２４では、伝達関数（Ｋ／ｓ）により、２次側推力ｈが出力され、要素２５に入力される。要素２５では、伝達関数（１／ｍｓ）により機械速度Ｖmが得られ、要素３０の積分器により、機械位置Ｐmが得られる。
【００３１】
次に、前記統合フィードバック値演算手段としての統合フィードバック値演算部４０を説明する。
統合フィードバック値演算部４０は、積分器３２、微分器３４、要素４１〜４４，４７を備えている。要素４１は、モータ速度ＶMにモータ速度フィードバック係数Ｋ1（≠０）を乗算して、要素４７に入力する。積分器３２はモータ速度ＶMを積分して、モータ位置ＰMを算出し、要素４２に入力する。要素４２はモータ位置ＰMにモータ位置フィードバック係数Ｋ2（≠０）を乗算して、要素４７に入力する。
【００３２】
又、微分器３４は機械位置Ｐmを微分して機械速度Ｖmを算出し、要素４３に入力する。要素４３は機械速度Ｖmに機械速度フィードバック係数Ｋ3（≠０）を乗算し、要素４７に入力する。さらに、要素４４は、機械位置Ｐmに機械位置フィードバック係数Ｋ4（≠０）を乗算して要素４７に入力する。要素４７は、要素４１〜４４からそれぞれ入力された値を加算し、補償値である統合フィードバック値ｇを算出し、減算器１５に入力する（補償手段）。
【００３３】
制御回路２００は統合フィードバック値演算手段及び補償手段に相当する。
（フィードバック係数、速度ループ比例ゲインＫv及び速度ループ積分ゲインＫiの求め方）
ここで、制御パラメータである各種フィードバック係数、速度ループ比例ゲインＫv及び速度ループ積分ゲインＫiの求め方について説明する。
【００３４】
図１の制御ブロック図において、位置制御部１２から出力する速度指令Ｖrから、機械モデル２０内の要素２５の出力（速度出力）である機械速度Ｖmまでの伝達関数は、下記式（１−０）で表すことができる。この式（１−０）において、定常偏差をなくすためには、Ｋ2＋Ｋ4＝０である条件が必要があり、従って、前記伝達関数は式（１−１）で表される。
【００３５】
又、希望する極を−Ａ±ｊＡ，−Ｂ，−Ｃ、零点が−Ｄ（Ａ，Ｂ，Ｃ，Ｄ，＞０）とすると、前記伝達関数は式（１−２）で表すこともできる。なお、各式中、ｓはラプラス演算子である。
【００３６】
【数２】
2005056254.tif 000004
この式（１−１）と式（１−２）の係数比較をすることにより、各制御パラメータを算出する式としては、下式（２−１）〜式（２−６）が得られる。なお、Ｍの１次側慣性、ｍの２次側慣性は、２慣性モデルが、直線運動系の場合は、それぞれ慣性質量を意味し、回転運動系の場合は、慣性モーメントで意味する。本実施形態では、２慣性モデルが直線運動系であるため、慣性質量を意味している。
【００３７】
【数３】
2005056254.tif 000005
本実施形態では、図１に示す数値設定部６０にて、Ａ，Ｂ，Ｃ、Ｄ，Ｍ，ｍ，Ｋを入力すると、ＣＰＵである制御パラメータ演算部５０がこれらの入力値に基づいて、前記（２−１）〜式（２−６）を使用して、制御パラメータであるＫi，Ｋv，Ｋ1〜Ｋ4を算出する。そして、ＣＰＵは算出して得られた制御パラメータを図示しない記憶装置に格納する。又、ＣＰＵは後記位置制御プログラムの実行時に、これらの制御パラメータを読み込み、同制御パラメータを各種制御に使用する。
【００３８】
（第１実施形態の作用）
次に図３を参照して位置制御装置１０の作用を説明する。図３は、制御回路２００のＣＰＵが実行する位置制御プログラムのフローチャートであり、所定周期で実行する。
【００３９】
Ｓ１０において、位置指令Ｐ＊、モータ速度ＶM，機械位置Ｐmを読込み、Ｓ２０において、モータ速度ＶMに基づいてモータ位置ＰMを算出するとともに（積分器３２）、機械位置Ｐmに基づいて機械速度Ｖmを算出する（微分器３４）。
【００４０】
Ｓ３０では、位置偏差（Ｐ＊−Ｐm）を算出し（減算器１１）、Ｓ４０では、この位置偏差（Ｐ＊−Ｐm）を位置ループゲインの比率で比例増幅し、速度指令Ｖrを生成する（位置制御部１２）。
【００４１】
Ｓ５０では、速度偏差（Ｖr−ＶM）を算出し（減算器１３）、Ｓ６０では、速度偏差（Ｖr−ＶM）を比例積分増幅して、推力指令τ＊を生成する（速度制御部１４）。
Ｓ７０では、モータ速度ＶM，モータ位置ＰM，機械速度Ｖm，機械位置Ｐmに対して、モータ速度フィードバック係数Ｋ1，モータ位置フィードバック係数Ｋ2，機械速度フィードバック係数Ｋ3，機械位置フィードバック係数Ｋ4を乗算した後、加算して補償値である統合フィードバック値ｇを算出する。
【００４２】
すなわち、ＣＰＵは、
ｇ＝Ｋ1・ＶM＋Ｋ2・ＰM＋Ｋ3・Ｖm＋Ｋ4・Ｐm    …（４）
を演算する。従って、式（４）は、統合フィードバック値ｇを算出するために、モータ速度ＶM，モータ位置ＰM，機械速度Ｖm，機械位置Ｐmを変数とした関数Ｆ（ＶM，ＰM，Ｖm，Ｐm）に相当する。又、Ｓ７０は統合フィードバック値演算手段に相当する。
【００４３】
Ｓ８０では、推力指令τ＊から統合フィードバック値ｇを減算し（補償手段）、推力指令偏差（τ＊−ｇ）を算出し（減算器１５）、Ｓ９０ではこの算出した推力制御部１６に電流指令を出力する。
【００４４】
さて、第１実施形態によれば、以下のような特徴がある。
（１）  第１実施形態の工作機械の位置制御装置１０は、サーボモータ３００（駆動部）のモータ速度ＶM（駆動状態量）を検出する速度検出器３２０（第１検出手段）と、送り軸等の被駆動体４００の機械位置Ｐm（従動状態量）を検出する位置検出器３４０（第２検出手段）とを備える。又、制御回路２００（統合フィードバック値演算手段）は、速度検出器３２０の検出信号に基づいたモータ速度ＶMとモータ位置ＰM、及び位置検出器３４０の位置検出信号に基づいた機械速度Ｖmと機械位置Ｐmの４つの情報が関与する関数Ｆ（ＶM，ＰM，Ｖm，Ｐm）に基づいて統合フィードバック値ｇを演算するようにした。そして、制御回路２００（補償手段）は推力指令τ＊に統合フィードバック値ｇを補償する。
【００４５】
又、第１実施形態の工作機械の位置制御方法では、モータ速度ＶMとモータ位置ＰM、及び送り軸等の機械速度Ｖmと機械位置Ｐmの４つの情報が関与する関数Ｆ（ＶM，ＰM，Ｖm，Ｐm）に基づいて統合フィードバック値ｇを演算し、推力指令τ＊に統合フィードバック値ｇを補償する。
【００４６】
このように、本実施形態では、被駆動体４００の機械位置Ｐmの検出に基づきフルクローズド・ループ制御を行うとともに、被駆動体４００の機械速度Ｖm（運動情報）を含む統合フィードバック値ｇを推力指令τ＊に補償する。このため、機械振動を抑制した制御が可能となる。又、機械振動が抑制できるため、従来と異なり、速度ループ比例ゲインＫv、速度ループ積分ゲインＫiや、位置ループゲインを上げることができる。この結果、工作機械の剛性が低くても、位置ループゲインを小さくする必要がなく、輪郭運動精度などの動的性能な性能が落ちることがない。
【００４７】
（２）  本実施形態の位置制御装置１０及び位置制御方法は、制御回路２００が演算する関数Ｆ（ＶM，ＰM，Ｖm，Ｐm）はモータ速度ＶMとモータ位置ＰM、及び機械速度Ｖmと機械位置Ｐmの４つの情報に対して、それぞれ所定のフィードバック係数であるＫ1〜Ｋ4を乗算し、乗算して得た値を合計するものとした。具体的には、式（４）で演算した。
【００４８】
この結果、上記（１）の作用効果を容易に実現できる。
（３）  本実施形態では、サーボモータ３００のモータ位置ＰMに乗算するモータ位置フィードバック係数Ｋ2と、被駆動体４００の機械位置Ｐmに乗算する機械位置フィードバック係数Ｋ4は、互いに絶対値が等しく、符号が異なるようにした。この結果、定常偏差をなくすことができる。
【００４９】
（４）  本実施形態は、速度制御部１４のＰＩ制御のゲインと、前記４つの情報に対してそれぞれ乗算する各フィードバック係数を、伝達関数の式（２−１）及び式（２−２）の係数比較を行って得られた式（２−１）〜式（２−５）にて求める制御パラメータ演算部５０を備えた。この結果、数値設定部６０にて、Ａ，Ｂ，Ｃ，Ｄ，Ｍ，ｍ，Ｋを入力すると、ＣＰＵである制御パラメータ演算部５０がこれらの入力値に基づいて、前記（２−１）〜式（２−６）を使用して、制御パラメータであるＫi，Ｋv，Ｋ1〜Ｋ4を算出することができる。
【００５０】
（５）  本実施形態では、速度制御部１４のＰＩ制御の出力である推力指令τ＊に、統合フィードバック値ｇを補償するようにしている。このため、ＰＩ制御では、特別な調整ではなく、従来と同様の調整方法で行うことができる。
【００５１】
又、現代制御理論により機械モデル２０を同定し、フィードバック係数を計算することによって、図１に示すような装置を有効とする手順を踏むことにより、位置制御装置１０の安全な立ち上げが可能となる。さらに、位置制御装置１０はＰＩ制御が基本となっているため、ワーク重量など機械的な諸元が若干変更しても、装置の安定性が確保できる特徴がある。
【００５２】
（第２実施形態）
次に、第２実施形態を図４〜図６を参照して説明する。なお、第１実施形態と同一構成については、同一部号を付して、その説明を省略し、異なるところを中心に説明する。
【００５３】
第２実施形態では、第１実施形態の統合フィードバック値演算部４０及び制御パラメータ演算部５０の代わりに統合フィードバック値演算部４０Ａ及び制御パラメータ演算部５０Ａがそれぞれ設けられているところが異なる。
【００５４】
前記統合フィードバック値演算手段としての統合フィードバック値演算部４０Ａを説明する。統合フィードバック値演算部４０Ａは、微分器３５、要素３６〜３８、積分器３９、要素５１〜５３，５４を備えている。
【００５５】
微分器３５は、機械位置Ｐmを微分して機械速度Ｖmを算出し、要素３６，３７に入力する。要素３６（減算器）は、モータ速度ＶMから機械速度Ｖmを減算して、要素５１に出力する。又、要素３７（加算器）は、モータ速度ＶMと機械速度Ｖmとを加算して、要素５２に出力する。積分器３９はモータ速度ＶMを積分して要素３８（減算器）に出力する。要素３８はモータ位置ＰMから機械位置Ｐmを減算して、要素５３に出力する。
【００５６】
要素５１は、フィードバック係数である速度差係数Ｋaを（ＶM−Ｖm）に乗算して、要素５４に出力する。要素５２は、フィードバック係数である速度和係数Ｋbを（ＶM＋Ｖm）に乗算して、要素５４に出力する。又、要素５３は、フィードバック係数である位置偏差係数Ｋcを（ＰM−Ｐm）に乗算して要素５４に出力する。そして、要素５４は、要素５１〜５３からそれぞれ入力された値を加算し、補償値である統合フィードバック値ｇを算出し、減算器１５に入力する（補償手段）。
【００５７】
第２実施形態では、速度差係数Ｋa、速度和係数Ｋb及び位置偏差係数Ｋcは、式（３−１）〜式（３−３）で決定する。ここで、Ｋdは振動の減衰性を増すパラメータ、Ｋosはオーバシュートを抑えるパラメータ、Ｋvaは振動の振幅を小さくするパラメータである。又、第２実施形態では、速度ループ比例ゲインＫv及び速度ループ積分ゲインＫiは、位置制御に好適な値を予め試験等により、求めた値である。
【００５８】
【数４】
2005056254.tif 000006
図５を参照して、速度差係数Ｋa、速度和係数Ｋb及び位置偏差係数Ｋcの意味を説明する。図５は２慣性モデルの概念図を示している。
【００５９】
速度差係数Ｋaは（ＶM−Ｖm）に乗算する係数であるため、この値を大きくすることは、サーボモータ３００と、被駆動体４００の間の粘性係数Ｃ１を大きくすることになる。従って、速度差係数Ｋaを大きくすると、サーボモータ３００と被駆動体４００の間の振動の減衰性が大きくなる。
【００６０】
速度和係数Ｋbは（ＶM＋Ｖm）に乗算する係数であるため、この値を大きくすることは、サーボモータ３００や被駆動体４００が基準との間の粘性係数Ｃ２及び粘性係数Ｃ３を大きくすることになる。従って、速度和係数Ｋbを大きくすると、サーボモータ３００と被駆動体４００を合わせた全体の動きが鈍くなり、オーバシュートが小さくなる。
【００６１】
又、位置偏差係数Ｋcは（ＰM−Ｐm）に乗算する係数であるため、この値を大きくすることはサーボモータ３００と被駆動体４００の間の剛性Ｋを大きくすることになる。従って、位置偏差係数Ｋcを大きくすると、サーボモータ３００と被駆動体４００の間の振動の振幅が小さくなる。
【００６２】
速度差係数Ｋaや速度和係数Ｋbは、その大きさが、速度ループ比例ゲインＫvの大きさに近いため、速度ループ比例ゲインＫvに対する比率を示すパラメータとして、式（３−１）及び式（３−２）に示すようにＫd，Ｋosを掛けたものとしている。従って、速度差係数Ｋaや速度和係数Ｋbを調整するには、ＫdやＫosを調整すればよい。ＫdやＫosの値は０〜１を目安として、オペレータは数値設定部６０にて設定する。制御パラメータ演算部５０Ａでは、数値設定部６０にて速度ループ比例ゲインＫvや、パラメータＫd，Ｋosが入力されると、式（３−１）、式（３−２）に従って速度差係数Ｋa及び速度和係数Ｋbを算出し、図示しない記憶装置に格納する。
【００６３】
又、位置偏差係数Ｋcは、大きさが速度ループ積分ゲインＫiの大きさに近いため、速度ループ積分ゲインＫiに対する比率を示すパラメータとして式（３−３）に示すようにＫvaを掛けたものとしている。従って、位置偏差係数Ｋcを調整するには、Ｋvaを調整すればよい。Ｋvaの値は１〜１０を目安として、オペレータは数値設定部６０にて設定する。制御パラメータ演算部５０Ａでは、数値設定部６０にて速度ループ積分ゲインＫiや、パラメータＫvaが入力されると、式（３−３）に従って位置偏差係数Ｋcを算出し、図示しない記憶装置に格納する。
【００６４】
又、図６は、位置制御装置１０の制御回路２００のＣＰＵが所定周期で実行する位置制御プログラムのフローチャートであり、第１実施形態とは、Ｓ７０の代わりに、Ｓ７０Ａを処理するところが異なっている。他のステップは、第１実施形態と同一であるため、説明を省略する。
【００６５】
Ｓ７０Ａでは、モータ速度ＶMと機械速度Ｖmの差（ＶM−Ｖm），モータ速度ＶMと機械速度Ｖmの和（ＶM＋Ｖm）、及びモータ位置ＰMと機械位置Ｐmとの差（ＰM−Ｐm）に対して、それぞれＫa，Ｋb，Ｋcを乗算した後、加算して補償値である統合フィードバック値ｇを算出する。
【００６６】
すなわち、ＣＰＵは、
ｇ＝Ｋa（ＶM−Ｖm）＋Ｋb（ＶM＋Ｖm）＋Ｋc（ＰM−Ｐm）
…（５）
を演算する。従って、式（５）は、統合フィードバック値ｇを算出するために、モータ速度ＶM，モータ位置ＰM，機械速度Ｖm，機械位置Ｐmを変数とした関数Ｆ（ＶM，ＰM，Ｖm，Ｐm）に相当する。又、Ｓ７０Ａは統合フィードバック値演算手段に相当する。
【００６７】
さて、第２実施形態によれば、第１実施形態の（１）、（５）の作用効果の他、以下のような特徴がある。
（１）  第２実施形態では、制御回路２００が演算する関数Ｆ（ＶM，ＰM，Ｖm，Ｐm）は、モータ速度ＶMと機械速度Ｖmの差、モータ速度ＶMと機械速度Ｖmの和、モータ位置ＰMと機械位置Ｐmの差のそれぞれに所定のフィードバック係数であるＫa，Ｋb，Ｋcを乗算し、乗算して得た値を合計するものとした。具体的には、式（５）で演算した。この結果、上記第１実施形態の（１）と同様に、被駆動体４００の機械位置Ｐmの検出に基づきフルクローズド・ループ制御を行うとともに、被駆動体４００の機械速度Ｖm（運動情報）を含む統合フィードバック値ｇを推力指令τ＊に補償する。このため、第１実施形態の（１）と同様の効果を奏することができる。
【００６８】
なお、本発明の実施形態は以下のように変更してもよい。
○  第１実施形態において、フィードバック係数をＫ1〜Ｋ4とし、式（２−１）〜式（２−６）の式で算出したが、第１実施形態のＫ1〜Ｋ4を下記式（５−１）〜式（５−４）で算出してもよい。
【００６９】
ここでは、オーバーシュートを抑えるパラメータをＫos，振動の減衰性を増すパラメータをＫd、及び振動の振幅を小さくするパラメータをＫvaとする。ＫdやＫosの値は０〜１を目安として、オペレータは数値設定部６０にて設定するものとする。又、Ｋvaの値は１〜１０を目安として、オペレータは数値設定部６０にて設定する。
【００７０】
なお、速度ループ比例ゲインＫv及び速度ループ積分ゲインＫiは、第２実施形態と同様に位置制御に好適な値を予め試験等により、求めた値である。
【００７１】
【数５】
2005056254.tif 000007
このようにした場合、オーバーシュートを抑えるパラメータＫos，振動の減衰性を増すパラメータＫd、及び振動の振幅を小さくするパラメータＫvaを適宜、数値設定部６０にて設定することにより、速度制御部１４のＰＩ制御だけで、調整した装置を、より振動の少ない安定した状態に調整できる効果がある。
【００７２】
○  第１実施形態の統合フィードバック値ｇの計算では、Ｋ1〜Ｋ4のフィードバック係数を０を除いた数値を前提としているが、Ｋ2及びＫ4を０としてもよい。或いは、モータ位置ＰM、機械位置Ｐmを０とし、すなわち、使用しなくてもよい。この場合、第１実施形態での統合フィードバック値ｇは、前記式（４）から下記式（６）の通りとなる。
【００７３】
ｇ＝Ｋ1・ＶM＋Ｋ3・Ｖm    …（６）
一方、第２実施形態の統合フィードバック値ｇは、モータ位置ＰM、機械位置Ｐmを０とした場合、前記式（５）から下記式（７）の通りとなる。
【００７４】
ｇ＝Ｋa・（ＶM−Ｖm）＋Ｋb（ＶM＋Ｖm）
＝（Ｋa＋Ｋb）ＶM＋（Ｋb−Ｋa）Ｖm      …（７）
前記式（６）と式（７）とを係数比較すると、
Ｋ1＝Ｋa＋Ｋb      …（８）
Ｋ3＝Ｋb−Ｋa      …（９）
であることが分かる。すなわち、この場合、第２実施形態のサーボモータ３００、被駆動体４００間の粘性係数を大きくする速度差係数Ｋaと、サーボモータ３００、被駆動体４００それぞれの基準との間の粘性係数を大きくする速度和係数Ｋbと、モータ速度フィードバック係数Ｋ1、及び機械速度フィードバック係数Ｋ3とが式（８）及び式（９）が成立する関係があることが分かる。
【００７５】
そして、この場合には、サーボモータ３００、被駆動体４００間の振動の減衰性を大きくしたり、オーバーシュートを小さくする効果を奏する。この結果、機械振動の抑制ができることになる。
【００７６】
○  第１実施形態の統合フィードバック値ｇの計算では、Ｋ1〜Ｋ4のフィードバック係数を０を除いた数値を前提としているが、Ｋ1及びＫ3を０としてもよい。或いは、モータ速度ＶM，機械速度Ｖmを０とし、すなわち、使用しなくてもよい。この場合、第１実施形態では、統合フィードバック値ｇは前記式（４）から下記式（１０）の通りとなる。
【００７７】
ｇ＝Ｋ2・ＰM＋Ｋ4・Ｐm      …（１０）
一方、第２実施形態の統合フィードバック値ｇは、モータ速度ＶM，機械速度Ｖmを０とした場合、前記式（５）から下記式（１１）の通りとなる。
【００７８】
ｇ＝Ｋc（ＰM−Ｐm）
＝Ｋc・ＰM＋（−ＫC）・Ｐm      …（１１）
前記式（１０）と式（１１）とを係数比較すると、
Ｋ2＝Ｋc      …（１２）
Ｋ4＝−Ｋc    …（１３）
であることが分かる。すなわち、この場合、第２実施形態のサーボモータ３００、被駆動体４００間の剛性を大きくする位置偏差係数Ｋcが式（１２）及び式（１３）が成立する関係があることが分かる。
【００７９】
そして、この場合には、サーボモータ３００、被駆動体４００間の振幅振動を小さくする効果を奏する。この結果、機械振動の抑制ができることになる。
○前記第１実施形態では、速度検出器３２０としたが、モータの位置、すなわち、角度を検出するものであってもよい。この場合は、要素４１の前段に微分器を設け、積分器３２を省略するものとする。
【００８０】
○前記実施形態では、リニアスケール等の位置検出器３４０としたが、被駆動体４００の速度を検出するものであってもよい。この場合は、微分器３４を省略し、要素４４の前段に積分器を設けるものとする。
【００８１】
○前記実施形態では、機械モデルを直線運動系としたが、回転運動系であってもよい。又、ＶM，Ｖm，ＰM，Ｐmを直線運動系の情報として処理したが、回転運動系の情報として処理してもよい。すなわち、回転テーブルのような回転駆動系では、制御系全体を回転駆動系として、本発明を適用できる。
【図面の簡単な説明】
【００８２】
【図１】本発明を具体化した第１実施形態の工作機械の位置制御装置のブロック図。
【図２】第１実施形態の位置制御装置１０の概略図。
【図３】同じく制御回路２００のＣＰＵが実行する位置制御プログラムのフローチャート。
【図４】第２実施形態の工作機械の位置制御装置のブロック図。
【図５】２慣性モデルの概念図。
【図６】同じく制御回路２００のＣＰＵが実行する位置制御プログラムのフローチャート。
【符号の説明】
【００８３】
τ＊…推力指令
ＶM…モータ速度
Ｖm…機械速度
Ｖr…速度指令
ＰM…モータ位置
Ｐm…機械位置
Ｋ1〜Ｋ4…フィードバック係数
ｇ…統合フィードバック値（補償値）
１０…位置制御装置
１２…位置制御部
１４…速度制御部
５０，５０Ａ…制御パラメータ演算部
２００…制御回路（統合フィードバック値演算手段、補償手段）
３００…サーボモータ（駆動部）
３２０…速度検出器（第１検出手段）
３４０…位置検出器（第２検出手段）
４００…被駆動体
【図１】
2005056254.tif 000009
【図２】
2005056254.tif 000010
【図３】
2005056254.tif 000011
【図４】
2005056254.tif 000012
【図５】
2005056254.tif 000013
【図６】
2005056254.tif 000014