blog

2019/06/10 17:44

さて、ついに来てしまいましたね、今回はPID Tuningタブ。


日頃NHKラジオ英会話で鍛えようとしている雰囲気程度の英語力を発揮する時が来たようですね、学生時代にもっと真面目に勉強しておけばよかった。


下記のBetaflightのチューニングノートを参考にしつつ、設定していきます。

https://github.com/betaflight/betaflight/wiki/4.0-Tuning-Notes


毎度お伝えしていますが、この記事で使用しているパーツはマイクロエイリアンの組み立てブログで使用しているもので、パーツリストは下記のURLでご確認頂けます。


BetaFlightセットアップ<1>下準備

https://dayscape.theshop.jp/blog/2019/04/30/182144


ところで、前回懸念していましたがもうBetaFlight4.0.3がリリースされていますね!


バグ修正みたいなので、これから設定と言う方はBetaFlight4.0.3で設定し直しても良いかと思います、この記事はとりあえず中途半端なのも良くないので4.0.2のまま進めます。


Betaflightのチューニングノートによると、4.0.〜は以前の設定値を利用せずに1から設定してくださいというのが基本的なスタンスのようですね。


「オヤジ、いつもので。。」という常連客さながらのオーダーはここでは許されないと。


では早速。



これがBetaFlight 4.0.2のPID Tuning初期設定ですね。


ぱっと見た感じ、GUI的には2枚目の写真のD Minが今回の一番大きな変更でしょうかね。


順を追って見ていきましょう。



まずPID Settingの左上、PIDのメインの設定画面ですね。


なんか、数字がいっぱい並んでて難しそうだなぁと思う方にとりあえずこれが何なのかざっくり説明すると、一覧の表になっていますが左から4つ、頭文字でいうとPIDFのところまでが基本的にはPIDsと呼ばれるものです。


PIDsはプロポ操作によって指示された姿勢と現在の姿勢とのズレをフライトコントローラーが自動で補正してくれる強度などをコントロールします。


一方右側の4つ、RC Rate、Super Rate、Max Vel、RC Expoはレーツと呼ばれ、プロポのスティック操作で中央付近は細かな舵が、外側に行くほど大きな舵が効くような感じにしたりとプロポ側の設定で言う所のデュアルレートみたいな事がここで設定できます。


Max Velのみ入力するのではなく、入力された数値から割り出される計算結果になっており、単位がdeg/sなので最大一秒間に何度回る設定かが表示されています。



すぐ右側にグラフが表示されていますが、これはRatesの設定が視覚的にわかるグラフです。


僕の設定は結構全体的にグラフに傾斜が付いていますが、もっと中央付近の傾斜がなく両サイドに行くほど急激に角度がつくような設定を好む方も多いと思います。


とりあえず、Feedforwardよりも右のRC Rate、Super Rate、RC Expoの部分に自分の気に入っているレーツを入力しましょう。


「え、そんなに遅いの!?」と思われるかもしれませんがこれが僕の最近使っているRatesで、PITCHのSuper Rateとかを確か少しいじっていますが、下記のURLで紹介されているLe Drib氏の数値をほとんど真似で使っています。


https://www.youtube.com/watch?v=qUZfv6D4BP4


結構ぐりぐりスティックを動かして操作する感じで僕は気に入っているのですが、フリップにつぐフリップ!という感じのスタイルには向かないかも。


ちょっと初めてで何言ってるのか良くわからない方で、とりあえずフリースタイル的な事をやりたい方は以前ブログで紹介したMr.SteeleのRatesを参考にしてみるのも良いかも知れません、Mr.Steeleの設定は中央付近が比較的なだらかで、外に行くほど急激に角度がつくタイプの典型かと思います。


KISS FC セットアップ<4>PIDとRATEと追記

https://dayscape.theshop.jp/blog/2019/03/16/161340


Ratesを変更すると出来ていた事が全然出来なくなったりするので、なるべくRatesは気に入っているパイロットの真似からはじめるのが良いのかなと。


