[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を基に作成できます。