補償器によるSM制御…Homework
[1] 制御対象
に対するSM制御則の線形制御部を、補償器
を用いて実現することを考えます。このときのスイッチング関数を
とします。
●出力FB型SM制御(p>m)の議論により、次のSM標準形を得ているものとします。
このとき、とおくと
および
●(18.1)と(2′)を結合し、を用いて、次式を得ます。
とを入れ替えて
ここで、を、、に分割し、座標変換
を行って、次式を得ます。
以前の議論と同様に、が安定行列であることを前提として、を安定行列とするを求めます。
[2] 一つのアプローチとして
に対する安定化状態フィードバック則を
とします。ここで、のすべての要素は観測できないので、関数オブザーバ
を考え、この出力に安定化状態フィードバック則を推定させます。すなわち
そのためには、関数オブザーバの状態も適当な状態の線形関数を推定する必要があり、これを次のように表します。
いまを適当に与えたとき、関数オブザーバのパラメータは
を解いて
ここで、はが安定行列となるように選んでおきます。また
以上を踏まえて、と選び、線形関数オブザーバを
とみなせば、第2式を第1式に代入して
ただし
となって、補償器を得ていることになります。以下では、この補償器を用いたSM制御則の構成法について検討します。
[3] 制御対象の状態方程式と観測方程式は、それぞれ(18.1)と(18.2)から次式で与えられます。
補償器は(16′)から次式で与えられます。
このとき補償器を合わせた制御対象のダイナミックスは次式のように表すことができます。
ここで、が安定行列であることは前提条件であり、または安定行列となるようにオブザーバゲインを決めます。
●(12)における推定誤差を
で定義します。補償器の状態方程式は
となることから、次式すなわち(19.2)の下段式を得ます。
●(17.1)の第1式から
ここで、の場合の目標となるダイナミックスを次式で表します。
両者の状態の誤差を
とすると、次式すなわち(19.2)の上段式を得ます。
●(19.1)の第3式と第4式は、それぞれ(17.1)の第3式と第4式から次式のように得られます。
ちなみに(19.1)の第1式と第2式は、それぞれ(24)と(18)です。
●このときスイッチング関数(3′)は
と表すことができます。
[4] 以上の準備のもとで、補償器によるSM制御則を次のように構築します。これは次のように線形制御部とスイッチング部からなります。
線形制御部を、SM標準形(19.1)に基づいて次式のように決めます。
ここで、、は(19.1)で定義されます。または、(17.2)より
と表せることに注意して、次の補償器の出力として得ます。
スイッチング部を、次式のように決めます。
ここで、は(3”)で与えられます。また、は適当な安定行列を与えて
の解として求め、または
●以上に基づく設計手順を、数値例で示します。
MATLAB |
%ex2_of_sm.m
%-----
clear all, close all
%(A,B,C)
A=[-2 1 0 0;
0 0 4 1;
0 1 0 0;
1 -6 -9 -2];
B=[0;0;0;1];
C=[0 0 1 0;
0 0 0 1];
[nn,mm]=size(B);
[pp,nn]=size(C);
%-----
[Af,Bf,Cf,r,Ta,Aa,Ba,Ca,Tb,T,Ac,Bc,Cc,Tc]=ca_form1(A,B,C)
%-----
%Assumes the triple (A,B,C) is in the canonical form of Lemma 5.3
%p1 is an nn-pp-r vector containing the desired poles of (A22o+Lo A21o)
%p2 is an nn-mm-r vector containing the desired poles of (A11tilde-A122 K)
%p3 is an mm vector representing the poles of the range space dynamics
A11o=Af(1:r,1:r);
A12o=Af(1:r,r+1:nn-pp);
A22o=Af(r+1:nn-pp,r+1:nn-pp);
A21o=Af(nn-pp+1:nn-mm,r+1:nn-pp);
A121m=Af(1:r,nn-pp+1:nn-mm);
A122m=Af(r+1:nn-pp,nn-pp+1:nn-mm);
A22m=Af(nn-pp+1:nn-mm,nn-pp+1:nn-mm);
A121=Af(1:r,nn-mm+1:nn);
A122=Af(r+1:nn-mm,nn-mm+1:nn);
A211=Af(nn-mm+1:nn,1:r);
A212=Af(nn-mm+1:nn,r+1:nn-pp);
A213=Af(nn-mm+1:nn,nn-pp+1:nn-mm);
A22=Af(nn-mm+1:nn,nn-mm+1:nn);
A11tilde=[A22o A122m;A21o A22m];
A1221=A122(1:nn-pp-r,:);
A1222=A122(nn-pp-r+1:nn-mm-r,:);
%-----
p1=-2.5
Lo=place(A22o',A21o',p1)
Lo=Lo';
%-----
p2=[-1,-1.5]
calK=place(A11tilde,A122,p2)
K1=calK(:,1:nn-pp-r)
K2=calK(:,nn-pp-r+1:nn-mm-r)
%-----
H=A22o+Lo*A21o
D1=A122m+Lo*A22m-H*Lo
D2=A1221+Lo*A1222
K=K2-K1*Lo
Kc=K1
Hhat=[A11o A12o;
zeros(nn-pp-r,r) H]
Dhat=[A121m-A12o*Lo A121;
D1 D2]*T'
%-----
S2=eye(mm);
S=S2*[zeros(mm,r) Kc K eye(mm)]
Ahat=[A11o A12o A121m-A12o*Lo A121;
zeros(nn-pp-r,r) H D1 D2;
zeros(pp-mm,r) A21o A22m-A21o*Lo A1222;
A211 A212 A213-A212*Lo A22]
p3=-5
Phi=diag(p3)
Lambda=S*Bf
L=-inv(Lambda)*S*Ahat+inv(Lambda)*Phi*S
P=lyap(Phi',eye(mm))
%-----
%eof
|
図1 補償器によるSM制御のシミュレーション例