状態オブザーバ…Homework
[1] 状態フィードバックは、すべての状態変数の変化を捉えてフィードバックするので、この意味で最強の手段ですが、一般には絵に描いた餅ですと言ったら驚くでしょうか?これは実際にはすべての状態変数にセンサを配置できるわけではないからです。でもちょっと待ってください。状態方程式が分かっているのですから、これを計算機内で解いてやれば良いのではないでしょうか?そのアイデアを図1に示します。
図1 状態オブザーバの考え方(1)
●いま制御対象の状態空間表現を
とします。これを計算機で解きますが、その状態と出力を区別して
で表します。(2)から(1)の第1式どうしを辺々引くと
を得ます。ここでが安定行列でない限り
とはなりません。
●そこで、図2に示すような工夫が行われました。
図2 状態オブザーバの考え方(2)
(2)の状態方程式に次のような補正項を加えます。
すなわち
ここで、は適合するサイズを持つ行列です。(6)から(1)の第1式どうしを辺々引くと
を得ます。ここでが安定行列であるとすると
が成り立ちます。すなわち(6)の状態は、制御対象の状態を漸近的に推定することができます。が安定行列である(6)を状態オブザーバ、行列をオブザーバゲインと呼びます。
さて、任意の正方行列に対してであることに注意して
が成り立ちます。これからを安定行列とするためには、状態方程式
に対する状態フィードバック
による閉ループ系が
となるので、これを安定化する(12)を求めて、オブザーバゲインを決定すればよいことが分かります。
状態方程式(10)をもつ物理系は存在せず、双対システムと呼ばれる仮想的なシステムであり、このシステムに対する状態フィードバック(11)の設計を通して、状態オブザーバの設計ができることになります。
[2] モータの状態方程式
と出力方程式
に対する状態オブザーバ
を、の固有値が
となるようにオブザーバゲインを求めます。ここでは
における係数比較から直接求めてみます。
を(17)に代入して
ここで係数比較により次式を得ます。
これらから定まるオブザーバゲインを用いて、状態オブザーバは次式のように構成されます。
●次図は、の下で、と変えたとき、状態オブザーバが真の状態を推定する様子をシミュレーションしています。
図3 状態推定の例
演習 A41…Flipped Classroom
次のコードを用いて図3のグラフを描け。
MATLAB |
|
SCILAB |
|
[3] 次系
に対する状態フィードバックは、状態オブザーバを用いて、次のように実施されます。
すなわち
これをオブザーバベースコントローラと呼びます。ここで、とは安定行列ですが、が安定行列と限らないことに注意してください。また、
とおくとき、オブザーバベースコントローラは次式でも表せることに注意してください。
さて、オブザーバベースコントローラ(23)による閉ループ系は次式となります。
ここで、座標変換
を行うと、
に注意して、閉ループ系の状態方程式として、次式を得ます。
したがって、の固有値は、との固有値からなり、オブザーバベースコントローラによる閉ループ系は漸近安定であることが分かります。このことは状態フィードバックゲインの設計は状態オブザーバゲインの設計とは独立して行ってよいことを意味しており、大変重要な性質(分離定理)として知られています。