Dropbox

以前、紹介したPIDtoolboxの使用方法と基本的には変わりませんが新しいバージョンでの手順を説明しておきます。macOSでの例ですがWindowsでも概ね同じだと思います。

導入方法は、https://www.nkozawa.com/blog/archives/7160に書いてあります。

[ ログの取得 ]
Blackboxログを取得する際にはBlacboxデバッグモードにGYRO_SCALEDを指定しGYROのフィルター前のデータを取得するようにします。また、レートは1KHz2KHzがお勧めだそうです。

[ PIDtoolboxデータ読み込み ]
macOSにおいて古いバージョンではPIDtoolboxが存在するフォルダーにログをコピーしてから読み込みを行なっていましたが、最近のバージョンでは任意の場所にあるログを読み込めるようになりました。内部的にPIDtoolboxと同じ場所に一時的にログファイルをコピーするようになったので、ここにログファイルを置いておくことは出来なくなりました。
ファイルの読み込み方法は以前と同じで右上にあるSelectボタンで行います。ファイルダイアログが開くので目的のログファイルを選びます。もし複数のフライトが記録されている場合には次のウインドウが開くので目的のフライトを選択します。

[ トリム ]
ログが読み込まれるとグラフが表れます。グラフの最初と最後は少しだけグレーアウトされています。これは安定した飛行をしている部分のみを解析対象とするためです。その範囲を変更したいこともあります。その場合、右側にある’Trim ON’を使います。これをオンにすると十字のカーソルが現れますので、最初にログ解析開始位置、次に終了位置を指定します。

PIDtoolboxには沢山の機能がありますが、わたしは二つの機能しか使用していません。それらについて紹介していきます。

[ スペクトログラム ]
ジャイロノイズの様子やフィルターの効き具合を確認します。
– 最初の画面で’Spectral Analyzer’ボタンを押します。
– ‘Spectral Analyzer’ウインドウが開くので右側中央あたりの’Freq x Throttle’ボタンを押します。
– さらに新しいウインドウが開いたら右上の’Run’ボタンを押します。

同様のグラフはBlackbox Explorerでも得られますが、必要なデータが一度に得られるのでPIDtoolboxが使いやすいです。

10個のグラフが表示されています。それぞれ縦軸が周波数、横軸がスロットルポジションとなっています。このデータは室内飛行で取得したものなのでスロットルが65%くらいまでしかあげられませんでした。屋外でこのデータを取得する場合、スロットルをなるべくゆっくりと100%まで上げると良いデータが収集出来ると思います。
グラフの種類は規定値で左からジャイロのフィルター前(このデータの取得にはGYRO_SCALEDの指定が必要)、フィルター後のジャイロデータ、DTERMのフィルター前、フィルター後になります。

100Hz以下に多くのデータがあります。これは実際の機体の動きを表すジャイロデータです。この部分がフィルターによって失われてはいけません(起こり得ませんが)。100Hz近辺から上の周波数は機体の制御に必要では無いノイズということになります。左端のグラフで右肩上がりに濃い色が現れているのはスロットルポジションに合わせて(モーターの回転数に比例して)周波数が上がっていくノイズです。これがRPMフィルターのターゲットになります。他には目立ったノイズは見当たりませんのでRPMフィルターさえあれば他のフィルターは必要がなさそうです。

DTERMノイズについては語るほどの知識はありません。だいたいこんな感じならば良いのではないかと思います。

[ ステップレスポンス ]
フィルターの設定が決まったら、いよいよPIDチューニングです。
– 最初のウインドウで’Step Resp Tool’ボタンを押します。
– 新しいウインドウが開くので’Run’ボタンを押すと結果が表示されます。

このグラフはスティックの動きに実際の機体の動きがどれくらい追従しているかを表します。フライト全体で3軸それぞれについてsetpointとgyroのデータを処理してグラフを作ってくれているのでとてもわかりやすいです。Blackbox Explorerで見ようとするとフライト全体ではなく、飛行中の個々の動きにおいてsetpointとgyroのデータを眺めて判断しないといけないので時間がかかります。

理想的な動きはなるべく速くかつスムースに1に収束することです。このグラフが波打っている時には実際に機体も振動するような動きになっています。また立ち上がりがゆっくりすぎるとスティクに対する反応が鈍い機体ということになります。ざっくり言うとPDバランスにより滑らかに振動することなく1に収束させ、さらにPD双方の強さで反応を速くするという感じです。具体的な調整事例については別途書きたいと思います。

メインの画面で複数のログを読み込むことにより、複数のログデータをプロットすることも出来ます。

PID値も表示されるので、調整によりどう変わったのかが一目でわかります。

Trackback

3 comments untill now

  1. […] さらに最新版ではいろいろと変わりました。v0.62での例はhttps://www.nkozawa.com/blog/archives/7178をご覧ください。 […]

  2. […] さらに最新版ではいろいろと変わりました。v0.62での例はhttps://www.nkozawa.com/blog/archives/7178をご覧ください。 […]

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

Add your comment now