【本章のねらい】 ・1次系,2次系の状態フィードバックの最適設計を,リッカチ方程式を解いて行う。 ・ リッカチ方程式を解くMファイルを理解し,これを用いて高次系の状態フィードバックの最適設計を行なう。 ・ オブザーバベースト・コントローラの最適設計を,リッカチ方程式CAREを解いて状態フィードバックを,またリッカチ方程式FAREを解いてオブザーバゲインを求めて行う。 |
5.1 状態フィードバックの最適設計
可制御な入力出力次線形系(次系)
を安定化する状態フィードバック の決定法を改めて考える。一つの方法は,閉ループ系 の時間応答に関する評価規範として,2次形式評価関数 を設定し,これを最小化する問題を解くことである。ただし,,(,は正定行列。テキスト「線形システム制御入門」の2.2.3節を参照。), の解を用いて,次式で与えられる。 |
まず,1次系の場合を考える。
例題5.1 時定数と定常ゲインをもつ1次系 に対して,評価関数 を最小にするように,状態フィードバックを決定せよ。 の解を求めると より,求めるゲインは |
演習5.1 例題5.1において,,とする。このとき,つぎの重み係数をもつ評価関数を最小にするを決定せよ。
(1) ,
(2) ,
(3)
また,のとき,閉ループ系の時間応答をMATLABでシミュレーションせよ。
つぎに,2次系の場合を考える。
例題5.2 2次系 を安定化する状態フィードバックを,評価関数 を最小にするように求めよ。 を要素ごとに整理して を得る。これは,まず第1式よりが2つ,つぎに第3式よりが2つ,さらに第2式よりが1つ定まり,つぎのように4組の解をもつ。すなわち ここで,(1)だけが,を満たす |
演習5.2 つぎの2次系について,例題5.2と同じ問題設定で解け。
例題5.3 2次系
を安定化する状態フィードバックを,評価関数 を最小にするように求めると となることを示せ。 を要素ごとに整理して を得る。まず,第1式よりが と求まる。つぎに,第3式よりは となるが,より でなければならない。さらに,第2式よりは となるが,より,
でなければならない。このときも満足される。したがって |
演習5.3 2次系
について,例題5.3と同じ問題設定で解くと
のように与えられることを示せ。
ちなみに,例題5.3において,評価関数
を最小にするように求めると となる。演習5.3においては となる。これらから重み係数との与え方の指針を得ることができる(テキスト「線形システム制御入門」の第5章演習問題【1】参照。また(??),(??)の導出についてはそれぞれ第5章例題5.1と演習問題【2】参照。)。 |
さて,リッカチ方程式を計算機を用いて解くときは,ハミルトン行列の安定固有値と対応する固有ベクトルを
のように求めて,状態フィードバックゲインを によって得る。 |
例題5.4 リッカチ方程式を解き,状態フィードバックゲインと閉ループ系の固有値を求めるMファイル
[F,p]=opt(A,B,C,Q,R) を準備し,例題5.2を解け。 %opt.m ここで,4行目でハミルトン行列の固有値問題を解き,安定固有値の添字を5行目の index に得て,リッカチ方程式の解 X を得ている。 例題5.2を解くには,MATLABにつぎのコマンドを与えればよい。 %lqr.m また, p が閉ループ系の固有値に等しいことは, eig(A-B*F) としてみれば確認できる。 |
演習5.4 演習5.2を,例題5.4にならって,MATLABで解け。
演習5.5 3次系
を安定化する状態フィードバックを,つぎの評価関数を最小にするように求めよ。
演習5.6 4次系
を安定化する状態フィードバックを,つぎの評価関数を最小にするように求めよ。
5.2 オブザーバベースト・コントローラの最適設計
オブザーバベースト・コントローラによる閉ループ系の時間応答に関する評価するために,つぎのブロック線図を考える。
ここで,新しい入力とがそれぞれとの平方根行列(に対しを満足する行列をで表す。) この次系 に対して,オブザーバベースト・コントローラ による閉ループ系は,次式で表される。 このインパルス応答行列 に関する評価規範として を設定し,これを最小化する問題を解くことができる(は行列のトレース)。その詳細は割愛するが, Step 1 行列方程式 の解を求めて,つぎの状態フィードバックのゲイン行列を定める。 Step 2 行列方程式 の解を求めて,つぎの状態オブザーバのゲイン行列を定める。 |
例題5.5 1次系に対するオブザーバベースト・コントローラを,
において,,,と選んで構成せよ。 |
演習5.7 1次系に対するオブザーバベースト・コントローラを,
例題5.5のCAREにおいて,,FAREにおいて,と選んで構成せよ。
例題5.6 LQG制御則を設計するためのMファイルを作成せよ。
[AK,BK,CK,pK,pcare,pfare] = optobc(A,B,C,CC,Q,R,BB,W,V) 解答 例題5.4で作成したMファイル opt.m を用いる。 %optobc.m |
演習5.8 演習5.7を,例題5.6で作成したMファイル optobc.m を用いて解け。
演習問題の解答
【演習5.1】
(1) ,
(2) ,
(3) 。
MATLABによるシミュレーションはつぎのように行えばよい。
%lqr1.m
T=1; K=1; a=-1/T; b=K/T; c=1; t=0:0.1:5; x0=1;
s0=ss(a,b,c,0); y0=initial(s0,x0,t);
f1=-1+sqrt(2); s1=ss(a-b*f1,b,c,0); y1=initial(s1,x0,t); u1=-f1*y1;
f2=-1+sqrt(3); s2=ss(a-b*f2,b,c,0); y2=initial(s2,x0,t); u2=-f2*y2;
f3=-1+sqrt(11); s3=ss(a-b*f3,b,c,0); y3=initial(s3,x0,t); u3=-f3*y3;
figure(1),subplot(121),plot(t,y0,t,y1,t,y2,t,y3),grid,title(‘y’)
figure(1),subplot(122),plot(t,u1,t,u2,t,u3),grid,title(‘u’)
【演習5.2】
(1)リッカチ方程式
を要素ごとに整理して
を得る。を満たす解は,。
したがって
%[f,p]=opt([0 1;0 -1],[0;1],[1 0],1,1)
(2)リッカチ方程式
を要素ごとに整理して
を得る。を満たす解は,。したがって
%[f,p]=opt([0 1;-1 0],[0;1],[1 0],1,1)
【演習5.3】
リッカチ方程式
を要素ごとに整理して
を得る。を満たすものを選ぶと
を得る。これらを用いて,との表現式が,例題??と同様にして得られる。
【演習5.4】
%lqr2.m
A=[0 1;0 -1]; B=[0;1]; C=[1 0]; Q=1; R=1;
[F,p]=opt(A,B,C,Q,R);
sys=ss(A-B*F,B,eye(2,2),0); x0=[1;0];
t=0:0.1:10; x=initial(sys,x0,t)’; y=C*x; u=-F*x;
figure(2),subplot(121),plot(t,y),grid,title(‘y’)
figure(2),subplot(122),plot(t,u),grid,title(‘u’)
(2)の場合,A=[0 1;-1 0] と書き換える。
【演習5.5】
%lqr3.m
A=[0 1 0;0 0 0;0 0 -1]; B=[0 0;1 -1;0 1]; C=[1 0 0;0 0 1];
[F,p]=opt(A,B,C,1,1)
【演習5.6】
%lqr4.m
A=[0 0 1 0;0 0 0 1;-1 1 0 0;1 -1 0 0]; B=[0;0;1;0]; C=[0 1 0 0];
[F,p]=opt(A,B,C,1,1)
【演習5.7】
CARE:に,,,,を代入して,。より。
したがって,状態フィードバックゲインは,。
FARE:に,,,,を代入して,。より,。
したがって,オブザーバゲインは,。
以上から,オブザーバベースト・コントローラが,つぎのように得られる。
【演習5.8】
%lqr5.m
[A