(57)【要約】      （修正有）【課題】ノッチフィルタを適用した場合に比較して、振動波形の振動成分を完全に除去できる可能性を高める。【解決手段】振動波形の振動成分を除去するためのフィルタであって、任意のＮ個（Ｎ≧２）の時点の振動波形の値の各値にＮ個の重み係数のうちの対応する重み係数を乗じて平均を算出するフィルタに対して、Ｎ個の重み係数を与えるフィルタ設計装置であって、振動波形から、各時系列データが各時系列データに対するＮ個の時点の振動波形の値を含むＭ個（Ｍ≧１）の時系列データを取得する取得手段と、取得手段により取得されたＭ個の時系列データの各時系列データについて、各時系列データに対するＮ個の時点の振動波形の値の各値にＮ個の重み係数のうちの対応する重み係数を乗じて加算した値が０であるという条件が満たされるように、Ｎ個の重み係数を決定する決定手段と、決定手段により決定されたＮ個の重み係数を出力する出力手段とを備えた。【選択図】図６
2020095332.tif 000002
【特許請求の範囲】
【請求項１】
振動波形の振動成分を除去するためのフィルタであって、任意のＮ個（Ｎ≧２）の時点の当該振動波形の値の各値にＮ個の重み係数のうちの対応する重み係数を乗じて平均を算出するフィルタに対して、当該Ｎ個の重み係数を与えるフィルタ設計装置であって、
前記振動波形から、各時系列データが当該各時系列データに対するＮ個の時点の当該振動波形の値を含むＭ個（Ｍ≧１）の時系列データを取得する取得手段と、
前記取得手段により取得された前記Ｍ個の時系列データの各時系列データについて、当該各時系列データに対するＮ個の時点の前記振動波形の値の各値に前記Ｎ個の重み係数のうちの対応する重み係数を乗じて加算した値が０であるという条件が満たされるように、当該Ｎ個の重み係数を決定する決定手段と、
前記決定手段により決定された前記Ｎ個の重み係数を出力する出力手段と
を備えたことを特徴とするフィルタ設計装置。
【請求項２】
前記取得手段は、前記Ｍ個（Ｍ≧２）の時系列データの第１の時系列データに対するＮ個の時点の間隔と、前記Ｍ個の時系列データの第２の時系列データに対するＮ個の時点の間隔とが等しくなるように、前記Ｍ個の時系列データを取得することを特徴とする請求項１に記載のフィルタ設計装置。
【請求項３】
前記取得手段は、前記Ｍ個（Ｍ≧２）の時系列データの第１の時系列データに対するＮ個の時点と、前記Ｍ個の時系列データの第２の時系列データに対するＮ個の時点とが少なくとも部分的に重複するように、前記Ｍ個の時系列データを取得することを特徴とする請求項１に記載のフィルタ設計装置。
【請求項４】
前記取得手段は、前記Ｍ個の時系列データの何れかの時系列データに対するＮ個の時点のうちの隣接する２つの時点の間隔が前記振動波形の周期よりも長くなるように、前記Ｍ個の時系列データを取得することを特徴とする請求項１に記載のフィルタ設計装置。
【請求項５】
前記取得手段は、前記Ｍ個の時系列データの何れかの時系列データに対するＮ個の時点のうちの隣接する２つの時点の間隔が前記振動波形の周期の１／２となるように、前記Ｍ個の時系列データを取得することを特徴とする請求項１に記載のフィルタ設計装置。
【請求項６】
前記決定手段は、前記Ｎ個の重み係数のうちの指定された重み係数が指定された値となるように、当該Ｎ個の重み係数を決定することを特徴とする請求項１に記載のフィルタ設計装置。
【請求項７】
前記決定手段は、前記Ｎ個の重み係数の和が指定された値となるように、当該Ｎ個の重み係数を決定することを特徴とする請求項１に記載のフィルタ設計装置。
【請求項８】
前記指定された値は、１であることを特徴とする請求項７に記載のフィルタ設計装置。
【請求項９】
前記決定手段は、前記Ｎ個の重み係数をａ１，ａ２，…，ａＮとした場合に、ａ１＝ａＮ，ａ２＝ａＮ−１，ａ３＝ａＮ−２，…となるように、当該Ｎ個の重み係数を決定することを特徴とする請求項１に記載のフィルタ設計装置。
【請求項１０】
前記決定手段は、前記Ｎ個の重み係数の絶対値の和が最小になるように、当該Ｎ個の重み係数を決定することを特徴とする請求項１に記載のフィルタ設計装置。
【請求項１１】
前記取得手段は、振動周期が異なるＬ個（Ｌ≧２）の振動波形ｙｉ（ｔ）（ｉ＝１，２，…，Ｌ）から、各時系列データが当該各時系列データに対するＮ個（Ｎ≧２×Ｌ＋１）の時点の当該振動波形ｙｉ（ｔ）の値を含むＭｉ個（Ｍｉ≧２）の時系列データを取得し、
前記決定手段は、前記取得手段により取得されたＭ１＋Ｍ２＋…＋ＭＬ個の時系列データの各時系列データについて、当該各時系列データに対するＮ個の時点の当該各時系列データに対応する前記振動波形ｙｉ（ｔ）の値の各値に前記Ｎ個の重み係数のうちの対応する重み係数を乗じて加算した値が０であるという条件が満たされるように、当該Ｎ個の重み係数を決定することを特徴とする請求項１に記載のフィルタ設計装置。
【請求項１２】
制御対象の振動を抑制する振動抑制装置であって、
前記制御対象を制御する制御手段と、
請求項１乃至請求項１１の何れかに記載のフィルタ設計装置により前記Ｎ個の重み係数が与えられた前記フィルタを用いて、前記制御手段に入力される信号又は前記制御手段から出力された信号を処理する処理手段と
を備えたことを特徴とする振動抑制装置。
【請求項１３】
前記処理手段は、前記フィルタを用いて、前記制御手段に入力される前記制御対象に対して指令を行うための前記信号を処理することを特徴とする請求項１２に記載の振動抑制装置。
【請求項１４】
前記処理手段は、前記フィルタを用いて、前記制御対象からフィードバックされて前記制御手段に入力される前記信号を処理することを特徴とする請求項１２に記載の振動抑制装置。
【請求項１５】
前記処理手段は、前記フィルタを用いて、前記制御対象から出力された前記制御対象に対して指令を行うための前記信号を処理することを特徴とする請求項１２に記載の振動抑制装置。
【請求項１６】
振動波形の振動成分を除去するためのフィルタであって、任意のＮ個（Ｎ≧２）の時点の当該振動波形の値の各値にＮ個の重み係数のうちの対応する重み係数を乗じて平均を算出するフィルタに対して、コンピュータが、当該Ｎ個の重み係数を与えるフィルタ設計方法であって、
前記コンピュータの取得手段が、前記振動波形から、各時系列データが当該各時系列データに対するＮ個の時点の当該振動波形の値を含むＭ個（Ｍ≧１）の時系列データを取得する取得ステップと、
前記コンピュータの決定手段が、前記取得ステップで取得された前記Ｍ個の時系列データの各時系列データについて、当該各時系列データに対するＮ個の時点の前記振動波形の値の各値に前記Ｎ個の重み係数のうちの対応する重み係数を乗じて加算した値が０であるという条件が満たされるように、当該Ｎ個の重み係数を決定する決定ステップと、
前記コンピュータの出力手段が、前記決定ステップで決定された前記Ｎ個の重み係数を出力する出力ステップと
を含むことを特徴とするフィルタ設計方法。
【請求項１７】
振動波形の振動成分を除去するためのフィルタであって、任意のＮ個（Ｎ≧２）の時点の当該振動波形の値の各値にＮ個の重み係数のうちの対応する重み係数を乗じて平均を算出するフィルタに対して、当該Ｎ個の重み係数を与えるフィルタ設計装置として、コンピュータを機能させるプログラムであって、
前記コンピュータを、
前記振動波形から、各時系列データが当該各時系列データに対するＮ個の時点の当該振動波形の値を含むＭ個（Ｍ≧１）の時系列データを取得する取得手段と、
前記取得手段により取得された前記Ｍ個の時系列データの各時系列データについて、当該各時系列データに対するＮ個の時点の前記振動波形の値の各値に前記Ｎ個の重み係数のうちの対応する重み係数を乗じて加算した値が０であるという条件が満たされるように、当該Ｎ個の重み係数を決定する決定手段と、
前記決定手段により決定された前記Ｎ個の重み係数を出力する出力手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、振動波形の振動成分を除去するためのフィルタに重み係数を与えるフィルタ設計装置、フィルタ設計方法及びプログラム、並びに制御対象の振動を抑制する振動抑制装置に関する。
【背景技術】
【０００２】
サーボ制御装置運転中に発生する振動を検出し、振動から周波数成分の大きい周波数を抽出し、周波数が所定値より低い場合は振動抑制フィルタとして周波数以上の帯域を遮断するローパスフィルタを適用し、周波数が所定値以上の場合は振動抑制フィルタとして周波数近傍の帯域を遮断するノッチフィルタを適用し、ノッチフィルタを適用する場合には一旦ノッチフィルタのＱ値を設定後、Ｑ値を大きくしながら振動の抑制効果を確認し、適切なＱ値を設定する振動抑制フィルタの設定方法は、知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２８８１１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
振動抑制フィルタとして周波数成分の大きい周波数近傍の帯域を遮断するノッチフィルタを適用した場合、振動波形の振動成分を完全に除去できない可能性がある。
【０００５】
本発明の目的は、振動抑制フィルタとして周波数成分の大きい周波数近傍の帯域を遮断するノッチフィルタを適用した場合に比較して、振動波形の振動成分を完全に除去できる可能性を高めることにある。
【課題を解決するための手段】
【０００６】
かかる目的のもと、本発明は、振動波形の振動成分を除去するためのフィルタであって、任意のＮ個（Ｎ≧２）の時点の振動波形の値の各値にＮ個の重み係数のうちの対応する重み係数を乗じて平均を算出するフィルタに対して、Ｎ個の重み係数を与えるフィルタ設計装置であって、振動波形から、各時系列データが各時系列データに対するＮ個の時点の振動波形の値を含むＭ個（Ｍ≧１）の時系列データを取得する取得手段と、取得手段により取得されたＭ個の時系列データの各時系列データについて、各時系列データに対するＮ個の時点の振動波形の値の各値にＮ個の重み係数のうちの対応する重み係数を乗じて加算した値が０であるという条件が満たされるように、Ｎ個の重み係数を決定する決定手段と、決定手段により決定されたＮ個の重み係数を出力する出力手段とを備えたフィルタ設計装置を提供する。
【０００７】
ここで、取得手段は、Ｍ個（Ｍ≧２）の時系列データの第１の時系列データに対するＮ個の時点の間隔と、Ｍ個の時系列データの第２の時系列データに対するＮ個の時点の間隔とが等しくなるように、Ｍ個の時系列データを取得する、ものであってよい。
【０００８】
取得手段は、Ｍ個（Ｍ≧２）の時系列データの第１の時系列データに対するＮ個の時点と、Ｍ個の時系列データの第２の時系列データに対するＮ個の時点とが少なくとも部分的に重複するように、Ｍ個の時系列データを取得する、ものであってもよい。
【０００９】
取得手段は、Ｍ個の時系列データの何れかの時系列データに対するＮ個の時点のうちの隣接する２つの時点の間隔が振動波形の周期よりも長くなるように、Ｍ個の時系列データを取得する、ものであってもよい。
【００１０】
取得手段は、Ｍ個の時系列データの何れかの時系列データに対するＮ個の時点のうちの隣接する２つの時点の間隔が振動波形の周期の１／２となるように、Ｍ個の時系列データを取得する、ものであってもよい。
【００１１】
また、決定手段は、Ｎ個の重み係数のうちの指定された重み係数が指定された値となるように、Ｎ個の重み係数を決定する、ものであってよい。
【００１２】
決定手段は、Ｎ個の重み係数の和が指定された値となるように、Ｎ個の重み係数を決定する、ものであってもよい。その場合、指定された値は、１であってよい。
【００１３】
決定手段は、Ｎ個の重み係数をａ１，ａ２，…，ａＮとした場合に、ａ１＝ａＮ，ａ２＝ａＮ−１，ａ３＝ａＮ−２，…となるように、Ｎ個の重み係数を決定する、ものであってもよい。
【００１４】
決定手段は、Ｎ個の重み係数の絶対値の和が最小になるように、Ｎ個の重み係数を決定する、ものであってもよい。
【００１５】
更に、取得手段は、振動周期が異なるＬ個（Ｌ≧２）の振動波形ｙｉ（ｔ）（ｉ＝１，２，…，Ｌ）から、各時系列データが各時系列データに対するＮ個（Ｎ≧２×Ｌ＋１）の時点の振動波形ｙｉ（ｔ）の値を含むＭｉ個（Ｍｉ≧２）の時系列データを取得し、決定手段は、取得手段により取得されたＭ１＋Ｍ２＋…＋ＭＬ個の時系列データの各時系列データについて、各時系列データに対するＮ個の時点の各時系列データに対応する振動波形ｙｉ（ｔ）の値の各値にＮ個の重み係数のうちの対応する重み係数を乗じて加算した値が０であるという条件が満たされるように、Ｎ個の重み係数を決定する、ものであってよい。
【００１６】
また、本発明は、制御対象の振動を抑制する振動抑制装置であって、制御対象を制御する制御手段と、上記の何れかのフィルタ設計装置によりＮ個の重み係数が与えられたフィルタを用いて、制御手段に入力される信号又は制御手段から出力された信号を処理する処理手段とを備えた振動抑制装置も提供する。
【００１７】
ここで、処理手段は、フィルタを用いて、制御手段に入力される制御対象に対して指令を行うための信号を処理する、ものであってよい。
【００１８】
処理手段は、フィルタを用いて、制御対象からフィードバックされて制御手段に入力される信号を処理する、ものであってもよい。
【００１９】
処理手段は、フィルタを用いて、制御対象から出力された制御対象に対して指令を行うための信号を処理する、ものであってもよい。
【００２０】
更に、本発明は、振動波形の振動成分を除去するためのフィルタであって、任意のＮ個（Ｎ≧２）の時点の振動波形の値の各値にＮ個の重み係数のうちの対応する重み係数を乗じて平均を算出するフィルタに対して、コンピュータが、Ｎ個の重み係数を与えるフィルタ設計方法であって、コンピュータの取得手段が、振動波形から、各時系列データが各時系列データに対するＮ個の時点の振動波形の値を含むＭ個（Ｍ≧１）の時系列データを取得する取得ステップと、コンピュータの決定手段が、取得ステップで取得されたＭ個の時系列データの各時系列データについて、各時系列データに対するＮ個の時点の振動波形の値の各値にＮ個の重み係数のうちの対応する重み係数を乗じて加算した値が０であるという条件が満たされるように、Ｎ個の重み係数を決定する決定ステップと、コンピュータの出力手段が、決定ステップで決定されたＮ個の重み係数を出力する出力ステップとを含むフィルタ設計方法も提供する。
【００２１】
更にまた、本発明は、振動波形の振動成分を除去するためのフィルタであって、任意のＮ個（Ｎ≧２）の時点の振動波形の値の各値にＮ個の重み係数のうちの対応する重み係数を乗じて平均を算出するフィルタに対して、Ｎ個の重み係数を与えるフィルタ設計装置として、コンピュータを機能させるプログラムであって、コンピュータを、振動波形から、各時系列データが各時系列データに対するＮ個の時点の振動波形の値を含むＭ個（Ｍ≧１）の時系列データを取得する取得手段と、取得手段により取得されたＭ個の時系列データの各時系列データについて、各時系列データに対するＮ個の時点の振動波形の値の各値にＮ個の重み係数のうちの対応する重み係数を乗じて加算した値が０であるという条件が満たされるように、Ｎ個の重み係数を決定する決定手段と、決定手段により決定されたＮ個の重み係数を出力する出力手段として機能させるためのプログラムも提供する。
【発明の効果】
【００２２】
本発明によれば、振動抑制フィルタとして周波数成分の大きい周波数近傍の帯域を遮断するノッチフィルタを適用した場合に比較して、振動波形の振動成分を完全に除去できる可能性が高まる。
【図面の簡単な説明】
【００２３】
【図１】振動的な制御対象に対するステップ入力について示した図である。
【図２】ノッチフィルタを挿入する手法について示した図である。
【図３】ノッチフィルタを挿入しても出力ｙ（ｔ）の振動は収まらないことを示したグラフである。
【図４】半周期平均フィルタを挿入する手法について示した図である。
【図５】半周期平均フィルタを挿入しても出力ｙ（ｔ）の残留振動が残ることを示したグラフである。
【図６】本発明の実施の形態におけるフィルタ設計装置の機能構成例を示したブロック図である。
【図７】実施形態１における時系列データの採取について示したグラフである。
【図８】実施形態１における振動波形に対する移動平均フィルタの適用について示した図である。
【図９】実施形態１における振動波形に対する移動平均フィルタの適用結果について示したグラフである。
【図１０】実施形態１におけるフィルタ設計装置の動作例を示したフローチャートである。
【図１１】制御対象の入力前に実施形態１の移動平均フィルタを挿入した場合について示した図である。
【図１２】実施形態１の移動平均フィルタ挿入時のゲイン未調整の場合のステップ応答について示したグラフである。
【図１３】実施形態１の移動平均フィルタ挿入時のゲインを１とした場合のステップ応答について示したグラフである。
【図１４】実施形態３における時系列データの採取について示したグラフである。
【図１５】実施形態３のゲインを１とした移動平均フィルタ挿入時のステップ応答について示したグラフである。
【図１６】実施形態３’における時系列データの採取について示したグラフである。
【図１７】実施形態３の時系列データを用いた場合のステップ応答について示したグラフである。
【図１８】実施形態４における時系列データの採取について示したグラフである。
【図１９】実施形態４の時系列データを用いた場合のステップ応答について示したグラフである。
【図２０】実施形態５における時系列データの採取について示したグラフである。
【図２１】実施形態５の時系列データを用いて一方の振動モードの振動波形を抑制した場合のステップ応答について示したグラフである。
【図２２】実施形態５の時系列データを用いてもう一方の振動モードの振動波形を抑制した場合のステップ応答について示したグラフである。
【図２３】実施形態５におけるフィルタ設計装置の動作例を示したフローチャートである。
【図２４】実施形態６における時系列データの採取について示したグラフである。
【図２５】実施形態６の時系列データを用いた場合のステップ応答について示したグラフである。
【図２６】実施形態７における時系列データの採取について示したグラフである。
【図２７】実施形態７の時系列データを用いた場合のステップ応答について示したグラフである。
【図２８】実施形態９が適用対象とするロボットシステムの構成例を示した図である。
【図２９】実施形態９におけるロボットコントローラ内のフィルタ挿入位置について示した図である
【図３０】実施形態１乃至８のフィルタ設計装置及び実施形態９のロボットコントローラを実現するコンピュータのハードウェア構成例を示した図である。
【発明を実施するための形態】
【００２４】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
【００２５】
［本実施の形態の背景及び概要］
図１は、振動的な制御対象に対するステップ入力について示した図である。図示するように、振動的な制御対象にステップ入力ｕ（ｔ）が与えられると、振動的な出力ｙ（ｔ）が出力される。
【００２６】
そこで、一般的な手法として、図２に示すように、入力（或いはフィードバック値等）に制御対象の固有振動周波数を完全に０とするノッチフィルタを挿入し、振動抑制を行う手法が考えられる。
【００２７】
しかしながら、単純に固有振動周波数を無くすノッチフィルタを挿入するだけでは、図３に示すように、出力ｙ（ｔ）の振動を無くすことはできない。このように固有振動周波数が既知で、それを完全に除去するノッチフィルタを挿入しても振動は収まらない。制御対象の振動（振動波形）に対して適切なパラメータを設定して振動抑制フィルタを設計する必要があるが、上記のようなノッチフィルタでは試行錯誤でパラメータを調整する必要がある。
【００２８】
また、別の一般的な手法として、振動周期の情報を活用するフィルタを用いることが考えられる。具体的には、図４に示すように、半周期前の値と現在の値との平均をとり、振動にカウンタを与える半周期平均フィルタを挿入する手法が考えられる。
【００２９】
しかしながら、半周期平均フィルタを挿入したのでは、図５に示すように、上記の未調整のノッチフィルタに比べて振動はいくらか抑制されているものの、出力ｙ（ｔ）の残留振動が残っている。これは振動周期の情報のみを活用しているためであり、振動を完全になくすには減衰等の影響も考慮する必要がある。また、半周期平均フィルタは、サンプル間隔が半周期に限定され、遅れ時間を短縮するなどの対応が不可能である、自由なサンプル間隔を選べない等、設計の条件が限定される。従って、フィルタ設計の自由度を確保しつつ、振動を完全に抑制することはできない。
【００３０】
そこで、本実施の形態は、第一に、振動周期や減衰の影響を含んでいる振動波形そのものから、完全に振動を抑制するためのフィルタに対する条件を導出する手法を提案する。第二に、サンプル間隔に対する制約を与えることなく、条件を導出可能な手法を提案する。第三に、振動抑制のための条件だけではなく、種々の性能に対する条件を一緒に与えることが可能な手法を提案する。
【００３１】
［フィルタ設計装置の構成］
図６は、本実施の形態におけるフィルタ設計装置１０の機能構成例を示したブロック図である。図示するように、フィルタ設計装置１０は、振動波形取得部１１と、時系列データ取得部１２と、重み係数決定部１３と、重み係数出力部１４とを備える。
【００３２】
振動波形取得部１１は、制御対象の振動波形を取得する。
【００３３】
時系列データ取得部１２は、振動波形取得部１１が取得した振動波形から、Ｎ個（Ｎ≧２）のサンプル点における振動波形の値をそれぞれが含むＭ個（Ｍ≧１）の時系列データを取得する。ここで、Ｎ個のサンプル点は、Ｍ個の時系列データのそれぞれに対して設定されたものでよい。本実施の形態では、Ｎ個の時点の一例として、Ｎ個のサンプル点を用いており、Ｍ個の時系列データを取得する取得手段の一例として、時系列データ取得部１２を設けている。
【００３４】
重み係数決定部１３は、時系列データ取得部１２が取得したＭ個の時系列データのそれぞれについて、Ｎ個のサンプル点における振動波形の値のそれぞれにＮ個の重み係数のうちの対応する重み係数を乗じて加算した値が０であるという条件が満たされるように、Ｎ個の重み係数を決定する。本実施の形態では、Ｎ個の重み係数を決定する決定手段の一例として、重み係数決定部１３を設けている。
【００３５】
重み係数出力部１４は、重み係数決定部１３が決定したＮ個の重み係数を外部に出力する。本実施の形態では、Ｎ個の重み係数を出力する出力手段の一例として、重み係数出力部１４を設けている。
【００３６】
尚、ここでは、フィルタ設計装置１０を、重み係数を出力する処理までを行う装置とした。これは、例えば、後述するロボットコントローラに既に組み込まれたフィルタにユーザがこの出力された重み係数を設定することを想定したものである。この場合、フィルタ設計装置１０は、ユーザによるフィルタの設計を支援するフィルタ設計支援装置と捉えることができる。或いは、フィルタ設計装置１０を、重み係数を出力する処理までではなく、その重み係数が設定されたフィルタを生成する処理までを行う装置としてもよい。これは、例えば、後述するロボットコントローラにこの生成されたフィルタを組み込むことを想定したものである。この場合、フィルタ設計装置１０は、フィルタを生成するフィルタ生成装置と捉えることができる。
【００３７】
［実施形態１］
実施形態１では、振動波形取得部１１が取得した制御対象の振動波形ｙ（ｔ）に対して、時系列データ取得部１２が、図７に示すように、Ｎ＝６、Ｍ＝２とし、例えば一定のサンプル周期で６点、２組の時系列データを採取する。ここでは、時系列データ１｛ｙ（ｔ１＋δ１），y（ｔ１＋δ２），…，ｙ（ｔ１＋δ６）｝と、時系列データ２｛ｙ（ｔ２＋δ１），y（ｔ２＋δ２），…，ｙ（ｔ２＋δ６）｝とを採取するものとする。
【００３８】
尚、一定のサンプル周期で時系列データを採取することは、Ｍ個の時系列データの第１の時系列データに対するＮ個の時点の間隔と、Ｍ個の時系列データの第２の時系列データに対するＮ個の時点の間隔とが等しくなるように、Ｍ個の時系列データを取得することの一例である。
【００３９】
重み係数決定部１３は、この時系列データとフィルタの重み係数｛ａ１，ａ２，…，ａ６｝との積の和を０とする下記の２つの条件を満たすように、重み係数｛ａ１，ａ２，…，ａ６｝を決定する。
【００４０】
【数１】
2020095332.tif 000003
【００４１】
このとき、重み係数｛ａ１，ａ２，…，ａ６｝が満たすべき条件は、各時系列データを要素に持つ下記行列Ａのヌルスペースに、重み係数を要素に持つベクトルａ＝［ａ１，ａ２，…，ａ６］Ｔ∈Ｒ６が入っていることと等価である。
【００４２】
【数２】
2020095332.tif 000004
【００４３】
いま、行列ＡのヌルスペースがＮ−ｒａｎｋ（Ａ）、つまり４つのベクトル｛ｅ１，ｅ２，ｅ３，ｅ４｝（ｅｊ∈Ｒ６，ｊ＝１，２，３，４）で基底が張られているとすると、ベクトルａはｅｊの下記線形和で与えられる。
【００４４】
【数３】
2020095332.tif 000005
【００４５】
尚、上記４つの基底ベクトルは行列Ａが与えられれば容易に算出することができる。
【００４６】
重み係数出力部１４は、重み係数決定部１３により算出された重み係数を出力する。この出力された重み係数を用いた移動平均フィルタ（本明細書において「移動平均フィルタ」とは重み付き移動平均フィルタのことである）を図８のように抑制したい振動波形に適用した結果を図９に示す。
【００４７】
図９は、ｃｉ＝１（ｉ＝ｊ），ｃｉ＝０（ｉ≠ｊ）とし、ａ＝ｅｊ（ｊ＝１，２，３，４）としたときの４つの結果を示している。４つの結果の何れにおいても、０から１［２π／ω  ｓｅｃ］までの過渡応答では出力ｘ（ｔ）が揺らいでいるが、過渡応答後の出力ｘ（ｔ）は完全に０となっている。これにより、振動波形ｙ（ｔ）の振動成分が移動平均フィルタによって完全に抑制されていることが分かる。
【００４８】
尚、図９では、ａ＝ｅｊ（ｊ＝１，２，３，４）としたときの４つの結果を示したが、任意の係数ｃｉに対して（３）式で与えられるａを用いた場合も同様である。即ち、ベクトルａにて決定される｛ａ１，ａ２，…，ａ６｝を重み係数とする移動平均フィルタも同様に、振動抑制したい振動波形ｙ（ｔ）の振動成分を完全に除去することができる。
【００４９】
図１０は、実施形態１におけるフィルタ設計装置１０の動作例を示したフローチャートである。
【００５０】
フィルタ設計装置１０では、まず、振動波形取得部１１が、制御対象の振動波形ｙ（ｔ）を取得する（ステップ１０１）。
【００５１】
次に、時系列データ取得部１２が、振動波形取得部１１が取得した振動波形ｙ（ｔ）から、Ｎ点、Ｍ組の時系列データを取得する（ステップ１０２）。
【００５２】
次いで、重み係数決定部１３が、時系列データ取得部１２が取得したＭ組の時系列データのＮ点と重み係数との積の和が０であるというＭ個の条件を満たすように、重み係数を決定する（ステップ１０３）。
【００５３】
その後、重み係数出力部１４が、重み係数決定部１３が決定した重み係数を出力する（ステップ１０４）。
【００５４】
［実施形態１’］
実施形態１では、制御対象の振動波形ｙ（ｔ）に対して、時系列データ取得部１２が、Ｎ＝６、Ｍ＝２とし、６点、２組の時系列データを採取したが、Ｍ＞２とし、２組より多い時系列データを採取してもよい。実施の形態１’では、時系列データ取得部１２が、Ｎ＝６、Ｍ＝７とし、６点、７組の時系列データを採取するものとする。
【００５５】
この場合、重み係数決定部１３は、下記の７つの条件を満たすように重み係数｛ａ１，ａ２，…，ａ６｝を決定する。
【００５６】
【数４】
2020095332.tif 000006
【００５７】
このとき、重み係数｛ａ１，ａ２，…，ａ６｝が満たすべき条件は、各時系列データを要素に持つ下記行列Ａのヌルスペースに、重み係数を要素に持つベクトルａ＝［ａ１，ａ２，…，ａ６］Ｔ∈Ｒ６が入っていることと等価である。
【００５８】
【数５】
2020095332.tif 000007
【００５９】
しかし、振動波形が２次の減衰振動である場合、Ｍ＞２としても、ｒａｎｋ（Ａ）は２のままであり、Ｎ−ｒａｎｋ（Ａ）＝４となる。以降は実施形態１と全く同じで、行列Ａのヌルスペースが４つのベクトル｛ｅ１，ｅ２，ｅ３，ｅ４｝（ｅｊ∈Ｒ６，ｊ＝１，２，３，４）で基底が張られているとすると、ベクトルａはｅｊの下記線形和で与えられる。
【００６０】
【数６】
2020095332.tif 000008
【００６１】
実施形態１’で重み係数決定部１３により算出された重み係数を用いた移動平均フィルタを図８のように抑制したい振動波形に適用した結果も、図９と同様のものとなる。
【００６２】
尚、実施形態１’の動作例は、図１０において、ステップ１０２で取得する時系列データの数を限定するだけであり、処理としては同じなので、説明を省略する。
【００６３】
［実施形態２］
図２及び図４のように制御対象の入力前にフィルタを挿入した図１１の場合について考える。この場合、実施形態１の移動平均フィルタを挿入したときのステップ応答ｙ（ｔ）は、図１２に示すように１からずれてしまう。一般に、ヌルスペースの基底ベクトルｅｊは、‖ｅｊ‖＝１を満たすようになっている（‖Ｘ‖はＸのユークリッドノルムを示す）。ステップ応答ｙ（ｔ）を１にするには、フィルタのゲインを１に、即ち、移動平均フィルタの重み係数が下記条件を満たすようにする必要がある。
【００６４】
【数７】
2020095332.tif 000009
【００６５】
実施形態１の基底ベクトルｅｊを用いる場合、重み係数決定部１３は、下記式を計算することで、（４）式を満たすａを決定する。
【００６６】
【数８】
2020095332.tif 000010
【００６７】
これにより、図１３のように振動を完全に抑制しつつ、ステップ応答出力ｙ（ｔ）を１とするフィルタが得られる。
【００６８】
尚、実施形態２の動作例は、図１０において、ステップ１０３で用いる条件に重み係数の和が１であるという条件を追加するだけであり、処理の流れとしては同じなので、説明を省略する。
【００６９】
［実施形態３］
実施形態１ではＮ、Ｍとして多めの値を与えたが、時系列データ取得部１２は、Ｎ＝３（条件によってはＮ＝２）、Ｍ＝２（条件によってはＭ＝１）とし、３点（条件によっては２点）、２組（条件によっては１組）の時系列データを採取すれば十分である。また、実施形態１では、時系列データごとに別々のサンプル点を使用したが、例えば時系列データ間で重複したサンプル点を使用してもよい。
【００７０】
そこで、実施形態３では、振動波形取得部１１が取得した振動波形ｙ（ｔ）に対して、時系列データ取得部１２が、例えば一定のサンプル周期δで４点の時系列データ｛ｙ（ｔ），ｙ（ｔ＋δ），ｙ（ｔ＋２δ），ｙ（ｔ＋３δ）｝を採取する。その際、図１４に示すように、最初の３点｛ｙ（ｔ），ｙ（ｔ＋δ），ｙ（ｔ＋２δ）｝を時系列データ１とし、１つずれてｙ（ｔ＋δ）から始まる３点｛ｙ（ｔ＋δ），ｙ（ｔ＋２δ），ｙ（ｔ＋３δ）｝を時系列データ２とする。
【００７１】
尚、時系列データ間で重複したサンプル点を使用することは、Ｍ個の時系列データの第１の時系列データに対するＮ個の時点と、Ｍ個の時系列データの第２の時系列データに対するＮ個の時点とが少なくとも部分的に重複するように、Ｍ個の時系列データを取得することの一例である。
【００７２】
重み係数決定部１３は、各時系列データとフィルタの重み係数｛ａ１，ａ２，ａ３｝との積の和を０とする下記の２つの条件を満たすように、重み係数｛ａ１，ａ２，ａ３｝を決定する。
【００７３】
【数９】
2020095332.tif 000011
【００７４】
また、実施形態１、２では、重み係数決定部１３が、行列Ａのヌルスペースを導出して重み係数を決定したが、重み係数決定部１３は、重み係数｛ａ１，ａ２，ａ３｝が非ゼロとなる条件を陽に与えてこれを算出してもよい。
【００７５】
例えば、非ゼロとなる条件を、適当な重み係数ａｊの値を直接指定することにより与えてもよい。このような値を例えば１とし、ａ１＝１なる条件を与えた場合、下記連立方程式を解けばよい。
【００７６】
【数１０】
2020095332.tif 000012
【００７７】
尚、これは、Ｎ個の重み係数のうちの指定された重み係数が指定された値となるように、Ｎ個の重み係数を決定することの一例である。
【００７８】
或いは、非ゼロとなる条件として（４）式を与えた場合、下記連立方程式を解けばよい。
【００７９】
【数１１】
2020095332.tif 000013
【００８０】
尚、これは、Ｎ個の重み係数の和が指定された値となるように、Ｎ個の重み係数を決定することの一例である。
【００８１】
ここで、（７）式から求められる重み係数｛ａ１，ａ２，ａ３｝は、（４）式を満足している。従って、この重み係数｛ａ１，ａ２，ａ３｝を用いることにより、振動を抑制しつつステップ応答が１となる移動平均フィルタが直接導出される。（７）式を満たす移動平均フィルタを挿入した際のステップ応答を図１５に示す。図１５から、振動を抑制しつつ、ゲインが１で、Ｎ＝３と少ないため、過渡時間が０．４［２π／ω  ｓｅｃ］と短くなっていることが分かる。
【００８２】
尚、実施形態３の動作例は、図１０において、ステップ１０２で取得する時系列データをサンプル点が重複するものに限定し、ステップ１０３で用いる条件に（７）式又は（８）式の条件を追加するだけであり、処理の流れとしては同じなので、説明を省略する。
【００８３】
［実施形態３’］
実施形態３では、振動波形取得部１１が取得した振動波形ｙ（ｔ）に対して、時系列データ取得部１２が、重複する時系列データを採取したが、実施形態３’では、図１６に示すように、重複しない時系列データを採取する。図１６では、Ｎ＝３、Ｍ＝２としている。
【００８４】
この場合も、ゲインを１とすれば、図１７に示すように、図１５と同様のステップ応答となる。
【００８５】
尚、実施形態３’の動作例は、図１０において、ステップ１０２で取得する時系列データをサンプル点が重複しないものに限定するだけであり、処理としては同じなので、説明を省略する。
【００８６】
［実施形態４］
実施形態４では、振動波形取得部１１が取得した振動波形ｙ（ｔ）に対して、時系列データ取得部１２が、図１８に示すように、振動周期のエイリアシング周波数よりも低いサンプリング周波数でサンプリングを行う。図１８では、Ｎ＝３、Ｍ＝２としている。
【００８７】
尚、振動周期のエイリアシング周波数よりも低いサンプリング周波数でサンプリングを行うことは、Ｍ個の時系列データの何れかの時系列データに対するＮ個の時点のうちの隣接する２つの時点の間隔が振動波形の周期よりも長くなるように、Ｍ個の時系列データを取得することの一例である。
【００８８】
この場合も、図１１のように制御対象の前にフィルタを設置することで、図１９に示すように振動成分を除去することができる。図１９では、ゲインを１としている。
【００８９】
尚、実施形態４の動作例は、図１０において、ステップ１０２で取得する時系列データをそのサンプリング周波数がエイリアシング周波数よりも低いものに限定するだけであり、処理としては同じなので、説明を省略する。
【００９０】
［実施形態５］
実施形態５は、複数の振動モードの振動を１つのフィルタで抑制するものである。Ｌ個の振動波形を同時に抑制する場合には、Ｎ≧１＋２×Ｌ、Ｍ≧２×Ｌとし、これらを満たす点及び組の時系列データが必要となる。
【００９１】
振動波形取得部１１は、複数の振動波形を取得する。ここでは、Ｌ＝２とし、２つの振動波形を取得する。
【００９２】
時系列データ取得部１２は、振動波形取得部１１が取得した２つの振動波形に対して、図２０に示すように、Ｎ＝５、Ｍ＝４とし、例えば一定のサンプル周期で５点、４組の時系列データを採取する。ここでは、一方の振動波形ｙ１（ｔ）に対して、時系列データ１｛ｙ１（ｔ１＋δ１），ｙ１（ｔ１＋δ２），…，ｙ１（ｔ１＋δ５）｝と、時系列データ２｛ｙ１（ｔ２＋δ１），ｙ１（ｔ２＋δ２），…，ｙ１（ｔ２＋δ５）｝とを採取する。また、他方の振動波形ｙ２（ｔ）に対して、時系列データ３｛ｙ２（ｔ１＋δ１），ｙ２（ｔ１＋δ２），…，ｙ２（ｔ１＋δ５）｝と、時系列データ４｛ｙ２（ｔ２＋δ１），ｙ２（ｔ２＋δ２），…，ｙ２（ｔ２＋δ５）｝とを採取する。
【００９３】
重み係数決定部１３がこれらの時系列データから決定した重み係数を用いた１つの移動平均フィルタで２つの振動モードの振動を抑制した場合の結果を図２１及び図２２に示す。
【００９４】
これまで、振動が線形な２次の減衰振動について扱ってきたが、多くの非線形振動は振動周波数や減衰係数が状況に応じて非線形に変化する。そのような非線形振動に対しても、これを線形な２次の減衰振動の集合として扱い、実施形態５のように複数の振動モードの振動を抑制するフィルタを設計することで、対応可能である。
【００９５】
図２３は、実施形態５におけるフィルタ設計装置１０の動作例を示したフローチャートである。
【００９６】
フィルタ設計装置１０では、まず、振動波形取得部１１が、制御対象の振動波形ｙｉ（ｔ）（ｉ＝１，２，…，Ｌ）を取得する（ステップ１５１）。
【００９７】
次に、時系列データ取得部１２が、振動波形取得部１１が取得した振動波形ｙｉ（ｔ）（ｉ＝１，２，…，Ｌ）から、Ｎ点（Ｎ≧１＋２×Ｌ）、Ｍｉ組（Ｍｉ≧２）の時系列データを取得する（ステップ１５２）。
【００９８】
次いで、重み係数決定部１３が、時系列データ取得部１２が取得したＭ１＋Ｍ２＋…＋ＭＬ組の時系列データのＮ点と重み係数との積の和が０であるというＭ１＋Ｍ２＋…＋ＭＬ個の条件を満たすように、重み係数を決定する（ステップ１５３）。
【００９９】
その後、重み係数出力部１４が、重み係数決定部１３が決定した重み係数を出力する（ステップ１５４）。
【０１００】
［実施形態６］
実施形態６では、振動波形取得部１１が取得した振動波形ｙ（ｔ）に対して、時系列データ取得部１２が、異なるサンプル間隔でサンプリングを行う。具体的には、時系列データ取得部１２は、図２４に示すように、Ｎ＝３、Ｍ＝２とし、例えば異なるサンプル間隔で３点、２組の時系列データを採取する。ここでは、時系列データ１｛ｙ（ｔ１＋δ１），ｙ（ｔ１＋δ２），ｙ（ｔ１＋δ３）｝と、時系列データ２｛ｙ（ｔ２＋δ１），ｙ（ｔ２＋δ２），ｙ（ｔ２＋δ３）｝とを採取する。ここで異なるサンプル間隔とは、δ２−δ１≠δ３−δ２であることを意味する。
【０１０１】
重み係数決定部１３がこれらの時系列データから決定した重み係数を用いた移動平均フィルタで振動を抑制した場合の結果を図２５に示す。図２５では、ゲインを１としている。
【０１０２】
尚、実施形態６の動作例は、図１０において、ステップ１０２で取得する時系列データをそのサンプル間隔が異なるものに限定するだけであり、処理としては同じなので、説明を省略する。
【０１０３】
［実施形態７］
通常、１つの振動波形を抑制する移動平均フィルタの重み係数を決定するためには、Ｎ≧３、Ｍ≧２となり、３点以上のサンプル点を持つ２組以上の時系列データが必要であった。ここで、サンプル間隔を振動周期の半周期とする（サンプル間隔に制約条件を与える）と、Ｎ≧２、Ｍ≧１となり、２点以上のサンプル点を持つ１組以上の時系列データのみを用いて移動平均フィルタを設計することができる。
【０１０４】
いま、下記伝達関数で与えられる２次の減衰振動系を考える。
【０１０５】
【数１２】
2020095332.tif 000014
【０１０６】
この２次の減衰振動系の振動周期Ｔは、下記式で与えられる。
【０１０７】
【数１３】
2020095332.tif 000015
【０１０８】
そこで、実施形態７では、振動波形取得部１１が取得した振動波形ｙ（ｔ）に対して、時系列データ取得部１２が、サンプル間隔ＴｎをＴ／２とし、図２６に示すように、時系列データ１｛ｙ（ｔ１），ｙ（ｔ１＋Ｔｎ）｝を採取する。図２６では、Ｎ＝２、Ｍ＝１としている。
【０１０９】
尚、サンプル間隔を振動周期の半周期とすることは、Ｍ個の時系列データの何れかの時系列データに対するＮ個の時点のうちの隣接する２つの時点の間隔が振動波形の周期の１／２となるように、Ｍ個の時系列データを取得することの一例である。
【０１１０】
重み係数決定部１３は、時系列データ１｛ｙ（ｔ１），ｙ（ｔ１＋Ｔｎ）｝と重み係数｛ａ１，ａ２｝との積の和を０とする条件と、（４）式とを満たすように、下記連立方程式から重み係数｛ａ１，ａ２｝を決定する。
【０１１１】
【数１４】
2020095332.tif 000016
【０１１２】
このように決定された重み係数を用いた下記移動平均フィルタは、図２７に示すように振動抑制効果を持つ。
【０１１３】
【数１５】
2020095332.tif 000017
【０１１４】
尚、実施形態７の動作例は、図１０において、ステップ１０２で取得する時系列データをそのサンプリングが振動周期の半周期であるものに限定するだけであり、処理としては同じなので、説明を省略する。
【０１１５】
［実施形態８］
以上では、振動抑制に加え、ゲインが１という条件を用いる場合について示したが、この限りではない。実施形態８では、更に他の条件も追加する。但し、この場合、Ｎの最小値を大きくする必要はある。
【０１１６】
例えば、移動平均フィルタに群遅延特定（全ての周波数で遅延時間が一定である特性）を与える場合、重み係数決定部１３は、重み係数｛ａ１，ａ２，…，ａＮ｝を、これらが左右対称であることを示す下記条件を追加して導出すればよい。
【０１１７】
【数１６】
2020095332.tif 000018
【０１１８】
尚、これは、Ｎ個の重み係数をａ１，ａ２，…，ａＮとした場合に、ａ１＝ａＮ，ａ２＝ａＮ−１，ａ３＝ａＮ−２，…となるように、Ｎ個の重み係数を決定することの一例である。
【０１１９】
或いは、フィルタ出力ｘ（ｔ）の変動をなるべく小さく抑えたい場合、重み係数決定部１３は、下記条件を追加してもよい。
【０１２０】
【数１７】
2020095332.tif 000019
【０１２１】
尚、これは、Ｎ個の重み係数の絶対値の和が最小になるように、Ｎ個の重み係数を決定することの一例である。
【０１２２】
また、これは、時系列データと重み係数の積の和が０であるという制約と、何れかの重み係数が非ゼロであるという制約とが付いた制約条件付き最適化を行うものである。
【０１２３】
重み係数決定部１３は、この制約条件付き最適化によって、重み係数｛ａ１，ａ２，…，ａＮ｝を決定してもよい。
【０１２４】
尚、実施形態８の動作例は、図１０において、ステップ１０３で用いる条件に（１３）式又は（１４）式の条件を追加するだけであり、処理の流れとしては同じなので、説明を省略する。
【０１２５】
［実施形態９］
実施形態９は、これまで述べた振動抑制の具体的な適用対象に関する実施形態である。図２８は、具体的な適用対象の一例であるロボットシステム２０の構成例を示した図である。このロボットシステム２０では、ロボット２１が補助軸の一例であるスライダ２２の上に載っており、ワーク２３がポジショナ２４により位置決めされている。尚、図中、ロボット２１には、回転軸として、軸Ｓ１乃至Ｓ６が示されている。また、ロボットシステム２０の構成要素の１つとして、ロボット２１を制御するロボットコントローラ３０も示されている。
【０１２６】
ところで、このようなロボットシステム２０では、ロボット２１の弾性変形に加え、スライダ２２、ポジショナ２４等の弾性変形によってロボット２１の先端やワーク２３の振動が発生する。特にスライダ２２、ポジショナ２４等の弾性変形による振動は振動周期が短く、ロボット２１の動作時における振動抑制ニーズが高い。一方で、スライダ２２やポジショナ２４は一品受注の非汎用品であることが多い。従って、スライダ２２やポジショナ２４による実際の振動モードの詳細はシステムが完成するまで不明である。このような非汎用品等では特に、システムの完成後、実際の振動モードを速やかに抑制する制御系を構成したいというニーズが高い。
【０１２７】
そこで、実施形態９では、ロボットシステム２０のような非汎用品が完成した後、試運転時等に、図２８に示すように、加速度ピックアップ２５をロボット２１の先端やワーク２３等に設置する。これにより、フィルタ設計装置１０が、振動波形を取得し、振動を抑制するフィルタを速やかに設計することが可能となる。
【０１２８】
また、このように設計されたフィルタは、ロボットコントローラ３０内の何れかのフィルタ挿入位置に挿入するとよい。図２９は、ロボットコントローラ３０内のフィルタ挿入位置について示した図である。図示するように、ロボットコントローラ３０は、指令部３１と、制御部３２とを備えており、これらとの関係で、フィルタ挿入位置３３乃至３５が規定されている。ここで、ロボットコントローラ３０は、制御対象の振動を抑制する振動抑制装置の一例であり、制御部３２は、制御対象を制御する制御手段の一例であり、フィルタ挿入位置３３乃至３５にある回路は、信号を処理する処理手段の一例である。また、図では、制御対象の位置に、制御対象に対するアクチュエータの一例であるモータ２６も示している。
【０１２９】
このようなロボットコントローラ３０において、フィルタの具体的な挿入形態としては、次のようなものが考えられる。即ち、第一に、制御対象への指令値に対する前置フィルタとして、指令値が指令部３１から出力されて制御部３２へ入力される前のフィルタ挿入位置３３に挿入する、というものである。第二に、制御対象からのフィードバック値に対するノッチフィルタとして、フィードバック値が制御部３２へ入力される前のフィルタ挿入位置３４に挿入する、というものである。第三に、制御対象を制御する制御部３２の出力に対するノッチフィルタとして、制御部３２から指令値が出力された後のフィルタ挿入位置３５に挿入する、というものである。これにより、実機の振動を完全に抑制可能な制御系を簡単かつ速やかに構成することができる。
【０１３０】
尚、振動波形の採取は、上記試運転時等のフィルタ設計時に必要なだけで、通常の運転時には加速度ピックアップ２５等による振動計測は不要である。従って、余分なセンサコスト増を生じさせることなく、振動を抑制する制御系を簡単かつ速やかに構成することが可能となる。
【０１３１】
［フィルタ設計装置及びロボットコントローラのハードウェア構成］
図６のフィルタ設計装置１０及び図２９のロボットコントローラ３０は、例えば、汎用のコンピュータにより実現してよい。そこで、フィルタ設計装置１０及びロボットコントローラ３０がコンピュータ９０により実現されるものとして、このコンピュータ９０のハードウェア構成について説明する。
【０１３２】
図３０は、コンピュータ９０のハードウェア構成例を示した図である。図示するように、コンピュータ９０は、例えば汎用のＰＣ（Personal Computer）等により実現され、演算手段であるＣＰＵ９１と、記憶手段であるメインメモリ９２及び磁気ディスク装置（ＨＤＤ：Hard Disk Drive）９３とを備える。ここで、ＣＰＵ９１は、ＯＳ（Operating System）やアプリケーションソフトウェア等の各種プログラムを実行し、フィルタ設計装置１０及びロボットコントローラ３０の各機能を実現する。また、メインメモリ９２は、各種プログラムやその実行に用いるデータ等を記憶する記憶領域であり、ＨＤＤ９３は、記憶媒体の一例であって、各種プログラムに対する入力データや各種プログラムからの出力データ等を記憶する記憶領域である。
【０１３３】
また、コンピュータ９０は、外部との通信を行うための通信Ｉ／Ｆ９４と、ビデオメモリやディスプレイ等からなる表示機構９５と、キーボードやマウス等の入力デバイス９６と、記憶媒体に対してデータの読み書きを行うためのドライバ９７とを備える。尚、図３０は、フィルタ設計装置１０及びロボットコントローラ３０を実現するコンピュータのハードウェア構成を例示するに過ぎず、コンピュータ９０は図示の構成に限定されない。
【０１３４】
［本実施の形態の効果］
以上述べたように、本実施の形態では、サンプル間隔が任意に与えられるＮ個のサンプル点に重み係数を乗じて平均を出力する移動平均フィルタにおいて、移動平均フィルタで除去したい振動波形のＮ点の時系列データをＭ個用意し、Ｍ個の時系列データの各サンプル点に重み係数を乗じて加算したものが０に等しいというＭ個の条件を与え、Ｍ個の条件を満たし、かつ、重み係数の少なくとも１つが非ゼロとなるように重み係数を与えるようにした。これにより、振動波形の振動成分を完全に除去できる可能性が高まった。
【符号の説明】
【０１３５】
１０…フィルタ設計装置、１１…振動波形取得部、１２…時系列データ取得部、１３…重み係数決定部、１４…重み係数出力部、２０…ロボットシステム、２１…ロボット、２２…スライダ、２３…ワーク、２４…ポジショナ、２５…加速度ピックアップ、２６…モータ、３０…ロボットコントローラ、３１…指令部、３２…制御部、３３，３４，３５…フィルタ挿入位置
【図１】
2020095332.tif 000020
【図２】
2020095332.tif 000021
【図３】
2020095332.tif 000022
【図４】
2020095332.tif 000023
【図５】
2020095332.tif 000024
【図６】
2020095332.tif 000025
【図７】
2020095332.tif 000026
【図８】
2020095332.tif 000027
【図９】
2020095332.tif 000028
【図１０】
2020095332.tif 000029
【図１１】
2020095332.tif 000030
【図１２】
2020095332.tif 000031
【図１３】
2020095332.tif 000032
【図１４】
2020095332.tif 000033
【図１５】
2020095332.tif 000034
【図１６】
2020095332.tif 000035
【図１７】
2020095332.tif 000036
【図１８】
2020095332.tif 000037
【図１９】
2020095332.tif 000038
【図２０】
2020095332.tif 000039
【図２１】
2020095332.tif 000040
【図２２】
2020095332.tif 000041
【図２３】
2020095332.tif 000042
【図２４】
2020095332.tif 000043
【図２５】
2020095332.tif 000044
【図２６】
2020095332.tif 000045
【図２７】
2020095332.tif 000046
【図２８】
2020095332.tif 000047
【図２９】
2020095332.tif 000048
【図３０】
2020095332.tif 000049