特に気にしないのであればデフォルトで始めるのもひとつの方法で、基本的な飛行が出来るようになってしまえば多少の変更もすぐに対応できるかと思います。


ちなみにRC Rateは全体のスティックの感度、RC Expoはスティックが端にある時の最大回転速度を維持しながら中央付近の感度を下げなだらかにし、Super RateはRC RateとRC Expoを混ぜたような効果がありますので微調整の時に参考にしてください。



さて、PIDsを変更しました。


チューニングノートによると、BetaFlight 4.0〜のデフォルトは5インチの4S機体でGoproなどを搭載している状況を想定したものだそうで、軽量の機体の場合はまず全てのPID値1/3カットして飛ばしてくれと。


飛ばしてみないと様子がわからないのですが、何も考えずに1/3カットでとりあえずここからテストフライトを繰り返して数値を変更していこうと思います。


ここでPIDsとは何ぞやという話になるのですが、ちょっと詳しく申し上げる自信がないですので、そこで。




Joshuaさんがこの動画でPの値に付いてすごくわかりやすく解説されています。


この動画シリーズはBlack Boxの活用方法についてのチュートリアルシリーズなのですが、グラフで視覚的に値の働きがわかるので、全て通しで見ていただけるとイメージが掴みやすいかと。


とは言え英語ですし、動画が長すぎて『それ見てる時間があるなら飛ばしに行きたいよ』という方に向けて本当にざっくり説明します。


まずPは指示された姿勢と現状の姿勢の差を見て、指示通りの姿勢に補正する働きをします。


その為、Pの値が上がってくると動き出しが力強くなってくる感じ。


P、I、Dの3つがありますが基本的にフリップ後の跳ね返りや振動を止める働きを担うのはPのみになります。


では、Pは高ければ高い方が良いのかと言うとそうではなく、この値にはちょうど良い加減があり、大きくしすぎるとフリップ後に逆に細かい振動が発生したり、さらに高すぎるとスロットルをあげて勢いよく上昇する際に振動が発生し、飛ぶ音が変になってきます。


指示と現状との差に敏感に反応する上に補正を強力にかけすぎる為に、逆に振動を自ら起こしてしまうというような状況です。


なので、フリップ後の大きな跳ね返りや振動が少なく、大きすぎない値が良いと思います。


次にIの値なのですが、これは唯一多少幅があると言うか、個人の好みが介入できる部分です。


これは例えば機体が直進している状況で、モーターが取り付けられている角度の関係で潜在的に機体は水平の姿勢になる力が働くのですが、その中で前傾姿勢を維持したり、風に吹かれている状況で向きを維持したり、主に動きの継続中にそれを妨害する継続的な要因に反応して補正をかける数値です。


言葉でにすると硬いとか柔らかいとか、そう言う感じに近いと思いますが、数値を変えると動き出しも含めて全体の感触が変わってきます。


Iの値もPID全体に関わってくるので、ここだけ好きにあげたり下げたり出来るわけではなく、Iの変更後は全体を見直す必要があります。


そしてDの値ですが、これはPの補助的なものと考えられます。


Pが指示通りの姿勢になるまで補正を続けるのですが、その際に補正する→行きすぎる(オーバーシュート)→行きすぎを補正する→行きすぎるというプロセスを繰り返すのでその行きすぎを抑制し、反復をより早く収束させる働きをします。


ならDの値は大きい方が良い感じがしますが、Dの値が大きすぎるとモーターやESCが熱くなってしまい、最悪の場合機器の故障に繋がる可能性があるとのことです。


そのため、Dの値を上げる時はモーターやESCの温度に注意して、触れられないくらい熱くなってしまう場合はすぐにDの値を下げる対応が必要です。



今回D Minと言う項目が追加され、これは下記のURLの記述によるとスティック操作に応じて動的にD値が変更する仕様になり、ロースティック時のDの値を個別に設定出来るようになった部分みたいですね。


https://github.com/betaflight/betaflight/wiki/d_min


とりあえずこちらも1/3カットしてみたのですが、上記URLでD値の半分にしてくれ的な事が書いてあるのですが、それは文脈的に3.5で使用してた元の値の半分の意味なのか、現状のD値の半分の意味なのか、、え、英語力が足りない。。


