機体とバッテリーの合計重量が200g未満のドローン(U199)は、無人航空機ではなく模型航空機として扱われます。そのため特別な飛行許可・承認を取得しなくていいので、わりと手軽に飛行させることができます。今回はU199でありながら、パワフルで、フリースタイル飛行で高画質動画が撮影できるレーシングドローンを自作していきます。あなたも一緒に作りませんか? パート7
テストフライトの内容
前回はファーストフライトを行いましたので、今回はPIDやフィルターの設定確認のためのテストフライトを行ってきました。
現在使用している Betaflight 4.1.0 RC4 はPIDやフィルターはデフォルトから始めるように書いてあるので何も変更せずそのままでフライトしました。
ブラックボックスのログを取得するための設定をしました。
FC上のフラッシュメモリに2KHzで記録。さらにデバッグ情報として、DUAL_GYRO_SCALED を選択しました。この DUAL_GYRO_SCALED はフィルターを通過する前のジャイロのデータを記録する設定です。DUAL が付いてるのは使用しているFCがデュアルジャイロを使用しているためで、通常は GYRO_SCALED を選択しま す。
テストフライト
動画をご覧下さい。
4Kでアップロードしてありますので、モニターが4KじゃなくFHD(1920×1080)でも、Yotubeの設定で1440Pを選択すると綺麗に見ることができます。
ログを取得するためにはいろいろな機動が必要です。フリップ、パンチアウト、さらには素早い動きです。残念ながらバッテリーの能力不足でスロットルを目いっぱい開けれなかったので、そのあたりのログが欠落します。
ログ解析
取得したブラックボックスのログをパソコンにコピーします。
今回使用する解析ツールは、PIDtoolbox v0.23 というものです。さっそく見ていきましょう。(図をクリックで拡大表示します)
これはスロットルとノイズ周波数の関係を図に出力したもので、全部で12個ある図のうち、左の列がフィルターを通過する前のジャイロのデータ、その右列がフィルターを通過し後のジャイロのデータです。それぞれ上からロール軸、ピッチ軸、ヨー軸の図になります。
一番左のフィルターを通過する前の生のジャイロデータにはかなりノイズがありますね。(色が明るいほどノイズの量が多い)特に左から右に(スロットルを開けるに従い)徐々に上へ伸びる明るい帯状のノイズ。これはモーターのノイズですね。今回の機体に使用しているモーターが1個だけすごく振動しているのでこのせいかもしれません。
フィルター通過後はこの帯状のノイズがほぼ無くなっていることが分かります。
なお、一番下の20Hz以下にある明るい帯はRC信号によるものです。なのでフィルター設定で、これをカットしてはいけません。低い所を通すフィルター、ローパスフィルターはこのためにあります。通常は100Hz以上で使用します。この設定周波数が高くなると処理するノイズが減るので、フィルターによる遅延が少なくなります。
この図はPIDエラーの量を表します。PIDエラーは、こういう風に動けというRC信号値(セットポイント)に対し、実際に動けた値との差、つまり誤差になります。なのでPIDエラーは少なければ少ないほどいいことになります。左のグラフは標準偏差になります。細いほどいいことになります。ピッチよりロールの方がエラーが多いですね。
こちらの図はPIDチューニングに有用な、ステップ応答の図です。(オレンジ色と青色は同じ設定ですのでほぼ一緒になってます。)
ステップ応答はこちらの図を見るとよくわかると思います。PID制御のそれぞれP値、I値、D値が変化するとどうなるかが分かります。
このステップ応答を各軸で表したのが先ほどの図になります。この図を見ることでPID値をどう変更すればよいのかが推測できるようになります。
今回は Betaflight 4.1.0 RC4 のデフォルト設定でした。Configuratorの各調整スライダーで変更するとどうなるのか興味が出ますね。
PIDtoolbox は近いうちに記事にしたいと思います。