最小次元状態オブザーバ…Homework
[1] 制御対象のモデルが
で与えられるとします。これに対する状態オブザーバは、微分方程式
で表され、解ベクトルは、制御対象の状態ベクトルと同じ次元数を持ちます。
いま、出力方程式(のサイズは、行フルランク)を通して、状態に関する情報が部分的に得られていることに注目します。そこで、もう一つの補完的な出力方程式(のサイズは、行フルランク)をが正則となるように適切に選んで
とすれば、状態に関する全情報が得られそうです。もちろん
を達成する仕組みが必要です。いま、その仕組みを
とします。(5)の第1式から、を掛けた(1)の第1式を辺々引くと
を得ます。ここで
を仮定し、を
とおけば
を得ます。もしが安定行列であれば、(4)を達成できます。また
を仮定すると
を得て、状態推定が行われていることがわかります。状態オブザーバ(2)と比べると、計算機内で解くべき微分方程式の解ベクトルの次元数がからに低次元化されていることになります。が正則となるためには、の行数は以下にすることはできませんから、最小次元状態オブザーバと呼ばれています。
[2] 以上から、適当なを選んで、(7)、(8)、(10)を満足し、安定行列をもつ(3)を設計することを考えます。たとえばのときはのように選びます(のサイズは)。このとき、(7)と(10)をまとめた
において、(のサイズは)のように分割すると
より、、、、は次式から求められます。
ここで、はが安定行列となるように選ぶ必要があります。そのためにはが可観測対であればよいのですが、これについてはあとで触れます。また、は(10)から定めます。
● モータの状態方程式
と出力方程式
に対する状態オブザーバの低次元化を行ってみます。ちょうどとなっているので、とおきます。設計式(15)に、、、を代入して
ここで、はとするのであればと決めます。以上から、次の低次元化された状態オブザーバが得られました。
●次図は、の下で、と変えたとき、状態オブザーバが真の状態を推定する様子をシミュレーションしています。
図1 状態推定の例
演習 A42…Flipped Classroom
次のコードを用いて図1のグラフを描け。
MATLAB |
|
SCILAB |
|
Note A42 線形関数オブザーバ
制御対象の状態空間表現
に対して、もう一つの状態空間表現
を考えます。ただし、サイズの行列とサイズの行列に対して
が満足されるものとします。このとき
から
を得ます。また
を得て、状態の線形関数の推定が行われていることがわかります。
したがって、条件(3)を満足する状態空間表現(2)は、線形関数オブザーバと呼ばれます。特にのとき、は最小次元状態オブザーバとなります。
●興味深いのは、状態フィードバック
を推定させる場合で、線形関数オブザーバの次元数が最小次元状態オブザーバの次数より小さくできる可能性があります。
たとえば機械系でよく見られる、次の1入力出力次系
および、これに対する状態フィードバック
を考えます。この状態フィードバックを推定する線形関数オブザーバは、入力1出力1次系
として得られます。実際、とを
と選べば、(3)の第2、3、4式を満足していることを次のように確かめることができます。
●状態フィードバックを推定する線形関数オブザーバ(したがって最小次元状態オブザーバ)に対しても分離定理を示すことができます。すなわち制御対象のモデル(1)に対して、の場合の(3)を満たす線形関数オブザーバ(2)による閉ループ系は
を定義すると、次式となります。
この第1式は(1)の状態方程式のに、(2)の出力方程式のを代入して
のように得られます。また、第2式は(6)そのものです。