自動チューニングアルファ版日本語訳

(訳注:ベータ版を導入する場合は、当たり前ですが自動ではインストールされません。
ファームウェア選択画面の最下段にベータ(Beta Version)とあるので、そこをクリックします。)

 

VTOL-Quiktuneスクリプトをベースにしたローバー/ボート・クイック・チューン・ルア・スクリプトの作成をしています。

このスクリプトは、振動を検知するまでゆっくりとゲインを上げていきます。その後、ゲインを50%ほど下げ、次のゲインに移る。スクリプトは合計で、これらすべてのパラメーター値を調整しようとします:

  • ATC_STR_RAT_P ← ステアリングレートコントローラーのPゲイン(短期的な誤差を補正する)
  • ATC_STR_RAT_I ← ステアリングレートコントローラ I ゲイン(長期的なエラーを補正する)
  • ATC_STR_RAT_D ← ステアリングレートコントローラDゲイン(「ダンピング」または安定性を提供する)
  • ATC_STR_RAT_FF ← ステアリングレートコントローラのフィードフォワードゲイン(実際には最も重要)
  • ATC_SPEED_P, I and D ← 速度コントローラーのゲイン
  • CRUISE_SPEED & CRUISE_THROTTLE ← 速度コントローラの「基本」値、フィードフォワードと同等
  • PSC_VEL_P, I and D ←ポジションコントローラーの速度制御ゲイン

スクリプトのインストール

MPまたはQGCを使用してRover-4.4.0-beta4(またはそれ以上)をインストールする
(Luaスクリプトは通常、F7またはH7プロセッサを搭載したオートパイロット(CubeOrange、Durandal、MatekH7など)でのみ実行されることに注意してください。)

SCR_ENABLE = 1 に設定し、オートパイロットを再起動します。
rover-quicktune.lua script  をオートパイロットの SD カードの APM/scripts ディレクトリにインストールします。MP の MAVFTP 機能を使うのが一番簡単かもしれません。

Circleモードのテスト

Rover-4.4(およびそれ以降)にはサークルモード(モード9)が含まれており、フライトモードスイッチを使って設定するか、最近のバージョンのミッションプランナーのアクションタブを使って切り替えることができます。

このモードに切り替える前に、CIRC_RADIUS が少なくとも 2m 以上あることを確認してください。車両やテストエリアが広い場合は、より大きな値を設定してください。

オプションで CIRC_SPEED を車両にとって快適な速度に設定してください。ゼロのままだと WP_SPEED が使用されます。Circleモードでは、Mission PlannerのActionタブの “Change Speed “ボタンでも車速を変更できます。(あまり早くないほうがいい)

サークル・モードに切り替えると、車両はサークルの端までゆっくりと前進し、急旋回してサークルを一周します。もちろん、いつでも他のモードに切り替えて車両のコントロールを取り戻すことができる。

サークルモードのターゲット(サークルの周りを移動する)は、車両が追いついていなくても減速しないことに注意してください。サークル走行がまったくできない場合は、速度を落としてみてください。

クイックチューニングの実行

RTUN_ENABLE = 1 に設定します(再起動は必要ないが、Rua Scriptを動かしていないと出ない)。

RTUN_AXES は、どの軸を調整するかを制御します。デフォルトの “7 “は、ステアリング、スピード、ベロシティが次々にチューニングされることを意味しますが、1つの軸だけをチューニングしたい場合は、パラメータを次のように設定します:

  • 1: ステアリングのみ調整
  • 2: 速度チューニングのみ調整
  • 4: 位置コントローラー速度のみ調整

RCx_OPTION = 300(”scripting1″)に設定して、RC補助スイッチを “scripting1 “に設定します。低位置でチューンを停止し、中位置でチューンを開始します。高位置はゲインを保存します(チューンが正常に完了した場合)。
あるいは、MPのタブにAux Functionがあり、SCRIPTING1を指定し、Low, Mid, Highを指定することもできます(私が好んで使う方法です)。

車両をサークルモードに切り替え(上記参照)、サークル内を移動したらAUX機能を中央に移動してチューニングを開始します。
地上ステーションの「メッセージ」タブには、チューニングの進行状況を示すテキストメッセージが表示されます。チューニングの段階は以下の通りです:

  • 最初に_Dゲイン(例:ATC_STR_RAT_D)を車両が振動するまで(別名スルーレート)増加させ、
  • 次に_Dを(RTUN_GAIN_MARGINによって)減少させます。
  • 次に、車両が振動するまで_Pゲインを増加させ、その後_Pゲインも減少させる。
  • 最後にフィードフォワード(FF)が調整されるが、これは単純に車両を円周上に走らせデータを収集する。通常は1回転で完了する。
  • 複数の軸が設定されている場合(RTUN_AXES を参照)、チューニングは次の軸に移ります(順番はステアリング、スピード、そして最後に速度制御)。

チューニングが正常に完了したら、RC補助スイッチをHighの位置まで上げてゲインを保存することができます。その後、アクロモードでドライブしたり、ミッションを実行したりして、チューニング前よりも性能が良くなるか悪くなるかを確認することができます。

チューニングのモニター

チューニングの進行状況はMessagesタブに表示されます。
アクティブにチューニングされたPIDのリアルタイム表示は、MPのData画面で見ることができます。一番下の “Tuning “チェックボックスをチェックし、グラフエリアをダブルクリックし、”piddesired “と “pidachieved “を選択します。また、”pidSRate “を選択することで振動数を見ることもできます。

可能であれば、チューニングの前と後のパラメータをキャプチャしてください。理想的には、チューニングが実行されたときのログファイルもあるとありがたい。

タイトルとURLをコピーしました