(57)【特許請求の範囲】
【請求項１】
回転運動または往復運動を行う運動体を駆動するサーボアンプをトルク指令または電流指令に基づいて制御し、速度制御ゲインの調整時において少なくとも前記運動体が発振しているときの前記サーボアンプへのトルク指令または電流指令をサンプリングする指令サンプリングと、
前記速度制御ゲインの調整時に前記運動体の速度指令に対する速度誤差を増大させ、前記トルク指令または前記電流指令のサンプリング値を、周波数における前記運動体のトルクの強さへ変換し、前記運動体のトルクの強さがピークとなる周波数帯域を発振帯域と判断する発振帯域判断と、
前記速度制御ゲインの調整時に、前記発振帯域における前記運動体のトルクの強さを減衰させるように或る速度制御ゲインにおいて発生した前記発振帯域に対して帯域阻止フィルタの減衰帯域を設定するフィルタ設定と、を実行する演算処理部を備えたサーボ制御装置。
【請求項２】
前記発振帯域判断において、前記演算処理部は、前記速度制御ゲインを増大させながら前記発振帯域を判断し、
前記フィルタ設定において、前記演算処理部は、各前記速度制御ゲインにおいて発生した前記発振帯域に対して前記帯域阻止フィルタの減衰帯域を設定することを特徴とする請求項１に記載のサーボ制御装置。
【請求項３】
前記発振帯域判断において、前記演算処理部は、或る速度制御ゲインにおいて、前記運動体の速度フィードバックが所定値を超えるまで前記運動体の速度指令に対する速度誤差を増大させ、
前記フィルタ設定において、前記演算処理部は、各前記速度誤差において発生した前記発振帯域に対して前記帯域阻止フィルタの減衰帯域を設定することを特徴とする請求項１または請求項２に記載のサーボ制御装置。
【請求項４】
前記発振帯域判断において、前記演算処理部は、前記運動体のトルクの強さが所定の閾値を超えた周波数帯域を前記発振帯域と判断することを特徴とする請求項１から請求項３のいずれかに記載のサーボ制御装置。
【請求項５】
前記発振帯域判断において、前記演算処理部は、或る速度制御ゲインにおいて複数の前記発振帯域がある場合に、該複数の発振帯域のうち少なくとも前記運動体のトルクの強さが最も大きい発振帯域に前記帯域阻止フィルタの減衰帯域を設定することを特徴とする請求項１から請求項３のいずれかに記載のサーボ制御装置。
【請求項６】
前記発振帯域判断において、前記運動体の速度フィードバックが所定値を超えた場合に、前記演算処理部は、前記速度制御ゲインを増大させて、前記指令サンプリング、前記発振帯域判断、および、前記フィルタ設定を繰り返し実行し、
前記演算処理部は、前記速度制御ゲインが所定値に達した場合、あるいは、全ての前記帯域阻止フィルタが設定された場合に前記運動体の前記速度制御ゲインの調整を終了することを特徴とする請求項１から請求項５のいずれかに記載のサーボ制御装置。
【請求項７】
前記運動体は回転可能な軸であり、
前記サーボアンプが互いに同期した複数の前記軸を駆動する場合、前記演算処理部は、前記複数の軸のうち第１の軸の前記速度制御ゲインの調整の終了後、該第１の軸の前記速度制御ゲインを低下させた状態で、前記複数の軸のうち第２の軸の前記速度制御ゲインの調整を実行することを特徴とする請求項１から請求項６のいずれかに記載のサーボ制御装置。
【請求項８】
回転運動または往復運動を行う運動体を駆動するサーボアンプをトルク指令または電流指令に基づいて制御するサーボ制御装置の調整方法において、
速度制御ゲインの調整時において少なくとも前記運動体が発振しているときの前記サーボアンプへのトルク指令または電流指令をサンプリングし、
前記速度制御ゲインの調整時に前記運動体の速度指令に対する速度誤差を増大させ、前記トルク指令または前記電流指令のサンプリング値を、周波数における前記運動体のトルクの強さへ変換し、
前記運動体のトルクの強さがピークとなる周波数帯域を発振帯域と判断し、
前記速度制御ゲインの調整時に、前記発振帯域における前記運動体のトルクの強さを減衰させるように或る速度制御ゲインにおいて発生した前記発振帯域に対して帯域阻止フィルタの減衰帯域を設定することを具備したサーボ制御装置の調整方法。
【請求項９】
前記発振帯域の判断において、前記速度制御ゲインを増大させながら前記発振帯域を判断し、
前記帯域阻止フィルタの設定において、各前記速度制御ゲインにおいて発生した前記発振帯域に対して前記帯域阻止フィルタの減衰帯域を設定することを特徴とする請求項８に記載のサーボ制御装置の調整方法。
【請求項１０】
前記発振帯域の判断において、或る速度制御ゲインにおいて、前記運動体の速度フィードバックが所定値を超えるまで前記運動体の速度指令に対する速度誤差を増大させ、
前記帯域阻止フィルタの設定において、各前記速度誤差において発生した前記発振帯域に対して前記帯域阻止フィルタの減衰帯域を設定することを特徴とする請求項８または請求項９に記載のサーボ制御装置の調整方法。
【請求項１１】
前記発振帯域の判断において、前記運動体のトルクの強さが所定の閾値を超えた周波数帯域を前記発振帯域と判断することを特徴とする請求項８から請求項１０のいずれかに記載のサーボ制御装置の調整方法。
【請求項１２】
前記発振帯域の判断において、或る速度制御ゲインで複数の前記発振帯域がある場合に、該複数の発振帯域のうち少なくとも前記運動体のトルクの強さが最も大きい発振帯域に前記帯域阻止フィルタの減衰帯域を設定することを特徴とする請求項８から請求項１０のいずれかに記載のサーボ制御装置の調整方法。
【請求項１３】
前記発振帯域の判断において、前記運動体の速度フィードバックが所定値を超えた場合に、前記速度制御ゲインを増大させて、前記指令サンプリング、前記発振帯域判断、および、前記フィルタ設定を繰り返し実行し、
前記速度制御ゲインが所定値に達した場合、あるいは、全ての前記帯域阻止フィルタが設定された場合に前記速度制御ゲインの調整を終了することを特徴とする請求項８から請求項１２のいずれかに記載のサーボ制御装置の調整方法。
【請求項１４】
前記運動体は回転可能な軸であり、
前記サーボアンプが互いに同期した複数の前記軸を駆動する場合、前記複数の軸のうち第１の軸の前記速度制御ゲインの調整の終了後、該第１の軸の前記速度制御ゲインを低下させた状態で、前記複数の軸のうち第２の軸の前記速度制御ゲインの調整を実行することを特徴とする請求項８から請求項１３のいずれかに記載のサーボ制御装置の調整方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボ制御装置およびその調整方法に関し、例えば、工作機械等のサーボ制御装置およびそのサーボパラメータの調整方法に関する。
【背景技術】
【０００２】
工作機械の送り軸やロボットのアーム等はサーボモータによって駆動される。サーボモータは、速度ループ制御や位置ループ制御によりその駆動制御を行っている。従来のサーボモータの制御においては、速度制御ゲインは一定であり、機械的な共振を引き起こすレベルに対してある程度のマージンを有する値に設定されている。
【０００３】
サーボモータの駆動制御は、例えば、以下のようにして行われる。位置指令から位置検出器等で検出される位置を減じて位置偏差を求め、該位置偏差に位置制御ゲインを乗じて速度指令を求める。さらに、該速度指令から速度検出器等で検出される実速度を減じて速度偏差を求め、該速度偏差に積分補償を行なう。速度偏差に積分補償後の速度偏差を加算して補正後の速度指令を求める。補正後の速度指令に速度制御ゲインを乗じた結果をフィルタリングすることによってトルク指令（電流指令）を生成する。そして、このトルク指令に基づいてサーボモータの駆動制御を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−１１６６８８号公報
【特許文献２】特開２００８−２５９２７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のサーボ制御装置では、フィルタのカットオフ周波数等のサーボパラメータの調整は、オペレータが速度制御ゲインを徐々に上げて行き、オペレータがトルク指令のグラフを確認することによって発振を判断する。即ち、従来のサーボ制御装置では、人が自己の視覚や聴覚等をたよりに軸の発振を判断していた。従って、サーボパラメータの調整に時間がかかり、尚且つ、調整する人によってサーボパラメータの調整がばらつくという問題があった。
【０００６】
また、複数の同期軸を調整する場合には、従来、マスター軸のサーボパラメータを先行して調整し、その後、スレーブ軸のサーボパラメータを調整していた。しかし、調整済のマスター軸の速度制御ゲインを高いままにしてスレーブ軸のサーボパラメータを調整すると、マスター軸の振動がスレーブ軸の調整に悪影響を及ぼしてしまう可能性がある。
【０００７】
そこで、本発明は、上記問題点を解決するためになされたもので、サーボパラメータの調整を容易にし、サーボパラメータの調整時間を短縮し、かつ、サーボパラメータの調整のばらつきを抑制することができるサーボ制御装置を提供することである。
【課題を解決するための手段】
【０００８】
本発明に係る実施形態に従ったサーボ制御装置は、回転運動または往復運動を行う運動体を駆動するサーボアンプをトルク指令または電流指令に基づいて制御し、速度制御ゲインの調整時において少なくとも前記運動体が発振しているときの前記サーボアンプへのトルク指令または電流指令をサンプリングする指令サンプリングと、前記速度制御ゲインの調整時に前記運動体の速度指令に対する速度誤差を増大させ、前記トルク指令または前記電流指令のサンプリング値を、周波数における前記運動体のトルクの強さへ変換し、前記運動体のトルクの強さがピークとなる周波数帯域を発振帯域と判断する発振帯域判断と、前記速度制御ゲインの調整時に、前記発振帯域における前記運動体のトルクの強さを減衰させるように或る速度制御ゲインにおいて発生した前記発振帯域に対して帯域阻止フィルタの減衰帯域を設定するフィルタ設定と、を実行する演算処理部を備えている。
【０００９】
前記発振帯域判断において、前記演算処理部は、前記速度制御ゲインを増大させながら前記発振帯域を判断し、前記フィルタ設定において、前記演算処理部は、各前記速度制御ゲインにおいて発生した前記発振帯域に対して前記帯域阻止フィルタの減衰帯域を設定してもよい。
【００１０】
前記発振帯域判断において、前記演算処理部は、或る速度制御ゲインにおいて、前記運動体の速度フィードバックが所定値を超えるまで前記運動体の速度指令に対する速度誤差を増大させ、前記フィルタ設定において、前記演算処理部は、各前記速度誤差において発生した前記発振帯域に対して前記帯域阻止フィルタの減衰帯域を設定してもよい。
【００１１】
前記発振帯域判断において、前記演算処理部は、前記運動体のトルクの強さが所定の閾値を超えた周波数帯域を前記発振帯域と判断してもよい。
【００１２】
前記発振帯域判断において、前記演算処理部は、或る速度制御ゲインにおいて複数の前記発振帯域がある場合に、該複数の発振帯域のうち少なくとも前記運動体のトルクの強さが最も大きい発振帯域に前記帯域阻止フィルタの減衰帯域を設定してもよい。
【００１３】
前記発振帯域判断において、前記運動体の速度フィードバックが所定値を超えた場合に、前記演算処理部は、前記速度制御ゲインを増大させて、前記指令サンプリング、前記発振帯域判断、および、前記フィルタ設定を繰り返し実行し、前記演算処理部は、前記速度制御ゲインが所定値に達した場合、あるいは、全ての前記帯域阻止フィルタが設定された場合に前記運動体の前記速度制御ゲインの調整を終了してもよい。
【００１４】
前記運動体は回転可能な軸であり、前記サーボアンプが互いに同期した複数の前記軸を駆動する場合、前記演算処理部は、前記複数の軸のうち第１の軸の前記速度制御ゲインの調整の終了後、該第１の軸の前記速度制御ゲインを低下させた状態で、前記複数の軸のうち第２の軸の前記速度制御ゲインの調整を実行してもよい。
【００１５】
本発明に係る実施形態に従ったサーボ制御装置の調整方法は、回転運動または往復運動を行う運動体を駆動するサーボアンプをトルク指令または電流指令に基づいて制御するサーボ制御装置の調整方法において、
速度制御ゲインの調整時において少なくとも前記運動体が発振しているときの前記サーボアンプへのトルク指令または電流指令をサンプリングし、
前記速度制御ゲインの調整時に前記運動体の速度指令に対する速度誤差を増大させ、前記トルク指令または前記電流指令のサンプリング値を、周波数における前記運動体のトルクの強さへ変換し、
前記運動体のトルクの強さがピークとなる周波数帯域を発振帯域と判断し、
前記速度制御ゲインの調整時に、前記発振帯域における前記運動体のトルクの強さを減衰させるように或る速度制御ゲインにおいて発生した前記発振帯域に対して帯域阻止フィルタの減衰帯域を設定することを具備する。
【００１６】
前記発振帯域の判断において、前記速度制御ゲインを増大させながら前記発振帯域を判断し、前記帯域阻止フィルタの設定において、各前記速度制御ゲインにおいて発生した前記発振帯域に対して前記帯域阻止フィルタの減衰帯域を設定してもよい。
【００１７】
前記発振帯域の判断において、或る速度制御ゲインにおいて、前記運動体の速度フィードバックが所定値を超えるまで前記運動体の速度指令に対する速度誤差を増大させ、前記帯域阻止フィルタの設定において、各前記速度誤差において発生した前記発振帯域に対して前記帯域阻止フィルタの減衰帯域を設定してもよい。
【００１８】
前記発振帯域の判断において、前記運動体のトルクの強さが所定の閾値を超えた周波数帯域を前記発振帯域と判断してもよい。
【００１９】
前記発振帯域の判断において、或る速度制御ゲインで複数の前記発振帯域がある場合に、該複数の発振帯域のうち少なくとも前記運動体のトルクの強さが最も大きい発振帯域に前記帯域阻止フィルタの減衰帯域を設定してもよい。
【００２０】
前記発振帯域の判断において、前記運動体の速度フィードバックが所定値を超えた場合に、前記速度制御ゲインを増大させて、前記指令サンプリング、前記発振帯域判断、および、前記フィルタ設定を繰り返し実行し、前記速度制御ゲインが所定値に達した場合、あるいは、全ての前記帯域阻止フィルタが設定された場合に前記速度制御ゲインの調整を終了してもよい。
【００２１】
前記運動体は回転可能な軸であり、前記サーボアンプが互いに同期した複数の前記軸を駆動する場合、前記複数の軸のうち第１の軸の前記速度制御ゲインの調整の終了後、該第１の軸の前記速度制御ゲインを低下させた状態で、前記複数の軸のうち第２の軸の前記速度制御ゲインの調整を実行してもよい。
【発明の効果】
【００２２】
本発明によるサーボ制御装置は、サーボパラメータの調整を容易にし、サーボパラメータの調整時間を短縮し、かつ、サーボパラメータの調整のばらつきを抑制することができる。
【図面の簡単な説明】
【００２３】
【図１】第１の実施形態に従ったサーボ制御装置１００、サーボアンプ２００およびサーボモータ３００を示す概略図。
【図２】アンプ制御モジュール１１２およびメインコントローラ１１４の概略的な動作を示すフロー図。
【図３】本実施形態によるサーボ制御装置におけるサーボパラメータの調整方法を示すフロー図。
【図４】各周波数に対するサーボモータ３００のトルクの強さを示すグラフ。
【発明を実施するための形態】
【００２４】
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。
【００２５】
図１は、第１の実施形態に従ったサーボ制御装置１００、サーボアンプ２００およびサーボモータ３００を示す概略図である。サーボ制御装置１００は、サーボアンプ２００を制御する。サーボアンプ２００は、サーボ制御装置１００からのトルク指令または電流指令を受けてサーボモータ３００を駆動させる。サーボモータ３００は、サーボアンプ２００からの電力供給を受けて回転運動を行うロータ３１０を駆動する。ここでは、サーボモータ３００を例として挙げたが、ラム等の往復運動を行なう工作機械であってもよい。
【００２６】
サーボ制御装置１００は、制御基板１１０およびパネルキー１２０を備えている。制御基板１１０は、サーボアンプ２００を制御するアンプ制御モジュール１１２と、パネルキーからの指令を受けて位置指令をアンプ制御モジュール１１２へ出力するメインコントローラ１１４とを備えている。アンプ制御モジュール１１２およびメインコントローラ１１４は、ＣＰＵ、メモリ等を内蔵し、サーボアンプ２００を制御するために様々な演算処理を実行することができるように構成されている。
【００２７】
図２は、アンプ制御モジュール１１２およびメインコントローラ１１４の概略的な動作を示すフロー図である。尚、以下の処理は、アンプ制御モジュール１１２またはメインコントローラ１１４のいずれが実行しても構わない。アンプ制御モジュール１１２またはメインコントローラ１１４のいずれが下記処理を実行するかは、それらのＣＰＵの処理能力および負荷を考慮して決定すればよい。
【００２８】
アンプ制御モジュール１１２は、エンコーダ１１６からロータ３１０の実際の位置Ｐｆを受け取り、メインコントローラ１１４からの位置指令（目標値）Ｐｃを受け取る。アンプ制御モジュール１１２の演算処理部１１５は、位置指令Ｐｃと実際の位置Ｐｆとに基づいて位置誤差Ｐｅを算出する。位置誤差ＰｅはＰｃ−Ｐｆと表される。
【００２９】
次に、演算処理部１１５は、位置誤差Ｐｅおよび位置制御ゲインω０を用いて速度指令Ｖｃを算出する。速度指令Ｖｃは、Ｐｅ＊ω０と表される。
【００３０】
次に、演算処理部１１５は、エンコーダ１１６において検出されたロータ３１０の位置から実際の速度（速度フィードバック）Ｖｆを算出する。そして、演算処理部１１５は、実際の速度Ｖｆおよび速度指令Ｖｃから速度誤差Ｖｅを算出する。速度誤差Ｖｅは、Ｖｃ−Ｖｆと表される。
【００３１】
次に、演算処理部１１５は、速度誤差Ｖｅに積分補償ゲインＫｉを掛けて、さらに前回の積分補償ａ０に加算することによって今回の積分補償ａを算出する。積分補償ａは、ａ０＋Ｋｉ＊Ｖｅと表される。
【００３２】
次に、演算処理部１１５は、速度誤差Ｖｅに積分補償ａを加算し、その結果得られる補正後の指令（Ｖｅ＋ａ）に速度制御ゲインωｃを掛けることでトルク指令Ｔａを得る。トルク指令Ｔａは、（Ｖｅ＋ａ）＊ωｃと表される。トルク指令Ｔａにフィルタを適用することによって、所定の周波数帯域を除いたトルク指令Ｔｃを得ることができる。
【００３３】
その後、アンプ制御モジュール１１２は、トルク指令Ｔｃ（即ち、電流指令）に従ってサーボアンプ２００の電流を制御し、サーボアンプ２００がモータ３００を駆動させる。
【００３４】
ここで、速度制御ゲインωｃは、ロータ３１０の回転速度を速度指令Ｖｃに接近させるための追従性（応答性）を示す。従って、速度制御ゲインωｃが小さいと、サーボモータ３００へのトルク指令または電流指令は発振し難いが、サーボモータ３００の実際の回転速度を速度指令Ｖｃに接近させるために時間がかかる。一方、速度制御ゲインωｃが大きいと、サーボモータ３００の実際の回転速度を素早く速度指令Ｖｃに接近させることができるが、サーボモータ３００へのトルク指令または電流指令が発振しやすくなる。トルク指令または電流指令が発振すると、ロータ３１０が振動する。従って、トルク指令または電流指令の発振を抑制しつつ、速度制御ゲインωｃをできるだけ大きくすることが要求される。
【００３５】
このような速度制御ゲインωｃおよびフィルタ等のサーボパラメータの調整は、上述の通り従来から人手により行なわれてきた。しかし、この場合、サーボパラメータの調整に時間が掛かり、かつ、調整にばらつきが生じてしまう。そこで、本実施形態によるサーボ制御装置１００は、サーボパラメータを自動調整する。
【００３６】
図３は、本実施形態によるサーボ制御装置におけるサーボパラメータの調整方法を示すフロー図である。尚、サーボ制御装置が制御する同期軸が複数設けられている場合には、或る軸（例えば、マスター軸）および他の軸（例えば、スレーブ軸）をそれぞれ調節する必要がある。また、以下の調整方法は、アンプ制御モジュール１１２またはメインコントローラ１１４のいずれが実行しても構わない。アンプ制御モジュール１１２またはメインコントローラ１１４のいずれが下記処理を実行するかは、それらのＣＰＵの処理能力および負荷を考慮して決定すればよい。
【００３７】
同期軸が複数のある場合、まず、調整対象の軸を選択する（Ｓ１０）。このとき、調整者がパネルキー１２０を用いて軸を任意に選択してよい。あるいは、サーボ制御装置１００が予め設定された順番に従って軸を自動で選択してもよい。
【００３８】
次に、速度制御ゲインωｃの初期値の設定を行なう（Ｓ２０）。このとき、調整者がパネルキー１２０を用いて速度制御ゲインωｃの初期値を任意に選択してよい。あるいは、サーボ制御装置１００が、速度制御ゲインωｃを予め設定された所定の初期値に設定してもよい。速度制御ゲインωｃの初期値は、比較的低く設定されており、トルク指令または電流指令の発振が生じにくい値に設定される。本実施形態では、速度制御ゲインωｃの初期値は、１００ｒａｄ／ｓｅｃに設定されている。
【００３９】
次に、通常の速度誤差にホワイトノイズを意図的に印加する（Ｓ３０）。即ち、ホワイトノイズとして速度誤差Ｖｅを与え、ロータ３１０に負荷が掛かった状態を意図的につくりだす。アンプ制御モジュール１１２は、速度フィードバックＶｆが所定値を超えたか否かを判断する（Ｓ３２）。速度誤差Ｖｅを増大させると、速度フィードバックＶｆも増大する。よって、速度フィードバックＶｆが予め設定された所定値を超えていない場合（Ｓ３２のＮＯ）、アンプ制御モジュール１１２は、ホワイトノイズを増大させてステップＳ３０〜Ｓ３２を再度実行する（Ｓ３４）。尚、速度フィードバックＶｆの所定値は、任意に設定され得る。速度フィードバックＶｆの所定値は、機械ごとに設定可能なパラメータ値であり、サーボ指令によりモータ３００が微動する程度の値にする。ホワイトノイズが加算されて速度誤差Ｖｅが増大すると、サーボモータ３００は、ロータ３１０にさらに大きな負荷が掛かった状態と同様の状態となり、さらに、発振しやすくなる。
【００４０】
速度フィードバックＶｆが所定値を超えた場合（Ｓ３２のＹＥＳ）、サーボ制御モジュール１１２は、トルク指令または電流指令を所定の時間間隔でサンプリング（指令サンプリング）する。メインコントローラ１１４は、サーボ制御モジュール１１２のリンカＲＡＭ（図示せず）からサンプリングされたトルク指令または電流指令を受け取り、トルク周波数を得る（Ｓ４０）。このとき、メインコントローラ１１４は、トルク測定値をＦＦＴ（Fast Fourier Transformation）解析して時間域から周波数域に変換する。即ち、メインコントローラ１１４は、トルク指令または電流指令のサンプリング値を、周波数に対するロータ３１０の回転トルクの強さへ変換する。これにより、各周波数におけるサーボモータ３００のトルクの強さを示すグラフが得られる。このグラフは、パネルキー１２０のディスプレイに表示される。このグラフの一例が図４に示されている。
【００４１】
図４は、各周波数に対するサーボモータ３００のトルクの強さを示すグラフの一例である。このグラフの縦軸は、サーボモータ３００のトルクの強さを示すトルクゲインであり、横軸は、周波数の対数表示を示している。本実施形態では、トルクゲインの閾値（以下、閾値ゲインともいう）Ｇｔｈが設定されている。閾値ゲインＧｔｈは、予め設定されており、メインコントローラ１１４のメモリ（図示せず）に格納されている。
【００４２】
メインコントローラ１１４は、サーボモータ３００のトルクの強さにゲインピークが存在するかを判断する（Ｓ５０）。このとき、メインコントローラ１１４は、トルクゲインが閾値ゲインＧｔｈを超えるピークをゲインピークと判断する。
【００４３】
ゲインピークがある場合（Ｓ５０のＹＥＳ）、メインコントローラ１１４は、ゲインピークとなる周波数帯域を発振帯域と判断する（発振帯域判断）。図４では、閾値ゲインＧｔｈを超えるゲインピークＰ１〜Ｐ６が周波数ｆ１〜ｆ６に存在する。従って、メインコントローラ１１４は、周波数ｆ１〜ｆ６においてトルク指令または電流指令が発振しているものと判断する。
【００４４】
そして、メインコントローラ１１４は、ゲインピークＰ１〜Ｐ６を減衰させるように帯域阻止フィルタを設定する（フィルタ設定）（Ｓ６０）。フィルタは、例えば、或る周波数帯域のトルクゲインを選択的に減衰またはカットすることができるノッチフィルタ（帯域阻止フィルタまたは一次遅れフィルタ）である。メインコントローラ１１４の制御を受けてアンプ制御モジュール１１２は、周波数ｆ１〜ｆ６のいずれか１つまたは複数に対して、このノッチフィルタの減衰帯域を設定する。アンプ制御モジュール１１２は、例えば、ゲインピークＰ１〜Ｐ６のうち最もゲインの大きなＰ２に対応する周波数帯域ｆ２にノッチフィルタの減衰帯域を設定する。
【００４５】
そして、再度、ステップＳ３０〜Ｓ５０を実行することによって、メインコントローラ１１４は、ゲインピークの有無を判断する。もし、ゲインピークが消えない場合、アンプ制御モジュール１１２は、前回の減衰帯域ｆ２に代えて、他の周波数帯域（例えば、２番目にゲインの大きなＰ３に対応する周波数帯域ｆ３）にノッチフィルタの減衰帯域を設定する。あるいは、アンプ制御モジュール１１２は、前回の減衰帯域ｆ２に加え、他の周波数帯域にノッチフィルタの減衰帯域を設定する。そして、ゲインピークが消えるまで、ステップＳ３０〜Ｓ６０を繰り返す。
【００４６】
尚、ノッチフィルタの減衰帯域の設定は、任意の方法で設定可能である。例えば、１つのゲインピークに対応する周波数帯域にノッチフィルタの減衰帯域を設定することによって、複数のゲインピークが消える場合がある。このような場合、アンプ制御モジュール１１２は、１つのノッチフィルタの減衰帯域をゲインピークの高い順に交代に設定してもよい。これにより、小数のゲインピークにノッチフィルタを適用することによって、多数のゲインピークを抑制することができる。また、アンプ制御モジュール１１２は、ゲインピークの原因となりやすい特定の周波数帯域に発生したゲインピークのみにノッチフィルタの減衰帯域を設定してもよい。
【００４７】
このように、アンプ制御モジュール１１２は、速度制御ゲインωｃを固定した状態で、ロータ３１０の速度フィードバックが所定値を超えるまで速度誤差Ｖｅを増大させる。そして、アンプ制御モジュール１１２は、各速度誤差Ｖｅにおいて発生した発振帯域に対してノッチフィルタの除去周波数を設定する。
【００４８】
ノッチフィルタの設定によってゲインピークがなくなった場合（Ｓ５０のＮＯ）、アンプ制御モジュール１１２は、速度制御ゲインωｃが予め設定された所定値を超えたかどうかを判断する（Ｓ９０）。ここで、速度制御ゲインωｃの所定値は、一例として４００ｒａｄ／ｓｅｃに設定されているが、この所定値は、任意に設定され得る。
【００４９】
速度制御ゲインωｃが所定値を超えていない場合（Ｓ９０のＮＯ）、アンプ制御モジュール１１２は、速度制御ゲインωｃを増大させて、ステップＳ３０からＳ９０を再度実行する。速度制御ゲインωｃは、例えば、ステップＳ３０〜Ｓ９０を実行するごとに、５０ｒａｄ／ｓｅｃずつ増大される。ステップＳ３０からＳ９０を再度実行するとき、ステップＳ３０においてホワイトノイズとして与える速度誤差Ｖｅは、初期値にリセットされる。
【００５０】
このように、アンプ制御モジュール１１２は、速度制御ゲインωｃおよび速度誤差（ホワイトノイズ）Ｖｅを増大させながら発振帯域を判断することができる。そして、アンプ制御モジュール１１２は、各速度制御ゲインωｃおよび各速度誤差Ｖｅにおいて発生した発振帯域に対してノッチフィルタの除去周波数を設定することができる。
【００５１】
速度制御ゲインωｃが所定値に達した場合（Ｓ９０のＹＥＳ）、あるいは、全てのノッチフィルタが設定された場合に、その軸の速度制御ゲインωｃの調整が完了する。
【００５２】
複数の同期軸が無い場合（Ｓ１１０のＮＯ）、そのサーボ制御装置における速度制御ゲインωｃの調整は終了する（Ｓ１２０）。
【００５３】
一方、複数の同期軸（例えば、スレーブ軸）がある場合（Ｓ１１０のＹＥＳ）、未調整の軸（例えば、マスター軸）の速度制御ゲインの調整動作を実行する。このとき、既に調整済みのマスター軸の速度制御ゲインωｃを初期値（例えば、１００ｒａｄ／ｓｅｃ）に低下させ、スレーブ軸の調整中にマスター軸が発振しないようにする。これは、マスター軸とスレーブ軸とが同期して動作する場合、調整済みのマスター軸が発振してしまうと、その振動が調整中のスレーブ軸に悪影響を与えるおそれがあるからである。即ち、第１の運動体としてのマスター軸の速度制御ゲインの調整の終了後、マスター軸の速度制御ゲインを低下させた状態で、第２の運動体としてのスレーブ軸の速度制御ゲインの調整を実行する。
【００５４】
アンプ制御モジュール１１２は、例えば、調整対象の軸の設定をマスター軸からスレーブ軸へ変更する（Ｓ１３０）。スレーブ軸を調整対象の軸に選択したうえで、ステップＳ２０〜Ｓ１００を繰り替えす。これにより、複数の同期軸のそれぞれの速度制御ゲインωｃについても調整することができる。
【００５５】
そして、複数の同期軸の調整が終了すると、アンプ制御モジュール１１２は、各軸の調整済み速度制御ゲインωｃのうち最も低い速度制御ゲインωｃを共通の速度制御ゲインωｃとして設定する。これにより、複数の同期軸の全てが発振することなく同期して動作することができる。
【００５６】
尚、マスター軸（またはスレーブ軸）の速度制御ゲインωｃの調整中において、ノッチフィルタの数が足りなくなった場合には、全てのノッチフィルタの設定が終了したときに調整動作が終了する。サーボパラメータの調整が終了すると、サーボ制御装置は、通常動作を実行することができる。
【００５７】
本実施形態によれば、サーボモータ３００のトルク周波数から自動的にトルク指令または電流指令の発振を検出し、発振帯域にノッチフィルタを適用することができる。これにより、サーボモータ３００のトルク指令または電流指令の発振を自動で抑制し、適切な速度制御ゲインωｃを設定することができる。その結果、本実施形態は、従来のように人手によるサーボパラメータの調整よりも、高速かつ正確にサーボパラメータの調整を実現することができる。
【００５８】
上記のようにサーボパラメータを調整するソフトウェアプログラムを使用すれば、人の感覚の差を排除し、安定した均質なサーボパラメータの調整が可能となる。
【００５９】
さらに、本実施形態によるサーボ制御装置は、専門的な知識を必要とする調整を自動的に行うため、専門知識のある人間がいなくても、サーボパラメータの調整を簡単かつ短時間に行うことができる。
【符号の説明】
【００６０】
１００・・・サーボ制御装置、２００・・・サーボアンプ、３００・・・サーボモータ、１１０・・・制御基板、１２０・・・パネルキー、１１２・・・アンプ制御モジュール、１１４・・・メインコントローラ、１１５・・・演算処理部、１１６・・・エンコーダ、３１０・・・ロータ
【図１】
0005384608.tif 000002
【図２】
0005384608.tif 000003
【図３】
0005384608.tif 000004
【図４】
0005384608.tif 000005