ゲイン スケジュール制御システムの検証
調整後のゲイン スケジュールは慎重に検証する必要があります。調整プロセスが適切なパフォーマンスを保証するのは、各設計点の近傍でのみです。さらに、調整ではプラントの状態変数とスケジューリング変数の動的な結合は無視されます ([1]の 4.3 節「Hidden Coupling」を参照してください)。検証のベスト プラクティスは次のとおりです。
調整後のゲイン曲面を調査し、それらが滑らかで適切に動作することを確認します。
調整目標をシステム応答に対してすべての設計点で可視化します。
調整後の制御システムの設計点間における線形性能をチェックします。
完全な非線形システムのシミュレーションでゲイン スケジュールを検証します。
σ 値の、設計に使用していたものよりさらに密なグリッド上での線形性能をチェックします。適切な線形性能が設計点の間で保持されていない場合、設計点をさらに追加して再調整します。
操作範囲全体で閉ループ システムを駆動する非線形シミュレーションを実行します。スケジューリング変数の急速な変動を引き起こす操作には特に注意してください。
調整後のゲイン曲面の確認
調整後、スケジューリング変数の関数として調整されたゲインを調査して、それらが操作範囲で滑らかであり、整っていることを確認します。viewSurf
コマンドを使用して、調整されたゲイン曲面を可視化します。
調整目標の可視化
調整目標プロットを使用して、設計要件を調整後の制御システムの線形応答に対して可視化します。調整目標プロットは、調整目標のどの領域をどの程度達成しているか、あるいは違反しているかをグラフィカルに示します。この可視化によって、制御システムが理想的な性能にどの程度近いかを確認することができます。また、調整の問題点を特定し、設計を改善する方法のヒントを得ることもできます。
調整目標プロットの使用に関する一般情報については、調整目標の可視化を参照してください。ゲイン スケジュール制御システムの場合、viewGoal
で生成した調整目標プロットは、調整目標が結果にどのように寄与するかの評価に役立つ追加の情報を提供します。
固定調整目標
複数の設計点に適用された固定調整目標の場合、viewGoal
はそれらすべての設計点での関連するシステム応答をプロットします。たとえば、slTuner
インターフェイス ST
を、化学反応器のゲイン スケジュール制御で説明されている rct_CSTR
モデル用に調整するとします。viewGoal
を使用して、この例の 5 つの設計点のそれぞれがゲイン目標の R3
をどの程度満たしているかを確認できます。結果のプロットには 5 つすべての設計点での関連するゲイン プロファイルが表示されます。ゲイン ラインのいずれかをクリックすると、スケジューリング変数 Cr
の対応する値が表示されます。
viewGoal(R3,ST)
可変調整目標
varyingGoal
で作成した可変目標は、設計点ごとに異なるターゲット応答を適用します。viewGoal を使用して可変目標を調べる場合、プロットにはまず設計グリッドの最初の設計点でのターゲット応答と調整後の応答が表示されます。たとえば、グリッド全体にわたり変化する可変目標 Rv
を使用して、制御システム ST
を 2 つのスケジューリング変数の設計グリッドで調整すると仮定します。調整後に Rv
を調べます。
viewGoal(Rv,ST)
[CHANGE] をクリックするとスライダーが開き、ターゲット応答と調整された応答を表示する設計点を選択できます。
線形性能のチェック
調整目標に関連付けられた線形応答を調べるだけでなく、システムの他の線形応答をチェックして、動作が適切であることを確認できます。そのためには調整された制御システムの検証の一般的な説明に従って、システム応答を抽出してプロットします。
ゲイン スケジュール システムの場合、設計時に使用したものより密度の高い操作点グリッドで線形性能をチェックすることをお勧めします。システムが設計点間で適切な線形性能を維持しない場合、設計点をさらに追加して再調整することができます。
非線形システムのゲイン スケジュールの検証
systune
は、各設計点で取得された線形化に対してゲイン スケジュールを調整するので、調整結果を完全な非線形システムのシミュレーションでテストすることが重要です。操作範囲全体で閉ループ システムを駆動する非線形シミュレーションを実行します。スケジューリング変数の急速な変動を引き起こす操作には特に注意してください。
slTuner
インターフェイスの調整後、このようなシミュレーションのために writeBlockValue
(Simulink Control Design) を使って調整後のコントローラー パラメーターを Simulink® モデルに書き込みます。このコマンドは、tunableSurface
パラメーター化を指定してあるルックアップ テーブル ブロック、Matrix Interpolation ブロック、および MATLAB Function ブロックに調整後のゲイン スケジュールを書き込むことができます。
ルックアップ テーブル
ルックアップ テーブルと Matrix Interpolation ブロックの場合、writeBlockValue
は調整後のゲイン曲面をブロックに指定されたブレークポイントで自動的に評価します。これらのブレークポイントは、調整に使用される設計点と同じでなくてもかまいません。tunableSurface
はゲイン スケジュールをパラメトリック形式で記述するので、writeBlockValue
は任意のスケジューリング変数値でのゲインを評価できます。
設計点のサブセットを再調整した場合、writeLookupTableData
(Simulink Control Design) を使ってルックアップ テーブル データの一部のみを更新し、残りの部分はそのままにできます。
MATLAB Function ブロック
MATLAB Function ブロックとして実装されたゲイン スケジュールの場合、writeBlockValue
は自動的に MATLAB® コードを生成して、ブロックにプッシュします。生成された MATLAB 関数は、スケジューリング変数を受け取り、tunableSurface
の調整後のパラメトリック式で与えられるゲイン値を返します。特定のゲイン曲面についてこの MATLAB コードを確認するには、codegen
コマンドを使用します。
参照
[1] Rugh, W.J., and J.S. Shamma, "Research on Gain Scheduling", Automatica, 36 (2000), pp. 1401-1425.
参考
viewSurf
| codegen
| writeBlockValue
(Simulink Control Design) | writeLookupTableData
(Simulink Control Design) | viewGoal