(57)【特許請求の範囲】
【請求項１】
制御対象及び該制御対象をフィードバック制御する制御装置を含むシステムに対して制振指令を出力する指令発生装置が、サンプリング周期毎に該制振指令を演算するための指令生成関数の決定方法であって、
任意の時間関数であって、前記システムに対する前記制振指令を作り出すための基となる関数ａ（ｔ）を設定するステップと、
前記関数ａ（ｔ）をラプラス変換して関数Ａ（ｓ）を求めるステップと、
極を定める減衰係数がそれぞれ０、かつ極を定める固有角周波数が、それぞれ前記関数ａ（ｔ）のパワースペクトルのパワーが０となる異なる周波数ωｓであり、零点が、それぞれ複数の振動成分をもつ前記システムの各振動極であり、定常ゲインがそれぞれ１となる複数の２次の伝達関数Ｇ１（ｓ）〜Ｇｎ（ｓ）（ｎは自然数）を設定するステップと、
前記関数Ａ（ｓ）と前記伝達関数Ｇ１（ｓ）〜Ｇｎ（ｓ）とを乗じて関数Ｆｂ（ｓ）を求めるステップと、
前記関数Ｆｂ（ｓ）を逆ラプラス変換して関数ｆｂ（ｔ）を求めるステップと、
前記関数ｆｂ（ｔ）又は該関数ｆｂ（ｔ）を時間積分した関数を含む指令生成関数ｆ（ｔ）を決定するステップとを含む指令生成関数の決定方法。
【請求項２】
制御対象及び該制御対象をフィードバック制御する制御装置を含むシステムに対して制振指令を出力する指令発生装置が、サンプリング周期毎に該制振指令を演算するための指令生成関数の決定方法であって、
任意の時間関数であって、前記システムに対する前記制振指令を作り出すための基となる関数ａ（ｔ）を設定するステップと、
前記関数ａ（ｔ）をラプラス変換して関数Ａ（ｓ）を求めるステップと、
極を定める減衰係数が０、かつ極を定める固有角周波数が、前記関数ａ（ｔ）のパワースペクトルのパワーが０となる周波数ωｓであり、零点が前記システムの振動極であり、定常ゲインが１となる２次の伝達関数Ｇ（ｓ）を設定するステップと、
前記関数Ａ（ｓ）と前記伝達関数Ｇ（ｓ）を乗じて関数Ｆａ（ｓ）を求めるステップと、
前記関数Ｆａ（ｓ）を逆ラプラス変換して関数ｆａ（ｔ）を求めるステップと、
前記関数ｆａ（ｔ）又は該関数ｆａ（ｔ）を時間積分した関数を含む指令生成関数ｆ（ｔ）を決定するステップとを含む指令生成関数の決定方法。
【請求項３】
請求項２記載の指令生成関数の決定方法において、
前記周波数ωｓは、前記関数ａ（ｔ）のパワースペクトルのパワーが０となる複数の周波数のうち、最も低い周波数である指令生成関数の決定方法。
【請求項４】
請求項２記載の指令生成関数の決定方法において、
前記周波数ωｓは、前記関数ａ（ｔ）のパワースペクトルのパワーが０となる複数の周波数のうち、前記システムの抑制したい振動周波数に最も近い周波数である指令生成関数の決定方法。
【請求項５】
制御対象及び該制御対象をフィードバック制御する制御装置を含むシステムに対して制振指令を出力する指令発生装置が、サンプリング周期毎に該制振指令を演算し、出力するための指令発生方法であって、
任意の時間関数であって、前記システムに対する前記制振指令を作り出すための基となる関数ａ（ｔ）を設定するステップと、
前記関数ａ（ｔ）をラプラス変換して関数Ａ（ｓ）を求めるステップと、
極を定める減衰係数がそれぞれ０、かつ極を定める固有角周波数が、それぞれ前記関数ａ（ｔ）のパワースペクトルのパワーが０となる異なる周波数ωｓであり、零点が、それぞれ複数の振動成分をもつ前記システムの各振動極であり、定常ゲインがそれぞれ１となる複数の２次の伝達関数Ｇ１（ｓ）〜Ｇｎ（ｓ）（ｎは自然数）を設定するステップと、
前記関数Ａ（ｓ）と前記伝達関数Ｇ１（ｓ）〜Ｇｎ（ｓ）とを乗じて関数Ｆｂ（ｓ）を求めるステップと、
前記関数Ｆｂ（ｓ）を逆ラプラス変換して関数ｆｂ（ｔ）を求めるステップと、
前記関数ｆｂ（ｔ）又は該関数ｆｂ（ｔ）を時間積分した関数を含む関数にサンプリング周期毎の時刻を入力し、制振指令を出力するステップとを含む指令発生方法。
【請求項６】
制御対象及び該制御対象をフィードバック制御する制御装置を含むシステムに対して制振指令を出力する指令発生装置が、サンプリング周期毎に該制振指令を演算し、出力するための指令発生方法であって、
任意の時間関数であって、前記システムに対する前記制振指令を作り出すための基となる関数ａ（ｔ）を設定するステップと、
前記関数ａ（ｔ）をラプラス変換して関数Ａ（ｓ）を求めるステップと、
極を定める減衰係数が０、かつ極を定める固有角周波数が、前記関数ａ（ｔ）のパワースペクトルのパワーが０となる周波数ωｓであり、零点が前記システムの振動極であり、定常ゲインが１となる２次の伝達関数Ｇ（ｓ）を設定するステップと、
前記関数Ａ（ｓ）と前記伝達関数Ｇ（ｓ）を乗じて関数Ｆａ（ｓ）を求めるステップと、
前記関数Ｆａ（ｓ）を逆ラプラス変換して関数ｆａ（ｔ）を求めるステップと、
前記関数ｆａ（ｔ）又は該関数ｆａ（ｔ）を時間積分した関数を含む関数にサンプリング周期毎の時刻を入力し、制振指令を出力するステップとを含む指令発生方法。
【請求項７】
記憶部を備え、
前記記憶部に請求項１記載の指令生成関数の決定方法によって求められた前記関数ｆｂ（ｔ）又は該関数ｆｂ（ｔ）を時間積分した関数を含む関数が、指令生成関数ｆ（ｔ）として記憶された指令発生装置。
【請求項８】
記憶部を備え、
前記記憶部に請求項２記載の指令生成関数の決定方法によって求められた前記関数ｆａ（ｔ）又は該関数ｆａ（ｔ）を時間積分した関数を含む関数が、指令生成関数ｆ（ｔ）として記憶された指令発生装置。
【請求項９】
記憶部を備え、
前記記憶部に請求項１記載の指令生成関数の決定方法によって求められた前記関数ｆｂ（ｔ）又は該関数ｆｂ（ｔ）を時間積分した関数を含む関数が、指令生成関数ｆ（ｔ）として記憶されたモータ制御装置。
【請求項１０】
記憶部を備え、
前記記憶部に請求項２記載の指令生成関数の決定方法によって求められた前記関数ｆａ（ｔ）又は該関数ｆａ（ｔ）を時間積分した関数を含む関数が、指令生成関数ｆ（ｔ）として記憶されたモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、指令生成関数の決定方法、指令発生方法、指令発生装置、及びモータ制御装置に関する。
【背景技術】
【０００２】
機械などの制御対象を動作させた場合に発生する振動を抑制するために、制振指令生成装置が用いられる。その制振指令生成装置の一例としては、特許文献１に記載の振動抑制指令生成装置が挙げられる。この振動抑制指令生成装置は、台形指令発生装置と安定型２次フィルタと、指令定着部と、ＣＩＣフィルタとを用いて、指令時間をあまり長くさせることなく、機台の振動と駆動系の振動を共に抑制する。この振動抑制指令生成装置は、安定型２次フィルタにて、機台が振動しないように台形指令を変形し、指令定着部にて、指令時間があまり延びないように、かつ目標位置がずれないように処理し、ＣＩＣフィルタにて駆動系の振動を抑制している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４２８８９５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の振動抑制指令生成装置は、台形指令生成処理と、安定型２次フィルタの処理と、指令定着部の処理と、ＣＩＣフィルタの処理とを、サンプリング周期毎に演算する必要がある。従って、処理が複雑であり、演算量が膨大になる。
【０００５】
本発明は、少ない演算量で機械の振動を抑制することが可能な指令生成関数の決定方法、指令発生方法、指令発生装置、及びモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記目的に沿う第１の発明に係る指令生成関数の決定方法は、制御対象及び該制御対象をフィードバック制御する制御装置を含むシステムに対して制振指令を出力する指令発生装置が、サンプリング周期毎に該制振指令を演算するための指令生成関数の決定方法であって、
任意の時間関数であって、前記システムに対する前記制振指令を作り出すための基となる関数ａ（ｔ）を設定するステップと、
前記関数ａ（ｔ）をラプラス変換して関数Ａ（ｓ）を求めるステップと、
極を定める減衰係数がそれぞれ０、かつ極を定める固有角周波数が、それぞれ前記関数ａ（ｔ）のパワースペクトルのパワーが０となる異なる周波数ωｓであり、零点が、それぞれ複数の振動成分をもつ前記システムの各振動極であり、定常ゲインがそれぞれ１となる複数の２次の伝達関数Ｇ１（ｓ）〜Ｇｎ（ｓ）（ｎは自然数）を設定するステップと、
前記関数Ａ（ｓ）と前記伝達関数Ｇ１（ｓ）〜Ｇｎ（ｓ）とを乗じて関数Ｆｂ（ｓ）を求めるステップと、
前記関数Ｆｂ（ｓ）を逆ラプラス変換して関数ｆｂ（ｔ）を求めるステップと、
前記関数ｆｂ（ｔ）又は該関数ｆｂ（ｔ）を時間積分した関数を含む指令生成関数ｆ（ｔ）を決定するステップとを含む。
【０００７】
前記目的に沿う第２の発明に係る指令生成関数の決定方法は、制御対象及び該制御対象をフィードバック制御する制御装置を含むシステムに対して制振指令を出力する指令発生装置が、サンプリング周期毎に該制振指令を演算するための指令生成関数の決定方法であって、
任意の時間関数であって、前記システムに対する前記制振指令を作り出すための基となる関数ａ（ｔ）を設定するステップと、
前記関数ａ（ｔ）をラプラス変換して関数Ａ（ｓ）を求めるステップと、
極を定める減衰係数が０、かつ極を定める固有角周波数が、前記関数ａ（ｔ）のパワースペクトルのパワーが０となる周波数ωｓであり、零点が前記システムの振動極であり、定常ゲインが１となる２次の伝達関数Ｇ（ｓ）を設定するステップと、
前記関数Ａ（ｓ）と前記伝達関数Ｇ（ｓ）を乗じて関数Ｆａ（ｓ）を求めるステップと、
前記関数Ｆａ（ｓ）を逆ラプラス変換して関数ｆａ（ｔ）を求めるステップと、
前記関数ｆａ（ｔ）又は該関数ｆａ（ｔ）を時間積分した関数を含む指令生成関数ｆ（ｔ）を決定するステップとを含む。
【０００８】
第２の発明に係る指令生成関数の決定方法において、前記周波数ωｓは、前記関数ａ（ｔ）のパワースペクトルのパワーが０となる複数の周波数のうち、最も低い周波数であることが好ましい。
【０００９】
第２の発明に係る指令生成関数の決定方法において、前記周波数ωｓは、前記関数ａ（ｔ）のパワースペクトルのパワーが０となる複数の周波数のうち、前記システムの抑制したい振動周波数に最も近い周波数であることが好ましい。
【００１０】
【００１１】
【００１２】
前記目的に沿う第３の発明に係る指令発生方法は、制御対象及び該制御対象をフィードバック制御する制御装置を含むシステムに対して制振指令を出力する指令発生装置が、サンプリング周期毎に該制振指令を演算し、出力するための指令発生方法であって、
任意の時間関数であって、前記システムに対する前記制振指令を作り出すための基となる関数ａ（ｔ）を設定するステップと、
前記関数ａ（ｔ）をラプラス変換して関数Ａ（ｓ）を求めるステップと、
極を定める減衰係数がそれぞれ０、かつ極を定める固有角周波数が、それぞれ前記関数ａ（ｔ）のパワースペクトルのパワーが０となる異なる周波数ωｓであり、零点が、それぞれ複数の振動成分をもつ前記システムの各振動極であり、定常ゲインがそれぞれ１となる複数の２次の伝達関数Ｇ１（ｓ）〜Ｇｎ（ｓ）（ｎは自然数）を設定するステップと、
前記関数Ａ（ｓ）と前記伝達関数Ｇ１（ｓ）〜Ｇｎ（ｓ）とを乗じて関数Ｆｂ（ｓ）を求めるステップと、
前記関数Ｆｂ（ｓ）を逆ラプラス変換して関数ｆｂ（ｔ）を求めるステップと、
前記関数ｆｂ（ｔ）又は該関数ｆｂ（ｔ）を時間積分した関数を含む関数にサンプリング周期毎の時刻を入力し、制振指令を出力するステップとを含む。
【００１３】
前記目的に沿う第４の発明に係る指令発生方法は、制御対象及び該制御対象をフィードバック制御する制御装置を含むシステムに対して制振指令を出力する指令発生装置が、サンプリング周期毎に該制振指令を演算し、出力するための指令発生方法であって、
任意の時間関数であって、前記システムに対する前記制振指令を作り出すための基となる関数ａ（ｔ）を設定するステップと、
前記関数ａ（ｔ）をラプラス変換して関数Ａ（ｓ）を求めるステップと、
極を定める減衰係数が０、かつ極を定める固有角周波数が、前記関数ａ（ｔ）のパワースペクトルのパワーが０となる周波数ωｓであり、零点が前記システムの振動極であり、定常ゲインが１となる２次の伝達関数Ｇ（ｓ）を設定するステップと、
前記関数Ａ（ｓ）と前記伝達関数Ｇ（ｓ）を乗じて関数Ｆａ（ｓ）を求めるステップと、
前記関数Ｆａ（ｓ）を逆ラプラス変換して関数ｆａ（ｔ）を求めるステップと、
前記関数ｆａ（ｔ）又は該関数ｆａ（ｔ）を時間積分した関数を含む関数にサンプリング周期毎の時刻を入力し、制振指令を出力するステップとを含む。
【００１４】
前記目的に沿う第５の発明に係る指令発生装置は、記憶部を備え、
前記記憶部に第１の発明に係る指令生成関数の決定方法によって求められた前記関数ｆｂ（ｔ）又は該関数ｆｂ（ｔ）を時間積分した関数を含む関数が、指令生成関数ｆ（ｔ）として記憶される。
【００１５】
前記目的に沿う第６の発明に係る指令発生装置は、記憶部を備え、
前記記憶部に第２の発明に係る指令生成関数の決定方法によって求められた前記関数ｆａ（ｔ）又は該関数ｆａ（ｔ）を時間積分した関数を含む関数が、指令生成関数ｆ（ｔ）として記憶される。
【００１６】
【００１７】
【００１８】
前記目的に沿う第７の発明に係るモータ制御装置は、記憶部を備え、
前記記憶部に第１の発明に係る指令生成関数の決定方法によって求められた前記関数ｆｂ（ｔ）又は該関数ｆｂ（ｔ）を時間積分した関数を含む関数が、指令生成関数ｆ（ｔ）として記憶される。
【００１９】
前記目的に沿う第８の発明に係るモータ制御装置は、記憶部を備え、
前記記憶部に第２の発明に係る指令生成関数の決定方法によって求められた前記関数ｆａ（ｔ）又は該関数ｆａ（ｔ）を時間積分した関数を含む関数が、指令生成関数ｆ（ｔ）として記憶される。
【発明の効果】
【００２０】
本発明に係る指令生成関数の決定方法、指令発生方法、指令発生装置、及びモータ制御装置によれば、少ない演算量で機械の振動を抑制することが可能である。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の実施の形態に係る指令発生装置を有するサーボ制御システムの構成図である。
【図２】同指令発生装置の設計方法のフロー図である。
【図３】同指令発生装置の入力パラメータと位置指令の説明図である。
【図４】同指令発生装置の入力パラメータと位置指令の説明図である。
【図５】同指令発生装置の基本関数を表す波形である。
【図６】同指令発生装置の設計に用いる基本関数のパワースペクトルである。
【図７】同指令発生装置の設計方法によって求められた関数ｆａ（ｔ）の出力波形である。
【図８】同指令発生装置の設計方法によって求められた関数ｆａ（ｔ）の出力波形のパワースペクトルである。
【図９】本発明の第３の実施の形態に係る指令発生装置の設計方法のフロー図である。
【図１０】本発明の第４の実施の形態に係る指令発生装置の設計方法によって求められた関数ｆｂ（ｔ）の出力波形である。
【図１１】同指令発生装置の設計方法によって求められた関数ｆｂ（ｔ）の出力波形のパワースペクトルである。
【図１２】指令発生装置を指令発生器として有するモータ制御装置の構成図である。
【発明を実施するための形態】
【００２２】
続いて、添付した図面を参照しつつ、本発明を具体化した実施の形態につき説明し、本発明の理解に供する。
【００２３】
〔第１の実施の形態〕
まず、本発明の第１の実施の形態に係る指令発生装置２０を有するサーボ制御システム１０について説明する。
【００２４】
図１に示すように、サーボ制御システム１０は、指令発生装置２０と、制御装置３０と、を備え、制御対象４０を制御することができる。この制御対象４０は、例えば２慣性系や機台振動系で模擬できるような、加減速時や停止時に振動が発生する機械とそれを駆動するモータである。
【００２５】
指令発生装置２０は、制振指令をサンプリング周期Ｔｓ毎に演算して生成することができる。生成される制振指令は、例えば位置指令Ｘｒｅｆである。制振指令の他の例として、サンプリング周期Ｔｓ毎の位置の増分値、速度指令、加速度指令等が挙げられる。以下、制振指令は位置指令Ｘｒｅｆであるとして説明する。
指令発生装置２０は、例えば、モーションコントローラである。
【００２６】
指令発生装置２０は、内部に記憶部２１を有している。記憶部２１には、指令生成関数（時間の関数）ｆ（ｔ）が記憶されている。指令発生装置２０は、指令に要求される条件を定義するための入力パラメータと指令生成関数ｆ（ｔ）とに基づいて、制振指令を出力することができる。
【００２７】
ここで、生成される制振指令は位置指令Ｘｒｅｆであるため、入力パラメータの第１の例として、例えば以下の項目が設定される（図３参照）。
１）目標位置ｄｉｓｔ
２）移動時間ｔｂ
３）抑制したい振動の周波数ωｃ
４）抑制したい振動の減衰係数ζｃ
【００２８】
また、入力パラメータの第２の例として、例えば以下の項目が設定される場合もある（図４参照）。
１）目標位置ｄｉｓｔ
２）一定速度Ｖ
３）加速時間ｔｂ
４）減速時間ｔｂ
５）抑制したい振動の周波数ωｃ
６）抑制したい振動の減衰係数ζｃ
なお、加速時間及び減速時間は、それぞれ異なるように設定することも可能である。
【００２９】
制御装置３０は、ＰＩＤ制御に代表されるような制御則により、位置指令Ｘｒｅｆと制御対象４０の検出位置Ｘｍが一致するように制御演算を行い、制御対象４０が有するモータ（不図示）に対して駆動電力を出力することができる。
制御装置３０は、例えば、サーボアンプ（モータ制御装置）である。
【００３０】
次に、指令発生装置２０の設計方法について、図２に示すステップ毎に説明する。以下、指令発生装置２０には、前述の第１の例として示した入力パラメータが設定されているものとして、説明する。
制御対象４０を含むシステム全体の抑制したい振動は、周波数ωｃ、減衰係数ζｃの振動である。
【００３１】
（ステップＳａ１）
制振指令を作りだすための基となる関数ａ（ｔ）を設定する。以下、この関数を「基本関数」と呼ぶ。基本関数ａ（ｔ）は、任意の時間関数でよい。ただし、基本関数は、位置指令Ｘｒｅｆに要求される条件、即ち、入力パラメータの設定方法（指令に要求される条件）によって、例えば速度の関数として使用されたり、加速度の関数として使用されたり、加加速度（躍度）の関数として使用されたりする。
具体的には、前述の第１の例として示した入力パラメータが設定されるので、基本関数ａ（ｔ）は、速度の関数として使用される（図３参照）。付言すると、前述の第２の例として示した入力パラメータが設定される場合には、基本関数ａ（ｔ）は、加速度の関数として使用される（図４参照）。
なお、図３及び図４において、後述する伝達関数Ｇ（ｓ）の定常ゲインが１なので、基本関数ａ（ｔ）を時刻ｔ＝０〜ｔｂまで時間積分した値と、後述する関数ｆａ（ｔ）又は関数ｆｂ（ｔ）を時刻ｔ＝０〜ｔｂまで時間積分した値とは同じになる。従って、本ステップにおいては、ｆａ（ｔ）又はｆｂ（ｔ）をａ（ｔ）に置き換えて図３及び図４を参照することができる。
【００３２】
本ステップにおいては、一例として、図５に示すような波形で表される基本関数ａ（ｔ）を設定する。この波形は、正弦波の半周期分の波形であり、時刻ｔ＝０秒から始まり、時刻ｔ＝ｔｂ秒で終了する。この場合、正弦波の周期ωはπ／ｔｂである。なお、本実施の形態においては、ｔｂ＝０．２５である。
基本関数ａ（ｔ）として、図５に示すような正弦波の半周期分の波形で表される関数を選んだ理由は、台形指令などよりも、波形が滑らかで、高周波数成分をあまり含まずに、高い周波数の機械共振などを励起しにくいからである。
【００３３】
この基本関数ａ（ｔ）は次式で表される。
【００３４】
ａ（ｔ）＝ｒ・ｓｉｎ（ω・ｔ）  …（式１）
【００３５】
ここで、ｒは基本関数ａ（ｔ）を時刻ｔ＝０から時刻ｔ＝ｔｂまで積分した値が所望の値になるように設定される。この所望の値は、前述の第１の例として示した入力パラメータが設定されているので、基本関数ａ（ｔ）（速度の関数として使用される）を時刻ｔ＝０から時刻ｔ＝ｔｂまで積分した値（図３の斜線で示した面積）が表す目標位置ｄｉｓｔである。付言すると、この所望の値は、前述の第２の例として示した入力パラメータが設定される場合には、基本関数ａ（ｔ）（加速度の関数として使用される）を時刻ｔ＝０から時刻ｔ＝ｔｂまで積分した値（図４の斜線で示した面積）が表す一定速度Ｖである。
即ち、基本関数ａ（ｔ）が速度として使用される場合は、基本関数ａ（ｔ）の積分は位置の目標値となる。基本関数ａ（ｔ）が加速度として使用される場合は、基本関数ａ（ｔ）の積分は速度の目標値となる。基本関数ａ（ｔ）が加加速度（躍度）として使用される場合は基本関数ａ（ｔ）の積分は加速度の目標値となる。ｒは、これらの関係に基づいて設定される。
なお、図５に示した基本関数の波形の縦軸は、ｒを１として表している。
【００３６】
ここで、第１の例として示した入力パラメータが設定される場合のｒを求めると、以下の通りである。
（式１）にて表される基本関数ａ（ｔ）を時刻ｔ＝０から時刻ｔ＝ｔｂまで積分すると、２・ｒ／ωとなる。これが目標位置ｄｉｓｔと等しいので、ｒ＝ｄｉｓｔ・ω／２として設定される（図３参照）。
付言すると、第２の例として示した入力パラメータが設定される場合のｒについては、以下の通りである。
（式１）にて表される基本関数ａ（ｔ）を時刻ｔ＝０から時刻ｔ＝ｔｂまで積分すると、２・ｒ／ωとなる。これが一定速度Ｖと等しいので、ｒ＝Ｖ・ω／２として設定される（図４参照）。なお、同図４に示した時間ｔｃは、速度波形の総面積が目標位置ｄｉｓｔになるように、加速時間ｔｂ、減速時間ｔｂ、及び一定速度Ｖから逆算して求める。
【００３７】
（ステップＳａ２）
基本関数ａ（ｔ）をラプラス変換し、次式で表される関数Ａ（ｓ）を求める。
【００３８】
Ａ（ｓ）＝ｒ・ω／（ｓ２＋ω２）  …（式２）
【００３９】
（ステップＳａ３）
極を定める減衰係数が０、かつ極を定める固有角周波数が、基本関数のパワースペクトルのパワーが０の周波数ωｓとなるように設定され（極は減衰係数及び固有角周波数によって定まる）、零点が抑制したいシステムの振動極に設定された、定常ゲインが１となる２次の伝達関数Ｇ（ｓ）を求める。なお、システムの振動極とは、減衰係数が１未満のシステムの極のことである。
本実施の形態においては、Ｇ（ｓ）は次式で表される。
【００４０】
Ｇ（ｓ）＝（（１／ωｃ２）・ｓ２＋２・ζｃ／ｗｃ・ｓ＋１）
／（（１／ωｓ２）・ｓ２＋１）  …（式３）
【００４１】
ここで、周波数ωｓは、基本関数のＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）の結果に基づいて設定することができる。図６から明らかなように、基本関数ａ（ｔ）には、パワースペクトルのパワーが０となっている周波数（ωｏ１，ωｏ２，ωｏ３，ωｏ４，・・・）が存在する。周波数ωｓは、これらのどの周波数に設定しても良い。ただし、周波数ωｓは、最も低い周波数ωｏ１に設定することが好ましい。なお、周波数ωｓは、基本関数のパワースペクトルのパワーが０となっている周波数の中で、抑制したい振動の周波数ωｃに最も近い周波数に設定してもよい。この周波数ωｓの設定により、生成される制振指令の波形が変わるので、その波形を確認しながら決定しても良い。
【００４２】
（ステップＳａ４）
Ｇ（ｓ）とＡ（ｓ）とを乗じ、次式で表される関数Ｆａ（ｓ）を求める。
【００４３】
Ｆａ（ｓ）＝Ｇ（ｓ）・Ａ（ｓ）  …（式４）
【００４４】
（ステップＳａ５）
Ｆａ（ｓ）を逆ラプラス変換し、（式５）から（式８）で表される関数ｆａ（ｔ）を求める。
【００４５】
ｆａ（ｔ）＝  ｒ・｛Ｐ０・ｓｉｎ（ω・ｔ）＋Ｐ１・ｓｉｎ（ωｓ・ｔ）
＋  Ｑ０・（ｃｏｓ（ω・ｔ）−ｃｏｓ（ωｓ・ｔ））｝…（式５）
【００４６】
ただし、
Ｐ０＝ωｓ２・（ωｃ２−ω２）／（ωｃ２・（ωｓ２−ω２））  …（式６）
Ｐ１＝ω・ωｓ・（ωｓ２−ωｃ２）／（ωｃ２・（ωｓ２−ω２））  …（式７）
Ｑ０＝２・ζｃ・ω・ωｓ２／（ωｃ・（ωｓ２−ω２））  …（式８）
【００４７】
このように、ステップＳａ１〜Ｓａ５を実行し、関数ｆａ（ｔ）を求めることで、指令発生装置２０を設計することが可能である。
【００４８】
次に、指令発生方法について説明する。
本実施の形態においては、基本関数ａ（ｔ）を速度として使用しており、関数ｆａ（ｔ）も速度の関数であるので、関数ｆａ（ｔ）を時刻ｔ＝０からｔ＝ｔｂまで時間積分したものが位置指令（時間関数）Ｘｒｅｆとなる（図３参照）。
付言すると、基本関数ａ（ｔ）を加速度として使用した場合は、ｆａ（ｔ）も加速度の関数であるので、関数ｆａ（ｔ）を時刻ｔ＝０から時刻ｔ＝ｔｂまで時間積分したものが速度指令の時間関数となり、２階時間積分したものが位置の時間関数（位置指令Ｘｒｅｆ）となる（図４参照）。
従って、関数ｆａ（ｔ）は、入力パラメータの設定方法（指令に要求される条件）に応じて、例えば１階又は２階時間積分された上で、指令生成関数ｆ（ｔ）として記憶部２１に記憶されている。ただし、入力パラメータの設定方法に応じて、指令生成関数ｆ（ｔ）は、関数ｆａ（ｔ）そのものであったり、関数ｆａ（ｔ）を一部に含んで構成されたり、関数ｆａ（ｔ）を時間積分（例えば、１階又は２階の時間積分）した関数を含んで構成されたりする場合がある。
なお、指令生成関数ｆ（ｔ）が記憶部２１に記憶されることによって、本実施の形態に係る指令発生装置２０が製造される。
【００４９】
指令発生装置２０により制振指令（位置指令Ｘｒｅｆ）を発生させるためには、関数ｆａ（ｔ）を積分した時間関数（指令生成関数ｆ（ｔ））の時刻ｔにサンプリング周期Ｔｓ毎の時刻ｔ＝ｋ・Ｔｓ（ｋ＝０，１，２，３，・・・ｔｂ／Ｔｓ）を代入していく。これにより、サンプリング周期Ｔｓ毎の指令が生成される。
従って、少ない演算量で制振指令が生成される。
【００５０】
なお、制振指令の種類（例えば、速度指令や加速度指令）によっては、関数ｆａ（ｔ）がそのまま指令生成関数ｆ（ｔ）として記憶部２１に記憶され、この指令生成関数ｆ（ｔ）の時刻ｔにサンプリング周期Ｔｓ毎の時刻を代入していく場合もある。
付言すると、前述の第２の例として示した入力パラメータが設定される場合には、加速区間及び減速区間それぞれについて関数ｆａ（ｔ）及び関数−ｆａ（ｔ）を２階積分した関数を求め、定速区間における指令とともに、これらをつなぎ合わせて指令生成関数ｆ（ｔ）とする。つまり、指令生成関数ｆ（ｔ）は、関数ｆａ（ｔ）を時間積分した関数を含んでいる。換言すると、指令生成関数ｆ（ｔ）は、関数ｆａ（ｔ）を含む関数を時間積分した関数である。そして、この最終的な指令生成関数ｆ（ｔ）の時刻tに、サンプリング周期Ｔｓ毎の時刻を入力し、指令を生成させる。
【００５１】
前述の指令発生方法により生成した制振指令は、Ｇ（ｓ）の分母多項式の減衰係数を０にしているため、基本関数が終了する時刻ｔｂに必ず終了する。また、関数ｆａ（ｔ）を時刻ｔ＝０から時刻ｔ＝ｔｂまで積分した値は、基本関数ａ（ｔ）を時刻ｔ＝０から時刻ｔ＝ｔｂまでの積分した値と同じになる。
なお、Ｇ（ｓ）の分母多項式の減衰係数が０でない場合は、時刻ｔ＝ｔｂとなった後も、０に収束せず、望ましい指令が生成できない。特許文献１に記載された制振指令生成装置では、これを回避するために、指令定着部の処理が必要になる。しかしながら、指令定着部で無理に指令を終了すると、制振性能が劣化してしまうという問題がある。
【００５２】
一方、通常の指令フィルタなどの減衰係数を０とすると、生成後の指令自体が持続振動を起こす。
本実施の形態においては、Ｇ（ｓ）の減衰係数を０に設定し、かつＧ（ｓ）の周波数ωｓとして基本関数ａ（ｔ）のパワースペクトルのパワーが０となる周波数を設定することで、持続振動を起こさずに、時刻ｔ＝ｔｂ（基本関数ａ（ｔ）の終了時刻）で、確実に終了する制振指令を生成することができる。
【００５３】
〔第２の実施の形態〕
続いて、本発明の第２の実施の形態に係る指令発生装置について説明する。第１の実施の形態に係る指令発生装置２０と重複する内容については、同じ符号を付して詳しい説明を省略する。
この第２の実施の形態に係る指令発生装置は、その設計方法において、基本関数のパワースペクトルのパワーが０となる周波数を、ＦＦＴ結果から求めるのではなく、数式で導出するものである。以下、指令発生装置には、前述の第１の例として示した入力パラメータが設定されているものとして、説明する。
【００５４】
基本関数のパワースペクトルのパワーが０となる周波数を数式で導出するためには、減衰係数０で振動周波数ωｏの２次遅れ系のシステムの伝達関数Ｃ（ｓ）に、基本関数ａ（ｔ）を通した際に、振動が抑制されるωｏを見つければよい。
【００５５】
まず、システムの伝達関数Ｃ（ｓ）は、次式のように表現できる。
【００５６】
Ｃ（ｓ）＝ωｏ２／（ｓ２＋ωｏ２）  …（式９）
【００５７】
次に、基本関数ａ（ｔ）をラプラス変換し、さらに、指令が終了する時刻ｔｂ後は０になるように、無駄時間を用いて表現したＢ（ｓ）を求める。
例えば、基本関数ａ（ｔ）が図５で表される場合、正弦波の周期ωは、ω＝π／ｔｂなので、Ｂ（ｓ）は（式１０）のようになる。ここで、ｒは（式１）のｒと同じである。
【００５８】
Ｂ（ｓ）＝ｒ・ω／（ｓ２＋ω２）・（１＋Ｅｘｐ（−ｔｂ・ｓ））  …（式１０）
【００５９】
次に、Ｂ（ｓ）とＣ（ｓ）とを乗じ、次式で示すＤ（ｓ）を求める。
【００６０】
Ｄ（ｓ）＝Ｂ（ｓ）・Ｃ（ｓ）  …（式１１）
【００６１】
次に、Ｄ（ｓ）を逆ラプラス変換した関数ｈ（ｔ）を求める。ｈ（ｔ）は、次式で表される。
【００６２】
ｈ（ｔ）＝  ２・ωｏ・ω／（ω２−ωｏ２）・ｃｏｓ（π・ωｏ／（２・ω））
・ｓｉｎ（ωｏ・ｔ−π・ωｏ／（２・ω））  …（式１２）
【００６３】
最後に、ｈ（ｔ）が０となるような、ωｏを求める。式から明らかなように、ｈ（ｔ）が０になるためには、（式１３）を満足する必要がある。
【００６４】
ｃｏｓ（π・ωｏ／（２・π／ｔｂ））＝０  …（式１３）
【００６５】
（式１３）を満足するのは、（式１４）の場合なので、ωｏは（式１５）のようになる。
【００６６】
π・ωｏ／（２・π／ｔｂ）＝π／２＋ｋ・π  （ｋ＝０，１，２，３，・・・）
…（式１４）
【００６７】
ωｏ＝２・π／ｔｂ・（１／２＋ｋ）  …（式１５）
【００６８】
ただし、ｋ＝０のときは、ωｏ＝ωとなり、（式１２）の（ω２−ωｏ２）が０となり、（式１２）が０による割り算となるため、ｋは０以外に設定する。
【００６９】
ここで、一実施例として、ｔｂ＝０．２５ｓ、抑制したい振動周波数ωｃ＝８．０Ｈｚ、減衰係数ζｃ＝０．０、ωｏ＝２・π／ｔｂ・（１／２＋１）とし、関数ｆａ（ｔ）を求めた。
図７から明らかなように、求められた関数ｆａ（ｔ）は、時刻ｔ＝ｔｂ＝０．２５ｓで終了している。なお、図７に示した出力波形の縦軸は、ｒを１として表している。
そして、図６及び図８を比較すると、基本関数では０でなかった８．０Ｈｚの振動成分が０になっていることが分かる。即ち、任意の振動したい周波数の成分を持たない制振指令が生成されている。この制振指令を位置指令や速度指令として、制御装置３０に出力することにより、制御対象４０の振動を抑制した動作が実現できる。
【００７０】
〔第３の実施の形態〕
続いて、本発明の第３の実施の形態に係る指令発生装置について説明する。第１及び第２の実施の形態に係る指令発生装置と重複する内容については、同じ符号を付して詳しい説明を省略する。
この第３の実施の形態に係る指令発生装置においては、制振指令が複数の振動成分を抑制することが可能である。以下、指令発生装置には、前述の第１の例として示した入力パラメータが設定されているものとして、説明する。
【００７１】
以下、指令発生装置の設計方法について、図９に示すステップ毎に説明する。
【００７２】
（ステップＳｂ１）
第１の実施の形態と同様に、基本関数ａ（ｔ）を設定する。基本関数は（式１）で表される。
【００７３】
（ステップＳｂ２）
基本関数ａ（ｔ）をラプラス変換し、（式２）で表される関数Ａ（ｓ）を求める。
【００７４】
（ステップＳｂ３）
次に、極を定める減衰係数が０、かつ極を定める固有角周波数が、基本関数のパワースペクトルのパワーが０の周波数ωｓとなるように設定され、零点が抑制したいシステムの振動極に設定された、定常ゲインが１となる２次の伝達関数Ｇ（ｓ）を求める。ただし、本実施の形態においては、抑制したい振動成分が複数あるため、各振動成分に対応する複数の伝達関数Ｇ１（ｓ）〜Ｇｎ（ｓ）（ｎは自然数）を用意する必要がある。
以下、４つの振動成分を抑制したい場合について説明する。なお、抑制したい振動成分の数は任意であり、４つに限定されるものではない。
【００７５】
抑制したい振動成分は、第１の振動成分（周波数ωｃ１、減衰係数ζｃ１）、第２の振動成分（周波数ωｃ２、減衰係数ζｃ２）、第３の振動成分（周波数ωｃ３、減衰係数ζｃ３）、第４の振動成分（周波数ωｃ４、減衰係数ζｃ４）の４つとする。なお、これら抑制したい振動成分は、それぞれ入力パラメータとして設定されている。即ち、図３に示した入力パラメータのうち、周波数ωｃは、周波数ωｃ１、ωｃ２、ωｃ３、ωｃ４として設定されている。また、減衰係数ζｃは、減衰周波数ζｃ１、ζｃ２、ζｃ３、ζｃ４として設定されている。
本実施の形態においては、式を簡略化するために、４つの振動成分の減衰は０として考える。ただし、減衰がある場合も、第１の実施の形態で示した通り、制振指令を問題なく生成することができる。
【００７６】
極を定める減衰係数が０、かつ極を定める固有角周波数が、基本関数のパワースペクトルのパワーが０の周波数ωｓ１となるように設定され、零点が抑制したい一つ目のシステムの振動極ωｃ１に設定された、定常ゲインが１となる２次の伝達関数Ｇ１（ｓ）を求める。同様に、極を定める減衰係数が０、かつ極を定める固有角周波数が、基本関数のパワースペクトルのパワーが０の周波数ωｓ２、ωｓ３、ωｓ４となるようにそれぞれ設定され、零点が抑制したいシステムの振動極ωｃ２、ωｃ３、ωｃ４にそれぞれ設定された、２次の伝達関数Ｇ２（ｓ）、Ｇ３（ｓ）、Ｇ４（ｓ）を求める。
なお、ωｓ１〜ωｓ４として設定する周波数は、基本関数のパワースペクトルのパワーが０となる周波数であれば、任意で良いが、同じ周波数を重複して設定することはできない。
【００７７】
これらＧ１（ｓ）、Ｇ２（ｓ）、Ｇ３（ｓ）、Ｇ４（ｓ）は、それぞれ（式１６）〜（式１９）で表される。
【００７８】
Ｇ１（ｓ）＝（（１／ωｃ１２）・ｓ２＋１）
／（（１／ωｓ１２）・ｓ２＋１）  …（式１６）
【００７９】
Ｇ２（ｓ）＝（（１／ωｃ２２）・ｓ２＋１）
／（（１／ωｓ２２）・ｓ２＋１）  …（式１７）
【００８０】
Ｇ３（ｓ）＝（（１／ωｃ３２）・ｓ２＋１）
／（（１／ωｓ３２）・ｓ２＋１）  …（式１８）
【００８１】
Ｇ４（ｓ）＝（（１／ωｃ４２）・ｓ２＋１）
／（（１／ωｓ４２）・ｓ２＋１）  …（式１９）
【００８２】
（ステップＳｂ４）
すべての２次の伝達関数Ｇ１（ｓ）、Ｇ２（ｓ）、Ｇ３（ｓ）、Ｇ４（ｓ）とＡ（ｓ）とを乗じ、次式で表されるＦｂ（ｓ）を求める。
【００８３】
Ｆｂ（ｓ）＝Ｇ１（ｓ）・Ｇ２（ｓ）・Ｇ３（ｓ）・Ｇ４（ｓ）・Ａ（ｓ）
…（式２０）
【００８４】
（ステップＳｂ５）
Ｆｂ（ｓ）を逆ラプラス変換し、（式２１）〜（式２６）で表される関数ｆｂ（ｔ）を求める。
【００８５】
ｆｂ（ｔ）＝Ｐ０・ｓｉｎ（ω・ｔ）
＋Ｐ１・ｓｉｎ（ωｓ１・ｔ）
＋Ｐ２・ｓｉｎ（ωｓ２・ｔ）
＋Ｐ３・ｓｉｎ（ωｓ３・ｔ）
＋Ｐ４・ｓｉｎ（ωｓ４・ｔ）  …（式２１）
【００８６】
ただし、
Ｐ０＝｛ωｓ１２・ωｓ２２・ωｓ３２・ωｓ４２・（ω２−ωｃ１２）
・（ω２−ωｃ２２）・（ω２−ωｃ３２）・（ω２−ωｃ４２）｝
／｛ωｃ１２・ωｃ２２・ωｃ３２・ωｃ４２・（ω２−ωｓ１２）
・（ω２−ωｓ２２）・（ω２−ωｓ３２）・（ω２−ωｓ４２）｝
…（式２２）
【００８７】
Ｐ１＝｛ω・ωｓ１・ωｓ２２・ωｓ３２・ωｓ４２・（ωｓ１２−ωｃ１２）
・（ωｓ１２−ωｃ２２）・（ωｓ１２−ωｃ３２）・（ωｓ１２−ωｃ４２）｝
／｛ωｃ１２・ωｃ２２・ωｃ３２・ωｃ４２・（ωｓ１２−ω２）
・（ωｓ１２−ωｓ２２）・（ωｓ１２−ωｓ３２）・（ωｓ１２−ωｓ４２）｝
…（式２３）
【００８８】
Ｐ２＝｛ω・ωｓ１２・ωｓ２・ωｓ３２・ωｓ４２・（ωｓ２２−ωｃ１２）
・（ωｓ２２−ωｃ２２）・（ωｓ２２−ωｃ３２）・（ωｓ２２−ωｃ４２）｝
／｛ωｃ１２・ωｃ２２・ωｃ３２・ωｃ４２・（ωｓ２２−ω２）
・（ωｓ２２−ωｓ１２）・（ωｓ２２−ωｓ３２）・（ωｓ２２−ωｓ４２）｝
…（式２４）
【００８９】
Ｐ３＝｛ω・ωｓ１２・ωｓ２２・ωｓ３・ωｓ４２・（ωｓ３２−ωｃ１２）
・（ωｓ３２−ωｃ２２）・（ωｓ３２−ωｃ３２）・（ωｓ３２−ωｃ４２）｝
／｛ωｃ１２・ωｃ２２・ωｃ３２・ωｃ４２・（ωｓ３２−ω２）
・（ωｓ３２−ωｓ１２）・（ωｓ３２−ωｓ２２）・（ωｓ３２−ωｓ４２）｝
…（式２５）
【００９０】
Ｐ４＝｛ω・ωｓ１２・ωｓ２２・ωｓ３２・ωｓ４・（ωｓ４２−ωｃ１２）
・（ωｓ４２−ωｃ２２）・（ωｓ４２−ωｃ３２）・（ωｓ４２−ωｃ４２）｝
／｛ωｃ１２・ωｃ２２・ωｃ３２・ωｃ４２・（ωｓ４２−ω２）
・（ωｓ４２−ωｓ１２）・（ωｓ４２−ωｓ２２）・（ωｓ４２−ωｓ３２）｝
…（式２６）
【００９１】
ここで、Ｇ１（ｓ）〜Ｇ４（ｓ）の分母多項式の周波数ωｓ１〜ωｓ４は、第２の実施の形態にて説明した（式１５）に基づいて、以下のように設定することができる。
【００９２】
ωｓ１＝２・π／ｔｂ・（１／２＋１）  …（式２７）
【００９３】
ωｓ２＝２・π／ｔｂ・（１／２＋２）  …（式２８）
【００９４】
ωｓ３＝２・π／ｔｂ・（１／２＋３）  …（式２９）
【００９５】
ωｓ４＝２・π／ｔｂ・（１／２＋４）  …（式３０）
【００９６】
これは、（式１５）のｋを１、２、３、４とした場合である。ただし、この設定の仕方も、限定されるものではなく、（式１５）のｋを２、４、１、５にするなど、任意に設定すればよい。
【００９７】
このように、ステップＳｂ１〜Ｓｂ５を実行し、関数ｆｂ（ｔ）を求めることで、指令発生装置を設計することが可能である。
【００９８】
次に、指令発生方法について説明する。
本実施の形態においては、基本関数ａ（ｔ）を速度として使用しており、ｆｂ（ｔ）も速度の関数であるので、関数ｆｂ（ｔ）を時刻ｔ＝０からｔ＝ｔｂまで時間積分したものが位置指令（時間関数）Ｘｒｅｆとなる（図３参照）。
付言すると、基本関数ａ（ｔ）を加速度として使用した場合には、ｆｂ（ｔ）も加速度の関数であるので、関数ｆｂ（ｔ）を時刻ｔ＝０からｔ＝ｔｂまで時間積分したものが速度指令の時間関数となり、２階時間積分したものが位置の時間関数（位置指令Ｘｒｅｆ）となる（図４参照）。
従って、関数ｆｂ（ｔ）は、入力パラメータの設定方法（指令に要求される条件）に応じて、例えば１階又は２階時間積分された上で、指令生成関数ｆ（ｔ）として記憶部２１に記憶されている。ただし、入力パラメータの設定方法に応じて、指令生成関数ｆ（ｔ）は、関数ｆｂ（ｔ）そのものであったり、関数ｆｂ（ｔ）を一部に含んで構成されたり、関数ｆｂ（ｔ）を時間積分（例えば、１階又は２階の時間積分）した関数を含んで構成されたりする場合がある。
なお、指令生成関数ｆ（ｔ）が記憶部２１に記憶されることによって、本実施の形態に係る指令発生装置が製造される。
【００９９】
指令発生装置により制振指令（位置指令Ｘｒｅｆ）を発生させるためには、関数ｆｂ（ｔ）を積分した時間関数（指令生成関数ｆ（ｔ））の時刻ｔにサンプリング周期Ｔｓ毎の時刻ｔ＝ｋ・Ｔｓ（ｋ＝０，１，２，３，・・・ｔｂ／Ｔｓ）を代入していく。これにより、サンプリング周期Ｔｓ毎の指令が生成される。
従って、少ない演算量で制振指令が生成される。
【０１００】
なお、制振指令の種類（例えば、速度指令や加速度指令）によっては、関数ｆｂ（ｔ）がそのまま指令生成関数ｆ（ｔ）として記憶部２１に記憶され、この指令生成関数ｆ（ｔ）のｔにサンプリング周期Ｔｓ毎の時刻を代入していく場合もある。
付言すると、前述の第２の例として示した入力パラメータが設定される場合には、加速区間及び減速区間それぞれについて関数ｆｂ（ｔ）及び関数−ｆｂ（ｔ）を２階積分した関数を求め、定速区間における指令とともに、これらをつなぎ合わせて指令生成関数ｆ（ｔ）とする。つまり、指令生成関数ｆ（ｔ）は、関数ｆｂ（ｔ）を時間積分した関数を含んでいる。換言すると、指令生成関数ｆ（ｔ）は、関数ｆｂ（ｔ）を含む関数を時間積分した関数である。そして、この最終的な指令生成関数ｆ（ｔ）の時刻tに、サンプリング周期Ｔｓ毎の時刻を入力し、指令を生成させる。
【０１０１】
前述の指令発生方法により生成した制振指令（位置指令）は、Ｇ１（ｓ）、Ｇ２（ｓ）、Ｇ３（ｓ）、Ｇ４（ｓ）の分母多項式の減衰係数を０にしているため、基本関数が終了する時刻ｔｂに必ず終了する。また、関数ｆｂ（ｔ）を時刻ｔ＝０から時刻ｔ＝ｔｂまで積分した値は、基本関数ａ（ｔ）を時刻ｔ＝０から時刻ｔ＝ｔｂまでの積分した値と同じになる。
なお、Ｇ１（ｓ）、Ｇ２（ｓ）、Ｇ３（ｓ）、Ｇ４（ｓ）の分母多項式の減衰係数が０でない場合は、時刻ｔ＝ｔｂとなった後も、０に収束せず、望ましい指令が生成できない。
【０１０２】
通常の指令フィルタなどの減衰係数を０とすると、生成後の指令自体が持続振動を起こしてしまう。
本実施の形態においては、Ｇ１（ｓ）、Ｇ２（ｓ）、Ｇ３（ｓ）、Ｇ４（ｓ）の減衰係数を０に設定し、かつ、Ｇ１（ｓ）、Ｇ２（ｓ）、Ｇ３（ｓ）、Ｇ４（ｓ）の周波数ωｓ１〜ωｓ４として基本関数ａ（ｔ）のパワースペクトルのパワーが０となる周波数を設定することで、持続振動を起こさずに、時刻ｔ＝ｔｂ（基本関数ａ（ｔ）の終了時刻）で、確実に終了する制振指令を生成することができる。
【０１０３】
〔第４の実施の形態〕
続いて、本発明の第４の実施の形態に係る指令発生装置の設計方法について説明する。第１〜第３の実施の形態に係る指令発生装置の設計方法と重複する内容については、同じ符号を付して詳しい説明を省略する。
第３の実施の形態においては、抑制したい振動が複数ある場合の設計方法を説明した。本実施の形態においては、この設計方法を用いて、ある周波数範囲の振動を励起しない制振指令を生成することが可能である。以下、指令発生装置には、前述の第１の例として示した入力パラメータが設定されているものとして、説明する。
【０１０４】
周波数ωｍｉｎ〜ωｍａｘまでの振動を励起しない制振指令を生成したい場合は、周波数ωｍｉｎ〜ωｍａｘの周波数範囲内のｎ個の振動を抑制できる制振指令を生成するようにする。
例えば、１０〜１４Ｈｚの範囲の振動を抑制したい場合は、ωｃ１＝１０Ｈｚ、ωｃ２＝１１Ｈｚ、ωｃ３＝１２．５Ｈｚ、ωｃ４＝１４Ｈｚのように、生成した制振指令のＦＦＴの結果を見ながら、個数ｎと、設定周波数ωｃｎの値を決定する。本実施の形態においてはｎを４に設定しているが、これに限定されるものではなく、任意に選択すればよい。
【０１０５】
このようにして設計された関数ｆｂ（ｔ）（図１０参照）の出力波形は、図１１に示すように、１０〜１４Ｈｚのパワーが一様に小さくなっている。
このように、本実施の形態の指令発生装置の設計方法を用いれば、任意の振動したい周波数範囲の成分をほとんど持たない制振指令を生成する指令発生装置を設計できる。そして、この制振指令を制御装置３０に出力することにより、ある周波数範囲の振動が抑制された動作が実現できる。
【０１０６】
従って、本実施の形態によれば、産業用ロボットのように姿勢や把持するツールにより固有振動周波数が変化する機械、位置やワークによって固有振動周波数が変化するチップマウンタのような機械、及び、クレーンのように、ワイヤの長さで固有振動周波数が変化する機械などの制振に有効な制振指令を生成できる。
また、抑制したい振動の周波数や減衰係数が正確にわからないような場合にも、有効な制振指令を生成できる。
【０１０７】
なお、本発明は、前述の実施の形態に限定されるものではなく、本発明の要旨を変更しない範囲での変更は可能である。例えば、前述の実施の形態や変形例の一部又は全部を組み合わせて発明を構成する場合も本発明の技術的範囲に含まれる。
前述の実施の形態にて説明した指令発生装置は、制御装置３０とは別の装置であった。しかし、図１２に示すように、例えば、制御装置が例えばモータ制御装置（制御装置）５０である場合には、モータ制御装置５０が、指令発生装置としての指令発生器２０ａを有していても良い。
つまり、モータ制御装置５０が、入力パラメータ及び記憶部２１ａに記憶された指令生成関数ｆ（ｔ）に基づいて制振指令（位置指令Ｘｒｅｆ）を発生する指令発生器（指令発生装置）２０ａと、ＰＩＤ制御に代表されるような制御則により、位置指令Ｘｒｅｆと制御対象４０の検出位置Ｘｍが一致するように制御演算を行い、制御対象４０が有するモータ（不図示）に対して駆動電力を出力する制御器３０ａとを備える構成としても良い。
なお、モータ制御装置５０は、位置制御以外に、例えば速度制御やトルク制御を行うことも可能である。
従って、前述の指令発生装置の設計方法及び製造方法は、別の観点から見ると、それぞれモータ制御装置の設計方法及び製造方法として捉えることも可能である。
【符号の説明】
【０１０８】
１０：サーボ制御システム、２０：指令発生装置、２０ａ：指令発生器、２１、２１ａ：記憶部、３０：制御装置、３０ａ：制御器、４０：制御対象、５０：モータ制御装置
【図１】
0005688679.tif 000002
【図２】
0005688679.tif 000003
【図３】
0005688679.tif 000004
【図４】
0005688679.tif 000005
【図５】
0005688679.tif 000006
【図６】
0005688679.tif 000007
【図７】
0005688679.tif 000008
【図８】
0005688679.tif 000009
【図９】
0005688679.tif 000010
【図１０】
0005688679.tif 000011
【図１１】
0005688679.tif 000012
【図１２】
0005688679.tif 000013