Betaflight 4.1.0 RPM Filter <3> PID Tuningタブなど

こんにちは、JACKです。
Betaflight 4.1.0 RPM Filterの記事も今回が最終回、テストフライトをまとめた動画を作りましたので、もし良かったらご参考ください。

RPM Filterについてはこのシリーズの<1>と<2>の記事をご覧下さい
Betaflight 4.1.0 RPM Filter <1> 下準備
Betaflight 4.1.0 RPM Filter <2> Betaflight側設定

さて、今回は4.0.~から4.1.0へアップデートして、見た目が大きく変わったPID Tuningタブを見て行こうと思います。

とはいえ、デフォルトでもあまり問題がなかったので少ししか変更していないのですが、メインのセッティング部分はこんな感じで良さそうでした。

今まで通り数値で入力する上の部分とは別に、下に4つのスライダーがあって、このスライダーを動かすと上の数値も変わっていく仕組みのようです。
スライダーを使用して設定を変更すれば、数値間のバランスはおすすめ設定で自動設定してもらえるという感じの良心設計。

しかし、パッと見で4つのスライダーの意味がよくわからなかったので、解説をひとつひとつ翻訳ソフトに入れてなんとなく意味を調べてみました。

一番上のMaster Multiplier
一般に、大きな機体と小さな機体とでは、大きい機体ほど高いPIDゲインを必要とし、小さい機体ほど低いPIDゲインで済むと。

つまり、機体が大きい場合や、おそらくサイズに対して重い場合はスライダーを右に動かして数値をあげる感じでしょうか。
実際に動かしてみると、スライダーを右に動かして数値をあげる度にPID全体的に数値が高くなっていきます。まずはここで大まかに機体にあった設定にするのが良さそうですね。

その下のPD Balance
PDバランスを低くすると、全体的な応答が低下しますが、フリップまたはロール後にすばやくバウンドバックする可能性も低くなります。
PDバランスを高くすると、応答が速くなり、プロップウォッシュが改善します。ただし、PDバランスが高すぎると、反転またはロール後に振動が発生し、プロップウォッシュ時に振動が拡大します。

と、言うことのようです。
この説明だけ聞いた感じ、数値をあげると普通にPが上がっていくのかなという感じがしますが、動かしてみると実際にRollとPitchのPの値が変化していきます。

3番目のP and D Gain
PとDのゲインが低くなると、モーターは冷却されますが、フリップやロール後のバウンスバックは大きくなります。値が小さすぎると、クアッドが不安定になる場合があります。
P項とD項は連動してpropwashを減少させます。
高い値はモータ熱を増加させ、高いDにより滑らかな前進飛行中の振動を増加させる。

これは名前の通りで、PとDをあげたり下げたりするスライダーのようですね。普通のDだけでなくDminの数値にも変化があるので、ひとつひとつ数値を決めていくよりもずっと楽そうです。
回転を急激に止めた時のバウンスバックが少し気になる時があったので、今回この値を0.1だけあげました。それで解決した感じだったので、この設定でいこうと思います。

最後のStick Response Gain
値を小さくすると、スティックの反応が悪くなり、フリップまたはロール終了時のバウンドが遅くなる場合があります(I-term ワインドアップ)。
値を大きくすると、急激な動きに対するスティックの反応が向上します。ただし、値が大きすぎると、フリップやロールの終了時にオーバーシュートや高速バウンドが発生する可能性があります。

これはそのままフィードフォワードの説明な感じで、やはりスライダーを動かすとFFの数値が変化します。

一通りざっとスライダーの意味を調べてみると、Iも含めて全体に影響があるのがはじめのMaster Multiplierだけで、PD BalanceとP and D GainはPとDの設定。最後のStick Response Gainはフィードフォワードと、割とシンプルに分担されている事がわかります。

なんか随分理解しやすくなって、スピーディーに設定ができそうですね。5インチ機で一般的な部品の組み合わせであればデフォルトから大きく動かす必要はないのではないかと思いますが、7インチとかマイクロとか、サイズが大きく変わる機体にも是非トライしてみたいなと。

