調整目標の可視化
systune
または制御システム調整器で制御システムを調整する場合、調整目標プロットを使用して、設計要件を調整後の制御システム応答に対して可視化することができます。調整目標プロットは、調整目標のどの領域をどの程度達成しているか、あるいは違反しているかをグラフィカルに示します。この可視化によって、制御システムが理想的な性能にどの程度近いかを確認することができます。また、調整の問題点を特定し、設計を改善する方法のヒントを得ることもできます。
調整目標プロット
調整目標プロットを取得する方法は、作業環境によって異なります。
コマンド ラインでは
viewGoal
を使用します。制御システム調整器では、作成した各調整目標によって調整目標プロットが生成されます。制御システムを調整すると、これらのプロットが調整後の設計を反映して更新されます。
調整目標プロットの形式は、使用する特定の調整目標によって異なります。
時間領域の目標
時間領域の調整目標の場合、調整目標プロットは関連するシステム応答の時間領域プロットになります。例ディーゼル エンジンの MIMO 制御を基にする次のプロットは、時間領域の外乱の抑制目標の典型的な調整目標プロットを示すものです。破線は調整目標に指定された許容可能な最悪のステップ応答を表します。実線は調整されたシステムの対応する応答を示します。
周波数領域の目標
周波数領域の調整目標のプロットは、周波数領域におけるターゲット応答と調整された応答を表します。例ジェット旅客機の固定構造自動操縦を基にする次のプロットは、ゲイン目標 (コマンド ラインでの TuningGoal.Gain
) のプロットを示すものです。この調整目標は、指定された入力と出力間のゲインを周波数依存プロファイルに制限します。このプロットでは、破線が調整目標に指定されたゲイン プロファイルを示します。調整後のシステム応答 (実線) が影付きの領域に入る部分は調整目標に違反しています。この場合、すべての周波数で調整目標が満たされています。
余裕目標
安定余裕目標の調整目標プロットの解釈の詳細については、制御システムの調整における安定余裕を参照してください。
破線と影付き領域の相違点
周波数領域の調整目標の場合、調整目標に指定したゲイン プロファイルと、ソフトウェアが調整に使用するプロファイルが異なる可能性もあります。この場合、プロットの影付きの領域が、ソフトウェアで調整に使用されているプロファイルを反映しています。指定したゲイン プロファイルと、調整に使用されるゲイン プロファイルが異なる場合には、次の理由が考えられます。
制御システムを離散時間で調整しているが、ゲイン プロファイルの指定は連続時間になっている。
数値的な安定性を改善するために、指定されたゲイン プロファイルの漸近線をソフトウェアが変更した。
離散時間調整のための連続時間ゲイン プロファイル
離散時間制御システムを調整するときに、離散時間または連続時間の伝達関数を使用して周波数依存の調整目標を指定できます。連続時間の伝達関数を使用する場合、調整アルゴリズムは調整を行う前に伝達関数を離散化します。たとえば、次のような調整目標を指定するとします。
W = zpk([],[0 -150 -150],1125000);
Req = TuningGoal.MaxLoopGain('Xloc',W);
さらに、systune
で調整目標を使用して離散時間の genss
モデルまたは slTuner
インターフェイスを調整すると仮定します。CL
は結果の調整済み制御システムです。結果を確認するには、調整目標プロットを生成します。
viewGoal(Req,CL)
プロットには、指定した連続時間最大ループ ゲイン W
が破線で表示されます。影付きの領域は、systune
が調整に使用する W
の離散化されたバージョンを示します。離散化された最大ループ ゲインは、CL
のサンプル時間に対応するナイキスト周波数でカットオフされます。このカットオフの近くで影付きの領域は破線から離れています。
プロットは、離散時間調整の調整目標を指定するには、離散時間のゲイン プロファイルを使用する方が望ましい場合もあることを強調しています。特に、離散時間プロファイルを指定することで、ナイキスト周波数近くのゲイン プロファイルの挙動をより詳細に制御できるようになります。
数値的安定性のための変更
周波数依存の指定がある調整目標を使用すると、調整アルゴリズムは周波数重み付け関数を使って調整目標の正規化された値を計算します。この重み付け関数は、ユーザーが指定するゲイン プロファイルから導出されます。数値を処理できるよう、重み付け関数は安定かつプロパーでなければなりません。数値的な安定性のため、そのダイナミクスは制御システムのダイナミクスと同じ周波数範囲になければなりません。上記の理由から、ソフトウェアは指定されたゲイン プロファイルを変更して、望ましくない低周波数や高周波数のダイナミクスまたは漸近線を排除する可能性があります。数値的な条件を改善するために調整目標を変更するプロセスは、"正則化" と呼ばれます。
たとえば、次の追従目標について考えます。
R1 = TuningGoal.Tracking('r','y',tf([1 0 0],[1 2 1])); viewGoal(R1)
ここでは制御帯域幅が約 1 rad/s で、ゲイン プロファイルは s = 0 で 2 つの零点をもちます。これは、重み付け関数で不安定な極となります (詳細については、TuningGoal.Tracking
を参照してください)。正則化によってこれらの零点が約 0.01 rad/s に移動され、最大追従誤差は約 10–3 (0.1%) で平坦になります。追従の精度を改善する必要がある場合、誤差プロファイルでカットオフ周波数を明示的に指定できます。
R2 = TuningGoal.Tracking('r','y',tf([1 0 5e-8],[1 2 1])); viewGoal(R2) set(gca,'Ylim',[1e-4,10])
ただし、数値的な安全性のため、正則化された重み付け関数は、指定されたゲイン プロファイルに関係なく常に超低周波数および超高周波数で平坦になります。
正則化された関数へのアクセス
コマンド ラインで作業する場合、getWeight
または getWeights
コマンドで正則化されたゲイン プロファイルを取得できます。詳細については、調整アルゴリズムで正規化を実行する個々の調整目標のリファレンス ページを参照してください。
制御システム調整器では、正則化された重み付け関数を直接表示できません。代わりに調整目標コマンドを使用して等価の調整目標を生成し、getWeight
または getWeights
を使って正則化された関数にアクセスします。
調整結果の改善
調整の結果が設計要件を適切に満たしていない場合、調整目標セットを変更して結果を改善します。以下に例を示します。
必須要件である調整目標を厳密な目標として指定します。または、絶対要件ではない調整目標を柔軟な目標として指定して緩和します。
周波数領域の目標を適用する周波数範囲を制限します。
制御システム調整器では、調整目標ダイアログ ボックスの [周波数範囲の目標を適用] フィールドを使用します。
コマンド ラインでは、
TuningGoal
オブジェクトのFocus
プロパティを使用します。
調整の結果が設計要件を満たしている場合、調整された制御システムの検証の説明に従って調整された制御システムを検証できます。