とにかく、フリップ後の振動であったり、スロットルをカットした状態でのターン中のプロップウォッシュの改善にはこのD Minの値の方が影響が大きいっぽい事が書いてあるので、振動の出るタイミングによってはこちらを調整した方が良さそうですね。


最後にFeed Forwardですが、これはまたちょっと毛並みの違ったヤツで、フィードバックに対してフィードフォワードと言うことなので、他のPIDがフィードバックを得てから反応していくのに対しこれはフィードバックが返ってくる前に補正をかけてしまおうと言うことのようです。


https://github.com/betaflight/betaflight/wiki/3.5-tuning-notes#hello-feed-forward


上記のURLに詳しく記載されていますが、具体的にはどの辺に関連してくるかと言うと、スティックが早く動かされるほど強くプッシュする形で機体の反応性を上げるというもの。


プッシュが大きすぎてオーバーシュートしてしまうのも問題なので、これも上げすぎは良くないよと。


各軸について4つも数値があり、ちょっと守備範囲が被ってる部分もあるのでこれを完璧に調整するのはなかなか難しそう、RollとPitchはまだなんとかなってもYawとかは評価も難しいですよね。


そういうわけで、飛ばしながらの微調整はどうしようかと言うと。。


初めのフライトでまずデフォルトのままで置いておいたFeed Forwardが気になります。


Feed Forward自体では振動は出ないとの話ですが、振動を止めるPに対して強力過ぎないか心配なので、飛ばしてみてマズそうならすぐPを少し上げるか、FFを下げた方がいいか考えつつ。


RollとPitchに関してはとりあえず1/3カットした数値からはじめてデフォルト値くらいを上限に意識し、少しずつPを上げて、まぁまぁ良い線まで来たらIをデフォルトに戻して試して、調整し、Iが大体決まって来たらPをもうちょっと上げてみて、大体この辺と言うところでモーターの熱に注意しながらDを少しずつ上げて、最終プッシュ感に不満があったらFeed Forwardでもいじろうかな、不満がなければそのままで。


テストフライトの内容は急上昇とRollフリップ、Pitchフリップ、鋭いターン(スロットルを切って少し流すのと、スロットルを切らずに曲がる)とかで振動をみます。


Yawに関しては数値が高いとYawロール時に上昇してしまうそうなので、今の値とデフォルトの値でYawロールしてみて、変に上昇しない方をベースに、どちらかに寄せるか、問題なければそのままで良いかなと。


あとはリファレンスとしているAlienと交互に飛ばして、ちょっとちょっと数値を変えたり変えなかったり。


AlienがKissFCなので、機体サイズも違い、FCも違うのでその感触まで持っていくのは僕のスキルでは難しい様で、大体いつも良いところで諦めてしまいます。


こんな感じで良いでしょうか、テストフライト後に修正した数値は今後掲載しようと思いますので、似たセッティングの方はご参考頂けたらと思います。


PIDFのバランスはやはり難しいのでデフォルトを凄く参考にしたいですし、全てデフォルトで問題なければ、それでも良いのではないかと思います。


レースとフリースタイルでは求める部分が変わってくるという話ですし、結局自分の好みも数値に影響してしまうのは仕方ないかと、ただDの高すぎだけは注意してくださいね。


まだもう少し設定項目があるのですが、長くなってしまったのでここまでを前編とし、続きは後編という形で掲載することにします。


こうやって設定ひとつひとつを見ていくと、本当に飛行するというのは大変なことだなぁと思います。


そしてフライトコントローラーに搭載されているテクノロジーと言うのか、高度なソフトウェアと言うのか、超高速な演算処理と言うのか、もう本当になんて言うか、頭が下がりますね。


もし間違った事が書かれていたら訂正しますのでお問い合わせからご連絡頂けたらと思います。


今回はここまで!




このブログで使用しているパーツは当店(DAYSCAPE storeでお買い求め頂けます!

是非ショップも覗いていってくださいね。