ちなみに、このスライダー右に行くほど数値が上がって行くので、特に数値をあげる時にはモーターの熱などに注意しながらテストを重ねて慎重に動かしてください。
自分は念の為にPIDのスライダーを動かす前にFilterを少し増やしてから変更しました。

さて、PID Tuningタブはまだ終わりません。Angle/Horizonはあんまり使わないので今回は無視するとして、さらにその下にPID Controller Settingsという区画があります。

項目をざっと見ていくと、あまり4.0.5の時と変更点はなさそうですが、今回4Sでフライト後半に調子が落ちてくる感じが強かったのでVbat PID Compensationをオンにしました。

そして4.1.0からI Term Reiaxの設定でCutoffの数値がここで設定できるようになったみたいです!これは嬉しいですね、以前はCLIから設定する形だったと思います。
4.0.5の時に試しましたが、この設定値は地味に影響力大なので凄く便利になった感じがします。

デフォルトでは4.0.5の時と変わらず20だったのですが、少し強いなと思ったので18に変更しました。AxesとTypeも何度か試してRPYとSetpointが一番しっくりくる感じがしたのでこの設定に。ここの数値が高いと例えばカーブが終わって直進しようとするタイミングでグッと頭を掴まれるみたいな拘束感が出てきます。

自分はスッと次の動きに移行したいのでデフォルトよりも下げていますが、レース用途の方はむしろもっと数値をあげるみたいですね。

今回PID Tuningタブで変更してみたのは以上になります。

4.1 Tuning Notes
https://github.com/betaflight/betaflight/wiki/4.1-Tuning-Notes
を参考に、その他に試してみたのがFeed Forward Interpolation。

Feed Forward Interpolationは受信機からの信号ノイズをどのように除去するのか、という設定のようです。今回使用している受信機はFUTABA R2001SBなのですが、実はプロポを買い換えてFrsky のX9Dにしました。ファームウェアはOPEN TX 2.3で外付けのJP4IN1を使用しています。そのため、CLIに下記を貼り付けて低遅延の設定を試してみました。

set rc_smoothing_input_hz = 40
set rc_smoothing_derivative_hz = 100
set rc_smoothing_input_type = PT1
set rc_smoothing_derivative_type = PT1

やってみた感じ、凄く変わった感じはなく、自分の腕ではわからなかったのですが低遅延だそうなのでとりあえずこれで。TBS CrossfireやFrsky R9の場合は下記の設定がおすすめされていました。

set rc_smoothing_derivative_hz = 20
set rc_smoothing_derivative_type = PT1

そして4.0のデフォルトが下記

set rc_smoothing_input_hz = 0
set rc_smoothing_derivative_hz = 0
set rc_smoothing_input_type = BIQUAD
set rc_smoothing_derivative_type = BIQUAD

あ、Feed forward interpolation averagingってのを試すの忘れました、受信の信号が安定している場合こちらでさらに低遅延化を目指せるみたいですね。

でも、4.0.5と比較して(4.0.5の設定が下手だった可能性もありますが)全然プロップウォッシュも出にくくなった感じがあるのでよしとしましょう。

最後にFilter Settingsへ戻って、テストを重ねながらスライダーを1.5まで動かしました。
これでも全然モーターは冷たいままなので大丈夫だと思います。

3回に渡って記事にしてきたBetaflight 4.1.0 RPM Filter、いかがでしたか。
今までのように数値をひとつひとつ打ち込む必要もなく、そもそもデフォルトで結構いい感じという、あんまり数字とか得意じゃない自分みたいな人には凄くありがたい方向で進化を遂げましたね。

自分の設定が凄く下手だったのか、RPM Filterの効果が凄くあるのか、4.1.0になってその他が全般的に改善されているのかは良くわかりませんが、結果的に全然別物という位良くなったと思います。

皆さんも気が向いたら是非試してみて下さい!

Betaflight

JACK によるブログ

DAYSCAPE ( DIYドローン オンラインショップ ) では、FPVドローン、産業開発ドローンの分野に関する商品の紹介やドローンの組み立て、使用方法などの情報発信を行っています。

ピックアップ