(57)【要約】【課題】共振周波数の変化方向によらず、機械共振が発生する前に機械系の状態が変化したことをユーザに通知できる技術を提供する。【解決手段】サーボドライバは、時系列的に入力される指令に従ってサーボモータを制御するサーボ制御手段と、サーボモータの駆動自体を目的とした指令に従った、当該指令通りの制御をサーボ制御手段が行っている間に、サーボ制御手段の周波数応答の算出に使用する入力データ及び出力データを時系列的に収集し、収集したデータに基づき、サーボ制御手段の、共振ピークが含まれる周波数範囲の周波数応答を算出する算出手段と、算出された周波数応答から共振ピークのゲインを特定する特定手段と、特定された前記ゲインと０ｄＢ未満の閾値とを比較し、ゲインが閾値以上であった場合に、サーボモータ等の機械系の状態が変化したことをユーザに通知するための情報を出力する情報出力手段とを備える。【選択図】図２
2019080424.tif 000002
【特許請求の範囲】
【請求項１】
サーボモータを制御するサーボドライバであって、
外部装置から時系列的に入力される指令に従って前記サーボモータを制御するサーボ制御手段と、
前記サーボモータの駆動自体を目的とした指令に従った、当該指令通りの制御を前記サーボ制御手段が行っている間に、前記サーボ制御手段の周波数応答の算出に使用する入力データ及び出力データを時系列的に収集し、収集したデータに基づき、前記サーボ制御手段の、共振ピークが含まれる周波数範囲の周波数応答を算出する算出手段と、
前記算出手段により算出された周波数応答から共振ピークのゲインを特定する特定手段と、
前記特定手段により特定された前記ゲインと０ｄＢ未満の閾値とを比較し、前記ゲインが前記閾値以上であった場合に、前記サーボモータと前記サーボモータにより駆動される被駆動体とを含む機械系の状態が変化したことをユーザに通知するための情報を出力する情報出力手段と、
を備えることを特徴とするサーボドライバ。
【請求項２】
前記特定手段は、前記算出手段により算出された前記周波数応答の、前記サーボ制御手段の制御パラメータである速度比例ゲイン以上の周波数を下限周波数とした周波数範囲から、前記共振ピークを探索し、探索した前記共振ピークのゲインを特定する、
ことを特徴とする請求項１に記載のサーボドライバ。
【請求項３】
前記下限周波数が、前記サーボ制御手段の速度フィードバックループの閉ループ伝達関数において前記閾値と一致する周波数以上の周波数である、
ことを特徴とする請求項２に記載のサーボドライバ。
【請求項４】
前記サーボ制御手段は、ノッチフィルタを含み、
前記特定手段は、前記算出手段により算出された周波数応答の、前記ノッチフィルタの中心周波数を含む周波数範囲から、前記共振ピークを探索し、探索した前記共振ピークのゲインを特定する、
ことを特徴とする請求項１から３のいずれか一項に記載のサーボドライバ。
【請求項５】
前記周波数範囲が、前記ノッチフィルタの中心周波数、ノッチ幅及びノッチ深さと前記閾値とから求められた、前記閾値よりも信号が大きく減衰する前記ノッチフィルタの周波数範囲である、
ことを特徴とする請求項４に記載のサーボドライバ。
【請求項６】
前記サーボ制御手段は、前記指令に基づき、前記サーボモータに流す電流値の目標値である電流指令を生成して前記サーボモータを制御し、
前記算出手段は、前記入力データとして、前記サーボ制御手段により生成された前記電流指令を収集する、
ことを特徴とする請求項１から５のいずれか一項に記載のサーボドライバ。
【請求項７】
前記算出手段は、前記入力データの変化パターンに基づき、前記周波数応答を算出できる量のデータが収集されたか否かを判断し、前記共振ピークが含まれる前記周波数範囲の前記周波数応答を算出できる量のデータが収集されたと判断したときに、データの収集を終了して、収集したデータに基づき、前記サーボ制御手段の周波数応答を算出する、
ことを特徴とする請求項１から６のいずれか一項に記載のサーボドライバ。
【請求項８】
前記特定手段によって１回目に特定された前記ゲインに所定値を加算することにより前
記閾値を算出する閾値算出手段を、さらに備え、
前記情報出力手段は、前記特定手段によって２回目以降に特定された各ゲインと前記閾値算出手段により算出された前記閾値とを比較する、
ことを特徴とする請求項１から７のいずれか一項に記載のサーボドライバ。
【請求項９】
前記特定手段によって今回特定された前記ゲインの、前記特定手段によって前回特定された前記ゲインからの変化速度を算出し、算出した変化速度が変化速度閾値以上であった場合に、前記機械系の状態が変化したことをユーザに通知するための情報を出力する第２情報出力手段を、さらに備える
ことを特徴とする請求項１から８のいずれか一項に記載のサーボドライバ。
【請求項１０】
前記情報出力手段は、前記被駆動体の状態に応じて、前記ゲインと比較する前記閾値を切り替える、
ことを特徴とする請求項１から７のいずれか一項に記載のサーボドライバ。
【請求項１１】
前記情報出力手段は、前記サーボ制御手段の１つ以上の制御パラメータに応じて、前記ゲインと比較する前記閾値を切り替える、
ことを特徴とする請求項１から７のいずれか一項に記載のサーボドライバ。
【請求項１２】
前記特定手段は、前記算出手段により時系列的に算出される複数の周波数応答から、共振ピークのゲインを特定する、
ことを特徴とする請求項１から８のいずれか一項に記載のサーボドライバ。
【請求項１３】
サーボドライバにより制御されるサーボモータと前記サーボモータにより駆動される被駆動体とを含む機械系の状態変化を検出する状態変化検出方法であって、
コンピュータが、
前記サーボモータの駆動自体を目的とした指令が前記サーボドライバに入力されている間に、前記サーボドライバの周波数応答の算出に使用する入力データ及び出力データを時系列的に収集し、収集したデータに基づき、前記サーボドライバの、共振ピークが含まれる周波数範囲の周波数応答を算出する算出ステップと、
前記算出手段により算出された周波数応答から共振ピークのゲインを特定する特定ステップと、
前記特定手段により特定された前記ゲインと０ｄＢ未満の閾値とを比較し、前記ゲインが前記閾値以上であった場合に、前記機械系の状態が変化したことをユーザに通知するための情報を出力する情報出力ステップと、
を実行することを特徴とする状態変化検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボドライバと状態変化検出方法とに関する。
【背景技術】
【０００２】
サーボモータを制御する一般的なサーボドライバには、機械共振を抑制するために、ノッチフィルタが搭載されている。このノッチフィルタの中心周波数は、共振周波数と一致していることが好ましいが、機械の経年変化によって共振周波数は変化する。そのため、本来の速度指令に正弦波外乱値を加えた速度指令に基づきサーボモータを制御することにより周波数応答を算出して共振周波数を検出し、検出した共振周波数に基づきノッチフィルタを調整すると共に、検出した共振周波数が基準共振周波数未満となっている場合には、機械の点検の必要性をユーザに通知すること（特許文献１参照）が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−３４２２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記技術によれば、共振周波数が低下する機械の経年変化を検知することが出来る。ただし、経年変化により、共振周波数が上昇することもあるため、上記技術では、機械共振の発生を防げない場合がある。また、速度指令に正弦波外乱値を加えると、機械を上位装置からの指示通りに制御できないことになる。
【０００５】
そこで、本発明の目的は、共振周波数の変化方向によらず、機械共振が発生する前に機械系の状態が変化（経年劣化）したことをユーザに通知できる技術であって、サーボモータの被駆動体の挙動に悪影響を与えることもない技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の、サーボモータを制御するサーボドライバは、外部装置から時系列的に入力される指令に従って前記サーボモータを制御するサーボ制御手段と、前記サーボモータの駆動自体を目的とした指令に従った、当該指令通りの制御を前記サーボ制御手段が行っている間に、前記サーボ制御手段の周波数応答の算出に使用する入力データ及び出力データを時系列的に収集し、収集したデータに基づき、前記サーボ制御手段の、共振ピークが含まれる周波数範囲の周波数応答を算出する算出手段と、前記算出手段により算出された周波数応答から前記共振ピークのゲインを特定する特定手段と、前記特定手段により特定された前記ゲインと０ｄＢ未満の閾値とを比較し、前記ゲインが前記閾値以上であった場合に、前記サーボモータと前記サーボモータにより駆動される被駆動体とを含む機械系の状態が変化したことをユーザに通知するための情報を出力する情報出力手段と、を備える。
【０００７】
すなわち、本発明のサーボドライバは、サーボ制御手段の周波数応答から共振ピークのゲインを特定し、当該ゲインと０ｄＢ未満の閾値以上であった場合に、機械系の状態が変化したことをユーザに通知するための情報を出力する構成を有する。機械共振が発生するのは、共振ピークのゲイン（以下、共振ピークゲイン）が０ｄＢ以上となった後であり、共振ピークゲインが０ｄＢ以上となる前に、共振ピークゲインが０ｄＢ未満の閾値以上となる。従って、本発明のサーボドライバによれば、共振周波数の変化方向によらず、機械共振が発生する前に機械系の状態が変化（経年劣化）したことをユーザに通知することが
出来る。
【０００８】
また、本発明のサーボドライバの算出手段は、前記サーボモータの駆動自体を目的とした指令に従った、当該指令通りの制御を前記サーボ制御手段が行っている間に、サーボ制御手段の周波数応答の算出に使用する入力データ及び出力データを時系列的に収集する。ここで、『前記サーボモータの駆動自体を目的とした指令に従った、当該指令通りの制御』とは、以下のような制御を除いた制御のことである。
・周波数応答の算出や制御パラメータの自動設定を目的として入力された指令に従った制御
・入力された指令は、サーボモータの駆動自体を目的としたものであるが、当該指令通りの制御ではない制御（速度指令に正弦波外乱値が加算される制御等）
【０００９】
従って、本発明のサーボドライバによれば、サーボモータの被駆動体の挙動に悪影響を与えることなく、機械共振が発生する前に機械系の状態が変化（経年劣化）したことをユーザに通知することが出来る。
【００１０】
本発明のサーボドライバには、具体的な構成（機能）が異なる様々な算出手段を採用することが出来る。例えば、算出手段は、『前記入力データの変化パターンに基づき、前記周波数応答を算出できる量のデータが収集されたか否かを判断し、前記共振ピークが含まれる前記周波数範囲の前記周波数応答を算出できる量のデータが収集されたと判断したときに、データの収集を終了して、収集したデータに基づき、前記サーボ制御手段の周波数応答を算出する』手段であっても良い。また、算出手段として、所定時間の間（又は所定条件が満たされるまで）、データ（入力データと出力データ）を収集してから、収集したデータに基づき周波数応答を算出する処理を、共振ピークが含まれる周波数範囲の周波数応答が算出できるまで繰り返す手段を採用しても良い。
【００１１】
非共振ピーク（共振ピークではないピーク）のゲインが、共振ピークゲインとして特定されるのを防止するために、特定手段として、『前記算出手段により算出された前記周波数応答の、前記サーボ制御手段の制御パラメータである速度比例ゲイン以上の周波数を下限周波数とした周波数範囲から、前記共振ピークを探索し、探索した前記共振ピークのゲインを特定する』手段を採用しておいても良い。また、この特定手段を採用する場合、下限周波数を、前記サーボ制御手段の速度フィードバックループの閉ループ伝達関数において前記閾値と一致する周波数以上の周波数としても良い。
【００１２】
また、非共振ピークのゲインが、共振ピークゲインとして特定されるのを防止するために、本発明のサーボドライバに、『前記サーボ制御手段は、ノッチフィルタを含み、前記特定手段は、前記算出手段により算出された周波数応答の、前記ノッチフィルタの中心周波数を含む周波数範囲から、前記共振ピークを探索し、探索した前記共振ピークのゲインを特定する』構成を採用しても良い。本発明のサーボドライバに、この構成を採用する場合、ノッチフィルタの中心周波数を含む周波数範囲を、前記ノッチフィルタの中心周波数、ノッチ幅及びノッチ深さと前記閾値とから求められた、前記閾値よりも信号が大きく減衰する前記ノッチフィルタの周波数範囲としておいても良い。
【００１３】
算出手段が収集する入力データ及び出力データは、それらから周波数応答を算出できるデータであれば良い。なお、入力データ、出力データとは、それぞれ、ゲイン（入力値と出力値の比）の入力値、出力値を決定するために使用されるデータのことである。ただし、入力データを、『サーボモータに流す電流値の目標値である電流指令』とすれば、入力データを、電流指令以外のデータ（例えば、サーボ制御手段へ入力される指令）を用いた場合よりも、共振ピークゲインを良好に特定可能な周波数応答を得ることが出来る。そのため、本発明のサーボドライバには、『前記サーボ制御手段は、前記指令に基づき、前記
サーボモータに流す電流値の目標値である電流指令を生成して前記サーボモータを制御し、前記算出手段は、前記入力データとして、前記サーボ制御手段により生成された前記電流指令を収集する』構成を採用しておくことが好ましい。なお、出力データは、通常、サーボモータの位置又は速度を示すデータであるが、出力データは、入力データと組み合わせることにより周波数応答を算出できるものでありさえすれば、他のデータであっても良い。
【００１４】
また、本発明のサーボドライバに、『前記特定手段によって１回目に特定された前記ゲインに所定値を加算することにより前記閾値を算出する閾値算出手段を、さらに備え、前記情報出力手段は、前記特定手段によって２回目以降に特定された各ゲインと前記閾値算出手段により算出された前記閾値とを比較する』構成を採用しても良い。
【００１５】
本発明のサーボドライバに、『前記特定手段によって今回特定された前記ゲインの、前記特定手段によって前回特定された前記ゲインからの変化速度を算出し、算出した変化速度が変化速度閾値以上であった場合に、前記機械系の状態が変化したことをユーザに通知するための情報を出力する第２情報出力手段』を付加することも出来る。なお、この第２情報出力手段が算出する変化速度は、どのような単位の情報であっても良い。
【００１６】
機械系の状態の誤判定を防止する（機械系の状態が誤判定される蓋然性を低減する）ために、本発明のサーボドライバに、情報出力手段として、『前記被駆動体の状態に応じて、前記ゲインと比較する前記閾値を切り替える』手段や、『前記サーボ制御手段の１つ以上の制御パラメータに応じて、前記ゲインと比較する前記閾値を切り替える』手段を採用しても良い。
【００１７】
また、ノイズによる機械系の状態の誤判定を防止するために、特定手段として、『前記算出手段により順次算出される複数の周波数応答から、共振ピークのゲインを特定する』手段を採用しても良い。なお、『前記算出手段により時系列的に算出された複数の周波数応答から、共振ピークのゲインを特定する』特定手段によるゲインの特定周期は、算出手段による周波数応答の算出周期と一致していても、それよりも長くても良い。また、『前記算出手段により時系列的に算出された複数の周波数応答から、共振ピークのゲインを特定する』特定手段のゲインの特定アルゴリズムは、『周波数応答の移動平均を算出し、算出結果から、共振ピークのゲインを特定する』といったようなものであっても、『算出手段により時系列的に算出された複数の周波数応答の中から、異常な周波数応答を取り除き、残りの周波数応答の平均から、共振ピークのゲインを特定する』といったようなものであっても良い。
【００１８】
また、本発明の、サーボドライバにより制御されるサーボモータと前記サーボモータにより駆動される被駆動体とを含む機械系の状態変化を検出する状態変化検出方法では、コンピュータが、前記サーボモータの駆動自体を目的とした指令に従った、当該指令通りの制御を前記サーボドライバが行っている間に、前記サーボドライバの周波数応答の算出に使用する入力データ及び出力データを時系列的に収集し、収集したデータに基づき、前記サーボドライバの、共振ピークが含まれる周波数範囲の周波数応答を算出する算出ステップと、前記算出手段により算出された周波数応答から共振ピークのゲインを特定する特定ステップと、前記特定手段により特定された前記ゲインと０ｄＢ未満の閾値とを比較し、前記ゲインが前記閾値以上であった場合に、前記機械系の状態が変化したことをユーザに通知するための情報を出力する情報出力ステップと、を実行する。
【００１９】
従って、本発明の状態変化検出方法によれば、共振周波数の変化方向によらず、且つ、サーボモータの被駆動体の挙動に悪影響を与えることなく、機械共振が発生する前に機械系の状態が変化（経年劣化）したことをユーザに通知することが出来る。なお、本発明の
状態変化検出方法における『コンピュータ』は、サーボドライバ内のコンピュータ（制御ユニット）であっても、サーボドライバ外のコンピュータであっても良い。
【発明の効果】
【００２０】
本発明によれば、共振周波数の変化方向によらず、機械共振が発生する前に機械系の状態が変化（経年劣化）したことをユーザに通知できる技術であって、サーボモータの被駆動体の挙動に悪影響を与えることもない技術を提供することができる。
【図面の簡単な説明】
【００２１】
【図１】図１は、本発明の第１実施形態に係るサーボドライバの概略構成及び使用形態の説明図である。
【図２】図２は、第１実施形態に係るサーボドライバ内の異常検知部が実行する第１状態判定処理の流れ図である。
【図３】図３は、第１状態判定処理の内容を説明するための図である。
【図４】図４は、本発明の第２実施形態に係るサーボドライバ内の異常検知部が実行する第２状態判定処理の流れ図である。
【図５】図５は、第２状態判定処理の内容を説明するための図である。
【図６】図６は、本発明の第３実施形態に係るサーボドライバ内の異常検知部が実行する第３状態判定処理の流れ図である。
【図７】図７は、第３状態判定処理の内容を説明するための図である。
【図８】図８は、共振ピーク検出範囲の制限法の説明図である。
【図９】図９は、共振ピーク検出範囲の制限法の説明図である。
【図１０】図１０は、モータ回転方向により共振ピークゲインが変化するサーボシステムの説明図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施の形態を、図面を参照して説明する。
【００２３】
《第１実施形態》
図１に、本発明の第１実施形態に係るサーボドライバ１０の概略構成及び使用形態を示す。
【００２４】
本実施形態に係るサーボドライバ１０は、被駆動体３５を駆動するためのモータ（三相モータ）３０を制御する装置である。
【００２５】
図示してあるように、サーボドライバ１０は、主な構成要素として、制御部１１と異常検知部１２とパワー回路１３とを備える。パワー回路１３は、モータ３０に供給する三相交流を生成する回路である。このパワー回路１３としては、例えば、商用電源からの三相交流を整流するための整流回路、整流回路の出力電圧を平滑化するためのコンデンサ、平滑化された整流回路の出力電圧を三相交流電圧に変換するためのインバータ回路等から構成された回路が使用される。
【００２６】
制御部１１は、ＰＬＣ（Programmable logic controller）等の外部装置（図示略）か
ら、時系列的に入力される指令（本実施形態では、位置指令）通りにモータ３０が動作するように、パワー回路１３を制御するユニットである。
【００２７】
この制御部１１は、プロセッサ、ＲＡＭ、フラッシュＲＯＭ、ゲートドライバ等から構成されている。また、制御部１１のフラッシュＲＯＭには、サーボドライバ１０の電源が投入されると、プロセッサがＲＡＭ上に読み出して実行するプログラムが記憶されている。そして、当該プログラムをプロセッサが実行することにより、制御部１１は、位置制御
部２１、速度制御部２２、ノッチフィルタ２３、電流制御部２４、速度演算部２５等の各種機能ブロックを備えたユニットとして機能する。
【００２８】
制御部１１が有する各機能ブロックは、既存のサーボドライバ内の制御部も有しているものである。そのため、各機能ブロックの詳細説明は省略するが、位置制御部２１は、位置指令から、モータ３０に取り付けられた位置検出器（エンコーダ）３１により検出された位置（以下、検出位置と表記する）を減じた位置偏差に基づき、速度指令を算出するユニット（機能ブロック）である。この位置制御部２１は、設定されている位置比例ゲイン等を用いて、速度指令を算出する。
【００２９】
速度演算部２５は、検出位置の時間変化から、モータ３０の速度を演算するユニットである。速度制御部２２は、位置制御部２１により算出された速度指令から、速度演算部２５により演算された速度（以下、検出速度と表記する）を減じた速度偏差に基づき、電流指令を生成するユニットである。この位置制御部２１は、設定されている速度比例ゲインｋｖｐ等の制御パラメータを用いて、電流指令を算出する。
【００３０】
ノッチフィルタ２３は、共振周波数近傍の周波数の信号を減衰させるためのデジタルフィルタである。このノッチフィルタ２３には、制御パラメータとして、中心周波数、ノッチ深さ及びノッチ幅が設定される。電流制御部２４は、ノッチフィルタ２３通過後の電流指令通りの電流がモータ３０に流れるように、パワー回路１３をフィードバック制御するユニットである。
【００３１】
異常検知部１２は、サーボドライバ１０とモータ３０と被駆動体３５とで構成されたシステムの機械系（モータ３０及び被駆動体３５）が振動し始める前に、機械系の経年変化（経年劣化）を検出するためのユニットである。本実施形態に係る異常検知部１２は、制御部１１の一機能として実装されたものである。ただし、異常検知部１２として機能するハードウェア（プロセッサを中心とした電子回路）を、制御部１１用のハードウェアとは別にサーボドライバ１０内に設けておいても良い。
【００３２】
以下、異常検知部１２の機能を具体的に説明する。なお、以下の説明では、制御部１１とパワー回路１３とからなる部分のことを、サーボ制御部と表記する。
【００３３】
異常検知部１２は、図２に示した手順の第１状態判定処理を繰り返し実行するユニットである。なお、異常検知部１２が、この第１状態判定処理を実行するのは、モータ３０の駆動自体を目的としたパワー回路１３の制御（モータ３０の駆動自体を目的とした指令に従った、当該指令通りの制御；以下、通常制御と表記する）を制御部１１が行っている場合である。通常制御を制御部１１が行っていない場合（例えば、サーボ制御部の周波数応答を測定するために制御部１１がパワー回路１３を制御している場合や、制御パラメータを自動設定するための制御を制御部１１が行っている場合）、異常検知部１２は、第１状態判定処理を実行せずに、通常制御が制御部１１により開始されるのを待機する。
【００３４】
図示してあるように、この第１状態判定処理を開始した異常検知部１２は、まず、データ収集処理（ステップＳ１０１）を行う。
【００３５】
データ収集処理は、指令電流を監視しながら、各時刻における指令電流及び検出速度を異常検知部１２内のメモリ上に記憶していき、指令電流の監視結果から、所望量のデータを収集できたと判断したときに、データ収集を終了する処理である。ここで、所望量のデータとは、共振ピークが含まれる周波数範囲の周波数応答を算出できる量のデータのことである。
【００３６】
データ収集処理は、上記所望量のデータを収集できる処理であれば、１つの連続時間帯内のデータ（指令電流及び検出速度）を収集する処理であっても、複数の連続時間帯内のデータを収集する処理であっても良い。
【００３７】
データ収集処理が完了すると、異常検知部１２は、収集したデータから、サーボ制御部の周波数応答を算出する（ステップＳ１０２）。次いで、異常検知部１２は、算出した周波数応答から、共振ピークゲインを特定する（ステップＳ１０３）。すなわち、異常検知部１２は、このステップＳ１０３にて、算出した周波数応答から共振ピークを探索し、探索した共振ピークのピーク周波数のゲインを特定する処理を行う。
【００３８】
共振ピークゲインの特定を終えた異常検知部１２は、特定した共振ピークゲインが、閾値ｇｔｈ以上であるか否かを判断する（ステップＳ１０４）。ここで、閾値ｇｔｈとは、異常検知部１２に予め設定されている０ｄＢ未満の値（例えば、ー６ｄＢ）のことである。
【００３９】
そして、異常検知部１２は、共振ピークゲインが閾値ｇｔｈ以上であった場合（ステップＳ１０４；ＹＥＳ）には、異常状態用処理（ステップＳ１０５）を行う。この異常状態用処理は、機械系の状態が変化したこと（機械系の状態変化により共振ピークゲインが異常な値となったこと）をユーザに知らせるための情報を出力する処理でありさえすれば良い。従って、異常状態用処理は、サーボドライバ１０の筐体に設けられた単色ＬＥＤを点灯／点滅させるためのコマンドを出力する処理であっても、サーボドライバ１０の筐体に設けられたカラーＬＥＤを所定色で点灯させるためのコメンドを出力する処理であっても良い。また、異常状態用処理は、外部装置を介して機械系の状態が変化したことをユーザに知らせる処理（すなわち、所定の情報を送信することで、外部装置に、機械系の状態変化をユーザに知らせる処理を行わせる処理）であっても良い。
【００４０】
一方、共振ピークゲインが閾値ｇｔｈ未満であった場合（ステップＳ１０４；ＮＯ）、異常検知部１２は、機械系の状態変化により共振ピークゲインが異常な値となっていないことをユーザに知らせるための正常状態用処理（ステップＳ１０６）を行う。この正常状態用処理は、ゲイン異常が発生していないこと（機械系の状態変化により共振ピークゲインが異常な値となっていないこと）をユーザが分かる処理でありさえすれば良い。従って、正常状態用処理は、上記単色ＬＥＤを消灯させるためのコマンドを出力する処理であっても、上記カラーＬＥＤを上記所定色とは異なる色で点灯させるためのコマンドを出力する処理であっても良い。また、正常状態用処理は、外部装置を介してゲイン異常が発生していないことをユーザに知らせる処理であっても、何も行わない処理であっても良い。
【００４１】
そして、異常状態用処理又は正常状態用処理を終えた異常検知部１２は、今回の状態判定処理を終了して、次回の状態判定処理を開始する。
【００４２】
以上、説明したように、異常検知部１２は動作する。そのため、サーボドライバ１０のユーザは、図３に示したように、機械系の経年変化により共振ピークゲインが閾値ｇｔｈ以上の値まで上昇した時点で、機械系の経年変化により共振ピークゲインが異常な値となったこと（しばらくすると機械系に振動が発生する蓋然性があること）を知ることが出来る。そして、機械系が経年変化したこと（共振ピークゲインが異常な値となったこと）を知ったユーザが、サーボシステムの非使用時に機械系のメインテナンス等を行えば、機械系の状態を、経年変化前の状態に戻す（又は近づける）ことが出来る。従って、本実施形態に係るサーボドライバ１０によれば、実際の運用中に機械系にて振動が発生することを防止することが出来る。さらに、異常検知部１２は、制御部１１が通常制御を行っている間の電流指令及び検出速度に基づき、応答周波数を算出する。従って、サーボドライバ１０によれば、被駆動体３５の挙動に悪影響を与えることなく、機械共振が発生する前に機
械系の状態が変化したことをユーザに通知することが出来ることにもなる。
【００４３】
《第２実施形態》
本発明の第２実施形態に係るサーボドライバは、第１実施形態に係るサーボドライバ１０と同じハードウェア構成を有する装置である。そのため、以下では、第１実施形態の説明時に用いたものと同じ符号を用いて、本実施形態に係るサーボドライバ１０について説明する。また、以下では、説明の便宜上、第ｎ（＝１〜３）実施形態に係るサーボドライバ１０、第ｎ実施形態に係るサーボドライバ１０内の異常検知部１２のことを、それぞれ、第ｎサーボドライバ１０、第ｎ異常検知部１２とも表記する。
【００４４】
第２サーボドライバ１０（第２実施形態に係るサーボドライバ１０）は、第１サーボドライバ１０の第１異常検知部１２を、図４に示した手順の第２状態判定処理を繰り返し実行する第２異常検知部１２に置換した装置である。
【００４５】
この第２状態判定処理のステップＳ２０１、Ｓ２０２の処理は、状態判定処理（図２）のステップＳ１０１、Ｓ１０２の処理と同じ処理である。
【００４６】
既に説明したように、状態判定処理を実行している第１異常検知部１２は、ステップＳ１０２の処理後、共振ピークゲインを特定する処理を行う。これに対し、第２状態判定処理を実行している第２異常検知部１２は、ステップＳ２０２の処理後、今回の第２状態判定処理にて、Ｎ個の周波数応答が算出されたか否かを判断する（ステップＳ２０３）。ここで、Ｎとは、第２異常検知部１２に予め設定されている２以上の整数のことである。
【００４７】
そして、第２異常検知部１２は、Ｎ個の周波数応答の算出が完了していなかった場合（ステップＳ２０３；ＮＯ）には、ステップＳ２０１及びＳ２０２の処理を再度実行することによって次の周波数応答を算出する。
【００４８】
そのような処理を繰り返すことにより、Ｎ個の周波数応答の算出が完了した場合（ステップＳ２０３；ＹＥＳ）、第２異常検知部１２は、それらＮ個の周波数応答を平均することにより、平均周波数応答を算出する（ステップＳ２０４）。なお、Ｎ個の周波数応答を平均するとは、Ｎ個の周波数応答のゲインの平均値を周波数毎に求めるということである。
【００４９】
次いで、第２異常検知部１２は、算出した平均周波数応答から、共振ピークゲインを特定する（ステップＳ２０５）。
【００５０】
要するに、第２状態判定処理（図４）のステップＳ２０１〜Ｓ２０５では、図５に模式的に示したように、複数個（図５では、２個）の周波数応答の算出結果に基づき、平均周波数応答を算出し、算出した平均周波数応答から共振ピークゲインが特定される。
【００５１】
第２状態判定処理のステップＳ２０６〜Ｓ２０８の処理は、それぞれ、状態判定処理（図２）のステップＳ１０４〜Ｓ１０６の処理と同じ処理である。すなわち、第２異常検知部１２は、特定した共振ピークゲインが閾値ｇｔｈ以上であるか否かを判断する（ステップＳ２０６）。そして、第２異常検知部１２は、判断結果に基づき、異常状態用処理（ステップＳ２０７）又は正常状態用処理（ステップＳ２０８）を行う。
【００５２】
以上、説明したように、第２異常検知部１２も、第１異常検知部１２と同様に、制御部１１が通常制御を行っている間の電流指令及び検出速度に基づき算出された応答周波数から共振ピークゲインを特定し、特定した共振ピークゲインが閾値ｇｔｈ以上となっていた場合に、機械系の経年変化が生じたことをユーザに通知する。従って、第２異常検知部１
２を備えた本実施形態に係るサーボドライバ１０も、第１実施形態に係るサーボドライバ１０と同様に、共振周波数の変化方向によらず、且つ、被駆動体３５の挙動に悪影響を与えることもなく、機械共振が発生する前に機械系の状態が変化したことをユーザに通知できる装置として機能する。
【００５３】
また、第２異常検知部１２は、Ｎ個の周波数応答を平均することにより、重畳されているノイズ量がより少ない平均周波数応答を算出して、当該平均周波数から共振ピークゲインを特定する。従って、本実施形態のサーボドライバ１０は、１個の周波数応答から共振ピークゲインが特定される第１実施形態のサーボドライバ１０よりも、ノイズにより機械系の状態（共振ピークゲインが異常な値であるか否か）が誤判定される蓋然性が低い装置としても機能する。
【００５４】
《第３実施形態》
本発明の第３実施形態に係るサーボドライバも、第１実施形態に係るサーボドライバ１０と同じハードウェア構成を有する装置である。そのため、以下では、第１実施形態の説明時に用いたものと同じ符号を用いて、本実施形態に係るサーボドライバ１０について説明する。
【００５５】
第３サーボドライバ１０は、第１サーボドライバ１０の第１異常検知部１２を、図６に示した手順の第３状態判定処理を繰り返し実行する第３異常検知部１２に置換した装置である。
【００５６】
この第３状態判定処理のステップＳ３０１〜Ｓ３０３の処理は、状態判定処理（図２）のステップＳ１０１〜Ｓ１０３の処理と同じ処理である。
【００５７】
上記したように、状態判定処理を実行している第１異常検知部１２は、ステップＳ１０３の処理後、共振ピークゲインが閾値ｇｔｈ以上であるか否かを判断する。これに対し、第３状態判定処理を実行している第３異常検知部１２は、図示してあるように、ステップＳ３０３の処理後、当該処理で特定された共振ピークゲインが、初めて特定されたゲイン（以下、初回特定ゲインと表記する）であるか否かを判断する（ステップＳ３０４）。
【００５８】
今回特定された共振ピークゲインが初回特定ゲインであった場合（ステップＳ３０４；ＹＥＳ）、第３異常検知部１２は、当該共振ピークゲインを基準ゲインとして内部（第３異常検知部１２内のメモリ上）に記憶する（ステップＳ３０５）。次いで、第３異常検知部１２は、今回特定された共振ピークゲイン、現在時刻を、それぞれ、前ゲイン、前評価時刻として内部に記憶する（ステップＳ３１０）。そして、第３異常検知部１２は、今回の状態判定処理を終了して次回の状態判定処理を開始する。
【００５９】
一方、今回特定された共振ピークゲインが初回特定ゲインではなかった場合（ステップＳ３０４；ＮＯ）、第３異常検知部１２は、ステップＳ３０６以降の処理を開始する。そして、第３異常検知部１２は、まず、ステップＳ３０６において、今回特定された共振ピークゲインから、基準ゲインを減ずることにより、今回特定された共振ピークゲインの基準ゲインからの変化量を算出する。また、第３異常検知部１２は、ステップＳ３０６において、今回特定された共振ピークゲインの前回特定された共振ピークゲインからの変化速度も算出する。なお、この際、算出される変化速度の単位は、特に限定されない。例えば、図６に示してあるように、変化速度は、“（共振ピークゲイン−前ゲイン）／（現在時刻−前評価時刻）”、すなわち、実時間（秒、ミリ秒等）当たりのピークゲインの変化量であっても良い。また、変化速度は、ピークゲインの変化量を、通電時間カウンタ等のカウンタ値（時間経過によりカウントアップされる値）の前評価時刻からの変化量で割った値等であっても良い。
【００６０】
その後、第３異常検知部１２は、算出された変化量が変化量閾値以上であるという第１条件、算出された変化速度が変化速度閾値以上であるという第２条件中の少なくとも一方の条件が成立しているか否かを判断する（ステップＳ３０７）。ここで、変化速度閾値とは、共振ピークゲインが異常な値となったと判定する、共振ピークゲインの変化速度の下限値として、第３異常検知部１２に予め設定されている値のことである。また、変化量閾値とは、共振ピークゲインが異常な値となったと判定する、共振ピークゲインの基準ゲインからの変化量の下限値として、第３異常検知部１２に予め設定されている値のことである。なお、この変化量閾値の値は、基準ゲインが異常な値でなければ、基準ゲイン＋変化量閾値＜０ｄＢが成立するように、定められる。
【００６１】
第３異常検知部１２は、第１、第２条件の双方又は一方が成立していた場合（ステップＳ３０７；ＹＥＳ）には、上記内容の異常状態用処理をステップＳ３０８にて行う。また、第３異常検知部１２は、第１、第２条件が共に成立していなかった場合（ステップＳ３０７；ＮＯ）には、上記内容の正常状態用処理をステップＳ３０９にて行う。異常状態用処理又は正常状態用処理を終えた第３異常検知部１２は、今回特定された共振ピークゲイン、現在時刻を、それぞれ、前ゲイン、前評価時刻として内部に記憶する（ステップＳ３１０）。そして、第３異常検知部１２は、今回の第３状態判定処理を終了してから、次回の第３状態判定処理を開始する。
【００６２】
以上の説明から明らかなように、この第３サーボドライバ１０のユーザには、機械系の経年変化により、共振ピークゲインが“基準ゲイン＋変化量閾値”（＜０ｄＢ）まで上昇した時点で、機械系に経年変化が生じたことが通知される。すなわち、ユーザには、図７に模式的に示したように、特定された共振ピークゲインが、“基準ゲイン＋変化量閾値”と一致する閾値以上のｇｃ１であった場合に、機械系に経年変化が生じたことが通知される。
【００６３】
さて、機械系に、共振ピークゲインが短時間のうちに急激に変化する問題が発生することがあるが、機械系にそのような問題が発生した場合、上記通知機能だけだと、機械系に経年変化が生じたことがユーザに通知される前に、機械系が振動し始めてしまう虞がある。ただし、第３サーボドライバ１０の第３異常検知部１２は、上記したように、共振ピークゲインの変化速度が変化速度閾値以上であった場合にも、機械系に経年変化が生じたことをユーザに通知する。
【００６４】
すなわち、第３サーボドライバ１０のユーザには、図７に模式的に示してあるように、特定された共振ピークゲインｇｃ２が上記閾値未満であっても、ｇｃ２の、前回の共振ピークゲインｇｐからの変化速度が、変化速度閾値以上である場合には、機械系の経年変化により共振ピークゲインが異常な値となったことが通知される。従って、第３サーボドライバ１０によれば、機械系に上記のような問題が発生した場合にも、機械系が振動し始める前に、機械系が振動し始める蓋然性があることを、ユーザに通知することができる。
【００６５】
以下、上記した各実施形態について、幾つかの事項を補足する。
【００６６】
第１〜第３状態判定処理のステップＳ１０３、Ｓ２０４、Ｓ３０３の処理（以下、ゲイン特定処理と表記する）は、サーボ制御部の周波数応答（含む平均周波数応答）全体から、共振ピークを探索し、探索した共振ピークのピーク周波数のゲインを特定する処理であっても良い。ただし、算出された周波数応答の全体から共振ピークを探索するゲイン特定処理では、非共振ピーク（共振ピークではないピーク）が共振ピークとして探索されて、探索された非共振ピークのゲインが、共振ピークゲインとして特定されてしまう虞がある。そのような誤探索（誤特定）がなされるのを防止するために、ゲイン特定処理を、共振
ピークの検出範囲（探索範囲）が制限される処理としておいても良い。
【００６７】
共振ピークの検出範囲の制限法としては、様々なものを採用することが出来る。例えば、共振ピークのピーク周波数は、速度比例ゲインｋｖｐよりも高い。従って、速度比例ゲインｋｖｐよりも高周波数側の周波数応答から、共振ピークが探索されるようにしておいても良い。
【００６８】
また、サーボ制御部の周波数応答は、図３に示したような形状のもの、すなわち、ゲインが閾値ｇｔｈと一致する周波数が、低周波数側に存在するものとなるが、共振周波数（共振ピークのピーク周波数）は、ゲインが閾値ｇｔｈと一致する低周波数側の周波数ｆ０よりも高い。そして、周波数ｆ０は、サーボ制御部の速度フィードバックループの閉ループ伝達関数から、以下の値で近似することが出来る。
【００６９】
【数１】
2019080424.tif 000003
【００７０】
従って、図８に示したように、ａｋｖｐから、共振周波数よりも十分に高い周波数、例えば、ナイキスト周波数ｆｎ（異常検知部１２によるデータ収集周期の逆数の１／２）までの周波数範囲の周波数応答から、共振ピークが探索されるようにしておいても良い。
【００７１】
また、ノッチフィルタ２３の中心周波数は、通常、共振周波数近傍の値に調整されている。従って、共振ピークの検出範囲を、ノッチフィルタ２３の中心周波数を含む周波数範囲、例えば、ノッチ幅内に包含される周波数範囲としておいても良い。
【００７２】
さらに、以下に記す、ノッチフィルタ２３の伝達関数Ｇ(ｓ)から、減衰率が閾値ｇｔｈと一致する２周波数を求めて、図９に示したように、それらの周波数間を共振ピークの検出範囲としても良い。
【００７３】
【数２】
2019080424.tif 000004
なお、この伝達関数Ｇ(ｓ)におけるＲ、ωａ、Ｑは、ノッチフィルタ２３の中心周波数ｆｃ［Ｈｚ］、ノッチ深さｄ［ｄＢ］、ノッチ幅ｗ［Ｈｚ］と、以下の関係を有する値である。
【００７４】
【数３】
2019080424.tif 000005
【００７５】
また、機械系の状態が誤判定される蓋然性を低減するために、第１状態判定処理のステップＳ１０４の判定処理や、第２状態判定処理のステップＳ２０６の判定処理を、サーボシステムのその時点における状況に応じて、共振ピークゲインと比較する閾値ｇｔｈを切り替える処理（以下、閾値切替判定処理と表記する）としておいても良い。なお、サーボシステムのその時点における状況とは、モータ３０の回転方向、幾つかの制御パラメータにより特定される制御部１１の制御状態、被駆動体３５のイナーシャ等のことである。
【００７６】
具体的には、モータ３０により駆動される被駆動体３５が、図１０に示したような、往路ではステージ３６に何も載置されず（図１０（Ａ））、復路ではステージ３６に物体が載置される（図１０（Ｂ））ステージ移動機構である場合を考える。この場合、モータ３０の回転方向によって被駆動体３５のイナーシャが変化する。すなわち、モータ３０の回転方向によって共振ピークゲインが変化する。
【００７７】
従って、被駆動体３５が、図６に示したようなステージ移動機構である場合に、閾値ｇｔｈを固定しておくと、共振ピークゲインが実際には正常（又は異常）な値であっても異常（又は正常）な値であるとの誤判定がなされる蓋然性がある。また、制御部１１の制御パラメータ（速度比例ゲインｋｖｐ等）が変更されても、被駆動体３５のイナーシャが変化しても、共振ピークゲインが変化するため、同様の誤判定がなされる蓋然性がある。
【００７８】
一方、ステップＳ１０４やＳ１０６の判定処理を、サーボシステムのその時点における状況に応じて、共振ピークゲインと比較する閾値ｇｔｈを切り替える閾値切替判定処理としておけば、例えば、ステージ３６が第１方向に移動している場合は、共振ピークゲインと第１方向移動時用の閾値とを比較し、ステージ３６が第１方向とは逆の第２方向に移動している場合は、共振ピークゲインと第２方向移動時用の閾値とを比較するということが可能となる。また、共振ピークゲインが比較的に低い値となる第１制御を制御部１１が行っている場合（共振ピークゲインが比較的に低い値となる制御パラメータ群が制御部１１に設定されている場合等）には、第１の閾値を用い、共振ピークゲインがより高い値となる第２制御を制御部１１が行っている場合には、第１の閾値よりも高い第２の閾値を用い、共振ピークゲインがさらに高い値となる第３制御を制御部１１が行っている場合には、第２の閾値よりも高い第３の閾値を用いるといったことも可能となる。
【００７９】
従って、ステップＳ１０４やＳ１０６の判定処理を、閾値切替判定処理としておけば、機械系の状態が誤判定される蓋然性がより低いサーボドライバ１０を得ることが出来る。
【００８０】
第３異常検知部１２を、サーボシステムの状況別に、第３状態判定処理を実行するユニットに変形しても良い。具体的には、例えば、被駆動体３５が、図６に示したようなステージ移動機構である場合には、第３異常検知部１２を、モータ３０が第１方向に回転している場合には、第１方向用の第３状態判定処理を行い、モータ３０が第１方向とは逆の第２方向に回転している場合には、第２方向用の第３状態判定処理を行うユニットに変形しても良い。また、制御部１１が、共振ピークゲインが比較的に低い値となる第１制御と、
共振ピークゲインがより高い値となる第２制御と、共振ピークゲインがより高い値となる第３制御とを行う場合には、第３異常検知部１２を、制御部１１が第１制御を行っているときには、第１制御用の第３状態判定処理を行い、制御部１１が第２制御を行っているときには、第２制御用の第３状態判定処理を行い、制御部１１が第３制御を行っているときには、第３制御用の第３状態判定処理を行いユニットに変形しても良い。第３異常検知部１２を、そのようなユニットに変形しておけば、サーボシステムの状況により異なる基準ゲインが使用されることになるため、機械系の状態が誤判定される蓋然性を低減することが可能となる。
【００８１】
上記した各異常検知部１２は、周波数応答を算出するために、電流指令と検出速度（モータ３０の回転速度）とを収集するユニットであるが、周波数応答を算出するために収集する入力データ及び出力データは、それらから周波数応答を算出できるデータであれば良い。ただし、上記したように、入力データを、電流指令とすれば、入力データを、電流指令以外のデータ（例えば、サーボドライバ１０に入力される位置指令）を用いた場合よりも、共振ピークゲインを良好に特定可能な周波数応答を得ることが出来る。そのため、入力データは、電流指令としておくことが好ましい。また、出力データは、通常、モータ３０の位置又は速度を示すデータであるが、出力データは、入力データと組み合わせることにより周波数応答を算出できるものでありさえすれば、他のデータであっても良い。なお、入力データ、出力データとは、それぞれ、ゲイン（入力値と出力値の比）の入力値、出力値を決定するために使用されるデータのことである。
【００８２】
また、第１状態判定処理のステップＳ１０１及びＳ１０２の処理、第２状態判定処理のステップＳ２０１及びＳ２０２の処理、第３状態判定処理のステップＳ３０１及びＳ２０３の処理の代わりに、『データを収集してから、収集したデータに基づき周波数応答を算出する処理を、共振ピークが含まれる周波数範囲の周波数応答が算出できるまで繰り返す処理』を採用しても良い。
【００８３】
第２状態判定処理（図４）を、Ｎ個の周波数応答から、Thompson の棄却検定法により
異常な周波数応答を取り除いて、残りの周波数応答の平均から、共振ピークゲインを特定する処理に変形しても良い。また、第２状態判定処理を、Ｎ個の周波数応答の移動平均を算出し、算出結果から共振ピークゲインを特定する処理に変形しても良い。さらに、第３状態判定処理（図６）を、複数の周波数応答の平均から共振ピークゲインを特定する処理に変形しても良い。
【符号の説明】
【００８４】
１０    サーボドライバ
１１    制御部
１２    異常検知部
１３    パワー回路
２１    位置制御部
２２    速度制御部
２３    ノッチフィルタ
２４    電流制御部
２６    速度演算部
３０    モータ
３１    位置検出器
３５    被駆動体
３６    ステージ
【図１】
2019080424.tif 000006
【図２】
2019080424.tif 000007
【図３】
2019080424.tif 000008
【図４】
2019080424.tif 000009
【図５】
2019080424.tif 000010
【図６】
2019080424.tif 000011
【図７】
2019080424.tif 000012
【図８】
2019080424.tif 000013
【図９】
2019080424.tif 000014
【図１０】
2019080424.tif 000015