Dropbox

信奉するChris RosserさんのビデオBetaflight 4.4 Tuning Guide + Tips and Tricks for the BEST tune!で室内でもPIDチューニングが可能であることが紹介されていました。最近の小型AIO FCにはブラックボックスが搭載されるようにもなりましたし、室内機でも本格的なPIDチューニングを試してみるしかないです。

手順についてはChris Rosserさんのビデオを見ていただくのが間違いが無くてよいのですが、実際にわたしが試したチューニングの様子を紹介します。

チューニングを行ったのはSub250 Whoopfly16です。75サイズの1Sドローンで屋外でも軽快に飛行できます。

チューニングはPIDtoolboxを使用してブラックボックスログを確認して行います。

[ RPMフィルター設定 ]
 
双方向DSHOTを使用しRPMフィルターを有効にしておきます。モーター極数の設定も忘れずに変更しておきます。ざっくり言うと小型モーターは12, 大きいのは14ですが、実際にモーターベルに付いている磁石の数を数えるのが確実です。

[ RC_LINKプリセット ]

RC Linkに合わせたプリセットを適用します。これによってRCスムージングとFFが適切な値にセットされるはずです。

[ ブラックボックスの設定 ]
ブラックボックスログレートを2KHz, デバックモードにGYRO_SCALEDを指定しておきます。

[ フィルターの設定 ]

RPMフィルターを使用した場合のChris Rosserさんのオススメにしました。Betaflightの規定値よりだいぶ軽くなっています。ジャイロの静的フィルターは使わずRPMフィルターと動的ノッチフィルターだけを使用します。D値ローパスフィルター1は画面のように変更します。周波数は機体サイズによって変わります。詳細は最初に紹介したビデオの12:28にあります。D値フィルターはこのひとつだけです。
フィルターは効果さえあれば軽い方が良いです。余談ですが軽いというのはプロセッサー負荷よりもジャイロデータのフィルターによる遅延の少なさという意味合いが大きいです。軽くするためにはフィルターの種類を少なく、かつカットオフ周波数を可能な限り高くすることが必要です。

[ ジャイロノイズの確認 ]
ジャイロノイズを確認するためのテスト飛行はスロットルを滑らかに最小から最大まで動かし様々なモーター回転値でのデータを取得するのが理想です。屋外ならば100%スロットルまで試します。室内テストではなかなか最大値は難しいので可能な範囲でスロットルを動かします。
取得したブラックボックスログをPIDtoolbox/Spectral Analyzer/Freq x Throttleで解析します。

左からフィルター前のジャイロ値、フィルター後のジャイロ値、D値のフィルター前と後です。一番左のグラフの取得にはブラックボックスデバッグモードのGYRO_SCALEDが必要です。ジャイロの下の方で光っている部分は実際の機体の姿勢を表す真のジャイロデータです。100Hzより上に現れるデータはノイズと考えて良いです(クラッシュした時は別ですけど)。フィルター前のジャイロデータで右上がりの濃いデータがあります。これはモーターからくる振動です。横軸のスロットル位置、すなわちモーターの回転数に比例してノイズの周波数が上がっていることを示します。これを効果的に取り除くのがRPMフィルターです。
このグラフを見る限りフィルターはうまく働いているようです。D値の方は詳しくありませんが、 他の機体のデータと比較しても悪く無い方と思います、機体の固有振動などがあるとスロットル位置に関係なく一定の周波数のノイズが現れることがあるかもしれません、その場合は静的ノッチフィルターで対処する必要があります。

テスト飛行後に念の為、モーターが加熱していないかどうかも確認しておきます。

[ PIDチューニング ]
いよいよPIDチューニングです。室内でアングルモードで行います。PID値の変更はスライダーで行います。Betaflight ConfiguratorでもOSDメニューでもどちらでも調整出来ます。まず最初にI強度を0にします。もしアクロモードでチューニングを行う場合はFF値も0にします。

まずは現状の確認です。なるべく色々とスティックを動かし20秒ほど飛行します。ブラックボックスデータを所得しPIDtoolbox/Step Resp Toolで解析します。

このままでも普通に飛ばせそうにも思えますが、ややオーバーシュートして、その後に波打っているのを直していきます。

最初に見出すのはPDバランスです。調整するスライダーはP&I強度です。実際のところD値を固定してP値を探る作業になります。現状ではオーバーシュート気味なのでP値を小さくする方向で素直に収束するところを見つけます。P&I強度を徐々に下げて行って取得したデータをひとつのグラフで表現しました。

本来は1に収束するはずですが、1より少し大きいところで収束しているのは謎ですが、軌跡の形状だけで判断してみます。なかなか微妙ですが水色(RollのP値が22のもの)が一番理想に近いように見えます。これはP&I強度が0.5のものです。

次に基準値倍率設定の最適値を探ります。上の設定でP値がだいぶ小さくなったのでレスポンスがかなり遅くなっています。倍率設定でPDバランスを変えることなく両方の値を変更出来ます。軌跡が乱れることなく素早く立ち上がるように設定します。目安としては規定値のPに近くなるところが良いのではないかと思います。

赤が基準値倍率を2.0にしたものです。YAWをみるとちょっと強めすぎにも思えますが、このまま進めます。もし基準値倍率が2.0では足りない場合の調整方法についてはビデオの23:31からご覧ください。

I値(アクロの場合はFF値も)を元に戻して最終確認です。

3軸ともなかなか良い感じになりました。ややオーバーシュートしてすぐに安定しているのが良い設定と思います。

PIDスライダーの最終的な状態は以下の通りです。

[ 動的アイドル値の設定 ]
Chris Rosserを信用して1.6インチでのおすすめ値の94を設定しました。28:41に解説があります。ここで各プロペラサイズと推奨値が書かれています。1.2インチについては推奨値がありません。室内飛行では必要ないからかもしれません。もし設定するとすれば1.6インチと同じにしておけば良いのではないかと思います。

以上でチューニングは完了です。正直なところわたしの飛ばし方ではチューニング前と後で変化を感じることはありませんでした。

Trackback

no comment untill now

Add your comment now