BetaFlight 4.2 <3> PID Tuningタブ前編

ついに来ましたね、PID Tuningタブ。

テストの動画をアップロードしたので、よかったらご参考ください。
特にカットせずに1フライトそのままの動画なのですが、この記事の中で設定漏れが発覚するので、記事を読んでから見るとちょっと面白いかも知れません。

この記事は前回から続きの内容なので、よろしければ下記の前回記事も合わせてご参考ください。

また、今回参考にしているチューニングノートは下記のURLから見られます。
https://github.com/betaflight/betaflight/wiki/4.2-Tuning-Notes

まずざっと、設定項目を確認してみましょう。

まずDのところが以前はDerivative表記だったところD Maxに。ここは表記がシンプルになっただけかなと思います。

スライダー部分の表記に変更は無いようです。
ただ、PD Balanceのスライダーを動かした時の影響がPではなく、Dを変更する形に変わったようで、D値の小さな変更を簡単にテストできるようになったとの事。これは結構便利かなと思います。

画像一番下の区画、Motor Output Limitってありましたっけ。
気になってAttenuation%のハテナマークで出てくる説明を翻訳したところ

設定した割合でモーター指令を減衰します。セル数の多いバッテリーを使用する場合、ESC電流とモータの発熱を低減します。
たとえば、4 S用に設計されたモーター、プロペラ、チューニングを持つ機体で6 Sバッテリを使用する場合は、値を66%に設定してみます。3 S対応機で4 Sバッテリーを使用する場合は、75%を試してみてください。
使用しているバッテリの電圧をすべてのコンポーネントがサポートできることを常に確認してください。との事。

今回たまたまArmattan TOA Premium 2306/2150KV Motorを使用していて、このモーターは2Sから6Sまで対応なのですが、例えば6Sで使用する場合スロットルカーブなどの調整が必要となります。そう言う時にここで設定すれば良くなったわけですかね。

Cell Countの方の説明を翻訳すると

接続されているバッテリと同じセル数を持つ最初のプロファイルを自動的にアクティブにします。

4S用のモーターを使用する場合はCell Countを4にして、Attenuation%は100のまま。
さらに6Sでも使ってみようという場合はProfile2に6S用の設定を作るとして、Attenuation%を67%くらい(この計算はLIMIT =望ましいKV /実際のKV * 100で出るそうです)でCell Countを6にすれば、6Sを接続したら自動的にProfile2が呼び出されるという事。

念の為ベンチで4Sバッテリーと6Sバッテリーを繋ぎかえ、OSDで確認してみた所、4Sを繋いだ時にはちゃんとProfile1が、6Sを繋いだ時にはProfile2が呼び出されていました。

少し調べてみて、あのJoshua Bardwell氏が4.0の時にこの項目の前身と思われる設定を試みています。参考にした動画の時点では、ちょっと危ない感じになっているのですが、今回試してみた限りでは、この機能はかなり便利に使えそうです。

今回折角なのでArmattan TOA Premium 2306/2150KV Motorを6Sの83%LIMIT(5S相当の掛け率)で使用し、高回転で試してみたかったUMMAGAWD 4PLAY PROPと組み合わせると、予想通り非常に調子が良く、これはなかなか良いなと。

その他、ETHIX MR STEELE SILK MOTOR V3 (2306/2345KV)を6SでLIMIT77%の高回転で使ってみると、パワーバンドっぽさは無いもののスムーズに上まで駆け上がっていく感じが素直です。6Sで割と高回転で使っても持ち味のスムーズさは健在!

今まで使っていたモーターの別の一面が見えたりして、全然印象が変わる場合もあり、楽しみ方が広がりそうですね。

ちなみに、KISSでもプロポの方でスロットルカーブを設定する事で似たような楽しみ方が出来ます。
この辺は自己責任で、当然ですが、6Sバッテリーを接続するのでエレクトロ二クスは全て6S電圧に耐えられるものをご使用くださいね。

PID Controller Settingsの項目自体は変更がないようです。

今回Slatra 5"とHolybro Kakute F7 mini & Tekko32 F3 4in1 45A mini ESC Stackの組み合わせで色々試した結果、PIDを変更するよりもiterm relax cutoffやff_smooth_factorを先に調整しておかないと、フリースタイル用としてはうまく行かないかもしれません。

ここでチューニングノートに記載されているdefaultsとHD、さらにRace / Fast Freestyleのスペニットと比較して考えてみたいと思います。

 

Return to defaults
set iterm_relax_cutoff = 15
set rc_smoothing_auto_smoothness = 10
set ff_interpolate_sp = AVERAGED_2
set ff_smooth_factor = 37
set ff_spike_limit = 60
set feedforward_transition = 0
set yaw_lowpass_hz = 0
set throttle_boost = 0
set throttle_boost_cutoff = 15
set dyn_lpf_dterm_curve_expo = 0
set gyro_rpm_notch_q = 500

 

