522 Views
November 25, 24
スライド概要
FPVドローンの標準ソフトウェアであるBetaflightのチューニング入門です、Betaflight 4.5を前提とした説明です
元ネタはChris Rosser氏のYouTubeビデオです
https://sites.google.com/view/wtwshikoku/seminar
ここではFPVドローン関連のスライドを置いておきます
コザックのベストチューン講座 https://x.com/nkozawa https://www.nkozawa.com/blog/ https://github.com/nkozawa/
前書き まるで私がチューニングについて研究し解説するようなタイトルになっ ていますが、全てはChris Rosser氏のYouTubeビデオの内容に基づ いたものです。 https://youtu.be/E3s5XYk3M74?si=Vd6kmDTa3L1eTFbm https://youtu.be/1oYoVE4xu1U?si=2njl64c9-cSkIDMQ 説明で使用するBlackBoxログは以下のページに張り付いています。 https://www.nkozawa.com/blog/archives/8277
BlackBoxって何? ▰ 最近は1S AIO FCでもBlackBoxが取得出来る ▰ ありとあらゆるデータが取れる ▰ ジャイロ、電圧、受信シグナル、モード、、、 ▰ Betaflight Configurator/Blackbox ▰ 大容量ストレージモードを有効化 ▰ データを消去 ▰ 電源オンで新たなファイルが作られ、複数フライト(Arm毎に)が ファイル内に作られる
BlackBox Explorer ▰ 標準ツール ▰ https://blackbox.betaflight.com/ ▰ 様々なイベントを確認できる ▰ DVRと重ね合わせることが出来る ▰ https://www.nkozawa.com/blog/archives/5457 ▰ Gyroノイズの分析にも便利
PIDtoolbox ▰ https://github.com/bw1129/PIDtoolbox ▰ 最近有料化、月額400円ほどのpatreon加入でダ ウンロード出来る ▰ チューニング必携ツール ▰ 導入方法がちょっと独特 ▰ https://www.nkozawa.com/blog/archives/7160
フィルターの設定 ▰ RPMフィルター必須 ▰ https://www.nkozawa.com/blog/archives/8196 ここに書いてあるお薦め設定でほとんど大丈夫 ▰ モーターが熱くなったり、モーター音がおかしい、振動 が出る場合は考慮が必要
フィルターの目的 ▰ Gyroの信号には必ずノイズが含まれます、それを取り 除くのがフィルターの役目です。 ▰ 操縦により機体の姿勢の変化は100Hz以下のGyro信 号に現れます。それ以上の周波数はノイズと考えて良 いです。 ▰ Gyroのノイズの大半はモーターの振動に起因します。
フィルターによる遅延 ▰ 多数のフィルターをかけると、遅延も積み重なります ▰ フィルターの設定周波数が低いほど遅延も大きくなる ▰ 遅延が増えるとPIDループはより過去のデータに基づ いて制御をすることになる
フィルター効果の確認 ▰ BlackBoxを使ってGyroデータを確認する ▰ BlackBoxログレート2KHz推奨(1KHzも可) ▰ BF4.4ではデバッグモードにGYRO_SCALED ▰ 場合によっては追加のフィルターが必要かも知れない ▰ https://www.nkozawa.com/blog/archives/8247
PIDチューンの事例紹介 ▰ 実際に設定した手順を紹介します。おおよその流れを 抑えていいだけることを目指します。詳細はブログにま とめています。 https://www.nkozawa.com/blog/archives/8219 ▰ 使用したのは65サイズで自宅リビングで行いました。室 内でホバリングさせて怖くない機体であれば室内PID チューニングが可能です。
PIDチューンの目的 ▰ FCはスティックの動きからsetpointと言う数値を導き出 します。これは操縦者の意図通りに機体が動いた時に 出力されるGyro信号のお手本です。 ▰ FCはモーターを回し機体を動かしGyro信号が setpopintに追従するように制御をします。これをどれ だけ正確に追従させるかがPIDチューンの目的です。
Master mutiplier ▰ PIDスライダーの一番下にある基準値 倍率設定 (Master multiplier)を1より少し下から0.05ずつ上げな がら飛ばします。 ▰ だんだん反応が良くなり、ある限界を超えると反応が鈍 く、モーター加熱、異音、機体の振動が出ます。 ▰ 反応が悪くなる手前を最適値として次に進みます。
PDバランス ▰ 動的ダンピング D Max, スティックレスポンス FF, 「ドリフ ト-ふらつき Iのスライダーをそれぞれ0にする。 ▰ トラッキング P&I強度を0.5から0.05ずつ上げながら20 秒ほど飛行。 ▰ ログをPIDtoolboxでStep Resp Toolで検証する。
PDバランス ▰ PIDtoolboxはsetpointへのGyroの追従具合をいい感じ見せ てくれます。(実際のグラフはブログを見てください) ▰ PIスライダーを上げていくと立ち上がりが速くなり、やがてオー バーシュートし、振動を始めます。 ▰ 素早く立ち上がり綺麗に落ち着くところが最適値です。 ▰ RollとPitchのそれぞれで最適なPの数値(上の方の Propotionalと書かれているところ)を記録します。
PDバランス ▰ RollのP値が記録した値になるようにトラッキング P&I 強度スライダーを調整します。 ▰ 次にPitchのP値を記録した値になるようにピッチトラッ キング・スライダーを調整します。 ▰ これでPDバランスが取れました。もうPIDチューニング は完了したと言えます。
ドリフト、ふらつき I 強度 ▰ 許容範囲が大きいので、あまり厳しく設定しなくても大丈 夫。 ▰ これも大きくして行き、振動やバウンスバックが出る直前 が良いそうです。(反対のような気もします) ▰ 私は適当に大きめの値(130くらい)にしています。
動的ダンピング D Max ▰ D Maxの役割は、まっすぐ飛んでいる時と急激な動作をする時に 違うD値を採用するためのものです。 ▰ PDバランスが出た状態のDerivative値を記録します。 ▰ 動的ダンピング D Maxスライダーを上げ、ダンピング D強度スライ ダーを下げ、D Maxを記録した値、Derivativeをそれより少し小さ い値にします。 ▰ PIDコントローラ設定の中の動的ダンピングは、強度=37,詳細=0 に設定します。
Feed forward ▰ スティックレスポンス FF強度のスライダーは飛ばしなが ら決めます。私は1にしています。 ▰ 右側のPIDコントローラ設定にあるFeed forward各欄 はBetaflight configurator/プリセットのRC_LINKで 設定します。
動的アイドル値 ▰ 動的アイドル値(Dynamic Idle) ▰ プロペラサイズとピッチから決めます。Chris Rosser氏のビデオに表があります。 https://youtu.be/1oYoVE4xu1U?si=ElCD1Clxju2WVBH9&t=791 ▰ 表中に65サイズが無いので勘で100にしました。