[0] 次の2入力2次系
に対して2つの異なる状態フィードバック
による閉ループ系は、それぞれ
となって、同じ固有値-2,-3を持ちます。このように多入力系では閉ループ系の固有値を指定しても状態フィードバックは一意に定まりません。これは固有ベクトルの指定に任意性があるからです(ちなみに1入力系では一意に定まります)。そこで、上の2つの閉ループ系の固有ベクトルを求めてみると
また応答は次式となります。
明らかに(5)ではモードとが分離していますが、(6)ではそれらがミックスされています。このように、多入力系の場合の状態フィードバックの設計は、モードをどのように分布させるかがポイントとなります。
[1] 実固有値の場合
より、とは、サイズの行列の零化空間の基底行列に対して、適当な次元ベクトルを用いて
のように表されます。そこで望ましい固有ベクトルを与えて
を解いてを求めます。ただし、望ましい固有ベクトルのすべての成分を指定できるわけではないので
の最小2乗解としてを定めます。ここで、セレクタ行列により、望ましい固有ベクトルの指定された個の成分だけを集めたが得られるとしています。
このとき、割当可能なとは次式で与えられます。
●もしが正則ならば
より、とが特定できます。(8)より
となって、指定した固有ベクトルを近似するを直接求めることができます。
●具体的に、(1)に対して、固有値-2,-3を持たせる状態フィードバックを、対応する固有ベクトルが(4)のとなるように求めてみます。
状態フィードバックゲインは
[2] 複素共役固有値の場合
より、とは、サイズの行列の零化空間の基底行列に対して、適当な次元ベクトルを用いて
のように表されます。そこで望ましいを与えて
の解としてを求めますが、とが独立ではないので、その求解には工夫が必要です。ここでは、Edwards and Spurgeon に従って、その手順を述べます。
まず、行列に対して、の零化空間の基底行列をで表すと、よりを得て、の零化空間の基底行列は、すなわちとなることに注意します。同様に行列に対して、の零化空間の基底行列をで表すと、の零化空間の基底行列は、すなわちとなります。そこで、
に注意して、の零化空間の基底行列を用いて、望ましいを与えて
を解いてを求めます。ただし、望ましいのすべての成分を指定できるわけではないので
の最小2乗解としてを定めます。ここで、セレクター行列により、望ましいの指定された個の成分だけを集めたが得られるとしています。
このとき、割当可能なは次式で与えられます。
これは(14)のを、それぞれとで定めれば(は疑似逆行列を表す)、対応するは次式で与えられます。
[3] 複素共役固有値の場合(別のアプローチ)
(17)は次式のようにも表すことができます。
したがって、[2]において
と置き換えて同様の議論ができそうです([2]の議論と等価であるかは検討中です)。
●もしが正則ならば、公式
を参照すると
を計算できます。そこで
より、とが特定できます。(8)に相当する式より
となって、指定した固有ベクトルの実部と虚部を近似するとを直接求めることができます。
●具体的に、(1)に対して、固有値を持たせる状態フィードバックを、対応する固有ベクトルが
となるように求めてみます。
状態フィードバックゲインは
演習C42…Flipped Classroom
(16)と(33)の計算を行う次のプログラムを実行せよ。
MATLAB |
|
1入力系の場合は、specposとspecentは乱数で与えてよい、なぜか?
MATLAB |
|
Note C42 固有ベクトル設定プログラム
これはEdwards and Spurgeonによるプログラムspvplを基に作成できます。