(57)【特許請求の範囲】
【請求項１】
ノッチフィルタと、該ノッチフィルタの幅を表すパラメタを調整するパラメタ調整部と、を備える適応ノッチフィルタであって、
前記パラメタ調整部は、前記パラメタの候補値よりも広い幅を表す値を試行し、検出された振動が試行期間の完了まで基準内に収まっている場合に前記パラメタを前記候補値に設定することを特徴とする適応ノッチフィルタ。
【請求項２】
前記パラメタ調整部は、前記候補値よりも広い幅を表す値を含む範囲である試行範囲を前記試行期間にスイープすることを特徴とする請求項１に記載の適応ノッチフィルタ。
【請求項３】
前記試行範囲の上限及び下限はいずれも前記候補値よりも広い幅を表す値であり、
前記パラメタ調整部は、広い幅を表す値から狭い幅を表す値へと前記試行範囲をスイープすることを特徴とする請求項２に記載の適応ノッチフィルタ。
【請求項４】
前記パラメタ調整部は、検出された振動が基準を超えた場合に試行を中断して前記パラメタを試行前の値に戻すことを特徴とする請求項１から３のいずれかに記載の適応ノッチフィルタ。
【請求項５】
前記試行前の値は前記候補値よりも狭い幅を表す値であることを特徴とする請求項４に記載の適応ノッチフィルタ。
【請求項６】
ノッチ幅を調整することを含むノッチフィルタのパラメタ調整方法であって、
ノッチ幅を表すパラメタの候補値よりも広い幅を表す値を試行し、
検出された振動が試行期間の完了まで基準内に収まっている場合に前記パラメタを前記候補値に設定することを含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、適応ノッチフィルタ、及びノッチフィルタのパラメタ調整方法に関する。
【背景技術】
【０００２】
例えば特許文献１には、制御対象の周波数特性における反共振周波数のうちノッチフィルタ中心周波数に最も近い反共振周波数とノッチフィルタ中心周波数との比率に基づいてノッチフィルタの幅パラメータを調整するノッチフィルタのパラメータ調整方法が記載されている。特許文献２には、ノッチフィルタ周波数をノッチフィルタ周波数設定値で固定とし、幅または深さまたはそれら両方が可変となっており、適応入力と適応基準とを用いてノッチフィルタの幅または深さまたはそれら両方を逐次演算により決定するようにした適応ノッチフィルタが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−３０６７５３号公報
【特許文献２】特開２００７−２９３５７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に記載の調整方法は制御対象の周波数特性を予め計測する必要がある。特許文献２に記載の適応ノッチフィルタは、適応基準を満たしていればその幅または深さに設定されることになる。ところが、ノッチフィルタ周波数が適切に設定されていれば制御系から大きな振動は検出されにくく、その結果、幅または深さは逐次演算の初期値またはその近傍に留まることが多いと考えられる。また、特許文献１に記載の方法も、特許文献２に記載の方法も、ノッチ周波数周辺のゲイン特性に着目した手法であり、位相余裕に対する考慮がない。そうして設定されたノッチフィルタの幅が広すぎる場合には、広帯域の周波数位相特性に影響があり位相余裕の減少ひいては制御系の不安定化さえ招くおそれがある。
【０００５】
本発明の目的の一つは、位相余裕の確保という観点でノッチ幅を調整することを可能とする適応ノッチフィルタ、及びノッチフィルタのパラメタ調整方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明のある態様の適応ノッチフィルタは、ノッチフィルタと、該ノッチフィルタの幅を表すパラメタを調整するパラメタ調整部と、を備える適応ノッチフィルタであって、前記パラメタ調整部は、前記パラメタの候補値よりも広い幅を表す値を試行し、検出された振動が試行期間の完了まで基準内に収まっている場合に前記パラメタを前記候補値に設定する。
【０００７】
この態様によれば、候補値自体を試行してその採否を決定する代わりに、パラメタ調整部は、ノッチ幅パラメタの候補値よりも広い幅を表す値を試行し、その試行期間に検出された振動に基づいてその候補値を採用するか否かを決定する。検出された振動が試行期間の完了まで基準内に収まっている場合には、試行した幅広のノッチフィルタである程度の位相余裕があるものと考えられる。よって、実際にはそれよりも幅狭のノッチフィルタを採用するから、十分な位相余裕を確保することが可能となる。また、制御対象の周波数特性を予め計測する必要がないという利点もある。
【０００８】
本発明の別の態様はノッチフィルタのパラメタ調整方法である。この方法は、ノッチ幅を調整することを含むノッチフィルタのパラメタ調整方法であって、ノッチ幅を表すパラメタの候補値よりも広い幅を表す値を試行し、検出された振動が試行期間の完了まで基準内に収まっている場合に前記パラメタを前記候補値に設定する。
【発明の効果】
【０００９】
本発明によれば、十分な位相余裕が確保されるようにノッチフィルタのノッチ幅を調整することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る適応ノッチフィルタの構成を示すブロック図である。
【図２】本発明の一実施形態に係るノッチフィルタの周波数特性の例を示す図である。
【図３】本発明の一実施形態に係る中心周波数調整部の構成を示すブロック図である。
【図４】本発明の一実施形態に係るピークフィルタの周波数特性の例を示す図である。
【図５】本発明の一実施形態に係る中心周波数修正量の平均値を示す図である。
【図６】本発明の一実施形態に係るノッチ幅の調整処理を説明するためのフローチャートである。
【図７】本発明の一実施形態に係る振動検出条件を説明するための図である。
【図８】本発明の一実施形態に係る共振抑制装置のシステム構成を示すブロック図である。
【図９】本発明の一実施形態に係るノッチ幅パラメタのスイープの一例を示す図である。
【図１０】本発明の一実施形態に係るノッチ幅パラメタのスイープの一例を示す図である。
【発明を実施するための形態】
【００１１】
図１は、本発明の一実施形態に係る適応ノッチフィルタ１０の構成を示すブロック図である。適応ノッチフィルタ１０は例えば、任意の制御系における共振を抑制するためにその制御系に組み込まれて使用される。適応ノッチフィルタ１０は、ノッチフィルタ１２とフィルタ係数調整部１３とを含んで構成されている。
【００１２】
ノッチフィルタ１２は、例えば図２に示される周波数特性を有する公知のフィルタである。ノッチフィルタ１２は、中心周波数ω０において振幅ゲインに最小値を有しており、中心周波数ω０の周波数成分を入力信号τ１から除去して出力信号τ２を出力する。ノッチフィルタ１２は、複数の周波数成分を除去するよう構成されていてもよく、例えば直列に接続された複数のノッチフィルタを含んでもよい。
【００１３】
ノッチ幅を表すパラメタとして例えば、公知の無次元数であるＱ値（Ｑ＝ω０／（ω２−ω１））を用いることができる。ω２−ω１は半値幅といい、ω１はω０よりも低い周波数でゲインが−３ｄＢとなる周波数であり、ω２はω０よりも高い周波数でゲインが−３ｄＢとなる周波数である。Ｑ値が大きいほどノッチ幅は狭くなる。ノッチ幅を表す他のパラメタとして例えば、ゲインがａｄＢ（ａは負の値）より小さくなる帯域幅ω２ａ−ω１ａや（図２参照）、それを無次元化したω０／（ω２ａ−ω１ａ）を用いてもよい。
【００１４】
本実施例ではＱ値の初期値は、後述する振動レベルがしきい値を超えないことが保証されている値に設定されており、ノッチフィルタは比較的幅狭である。制御系の安定性を保つことに配慮して、初期値においてはノッチフィルタが制御系の周波数特性に与える影響を中心周波数ω０の周囲の限られた帯域に留めるようにしている。つまり位相の不安定化を防ぐようにしている。その一方で、抑制されるべき共振周波数の近傍で十分なゲインをとるためにノッチフィルタを過度に幅狭としないよう考慮することが好ましい。つまりゲインの不安定化も防ぐようにすることが好ましい。この初期値は実験的または経験的に適宜設定することができる。
【００１５】
ノッチフィルタ１２への入力信号τ１は例えば、ノッチフィルタ１２が適用される制御対象への制御指令である。入力信号τ１は、当該制御対象からの出力の検出値と所望の目標指令値との誤差に基づき生成されていてもよい。入力信号τ１は目標指令であってもよい。入力信号τ１は、当該制御対象からの観測量（例えば、位置、速度、加速度など）であってもよい。ノッチフィルタ１２の出力信号τ２は、当該制御対象への制御入力として使用されてもよい。ノッチフィルタ１２のフィルタ係数は、当該制御対象の固有振動数成分を入力信号τ１から除去するよう調整されている。そのために、ノッチフィルタ１２の中心周波数ω０は当該制御対象のいずれかの固有振動数成分に一致するよう調整される。
【００１６】
フィルタ係数調整部１３は、ノッチフィルタ１２のフィルタ係数を参照信号ｒに基づいて修正する。参照信号ｒは、ノッチフィルタ１２が適用される制御対象への制御指令であってもよいし、当該制御対象からの観測量であってもよい。フィルタ係数調整部１３は、制御対象の振動により生じた騒音から生成した参照信号ｒを用いてもよい。そのために、制御対象が発する音を分析して参照信号ｒを生成する参照信号生成部を設けてもよい。制御対象が発する音を集音して参照信号生成部に供給するためのマイク等の集音器を設けてもよい。このように、フィルタ係数調整部１３は、制御対象の振動成分を抽出することのできるいかなる信号を参照信号ｒとして用いてもよい。
【００１７】
フィルタ係数調整部１３は、ノッチフィルタ１２の中心周波数ω０を調整するための中心周波数演算部１７を含んで構成されている。一実施例においては、中心周波数演算部１７は、中心周波数ω０の現在値にピークをもつピークフィルタを含み、そのピークフィルタを入力信号に作用させて得られる出力信号と入力信号との積に基づいて中心周波数の修正量Δω０を演算する。あるいは、中心周波数演算部１７は、ピークフィルタの代わりに全域通過フィルタを用いる方法や、その他の任意の方法で入力信号から中心周波数を演算してもよい。なお、中心周波数演算部１７は、中心周波数ω０だけではなく、中心周波数ω０以外のノッチフィルタ１２の係数（例えばノッチ幅やノッチ深さ）を併せて調整してもよい。
【００１８】
図３は、本発明の一実施形態に係る中心周波数演算部１７の構成を示すブロック図である。中心周波数演算部１７は、入力信号の帯域を制限するための振動成分抽出部１４を含んで構成されている。振動成分抽出部１４は、ノッチ中心周波数ω０の修正に不要な周波数成分を参照信号ｒから除去するために設けられている。振動成分抽出部１４は、参照信号ｒを入力として、ノッチフィルタ１２により除去すべき周波数成分を含む帯域を含む信号ｕを出力する。信号ｕは好ましくは、ノッチフィルタ１２により除去すべき周波数成分のみを含む。すなわち、振動成分抽出部１４は、ノッチフィルタ１２により除去すべき周波数成分を参照信号ｒから抽出する。
【００１９】
ここで、ノッチ中心周波数ω０の修正に不要な周波数成分には、制御周波数帯域よりも低い周波数領域の周波数成分が含まれる。一般に、参照信号ｒにおいては、直流成分（言い換えれば０Ｈｚの周波数成分）や、目標指令の主要な周波数成分等、低域の周波数成分が大きな振幅を有していることが多い。一実施例に係る中心周波数修正方法は現在の中心周波数の近傍で信号ｕ中の振幅の大きい周波数成分に中心周波数を一致させようとするものである。この場合、参照信号ｒ中の振幅の大きい低域成分に影響されて、中心周波数ω０が制御対象の固有振動数成分よりもやや低めに修正される傾向がある。よって、振動成分抽出部１４は例えば、制御周波数帯域よりも高い周波数領域を通過帯域とするハイパスフィルタを含むことが好ましい。
【００２０】
また、振動成分抽出部１４は、ナイキスト周波数近くの高い周波数領域に含まれる周波数成分（例えば、共振とは無関係のノイズ）を除去するように構成されていてもよい。この場合、振動成分抽出部１４は、中心周波数ω０とその近傍の周波数成分を含む周波数領域を通過帯域とするバンドパスフィルタを含んでもよい。
【００２１】
なお、振動成分抽出部１４は、制御対象の入出力特性を表すモデルと目標入力とに基づいて生成される参照信号ｒに相当する信号と実際の参照信号ｒとの差を出力する差分演算部であってもよい。この場合、制御対象の入出力特性を表すモデルは、低次の固有振動成分（例えば１次の固有振動数成分のみ）を記述するモデルであってもよい。そうすると、振動成分抽出部１４の出力信号は、入力された実際の参照信号ｒから目標入力及び低次固有振動数成分が除去され、高次の固有振動数成分のみを含むようにすることができる。本発明者の得た知見によれば、中心周波数ω０を高次の固有振動数（例えば２次の固有振動数）に一致させたほうが好ましい制御特性を得られることが多い。上述のようにモデルに基づき生成される信号と実際の参照信号ｒとの差をとることにより、高次の固有振動数成分以外の周波数成分が抑制された信号を簡単に得ることができる。
【００２２】
振動成分抽出部１４は、上述のハイパスフィルタ、バンドパスフィルタ、及び、差分演算部の少なくとも１つを備えるよう構成されていてもよい。逆に、振動成分抽出部１４を設けずに、修正演算部１８は、参照信号ｒと参照信号ｒの位相差フィルタ出力とに基づいてフィルタ係数を修正するようにしてもよい。例えば、中心周波数ω０の修正に不要な周波数成分の振幅が小さく修正結果の誤差が小さいと見込まれる場合や、中心周波数ω０の修正に不要な周波数成分の振幅が抑制された参照信号ｒを得られる場合には、振動成分抽出部１４を省略してもよい。
【００２３】
図３に示されるように、中心周波数演算部１７は、位相差フィルタ１６及び修正演算部１８をさらに含む。位相差フィルタ１６は、振動成分抽出部１４の出力信号ｕを入力として、位相差フィルタ出力信号ｐを出力する。ここで位相差フィルタ１６とは、周波数成分に応じた位相シフトを与えるフィルタをいう。位相差フィルタ１６の位相特性は、中心周波数ω０を含む局所周波数領域の下限周波数から上限周波数へと入力信号ｕの周波数が増加するにつれて、出力信号ｐの位相シフトを第１位相シフトから第２位相シフトへと単調に変化させる。下限周波数よりも低周波数領域においては位相シフトは第１位相シフトに実質的に等しく、上限周波数よりも高周波数領域においては位相シフトは第２位相シフトに実質的に等しい。
【００２４】
中心周波数ω０の修正を、以下に詳しく述べる中心周波数修正量Δω０を用いて行う場合には、位相差フィルタ１６の位相特性は、局所周波数領域の下限周波数よりも低周波数領域においては実質的に０度の位相遅れを与え（つまり実質的に位相を遅らせず）、上限周波数よりも高周波数領域においては実質的に１８０度の位相遅れを与えることが好ましい。位相差フィルタ１６の位相特性は、局所周波数領域の下限周波数から上限周波数へと入力信号ｕの周波数が増加するにつれて、出力信号ｐの位相遅れが０度から１８０度へと大きくなっていく。入力信号ｕの周波数成分が中心周波数ω０に等しいときに、出力信号ｐの位相遅れは９０度に等しくなるよう設定されている。
【００２５】
好ましい一実施例においては、位相差フィルタ１６は、上記の位相特性とともに、ゲインピークを中心周波数ω０に有する周波数振幅特性を有するピークフィルタであってもよい。ピークフィルタの周波数振幅特性及び周波数位相特性の一例を図４に示す。図４の周波数位相特性に示されるように、位相差フィルタ１６は、中心周波数ω０において基準位相遅れ（例えば９０度）をとり、中心周波数ω０の近傍で基準位相遅れよりも十分小さい位相遅れ（例えば０度）から十分大きい位相遅れ（例えば１８０度）へと変化する位相特性を有する。ピークフィルタがデジタルフィルタである場合には、ピークフィルタの伝達関数ＧＰは次式で表される。ここで、ｋは中心周波数ω０を決めるパラメータ、ｌｐはピークの減衰を決めるパラメータである。
【００２６】
【数１】
0005425044.tif 000002
【００２７】
修正演算部１８は、位相差フィルタ入力信号ｕ及び位相差フィルタ出力信号ｐに基づいてノッチフィルタ１２及び位相差フィルタ１６のフィルタ係数を修正する。すなわち、修正演算部１８は、ノッチフィルタ１２及び位相差フィルタ１６の時点ｎにおけるフィルタ係数を、入力信号ｕ及び出力信号ｐに基づいて、時点ｎ＋１におけるフィルタ係数に更新する。修正演算部１８は例えば、次式により中心周波数ω０を時点ｎの値ω０［ｎ］を時点ｎ＋１の値ω０［ｎ＋１］に更新する。すなわち、修正演算部１８は、中心周波数ω０の現在値ω０［ｎ］に修正量Δω０を加算することにより更新値ω０［ｎ＋１］を得る。
【００２８】
【数２】
0005425044.tif 000003
【００２９】
上式の右辺第２項が中心周波数ω０の修正量Δω０である。ここで、ｕ［ｎ］及びｐ［ｎ］はそれぞれ時点ｎにおける位相差フィルタの入力信号ｕ及び出力信号ｐを示す。Φｐ［ｎ］は時点ｎにおける補正係数である。この補正係数は、入力信号ｕの振幅αの影響を緩和するための補正係数である。補正係数Φｐ［ｎ］は例えば、位相差フィルタ出力信号ｐ［ｎ］の二乗を平滑化したものである。出力信号ｐ［ｎ］は振動成分を含む信号であるから、０または０に近い値をとることがある。よって、補正係数Φｐ［ｎ］が０または０に近い値となり、中心周波数修正量Δω０が過大となることを避けるためには、平滑化処理をすることが好ましい。平滑化処理は例えばローパスフィルタによるものであってもよい。補正係数は、位相差フィルタ入力信号ｕの二乗を平滑化したものであってもよいし、入力信号ｕと出力信号ｐとの積ｐｕの二乗の平方根であってもよい。μは、修正量Δωを調整するための修正ゲインである。
【００３０】
図５は、位相差フィルタ１６にピークフィルタを用いたときの中心周波数修正量の平均値Ｅ［Δω０］を示す図である。図５に示されるように、修正量平均値Ｅ［Δω０］は、中心周波数ω０の近傍だけではなく、ゼロ近傍からナイキスト周波数ωｎｙｑ（サンプリング周波数の１／２）の近傍にわたる広範な周波数領域において、中心周波数ω０と入力周波数ωとの偏差に対し直線的に変化していることがわかる。つまり、ナイキスト周波数ωｎｙｑ以下の帯域において、中心周波数修正量の平均値Ｅ［Δω０］は、中心周波数ω０と入力周波数ωとの偏差に実質的に比例している。
【００３１】
このため、中心周波数ω０と入力周波数ωとの偏差に応じた修正量Δω０を得ることができる。つまり、適応ノッチフィルタ１０により抑制すべき周波数ωからノッチ中心周波数ω０が離れているほど更新時の修正量Δω０が大きくなる。よって、少ない更新処理の反復回数で中心周波数ω０を入力信号ｕの周波数ωへと近づけることができる。また、抑制すべき周波数ωに中心周波数ω０が近づくほど修正量Δω０が小さくなる。よって、入力信号ｕの周波数ωの近傍で中心周波数ω０を更新するたびに中心周波数ω０が振動的に変化することを防ぐことができる。中心周波数ω０を入力信号ｕの周波数ωへとすみやかに一致させることができる。上述の更新処理法においては例えばΔω０が十分小さい基準値以下となったときに中心周波数の調整が完了したものとみなされる。
【００３２】
図１に示されるように、フィルタ係数調整部１３は、ノッチ幅調整部１５をさらに含む。ノッチ幅調整部１５は、ノッチフィルタ１２の幅を表すノッチ幅パラメタを調整するためのパラメタ調整部として機能する。本実施例においては、ノッチ幅調整部１５は、ノッチ幅パラメタの一例としてのＱ値を後述の調整処理により適切な値に設定する。この方法は制御対象の周波数特性を事前に計測する必要がない。そのため、計算機への実装に際して、例えばメモリ使用量を節約することができるので、より好適である。
【００３３】
一実施例においては、ノッチ幅調整部１５は、ノッチ幅パラメタの候補値よりも広い幅を表す値を試行し、その試行期間に検出された振動に基づいてその候補値を採用するか否かを決定する。すなわち、候補値自体を試行したときの振動に基づきその採否を決定する代わりに、候補値よりも広幅の値を試すことでその候補値の採否を決定する。採用しようとするノッチフィルタよりも幅広のものを試し、そのときの振動レベルが十分に小さいことを確認する。幅広のノッチフィルタで振動レベルが十分に小さいことが既に確認されているから、採用した幅狭のノッチフィルタについても十分な位相余裕が確保されていることになる。
【００３４】
一実施例においては、ノッチ幅調整部１５は、検出された振動が基準を超えた場合に試行を中断してもよい。この場合、ノッチ幅調整部１５は、振動が基準を超えたときのノッチ幅パラメタよりも狭い幅を表す値にパラメタを設定してもよい。好ましくは、ノッチ幅調整部１５は、試行前の値にノッチ幅パラメタを戻してもよい。振動が基準を超えたときに選択されるノッチ幅パラメタは、候補値よりも狭い幅を表す値であるであることが好ましい。
【００３５】
ところで、一般的な適応演算は演算の反復により徐々にノッチ幅を変更する。適応演算中に仮に振動が生じたとしてもそれは同様であるから、必ずしもすみやかに振動を抑えることはできない。これに対して本発明の一実施例によれば、検出された振動が基準を超えた場合に試行を中断するとともにノッチ幅を狭くすることにより、その試行によって生じた振動をすみやかに抑制することができる。
【００３６】
ノッチ幅調整部１５は、候補値よりも広い幅を表す値を含む範囲である試行範囲をスイープすることが好ましい。１つの試行値のみを試す場合にはその試行値のごく近傍で限定的に安定的である可能性を排除できない。よって、試行範囲をスイープすることにより、１つの試行値のみを試す場合に比べて位相余裕の確保がより確実になると考えられる。なお、処理の単純化を重視する場合には、試行範囲のスイープに代えて、ある試行値に試行期間保つようにしてもよい。
【００３７】
ノッチ幅調整部１５は、広い幅を表す値から狭い幅を表す値へと試行範囲をスイープすることが好ましい。広い幅を表す値のほうが試行中に振動レベルを増大させる可能性が高い。広い幅を表す値を優先して試すことにより、試行期間をより短くすることができる。一実施例においては、試行範囲の上限及び下限はいずれも候補値よりも広い幅を表す値であることが好ましい。すなわち、試行範囲の全体が候補値よりも幅広の値であることが好ましい。候補値よりも幅広の値に試行を限定することで、試行範囲に候補値を含める場合に比べて試行期間を短くすることができる。
【００３８】
ノッチ幅調整部１５は、ノッチ幅パラメタを第１候補値とそれよりも広い幅を表す第２候補値とを含む複数の値からいずれかを選択することによりノッチフィルタ１２の幅を調整してもよい。この場合、ノッチ幅調整部１５は、ノッチ幅パラメタを第１候補値に設定し、第１候補値及び第２候補値の双方よりも更に広い幅を表す値にノッチ幅パラメタを試行的に変更してもよい。ノッチ幅調整部１５は、試行期間に検出された振動に基づいて第１候補値から第２候補値に変更するか否かを決定してもよい。
【００３９】
このようにすれば、予め設定された広幅の試行値を試したうえで、予め定められた２つの候補値からノッチ幅パラメタを選択するという簡易な方法でノッチ幅を調整することができる。よって、計算機への実装が容易となるという点で好ましい。
【００４０】
ノッチ幅調整部１５は、第２候補値よりも広い幅を表す値を含む範囲である試行範囲を試行期間にスイープするようにしてもよい。試行範囲の上限及び下限はいずれも第２候補値よりも広い幅を表す値であってもよい。ノッチ幅調整部１５は、広い幅を表す値から狭い幅を表す値へと試行範囲をスイープするようにしてもよい。
【００４１】
ノッチ幅調整部１５は、検出された振動レベルが基準を超えた場合には試行を中断してパラメタを第１候補値に戻す一方、検出された振動レベルが試行期間の完了まで基準内に収まっている場合にはノッチ幅パラメタを第１候補値から第２候補値に変更するようにしてもよい。
【００４２】
第１候補値はノッチ幅パラメタの初期値であってもよい。第１候補値の一例は後述の初期値ＱＭであり、第２候補値の一例は候補値ＱＭＬである。また、ノッチ幅調整部１５は、調整処理を複数回繰り返してもよく、この場合、前回の調整処理で設定された第２候補値が今回の調整処理の第１候補値として使用されてもよい。こうして調整処理を繰り返すことにより、制御系の位相安定性を確かめながら段階的にノッチフィルタを幅広に変更していくことができる。
【００４３】
調整処理を複数回繰り返す代わりに、他の手法も可能である。例えば、ノッチ幅調整部１５は、区分されたスイープ範囲にマイルストーン（区切り点）を設置し、スイープ中に区切り点を通過するまで振動が検出されなかった場合は、その区切り点に対応するＱ値を採用してもよい。
【００４４】
この場合、ノッチ幅調整部１５は、前述の試行範囲を複数の区分に分割してスイープを行ってもよい。このとき、ある区分と別の区分との区切り点ごとに対応するノッチ幅パラメタの候補値を設定しておく。スイープの途中で振動レベルが基準を超えた場合はスイープを中断し、最後に通過した区切り点に対応する候補値にノッチ幅パラメタを変更する。
【００４５】
いくつかに区分された試行範囲をスイープしてノッチ幅パラメタの調整を行う実施例においても、前述の実施例のように第１候補値および第２候補値を設定しておくことが好ましい。この場合、区切り点を１つも通過することなく振動レベルが基準を超えた場合は第１候補値が、試行期間の完了まで振動レベルが基準を超えなかった場合は第２候補値が、それぞれノッチ幅パラメタとして選択される。
【００４６】
フィルタ係数調整部１３は、振動評価部１９をさらに含む。振動評価部１９は、参照信号ｒまたはその他の入力信号の振動レベルを評価する。振動評価部１９への入力信号は振動成分抽出部１４の出力信号であってもよい。振動評価部１９は例えば、入力信号から振動レベルを演算し、得られた振動レベルが基準を超えているか否かを判定する。
【００４７】
一実施例においては、振動評価部１９は、指令応答の残留振動を利用して振動レベルを評価してもよい。例えば、指令加速度がゼロとなってから所定時間を評価区間とし、その評価区間における評価対象信号の絶対値の積分値を振動レベルと定義してもよい。あるいは、振動評価部１９は、入力信号の２乗または絶対値にローパスフィルタＬＰＦをかけて得られる信号に基づいて振動レベルを評価してもよい。このローパスフィルタＬＰＦは制御帯域を通過帯域とすることが好ましい。振動評価部１９は、その他公知の適切な手法で振動レベルを評価してもよい。例えば、振動評価部１９は、特定の周波数成分の振幅が所定値を超えたか否かによって振動レベルを判定してもよい。
【００４８】
図６は、本発明の一実施形態に係るノッチ幅調整処理を説明するためのフローチャートである。このノッチ幅調整処理は例えば、ノッチフィルタ１２が組み込まれている制御装置（例えば図８に示す装置）の起動時の初期設定処理の一部として実行される。この場合、ノッチフィルタ１２の中心周波数ω０の調整処理に引き続いて実行されてもよい。あるいは、ノッチ幅調整処理は、制御装置の使用中に適時に実行されてもよい。
【００４９】
ノッチ幅調整部１５は、ノッチ幅パラメタの一例としてのＱ値をスイープ初期値Ｑｖｓからスイープ最終値Ｑｖｅまでスイープ時間ＴＱをかけてスイープする。つまり、ノッチ幅調整部１５は、スイープ時間ＴＱの開始時点ではＱ値をスイープ初期値Ｑｖｓとし、スイープ時間ＴＱの完了時点でＱ値をスイープ最終値Ｑｖｅに到達させるように、微小時間（例えばノッチ幅調整部１５の制御周期）ごとにＱ値を微少量ずつ変化させていく。
【００５０】
図６に示されるように、ノッチ幅調整部１５は、Ｑ値のスイープを行う（Ｓ１０）。具体的には上述のように、スイープ最終値Ｑｖｅに向けてＱ値を微少量変化させる。ノッチ幅調整部１５は、スイープ初期値Ｑｖｓからスイープ最終値Ｑｖｅへと線形にＱ値を変化させてもよいし、例えば指数関数といったその他の形式で変化させてもよい。
【００５１】
好ましい一実施例においては、スイープ初期値Ｑｖｓ及びスイープ最終値Ｑｖｅはともに比較的広いノッチ幅を表す値（例えばＱ≦１）に設定される。こうして、設定しようとするノッチ幅よりも広い幅のノッチフィルタを試行することができる。また、スイープ初期値Ｑｖｓはスイープ最終値Ｑｖｅよりも小さい値であることが好ましい。なお、スイープ初期値Ｑｖｓとスイープ最終値Ｑｖｅとが等しくされ、スイープ時間ＴＱに相当する所定時間だけＱ値が試行値Ｑｖｓに保持されるようにしてもよい。
【００５２】
また、スイープ時間ＴＱは幅広のノッチフィルタの試行期間として、または振動検出までの待機時間として、経験的または実験的に適切に設定される。一般に、幅の広すぎるノッチフィルタが適用されたからといって直ちに大きな振動が生じるわけではなく、振動が拡大するまでにある程度の時間遅れがある。このことを重視する場合にはスイープ時間ＴＱはある程度長くすることが好ましい一方、調整処理を短時間で完了させることを重視する場合にはスイープ時間ＴＱは短くすることが好ましい。
【００５３】
Ｑ値のスイープ中に、ノッチ幅調整部１５は、振動検出条件が満たされたか否かを判定する（Ｓ１２）。ノッチ幅調整部１５は例えば振動評価部１９の出力から振動検出条件が満たされたか否かを判定する。振動検出条件が満たされた場合には、ノッチ幅調整部１５は、スイープを中断してスイープ開始前の値ＱＭにＱ値を戻して調整処理を終了する（Ｓ１２のＹ、Ｓ１８）。スイープ時間ＴＱの完了時点まで振動検出条件が満たされなかった場合には、ノッチ幅調整部１５は、Ｑ値を候補値ＱＭＬに設定して調整処理を終了する（Ｓ１２のＮ、Ｓ１４、Ｓ１６）。
【００５４】
候補値ＱＭＬは、スイープ開始前の初期値ＱＭよりも狭いノッチ幅を表す値として予め設定されている。よって、初期値ＱＭよりも候補値ＱＭＬは小さい値である。好ましい一実施例においては、少なくともスイープ初期値Ｑｖｓは候補値ＱＭＬよりも小さい値とされ、より好ましくはスイープ初期値Ｑｖｓ及びスイープ最終値Ｑｖｅの両方が候補値ＱＭＬよりも小さい値とされる。
【００５５】
具体的には、振動検出条件が満たされていないと判定された場合には（Ｓ１２のＮ）、ノッチ幅調整部１５は、スイープを終了すべきか否か、即ちＱ値がスイープ最終値Ｑｖｅに達しているか否かを判定する（Ｓ１４）。Ｑ値がスイープ最終値Ｑｖｅに達していると判定された場合には（Ｓ１４のＹ）、ノッチ幅調整部１５は、Ｑ値を候補値ＱＭＬに設定して調整処理を終了する（Ｓ１６）。Ｑ値がスイープ最終値Ｑｖｅに達していないと判定された場合には（Ｓ１４のＮ）、ノッチ幅調整部１５は、Ｑ値のスイープ（Ｓ１０）と振動検出判定（Ｓ１２）とをＱ値がスイープ最終値Ｑｖｅに達するまで繰り返す。
【００５６】
振動検出条件が満たされたと判定された場合には（Ｓ１２のＹ）、ノッチ幅調整部１５は、Ｑ値をスイープ開始前の初期値ＱＭに設定して調整処理を終了する（Ｓ１８）。つまり、スイープを中断して調整をリセットする。
【００５７】
図７を参照して振動検出条件の一例について説明する。振動レベルが所定のしきい値を超える場合を「振動検出オン」と称し、振動レベルがそのしきい値以下である場合を「振動検出オフ」と称することとする。一実施例においては単純に、ノッチ幅パラメタの試行期間中に振動検出オンとなったことを振動検出条件としてもよい。
【００５８】
本実施例においてはノッチ幅調整処理が中心周波数調整に引き続いて行われることを考慮して、条件Ａ及び条件Ｂのいずれかが成立したことを振動検出条件とすることが好ましい。中心周波数調整の完了直後（すなわちノッチ幅調整処理の開始時点）においては、中心周波数調整に起因する振動が比較的高いレベルで残っている場合がある。この振動は時間とともに減衰する。そこで、条件Ａ及び条件Ｂを次のように定めることにより、中心周波数調整後の初期的な高振動レベルと幅広ノッチフィルタの試行による振動レベル増加とを見分けやすくなる。
【００５９】
条件Ａは、振動検出オフとなった後に再度振動検出オンとなったことである。具体的には条件Ａは例えば、振動レベルがしきい値未満である状態が所定時間継続した後に振動レベルがしきい値以上となったこととしてもよい。図７に実線で示すケースＩは条件Ａによって振動検出条件が満たされたと判定される場合の一例である。図７においてピークＰは中心周波数調整によって生じた振動を表している。ケースＩにおいてはピークＰの振動が収まった後に再度振動レベルが増大している。よって、振動レベルがしきい値に達したときに条件Ａが成立し、振動検出条件が満たされたと判定される。
【００６０】
また、条件Ｂは、振動検出オンの状態で振動レベルが増加に転じたことである。具体的には条件Ｂは例えば、振動レベルがしきい値以上である状態が所定時間継続した後に、振動レベルが前回の判定時に比べて増加したこととしてもよい。図７に破線で示すケースＩＩは条件Ｂによって振動検出条件が満たされたと判定される場合の一例である。ケースＩＩにおいては、ピークＰの振動がしきい値以下に収まる前に再度振動レベルが増大している。振動レベルが増加に転じたときに条件Ｂが成立し、振動検出条件が満たされたと判定される。
【００６１】
このように、中心周波数調整または振動を引き起こすその他の工程に引き続いてノッチ幅調整処理を行う場合には、ノッチ幅調整処理の開始時点から所定時間が経過してから振動検出判定（図６のＳ１２）を開始するようにしてもよい。その所定時間が経過するまでは振動レベルが高くても振動検出とはみなさない。ここでの所定時間は、前工程での振動の減衰を考慮して適宜設定することができる。このようにして、前工程の影響による振動とノッチ幅調整処理に伴う振動とを切り分けることが好ましい。
【００６２】
図８は、本発明の一実施形態に係る共振抑制装置のシステム構成を示すブロック図である。電動機２０は負荷２２を駆動する。電動機２０は例えば、産業用ロボットや射出成型器、建設機械、精密位置決めステージ等の共振により制御特性に制限が生じ得る装置に組み込まれている電動機である。検出器２４は電動機２０の出力を測定する。検出器２４は例えば、電動機２０の検出速度ω＊を測定する速度検出器である。
【００６３】
共振抑制装置の速度指令生成部（図示せず）は、速度指令ωｄｉｒを決定する。速度制御部２６は、電動機２０への速度指令ωｄｉｒに対する検出速度ω＊の誤差に基づき電動機２０へのトルク指令信号を生成する。速度制御部２６は、速度指令ωｄｉｒと電動機２０の検出速度ω＊との差を０にして検出速度ω＊が速度指令値ωｄｉｒに追従するようにトルク指令τ１を出力する。速度制御部２６は例えば、速度指令ωｄｉｒと電動機２０の検出速度ω＊との差分ωｄｉｒ−ω＊の比例積分した結果をトルク指令τ１として出力する。
【００６４】
ノッチフィルタ１２は、トルク指令τ１から中心周波数ω０の周波数成分を除去して新たなトルク指令τ２を出力する。中心周波数ω０は電動機２０と負荷２２とを含むシステムの固有振動数ωｎの周波数成分に一致しているので、ノッチフィルタ１２は、その固有振動数成分を除去した新しいトルク指令τ２をトルク制御部２８に出力する。トルク制御部２８は、ノッチフィルタ１２の出力信号に基づき電動機２０を制御する。トルク制御部２８は、トルク指令τ２に一致するトルクτ＊を電動機２０が出力するように電動機２０への供給電流を制御する。このようにして、電動機２０の速度制御が行われる。
【００６５】
フィルタ係数調整部１３は上述のように、ノッチ幅調整部１５と、中心周波数演算部１７と、を含む。フィルタ係数調整部１３は、検出速度ω＊を参照信号ｒとして使用している。フィルタ係数調整部１３は、速度ω＊に含まれる振動周波数に一致するようノッチフィルタ１２の中心周波数ω０を修正する。また、フィルタ係数調整部１３は、ノッチフィルタ１２の幅を上述の調整処理により設定する。ノッチ幅調整部１５または振動評価部１９は、検出速度ω＊から得られる加速度信号を用いて振動レベルを演算し、振動検出条件を判定してもよい。
【００６６】
電動機２０の出力するトルクτ＊にシステムの固有振動数ωｎが含まれていると、電動機の駆動によってシステムの固有振動が励起されて共振が発生する。速度制御部２６とトルク制御部２８との間にノッチフィルタ１２を挿入し、速度制御部２６の出力τ１から固有振動数ωｎの成分を除去してトルク制御部２８への入力トルク指令τ２を生成することにより、共振を抑制することができる。仮に、ノッチフィルタ１２の中心周波数ω０がシステムの固有振動数ωｎから乖離している場合には、共振が発生して検出信号ω＊にシステムの固有振動数ωｎの成分が含まれる。この場合、適応ノッチフィルタ１０のフィルタ係数調整部１３は検出信号ω＊を参照信号ｒとして用いているから、中心周波数ω０をωｎに一致させるように自動的に調整することができる。
【００６７】
なおこの実施例では速度制御部２６とトルク制御部２８との間にノッチフィルタ１２を設け、速度制御部２６からのトルク指令をノッチフィルタ１２への入力として説明している。しかし、他の実施例においては速度指令、検出速度、または誤差信号をノッチフィルタへの入力として使用してもよい。すなわち、ノッチフィルタは、速度制御部への入力信号、当該入力信号を生成するための信号、及び速度制御部からのトルク指令信号のいずれかを入力としてもよい。例えば、図８に示される構成においてノッチフィルタ１２は、検出器２４の後段、すなわち検出器２４と速度制御部２６との間に設けられてもよい。あるいはノッチフィルタ１２は、速度指令生成部の後段、すなわち速度制御部２６の前段に設けられてもよい。このようにしても同様に振動を抑制することが可能である。
【００６８】
図９及び図１０は、本発明の一実施形態に係るノッチ幅パラメタのスイープの一例を示す図である。図９はＱ値のスイープ中に振動が検出されなかった例を示し、図１０はＱ値のスイープ中に振動が検出された例を示す。各図の上欄はモータ速度（例えば電動機２０の回転数）の指令値及びそれに対する応答の時間変化を示し、下欄はＱ値を示す。これらの例では上述のように、指令応答の残留振動を利用して振動レベルが評価される。
【００６９】
図９においては、ノッチフィルタ１２の中心周波数ω０の調整処理が、時刻ｔ０に開始され時刻ｔ１に完了している。上欄に示されるように、中心周波数ω０が適切に調整されることで時刻ｔ０以降の振動は収まる傾向にあることがわかる。なお、このときノッチフィルタ１２のノッチ幅は初期値ＱＭに設定されている。
【００７０】
本実施例では中心周波数ω０の調整処理に連続してノッチ幅調整処理が実行される。よって、時刻ｔ１にノッチ幅調整処理が開始される。Ｑ値は初期値ＱＭからスイープ初期値Ｑｖｓに変更される。スイープ初期値Ｑｖｓから徐々に大きくするようＱ値がスイープされる。図示される時刻ｔ２は時刻ｔ１からスイープ時間ＴＱ経過後に設定されており（即ちｔ２＝ｔ１＋ＴＱ）、時刻ｔ２にスイープ最終値Ｑｖｅに達するようにＱ値は徐々に大きくされている。この例ではスイープ中に振動が治まっており、時刻ｔ２までに上述の振動検出条件が満たされていない。よって、スイープの完了した時刻ｔ２にＱ値は候補値ＱＭＬに設定され、ノッチ幅調整処理は終了する。こうして、初期値ＱＭに相当する幅狭のノッチフィルタから、Ｑｖｓ乃至Ｑｖｅの範囲の幅広のノッチフィルタの試行を経て、候補値ＱＭＬに相当する適度に幅広のノッチフィルタへと調整されている。
【００７１】
図１０に示す例においても図９と同様に、時刻ｔ０から時刻ｔ１の間にノッチフィルタ１２の中心周波数調整が実行され、時刻ｔ１にノッチ幅調整処理が開始される。Ｑ値は初期値ＱＭからスイープ初期値Ｑｖｓに変更され、そこからスイープが開始される。ところが、スイープ中に振動が増大し、スイープ時間ＴＱが経過する前に時刻ｔ３に振動検出条件が満たされたと判定されている。このため、時刻ｔ３においてスイープは中止され、その時点でのＱ値から初期値ＱＭに戻されている。もとの値に戻したことにより、その後振動は収まっている。
【００７２】
以上説明したように、本発明の一実施形態によれば、ノッチ幅調整部１５は、広い幅を表すノッチ幅パラメタの範囲をスイープし、そのときに検出された振動に基づいて、スイープしたノッチ幅パラメタよりも狭い幅を表す複数の候補値からいずれかを選択する。スイープ中の振動が許容範囲内にある場合には、複数の候補値のうち広い幅を表す値を選択する。一方、振動が許容範囲を超えた場合にはスイープを中断し、狭い幅を表す候補値を選択する。このようにして、位相余裕の確保と、振動状態の速やかな解消との両立を図ることができる。
【符号の説明】
【００７３】
１０  適応ノッチフィルタ、  １２  ノッチフィルタ、  １３  フィルタ係数調整部、  １４  振動成分抽出部、  １５  ノッチ幅調整部、  １６  位相差フィルタ、  １７  中心周波数演算部、  １８  修正演算部、  １９  振動評価部、  ２０  電動機、  ２２  負荷、  ２４  検出器、  ２６  速度制御部、  ２８  トルク制御部。
【図１】
0005425044.tif 000004
【図２】
0005425044.tif 000005
【図３】
0005425044.tif 000006
【図４】
0005425044.tif 000007
【図５】
0005425044.tif 000008
【図６】
0005425044.tif 000009
【図７】
0005425044.tif 000010
【図８】
0005425044.tif 000011
【図９】
0005425044.tif 000012
【図１０】
0005425044.tif 000013