Armattan Badger 5" Kit (バンドル) <9> PID Tuning 3

さて、前回の続きです。この記事から読み始めてしまうと恐らく意味不明なので、その場合は是非下記の前前回記事や前回記事もあわせてご参考頂けたらと思います。

 

前回記事でPの値を確定し、その他の項目をデフォルトまで戻した上記の画像。

この設定でテストフライトを行い、微調整を検討するのですが、ここからは好みが出るところですね。最低限、確認したい事とそれに応じて変更する数値は下記の3点でしょうか。

  1. フリップ後にバウンスバックが気になる→D(or D Max)を上げる
    ※Dの値を上げる場合はモーターの熱に注意してください。
  2. スティックの感度が敏感に、もしくは鈍感に感じる→FFを下げる、もしくは上げる
    ※FFを上げた場合、バウンスバックを抑える為にD(or D Max)の数値も上げる必要がある場合があります。
  3. 直進時などにもっと機体が固定された感じが欲しい、もしくはロックされた感じが強くもっと柔らかくしたい→Iの値を上げる、もしくは下げる。

そんなこんなで自分は上記の様に設定したのですが、ここは好みによっても変わってくるところなので、今回は自分の経験の中で説明出来たらと思います。

まず、D Minを有効にして、D Minの数値は有効にした段階で自動入力された数値のままにしています。ここはかなり低い数値でも良さそうに思えるのですが、D Minが低すぎるとフリップ時などにD Maxへ移行するまでの時間が長くかかり、D Maxが必要な時に間に合わない可能性があるとの話なので、とりあえずそのままにしておきました。

自分はスティックの感度を少し高めたいと思ったので緑の四角で示したFFをRoll、Pitchともに5ポイントあげ、その際にほんの僅かバウンスバックが気になったので青い四角で示したD MaxをRoll、Pitchともに3ポイント上げました。

次に、赤い四角で示したFeedforward transitionを0.03に。
この設定値はスティック中央付近でFFを鈍感にする設定で、ほんの僅かなステック操作で機体がビクビク反応しないように出来る設定です。

以前はFFが効き始める境目みたいなものが凄く顕著に感じられたので個人的にはあまり好きではなかったのですが、最近のバージョンでは非常に滑らかにFFが効いてきて、滑らかでありながらステックエンド付近は力強い操作感を得られます。
あまり大きな数値を入れるとスティック操作が全体に鈍感なフィーリングになるので、入れすぎには注意です。

上記画像でオレンジの四角で示した部分は、Iの値や機能に関連する項目なのですが、今回自分はIに不満を感じなかったので、デフォルトのままの数値になっています。

Iに関して、今回はデフォルトのままでバランスが取れているのであまり問題にならなかったのですが、以前にバウンスバックが不定期に現れる症状がいろいろ試しても改善できなかった事があり、結局Iの値をほんの少し下げたら驚くほど改善したケースがあったので、少し追加で書きたいと思います。

PとDのバランスをとる事でバウンスバックを抑える、というところまでは、非常にわかりやすく理解できる部分かと思います。

しかし、意外とIの取り扱いに関する記事は多くなく、自分の好みだけで上げたり下げたり自由にしていいのかなと思ってしまいがちですが、低すぎるとふにゃふにゃしてしまいますし、高すぎるとIによってもバウンスバックは引き起こされます。

そして、Betafight4.2のデフォルトのIはそんなに低くなく、そこから5とか10刻みでどんどんあげてしまうと、フリースタイル機にとってはわりとすぐに過剰になってしまう印象です。

非常にややこしい点は、Iに原因があるバウンスバックはどうやらDの値を増やしても抑える事が出来ないようだ、という点。

これは経験的なものなので、信憑性は不明ですが、ログデータをみているとなんとなくそうかなぁという感じがします。

ちょっとわかりづらいのですが、上記画像で上の段の黄色いグラフがI[roll]、緑がP[roll]、紫がD[roll]を表しています。下の段は赤がgyro[roll]で現在の機体の姿勢を表し、緑がSetpoint[roll]で、これは機体が取ろうとしている姿勢を表します。

上記のグラフはルービックキューブ直後のグラフなのですが、上の段の黄色いグラフI[roll]の上昇に、下の段の赤gyro[roll]が引きづられる形でSetpointを逸脱している様に見えます。

上記の設定の時、単発のフリップなどではほとんどバウンスバックを感じずPとDのバランスは悪くないと思っていたのですが、トリックが連続したり、長く走らせた後の急激な180度フリップの際に時折バウンスバックが出る症状がありました。

上記のグラフをなんとなくみていて、基本的にDの値がアクティブになるきっかけはPの大幅な変化です。Iが高いレベルで蓄積していても、それ自体がきっかけでDがアクティブになることはないので、フリップ直後などにIが大きく残っているとそのままバウンスバックの原因になり得るのではないかと感じます。

こういった場合にI Term RelaxのCutoff値を下げる事で、Iを早めに開放する事が出来、結果的にバウンスバックを抑える事が可能になりますが、I Term RelaxのCutoff値を下げると特にカーブの切れのシャープさが失われるので、Iそれ自体を上げる目的と逆行するとも言えなくはないですよね。

その為Iの値とI Term RelaxのCutoff値の関係は、同じフリースタイル機でもシビアなギャップを攻めたいのか、フラットなフィールドでダイナミックに飛び回るフライトがしたいのか、シネマティックで比較的クルージング的なフライトが多いのか、機体のサイズが大きいのか小さいのかなど、ケースバイケースでよく検討する必要があると思います。

今回設定してみて、Pの数値を上手く設定していれば、闇雲にIの値を上げたりしない限りI Term RelaxのCutoffは15で大丈夫そうだなという印象でした。

もしデフォルトをベースにスライダーで設定したPIDで、結構Dを上げているのにどうしても変なバウンスバックが取れなかったら、Iを下げてみるか、I Term RelaxのCutoff値を下げると解決出来る場合があります。

再び上記の画像で、もう1つの右下のオレンジの点線で示した四角はAnti Gravityです。
これは数値が上がるのに時間がかかるIを短時間でブーストする為のパラメーターとの事ですが、具体的には、特に急激なスロットルアップの時、ピッチ操作はしていないのにピッチアップしてしまうような症状を抑える為の設定項目になります。

これもバウンスバックに関係があるのかと思って少し変更してみたのですが、こちらは影響が感じられなかったのでAnti Gravityは上記の症状を感じない限りデフォルトのままで大丈夫そうです。

Betaflight4.2でAnti GravityはIの値に依存しなくなったとのことなので、Iの値との関係性に悩む必要は無くなったと考えて良さそうですね。

これで一旦設定は完了したのですが、次回は比較的新しい機能のDynamic Idle Valueについて取り上げたいと思います。こちらもバウンスバックの原因の1つになってくるとの事で、結構無視できない設定です。

 

ArmattanBetaflight

JACK によるブログ

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

ピックアップ