状態方程式で表したシステム
をブロック線図で表すと、右図のようになります。
古典制御理論では、全体の出力 y を入力に対してフィードバックしました。それに対して、状態制御論におけるフィードバックは、状態変数をフィードバックします。これを状態フィードバックと言います。
具体的には、システムの入力 u に対して、
を入力します。 v は u に代わる、新しい入力です。
これを元のシステムの状態方程式、出力方程式に代入します。
この式を良く見ると、元々 A だったシステム行列が A-BF に置き換えられたシステムになったと見ることができます。
なお、(A,B)が可制御ならば(A-BF,B)も可制御、(C,A)が可観測ならば(C-DF,A-BF)も可観測です。
システムの安定性(収束性)が、システム行列の固有値に依存することはすでに説明しました。特に固有値の実部が負でなければ、そもそも不安定です。
ここでは状態フィードバックによる固有値の変化を調べてみます。
もとのシステムの固有値は、特性方程式
で得られます。状態フィードバックしたシステムの固有値は、
の解です。
ここでは、1入力1出力、2次のシステムを例にその固有値の変化を考えてみます。
とすると、
ここで、
とおくと、
となります。
一方、
なので、λ1≠λ2ならば、α1、α2を指定すれば、f1、f2を求められます(可制御なら、λ1≠λ2)。
よって、
状態フィードバックを行うと、可制御なら 元のシステムが不安定であっても安定化 し、かつ収束の特性も決めることができます。
そこで、実際の出力とシミュレータの出力の差を、シミュレータにフィードバックしてみます。
このとき、改めて誤差を計算すると、
となります。
これは、誤差 e が、行列 A ではなく、( A-LC )によって収束することを意味します。よって、状態フィードバックで示したのと同様に L の固有値を決定することにより、実システムとシミュレータの間の誤差を、システムが不安定であっても、収束させることができます。
ただし、今度は、(C,A)が可制御である必要があります。
簡単にオブザーバの設計法をまとめます。
制御において最適とはなんでしょうか。
この条件の意味は、
考え方によって、「最適」を表す方法はいくらでもあると言えますが、ここではこの後者の式を基本に考えます。
システム、
(z: 仮想的出力)
に対して、評価値
を最小とする状態フィードバックを求めてみます。
=Mによってxを、Rによってuを評価します。
解(天下り):
を状態フィードバックします。ここで、Pは、
:リカティ方程式
の解です(n次正方、正定対称)。
あるいは、なので、
と置いて、
を最小にするという表現もあります。
ここで、Rは正定対称行列、Qは半正定対称行列です。
※正定:0以外の任意のに対して、
となること。
※半正定:0位外の任意のに対して、
となること。
このようにして得た状態フィードバック系は、(A,B)が可制御、(M,A)が可観測なら必ず安定します。
1入力1出力のシステムに対して、一巡伝達関数を求め、ナイキスト線図を書くと、かならず-1+0iを中心とする半径1の円の外側を通って、0に行きます。これは、
「ゲイン余裕∞」「位相余裕60度以上」
を意味します(かなり安定)。
なお、このとき、評価値は
となります。
リカティ方程式の解き方:
システム
に対して、評価関数
を最小にする最適制御系を求めてみます。
まず、行列:
次に、リカティ方程式
を解きます。
(正定対称)として、
※
※
以上とりまとめて
となります。
1式目より、p12=+-1ですが、Pは正定である必要があるため、とりあえず、無難にp12=+1を仮定します。
2式目より、
なので、p22=-3,1 。同じく、とりあえず、p22=1とします。
すると、1式目よりp11=2になります。
仮に出したPは
です。ここで正定性の確認をします。
よって、正定です。
※他のパターン、p12=-1やp22=-3は正定になりません。
よって、
を状態フィードバックします。
このとき、状態フィードバックによって
となります。このときの固有値は
よって、固有値は(-1)の重解になっています。
以上。
最適制御により状態フィードバックされたシステムの行列は、
となります。この行列の固有値をλi、固有ベクトルをvi(i=1...n)とすると、その定義より、
もしくは
…(1)
となります。
一方、リカティ方程式、
を変形します。
これに右からviをかけ、s=λiとすると、
ここで、第2項は上の(1)式で0となっているので、
となります。
また(1)式より、
2式並べると、
となるので、
となります。
ここで、解き方その3と見比べると、その3で"ui"とされていたものは、"Pvi"に他なりません。
これを並べると、
が得られます。
前に、状態フィードバックを行うために、状態変数観測器オブザーバを使うという方法を示しましたが、これも補正用の行列Lを何らかの方法で決める必要があります。 その際に、「観測時には(センサには)ノイズが付き物。その影響をなるべく受けなくする」ことを狙った設計が最適推定です。
最適制御に比べると話がややこしいので概略だけ示します。
推定する対象となるシステムには、センサで観測するときにノイズが混じっているものとします。また、入力は任意で、何が入るかわからないとします。
ここで、w,uはホワイトノイズ(白色雑音)、すなわち、全周波数の信号を等しく含むランダムな信号とします。また、
このような、ある癖を持ったノイズがセンサ出力が混じるシステムに、任意の信号が入る状態で
つまり、
の平均値が0
となるオブザーバを考えます。
結論:
(A,B)が可制御、(C,A)が可観測の時、
でオブザーバをつくります。(2本目はリカティ方程式)
最適レギュレータのリカティ方程式と見比べると、
と置き換えれば同じになることが確認できます。これもまた双対性で、リカティ方程式の解き方としては同じになります。
LQG(Linear-Quadratic-Gaussian)コントローラは最適制御とカルマンフィルタを合体させたフィードバック制御系です。
制御対象の出力からカルマンフィルタで状態変数を推定し、それで状態フィードバックをかけます。
具体的には
(最適制御/カルマンフィルタ)
という制御式を立てます。
このままでは目標値の入力ができないため、最終的にブロック図で表すと右のようにします。目標値をいれるところを良く見ると、古典制御で目標値をいれる場所(出力と目標値の差)と同じであることがわかります。
なお、最適制御、カルマンフィルタともに古典制御に比べたら圧倒的に強力ですが、2個組み合わせるとそうとも言えなくなるそうです。それでも古典制御に比べたら強力なのはたしかです。
状態制御を使うには