Main Content

evalSpec

(非推奨) 調整された制御システムの調整目標の評価

evalSpec は推奨されません。代わりに evalGoal を使用してください。

説明

[Hspec,fval] = evalSpec(Req,T) は、調整された制御システム T に対して評価した調整目標の正規化された値 fval を返します。evalSpec コマンドは、この値の計算に使用される伝達関数 Hspec も返します。

[Hspec,fval] = evalSpec(Req,T,[]) は、調整目標の評価時に、調整された制御システム T に保存されるスケーリング情報を無視します。詳細については、ヒントを参照してください。

すべて折りたたむ

systune を使用して制御システムを調整し、evalSpec を使用して調整目標を評価します。

Simulink® モデル rct_airframe2 を開きます。

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');
rng default
[ST1,fSoft] = systune(ST0,[Req1,Req2,Req3,Req4]);
Final: Soft = 1.13, Hard = -Inf, Iterations = 68

ST1 は、制御システムに対する調整後のバージョンの slTuner インターフェイスです。ST1 には、モデルの MIMO コントローラーの調整可能なパラメーターの調整された値が格納されます。

調整されたシステムの余裕目標を評価します。

[hspec,fval] = evalSpec(Req3,ST1);
fval
fval =

    0.5140

この調整目標の正規化された値は 1 未満で、調整されたシステムが余裕要件を満たしていることを示しています。この調整目標の正規化された値を計算する方法の詳細については、TuningGoal.Margins のリファレンス ページを参照してください。

調整されたシステムの追従目標を評価します。

[hspec,fval] = evalSpec(Req1,ST1);
fval
fval =

    1.1327

追従要件はほぼ満たされていますが、値が 1 を超えているため、小さな違反があることを示しています。違反の詳細を調べるには、viewSpec を使用して、調整されたシステムの対応する応答に対して要件を可視化できます。

入力引数

すべて折りたたむ

評価する調整目標。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 インターフェイス オブジェクト)

出力引数

すべて折りたたむ

調整目標に関連付けられた伝達関数。状態空間 (ss) モデルとして返されます。evalSpecHspec を使用して、評価された調整目標 fval を計算します。

たとえば、Req は、指定された入力と出力間のゲイン H(s) をゲイン プロファイル w(s) に制限する TuningGoal.Gain 目標であると仮定します。この場合、Hspec は次のようになります。

Hspec(s)=1w(s)H(s).

fvalHspec のピーク ゲインです。H(s) が調整目標 fval <= 1 を満たしている場合。

調整目標に関連付けられた伝達関数の詳細については、各調整目標のリファレンス ページを参照してください。

調整要件の正規化された値。正のスカラーとして返されます。正規化された値は、調整されたシステムで要件がどの程度満たされているかを示す尺度です。fval < 1 の場合、調整要件は満たされています。各タイプの TuningGoal 要件が正規化された値に変換される方法の詳細については、各調整目標のリファレンス ページを参照してください。

ヒント

  • MIMO フィードバック ループの場合、LoopShapeMinLoopGainMaxLoopGainMarginsSensitivityRejection の目標は、各 SISO ループの相対スケーリングに敏感です。systune は、これらの目標を適用しながら、全体的なループ伝達行列のバランスを取ろうとします。最適なループ スケーリングは、systune が返す調整された閉ループ モデル CL に保存されています。整合性を取るため、evalSpec(R,CL) は調整目標の評価時にこの同じスケーリングを適用します。このスケーリングを省略するには、evalSpec(R,CL,[]) を使用します。

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

バージョン履歴

R2012b で導入

すべて折りたたむ

R2017b: evalSpec は非推奨

R2017b 以降、evalSpec は推奨されていません。代わりに evalGoal を使用してください。