Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

viewGoal

調整目標の表示、調整目標に対する設計の検証

説明

viewGoal(Req) は、TuningGoal オブジェクトとして指定された調整目標または調整目標のベクトルのグラフィカル ビューを表示します。調整目標プロットの形式は、使用する個別の調整目標によって異なります。通常、時間領域の調整目標のプロットには、調整目標で指定されたターゲットの時間領域応答が表示されます。通常、周波数領域の調整目標のプロットには、調整目標に違反している範囲を表す影付きの領域が表示されます。

調整目標のベクトルを提供すると、viewGoal は各調整目標を単一の Figure ウィンドウ内で個別の座標軸にプロットします。

viewGoal(Req,T) は、調整目標に対する調整後の制御システムの性能をプロットします。調整目標プロットの形式は、使用する個別の調整目標によって異なります。通常、プロットには調整目標に指定されているターゲット応答と、T で表される制御システムの対応する応答の両方が表示されます。調整目標プロットの解釈の詳細については、調整目標の可視化を参照してください。

すべて折りたたむ

信号 'd' から別の信号 'y' への応答を 1 より大きい周波数において 20 dB/decade でロールオフするように制約する調整目標を作成します。また、この調整目標は、周波数範囲 [0,1] における外乱の抑制 (最大ゲイン 1) も課します。

gmax = frd([1 1 0.01],[0 1 100]);
Req = TuningGoal.MaxGain('du','u',gmax);

周波数応答データ (frd) モデルを使用してゲインの制約またはループ整形の範囲をスケッチすると、調整目標で制約が内挿されます。この内挿により、制約が周波数の滑らかな関数に変換されます。内挿されたゲインの制約を viewGoal を使用して調べます。

viewGoal(Req)

Figure contains an axes object. The axes object contains an object of type line. These objects represent Max gain, Effective bound.

点線は調整目標で指定されたゲイン プロファイルを示します。影付きの領域は調整要件に違反するゲイン値を表します。調整目標プロットの解釈の詳細については、調整目標の可視化を参照してください。

調整目標に対して制御システムの調整後の応答を確認し、調整目標に違反している箇所とその度合いを判定します。この可視化は、調整後の制御システムが柔軟な要件を十分に満たしているかどうかを判断するのに役立ちます。

調整する制御システムの Simulink® モデルを開きます。

open_system('rct_airframe2')

調整目標を作成します。この例では、追従、ロールオフ、安定余裕、および外乱の抑制の調整目標を使用します。

Req1 = TuningGoal.Tracking('az ref','az',1);
Req2 = TuningGoal.Gain('delta fin','delta fin',tf(25,[1 0]));
Req3 = TuningGoal.Margins('delta fin',7,45);
MaxGain = frd([2 200 200],[0.02 2 200]);
Req4 = TuningGoal.Gain('delta fin','az',MaxGain);

slTuner インターフェイスを作成し、これらの調整目標を柔軟な目標に指定してモデルを調整します。

ST0 = slTuner('rct_airframe2','MIMO Controller');
addPoint(ST0,'delta fin');

rng('default');
[ST1,fSoft] = systune(ST0,[Req1,Req2,Req3,Req4]);
Final: Soft = 1.13, Hard = -Inf, Iterations = 92

調整後のシステムが余裕の要件を満たすことを確認します。

figure;
viewGoal(Req3,ST1)

影付きの領域は、ターゲットである 7 dB のゲイン余裕および 45 度の位相余裕に満たない余裕に対応します。実線は、余裕要件がすべての周波数で満たされていることを示します。

追従および外乱の抑制の調整目標と比較して、システム応答を調べます。調整目標のベクトルを指定すると、viewGoal はこれらを単一の Figure 内で個別の座標軸にプロットします。

figure
viewGoal([Req1,Req4],ST1)

最初のプロットから、調整後のシステム応答が追従要件をほぼ満たしていることがわかります。わずかな違反は、設定点の追従が期待値に近いことを示しています。

2 番目のプロットから、低周波数以外ではゲイン要件が満たされていることがわかります。この調整目標では、有効な調整制約を表す影付きの領域が、低周波数において指定された最大ゲイン プロファイルから離れています。ゲイン プロファイルに対するこの変更は、目標の正規化に使用される重み付け関数の s = 0 での極を回避するためです (このページのヒントを参照)。0.001 rad/s 未満では調整後のゲインが指定されたゲインを超えていますが、ピーク値よりも 60 dB 低く、実際には通常十分な値です。

調整されたシステムの応答をさらに調査するには、getIOTransfer を使用して関連する伝達関数を抽出し、step などの時間領域コマンドで解析します。

入力引数

すべて折りたたむ

表示または検証する調整目標。TuningGoal オブジェクトまたは TuningGoal オブジェクトのベクトルとして指定します。すべての TuningGoal オブジェクトのリストについては、調整目標を参照してください。

調整された制御システム。一般化状態空間 (genss) モデルまたは Simulink® モデルへの slTuner インターフェイスとして指定します。T は通常、調整目標を使用して systune で制御システム パラメーターを調整した場合の結果です。

例: [T,fSoft,gHard] = systune(T0,SoftReq,HardReq) (T0 は調整可能な genss モデル)

例: [T,fSoft,gHard] = systune(ST0,SoftReq,HardReq) (ST0slTuner インターフェイス オブジェクト)

ヒント

  • 調整目標プロットの解釈に関する一般的な情報については、調整目標の可視化を参照してください。特に、余裕目標プロットの解釈の詳細については、制御システムの調整における安定余裕を参照してください。

  • varyingGoal で作成する可変調整目標の場合、viewGoal で生成した調整目標プロットを使用して各設計点での調整目標を確認することができます。詳細については、ゲイン スケジュール制御システムの検証を参照してください。

  • 周波数領域の調整目標の場合、調整目標に指定したゲイン プロファイル (破線) と、ソフトウェアが調整に使用するプロファイル (影付き領域) が異なる可能性もあります。この場合、プロットの影付きの領域が、ソフトウェアで調整に使用されているプロファイルを反映しています。指定したゲイン プロファイルと、調整に使用されるゲイン プロファイルが異なる場合には、次の理由が考えられます。

    • 制御システムを離散時間で調整しているが、ゲイン プロファイルの指定は連続時間になっている。

    • 数値的な安定性を改善するために、指定されたゲイン プロファイルの漸近線をソフトウェアが変更した。

    適用された調整目標が目標と異なる場合の詳細については、調整目標の可視化を参照してください。

  • MIMO フィードバック ループの場合、LoopShapeMinLoopGainMaxLoopGainMarginsSensitivityRejection の目標は、各 SISO ループの相対スケーリングに敏感です。systune は、これらの目標を適用しながら、全体的なループ伝達行列のバランスを取ろうとします。最適なループ スケーリングは、systune が返す調整された閉ループ モデルまたは slTuner インターフェイス T に保存されています。整合性を取るため、viewGoal(R,T) はこのスケーリングを考慮し、スケーリングされた開ループ応答または感度をプロットします。このスケーリングを省略するには、viewGoal(R,clearTuningInfo(T)) を使用します。

    T を変更すると、保存されているスケーリングの有効性が損なわれる可能性があります。したがって、T に大幅な変更を加える場合、再調整を行ってスケーリング データを更新することをお勧めします。

バージョン履歴

R2012b で導入