(57)【特許請求の範囲】
【請求項１】
モータの回転運動をボールねじ送り部により直線運動に変換して、移動対象物である負荷を直線移動させる制御対象機器をサーボ制御するため、
前記負荷の位置を示す負荷位置と指令位置との誤差ｅを零とする指令速度を求めると共に、前記モータの速度を示すモータ速度と前記指令速度との偏差を零とする指令トルクを求め、この指令トルクを基に前記モータに供給する電流値を制御するフィードバック制御器と、
前記指令位置に予め設定された伝達関数式を乗算することより前記負荷の遅れを補償する補償信号を求め、この補償信号を前記フィードバック制御器に入力するフィードフォワード制御器と、
を備えたサーボ制御装置に適用するフィードフォワード制御装置であって、
前記フィードフォワード制御装置は、フィードフォワード制御器と、フィードフォワード定数決定装置とを有し、
前記フィードフォワード制御器は、前記伝達関数式として、ｃiを定数、ｓをラプラス演算子、ｓiを微分次数項としたときに下記の微分級数式（０１）を少なくとも有しており、
【数１】
0004939388.tif 000030
前記微分級数式の定数ｃiを決定する前記フィードフォワード定数決定装置は、
時間の経過と共に角速度ω（ω1〜ωn）が変化するように記憶がされている位置指令応答周波数分析設定手段と、
前記位置指令応答周波数分析設定手段から角速度ω（ω1〜ωn）を読取り、時間の経過と共に角速度ωが変化する同定用位置指令信号ｒ（＝Ａsinωｔ）を、前記指令位置の代わりに前記フィードバック制御器に入力すると共に、このときの誤差ｅを取り込んでフーリエ演算することにより、誤差ｅを正弦波成分ａと余弦波成分ｂに分解することにより、時間の経過と共にω1，ω2，・・・，ωnの順で同定し、フーリエ係数ａ1（ω1），ｂ1（ω1）、ａ2（ω2），ｂ2（ω2）、・・・、ａn（ωn），ｂn（ωn）の値を求める位置指令応答周波数分析手段と、
時間の経過と共に角速度ωv（ω1v〜ωnv）が変化するように記憶がされている速度指令応答周波数分析設定手段と、
前記速度指令応答周波数分析設定手段から角速度ωv（ω1v〜ωnv）を読取り、時間の経過と共に角速度ωvが変化する同定用速度指令信号ｒv1（＝Ａv1sinωv1ｔ）を、前記補償信号の代わりに前記フィードバック制御器に入力すると共に、このときの誤差ｅを取り込んでフーリエ演算することにより、誤差ｅを正弦波成分ａvと余弦波成分ｂvに分解することにより、時間の経過と共にωv1，ωv2，・・・，ωvnの順で同定し、フーリエ係数ａv1（ωv1），ｂv1（ωv1）、ａv2（ωv2），ｂv2（ωv2）、・・・、ａvn（ωvn），ｂvn（ωvn）の値を求める速度指令応答周波数分析手段と、
前記フーリエ係数ａ1（ω1），ｂ1（ω1）、ａ2（ω2），ｂ2（ω2）、・・・、ａn（ωn），ｂn（ωn）及び前記フーリエ係数ａv1（ωv1），ｂv1（ωv1）、ａv2（ωv2），ｂv2（ωv2）、・・・、ａvn（ωvn），ｂvn（ωvn）を、次式（０２）に適用して、定数ｃ1，ｃ2，ｃ3，・・・，ｃmを算出し、この算出した定数ｃ1，ｃ2，ｃ3，・・・，ｃmを、前記微分級数式の定数ｃiとして設定するフィードフォワード定数算出手段とを有している、
【数２】
0004939388.tif 000031
ことを特徴とするフィードフォワード制御装置。
【請求項２】
請求項１において、
前記速度指令応答周波数分析設定手段と前記速度指令応答周波数分析手段の代わりに速度指令応答演算手段を備えており、
この速度指令応答演算手段は、フーリエ係数ａ1（ω1），ｂ1（ω1）、ａ2（ω2），ｂ2（ω2）、・・・、ａn（ωn），ｂn（ωn）を次式（０３）に適用することにより、フーリエ係数ａ1（ω1），ｂ1（ω1）、ａ2（ω2），ｂ2（ω2）、・・・、ａn（ωn），ｂn（ωn）から、フーリエ係数ａ1v（ω1v），ｂ1v（ω1v）、ａ2v（ω2v），ｂ2v（ω2v）、・・・、ａnv（ωnv），ｂnv（ωnv）の値を求める
【数３】
0004939388.tif 000032
ことを特徴とするフィードフォワード制御装置。
【請求項３】
請求項１において、
前記位置指令応答周波数分析設定手段と前記位置指令応答周波数分析手段の代わりに位置指令応答演算手段を備えており、
この位置指令応答演算手段は、フーリエ係数ａ1v（ω1v），ｂ1v（ω1v）、ａ2v（ω2v），ｂ2v（ω2v）、・・・、ａnv（ωnv），ｂnv（ωnv）を次式（０４）に適用することによりフーリエ係数ａ1（ω1），ｂ1（ω1）、ａ2（ω2），ｂ2（ω2）、・・・、ａn（ωn），ｂn（ωn）の値を求める
【数４】
0004939388.tif 000033
ことを特徴とするフィードフォワード制御装置。
【請求項４】
請求項１において、
前記フィードフォワード定数算出手段は、前記式（０２）の代わりに次式（０５）を有しており、前記フーリエ係数ａ1（ω1），ｂ1（ω1）、ａ2（ω2），ｂ2（ω2）、・・・、ａn（ωn），ｂn（ωn）及び前記フーリエ係数ａv1（ωv1），ｂv1（ωv1）、ａv2（ωv2），ｂv2（ωv2）、・・・、ａvn（ωvn），ｂvn（ωvn）を、次式（０５）に適用して、定数ｃ1，ｃ2，ｃ3，・・・，ｃmを算出し、この算出した定数ｃ1，ｃ2，ｃ3，・・・，ｃmを、前記微分級数式の定数ｃiとして設定する
【数５】
0004939388.tif 000034
ことを特徴とするフィードフォワード制御装置。
【請求項５】
請求項１において、
前記前記フィードフォワード定数算出手段は、次式（０６）を有しており、前記フーリエ係数ａ1（ω1），ｂ1（ω1）、ａ2（ω2），ｂ2（ω2）、・・・、ａn（ωn），ｂn（ωn）及び前記フーリエ係数ａv1（ωv1），ｂv1（ωv1）、ａv2（ωv2），ｂv2（ωv2）、・・・、ａvn（ωvn），ｂvn（ωvn）を、次式（０６）に適用して、判定定数ｄ1，ｄ2，ｄ3，・・・，ｄmを算出し、ｃn（ｎ＝１〜ｍ）を決定する際には、βを１未満の値としたときに、ｄ1〜ｄn-1までの判定定数のそれぞれの絶対値が、βｃ1〜βｃn-1のそれぞれの絶対値よりも小さいときには、算出したｃｎを出力し、ｄ1〜ｄn-1までの判定定数のそれぞれの絶対値が、βｃ1〜βｃn-1のそれぞれの絶対値よりも大きいときには、算出したｃｎの値を零にすることを特徴とするフィードフォワード制御装置。
【数６】
0004939388.tif 000035
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィードフォワード制御装置に関し、フィードフォワード補償制御するときに使用するフィードフォワード定数を、簡単かつ正確に決定することができるように工夫したものである。
特に本発明は工作機械の負荷（テーブルやラム等の移動対象物）をフィードフォワード補償制御する場合に適用して有用である。
【背景技術】
【０００２】
工作機械の概要を図１８を参照して説明する。同図に示すように、ベッド０１上にテーブル０２が配置されており、テーブル０２はベッド０１上でＸ方向に沿い移動可能に設けられている。なお、テーブル０２上に加工対象であるワークが載置される。
門形のコラム０３には、クロスレール０４が昇降自在（Ｚ方向に沿い移動自在）に配置されている。クロスレール０４には、ラム０６を備えたサドル０５が、Ｙ方向に沿い移動可能に設けられている。ラム０６に工具（刃）が装着される。
【０００３】
テーブル０２のＸ方向移動は、ボールねじ駆動機構により行なわれるようになっている。また、ラム０６を備えたサドル０５のＹ方向移動も、コラム０３に設置した別のボールねじ駆動機構により行なわれるようになっている。
【０００４】
図１９は、テーブル０２を駆動するボールねじ駆動制御系を示す。同図に示すように、テーブル０２にはボールねじナット１０が固定連結されており、このボールねじナット１０にはボールねじ軸１１が螺合している。ボールねじ軸１１の一端にはモータ（サーボモータ）１２が連結されている。なお、ボールねじナット１０とボールねじ軸１１により、ボールねじ送り部９が形成されている。
【０００５】
モータ１２には、モータ速度ωMを検出して出力するモータエンコーダ１３が配置されている。リニアスケール１４は、負荷であるテーブル０２の位置を示す負荷位置θLを検出して出力する。
【０００６】
ボールねじ駆動機構では、モータ１２が回転駆動してボールねじ軸１１が回転すると、ボールねじナット１０及びこれに固定連結したテーブル０２が直線移動する。
【０００７】
フィードバック制御器１００は、減算部１０１と、乗算器１０２と、減算部１０３と、比例積分演算器１０４を有している。
【０００８】
減算部１０１は、指令位置Ｒと負荷位置θLとの差である誤差ｅを出力する。乗算器１０２は、誤差ｅに位置ループゲインｋPを乗算して指令速度Ｒｖを出力する。減算部１０３は、指令速度Ｒｖとモータ速度ωMとの差である速度誤差Ｖｅを出力する。
【０００９】
比例積分演算器１０４は、速度誤差Ｖｅを比例積分演算して指令トルクτを出力する。
即ち、比例積分演算器１０４では、速度ループゲインｋvと積分時定数Ｔvを用いて、
τ＝Ｖｅ×｛ｋv（１＋（１／Ｔvｓ））｝という演算をして指令トルクτを求めている。なお、ｓは、ラプラス演算子である（なお以降の説明においても「ｓ」はラプラス演算子を示す）。
【００１０】
モータ１２は、電流制御器（図示省略）から指令トルクτに応じた電流が供給されて回転駆動する。この場合、図示は省略するが、指令トルクτに応じた電流値になるように、電流のフィードバック制御を行なっている。
【００１１】
このように、テーブル０２を駆動するボールねじ駆動機構を制御するフィードバック制御器１００は、位置ループをメインループとし、速度ループと電流ループをマイナーループとした３重のループによってフィードバック制御をしている。
この場合、電流ループの制御周期が最も短く、速度ループの制御周期は電流ループの制御周期よりも長く、位置ループの制御周期が最も長くなっている。
【００１２】
図１９は、テーブル０２をＸ方向に沿い駆動するボールねじ駆動制御系であるが、サドル０５をＹ方向に沿い駆動するボールねじ駆動制御系も、同様な構成となっている。
【００１３】
このような工作機械の制御では、刃先またはワークを予め決めた軌道の通りに正確に位置決めすることが要求される。予め決めた軌道と、実際の軌道とに差が生じれば、意図した加工形状を得ることができない。
【００１４】
加工時間に制約がない場合には、例えば１ｍｍ／ｓ程度の微速で移動させつつ加工することにより正確な加工形状を得ることはできる。しかし、現実には作業効率を上げるために１ｍ／ｓ程度の高速で削らなければならない。このような高速加工においては高い加工精度を得ることは難しい。
【００１５】
つまり、刃先またはワークは指令どおりに動いているかに見えるが、ミリ秒単位のスケールで見ると、刃先またはワークが、指令した位置に到達するまでに必ず時間的に遅れる。遅れの原因は主に可動部の慣性やたわみである。
このような遅れは、例えば、直角を高速で削る場合に顕著に表れ、この場合には、刃先の移動遅れにより、直角に加工すべき部分に必ず丸みが出てしまう。
【００１６】
即ち、高速高精度加工用の工作機械、特に大型の工作機械では、各部分（モータや、テーブルやサドル等の負荷や、ボールねじナットとボールねじ軸からなるボールねじ送り部）に発生する「慣性」や「ひずみ」や「ねじれ」や「たわみ」や「粘性」といった精度阻害要因により、位置精度に悪影響を及ぼしてしまう。
【００１７】
そこで、機械系の遅れを補償するために、各部分をモデル化し、そのモデルの逆特性をもった伝達関数を用いてフィードフォワード補償制御することにより、精度を向上することが考えられている。このフィードフォワード補償制御とは、遅れを予め見込んで、それを相殺するよう指令するものである。
【００１８】
例えば、工作機械の負荷を位置制御するために、フィードバック制御を基本としつつフィードフォワード補償制御する考え方は、特許文献１や特許文献２に示されている。
【００１９】
特許文献１（特許第２８１０２４６号）には、「モータにより駆動される機械負荷と、モータの回転位置を検出するエンコーダとを備え、エンコーダが検出するモータの検出位置と位置指令とから速度指令値、トルク指令値を導き出してモータの入力電流を制御することにより機械負荷の位置および速度を制御する駆動制御装置において、位置指令の時間に対する２次導関数の所定係数倍をトルク指令値に対して加算する第１の加算手段と、トルク指令値に対する第１の加算手段の加算値の所定倍数を位置補正値として位置指令に対して加算する第２の加算手段と、位置指令補正値の時間に対する１次導関数を速度補正値として速度指令に加算する第３の加算手段と、位置指令補正値の時間に対する２次導関数の所定係数倍をトルク補正値としてトルク指令に加算する第４の加算手段と、を備えることを特徴とする駆動制御装置」が開示されている。
【００２０】
この特許文献１の発明では、フィードフォワード補償制御定数は、機械の設計諸元値から定めている。
【００２１】
特許文献２（特許第３３５１９９０号）には、「サーボモータによりボールネジを介して駆動される制御対象の位置を制御する位置制御装置において、ボールネジ駆動系の総合たて剛性（Ｋｓ）を出力する総合たて剛性出力手段と、ボールネジ駆動系の総合ねじり剛性（Ｋｔ）を出力する総合ねじり剛性出力手段と、負荷側慣性モーメント（ＩＬ）を出力する負荷側慣性モーメント出力手段と、前記総合たて剛性と、前記総合ねじり剛性と、前記負荷側慣性モーメントと、加速度指令値に基づき、たわみ補償値を演算し出力するたわみ補償値演算手段と、を備えることを特徴とするボールネジ駆動系の位置制御装置」が開示されている。
【００２２】
この特許文献２の発明では、フィードフォワード補償制御定数を機械の設計諸元値から定めることはせずに、機械パラメータを実測により求めて、フィードフォワード補償制御定数を決定する手法が開示されている。
【００２３】
この手法では、総合たて剛性（Ｋｓ）及び総合ねじり剛性（Ｋｔ）を求めるために、図２０に示すように、機械本体２０に固定部２１をリジットに結合しておき、モータ１２を駆動してテーブル０２を固定部２１に押し当て、このときの状態から、総合たて剛性（Ｋｓ）及び総合ねじり剛性（Ｋｔ）を求めている。
【００２４】
また、負荷側慣性モーメント（ＩＬ）を求めるために、テーブル０２を、等速運動及び等加速度運動させ、このときの状態から、負荷側慣性モーメント（ＩＬ）を求めている。
工作機械の他の負荷（サドル等の移動対象物）における、定数も同様にして求めている。
【００２５】
【特許文献１】特許第２８１０２４６号公報
【特許文献２】特許第３３５１９９０号公報
【発明の開示】
【発明が解決しようとする課題】
【００２６】
前述したように、特許文献１の発明では、フィードフォワード補償制御定数は、機械の設計諸元値から定めている。
しかし、実際の機械の特性は、設計諸元値から算出した値と違うのが普通である。したがって、機械の設計諸元値から定めたフィードフォワード補償制御定数を用いてフィードフォワード補償制御をしても、期待した精度を得ることは困難である。
【００２７】
一方、特許文献２の発明では、前述したように、機械剛性を実測するために可動部（例えばテーブル）を、固定部に押し当てて固定する必要があった。このため各係数Ｋｓ、Ｋｔを実測するには手間がかかった。
また、可動部を固定してモータにトルクを加え、そのときの捩れ角と印加トルクの関係から剛性を算出するが、摺動部の摩耗力やガタなどの影響で誤差が大きいという問題もある。
更に、係数ＩＬを求めるためには、等速運動区間、等加速度運動区間を持つような特別な波形で運転しなければならない。係数ＩＬは、等速度または等加速度での整定状態に基づいて算出するので、それぞれの区間は制定するのに充分な距離をとらなければならない。
しかし、機械の可動範囲や速度には制限があるので、速度や加速度を大きく設定できないという問題があった。
【課題を解決するための手段】
【００２８】
上記課題を解決する本発明の構成は、
モータの回転運動をボールねじ送り部により直線運動に変換して、移動対象物である負荷を直線移動させる制御対象機器をサーボ制御するため、
前記負荷の位置を示す負荷位置と指令位置との誤差ｅを零とする指令速度を求めると共に、前記モータの速度を示すモータ速度と前記指令速度との偏差を零とする指令トルクを求め、この指令トルクを基に前記モータに供給する電流値を制御するフィードバック制御器と、
前記指令位置に予め設定された伝達関数式を乗算することより前記負荷の遅れを補償する補償信号を求め、この補償信号を前記フィードバック制御器に入力するフィードフォワード制御器と、
を備えたサーボ制御装置に適用するフィードフォワード制御装置であって、
前記フィードフォワード制御装置は、フィードフォワード制御器と、フィードフォワード定数決定装置とを有し、
前記フィードフォワード制御器は、前記伝達関数式として、ｃiを定数、ｓをラプラス演算子、ｓiを微分次数項としたときに下記の微分級数式（０１）を少なくとも有しており、
【数７】
0004939388.tif 000002
前記微分級数式の定数ｃiを決定する前記フィードフォワード定数決定装置は、
時間の経過と共に角速度ω（ω1〜ωn）が変化するように記憶がされている位置指令応答周波数分析設定手段と、
前記位置指令応答周波数分析設定手段から角速度ω（ω1〜ωn）を読取り、時間の経過と共に角速度ωが変化する同定用位置指令信号ｒ（＝Ａsinωｔ）を、前記指令位置の代わりに前記フィードバック制御器に入力すると共に、このときの誤差ｅを取り込んでフーリエ演算することにより、誤差ｅを正弦波成分ａと余弦波成分ｂに分解することにより、時間の経過と共にω1，ω2，・・・，ωnの順で同定し、フーリエ係数ａ1（ω1），ｂ1（ω1）、ａ2（ω2），ｂ2（ω2）、・・・、ａn（ωn），ｂn（ωn）の値を求める位置指令応答周波数分析手段と、
時間の経過と共に角速度ωv（ω1v〜ωnv）が変化するように記憶がされている速度指令応答周波数分析設定手段と、
前記速度指令応答周波数分析設定手段から角速度ωv（ω1v〜ωnv）を読取り、時間の経過と共に角速度ωvが変化する同定用速度指令信号ｒv1（＝Ａv1sinωv1ｔ）を、前記補償信号の代わりに前記フィードバック制御器に入力すると共に、このときの誤差ｅを取り込んでフーリエ演算することにより、誤差ｅを正弦波成分ａvと余弦波成分ｂvに分解することにより、時間の経過と共にωv1，ωv2，・・・，ωvnの順で同定し、フーリエ係数ａv1（ωv1），ｂv1（ωv1）、ａv2（ωv2），ｂv2（ωv2）、・・・、ａvn（ωvn），ｂvn（ωvn）の値を求める速度指令応答周波数分析手段と、
前記フーリエ係数ａ1（ω1），ｂ1（ω1）、ａ2（ω2），ｂ2（ω2）、・・・、ａn（ωn），ｂn（ωn）及び前記フーリエ係数ａv1（ωv1），ｂv1（ωv1）、ａv2（ωv2），ｂv2（ωv2）、・・・、ａvn（ωvn），ｂvn（ωvn）を、次式（０２）に適用して、定数ｃ1，ｃ2，ｃ3，・・・，ｃmを算出し、この算出した定数ｃ1，ｃ2，ｃ3，・・・，ｃmを、前記微分級数式の定数ｃiとして設定するフィードフォワード定数算出手段とを有している、
【数８】
0004939388.tif 000003
ことを特徴とする。
【００２９】
また本発明の構成は、
前記速度指令応答周波数分析設定手段と前記速度指令応答周波数分析手段の代わりに速度指令応答演算手段を備えており、
この速度指令応答演算手段は、フーリエ係数ａ1（ω1），ｂ1（ω1）、ａ2（ω2），ｂ2（ω2）、・・・、ａn（ωn），ｂn（ωn）を次式（０３）に適用することにより、フーリエ係数ａ1（ω1），ｂ1（ω1）、ａ2（ω2），ｂ2（ω2）、・・・、ａn（ωn），ｂn（ωn）から、フーリエ係数ａ1v（ω1v），ｂ1v（ω1v）、ａ2v（ω2v），ｂ2v（ω2v）、・・・、ａnv（ωnv），ｂnv（ωnv）の値を求める
【数９】
0004939388.tif 000004
ことを特徴とする。
【００３０】
また本発明の構成は、
前記位置指令応答周波数分析設定手段と前記位置指令応答周波数分析手段の代わりに位置指令応答演算手段を備えており、
この位置指令応答演算手段は、フーリエ係数ａ1v（ω1v），ｂ1v（ω1v）、ａ2v（ω2v），ｂ2v（ω2v）、・・・、ａnv（ωnv），ｂnv（ωnv）を次式（０４）に適用することによりフーリエ係数ａ1（ω1），ｂ1（ω1）、ａ2（ω2），ｂ2（ω2）、・・・、ａn（ωn），ｂn（ωn）の値を求める
【数１０】
0004939388.tif 000005
ことを特徴とする。
【００３１】
また本発明の構成は、
前記フィードフォワード定数算出手段は、前記式（０２）の代わりに次式（０５）を有しており、前記フーリエ係数ａ1（ω1），ｂ1（ω1）、ａ2（ω2），ｂ2（ω2）、・・・、ａn（ωn），ｂn（ωn）及び前記フーリエ係数ａv1（ωv1），ｂv1（ωv1）、ａv2（ωv2），ｂv2（ωv2）、・・・、ａvn（ωvn），ｂvn（ωvn）を、次式（０５）に適用して、定数ｃ1，ｃ2，ｃ3，・・・，ｃmを算出し、この算出した定数ｃ1，ｃ2，ｃ3，・・・，ｃmを、前記微分級数式の定数ｃiとして設定する
【数１１】
0004939388.tif 000006
ことを特徴とする。
【００３２】
また本発明の構成は、
前記前記フィードフォワード定数算出手段は、次式（０６）を有しており、前記フーリエ係数ａ1（ω1），ｂ1（ω1）、ａ2（ω2），ｂ2（ω2）、・・・、ａn（ωn），ｂn（ωn）及び前記フーリエ係数ａv1（ωv1），ｂv1（ωv1）、ａv2（ωv2），ｂv2（ωv2）、・・・、ａvn（ωvn），ｂvn（ωvn）を、次式（０６）に適用して、判定定数ｄ1，ｄ2，ｄ3，・・・，ｄmを算出し、ｃn（ｎ＝１〜ｍ）を決定する際には、βを１未満の値としたときに、ｄ1〜ｄn-1までの判定定数のそれぞれの絶対値が、βｃ1〜βｃn-1のそれぞれの絶対値よりも小さいときには、算出したｃｎを出力し、ｄ1〜ｄn-1までの判定定数のそれぞれの絶対値が、βｃ1〜βｃn-1のそれぞれの絶対値よりも大きいときには、算出したｃｎの値を零にすることを特徴とする。
【数１２】
0004939388.tif 000007
【発明の効果】
【００３３】
本発明によれば、従来技術とは異なり、可動部（負荷）を固定することなくフィードフォワード定数の値を正確に同定することができる。このように可動部の移動が不要であるため可動部の移動距離の短い機械でも、フィードフォワード定数を正確に同定することができる。
【発明を実施するための最良の形態】
【００３４】
以下に本発明を実施するための最良の形態を実施例に基づき詳細に説明する。
【実施例１】
【００３５】
まず先に、本願発明が対象とする制御系について図１を参照しつつ説明する。
図１において、電流制御・モータ・機械系１５０とは、工作機械に組み入れられている電流制御器及びボールねじ駆動機構を一般的に示したものである。
【００３６】
更に説明すると、電流制御・モータ・機械系１５０は、電流制御器と、モータと、このモータの回転運動を直線運動に変換するボールねじ送り部と、ボールねじ送り部から発生する直線運動により移動する負荷（例えばテーブルやサドル等の移動対象物）を有している。
そして、フィードバック制御器１００から、電流制御・モータ・機械系１５０に指令トルクτが送られと、電流制御・モータ・機械系１５０では、電流制御器により指令トルクτに応じた電流がモータに供給されてモータが駆動して、負荷が移動する。
【００３７】
更に、電流制御・モータ・機械系１５０からは、モータの速度を検出する速度検出センサからモータ速度ωMが出力されると共に、負荷（移動対象物）の位置を検出する負荷位置検出センサから負荷位置θLが出力される。
【００３８】
電流制御・モータ・機械系１５０の一具体例は、図１９に示すように、テーブル０２が固定されたボールねじナット１０、ボールねじナット１０とボールねじ軸１１とからなるボールねじ送り部９と、モータ１２と、モータエンコーダ１３と、リニアスケール１４から構成される、テーブル移動用のボールねじ駆動機構である。
電流制御・モータ・機械系１５０の他の例としては、サドル０５を駆動するサドル移動用のボールねじ駆動機構等もある。
【００３９】
フィードバック制御器１００は、図１９に示すものと同じである。即ち、減算部１０１は、指令位置Ｒと負荷位置θLとの差である誤差ｅを出力する。乗算器１０２は、誤差ｅに位置ループゲインｋPを乗算して指令速度Ｒｖを出力する。減算部１０３は、指令速度Ｒｖとモータ速度ωMとの差である速度誤差Ｖｅを出力する。
比例積分演算器１０４は、速度誤差Ｖｅを比例積分演算して指令トルクτを出力する。
即ち、比例積分演算器１０４では、速度ループゲインｋvと積分時定数Ｔvを用いて、
τ＝Ｖｅ×｛ｋv（１＋（１／Ｔvｓ））｝という演算をして指令トルクτを求めている。なお、ｓは、ラプラス演算子である。
【００４０】
フィードフォワード制御器２００は、微分級数式乗算部２０１と比例積分逆伝達関数部２０２を有している。微分級数式乗算部２０１は次式（１）で示す微分級数式を有している。比例積分逆伝達関数部２０２には、比例積分演算器１０４に設定した伝達関数の逆伝達関数［１／｛ｋv（１＋（１／Ｔvｓ））｝］が設定されている。
【００４１】
【数１３】
0004939388.tif 000008
【００４２】
フィードフォワード制御器２００に、指令位置Ｒが入力されると、この指令位置Ｒに、微分級数式乗算部２０１に設定した微分級数式（１）と、比例積分逆伝達関数部２０２に設定した逆伝達関数［１／｛ｋv（１＋（１／Ｔvｓ））｝］が乗算されて、補償速度Ｖｃが出力される。この補償速度Ｖｃは、電流制御・モータ・機械系１５０の遅れをフィードフォワード補償するものであり、指令速度Ｒｖに加えられる。
【００４３】
このように、指令速度Ｒｖに補償速度Ｖｃを加算することにより、電流制御・モータ・機械系１５０の遅れをフィードフォワード補償することができ、負荷（テーブルやサドルなどの工作機械の移動対象物）の位置決め制御を正確に行なうことができる。
【００４４】
図１に示すように、電流制御・モータ・機械系１５０の負荷の位置を、フィードバック制御器１００によりフィードバック制御をすることを基本としつつ、フィードフォワード制御器２００によりフィードフォワード補償制御する場合において、フィードフォワード制御器２００の微分級数式乗算部２０１に設定した微分級数式の各微分次数項の定数ｃｉを、容易にかつ精度良く設定することができる実施例１を、図２を基に説明する。
【００４５】
図２は本発明の実施例１に係るフィードフォワード制御装置４００を備えたサーボ制御装置５００を示す。このサーボ制御装置５００は、フィードバック制御器１００と、フィードフォワード制御装置４００を有している。
フィードフォワード制御装置４００は、フィードバック制御器２００と、フィードフォワード定数決定装置３００を有している。
フィードフォワード定数決定装置３００は、微分級数式乗算部２０１に設定する定数ｃｉを決定するものである。
【００４６】
フィードバック制御器１００、電流制御・モータ・機械系１５０、フィードフォワード制御器２００は、図１を基に説明したものと同一のものであるので、ここでは、フィードフォワード定数決定装置３００について説明する。
【００４７】
フィードフォワード定数決定装置３００は、位置指令切替手段３０１と、速度指令切替手段３０２と、位置指令応答周波数分析設定手段３０３と、位置指令応答周波数分析手段３０４と、速度指令応答周波数分析設定手段３０５と、速度指令応答周波数分析手段３０６と、周波数分析結果記録手段３０７と、フィードフォワード定数算出手段３０８を有している。
【００４８】
通常の制御をするときには、つまり、電流制御・モータ・機械系１５０を実可動しているときには、位置指令切替手段３０１は、指令位置Ｒをフィードバック制御器１００に送り、速度指令切替手段３０２は、フィードフォワード制御器２００から出力された補償速度Ｖｃをフィードバック制御器１００に送るように切替られる。
【００４９】
一方、フィードフォワード定数ｃiを同定するときには、位置指令切替手段３０１は、位置指令応答周波数分析手段３０４から出力された同定用位置指令信号ｒをフィードバック制御器１００に送り、速度指令切替手段３０２は、速度指令応答周波数分析手段３０６から出力された同定用速度指令信号ｒvをフィードバック制御器１００に送るように切替られる。
つまり、フィードフォワード定数ｃiを同定するときには、フィードバック制御器１００には、指令位置Ｒの代わりに同定用位置指令信号ｒが入力され、補償速度Ｖcの代わりに同定用速度指令信号ｒvが入力される。
【００５０】
以降では、同定用位置指令信号ｒ及び同定用速度指令信号ｒvを同時にフィードバック制御器１００に送りつつ、フィードフォワード定数ｃiを同定するときの動作状態を説明する。
【００５１】
位置指令応答周波数分析設定手段３０３は、表１に示すように、同定開始からの経過時間に応じて、同定用位置指令信号ｒ（ｒ1〜ｒn）の振幅Ａ（Ａ1〜Ａn）と角速度ω（ω1〜ωn）を記憶している。
表１に従うと、例えば、
時刻０ｓｅｃから１０ｓｅｃまでの同定用位置指令信号ｒ1は１０sinｔであり、
時刻１０ｓｅｃから１３ｓｅｃまでの同定用位置指令信号ｒ2は１０sin３ｔであり。
時刻１３ｓｅｃから１４ｓｅｃまでの同定用位置指令信号ｒ3は１０sin１０ｔである。
以降は同様に、時間の経過と共に、同定用位置指令信号ｒ（ｒ1〜ｒn）の振幅Ａ（Ａ1〜Ａn）と角速度ω（ω1〜ωn）が、変化するように、記憶がされている。
【００５２】
【表１】
0004939388.tif 000009
【００５３】
位置指令応答周波数分析手段３０４は、図３に示すように、振幅Ａ（Ａ1〜Ａn）と角速度ω（ω1〜ωn）に応じて信号生成及びフーリエ演算をする分析部３０４−１〜３０４−ｎを有しており、各分析部３０４−１〜３０４−ｎは、それぞれ、同定用位置指令信号生成部Ｘと、正弦波用のフーリエ演算部Ｙと、余弦波用のフーリエ演算部Ｚを有している。
なお、図３では、分析部３０４−２〜３０４−ｎにおける、同定用位置指令信号生成部Ｘ、正弦波用のフーリエ演算部Ｙ、余弦波用のフーリエ演算部Ｚは、図示省略している。
【００５４】
位置指令応答周波数分析手段３０４は、位置指令応答周波数分析設定手段３０３から、振幅Ａ（Ａ1〜Ａn）と角速度ω（ω1〜ωn）を読取り、同定用位置指令信号ｒ（ｒ1〜ｒn）を生成する。この場合ｒ＝Ａsinωｔと表されるが、振幅Ａと角速度ωは、時間の経過と共に変化する。
つまり、振幅がＡ1で角速度がω1のときには、分析部３０４−１の同定用位置指令信号生成部Ｘから同定用位置指令信号ｒ1＝Ａ1sinω1ｔが出力され、
振幅がＡ2で角速度がω2のときには、分析部３０４−２の同定用位置指令信号生成部Ｘから同定用位置指令信号ｒ2＝Ａ2sinω2ｔが出力され、
振幅がＡ3で角速度がω3のときには、分析部３０４−３の同定用位置指令信号生成部Ｘから同定用位置指令信号ｒ3＝Ａ3sinω3ｔが出力され、
振幅がＡnで角速度がωnのときには、分析部３０４−ｎの同定用位置指令信号生成部Ｘから同定用位置指令信号ｒn＝Ａnsinωnｔが出力される。
【００５５】
このため、位置指令応答周波数分析手段３０４は、時間の経過と共に振幅Ａと角速度ωが変化する同定用位置指令信号ｒ（＝Ａsinωｔ）を、フィードバック制御器１００に入力する。
そうすると、フィードバック制御器１００は、同定用位置指令信号ｒ（ｒ1〜ｒn）を基に電流制御・モータ機械系１５０をフィードバック制御する。このときに生じる誤差ｅの応答は、位置指令応答周波数分析手段３０４により計測される。
【００５６】
位置指令応答周波数分析手段３０４は、各分析部３０４−１〜３０４−ｎのフーリエ演算部Ｙ，Ｚによりフーリエ展開演算をして、誤差ｅを正弦波成分ａと余弦波成分ｂに分解する。
つまり、位置指令応答周波数分析手段３０４の設定にしたがって、時間の経過と共にω1，ω2，・・・，ωnの順で同定し、フーリエ係数ａ1（ω1），ｂ1（ω1）、ａ2（ω2），ｂ2（ω2）、・・・、ａn（ωn），ｂn（ωn）の値を求める。
【００５７】
このようにして求めたフーリエ係数の結果は、周波数分析結果記録手段３０７に伝達する。周波数分析結果記録手段３０７では、表２に示すように、角速度の値の一つ一つに対してフーリエ係数ａ，ｂの値を記憶する。
【００５８】
【表２】
0004939388.tif 000010
【００５９】
フィードフォワード定数決定装置３００では、上述した位置指令に対する同定と同様の同定を、速度指令信号に対しても実施する。
【００６０】
即ち、速度指令応答周波数分析設定手段３０５は、表３に示すように、同定開始からの経過時間に応じて、同定用速度指令信号ｒv（ｒv1〜ｒvn）の振幅Ａv（Ａv1〜Ａvn）と角速度ωv（ωv1〜ωvn）を記憶している。
表３に従うと、例えば、
時刻０ｓｅｃから３０ｓｅｃまでの同定用速度指令信号ｒv0は０であり、
時刻３０ｓｅｃから４０ｓｅｃまでの同定用速度指令信号ｒv1は５sinｔであり。
時刻４０ｓｅｃから４３ｓｅｃまでの同定用速度指令信号ｒv2は１５sin３ｔであり、
時刻４３ｓｅｃから４４ｓｅｃまでの同定用速度指令信号ｒv3は５０sin１０ｔである。
以降は同様に、時間の経過と共に、同定用速度指令信号ｒv（ｒv1〜ｒvn）の振幅Ａv（Ａv1〜Ａvn）と角速度ωv（ωv1〜ωvn）が、変化するように、記憶がされている。
【００６１】
【表３】
0004939388.tif 000011
【００６２】
速度指令応答周波数分析手段３０６は、図４に示すように、振幅Ａv（Ａv1〜Ａvn）と角速度ωv（ωv1〜ωvn）に応じて信号生成及びフーリエ演算をする分析部３０６−１〜３０６−ｎを有しており、各分析部３０６−１〜３０６−ｎは、それぞれ、同定用速度指令信号生成部ｘと、正弦波用のフーリエ演算部ｙと、余弦波用のフーリエ演算部ｚ有している。
なお、図４では、分析部３０６−２〜３０６−ｎにおける、同定用速度指令信号生成部ｘ、正弦波用のフーリエ演算部ｙ、余弦波用のフーリエ演算部ｚは、図示省略している。
【００６３】
速度指令応答周波数分析手段３０６は、速度指令応答周波数分析設定手段３０５から、振幅Ａv（Ａv1〜Ａvn）と角速度ωv（ωv1〜ωvn）を読取り、同定用速度指令信号ｒv（ｒv1〜ｒvn）を生成する。この場合ｒv＝Ａvsinωvｔと表されるが、振幅Ａvと角速度ωvは、時間の経過と共に変化する。
つまり、振幅がＡv1で角速度がωv1のときには、分析部３０６−１の同定用速度指令信号生成部ｘから同定用速度指令信号ｒv1＝Ａv1sinωv1ｔが出力され、
振幅がＡv2で角速度がωv2のときには、分析部３０６−２の同定用速度指令信号生成部ｘから同定用速度指令信号ｒv2＝Ａv2sinωv2ｔが出力され、
振幅がＡv3で角速度がωv3のときには、分析部３０６−３の同定用速度指令信号生成部ｘから同定用速度指令信号ｒv3＝Ａv3sinωv3ｔが出力され、
振幅がＡvnで角速度がωvnのときには、分析部３０６−ｎの同定用位置速度信号生成部ｘから同定用速度指令信号ｒvn＝Ａvnsinωvnｔが出力される。
【００６４】
このため、速度指令応答周波数分析手段３０６は、時間の経過と共に振幅Ａvと角速度ωvが変化する同定用速度指令信号ｒv（＝Ａvsinωvｔ）を、フィードバック制御器１００に入力する。
そうすると、フィードバック制御器１００は、同定用速度指令信号ｒv（ｒv1〜ｒvn）をフィードフォワード補償制御信号として取り込みつつ、電流制御・モータ機械系１５０をフィードバック制御する。このときに生じる誤差ｅの応答は、速度指令応答周波数分析手段３０６により計測される。
【００６５】
速度指令応答周波数分析手段３０６は、各分析部３０６−１〜３０６−ｎのフーリエ演算部ｙ，ｚによりフーリエ展開演算をして、誤差ｅを正弦波成分ａvと余弦波成分ｂvに分解する。
つまり、速度指令応答周波数分析手段３０６の設定にしたがって、時間の経過と共にωv1，ωv2，・・・，ωvnの順で同定し、フーリエ係数ａv1（ωv1），ｂv1（ωv1）、ａv2（ωv2），ｂv2（ωv2）、・・・、ａvn（ωvn），ｂvn（ωvn）の値を求める。
【００６６】
このようにして求めたフーリエ係数の結果は、周波数分析結果記録手段３０７に伝達する。周波数分析結果記録手段３０７では、先に表した表２に示すように、角速度の値の一つ一つに対してフーリエ係数の値ａv，ｂvを記憶して分析結果記録表を完成する。
【００６７】
フィードフォワード定数算出手段３０８は、周波数分析結果記録手段３０７が格納する周波数分析結果記録表を入力し、図５に示すように次式（２）の演算を行い、フィードフォワード定数ｃ1，ｃ2，ｃ3，・・・，ｃmを算出する。
そして、フィードフォワード定数算出手段３０８はｃ1，ｃ2，ｃ3，・・・，ｃmを、微分級数式乗算部２０１の各微分次数項の定数として設定する。
以上で調整が完了する。
【００６８】
【数１４】
0004939388.tif 000012
【００６９】
なお、フィードフォワード定数ｃ1，ｃ2，ｃ3，・・・，ｃmの数はｍ個である。ｍ個のフィードフォワード定数を定めるためには、周波数分析を行なう各速度ω1，ω2，・・・，ωnの数ｎは、少なくともｍより大きくなければならない。
また、式（２）を用いることにより、定数ｃ1，ｃ2，ｃ3，・・・，ｃmを求めることができる理由は後述する。
【００７０】
本実施例では、従来技術とは異なり、可動部（負荷）を固定することなくフィードフォワード定数の値を定めることができる。
また従来では等速運動や等加速度運動の整定状態から機械の特性を同定していたため、機械を等速や等加速度で整定させるには長距離の移動が必要であった。
しかし、本実施例によれば正弦波を同定信号として使い、整定を待つ必要がない。このため、長距離の移動が不要である。移動距離の短い機械でも精度よく同定することができる。
【００７１】
＜変形例＞
次に本発明の実施例１の変形例にかかるフィードフォワード制御装置４００を備えたサーボ制御装置５００を、図６を参照して説明する。
【００７２】
変形例では、フィードフォワード制御器２００は、微分級数式乗算部２０１を備えているが、比例積分逆伝達関数部２０２は有しておらず、このフィードフォワード制御器２００は、フィードフォワード補償制御信号として補償トルクτcを出力する。
補償トルクτcは、フィードバック制御器１００から出力される指令トルクτに加算されて、電流制御・モータ・機械系１５０に入力される。
【００７３】
また、速度指令応答周波数分析設定手段３０５の代わりにトルク指令応答周波数分析設定手段３０５ａを備え、速度指令応答周波数分析手段３０６の代わりにトルク指令応答周波数分析手段３０６ａを備え、速度指令切替手段３０２の代わりに切替手段３０２ａを備えている。
【００７４】
定数ｃiの同定手法は、実施例１と同じであるが、同定動作をするときには、切替手段３０２ａでは、同定用トルク指令信号ｒtを指令トルクτに加算して、電流制御・モータ機械系１５０に入力している。
なお、電流制御・モータ・機械系１５０を実可動するときには、切替手段３０２ａは、フィードフォワード制御器２００から出力される補償トルクτcをフィードバック制御器１００に送る。
【実施例２】
【００７５】
次に本発明の実施例２にかかるフィードフォワード制御装置４００を備えたサーボ制御装置５００を、図７を参照して説明する。
【００７６】
前述した実施例１では、位置指令に対する応答と、速度指令に対する応答の二つを求めなければならず時間がかかった。そこで実施例２では、速度指令に対する同定を廃するようにした。
【００７７】
実施例１では、速度指令に対する応答を求めるために、速度指令応答周波数同定手段である速度指令応答周波数分析設定手段３０５及び速度指令応答周波数分析手段３０６を備えていたが、実施例２のフィードフォワード定数決定装置３００は、速度指令応答周波数同定手段である速度指令応答周波数分析設定手段３０５及び速度指令応答周波数分析手段３０６を使用せずに、速度指令応答演算手段３１０を採用している。
【００７８】
速度指令応答演算手段３１０は、位置指令応答周波数分析手段３０４が求めたフーリエ係数ａ1（ω1），ｂ1（ω1）、ａ2（ω2），ｂ2（ω2）、・・・、ａn（ωn），ｂn（ωn）の値を入力し、図８に示すように式（３）の演算式により、フーリエ係数ａ1v（ω1v），ｂ1v（ω1v）、ａ2v（ω2v），ｂ2v（ω2v）、・・・、ａnv（ωnv），ｂnv（ωnv）の値を求める。
なお式（３）により、フーリエ係数ａ1（ω1），ｂ1（ω1）、ａ2（ω2），ｂ2（ω2）、・・・、ａn（ωn），ｂn（ωn）から、フーリエ係数ａ1v（ω1v），ｂ1v（ω1v）、ａ2v（ω2v），ｂ2v（ω2v）、・・・、ａnv（ωnv），ｂnv（ωnv）の値を求めることができる理由は後述する。また式（３）おいて、ｋｐは予め設定した定数である。
【００７９】
【数１５】
0004939388.tif 000013
【００８０】
実施例２では、速度周波数応答の分析が不要となる分だけ、調整時間の短縮を図ることができるという効果を奏する。
【実施例３】
【００８１】
次に本発明の実施例３にかかるフィードフォワード制御装置４００を備えたサーボ制御装置５００を、図９を参照して説明する。
【００８２】
前述した実施例１では、位置指令に対する応答と、速度指令に対する応答の二つを求めなければならず時間がかかった。そこで実施例３では、位置指令に対する同定を廃するようにした。
【００８３】
実施例１では、位置指令に対する応答を求めるために、位置指令応答周波数同定手段である位置指令応答周波数分析設定手段３０１及び位置指令応答周波数分析手段３０４を備えていたが、実施例３のフィードフォワード定数決定装置３００は、位置指令応答周波数同定手段である位置指令応答周波数分析設定手段３０１及び位置指令応答周波数分析手段３０４を使用せずに、位置指令応答演算手段３１１を採用している。
【００８４】
位置指令応答演算手段３１１は、速度指令応答波数分析手段３０６が求めたフーリエ係数ａ1v（ω1v），ｂ1v（ω1v）、ａ2v（ω2v），ｂ2v（ω2v）、・・・、ａnv（ωnv），ｂnv（ωnv）の値の値を入力し、図１０に示すように式（４）の演算により、フーリエ係数ａ1（ω1），ｂ1（ω1）、ａ2（ω2），ｂ2（ω2）、・・・、ａn（ωn），ｂn（ωn）の値を求める。
なお式（４）により、フーリエ係数ａ1v（ω1v），ｂ1v（ω1v）、ａ2v（ω2v），ｂ2v（ω2v）、・・・、ａnv（ωnv），ｂnv（ωnv）からフーリエ係数ａ1（ω1），ｂ1（ω1）、ａ2（ω2），ｂ2（ω2）、・・・、ａn（ωn），ｂn（ωn）の値を求めることができる理由は後述する。
【００８５】
【数１６】
0004939388.tif 000014
【００８６】
実施例３では、位置周波数応答の分析が不要となる分だけ、調整時間の短縮を図ることができるという効果を奏する。
【実施例４】
【００８７】
次に本発明の実施例４にかかるフィードフォワード制御装置４００を備えたサーボ制御装置５００を、図１１を参照して説明する。
【００８８】
実施例４は、実施例１の別形態である。
実施例１では、フィードフォワード定数算出手段３０８が内蔵する式（２）で逆行列演算を行なっているが、この逆行列演算は計算機負荷が大きい点で課題である。
そこで、実施例４では、逆行列演算を廃するところに特徴がある。
【００８９】
実施例４では、実施例１で用いていたフィードフィードフォワード定数算出手段３０８の代わりに、図１１のように第２のフィードフォワード定数算出手段３１２を使用する。
【００９０】
フィードフォワード定数算出手段３１２は、周波数分析結果記録手段３０７が格納する周波数分析結果記録表を入力し、図１２に示すように次式（５）の演算を行い、フィードフォワード定数ｃ1，ｃ2，ｃ3，・・・，ｃmを算出する。
このように、第２のフィードフォワード定数算出手段３１２においては、式（５）のように低次の係数から逐次的に決定する。これによりマトリックス演算を廃する。ただし、角速度はω1＜ω2＜ω3＜・・・＜ωmの順にソートしておかなければならない。
そして、フィードフォワード定数算出手段３１２はｃ1，ｃ2，ｃ3，・・・，ｃmを、微分級数式乗算部２０１の各微分次数項の定数として設定する。
【００９１】
【数１７】
0004939388.tif 000015
【００９２】
実施例４では、マトリックス演算を廃することができ、計算負荷を軽減することができる。
また、式（５）を用いることにより、定数ｃ1，ｃ2，ｃ3，・・・，ｃmを求めることができる理由は後述する。
【実施例５】
【００９３】
次に本発明の実施例５にかかるフィードフォワード制御装置４００を備えたサーボ制御装置５００を、図１３を参照して説明する。
【００９４】
実施例５は、フィードフォワード係数の算出精度を評価する機能を追加したものである。
つまり実施例５では、実施例１で用いていたフィードフィードフォワード定数算出手段３０８の代わりに、図１３のように第３のフィードフォワード定数算出手段３１３を使用する。
【００９５】
また、フィードフォワード制御器２００の微分級数式乗算部２０１ａには、式（６）で示す、各微分次数項の係数をγiに設定した微分級数式が設定されている。
【００９６】
【数１８】
0004939388.tif 000016
【００９７】
第３のフィードフォワード定数算出手段３１３は、周波数分析結果記録手段３０７が格納する周波数分析結果記録表を入力し、図１４に示すように、前述した式（２）の演算を行なってフィードフォワード定数ｃ1，ｃ2，ｃ3，・・・，ｃmを算出する他に、式（７）の演算を行なって判定定数ｄ1，ｄ2，ｄ3，・・・，ｄnを算出する。
なお式（７）の技術的意味は後述する。
【００９８】
【数１９】
0004939388.tif 000017
【００９９】
第３のフィードフォワード定数算出手段３１３の係数信頼性判定部３１３ａには、表４に示す係数信頼性判定基準が記憶されている。
なお、表４におけるβは１未満の正の実数に設定している。βを大きくすると、より大きな誤差を許容してフィードフォワード制御を行なうことになる。
【０１００】
【表４】
0004939388.tif 000018
【０１０１】
係数信頼性判定部３１３ａは、ｃ1，ｃ2，ｃ3，・・・，ｃmと、ｄ1，ｄ2，ｄ3，・・・，ｄnの値に基づいて表４に基づいてフィードフォワード係数γ1，γ2，γ3，・・・，γmの値を求める。
具体的に説明すると、
｜ｄ1｜＜β｜ｃ1｜の判定条件が成立するならばγ1＝ｃ1とし、この判定条件が不成立ならばγ1＝０とし、
｜ｄ1｜＜β｜ｃ1｜且つ｜ｄ2｜＜β｜ｃ2｜の判定条件が成立するならばγ2＝ｃ2とし、この判定条件が不成立ならばγ2＝０とし、
｜ｄ1｜＜β｜ｃ1｜且つ｜ｄ2｜＜β｜ｃ2｜且つ｜ｄ3｜＜β｜ｃ3｜の判定条件が成立するならばγ3＝ｃ3とし、この判定条件が不成立ならばγ3＝０とし、
以降同様の判定をし、
｜ｄ1｜＜β｜ｃ1｜且つ｜ｄ2｜＜β｜ｃ2｜且つ｜ｄ3｜＜β｜ｃ3｜且つ・・・・・｜ｄn｜＜β｜ｃn｜の判定条件が成立するならばγn＝ｃnとし、この判定条件が不成立ならばγn＝０とする。
【０１０２】
第３のフィードフォワード定数算出手段３１３は、このようにして求めた係数γｉを、微分級数式乗算部２０１ａの各微分次数項の定数として設定する。
【０１０３】
実施例５では、万一、定数ｃiの誤差が大きい場合には、フィードフォワード定数ｃiは零に上書きすることにより、誤ったフィードフォワード信号による運動で機械を損傷することを未然に防止する。
【０１０４】
＜式（２）と式（７）の説明＞
ここで前述した式（２）と式（７）について説明をする。
フィードフォワード制御のパラメータを一括で決める手法について説明する。説明の簡単のために複素数を利用するが、複素数のままでは使えないので、実数部をsin、虚数部をcosとして実装する。
【０１０５】
図１５はフィードフォワード制御を取り外した工作機械のモデルである。同定用位置指令信号ｒから誤差ｅへの周波数伝達関数をａ＋ｊｂと記す。また同定用速度指令信号ｒvから誤差ｅへの伝達関数をａv＋ｊｂvと記す。
【０１０６】
ａとｂの値は、ｒとして角速度ωの正弦波を与えたときの誤差ｅの応答を実測して求める。次式のｅはｒからの寄与分のみを表している。
ａ（ω）＋ｊｂ（ω）＝ｅ（ｊω）／ｒ（ｊω）
同様にａvとｂvの値は、ｒvとして角速度ωの正弦波を与えたときの誤差ｅの応答を実測して求める。次式のｅはｒvからの寄与分のみを表しており、上式（８）のｅ（ｊω）とは値が異なる。
ａv（ω）＋ｊｂv（ω）＝ｅ（ｊω）／ｒv（ｊω）
【０１０７】
正弦波の同定用位置指令信号ｒについて、誤差ｅを零にする同定用速度指令信号ｒvが、理想的なフィードフォワード指令信号である。そのようなｒvは上の二つの式のｅ（ｊω）が足して零になることから、次式を満たす。
（ａ（ω）＋ｊｂ（ω））ｒ（ｊω）＋（ａv（ω）＋ｊｂv（ω））ｒv（ｊω）＝０
これをｒvについてとくと、それが理想的なフィードフォワード信号である。
【０１０８】
図１６に示すように、フィードフォワード信号ｒvはｒを微分した信号を足し合わせて生成する。
【数２０】
0004939388.tif 000019
【０１０９】
したがって、これをｇ1（ｊω）ｒ（ｊω）＋ｇ2（ｊω）ｒv（ｊω）＝０に代入すると、理想的なフィードフォワード指令が満たすべき式とし、次式が得られる。
【数２１】
0004939388.tif 000020
【０１１０】
ここで未知数はｃ1，ｃ2，ｃ3，・・・ｃmのｍ個であるから、未知数の値を確定するにはωの値を例えば、｛ω1，ω2，ω3，・・・，ωm，・・・・ωn｝のようｍ点以上決めて、それに対応する
｛ａ（ω1）＋ｊｂ（ω1），ａ（ω2）＋ｊｂ（ω2），ａ（ω3）＋ｊｂ（ω3），・・・，ａ（ωn）＋ｊｂ（ωn）｝と
｛ａv（ω1）＋ｊｂv（ω1），ａv（ω2）＋ｊｂv（ω2），ａv（ω3）＋ｊｂv（ω3），・・・，ａv（ωn）＋ｊｂv（ωn）｝を正弦波応答試験で求め、次の連立一次方程式を構成し、未知数ｃ1，ｃ2，ｃ3，・・・ｃmについて解けばよい。
【数２２】
0004939388.tif 000021
【０１１１】
上の連立一次方程式は係数が複素数なので解は複素数として求められる。しかし、正弦波応答試験が誤差なく行なわれていれば解の虚数部は零となる。実際には、誤差のせいで虚数部は零にはならないので、フィードフォワードの係数としてはｃ1，ｃ2，ｃ3，・・・ｃmの虚数部を捨てて実数部のみを採用する。すなわち、次式で求める。この式が式（２）である。
【数２３】
0004939388.tif 000022
【０１１２】
ここで、記号Ｒｅは複素数の実数部を表す記号である。
記号Ｉｍは複素数の虚数部を表す記号である。定式の虚数部を取り出すと、次のようになる。この式が式（７）である。
【数２４】
0004939388.tif 000023
【０１１３】
ｃ1とｄ1の大きさを比較して、ｃ1＞＞ｄ1であればｃ1の値は信頼できる。以下同様に２次の係数、３次の係数と調べる。一般に、誤差は次数が高くなるほど大きい。ある次数で不信頼となれば、それ以上の高次の係数は零とする。
下記の行例が正方行列でないときには、逆行列演算には疑似逆行列を用いる。
【数２５】
0004939388.tif 000024
【０１１４】
＜式（３）と式（４）の説明＞
次に式（３）と式（４）について説明する。
角速度ω1において、ｒから誤差ｅへの伝達関数を次式で表す。
ｅ（ｊω1）＝（ａ（ω1）＋ｊｂ（ω1））ｒ（ｊω1）
誤差の定義は次式である。
ｅ（ｊω1）＝ｒ（ｊω1）−θL（ｊω1）
上の二つの式からｒからθLへの伝達関数を求めると次のようになる。
θL（ｊω1）＝（１−ａ（ω1）−ｊｂ（ω1））ｒ（ｊω1）・・・・（Ａ）
【０１１５】
ｒvから誤差ｅへの伝達関数を次式で表す。
ｅ（ｊω1）＝（ａv（ω1）＋ｊｂv（ω1））ｒv（ｊω1）
ｒvからθLへの伝達関数は、誤差の定義式から次式となる。
θL（ｊω1）＝−（ａv（ω1）＋ｊｂv（ω1））ｒv（ｊω1）
θLの応答について考えるならば、図１５は図１７のように等価変換できるので、上式は次のように表される。
θL（ｊω1）＝（ａv（ω1）＋ｊｂv（ω1））ｋpｒ（ｊω1）・・・（Ｂ）
【０１１６】
上記の式（Ａ）と式（Ｂ）より、θLとｒを消去すると次式を得る。
１−ａ（ω1）−ｊｂ（ω1）＝（ａv（ω1）＋ｊｂ（ω1））ｋp
したがって、
ａv（ω1）＝（ａ（ω1）−１）ｋp-1
ｂv（ω1）＝ｂ（ω1））ｋp-1
を得る。
【０１１７】
同様の関係はω2においても成り立つ。
ａv（ω2）＝（ａ（ω2）−１）ｋp-1
ｂv（ω2）＝ｂ（ω2））ｋp-1
【０１１８】
＜式（５）の説明＞
次に式（５）について説明する。
フィードフォワード制御の係数ｃは、位置応答の周波数分析結果ａ，ｂと、速度応答の周波数分析結果ａv，ｂvと、次式の関係がある。式（２）はこれをそのまま連立方程式として解いたものである。
【数２６】
0004939388.tif 000025
【０１１９】
連立方程式として解くと、逆行列の計算が必要であり演算負荷の点で問題である。計算負荷の軽減のためには、逆行列計算をしないで解く方法が望ましい。
式（５）は式（２）を近似的に解く方式である。基本的な考え方は低次の係数項から順に決めるところにある。以下で説明する。
【０１２０】
前提としてω1＜ω2＜ω3＜・・・＜ωnのように、角速度は小さいものから順に並んでいるものとする。
ω1＜＜１であれば、連立方程式の一行目は次式となる。
【数２７】
0004939388.tif 000026
【０１２１】
これを、ｃ1について解いてその実数部を求めると次式となる。
【数２８】
0004939388.tif 000027
【０１２２】
次に連立方程式の２行目を次式で近似する。
【数２９】
0004939388.tif 000028
【０１２３】
これをｃ2について解いてその実数部を求めると次式となる。
【数３０】
0004939388.tif 000029
【０１２４】
ｃ3，ｃ4，・・・，ｃnについても同様の計算をすることにより式（５）が得られる。
【産業上の利用可能性】
【０１２５】
本発明は工作機械をフィードバック制御すると共にフィードフォワード制御する場合に、フィードフォワード定数を同定する場合のみならず、モータの回転運動をボールねじ送り部により直線運動に変換して移動対象物（負荷）を直線移動させる各種の制御対象機器をフィードフォワード制御する場合にも適用することができる。
【図面の簡単な説明】
【０１２６】
【図１】本願発明が対象とする制御系を示すブロック図。
【図２】本発明の実施例１に係るフィードフォワード制御装置を備えたサーボ制御装置を示すブロック図。
【図３】位置指令応答周波数分析手段を示すブロック図。
【図４】速度指令応答周波数分析手段を示すブロック図。
【図５】フィードフォワード定数算出手段を示すブロック図。
【図６】実施例１の変形例にかかるフィードフォワード制御装置を備えたサーボ制御装置を示すブロック図。
【図７】本発明の実施例２に係るフィードフォワード制御装置を備えたサーボ制御装置を示すブロック図。
【図８】速度指令応答演算手段を示すブロック図。
【図９】本発明の実施例３に係るフィードフォワード制御装置を備えたサーボ制御装置を示すブロック図。
【図１０】位置指令応答演算手段を示すブロック図。
【図１１】本発明の実施例４に係るフィードフォワード制御装置を備えたサーボ制御装置を示すブロック図。
【図１２】第２のフィードフォワード定数算出手段を示すブロック図。
【図１３】本発明の実施例５に係るフィードフォワード制御装置を備えたサーボ制御装置を示すブロック図。
【図１４】第３のフィードフォワード定数算出手段を示すブロック図。
【図１５】フィードフォワード制御を取り外した工作機械のモデルを示すブロック図。
【図１６】フィードフォワード制御部を示すブロック図。
【図１７】フィードフォワード制御を取り外した工作機械のモデルを等価変換して示すブロック図。
【図１８】工作機械の概要を示す斜視図。
【図１９】テーブルを駆動するボールねじ駆動系を示すブロック図。
【図２０】従来技術を示す説明図。
【符号の説明】
【０１２７】
１５０  電流制御・モータ・機械系
１００  フィードバック制御器
２００  フィードフォワード制御器
２０１  微分級数式乗算部
２０２  比例積分逆伝達関数部
３００  フィードフォワード定数決定装置
３０１  位置指令切替手段
３０２  速度指令切替手段
３０３  位置指令応答周波数分析設定手段
３０４  位置指令応答周波数分析手段
３０５  速度指令応答周波数分析設定手段
３０６  速度指令応答周波数分析手段
３０７  周波数分析結果記録手段
３０８  フィードフォワード定数算出手段
３１０  速度指令応答演算手段
３１１  位置指令応答演算手段
３１２，３１３  フィードフォワード定数算出手段
４００  フィードフォワード制御装置
５００  サーボ制御装置
【図１】
0004939388.tif 000036
【図２】
0004939388.tif 000037
【図３】
0004939388.tif 000038
【図４】
0004939388.tif 000039
【図５】
0004939388.tif 000040
【図６】
0004939388.tif 000041
【図７】
0004939388.tif 000042
【図８】
0004939388.tif 000043
【図９】
0004939388.tif 000044
【図１０】
0004939388.tif 000045
【図１１】
0004939388.tif 000046
【図１２】
0004939388.tif 000047
【図１３】
0004939388.tif 000048
【図１４】
0004939388.tif 000049
【図１５】
0004939388.tif 000050
【図１６】
0004939388.tif 000051
【図１７】
0004939388.tif 000052
【図１８】
0004939388.tif 000053
【図１９】
0004939388.tif 000054
【図２０】
0004939388.tif 000055