CLEAN FLIGHT【PID Tuning】PIDチューニング

CLEAN FLIGHT【PID Tuning】PIDチューニング      4/27執筆中~


PIDチューニング手順(マニュアルサイト)
CLEAN FLIGHT及びBETA FLIGHTのマニュアルの英訳です。(カタコトですみません)

1、モーターバランスが取れていること、振動がないことを確認してください。

2、アングルやホライゾンモードではチューニングを妨げる独特の修正値がありますので、設定はアクロモードで行ってください。
初期調整では、TPA値を0に設定し、必要に応じて後で追加してください。

3、デフォルトのP値より少し低い値から開始します。
Pitch and RollのP=4.0はちょうど良いスタート地点です。
I値とD値からの干渉を最小限にしてP値を調整するために、ピッチとロールのI値とD値を下げてください。
I=20、D=5が良いスタート地点です。
ヨーの場合、デフォルトのPを少しだけ小さくして、ヨー軸の振動をなくします。
ヨーは最後に調整します。

4、ロール軸のP値をフルスロットルで振動するまで上げ、その値の70%に設定します。

5、ピッチ軸に対して手順4を繰り返します。

6、フライトでロール角を保持しているか(ドリフトしないか)どうかを調べ、ヘリコプターを特定の角度に回転させてドリフトしないようにしてから、スロットルを数回アップダウンします。 地平線を基準にした角度は、大きく変化してはなりません。 角度がドリフトしているように見える場合は、I値を大きくし、ドリフトしない場合はそのままの値を使用します。

7、ピッチ軸に対して手順6を繰り返します。

8、フリップやロール後のバウンスバック(跳ね上がり)やプロップウォッシュを減らすため、各軸のD値を増やします。問題がなければ、D値は低いままで使用します。この時点で、Copterは約80〜90%調整する必要があります。
注:D値が高すぎると、モーターが暑くなることがあります。10-30秒の短い飛行で着陸し、モーターチェックを行います。指で触れるくらいの熱さなら大丈夫です。

9、ヨーは最小限の調整でいいですが、調整不足だと大きな振動が発生することがあります。急制動や高速フライトで大きな振動を受けないようヨーのP値を0.5ずつ増やします。振動が出るようになったら少し減らしてください。
ブラックボックスのヨーP軸を見て微調整してください。ジャイロがスムーズに見える場合は大丈夫です。
注:ヨーはピッチとロールよりも本質的にポジティブなコントロール(別名権限)が少ないので、より広い範囲の値が許容されます。 相対的に高いP値およびI値および比較的低いD値は、ピッチおよびロールと比較して権威の本質的な欠如のために標準である。 微調整するには、通常、ブラックボックスのログが必要です。 ほとんどの余分なP振動はロールまたはピッチのいずれかに由来しますが、フルスロットルでの粗さが残っている場合は、ブラックボックスのログを見てヨーPがフルスロットルで振動し始めるかどうかを確認します。 その場合、ヨーPを減少させる。

10、最後に、強いターンに抵抗するか「陥る」傾向を探すことによって、PとIの関係を洗練します。 非常に低いI値は時間の経過とともにドリフトする軸をもたらす。 軸上の低いI値は、その軸がより自由に姿勢を変えることを可能にするが、姿勢を保持することができる。 軸上のI値が高いほど、姿勢は非常に良くなりますが、動きに抵抗する傾向があり、慣性感を与えることがあります。 非常に高いI値は、過度に「ロボット的な」感覚、さらには振動を生じさせる可能性があります。 ブラックボックスログを分析してPを絞り込むこともできます。 これにより完璧な曲に近づけることができます。

11、アクロモードでチューニングが完了したら、アングルやホライゾンモードのパラメータを調整します。

CLEAN FLIGHT PID Tuning
https://github.com/cleanflight/cleanflight/blob/master/docs/PID%20tuning.md

BETA FLIGHT PID Tuning
https://github.com/betaflight/betaflight/wiki/PID-Tuning-Guide


PID制御の難しい話

ドローン姿勢を自動制御する制御方式には、PID制御という方式を利用しており、この3つのP値・I値・D値をそれぞれ設定することにより、きめ細やかでスムーズな制御が可能となります。
以下の図(PID制御における、ゲイン調整による応答の変化図)では、左下から伸びた青色の線が現在の機体の状態を表し、右上に書かれたKP/KI/KDの値が変化するに従い、赤色の目標値に向かって変化していることがわかります。


これは設定の一例ですが、P値を大きくするに従い、目標値を通り越し(オーバーシュート)た後、上下に波線を描きますが、接近はしますが目標値には到達できません(ドリフト)。
I値を大きくするに従い、目標値を中心に上下に波線を描き(ハンチング)、D値が入ることにより目標値に達してからのハンチングを一気に抑制し目標値で止まります。
つまりこの様なPID設定だと、止めたい姿勢に向かってステックを操作した際、スティックに追従し動かした分だけピタッと止まり、機体の座りがよくきめ細やかでスムーズな制御が可能となります。

PIDとは
Proportional-比例
Integral-積分
Differential-微分
の頭文字で、それぞれの値がどの様に作用するのかを見ていきましょう。

【P制御】比例制御
ドローンの姿勢制御には使用されていない単純な「On/Off制御」の場合、操作量は0%と100%のみですので、操作量の変化が大きすぎるため、目標値に対し行き過ぎを繰り返すため、目標値の近くで凸凹を繰り返す制御となってしまいます。

これに対し、操作量を目標値と現在地との差(偏差)によって、操作量を徐々に調節する制御方法が比例制御(P制御)と言われる方式です。
こうすると、目標値に近づくと微妙な制御を加えることが出来るので細かく目標値に近づけることが可能となります。

【PI制御】比例制御+積分制御
比例制御でうまく制御できるように考えられますが、実際には制御量が目標値に近づくと操作量が小さくなりすぎ、それ以上細かくは制御出来ない状態が発生します。
こうなると、目標値に近くはなるのですが、いつまでたっても制御量にピッタリとはならない状態となってしまいます。
このわずかの誤差のことを「残留偏差」といい、この残留偏差を無くすために使われるのが積分制御(I制御)です。
つまり、わずかの残留偏差を時間的に累積し、ある大きさになった所で操作量を増して偏差を無くすように動作させます。
このように、比例動作に積分動作を加えた制御を「PI制御」と呼びます。

【PID制御】比例制御+積分制御+微分制御
PI制御で実際の目標値に近づける制御は完璧に出来ますが、目標値に到達するまでに一定の時間が必要です。
そこで、必要になるのが微分動作で、偏差を見て、前回偏差との差が大きい時には、思い切って操作量を多くし機敏に反応する様にします。
下の図で分かるように最初はかなりオーバードライブ気味に制御し、早く目標値になるように積極的に制御します。
この前回との偏差の変化差をみることが微分(D制御)に相当し、PI制御に微分制御を加えた制御を「PID制御」と呼びます


シェアする

  • このエントリーをはてなブックマークに追加

フォローする