極配置
閉ループの極の位置は、立ち上がり時間、整定時間、遷移部の振動等の時間応答特性に直接影響します。根軌跡では、SISO システムの設計仕様を満たすために、補償器ゲインを使用して、閉ループ極を移動します。ただし、閉ループ極を割り当てるには、状態空間法を使用できます。この設計法は "極配置" として知られており、根軌跡を使用する方法とは次の点で異なります。
極配置手法を使用すると、ダイナミックな補償器を設計できます。
極配置手法は、MIMO システムにも適用できます。
極配置は、システムの状態空間モデルを必要とします (関数 ss
を使用して、状態空間モデルに他の形式のモデルから変換)。連続時間では、このようなモデルは次のように表せます。
ここで、u は制御入力のベクトル、x は状態ベクトル、y は測定値のベクトルです。
状態フィードバック ゲインの選択
状態フィードバック で、閉ループのダイナミクスは以下によって与えられます。
閉ループの極は A-BK の固有値です。関数 place
を使用して、複素平面の目的の位置に極を配置するゲインの行列 K を計算します ((A,B) が制御可能な場合)。
たとえば、状態行列 A
と B
、閉ループ極を目的の位置に含むベクトル p
に対して、
K = place(A,B,p);
は、近似ゲイン行列 K
を計算します。
状態推定器設計
完全な状態の x が測定されない限り、状態フィードバック則 は実装できません。ただし、規則 がよく似た極配置と閉ループ プロパティを保つような状態推定 の構成はできます。このことは、状態推定器 (オブザーバー) を設計する次の形式で実現できます。
ここで、(C, A) が可観測とすると、推定器の極は A-LC の固有値であり、推定器のゲイン行列 L を適切に選択することによって任意に割り当てられます。一般に、推定器のダイナミクスは、コントローラーのダイナミクス (A-BK の固有値) より高速にする必要があります。
関数 place
を使用して、行列 L を計算できます。
L = place(A',C',q).'
ここで、A
は状態行列、C
は出力行列、q
はオブザーバーに対する目的の閉ループ極を含むベクトルです。
で x をその推定 に置き換えると、ダイナミック出力フィードバック補償器が得られます。
生成される閉ループのダイナミクスは次のとおりです。
したがって、A-BK と A-LC の固有値を個別に配置することにより、すべての閉ループの極を割り当てることになります。
例
以下の連続時間状態空間モデルを想定します。
sys_pp = ss(A,B,C,D)
7 出力 4 入力とし、以下を設計します。
制御入力としてプラント入力 1、2、および 4 を使用する状態フィードバック コントローラー ゲイン
K
センサーとして 4、7、1 のプラント出力を使用するゲイン
L
を含む状態推定器追加の既知入力としてのプラント入力 3
次のコードを使用して、コントローラーと推定器を接続し、ダイナミック補償器を作成します。
controls = [1,2,4]; sensors = [4,7,1]; known = [3]; regulator = reg(sys_pp,K,L,sensors,known,controls)
極配置ツール
以下を行う関数を使用できます。
目的の閉ループの極配置を行うためのゲイン行列 K と L の計算
これらのゲインを使用した状態推定器とダイナミック補償器の作成
次の表は、極配置のための関数の概要です。
注意
非現実的な極の位置が選択される場合、極配置は不適切になる場合があります。特に次のことは避けてください。
複数の極を同じ位置に配置する。
弱い可制御性、可観測性の極を移動する。これには、一般に高いゲインを必要とします。つまり、外乱に非常に敏感な全閉ループ固有構造を作成することになります。