HD
set iterm_relax_cutoff = 10
set rc_smoothing_auto_smoothness = 20
set ff_interpolate_sp = AVERAGED_3
set ff_smooth_factor = 40
set ff_spike_limit = 55
set ff_boost = 0
set feedforward_transition = 40
set yaw_lowpass_hz = 70
set throttle_boost = 5
set throttle_boost_cutoff = 10
set dyn_lpf_dterm_curve_expo = 7
set gyro_rpm_notch_q = 800

 

Race / Fast Freestyle
set iterm_relax_cutoff = 20
set rc_smoothing_auto_smoothness = 7
set ff_interpolate_sp = AVERAGED_2
set ff_smooth_factor = 20
set ff_spike_limit = 70
set ff_boost = 15
set feedforward_transition = 0
set yaw_lowpass_hz = 100
set throttle_boost = 7
set throttle_boost_cutoff = 25
set dyn_lpf_dterm_curve_expo = 7
set gyro_rpm_notch_q = 700

 

ざっくり言うと、フィルター系の設定と、iterm_relax_cutoff、rc_smoothing、FF、throttle_boostの5種類くらいに設定が及んでいるようですね。
フィルター系の設定はモーターの熱がでないならRace / Fast Freestyleでも良いと思いますし、心配で、かつ満足するならデフォルトで良さそうな気がします。
rc_smoothingはプロポと受信機にもよるので、一番良さそうなのを試すしか無さそうですね。
throttle_boostはPID Controller Settingsでも設定できるのでthrottle_boost_cutoffはスペニットを参考にしながら、お好みで設定すれば良いかなと。
FF(フィードフォワード)の設定が、自分としては結構苦手意識があります。
ここがイメージ通りになれば良いのになぁと思います。

テストしてみて、Race / Fast Freestyleだとフリップ時のバウンスバックが大きく、収束する前にさらに回そうものなら動きがギクシャクと。HDは非常に滑らかでしたがちょっと動きが怠く感じて、バランスの取れているのがデフォルトかなと思いました。
ただ、デフォルトでもバウンスバックはそれなりにあって、デフォルトをベースにFF周りの設定を一部HDに置き換えればかなり良いのでは無いかと。

基本的にはデフォルトをベースに
set ff_interpolate_sp = AVERAGED_3
set ff_smooth_factor = 40
set ff_spike_limit = 55

の3つの項目を上記のをHDの数値にしてみると、なかなか丁度よかったです。
はじめ4Sでテストし、6SでのテストもOKでした。
さらに、操作性とバウンスバックの様子を見ながらiterm relax cutoffの値を試しながら10まで下げました。

今回新機能が追加されているRateprofile Settingタブはまだ十分にテストしていないので次回に回す事にして、Dynamic Notch Filterは調整しておきましょう。デフォルトはRPMフィルターを使用しない場合に推奨される設定との事です。

ちょっと調べると、上記の動画でまたJoshua Bardwell氏がわかりやすく解説してくれています。

上記、Dynamic Notch Filterの設定を上から0/250/70/350に変更しました。

ここは結構影響が大きく、過剰なフィルタリングによる遅延のせいでPIDをどう変更してもバウンスバックが消えなかったり、動きがギクシャクしたりするので、RPMフィルターを使用する場合忘れずに設定しましょう。

で、メインのフィルターの方を確認すると、げ。

D Term Filter Multipllerを上げ忘れていますね。上げ忘れたままテストフライトをした動画が冒頭のものです。
まだまだモーターは熱くないので、D Term Filter Multipllerを様子を見ながら上げて行けば、今回冒頭のテスト映像よりももっとプロップウォッシュが減るものと思います。以前のバージョンの感じから言うと、Gyro Filter MultipllerとD Term Filter MultipllerはLess Filteringの区画へ入るくらい上げてもモーターはそんなに熱くならない印象でした。

ただ、クラッシュしたあと曲がったプロペラで飛んで帰ってきたりする事もあるので、自分は最大上げてもDefault Filtering区画内で収める事にしています。

4.02の時と比べてほんのちょっとプロップウォッシュが多めかなと思っていたのですが、ここの設定忘れが影響していそうですね。

そんなこんなで、最終的にPIDのスライダーはPD Balanceだけ1.1に動かしました。少しテストしながら触ってみた感じ、スライダーを1つ動かすだけですぐにDが過剰になってしまう印象。その為、上の数値入力でもっと細かく追い込んだ方が本当は良さそうです。

あっちこっちと試しているとなかなか進まないのですが、今回はここまで。

Betaflight

JACK によるブログ

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

ピックアップ