(57)【要約】【課題】  簡単な演算で制御対象の共振周波数と反共振周波数を同時に高速に精度良く算出できるようにする。【解決手段】  検出器３による検出値と電動機指令とが一致するように操作量を出力する閉ループ制御器７と、電動機１を駆動するサーボアンプ５と有するモーション制御装置１００が、さらに、掃引正弦波を作成し出力する正弦波発生器４と、操作量に掃引正弦波を加算する加算器８と、加算器８の出力および検出値を入力し制御対象１０の共振周波数と反共振周波数を検出する振動周波数検出器６とを備え、検出信号が最も小さくなるときの掃引正弦波の周波数を制御対象１０自身の反共振周波数と判断して、同時に掃引正弦波を印加した後の操作量が最も小さくなるときの掃引正弦波の周波数を制御対象１０自身の共振周波数と判断して共振周波数検出結果とする。【選択図】図１
2006177720.tif 000002
【特許請求の範囲】
【請求項１】
電動機と該電動機に接続された機械からなる制御対象と、
該電動機の状態量を検出する検出器と、
前記検出値と電動機への指令と前記検出値が一致するように制御を行い操作量を出力する閉ループ制御器と、該操作量を入力し前記電動機を動作するための電流を出力するサーボアンプと、検出したい範囲の周波数帯の掃引正弦波を作成し出力する正弦波発生器と、前記操作量に前記掃引正弦波を加算する加算器と、
を備えたモーション制御装置の振動周波数検出方法において、
前記検出器の検出した検出値の振動振幅が最小となる時の時刻taを検出し、
前記加算器の出力の振動振幅が最小となる時の時刻tbを検出し、
時刻taに前記掃引正弦波発生器が発生した正弦波信号の周波数を制御対象の反共振周波数WLとし、
時刻tbに前記掃引正弦波発生器が発生した正弦波信号の周波数を制御対象の共振周波数WHとする、という手順で前記制御対象の共振周波数と反共振周波数を検出することを特徴とするモーション制御装置の振動周波数検出方法。
【請求項２】
電動機と該電動機に接続された機械からなる制御対象と、
該電動機の状態量を検出する検出器と、
前記検出値と電動機への指令と前記検出値が一致するように制御を行い操作量を出力する閉ループ制御器と、該操作量を入力し前記電動機を動作するための電流を出力するサーボアンプと、ある指定した周波数の正弦波を作成し出力する正弦波発生器と、前記操作量に前記正弦波を加算する加算器と、
を備えたモーション制御装置の振動周波数検出方法において、
前記正弦波発生器から、ある周波数の正弦波を出力した際の前記検出値および前記加算器の出力の振動振幅を記憶しておき、
前記正弦波発生器から、また別の周波数の正弦波を出力した際の前記検出値および前記加算器の出力の振動振幅を記憶しておくというように、周波数の異なる複数の正弦波を出力した時の、それぞれの振動振幅の大きさを記憶しておき、前記検出値の振動振幅が最小であった時に前記正弦波発生器が発生した正弦波信号の周波数を制御対象の反共振周波数WLとし、
前記加算器の出力の振動振幅が最小であった時に前記正弦波発生器が発生した正弦波信号の周波数を制御対象の共振周波数WHとする、
という手順で前記制御対象の共振周波数と反共振周波数を検出することを特徴とするモーション制御装置の振動周波数検出方法。
【請求項３】
電動機と該電動機に接続された機械からなる制御対象と、
該電動機の状態量を検出する検出器と、
前記検出値と電動機への指令と前記検出値が一致するように制御を行い操作量を出力する閉ループ制御器と、該操作量を入力し前記電動機を動作するための電流を出力するサーボアンプと、検出したい範囲の周波数帯の掃引正弦波を作成し出力する正弦波発生器と、前記操作量に前記掃引正弦波を加算する加算器と、
を備えたモーション制御装置の振動周波数検出方法において、
前記検出器の検出した検出値の振動振幅が最小となる時の時刻taを検出し、
前記加算器の出力の振動振幅が最小となる時の時刻tbを検出し、
時刻taに前記掃引正弦波発生器が発生した正弦波信号の周波数を制御対象の反共振周波数WL１とし、
時刻tbに前記掃引正弦波発生器が発生した正弦波信号の周波数を制御対象の共振周波数WH１とし、
前記正弦波発生器から、反共振周波数WL１近辺のある周波数の正弦波を出力した際の前記検出値の振動振幅を記憶しておき、
前記正弦波発生器から、反共振周波数WL１近辺のまた別の周波数の正弦波を出力した際の前記検出値の振動振幅を記憶しておくというように、反共振周波数WL１近辺の周波数の異なる複数の正弦波を出力した時の、前記検出値の振動振幅の大きさを記憶しておき、前記検出値の振動振幅が最小であった時に前記正弦波発生器が発生した正弦波信号の周波数を制御対象の反共振周波数WLとし、
前記正弦波発生器から、共振周波数WH１近辺のある周波数の正弦波を出力した際の前記加算器の出力の振動振幅を記憶しておき、
前記正弦波発生器から、共振周波数WH１近辺のまた別の周波数の正弦波を出力した際の前記加算器の出力の振動振幅を記憶しておくというように、
共振周波数WH１近辺の周波数の異なる複数の正弦波を出力した時の、前記加算器の出力の振動振幅の大きさを記憶しておき、前記加算器の出力の振動振幅が最小であった時に前記正弦波発生器が発生した正弦波信号の周波数を制御対象の共振周波数WHとする、
という手順で前記制御対象の共振周波数と反共振周波数を検出することを特徴とするモーション制御装置の振動周波数検出方法。
【請求項４】
前記検出値あるいは加算器の出力が最小となる時の時刻を検出する処理では、信号の符号が反転する時刻を信号の０クロスする時刻として検出し、今回の０クロスする時刻と、前回の０クロスする時刻の、中間の時刻tcの、信号の値を、時刻tcでの振動の振幅として記憶しておき、振動の振幅が最小値となる時刻を検出するという手順で処理することを特徴とする請求項１〜３のいずれか１項記載のモーション制御装置の振動周波数検出方法。
【請求項５】
電動機の状態量を検出する検出値と前記電動機への指令とが一致するように制御を行い操作量を出力する閉ループ制御器と、該操作量を入力し前記電動機を動作するための電流を出力するサーボアンプとを備えたモーション制御装置であって、検出したい範囲の周波数帯の掃引正弦波を作成し出力する正弦波発生器と、前記操作量に前記掃引正弦波を加算する加算器と、前記加算器の出力および前記検出値を入力し前記制御対象の共振周波数と反共振周波数を検出する振動周波数検出器とを備えたことを特徴とするモーション制御装置。
【請求項６】
前記振動周波数検出器が、前記検出値の振動振幅が最小となる時の時刻taを検出し、前記加算器の出力の振動振幅が最小となる時の時刻tbを検出し、時刻taに前記掃引正弦波発生器が発生した正弦波信号の周波数を制御対象の反共振周波数WLとし、時刻tbに前記掃引正弦波発生器が発生した正弦波信号の周波数を制御対象の共振周波数WHとする手順で処理することを特徴とする請求項５記載のモーション制御装置。
【請求項７】
電動機の状態量を検出する検出値と前記電動機への指令とが一致するように制御を行い操作量を出力する閉ループ制御器と、該操作量を入力し前記電動機を動作するための電流を出力するサーボアンプとを備えたモーション制御装置であって、ある指定した周波数の正弦波を作成し出力する正弦波発生器と、前記操作量に前記正弦波を加算する加算器と、前記加算器の出力および前記検出値を入力し前記制御対象の共振周波数と反共振周波数を検出する振動周波数検出器とを備えたことを特徴とするモーション制御装置。
【請求項８】
前記振動周波数検出器が、前記正弦波発生器から、ある周波数の正弦波を出力した際の前記検出値および前記加算器の出力の振動振幅を記憶しておき、
前記正弦波発生器から、また別の周波数の正弦波を出力した際の前記検出値および前記加算器の出力の振動振幅を記憶しておくというように、周波数の異なる複数の正弦波を出力した時の、それぞれの振動振幅の大きさを記憶しておき、前記検出値の振動振幅が最小であった時に前記正弦波発生器が発生した正弦波信号の周波数を制御対象の反共振周波数WLとし、
前記加算器の出力の振動振幅が最小であった時に前記正弦波発生器が発生した正弦波信号の周波数を制御対象の共振周波数WHとする、
という手順で処理することを特徴とする請求項７記載のモーション制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象の共振周波数および反共振周波数を簡単に検出するモーション制御装置の振動周波数検出方法およびその装置に関する。
【背景技術】
【０００２】
従来の共振周波数検出装置は、掃引正弦波信号を入力した時の、検出信号の絶対値の最大値が最大になる時刻を検出し、その時刻に入力していた掃引正弦波信号の周波数を共振周波数として検出している（例えば、特許文献１参照）。
【特許文献１】特開２００３−１３４８６８号公報（第５−７頁、図１）
【０００３】
図７は特許文献１記載の共振周波数検出装置を示している。
図７において、５１は指令発生器、５２は制御器、５３は電動機、５４は機械、５５は検出器、５６は信号処理器である。指令発生器５１は最小周波数Fminから最大周波数Fmaxまで周波数が変化する掃引正弦波指令を指令信号Ｃとして出力し、同時に、時々刻々と変化する指令信号Ｃの周波数の情報Ａも出力する。制御器５２は、指令発生器５１から受けた指令信号Ｃを制御器５２と閉ループ制御器５７の間に設けた加算器の一方の入力端子に印加し、その出力に従って電動機５３を駆動し、連結された機械５４が動作する。電動機５３に連結された検出器５５は電動機動作量ｍを検出し、これを応答信号Ｓとして信号処理器５６に送る。この図では電動機５３と機械５４が連結されているため、電動機動作量ｍを検出すれば、機械５４の共振特性を検出できる。この応答信号Ｓは機械５４が周波数に依存して少しの外力でも大きな反応を示す共振特性を持つため、共振周波数では振幅が最大となる。信号処理器５６は掃引正弦波指令の周波数情報Ａと応答信号Ｓを受け取り、最小周波数Fminを過ぎた検出最小下限周波数Flimから共振周波数の検出のための演算を行なう。検出最小下限周波数Flim以上で、応答信号Ｓの絶対値が最大となるときの掃引正弦波の周波数を共振周波数と判断して共振周波数検出結果ｆを出力する。
特許文献１記載の振動周波数検出装置によれば簡単な演算で共振周波数を高速に算出でき、安価な演算装置を用いて、共振周波数を検出するという効果がある。
【０００４】
このように、従来の振動周波数検出装置では、掃引正弦波を入力し、その時の応答信号の絶対値が最大となるときの掃引正弦波の周波数を共振周波数と判断して共振周波数検出結果とするという手順がとられていた。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来の振動周波数検出方法では、掃引正弦波を入力し、その時の応答信号の絶対値が最大となるときの掃引正弦波の周波数を共振周波数と判断して共振周波数検出結果とするという手順をとっているので、共振周波数が高く、共振が顕著に応答信号に現れるときは上手く検出できるが、共振周波数が低く、共振が顕著に応答信号に現れない場合は共振周波数が検出できないという問題があった。また、例え検出できたとしても検出誤差が大きくなるという問題があった。
【０００６】
また、共振周波数が高く、共振が顕著に現れる場合でも、閉ループ系の影響で実際の制御対象の共振周波数が変化するが、従来の方法では閉ループ系の影響を受けたあとの変化した周波数を制御対象の共振周波数として検出してしまうため、結果として検出誤差が大きくなるという問題もあった。
【０００７】
本発明はこのような問題点に鑑みてなされたものであり、応答信号の絶対値の最大を検出するのではなく、検出信号が最も小さくなるときの掃引正弦波の周波数を制御対象自身の反共振周波数と判断して共振周波数検出結果とし、それと同時に、掃引正弦波を印加した後の操作量が最も小さくなるときの掃引正弦波の周波数を制御対象自身の共振周波数と判断して共振周波数検出結果とすることで、共振周波数が低い場合も精度よく、また、閉ループ系の影響を受けずに、制御対象自身の共振周波数と反共振周波数を一度の測定で同時に推定することができる方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記問題を解決するため、本発明は、次のようにしたのである。
請求項１記載の発明は、モーション制御装置の振動周波数検出方法に係り、電動機と該電動機に接続された機械からなる制御対象と、該電動機の状態量を検出する検出器と、前記検出値と電動機への指令と前記検出値が一致するように制御を行い操作量を出力する閉ループ制御器と、該操作量を入力し前記電動機を動作するための電流を出力するサーボアンプと、検出したい範囲の周波数帯の掃引正弦波を作成し出力する正弦波発生器と、前記操作量に前記掃引正弦波を加算する加算器と、を備えたモーション制御装置の振動周波数検出方法において、前記検出器の検出した検出値の振動振幅が最小となる時の時刻taを検出し、前記加算器の出力の振動振幅が最小となる時の時刻tbを検出し、時刻taに前記掃引正弦波発生器が発生した正弦波信号の周波数を制御対象の反共振周波数WLとし、時刻tbに前記掃引正弦波発生器が発生した正弦波信号の周波数を制御対象の共振周波数WHとする、という手順で前記制御対象の共振周波数と反共振周波数を検出することを特徴としている。
【０００９】
請求項２記載の発明は、モーション制御装置の振動周波数検出方法に係り、電動機と該電動機に接続された機械からなる制御対象と、該電動機の状態量を検出する検出器と、前記検出値と電動機への指令と前記検出値が一致するように制御を行い操作量を出力する閉ループ制御器と、該操作量を入力し前記電動機を動作するための電流を出力するサーボアンプと、ある指定した周波数の正弦波を作成し出力する正弦波発生器と、前記操作量に前記正弦波を加算する加算器と、を備えたモーション制御装置の振動周波数検出方法において、前記正弦波発生器から、ある周波数の正弦波を出力した際の前記検出値および前記加算器の出力の振動振幅を記憶しておき、前記正弦波発生器から、また別の周波数の正弦波を出力した際の前記検出値および前記加算器の出力の振動振幅を記憶しておくというように、周波数の異なる複数の正弦波を出力した時の、それぞれの振動振幅の大きさを記憶しておき、前記検出値の振動振幅が最小であった時に前記正弦波発生器が発生した正弦波信号の周波数を制御対象の反共振周波数WLとし、前記加算器の出力の振動振幅が最小であった時に前記正弦波発生器が発生した正弦波信号の周波数を制御対象の共振周波数WHとする、という手順で処理することを特徴としている。
【００１０】
請求項３記載の発明は、モーション制御装置の振動周波数検出方法に係り、電動機と該電動機に接続された機械からなる制御対象と、該電動機の状態量を検出する検出器と、前記検出値と電動機への指令と前記検出値が一致するように制御を行い操作量を出力する閉ループ制御器と、該操作量を入力し前記電動機を動作するための電流を出力するサーボアンプと、検出したい範囲の周波数帯の掃引正弦波を作成し出力する正弦波発生器と、前記操作量に前記掃引正弦波を加算する加算器と、を備えたモーション制御装置の振動周波数検出方法において、前記検出器の検出した検出値の振動振幅が最小となる時の時刻taを検出し、前記加算器の出力の振動振幅が最小となる時の時刻tbを検出し、時刻taに前記掃引正弦波発生器が発生した正弦波信号の周波数を制御対象の反共振周波数WL１とし、時刻tbに前記掃引正弦波発生器が発生した正弦波信号の周波数を制御対象の共振周波数WH１とし、前記正弦波発生器から、反共振周波数WL１近辺のある周波数の正弦波を出力した際の前記検出値の振動振幅を記憶しておき、前記正弦波発生器から、反共振周波数WL１近辺のまた別の周波数の正弦波を出力した際の前記検出値の振動振幅を記憶しておくというように、反共振周波数WL１近辺の周波数の異なる複数の正弦波を出力した時の、前記検出値の振動振幅の大きさを記憶しておき、前記検出値の振動振幅が最小であった時に前記正弦波発生器が発生した正弦波信号の周波数を制御対象の反共振周波数WLとし、前記正弦波発生器から、共振周波数WH１近辺のある周波数の正弦波を出力した際の前記加算器の出力の振動振幅を記憶しておき、前記正弦波発生器から、共振周波数WH１近辺のまた別の周波数の正弦波を出力した際の前記加算器の出力の振動振幅を記憶しておくというように、共振周波数WH１近辺の周波数の異なる複数の正弦波を出力した時の、前記加算器の出力の振動振幅の大きさを記憶しておき、前記加算器の出力の振動振幅が最小であった時に前記正弦波発生器が発生した正弦波信号の周波数を制御対象の共振周波数WHとする、という手順で処理することを特徴としている。
【００１１】
請求項４記載の発明は、請求項１〜３のいずれか１項記載のモーション制御装置の振動周波数検出方法において、前記検出値あるいは加算器の出力が最小となる時の時刻を検出する処理では、信号の符号が反転する時刻を信号の０クロスする時刻として検出し、今回の０クロスする時刻と、前回の０クロスする時刻の、中間の時刻tcの、信号の値を、時刻tcでの振動の振幅として記憶しておき、振動の振幅が最小値となる時刻を検出するという手順で処理することを特徴としている。
【００１２】
請求項５記載の発明は、モーション制御装置に係り、電動機の状態量を検出する検出値と前記電動機への指令とが一致するように制御を行い操作量を出力する閉ループ制御器と、該操作量を入力し前記電動機を動作するための電流を出力するサーボアンプとを備えたモーション制御装置であって、検出したい範囲の周波数帯の掃引正弦波を作成し出力する正弦波発生器と、前記操作量に前記掃引正弦波を加算する加算器と、前記加算器の出力および前記検出値を入力し前記制御対象の共振周波数と反共振周波数を検出する振動周波数検出器とを備えたことを特徴としている。
【００１３】
請求項６記載の発明は、請求項５記載のモーション制御装置において、前記振動周波数検出器が、前記検出値の振動振幅が最小となる時の時刻taを検出し、前記加算器の出力の振動振幅が最小となる時の時刻tbを検出し、時刻taに前記掃引正弦波発生器が発生した正弦波信号の周波数を制御対象の反共振周波数WLとし、時刻tbに前記掃引正弦波発生器が発生した正弦波信号の周波数を制御対象の共振周波数WHとする手順で処理することを特徴としている。
【００１４】
請求項７記載の発明は、モーション制御装置に係り、電動機の状態量を検出する検出値と前記電動機への指令とが一致するように制御を行い操作量を出力する閉ループ制御器と、該操作量を入力し前記電動機を動作するための電流を出力するサーボアンプとを備えたモーション制御装置であって、ある指定した周波数の正弦波を作成し出力する正弦波発生器と、前記操作量に前記正弦波を加算する加算器と、前記加算器の出力および前記検出値を入力し前記制御対象の共振周波数と反共振周波数を検出する振動周波数検出器とを備えたことを特徴としている。
【００１５】
請求項８記載の発明は、請求項７記載のモーション制御装置において、前記振動周波数検出器が、前記正弦波発生器から、ある周波数の正弦波を出力した際の前記検出値および前記加算器の出力の振動振幅を記憶しておき、前記正弦波発生器から、また別の周波数の正弦波を出力した際の前記検出値および前記加算器の出力の振動振幅を記憶しておくというように、周波数の異なる複数の正弦波を出力した時の、それぞれの振動振幅の大きさを記憶しておき、前記検出値の振動振幅が最小であった時に前記正弦波発生器が発生した正弦波信号の周波数を制御対象の反共振周波数WLとし、前記加算器の出力の振動振幅が最小であった時に前記正弦波発生器が発生した正弦波信号の周波数を制御対象の共振周波数WHとする、という手順で処理することを特徴としている。
【発明の効果】
【００１６】
請求項１に記載の発明によると、共振周波数と反共振周波数が低い場合にも閉ループ制御器の影響を全く受けずに、しかも共振周波数と反共振周波数を同時に検出することができ、簡単に精度良く共振周波数と反共振周波数を検出することができる。
また、請求項２に記載の発明によると、特定の周波数に限定し細かく共振周波数と反共振周波数を検出することができ、さらに検出精度を上げることができる。
また、請求項３に記載の発明によると、請求項１の方法により検出した共振周波数と反共振周波数の近傍で、さらに細かく共振周波数と反共振周波数を特定することができ、さらに検出精度を上げることができる。
また、請求項４に記載の発明によると、簡単な方法で、振幅の一番小さい時刻を検出することができ、検出のための計算量を少なくできる。
請求項５および６に記載の装置発明によると、共振周波数と反共振周波数が低い場合にも閉ループ制御器の影響を全く受けずに、しかも共振周波数と反共振周波数を同時に検出することができ、簡単に精度良く共振周波数と反共振周波数を検出することができるモーション制御装置が得られる。
また、請求項７および８記載の装置発明によると、特定の周波数に限定し細かく共振周波数と反共振周波数を検出することができ、さらに検出精度を上げることができるモーション制御装置が得られる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
【実施例１】
【００１８】
図１は、本発明の方法を実施する振動周波数検出方法を実現するモーション制御装置の構成を示すブロック図である。図において１は電動機であり、２は電動機と接続された機械である。電動機１と機械２を組み合わせたものを制御対象10とする。３は検出器を示し、電動機の位置あるいは速度を検出する。４は正弦波発生器であり、特定の周波数の正弦波dsinを出力する。５はサーボアンプを示し操作量atrefを入力し電動機を駆動する電流を出力する。７は閉ループ制御器を示し、位置あるいは速度指令refと、３の検出器で検出された検出信号xfbを入力しtrefを出力する。８は加算器を示し、trefとdsinを加算し、加算後の操作量atrefを出力する。６は振動周波数検出器を示し、検出信号xfbおよびatrefを入力し、制御対象自身の共振周波数WHと反共振周波数WLを検出する。
ここで、電動機１と機械２は弾性要素で結合されているため、そこで共振が発生する。  本発明は、その共振の周波数を精度良く推定することを目的とするものである。
【００１９】
図２はモーション制御装置において、振動周波数を検出する処理手順を示すフローチャートである。この図を用いて本発明の方法を順を追って説明する。
はじめに、ステップ1で、ある周波数帯域の掃引正弦波信号dsinを出力する。周波数帯域の最小周波数と最大周波数は制御対象の共振周波数が間に含まれるように適当に設定すればよい。
次に、ステップ２で、掃印正弦波を出力している間の検出信号xfbおよび加算器の出力atrefを取得する。
次に、ステップ３で、xfbの振動の振幅が最小の時の時刻taと、atrefの振動の振幅が最小の時の時刻tbとを記憶しておく。（詳細は後述する）
次に、ステップ４で、時刻taに前記掃引正弦波発生器が発生した正弦波信号の周波数を制御対象の反共振周波数WLとし、時刻tbに前記掃引正弦波発生器が発生した正弦波信号の周波数を制御対象の共振周波数WHとして出力する。
【００２０】
次に、ステップ３にて、各信号の振動振幅が最小となる時刻を検出する方法の詳細を説明する。
図３はその方法を説明するフローチャート、図４は本方法の説明で用いられる記号を明確にするための図をそれぞれ示している。
尚、ここでは、信号xfbの振動振幅が最小となる時刻を検出する方法についてのみ説明するが、信号atrefの振動振幅が最小となる時刻を検出する方法も全く同様の処理でよい。
フローがスタートすると、（S1）で今回のサンプリング時のxfb(t)を取得する。
（S2）で、前回のサンプリング時のxfb(t-Ts)と今回のサンプリング時のxfb(t)で符号が逆になっている（０クロスしている）か判断し、
yesの場合は、今回の時刻をt0とし（s3）の処理へ移行し、
noの場合は次のサンプリングを待つ。
（S3）で、時刻t0と前回０クロスした時刻t0#oldの中間の時刻tcを式（１）により計算し保存する。また時刻tcの時の信号の絶対値xfb(tc)の値も保存する。そして（S4）へ進む。
tc=(t0＋t0#old)/2      ・・・（１）
（S4）で、保存した信号xfb(tc)の絶対値が、今までの振動振幅の絶対値の最小値xfb#minより小さいか判断する。
yesの場合はステップ５へ移行し、
noの場合は（S7）へ進み、t0をt0#oldとして保存し、次のサンプリングを待つ。
（S5）で、xfb(tc)が今までで最小の振幅となるため、
xfb#min＝xfb(tc)の絶対値  ・・・（２）
として保存する。また、tcをtc#minとして保存し、（S6）へ進む。
（S6）で掃印正弦波dsinが出力されている間は、（S7）へ進み、t0をt0#oldとして保存し、次のサンプリングを待つ。（S6）で掃印正弦波dsinの出力がなくなると、フローは終了する。
このように、掃印正弦波dsinが出力されている間、上記（S1）から（S5）の処理を繰り返す。掃印正弦波の払い出し完了後に、最終時点の時刻tc#minを、信号xfbの振動振幅の最小となる時刻とする。
【００２１】
ここでは、例として図５に掃印正弦波を入力した際の各信号の波形（シミュレーション結果）を示す。
図（ａ）が、掃印正弦波を入力している際のxfb（この例の場合、電動機の速度）の波形であり、図（ｂ）が掃印正弦波を入力している際のatrefの波形である。
図から明らかなように、振動振幅が最大になる時刻はこれらの波形から検出しにくいが、振動振幅が最小となる時刻taとtbは非常に顕著に波形に表れている。
このように、応答信号の絶対値の最大を検出するのではなく、検出信号xfbの振動振幅が最も小さくなるときの掃引正弦波の周波数を制御対象自身の反共振周波数WLと判断して共振周波数検出結果とし、それと同時に、掃引正弦波を印加した後の操作量atrefの振動振幅が最も小さくなるときの掃引正弦波の周波数を制御対象自身の共振周波数WHと判断して共振周波数検出結果とするという手順をとるため、共振周波数と反共振周波数が低い場合にも閉ループ制御器の影響を全く受けずに、しかも共振周波数と反共振周波数を同時に検出することができ、簡単に精度良く共振周波数と反共振周波数を検出することができる。
【実施例２】
【００２２】
実施例２で使用するモーション制御装置も、実施例１で使用したモーション制御装置と全く同様の構成である。
本実施例と実施例１との違いは、正弦波発生器が発生する信号が、実施例１では掃印正弦波であったのに対し、実施例２では一定の周波数の正弦波を複数回出力するところである。本方法は、共振周波数WHと反共振周波数WLの値が予めおおよそ見当がついている際に、さらに精度良く振動周波数を検出したい場合等に使用すると良い。
【００２３】
図６はモーション制御装置において、振動周波数を検出する第２の実施例の処理手順を示すフローチャートである。この図を用いて本発明の方法を順を追って説明する。例えば、機械の共振周波数と反共振周波数が、両方とも20Hz前後にあることが分かっているとする。
この場合、まずW(1)=19.2Hz、W(2)=19.4Hz、W(3)=19.6Hz、W(4)=19.8Hz、W(5)=20.0Hz、W(6)=20.2Hz、W(7)=20.4Hz、W(8)=20.6Hz、W(9)=20.8Hz、W(10)=21.0Hzの10個の周波数W(i)を用意しておく。
フローをスタートすると、ステップ１では、まず最初にW(1)の周波数の正弦波を正弦波発生器から出力する。
次に、ステップ２で、xfbとatrefを取得する。
次に、ステップ３で、xfbとatrefの振動の振幅xfb#a(i)とatref#a(i)（i=1、2 … 10）を測定する。ここで、一定の周波数の正弦波を入力している場合、検出値xfbもatrefもどちらも、一定の振幅の正弦波となるため、その振幅の測定は簡単である。例えば、信号の絶対値の最大値を記憶しておく方法が最も簡単である。
次に、ステップ４で、iが最後（本実施例の場合i=10まで終了した）かどうかを判断し、最後でなければ、ステップ１からステップ３を繰り返す。iが最終（本実施例の場合i=10）であれば、ステップ５へ移行する。
ステップ５では、i=１からi=１０までのxfb#a(i)およびatref#a(i)の中で最も値の小さいものを検出し、信号xfbの振動振幅xfb#aが最小の時に入力していた周波数W(i)を反共振周波数WLとし、信号atrefの振動振幅atref#aが最小の時に入力していた周波数W(i)を共振周波数WHとして出力する。
このように、特定の周波数に限定し、それらを一つずつ入力した時の振動振幅を測定し、振動振幅が最小になる正弦波の周波数を見付けるという手順をとるので、細かく共振周波数と反共振周波数を検出することができ、さらに検出精度を上げることができる。
【実施例３】
【００２４】
実施例３では、最初に、実施例１の方法を実施した後に、実施例１の方法で検出した振動周波数の近傍で、複数の周波数を設定し、実施例２の方法を行えばよい。
このように、最初にある周波数帯域の掃印正弦波を入力し、ある程度の精度で、共振周波数と反共振周波数を検出した後、検出した共振周波数と反共振周波数の近傍で、さらに細かく、今度は周波数を一つずつ入力し、その中で最も振動振幅が小さかった周波数で共振周波数と反共振周波数を特定するという手順をとるため、さらに検出精度を上げることができる。
上記３つの実施例では、信号の最小値を見付ける際に、信号xfbおよびatrefの振動振幅の頂点（０クロスの中間点を含む）を検出する方法を用いているが、その方法はどのようなものでも良く、例えば、信号を２乗したり、あるいは信号を積分したりしてから、信号の最小値を見付けるという方法を用いても良い。
【産業上の利用可能性】
【００２５】
掃引正弦波を入力し、検出信号xfbが最も小さくなるときの掃引正弦波の周波数を制御対象自身の反共振周波数WLと判断して共振周波数検出結果とし、それと同時に、掃引正弦波を印加した後の操作量atrefが最も小さくなるときの掃引正弦波の周波数を制御対象自身の共振周波数WHと判断して共振周波数検出結果とするため、低い周波数の制御対象でも精度良く共振周波数および反共振周波数が検出できて、剛性の低い半導体搬送ロボットや宇宙ロボットという用途にも適用できる。
【図面の簡単な説明】
【００２６】
【図１】本発明の方法を適用するモーション制御装置の構成を示すブロック図である。
【図２】本発明の方法の処理手順を示すフローチャートである。
【図３】本発明の要部の処理手順を示すフローチャートである。
【図４】本発明の信号の振動振幅の最小値の求め方を説明する図である。
【図５】本発明のシミュレーション結果を示す図である。
【図６】本発明の第２の方法の処理手順を示すフローチャートである。
【図７】従来の方法を適用したモーション制御装置の構成を示すブロック図である。
【符号の説明】
【００２７】
１  電動機
２  機械
３  検出器
４  正弦波発生器
５  サーボアンプ
６  振動周波数検出器
７  閉ループ制御器
１０  制御対象
１００  モーション制御装置
５１  指令発生器
５２  制御器
５３  電動機
５４  機械
５５  検出器
５６  信号処理器
５７  閉ループ制御器
【図１】
2006177720.tif 000003
【図２】
2006177720.tif 000004
【図３】
2006177720.tif 000005
【図４】
2006177720.tif 000006
【図５】
2006177720.tif 000007
【図６】
2006177720.tif 000008
【図７】
2006177720.tif 000009