用語集 · ロボティクスと制御

ローパスフィルタ

別名:Low-pass filter、action filter、exponential moving average、EMA、smoothing filter、cutoff frequency、低域通過フィルタ、行動フィルタ、指数移動平均、平滑化フィルタ、カットオフ周波数

ゆっくりした変化は通し、速い変化はならして消すフィルタです。方策の行動に使って、ピクつきを止めます。

ローパスフィルタは、低い周波数(ゆっくりした変化)を通し、高い周波数(速い変化)を弱めます。制御器の出力にかけると、ガタガタした信号が滑らかな信号になります。

指数移動平均

最も単純なデジタルのローパスフィルタは、新しい入力 ata_t を1つ前の出力と混ぜます。

ft=α ft−1+(1−α) at,0≤α<1f_t = \alpha\, f_{t-1} + (1 - \alpha)\, a_t, \qquad 0 \le \alpha \lt 1

α\alpha が1に近いと、出力はゆっくり変わります(強い平滑化)。α=0\alpha = 0 なら、まったくフィルタされません。

フィルタが信号のパワーを半分にするカットオフ周波数は、α\alpha とサンプリング周波数 fsf_s で決まります。

fc=fs2πarccos⁡ ⁣(1−(1−α)22α)f_c = \frac{f_s}{2\pi}\arccos\!\left(1 - \frac{(1-\alpha)^2}{2\alpha}\right)

50 Hzでは、α=0.8\alpha = 0.8 で約1.8 Hzになります。ゆっくりした揺れは通り、ピクつきはならされます。α=0.2\alpha = 0.2 では約18 Hzで、ほとんど平滑化されません。

代償:遅れ

平滑化には必ず遅れが伴います。指数移動平均の出力は、入力より約 α/(1−α)\alpha/(1-\alpha) サンプル遅れます。α=0.8\alpha = 0.8 では4ステップ(80 ms)です。落ち着いた構えではこれは問題になりません。しかし押されたあとでは、80 msの余分な遅れが、転倒を防げるかどうかの分かれ目になりえます。

このプロジェクトでは

行動フィルタは適応型です。バランスが取れているときは α=0.8\alpha = 0.8、崩れているときは0.2で、その間をバランスのゲートで混ぜます。体は落ち着いているときは滑らかで、よろめいたときは素早く反応できます。フィルタの状態は方策の観測の一部なので、方策はフィルタがこれから何をするかを知っています。

モーターの代わりに筋肉での筋肉の体では、このフィルタが失敗と成功を分けました。サーボの体と同じ設定(約80 msの遅れに、筋肉自体の活性化の遅れが加わる)では構えを一度も覚えませんでしたが、軽い設定(0.8ではなく0.5、約20 ms)では26.6〜37.8 M ステップで解けました。

関連用語

この用語が出てくる記事

← すべての用語