最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

ループ整形と安定余裕の仕様

この例では、制御システムを systune または looptune で調整する際にループ整形と安定余裕を指定する方法を説明します。

背景

systune コマンドと looptune コマンドは、時間領域と周波数領域のさまざまな要件に従って固定構造制御システムのパラメーターを調整します。TuningGoal パッケージは、このような設計要件のリポジトリです。

ループ整形

TuningGoal.LoopShape 要件は、開ループ応答のゲインの整形に使用されます。この設計法は "ループ整形" と呼ばれます。以下に例を示します。

s = tf('s');
R1 = TuningGoal.LoopShape('u',1/s);

これは、位置 "u" で測定された開ループ応答が純積分器のようになる (そのゲインに関する限り) ことを指定しています。MATLAB では、AnalysisPoint ブロックを使用して位置 "u" をマークします。詳細については、「調整可能なモデルの作成」の例を参照してください。Simulink では、slTuner インターフェイスの addPoint メソッドを使用して、"u" を目的の点としてマークします。

その他のゲイン仕様と同様に、いくつかの周波数点を使用して、目的のループ整形の漸近線を指定できます。たとえば、ゲイン交差が 1 rad/s、1 rad/s の前の勾配が -20 dB/decade、1 rad/s の後の勾配が -40 dB/decade のループ整形を指定するには、周波数 0.1,1,10 のゲインが 10,1,0.01 になるようにそれぞれ指定します。

LS = frd([10,1,0.01],[0.1,1,10]);
R2 = TuningGoal.LoopShape('u',LS);

bodemag(LS,R2.LoopGain)
legend('Specified','Interpolated')

ループ整形要件は、開ループ応答 に対する制約です。この制約は、調整のために、感度関数 および相補感度関数 に対する閉ループ ゲインの制約に変換されます。viewGoal を使用して、ターゲット ループ整形と (緑) および (赤) の対応するゲイン範囲を可視化します。

viewGoal(R2)

最小ループ ゲインと最大ループ ゲイン

TuningGoal.LoopShape の代わりに TuningGoal.MinLoopGainTuningGoal.MaxLoopGain を使用して、特定の周波数帯域内のループ ゲインの最小値または最大値を指定できます。これは、交差近傍の実際のループ整形の特定を調整アルゴリズムに任せるのが最適である場合に役立ちます。たとえば、次の要件は、帯域内の最小ループ ゲインと帯域外のロールオフ特性を指定していますが、実際の交差周波数も交差近傍のループ整形も指定していません。

MinLG = TuningGoal.MinLoopGain('u',5/s);  % integral action
MinLG.Focus = [0 0.2];

MaxLG = TuningGoal.MaxLoopGain('u',1/s^2);  % -40dB/decade roll off
MaxLG.Focus = [1 Inf];

viewGoal([MinLG MaxLG])

TuningGoal.MaxLoopGain 要件は、ループ ゲインが小さい () ときは開ループ ゲインと閉ループ ゲインが同程度であるという事実に基づいています。そのため、この要件には、ループ ゲインを 1 に近い値未満に保つ効果がない可能性があります。たとえば、柔軟モードでゲイン スパイクが交差周波数を超えると仮定し、このスパイクを 0.5 (-6 dB) 未満に保つ必要があるとします。この場合は、TuningGoal.MaxLoopGain を使用する代わりに、ループ開始点を "u" とする TuningGoal.Gain を使用して のゲインを直接制約することができます。

MaxLG = TuningGoal.Gain('u','u',0.5);
MaxLG.Opening = 'u';

開ループ応答が不安定な場合は、この要件に関連付けられた暗黙的な安定性の制約をさらに無効にするようにします。

MaxLG.Stabilize = false;

図 1 は、柔軟モードでの開ループ応答の評価に使用されるこの要件を示しています。

図 1: L に対するゲインの制約

安定余裕

TuningGoal.Margins 要件では、指定したループ開始位置においてゲイン余裕と位相余裕の最小量を適用します。MIMO フィードバック ループの場合、この要件では "ディスク余裕" の概念が使用され、すべてのフィードバック チャネルにおける指定した量のゲインと位相の同時変化の安定性が保証されます (詳細については、diskmargin を参照)。たとえば、次のコードは位置 "u" において dB のゲイン余裕と 45 度の位相余裕を適用します。

R = TuningGoal.Margins('u',6,45);

MATLAB では、AnalysisPoint ブロックを使用して位置 "u" をマークします (詳細については、調整可能なモデルの作成を参照)。Simulink では、slTuner インターフェイスの addPoint メソッドを使用して、"u" を目的の点としてマークします (Simulink モデルに対する slTuner インターフェイスの作成と設定 (Simulink Control Design)を参照)。通常、安定余裕はプラント入力またはプラント出力、あるいはその両方で測定されます。

ターゲット ゲイン余裕とターゲット位相余裕の値は、適切な閉ループ伝達関数に対する正規化ゲインの制約に変換されます。目的の余裕は、ゲインが 1 未満の周波数で達成されます。viewGoal を使用して、設定した要件を確認します。

viewGoal(R)

影付きの領域は、制約に違反する部分を示しています。調整後、調整モデル T について viewGoal(R,T) を使用して、調整された周波数依存の余裕をこのプロットに表示できます。

参考

| | |

関連するトピック