(57)【特許請求の範囲】
【請求項１】
制御指令および検出器付きモータからのフィードバック検出信号を入力し、前記フィードバック検出信号が前記制御指令に追従するように制御演算をして制御出力を出力するサーボ制御部と、
自動設定前の設定である、予め設定された周波数以上もしくは周波数の帯域の成分を減衰させる周波数特性を有し、前記制御出力を該周波数特性を介して前記検出器付きモータに出力する振動抑制フィルタと、を備えたサーボ制御装置において、
前記制御指令に応じて前記検出器付きモータを駆動させ、
振動検出部が、前記フィードバック検出信号に基づいて前記検出器付きモータに締結された機械の振動レベルを検出し、前記振動レベルと予め設定された閾値とを比較して前記機械の振動の有無を判断すると共に、振動有りと判断した場合の振動レベルを出力し、
状態量周波数解析部が、前記制御指令または前記フィードバック検出信号を含む状態量の時刻歴を、周波数解析して周波数毎の振動スペクトルを算出し、前記振動スペクトルが最も大きい周波数を出力し、
振動レベル保存部が、前記振動抑制フィルタにおける自動設定前の振動レベルを保存し、
フィルタ設定選択部が、前記状態量周波数解析部の出力である周波数に基づいた新たな周波数特性を、前記振動抑制フィルタに自動設定すると共に、前記振動レベル保存部に保存された前記自動設定前の振動レベルと、前記自動設定後に前記振動検出部が振動有りと判断した場合の振動レベルとを比較し、前記自動設定前の振動レベルが小さい場合、前記振動抑制フィルタにおける周波数特性の設定を自動設定前に戻し、前記自動設定前の振動レベルが小さくない場合、前記振動抑制フィルタにおける周波数特性の設定を自動設定後とすることを特徴とするサーボ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明はサーボモータを駆動するサーボ制御装置において、機械等が振動した時、振動を検出して振動抑制フィルタを自動設定する方法に関する。
【背景技術】
【０００２】  従来、例えば、特許文献１に示すような工作機械のＮＣ制御装置では、共振周波数を除去する場合、図７に示すように、加算器に接続されたスイープ信号発生器（１Ｈｚ〜１００Ｈｚ程度）１９の信号を位置指令として出力し、周波数分析器２０により共振周波数を検出して、しゃ断周波数可変型ノッチフィルタ２１により共振周波数を除去するようにしていた。
また、これらを改良した方式により、ある時間毎に例えばトルク又は速度といったデータをサンプリングしつつ動作させ、振動検出部である一定以上の振動が検出されると、サンプリングしたデータを周波数解析して、その周波数成分の大きい周波数を幾つか算出し、その振動エネルギーが大きな周波数に対して、周波数以上をカットする或いは周波数帯域をカットするような振動抑制フィルタを設定するという方法が行われていた。【０００３】  この改良型について、以下、図５の構成図を用いて詳しく説明する。
図５において、１はサーボ制御部、２は振動抑制フィルタ、３は振動検出部、４は状態量トレース部、５は状態量周波数解析部、８はモータ、９は制御対象である機械である。ここで、モータ８は、電流アンプなどのドライバとエンコーダなどの検出器を含んでいるとする。
サーボ制御部１は、図示していない上位装置から指令を受け取り、モータ８からのフィードバック信号が指令に追従するように制御し、機械９を動作させる。ここで上位装置から受け取る指令は位置指令、速度指令、トルク指令のいずれでも良い。
サーボ制御部１の制御出力は、設定された周波数以上あるいは周波数の帯域の成分を減衰させる周波数特性をもつ振動抑制フィルタ２を通じて、モータ８に指令される。
振動検出部３は、モータのフィードバック信号やモータへの指令を基に振動レベルを算出し、振動レベルがあらかじめ設定された閾値を越えた時に振動検出を判断する。
状態量トレース部４は、モータのフィードバック信号やモータへの指令、あるいはそれらを基に算出した値の時刻歴を保存する。
状態量周波数解析部５は、状態量トレース部４のデータを用いて、周波数解析を行い、振動の周波数を算出する。【０００４】  以上のような構成において、その動作を図６のフローチャートを用いて説明する。
まず、ステップＤ１において、サーボ制御を行いながら、モータのフィードバック信号などの時刻歴を状態量トレース部４に保存する。
ステップＤ２において、振動検出部３で振動レベルを算出し、振動レベルがあらかじめ設定された閾値を越えた時に振動を検出したとして、ステップＤ３に進む。
ステップＤ３では、状態量周波数解析部５で状態量トレース部４のデータを用いて、周波数解析を行って各周波数の振動スペクトルを算出し、スペクトルあるいは振動エネルギーの大きい周波数を出力し、ステップＤ４に進む。
ステップＤ４では、状態量周波数解析部５で得られた周波数に基づいて、振動抑制フィルタ２の周波数特性を設定する。例えば、振動が機械の共振による場合は、振動抑制フィルタを得られた周波数のゲインが選択的に小さいノッチフィルタの形に設定することで、共振特性を効果的に落として制御することができる。以上の方法により、振動抑制フィルタをオンラインで自動的に設定することができるようになる。
【特許文献１】特開平０５−３４６８１３号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の方法では、周波数特性の精度が悪い場合や、複数の共振周波数を持つ場合などに、振動抑制フィルタを設定することによって逆に振動を励起してしまったり増大させてしまったりする可能性があった。しかも、動作の途中で発振を検出して自動設定がスタートするため、振動が増大した場合に操作者が停止動作を行うことが難しかった。また、振動を検出してから周波数解析を行い、振動抑制フィルタを設定するため、周波数解析をしている間は振動が抑制できず、周波数解析に時間がかかる場合は振動を抑制する前に振動振幅が過大となるなどして、機械を損傷してしまう場合があった。他方、周波数解析の時間を短縮するために、周波数解析のデータ点数を減らすと、周波数検出精度が悪くなったり検出周波数範囲が狭くなったりして、振動を十分に抑制できない場合があった。
そこで、本発明では、振動抑制フィルタが逆効果となる場合であっても、自動設定シーケンスの中で、安全に設定を解除する方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、請求項１に記載の発明は、制御指令および検出器付きモータからのフィードバック検出信号を入力し、前記フィードバック検出信号が前記制御指令に追従するように制御演算をして制御出力を出力するサーボ制御部と、自動設定前の設定である、予め設定された周波数以上もしくは周波数の帯域の成分を減衰させる周波数特性を有し、前記制御出力を該周波数特性を介して前記検出器付きモータに出力する振動抑制フィルタと、を備えたサーボ制御装置において、前記制御指令に応じて前記検出器付きモータを駆動させ、振動検出部が、前記フィードバック検出信号に基づいて前記検出器付きモータに締結された機械の振動レベルを検出し、前記振動レベルと予め設定された閾値とを比較して前記機械の振動の有無を判断すると共に、振動有りと判断した場合の振動レベルを出力し、状態量周波数解析部が、前記制御指令または前記フィードバック検出信号を含む状態量の時刻歴を、周波数解析して周波数毎の振動スペクトルを算出し、前記振動スペクトルが最も大きい周波数を出力し、振動レベル保存部が、前記振動抑制フィルタにおける自動設定前の振動レベルを保存し、フィルタ設定選択部が、前記状態量周波数解析部の出力である周波数に基づいた新たな周波数特性を、前記振動抑制フィルタに自動設定すると共に、前記振動レベル保存部に保存された前記自動設定前の振動レベルと、前記自動設定後に前記振動検出部が振動有りと判断した場合の振動レベルとを比較し、前記自動設定前の振動レベルが小さい場合、前記振動抑制フィルタにおける周波数特性の設定を自動設定前に戻し、前記自動設定前の振動レベルが小さくない場合、前記振動抑制フィルタにおける周波数特性の設定を自動設定後とすることを特徴とするものである。
【発明の効果】
【０００７】
本発明の請求項１に記載の発明によれば、振動抑制フィルタの自動設定によって、逆に振動が大きくなってしまったときも、自動的に速やかに設定を元に戻し振動の拡大を防ぐことができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施例１に係る振動抑制フィルタの自動設定方法の構成図である。
【図２】図１に示す振動抑制フィルタの自動設定方法の処理のフローチャートである。
【図３】本発明の実施例２に係る振動抑制フィルタの自動設定方法の処理のフローチャートである。
【図４】本発明の実施例３に係る振動抑制フィルタの自動設定方法の処理のフローチャートである。
【図５】本発明の実施例３に係る振動抑制フィルタの自動設定方法の構成図、および実施例１の従来技術に係る振動抑制フィルタの自動設定方法の構成図である。
【図６】従来の振動抑制フィルタ自動設定方法の処理のフローチャートである。
【図７】従来のＮＣ制御装置の構成図である。
【符号の説明】
【０００９】１  サーボ制御部
２  振動抑制フィルタ
３  振動検出部
４  状態量トレース部
５  状態量周波数解析部
６  振動レベル保存部
７  フィルタ設定選択部
８  モータ
９  機械
【発明を実施するための最良の形態】
【００１０】  以下、本発明の実施例１について、図に基づいて説明する。
【実施例１】
【００１１】  図１は本発明の実施例１の振動抑制フィルタ自動設定方法の構成を示す図であり、図２は図１に示す振動抑制フィルタ自動設定方法の処理のフローチャートである。
図１において、１はサーボ制御部、２は振動抑制フィルタ、３は振動検出部、４は状態量トレース部、５は状態量周波数解析部、６は振動レベル保存部、７はフィルタ設定選択部、８はモータ、９は制御対象である機械である。ここで、モータ８は、電流アンプなどのドライバとエンコーダなどの検出器を含んでいるとする。
サーボ制御部１は、図示していない上位装置から指令を受け取り、モータ８からのフィードバック信号が指令に追従するように制御し、機械９を動作させる。ここで上位装置から受け取る指令は位置指令、速度指令、トルク指令のいずれでも良い。
サーボ制御部１の制御出力は、設定された周波数以上あるいは周波数の帯域の成分を減衰させる周波数特性をもつ振動抑制フィルタ２を通じて、モータ８に指令される。
振動検出部３は、モータのフィードバック信号やモータへの指令を基に振動レベルを算出し、振動レベルがあらかじめ設定された閾値を越えた時に振動検出を判断する。また、振動レベルを振動レベル保存部６に出力する。振動レベルとしては、モータのフィードバック信号やモータへの指令の振幅や、モータ速度とオブザーバによるモータ推定速度の差、などであっても良い。
状態量トレース部４は、モータのフィードバック信号やモータへの指令、あるいはそれらを基に算出した値の時刻歴を保存する。算出する値は、たとえば、モータ速度とオブザーバによるモータ推定速度の差、などであっても良い。
状態量周波数解析部５は、状態量トレース部４のデータを用いて、周波数解析を行い、振動の周波数を算出する。ここで振動の周波数は、周波数のスペクトルあるいはエネルギーが最大のものを選ぶ。
振動レベル保存部６は、振動検出部３で計算された振動レベルを保存し、読み出すことができる。
フィルタ設定選択部は、振動抑制フィルタの自動設定前の設定と周波数解析によって求められた自動設定の設定を持ち、それぞれを切り替えることができる。【００１２】  以上のような構成において、本発明の実施例１の動作を図２に示すフローチャートを用いて説明する。
まず、ステップＡ１において、サーボ制御を行いながら、モータのフィードバック信号などの時刻歴を状態量トレース部４に保存する。次に、ステップＡ２において、振動検出部３で振動レベルを算出し、振動レベルがあらかじめ設定された閾値を越えた時に振動を検出したとして、ステップＡ３に進む。ここで、ステップＡ１とステップＡ２は順序が逆になっても良い。すなわち、ステップＡ２で振動を検出した後のデータを状態量トレース部に保存しても良い。
ステップＡ３では、状態量周波数解析部５で状態量トレース部４のデータを用いて、周波数解析を行って各周波数の振動スペクトルを算出し、スペクトルあるいは振動エネルギーの大きい周波数を出力し、ステップＡ４に進む。
ステップＡ４では、振動抑制フィルタ２の自動設定前の振動レベルを振動レベル保存部６に保存し、ステップＡ５に進む。
ステップＡ５では、状態量周波数解析部５で得られた周波数に基づいて、振動抑制フィルタ設定選択部７で、振動抑制フィルタ２の周波数特性を設定し、ステップＡ６に進む。
ステップＡ６では、振動検出部３で得られる振動レベルと、振動レベル保存部６に保存されている自動設定前の振動レベルと比較し、現在すなわち自動設定後の振動レベルのほうが大きいときはステップＡ７に進む。自動設定後の振動レベルのほうが小さいときは、ステップＡ８に進む。
ステップＡ７では、振動抑制フィルタ設定選択部７で、振動抑制フィルタ２の設定を自動設定前の設定に戻し、自動設定機能を終了する。
ステップＡ８では、振動レベル比較の時間をタイマーでカウントし、規定した時間以上が経過していれば自動設定による結果を採用して自動設定機能を終了し、経過していなければ、ステップＡ６の比較に戻る。ここで、タイマーのカウントアップは実時間で行っても良いし、モータの動作中などの時間のみ行っても良い。また判定時間を制限せず、常に判定を行いつづけても良い。
【実施例２】
【００１３】  次に、本発明の実施例２について図に基づいて説明する。
図３は本発明の実施例２の振動抑制フィルタ自動設定方法の処理のフローチャートである。
実施例２の動作を図３のフローチャートを用いて説明する。
まず、ステップＢ１において、サーボ制御を行いながら、モータのフィードバック信号などの時刻歴を状態量トレース部４に保存する。
次に、ステップＢ２において、振動検出部３で振動レベルを算出し、振動レベルがあらかじめ設定された閾値を越えた時に振動を検出したとして、ステップＢ３に進む。ここで、ステップＢ１とステップＢ２は順序が逆になっても良い。すなわち、ステップＢ２で振動を検出した後のデータを状態量トレース部に保存しても良い。
ステップＢ３では、状態量周波数解析部５で状態量トレース部４のデータを用いて、周波数解析を行って各周波数の振動スペクトルを算出し、スペクトルあるいは振動エネルギーの大きい複数の周波数候補を出力し、ステップＢ４に進む。
ステップＢ４では、振動抑制フィルタ２の自動設定前の振動レベルを振動レベル保存部６に保存し、ステップＢ５に進む。
ステップＢ５では、状態量周波数解析部５で得られた複数周波数に基づいて、周波数それぞれとその組み合わせに基づき、複数の振動抑制フィルタ設定を用意する。例えば、５００Ｈｚと１０００Ｈｚの振動が大きいというときは、５００Ｈｚの周波数帯を減衰させる設定、１０００Ｈｚの周波数帯を減衰させる設定、５００Ｈｚと１０００Ｈｚを減衰させる設定、の３つが考えられる。そして、フィルタ設定選択部７で複数の振動抑制フィルタ設定のうち一つを、振動抑制フィルタ２に設定し、ステップＢ６に進む。
ステップＢ６では、フィルタを設定してからある時間経過後の振動レベルを振動検出部３から取得し、フィルタ設定に対応する振動レベルとして、振動レベル保存部６に保存し、ステップＢ７に進む。
ステップＢ７では、ステップＢ４で用意された複数の振動抑制フィルタ設定が設定、振動レベル測定されるまで、ステップＢ５〜Ｂ７を繰り返す。
ステップＢ８では、振動抑制フィルタ設定選択部７で、対応する振動レベルがもっとも小さかった振動抑制フィルタ設定を振動抑制フィルタ２に設定し、自動設定機能を終了する。
【実施例３】
【００１４】  次に、本発明の実施例３について図に基づいて説明する。
図４は本発明の実施例３の振動抑制フィルタ自動設定方法の処理のフローチャートである。
実施例３は図５を構成図として用いる。即ち、図５は本発明の実施例３の構成図であり、また、実施例１、２の先行技術の構成図として共用する形態となる。従って、以下、改めて図５の構成について説明して置く。
図５において、１はサーボ制御部、２は振動抑制フィルタ、３は振動検出部、４は状態量トレース部、５は状態量周波数解析部、８はモータ、９は制御対象である機械である。
ここで、モータ８は、電流アンプなどのドライバとエンコーダなどの検出器を含んでいるとする。
サーボ制御部１は、図示していない上位装置から指令を受け取り、モータ８からのフィードバック信号が指令に追従するように制御し、機械９を動作させる。ここで上位装置から受け取る指令は位置指令、速度指令、トルク指令のいずれでも良い。
サーボ制御部１の制御出力は、設定された周波数以上あるいは周波数の帯域の成分を減衰させる周波数特性をもつ振動抑制フィルタ２を通じて、モータ８に指令される。
振動検出部３は、モータのフィードバック信号やモータへの指令を基に振動レベルを算出し、振動レベルがあらかじめ設定された閾値を越えた時に振動検出を判断する。振動レベルとしては、モータのフィードバック信号やモータへの指令の振幅や、モータ速度とオブザーバによるモータ推定速度の差、などであっても良い。
状態量トレース部４は、モータのフィードバック信号やモータへの指令、あるいはそれらを基に算出した値の時刻歴を保存する。算出する値は、たとえば、モータ速度とオブザーバによるモータ推定速度の差、などであっても良い。
状態量周波数解析部５は、状態量トレース部４のデータを用いて、周波数解析を行い、振動の周波数を算出し、振動抑制フィルタ２の周波数特性を設定する。ここで、解析に用いるデータの数は可変であるとする。解析に用いるデータが多いほど解析精度が良くなるが計算時間が長くなり、逆にデータが少ないほど計算時間が短くなるが解析精度や解析周波数範囲が小さくなる。通常の周波数解析では、計算時間はデータの数の二乗に比例することが知られている。また振動の周波数は、周波数のスペクトルあるいはエネルギーが最大のものを選ぶ。【００１５】  以上のような構成において、本発明の実施例３の動作を図４のフローチャートを用いて説明する。
まず、ステップＣ１において、サーボ制御を行いながら、モータのフィードバック信号などの時刻歴を状態量トレース部４に保存する。
次に、ステップＣ２において、振動検出部３で振動レベルを算出し、振動レベルがあらかじめ設定された閾値を越えた時に振動を検出したとして、ステップＣ３に進む。ここで、ステップＣ１とステップＣ２は順序が逆になっても良い。すなわち、ステップＣ２で振動を検出した後のデータを状態量トレース部に保存しても良い。
ステップＣ３では、状態量周波数解析部５で状態量トレース部４のデータの一部を用いて、周波数解析を行って各周波数の振動スペクトルを算出し、スペクトルあるいは振動エネルギーの大きい周波数を出力し、ステップＣ４に進む。
ステップＣ４では、ステップＣ３で得られた周波数に基づいて、振動抑制フィルタ２の周波数特性を設定し、ステップＣ５に進む。
ステップＣ５では、状態量周波数解析部５で状態量トレース部４のデータの全部を用いて、周波数解析を行って各周波数の振動スペクトルを算出し、スペクトルあるいは振動エネルギーの大きい周波数を出力し、ステップＣ６に進む。
ステップＣ６では、ステップＣ５で得られた周波数に基づいて、振動抑制フィルタ２の周波数特性を設定し、自動設定機能を終了する。【００１６】  本発明を詳細にまた特定の実施態様を参照して説明したが、本発明の精神と範囲を逸脱することなく様々な変更や修正を加えることができることは当業者にとって明らかである。
本出願は、２００４年６月１６日出願の日本特許出願番号特願２００４−１７８２６１に基づくものであり、その内容はここに参照として取り込まれる。
【産業上の利用可能性】
【００１７】  以上のように、本発明は、サーボモータを駆動するサーボ制御装置において、機械等が振動した時、振動を検出して振動抑制フィルタを自動設定し、自動設定により逆に振動が発生した時に設定を戻す、あるいは、複数の設定のうち最も振動レベルが小さくなるものを採用するものであり、機械振動が発生しやすいロボットのような低剛性の機械や、できる限り制御剛性を高くしたい高速高精度位置決め用途に適用可能である。
また、機械の実稼動中に振動を検出して振動を周波数解析し、まずデータの一部を用いて高速な解析を行ってその結果により振動抑制フィルタを仮設定して振動の急激な発散を防ぎ、その後、データの全部を用いて高精度な解析を行った結果により振動抑制フィルタを設定して振動を完全に抑制することができるため、機械振動が発生しやすいロボットのような低剛性の機械や、できる限り制御剛性を高くしたい高速高精度位置決め用途などに適用できる。
【図１】
0004720744.tif 000002
【図２】
0004720744.tif 000003
【図３】
0004720744.tif 000004
【図４】
0004720744.tif 000005
【図５】
0004720744.tif 000006
【図６】
0004720744.tif 000007
【図７】
0004720744.tif 000008