Betaflightのソフトウェアフィルターについて

LINEで送る
Pocket

Betaflight 3.5.0になって大幅にいろんな更新されてデフォルトからかなり良くなったと思います!
が、先日知人の機体を同じようなセットアップにしたところ、まともに飛びませんでした。
具体的にはアーム直後にブルブルと振動してくるくるしたり…
その後、Ver 3.2.0にして、PT1などのフィルターもBIQUADにしたりするともとに戻るという…。

一つ大きな違いは、利用しているFCやフレーム、モーター、キャパシタ、そしてそのセットアップ方法です。ソフトマウント前提の私の機体と異なり振動が伝わりやすく見える構造でした。つまり、ソフトウェアでフィルターをするのはいいんですが、その前にハードウェアをいい感じにセットアップすることがとても重要です!!

基本的なフィルターの解釈

filter
フィルターの役割は、モーターやプロペラ、フレームにおこる振動をFCで処理して、邪魔な周波数を除去してきれいな信号だけを伝達するのに必要な機能です。Low Pass FilterやNotch Filter(Static)、Dynamic Filterなどいろいろありますが、やっている目的は一緒です。

(Betaflightの公式WikiのFilter解説)
Gyro & Dterm filtering recommendations · betaflight/betaflight Wiki · GitHub

フィルターを考えるときに重要なのは、フィルタリングすればするほど遅延が生じるというトレードオフを理解しておくことです。エアコンのフィルターを想像してみてください。あのフィルターを1枚だけではなく、300枚くらい重ねたらエアコンの風が全然伝わってこないですよね。すごいゴミとってくれてるので超きれいな風が出てきそうですけど笑

ドローンは結局のところ、FCでごちゃごちゃ計算して、モータの回転を調整するのが仕事です。フィルターはその回転指示の命令の一連の処理に対して行われるので、フィルターすればするほど遅くなってしまう、つまりレスポンスも遅くなってしまうことが悪影響として考えられます。

なので、理想としては、
1.フィルターを使わなくてもいいように超綺麗にセットアップする
です。FCやモーターのソフトマウント、フレームの剛性や振動がでにくい設計などがこれに該当するかと。そうはいっても、モーターの上下にソフトマウント用のゴム入れるのも面倒出し、身も蓋もないことを言うと、クラッシュしたらいろいろ振動生みます。プロペラが曲がったらすぐに取り替えるなんて人もそうそういません。なので、きれいにセットアップするのは前提だけど、
2.多少の振動が出ても問題がないようにフィルターでノイズ除去を行えるスタンバイをしておく、のが良いかと思います。

具体的なフィルターの設定値は?

3.2くらいから?は一部のFCではDynamic Filterが利用できるのでそれを利用できるならNotch Filterは基本的にOFFでも大丈夫です。3.5になった今は、LPFの項目の数字以外は特にいじらなくても良くなりましたが、Gyro LPFの1と2、D Term LPFの1と2と4つの項目が指定できるようになっています。

まぁまずは深く考えずにこんな感じで設定してみては?
ConfigulationタブでDynamic FilterをONにしている前提です。なお、Dynamic FilterはCPU使用率が高いので、Gyro Sampling 32kモードなどはF7などの高スペックFCでないと併用できないと思います。なのでLooptimeなどは8K8Kで設定しておくのがよろしいと思います。

def

というか3.5のデフォはこれくらいかも。
で、フィルターの設定を変えたときは最初のアーミングは特に注意してください。ただしくジャイロが反応せずにバタバタする場合があり危険です。
で、次にきれいに作ったバージョンのフィルターされる量を少なくしてレスポンシブにする設定値例です。私は現在この設定値にしてのびのび飛ばしております。

filter-clean

BetaflightのGithubやVer 3.3以前に書かれた各種サイトには値の上げ下げについてこうあります。

  • きれいに作ったら数値を上げて遅延をすくなくする
  • ノイジーなセットアップは数値を下げて振動などを減らす(が、遅延が出る)
  • PT1よりBIQUADの方がフィルタリングする分、遅延がある

参考にしてください。

ただ、一つ疑問というか最後にすっきりしないことを言うと、
僕も3.4まではこれでよかったんですが、最近3.5になってからテストをしたんですが、下げれば下げるほど振動が出て、BIQUADに変えたら全く飛ばなくなりました。ここらへんの記述は特に見当たらなかったのでこれ以上探っていないのですが、事実そうなりました。動画もあるので機会見てアップします。

今回もリンクを載せているけど、Betaflightはwikiの記述がしっかりしているので、新しいバージョンが出たらさらっとでも見ておくのがおすすめです。
3.5のリリースノートやTuning Tipsとかもチェックしておかないとな内容も多いです。(YawのPIDを下げても大丈夫になったとか)

Yaw performance has historically been weaker than pitch and roll, leading people to run high levels of yaw P, leading to noise and wobble on yaw, overshoot and bounce back.Not any more! In 3.5, yaw will typically be just as responsive and precise as pitch and roll.

3.5 tuning notes · betaflight/betaflight Wiki · GitHub

そんじゃーね。

LINEで送る
Pocket

こちらもおすすめ!

コメントや質問・相談はお気軽にどうぞ!(承認してから反映しますので投稿後しばらくお待ちください。)

メールアドレスが公開されることはありません。