平成
18
年3
月22
日-23
日MATLAB/Simulink
による制振入門講座福井大学工学部機械工学科 川谷 亮治
Email:[email protected] http://feedback.mech.fukui-u.ac.jp/
目 次
1.
はじめに2.
柔軟ビームに対するモデリング2.1
制御目的2.2
微分方程式2.3
状態空間モデル2.4
数値例3.
1
自由度振動系3.1
状態空間モデル3.2
パラメータと応答との関係3.3
状態フィードバック制御3.4
設計例4.
可制御性と状態フィードバック制御4.1
可制御性4.2
状態フィードバック制御4.3
設計例14.4
最適レギュレータ4.5
最適レギュレータ問題の解4.6
設計例25.
状態オブザーバ5.1
全状態オブザーバ5.2
可観測性5.3
設計例5.4
全状態オブザーバを用いたフィードバック制御系6.
ループ整形設計手法6.1
ロバスト制御の必要性6.2
H
∞ノルム6.3
スモールゲイン定理6.4
H
∞ノルム評価に基づく制御系設計仕様6.5
LSDP
6.6
設計例1
はじめに長大橋や超高層ビルなどの大型構造物は,その柔軟さゆえに地震や風などの外力を受け ることで振動が発生する。高速・軽量化された産業用ロボットアームや高所作業用ロング アームなどでも同様である。これらの対象において発生した振動を制御することは,居住 性・安全性・作業の高効率化などの点から必要な事項である。本稿では,フィードバック 制御を活用してこのような振動を制御する問題について考える。
本稿で具体例として取り上げる対象は,図
1.1
に示す両端単純支持梁である。これは,長大橋の簡易モデルとして考えることができる。
図
1.1:
両端単純支持梁第
2
章で本制御対象に対する微分方程式を導出し,状態空間モデルを求める。その際に,設計において考慮すべきモデルのもつ不確かさについても触れる。本モデルは,厳密には 無限次元の振動モードの重ねあわせとして表すことができるが,そのうちの一つの振動 モードを取り上げ,それに対する解析とフィードバック制御による振動制御の考え方,設 計方法について第
3
章で述べる。第4
章では可制御性を紹介し,極配置法ならびに最適レ ギュレータ法による設計の考え方を述べるとともに,両端単純支持梁(
以降,柔軟ビーム)
に対して設計ならびに結果の評価を行う。これらの設計法はいずれも状態フィードバック 制御を前提としているので,それを実現するために第5
章で状態オブザーバについて述べ る。ところで,柔軟性を有する対象に対して振動制御系を構成する場合,第2
章で触れた モデルのもつ不確かさを前提として性能改善を図る必要がある。そこで,周波数整形の立 場で設計が行えるループ整形設計手法を紹介する。本文中にはMATLAB/SIMULINK
による例題や演習問題が用意されているので,理解を深める意味で利用してもらいたい。2
柔軟ビームに対するモデリング2.1
制御目的本稿における制御目的は 何らかの原因により柔軟ビーム中に発生した弾性振動をアク ティブに制御し,すばやく低減すること である。その目的を達成するために,柔軟ビー ムのある地点
(x = x
s)
に取り付けた歪ゲージにより振動を検出し,それに基づいて柔軟 ビームのある地点(x = x
a)
に適切に操作力f
を加えるというフィードバック構成とする(
図1.1
参照)
。2.2
微分方程式今,時刻
t
,位置x
における柔軟ビームの変位をy
d(x, t)
とすると,その自由振動に対 する支配方程式と境界条件は次のように与えられる。EI ∂
4y
d∂x
4+ m ∂
2y
d∂t
2= 0 y
d(0, t) = y
d(L, t) = 0, ∂
2y
d∂x
2¯ ¯
¯ ¯
x=0= ∂
2y
d∂x
2¯ ¯
¯ ¯
x=L= 0
(2.1)
なお,式中の記号は以下のとおりである。
m :
柔軟ビームの単位長さあたりの質量L :
柔軟ビームの長さE :
ヤング率I :
断面2
次モーメントこの偏微分方程式の解は
(
変数分離法により)
次式で与えられる。y
d(x, t) = X
∞ i=1ϕ
i(t) sin iπx
L (2.2)
上式は,柔軟ビームに発生した振動が,モード関数と呼ばれる
sin(iπx/L)
の無限和とし て表されることを意味している。次に,外部から
(x
方向に分布した)
力F(x, t)
が作用した場合を考える。EI ∂
4y
d∂x
4+ m ∂
2y
d∂t
2= F (x, t) (2.3)
上式に式
(2.2)
を代入することで次式が得られるが,X
∞ i=1(m ϕ ¨
i+ EI i
4π
4L
4ϕ
i) sin iπx
L = F (x, t)
その両辺に
sin(jπx/L)
を掛け,区間[0, L]
上で積分すると,sin
の直交性より,(m ϕ ¨
i+ EI i
4π
4L
4ϕ
i) L
2 = Z
L0
F (x, t) sin iπx
L dx (2.4)
を得る。本稿では,力
F(x, t)
は,点x = x
a に集中力f (t)
として加えられる,すなわちF (x, t) = f (t)δ(x − x
a) (2.5)
と考えるので,これを式
(2.4)
に代入すると,i
次モード関数sin(iπx/L)
に対応したϕ
iに関する微分方程式を得る。
mL
2 ϕ ¨
i+ EIi
4π
42L
3ϕ
i= sin iπx
aL f (t) (i = 1, 2, · · · , ∞ ) (2.6)
ところで,実際の柔軟ビームでは,粘性摩擦等のエネルギ散逸が必ず存在するので,それ を考慮したのが次式である。
ˆ
a
iϕ ¨
i+ ˆ b
iϕ ˙
i+ ˆ c
iϕ
i= ˆ d
if (i = 1, 2, · · · , ∞ ) (2.7)
ここで,ˆ
a
i= mL
2 , ˆ b
i= 2ζ
ip a ˆ
iˆ c
i, ˆ c
i= EIi
4π
42L
3, d ˆ
i= sin iπx
aL
2.3
状態空間モデル2.3.1
状態方程式現代制御理論では,制御対象に対して導かれた微分方程式を
1
階連立微分方程式に変 換した 状態方程式 に対して解析・設計が行われる。そこで,前節で得られた微分方程式(2.7)
を変換してみよう。そのために,ベクトルx
∞ を定義する。x
∞=
⎡
⎢ ⎢
⎣ x
1x
2.. .
⎤
⎥ ⎥
⎦ ( x
i=
"
ϕ
i˙ ϕ
i#
) (2.8)
x
i がi
次振動モードに対応していることに注意してもらいたい。このとき,簡単な計算か ら次式を得る。なおu = f
とし,diag { }
は引数を対角要素(
行列)
としてもつ対角行列 を意味する。˙
x
∞= diag { A
1, A
2, · · ·} x
∞+
⎡
⎢ ⎢
⎣ b
1b
2.. .
⎤
⎥ ⎥
⎦ u (2.9)
ここで,
A
i=
"
0 1
− ˆ c
i/ˆ a
i− ˆ b
i/ˆ a
i#
, b
i=
"
0 d ˆ
i/ˆ a
i#
式
(2.9)
がいわゆる状態方程式であり,式(2.8)
で定めたベクトルを 状態量 と呼ぶ。2.3.2
観測方程式本稿で扱うのはフィードバック制御であるため,制御対象におけるどのような物理量が センサを利用して入手可能なのかを記述する必要がある。なぜなら,計測できないものを 利用して良好な特性をもつ制御が行えたとしてもそれは非現実的であるからである。
本稿で対象とする柔軟ビームの場合,図
1.1
に示すように,x = x
s における歪センサ の出力が観測量である。そこで,柔軟ビームの厚さをh
とすると観測量を表す方程式(
観 測方程式)
は次式で与えられる。y
∞= X
∞ i=1h 2 ∂
2∂x
2sin( iπx L )
¯ ¯
¯ ¯
x=xs
ϕ
i(t)
= [c
1c
2· · · ]x
∞(2.10)
ここで,
c
i= [ − h 2 ( iπ
L )
2sin( iπx
sL ) 0]
2.3.3
状態空間モデル式
(2.9)
と(2.10)
をまとめることで次式に示す状態空間モデル が得られる。( x ˙
∞= A
∞x
∞+ b
∞u
y
∞= c
∞x
∞(2.11)
無限個の振動モードの重ね合わせとして柔軟ビームの振動に関する微分方程式
(2.7)
が与 えられることに対応して,状態量x
∞ は無限次元となる。そのため,式(2.11)
に対して 実際に制御系の設計を行う場合,設計が困難となるだけではなく,たとえ希望する特性を もつ制御器を設計できたとしてもそれを実現する際に問題が生じる恐れがある。そこで,以下では,低次振動モードのみ
(
具体的には1 ∼ 3
次振動モードまで)
を考慮したものを 柔軟ビームに対する振動制御系を設計するための状態空間モデルであると仮定する。( x ˙ = Ax + bu
y = cx (2.12)
ここで,
x =
⎡
⎢ ⎣ x
1x
2x
3⎤
⎥ ⎦ , A =
⎡
⎢ ⎣
A
10 0 0 A
20 0 0 A
3⎤
⎥ ⎦ , b =
⎡
⎢ ⎣ b
1b
2b
3⎤
⎥ ⎦ , c = h c
1c
2c
3i
この場合,無視した
4
次以上の高次振動モードが式(2.12)
には含まれていない。これを モデルのもつ不確かさ と呼ぶが,その取り扱いについては5
章で改めて議論する。2.4
数値例それでは,状態空間モデル
(2.12)
中に含まれる物理パラメータ値の具体例を与えてお こう。表
2.1:
柔軟ビーム振動系の物理パラメータ値L 1.8 [m]
柔軟ビームの長さm 0.2421 [kg/m]
単位長さあたりの質量h 0.003 [m]
厚さEI 5.063 [N m
2] E × I
ζ
10.05
粘性抵抗係数(1
次モード)
ζ
20.008
粘性抵抗係数(2
次モード)
ζ
30.006
粘性抵抗係数(3
次モード)
x
a3L/4 [m]
アクチュエータの位置x
sL/4 [m]
センサの位置0.078 [N/V ]
アクチュエータゲイン1/(20 × 10
−6) [1/V ]
アンプゲインアクチュエータとセンサをそれぞれ両端から
L/4
地点に置いたことに注意してもらいた い。この地点は4
次振動モードの節に相当している。また,アクチュエータとセンサを異 なる地点に配置している。これをノンコロケーション(non-colocation)
という。逆に,同 一地点に配置する場合をコロケーション(colocation)
という。後者の方が制御しやすい対 象となる。
例題
2.1
表2.1
の数値を用いてMATLAB
上で柔軟ビームに対する状態空間モデル(3
次振動モードまでを考慮)
を戻り値として返すプログラムbmodel.m
を作成してみよう。function bm=bmodel()
%
柔軟ビーム振動系の状態空間モデル(3
次振動モードまで考慮)
%
L=1.8; m=0.2421; h=0.003; EI=5.063;
zeta1=0.05; zeta2=0.008; zeta3=0.006;
xa=3*L/4; xs=L/4;
ampgain=0.078; sensorgain=1/(20*1e-6);
a=m*L/2;
c1=EI*pi^4/2/L^3; d1=sin(pi*xa/L); b1=2*zeta1*sqrt(a*c1);
c2=EI*(2*pi)^4/2/L^3; d2=sin(2*pi*xa/L); b2=2*zeta2*sqrt(a*c2);
c3=EI*(3*pi)^4/2/L^3; d3=sin(3*pi*xa/L); b3=2*zeta3*sqrt(a*c3);
cc1=-h/2*(pi/L)^2*sin(pi*xs/L);
cc2=-h/2*(2*pi/L)^2*sin(2*pi*xs/L);
cc3=-h/2*(3*pi/L)^2*sin(3*pi*xs/L);
A1=[0,1;-c1/a -b1/a]; B1=[0;d1/a]; C1=[cc1 0];
A2=[0,1;-c2/a -b2/a]; B2=[0;d2/a]; C2=[cc2 0];
A3=[0,1;-c3/a -b3/a]; B3=[0;d3/a]; C3=[cc3 0];
z2=zeros(2);
A=[A1 z2 z2;z2 A2 z2;z2 z2 A3]; B=[B1;B2;B3]*ampgain;
C=[C1 C2 C3]*sensorgain; D=0;
bm=ss(A,B,C,D);
%EOF
例題
2.2
上述の例題で作成したプログラムを利用して,単位インパルス応答(impulse)
を調べてみよう。>> bm=bmodel;
>> t=0:0.01:10;
>> impulse(bm,t)
得られた図から,本対象は振動性が強く,しかもその減衰がゆるやかで,インパルス状の 外乱が加えられてから応答が収束するまでに
8[s] ∼ 10[s]
程度必要であることがわかる。図
2.2:
単位インパルス応答3 1
自由度振動系3.1
状態空間モデルフィードバック制御による振動制御の本質を理解する目的で,本章では次図に示す
1
自 由度振動系について考える。k
がバネ定数,μ
がダンピング定数である。図
3.3: 1
自由度振動系本系に対する微分方程式は力の釣り合いから次式で与えられる。これは柔軟ビームにおけ る一つの振動モードを取り出した微分方程式と等価である。
M z ¨ + μ z ˙ + kz = u (3.13)
上式に対して,状態量を
x = [z, z] ˙
T とすると,状態空間モデルは次式で与えられる。な お,観測量はz
とした。また,議論を容易にする目的でM = 1[kg]
とする。⎧ ⎪
⎪ ⎪
⎨
⎪ ⎪
⎪ ⎩
˙ x =
"
0 1
− k − μ
# x +
"
0 1
# u y = h 1 0 i x
(3.14)
例題
3.1
k, μ(mu)
を引数として与えたとき,式(3.14)
の状態空間モデルを戻り値と して返すプログラムmck.m
を作成する。function s1=mck(k,mu)
%
%
s1=ss([0,1;-k,-mu],[0;1],[1,0],0);
%EOF
3.2
パラメータと応答との関係演習
3.1
上述の例題で作成したプログラムmck.m
を利用して,k, μ
とインパルス応 答ならびにBODE
線図(bode)
との関係を調べよ。参考までに,入力例を以下に示す。>> t=0:0.01:10; %
シミュレーション時間>> w=logspace(-1,2,100); %
周波数応答を計算する範囲>> s1=mck(10,1); %
システム行列の作成>> impulse(s1,t) %
単位インパルス応答>> bode(s1,w) % BODE
線図この演習を通して,以下のことがわかる。
1. k < 0
もしくはμ < 0
のとき,インパルス応答が無限大に発散 する2. k > 0
かつμ = 0
のとき,インパルス応答は単振動となる3. k > 0
かつμ > 0
のとき,インパルス応答はy = 0
に漸近する1
を 不安定な応答(
あるいは不安定な系)
,3
を漸近安定な応答(
あるいは漸近安定な系)
と呼ぶ。後者の条件が満たされているとき,4. μ
に比べてk
の値が大きいとき,インパルス応答は振動的とな る。また,それに対応して,BODE
線図のピークがより急峻と なる5.
逆に,k
に比べてμ
の値が大きいとき,インパルス応答は非振動 的となる。また,BODE
線図のピークが現れなくなる6. μ
の値が大きいほど応答の収束が早くなる
ところで,これらの結果をより客観的に表現するために,次に示す代数方程式とその根
λ
1,2 を利用する。これは式(3.14)
中の行列A
に対する特性(
固有)
方程式 であり,その 根は行列A
の固有値を意味している。特に,制御では,この固有値のことを極と呼ぶ。s
2+ μs + k = 0 (3.15)
これに対して以下に示す結果が得られる。
1.
極がともに負の実数(
もしくは実部が負)
のとき漸近安定,極が 純虚数のとき単振動,そうでないとき不安定2.
漸近安定で極が共役複素数の場合,インパルス入力を与えてから約
8/μ[s]
経過すると応答はおおよそ整定したと考えてよい3.
漸近安定で極が共役複素数の場合,その虚部の絶対値の方が実部 の絶対値よりも大きい場合,応答に振動が現れる
以上より,振動特性を考える上で,特に
μ
の値が重要な役割を演ずることに注意してもら いたい。3.3
状態フィードバック制御それでは,式
(3.13)
が希望する応答特性を持たない場合(
本稿の場合,インパルス応答 が振動的であり,その収束に時間が必要)
,それをフィードバック制御で希望するものに変 えるためにはどうすればよいのだろうか。希望する応答特性を持たないということがk, μ
の値が不適切であるからだと考えると,これらを適切なものに変えてやればよい,という 解答が容易に思いつく。そのための一つの方法がu = − k
1z − k
2z ˙ = − h k
1k
2i
"
z
˙ z
#
= − Kx (3.16)
というように操作量
u
を与える方法である。状態量を利用したフィードバック制御である ので状態フィードバック制御,K = [k
1, k
2]
をフィードバックゲイン と呼ぶ。上式を式
(3.14)
に代入すると⎧ ⎪
⎪ ⎪
⎨
⎪ ⎪
⎪ ⎩
˙
x = (A − BK)x =
"
0 1
− (k + k
1) − (μ + k
2)
# x y = h 1 0 i x
(3.17)
となり,特性方程式は
s
2+ (μ + k
2)s + (k + k
1) = 0 (3.18)
で与えられる。
k
1, k
2 は設計者が自由に決めてよいゲインなので,上式の根,すなわち制 御を施したシステム(3.17)
の極は自由に変えることができる。ここで,フィードバック制 御を施していないシステム(
式(3.14))
を 開ループシステム,施したシステム(
式(3.17))
を閉ループシステムと呼ぶ。また,それらに対応して,各システムの極を開ループ極な らびに 閉ループ極と呼ぶ。3.4
設計例式
(3.14)
において,μ = 2, k = 101
とする。この場合,極は− 1 ± 10j
で与えられる ので,極の実部と虚部との比率から考えて,明らかに振動的な応答を示すシステムである(
図3.4
参照)
。本節での設計仕様は,単位インパルス入力に対して約1[s]
程度で応答を整 定させることとする。この設計問題に対して,2
とおりの立場で状態フィードバックゲイ ンの設計を行う。図
3.4:
開ループシステムに対する単位インパルス応答>> t=0:0.01:10; %
シミュレーション時間>> s1=mck(101,2); %
システム行列>> eig(s1) %
極の計算>> impulse(s1,t) %
単位インパルス応答Case 1
まず,応答から振動そのものをなくしてしまうことを考えよう。
3.2
節の結果から,実 部の絶対値よりも虚部の絶対値を小さくすればこの希望が達成できる。さらに,μ = 2
がμ = 8
となれば整定時間に対する条件が満たされる。そこで,閉ループ極を− 4 ± 4j
とす る。この場合,これらの極をもつ特性方程式は(s + 4 + 4j)(s + 4 − 4j) = s
2+ 8s + 32 (3.19)
であるので,u = 69z − 6 z ˙ (3.20)
が望ましい制御則となる。
Case 2
次の考え方は,振動をなくすのではなく,その減衰特性を高めてやろうとするものであ る。整定時間は,
μ
によって決まるので,μ
だけを2
から8
にする。このときの制御則はu = − 6 z ˙ (3.21)
で与えられる。
実際に数値計算により単位ステップ応答を求め,両者の比較を行う。
>> t=0:0.01:5; %
シミュレーション時間>> yopen=impulse(s1,t); %
開ループシステムの応答>> sc1=mck(32,8); % Case 1
>> sc2=mck(101,8); % Case 2
>> ycl1=impulse(sc1,t); %
単位インパルス応答>> ycl2=impulse(sc2,t); %
単位インパルス応答>> plot(t,[ycl1,ycl2,yopen]), grid on %
表示図
3.5: 1
自由度振動系に対する制御結果破線が
Case1
,実線がCase2
,点線が開ループシステムに対する単位インパルス応答で ある。Case1
,Case2
ともに設計仕様(
整定時間が1[s])
を満足していることがわかる。ところで,フィードバック制御はシステムに対して操作量を与えることで実現するので,
Case1
,Case2
それぞれに対して必要な操作量を描いたのが次図である。>> ucl1=impulse([0,1;-32,-8],[0;1],[-69,6],0,1,t);
>> ucl2=impulse([0,1;-101,-8],[0;1],[0,6],0,1,t);
>> plot(t,[ucl1,ucl2]), grid on
図
3.6:
制御のために必要な操作量破線が
Case1
,実線がCase2
であるが,後者に比べて前者の方がより多くの操作量を必要としていることがわかる。制御対象によっては,
Case1
のように非振動的な応答が要 求される場合もあるが,今回対象としている柔軟ビームの場合,本質的に対象自身が強い 振動を示すため,振動をなくしてしまうには膨大な入力エネルギが必要となる。そこで,減衰を高めることを目指すほうが現実的である。特に,大型構造物の場合,いかに少ない 操作量で希望する特性を実現するかは非常に重要なことである。
Case2
では,開ループ極− 1 ± 10j
に対して閉ループ極が− 4 ± 9.22j
である。厳密で はないが,減衰性を高めるためには,(
極の虚部は変えずに)
極の実部の絶対値をより大き くすればよいことがいえる。>> eig(sc2) % Case2
の極4
可制御性と状態フィードバック制御前章では,式
(3.14)
に対して,状態フィードバック制御(3.16)
を施すことで,閉ルー プ極を自由に与えることができることを示した。これは一般の状態方程式に対しても成り 立つことなのだろうか。実は,システムが可制御性を満たす場合,答えがyes
となる。4.1
可制御性最初に,可制御性 を定義する。対象とするのは次に示す状態方程式である。
˙
x = Ax + Bu (4.22)
可制御性 定義
4.1
任意の初期状態x(0)
に対して,有限時間t
f で状態量x(t
f)
を0
にする操作量u(t) (0 ≤ t ≤ t
f)
が存在するとき,状態方程式(4.22)
もしくは そのシステムを 可制御 であるという。図
4.7:
可制御性なお,システムが可制御であることを対
(A, B)
が可制御であるともいう。もし,システ ムが可制御でない場合,不可制御であるという(
ここで不可制御というのは,すべてでは なく一部の状態量が制御できないことを意味している点に注意してもらいたい)
。ところで,定義自体では,与えられたシステムが可制御であるかどうかを判定するには 不便なので,その判定に関連した重要な定理を紹介する
(
証明は省略)
。
可制御性の判定法
定理
4.1
対(A, B)
が可制御であるための必要十分条件は,可制御行列V = [B AB A
2B · · · A
n−1B] (4.23)
がフル(
行)
ランクをもつ,すなわちrank(V ) = n
であることである。
つまり,状態方程式が与えられたとき,可制御行列
V
を計算し,そのランクを調べる ことでそれが可制御かどうかを判定できる。
例題
4.1
柔軟ビームの状態方程式(2.12)
に対して可制御性の判定を行う。>> bm=bmodel; %
柔軟ビームに対する状態空間モデル>> [A,B,C,D]=ssdata(bm); % A,B,C,D
を取り出す>> V=ctrb(A,B); %
可制御行列の計算>> rank(V) %
可制御性の判定4.2
状態フィードバック制御 もう一つの重要な定理を紹介する。
可制御性と状態フィードバック制御
定理
4.2
対(A, B)
が可制御であるならば,行列A − BK
の固有値を任意に指定できる行列
K
が存在する。
状態方程式
(4.22)
に対して,状態フィードバック制御u = − Kx
を施したときの閉ルー プシステムは˙
x = (A − BK)x (4.24)
で与えられる。上の定理は状態フィードバック制御により閉ループ極を任意に指定可能で あることを意味している。
ところで,閉ループ極を任意に指定できる状態フィードバックゲイン
K
の存在が保証さ れているのであれば,希望する閉ループ極からそれを設計することができるはずである。これが 極配置法 と呼ばれる設計法である。この設計法では,閉ループ極をどのように定 めるかが鍵となる。一般的な考慮すべき点を以下に列挙する。
1.
指定する閉ループ極の実部は負にすること2.
複素極を指定する場合,必ず複素共役とすること3.
整定時間t
s の目安はt
s= 4
支配極(∗)の実部の絶対値
4.
応答において目立った振動特性が生じない目安は,極の実部の絶対値
≥
虚部の絶対値5.
可制御であるならば理論的には任意の位置に極を移動させること が可能であるが,開ループ極からの移動量が大きいほど,制御に 必要な操作量が大きくなる傾向にある。したがって,不必要な極 の移動は避けた方が懸命である(*)
支配極とは,システムがもつ極の中で,虚軸にもっとも近い実 部をもつ極のことを意味する。4.3
設計例1それでは,柔軟ビームに対して極配置法による状態フィードバックゲインの設計ならび にその評価を行う。ここでは,設計仕様として,単位インパルス外乱入力に対して,約
1[s]
程度で応答を整定させることを目指す。
演習
4.1
>> help place %
関数place
の使用法の確認>> bm=bmodel; %
状態空間モデルの作成>> eig(bm) %
開ループ極>> [A,B,C,D]=ssdata(bm); % A,B,C,D
を取り出す>> t=0:0.01:5; %
シミュレーション時間>> w=logspace(-1,2,100); %
周波数応答を計算する範囲>> K=place(A,B,[???,???,???,???,???,???]); %
設計>> impulse(A-B*K,B,[C;-K],[D;0],1,t); %
時間応答>> bode(A-B*K,B,C,D,1,w); %
周波数応答4.4
最適レギュレータ極はシステムの応答に強く関係している。極配置法は閉ループ極を直接指定できるので,
状態フィードバックゲインを設計するための有力な手法の一つとして挙げることができる。
ところで,前章の
1
自由度振動系に対する議論においても述べたように,制御系を設計す る際に,応答性だけでなく操作量の大きさも同時に考えることは重要なことである(
もち ろん,実際の設計においてはさらに多くの満たすべき設計仕様がある)
。一般的に,極の 絶対値を大きくするほど応答は速くなる一方で制御に必要な操作量が大きくなる傾向にあ る。しかし,極配置法では陽に操作量を評価することはできない。そのことを可能にする のが本節で紹介する 最適レギュレータ法 である。4.4.1
最適レギュレータ問題 可制御な状態方程式˙
x = Ax + Bu (4.25)
に対して,次に示す 評価関数
J
を最小にする操作量u
を求める問題を最適レギュレー タ問題,その解を 最適レギュレータと呼ぶ。J = Z
∞0
(x
TQx + u
TRu) dt (4.26)
ここで,行列
Q, R
は設計者が定めるべき設計パラメータである(
極配置法で指定する閉 ループ極に対応)
。これらは(
準)
正定性を満たすように選べばよいが,実用上は対角行列 に選ぶことが多い。ただし,行列Q
の対角要素は非負の実数,行列R
のそれらは正の実 数でなければならない。今,n
次元ベクトルx
に対してQ = diag { q
1, q
2, · · · , q
n}
とすると,式(4.26)
の第1
項はZ
∞0
x
TQx dt = Z
∞0
X
ni=1
q
ix
2idt = X
ni=1
q
iZ
∞0
x
2idt
となる。これより,評価関数の第
1
項は応答の2
乗面積の総和であり,応答の速さを表す 一つの指標で,これが小さいほどよいと考えられる。同様に,第2
項は操作量に対する2
乗面積であり,これは操作量の大きさを表す指標である。つまり,評価関数(4.26)
はト レードオフの関係にあるこれらを重みつきでまとめたものと考えることができる。4.5
最適レギュレータ問題の解最適レギュレータ問題の解を求めるために,次式に示す
Riccati
方程式 を導入する。A
TX + XA − XBR
−1B
TX + Q = 0 (4.27)
Riccati
方程式の解X
を利用すると,以下の等式が成り立つ。dt d (x(t)
TXx(t)) = x ˙
TXx + x
TX x ˙
= (Ax + Bu)
TXx + x
TX(Ax + Bu)
= x
T(A
TX + XA)x + u
TB
TXx + x
TXBu
= − (x
TQx + u
TRu) + (u + R
−1B
TXx)
TR(u + R
−1B
TXx) 2
番目の等式は状態方程式(4.25)
を代入することによって,また4
番目の等式はRiccati
方程式
(4.27)
を利用することによって得られる。上式の両辺を区間[0, ∞ )
で積分すると,J = − x
T(t)Xx(t)
¯ ¯
¯
∞0
+ Z
∞0
(u + R
−1B
TXx)
TR(u + R
−1B
TXx) dt
を得る。したがって,
最適レギュレータ問題の解
u = − R
−1B
TXx (4.28)
と選ぶことが評価関数
J
の第2
項目の積分を最小にする操作量u
の与え方であることが わかる。そのとき,評価関数J
の最小値はJ
min= x
T(0)Xx(0) (4.29)
で与えられる。なお,最適レギュレータ問題の設定は状態フィードバック制御を前提とし ていないが,結果として得られる最適操作量
u
はゲインK
が
状態フィードバックゲイン
K = R
−1B
TX (4.30)
である状態フィードバック制御
(u = − Kx)
となる。
例題
4.2
3.4
節の1
自由度振動系に対して最適レギュレータを設計してみよう。設計 パラメータである重みQ, R
は,3.4
節と同等の整定時間(
約1[s])
となるように,試行錯 誤の結果,次のように選定した。Q =
"
1 0 0 60
#
, R = 1
このときの閉ループ極は− 4 ± 9.22j
である。>> help lqr %
関数lqr
の使用法の確認>> s1=mck(101,2);
>> [A,B,C,D]=ssdata(s1);
>> t=0:0.01:5;
>> K=lqr(A,B,diag([1,60]),1); %
設計>> impulse(A-B*K,B,[C;-K],[D;0],1,t);
4.6
設計例2演習
4.2
設計例1と同様に,約1[s]
程度で単位インパルス応答が整定するように最適 レギュレータ法を用いて状態フィードバックゲインの設計を行え。>> bm=bmodel;
>> [A,B,C,D]=ssdata(bm);
>> t=0:0.01:5;
>> Q=...; R=...; %
行列Q, R
の選定>> K=lqr(A,B,Q,R); %
設計>> impulse(A-B*K,B,[C;-K],[D;0],1,t);
演習
4.3
演習4.2
では,1 ∼ 3
次振動モードすべてを制御の対象としたが,1
次振動 モードのみを制御したいとすると,どのように重みを選べばよいのかを検討せよ。5
状態オブザーバ状態方程式はシステムの動特性を表現している。
˙
x = Ax + Bu (5.31)
これに対して状態フィードバック制御
u = − Kx
を施すことで,閉ループ極を任意の場所 に移動させたり,あるいは評価関数を最小にするゲインK
を得ることができた。ところ が,一般のシステムでは,状態量x
のすべてを手にすることはできない。たとえば,柔 軟ビームの場合,状態量は6
つであるが,観測できるのは歪センサから出力1
つのみであ る。そこで,本章では,状態フィードバック制御を実現するために,観測できる量から状 態量を推定する方法について考える。5.1
全状態オブザーバ 状態方程式˙
x = Ax + Bu (5.32)
において,行列
A, B
は予め入手できる情報であり,操作量u
は制御器からの出力なの で,制御器にとっては既知と考えることができる。したがって,次式に示す微分方程式ˆ ˙
x = Aˆ x + Bu (5.33)
は計算機等を利用して解くことができ,式
(5.33)
中のx ˆ
は完全に入手可能である。そう であれば,このx ˆ
はx
の代用(
推定量)
として利用可能なのだろうか。その確認をするた めに,式(5.32)
と式(5.33)
の差をとる。その結果,誤差e = x − x ˆ
に関する微分方程式 が得られる。˙
e = Ae (5.34)
式
(5.32)
の状態量x
が入手できないということは初期状態x(0)
も入手できない。しかし,微分方程式
(5.33)
を解くためには初期状態x(0) ˆ
を定める必要がある。一般的にはx(0) − x(0) = ˆ e(0) 6 = 0
であり,x(0)
に依存してe(0)
は任意の値を取り得る。それに対 してe( ∞ ) = 0
,つまりlim
t→∞
x ˆ = x
となるためには,式(5.34)
から行列A
が漸近安定で なければならない。それでは,それが漸近安定であればlim
t→∞
x ˆ = x
という意味でx ˆ
をx
の代用として利用可能なのだろうか。答えはno
である。フィードバック制御を行う目的 は,システムの応答の改善にあり,システムの応答そのものは悪いと考えるべきである。しかし,式
(5.34)
からも明らかなように,誤差e
の収束性は開ループ極に依存する。し たがって,誤差e
の収束性がなんらかの方策により自由に指定できるようにならなければˆ
x
を推定量として利用できない。そこで,式
(5.33)
のx ˆ
を利用したˆ y = C x ˆ
を考える。これは,観測量
y
の推定量と考えることができる。観測量というのはその名の とおり観測可能なので,y − y ˆ
を利用することで観測量の立場から状態量の推定の度合い を知ることができる。そこで,これを式(5.33)
に付加する。その際に,行列H
を導入し ている点に注意してもらいたい。ˆ ˙
x = Aˆ x + Bu + H(y − C x) ˆ (5.35)
上式と式
(5.32)
の差を求めると˙
e = (A − HC)e (5.36)
となる。状態フィードバック制御
u = − Kx
は行列A
をA − BK
に変えることができるが,式
(5.35)
も行列H
を利用したある種のフィードバックを施していることと等価であることが,図
5.8
からわかる。それによって,誤差方程式(5.34)
中の行列A
がA − HC
に変わったのである。
図
5.8:
式(5.35)
における行列H
の役割したがって,行列
H
によって行列A − HC
の固有値を自由に移動させることができるな らば,誤差e
の収束性を自由に指定可能となる。そのための条件が次節で述べる 可観測 性 である。結論からいえば,システムが可観測のとき,式(5.35)
のx ˆ
をx
の代用とし て利用できる。そこで,式(5.35)
を全状態オブザーバ(
全状態観測器)
,行列H
を オブ ザーバゲイン と呼ぶ。全状態とは状態量すべてを推定することを意味している。状態量が推定できるならば,それを利用して状態フィードバック制御を実現できる。つ まり,全状態オブザーバを用いた フィードバック制御器 は次式で与えられる。
( x ˆ ˙ = A x ˆ + Bu + H(y − C x) ˆ
u = − K x ˆ (5.37)
あるいは,第
2
式のu
を第1
式に代入して整理することで次式が得られる。通常,実シス テムを制御する場合,こちらを使用する。制御対象が操作量u
を受けて観測量y
を出力 するのに対して,式(5.38)
は観測量y
を受け取って,操作量u
を出力する構造をもつ。( x ˆ ˙ = (A − BK − HC)ˆ x + Hy
u = − K x ˆ (5.38)
5.2
可観測性それでは,可観測性を定義しよう。
可観測性
定義
5.1 (
˙
x = Ax
y = Cx (5.39)
において,ある有限時刻
t
f までの出力y(t) (0 ≤ t ≤ t
f)
を観測することに よって,初期状態x(0)
を一意に決定できるとき,式(5.39)
もしくはそのシス テムを 可観測 であるという。
なお,システムの可観測性は行列
A
とC
によって定まるので,対(C, A)
が可観測であ る ともいう。可制御性のときと同様に,与えられたシステムが可観測であるかどうかを判定するため の重要な定理を紹介する。
可観測性の判定法
定理
5.1
対(C, A)
が可観測であるための必要十分条件は,可観測行列W =
⎡
⎢ ⎢
⎢ ⎢
⎢ ⎢
⎢ ⎣ C CA CA
2.. . CA
n−1⎤
⎥ ⎥
⎥ ⎥
⎥ ⎥
⎥ ⎦
(5.40)
がフル
(
列)
ランクをもつ,すなわちrank(W ) = n
であることである。
前章で述べた可制御性は,任意の初期状態
x(0)
をx = 0
に移動させる操作量u
の存在 性に関するものであり,状態量x
の将来の振る舞いに関連しているのに対して,可観測性 は初期状態x(0)
の推定,すなわち状態量x
の過去に関連している。また,定理から,対(C, A)
が可観測であることと対(A
T, C
T)
が可制御であること,対(A, B)
が可制御であ ることと対(B
T, A
T)
が可観測であることが等価であることがわかる。このことを双対性 という。もう一つの重要な定理を紹介する。
可観測性とオブザーバゲイン
定理
5.2
対(C, A)
が可観測であるならば,行列A − HC
の固有値を任意に指定できる行列
H
が存在する。つまり,
システムが可観測であるならば,適切に選定したオブザーバゲイン
H
を 利用した式(5.35)
のx ˆ
は状態量x
の推定量として利用可能である ことがいえる。ところで,オブザーバゲイン
H
の設計であるが,双対性より,前章で述べた極配置法 が利用できる。つまり,対(C, A)
が可観測であれば,対(A
T, C
T)
は可制御であるのでA
T− C
TH ˆ
の固有値を任意に指定可能なH ˆ
が存在する。この行列の転置をとるとA − H ˆ
TC
となるが,転置をとっても行列の固有値は変わらないことから,H = ˆ H
T とすれば目的 が達成できる。図
5.9: A − BK
とA − HC
の極の関係それでは,具体的にどこに配置するかということになるが,推定した状態量
x ˆ
を状態 フィードバック制御に利用することを考えると,レギュレータ極(
行列A − BK
の固有値)
よりは安定側に配置することが好ましいことは容易に理解できる(
図5.9
参照)
。なお,行 列A − HC
の固有値をオブザーバ極 と呼ぶ。
例題
5.1
1
自由度振動系の可観測性を調べる。>> s1=mck(101,2); %
システム行列の作成>> W=obsv(s1); %
可観測行列の計算>> rank(W) %
可観測性の判定5.3
設計例演習
5.1
柔軟ビームに対して,可観測性を確認後,全状態オブザーバを設計し,それ を利用した閉ループシステムの応答を調べよ。>> bm=bmodel;
>> [A,B,C,D]=ssdata(bm);
>> t=0:0.01:5;
>> K=place(A,B,[??,??,??,??,??,??]); %
状態フィードバックゲイン>> H=place(A’,C’,[??,??,??,??,??,??])’; %
オブザーバゲイン>> ak=A-B*K-HC; bk=H; ck=-K; dk=0; %
制御器>> [ac,bc,cc,dc]=feedback(A,B,C,D,ak,bk,ck,dk,1); %
閉ループ システム>> ycl=impulse(ac,bc,cc,dc,1,t); %
単位ステップ応答>> plot(t,ycl), grid on %
表示5.4
全状態オブザーバを用いたフィードバック制御系可観測なシステムに対して,全状態オブザーバを利用することで状態量
x
を推定でき る。その推定量x ˆ
を利用した状態フィードバック制御u = − K x ˆ
は,推定誤差e = x − x ˆ
がある限りu = − Kx
とは異なる操作量を出力する。したがって,その場合でも,少なく とも閉ループシステムの漸近安定性が保証されるのかどうかを調べておく必要がある。状態空間モデル
( x ˙ = Ax + Bu
y = Cx (5.41)
に対して制御器
(5.38)
を適用したときの閉ループシステムの状態方程式は,簡単な計算か ら次式で与えられる。( x ˙ = Ax − BK x ˆ ˆ ˙
x = HCx + (A − BK − HC)ˆ x (5.42)
これに対して状態量を
[ x
T, (x − x) ˆ
T]
T として整理すると"
˙ x
˙ x − x ˆ ˙
#
=
"
A − BK BK
0 A − HC
# "
x x − x ˆ
#
(5.43)
を得る。これより,閉ループシステムに対する状態方程式の極は,レギュレータ極
(A − BK
の固有値)
とオブザーバ極(A − HC
の固有値)
の和集合として与えられることがわかり る。したがって,これらの行列が漸近安定となるように状態フィードバックゲインK
な らびにオブザーバゲインH
が選定されている限り,全状態オブザーバで推定した状態量ˆ
x
を用いた状態フィードバック制御u = − K x ˆ
により閉ループシステムの漸近安定が保証 される。ただし,保証されているのはあくまでも漸近安定性であるので,推定誤差により 制御性能が悪くなることは当然起こり得る。>> eig(ac) %
閉ループ極6
ループ整形設計手法本章では,
H
∞制御問題の一つであるループ整形設計手法(Loop Shaping Design Pro- cedure:
以下LSDP )
を紹介するとともに,本設計法を柔軟ビームの振動制御に対して適 用した事例を示す。6.1
ロバスト制御の必要性4
章ならびに5
章では3
次振動モードまで考慮したモデルを対象として,振動を制御す るための制御器設計法について紹介した。しかし,2
章のモデリングのところでも触れたように,柔軟ビームに対する状態空間モデルは,発生する振動が無限個の振動モードの重 ね合わせとして表現されることに対応して,無限次元をもつ。したがって,設計した制御 器を実制御対象に適用した場合,無視した高次振動モードの影響で応答特性が悪化したり,
場合によっては不安定になってしまう
(
スピルオーバ現象)
ことが起こり得る。一般に,設 計の際に利用するモデルと実制御対象の特性の違いをモデルのもつ不確かさと呼ぶ。柔軟 ビームに限らず,モデルには必ず不確かさが存在する。したがって,モデルに基づく制御 理論にとって,このような不確かさに強い制御が求められる。それが ロバスト制御であ る。H
∞制御理論はロバスト性を考慮できる有力な設計法の一つである。以降の節で
H
∞制御について軽く触れるが,理解をしやすくする目的で,1
入出力系に 限定する。6.2 H
∞ノルムH
∞制御は,漸近安定な伝達関数(
それがもつ極の実部がすべて負)
に対するH
∞ノル ム と呼ばれる大きさを評価関数とした設計法である。このH
∞ノルムは次のように定義 される。
H
∞ノルム定義
6.1
漸近安定な伝達関数P (s)
に対してH
∞ノルムは次式で与えられる。k P k
∞= sup
ω
| P(jω) | (6.44)
つまり,伝達関数
P (s)
に対してBODE
線図を描いたとき,その最大ゲインの値がH
∞ ノルムとなる。例題
6.1
1
自由度振動系に対するBODE
線図を描き,H
∞ノルム(norm)
を求める。>> s1=mck(101,2); %
システム行列>> [A,B,C,D]=ssdata(s1);
>> [num,den]=ss2tf(A,B,C,D,1); %
伝達関数>> w=logspace(0,2,200);
>> [g,p]=bode(num,den,w); %
周波数応答の計算>> semilogx(w,20*log10(g)), grid on %
表示>> xlabel(’Freq[rad/s]’), ylabel(’Gain[dB]’)
>> max(g) %
ゲインの最大値>> norm(s1,inf) % Hinf
ノルム図
6.10: H
∞ノルム 任意のω
に対して次の関係が成り立つことは明らかである。k P k
∞≥ | P (jω) | (6.45)
6.3
スモールゲイン定理ロバスト安定性に関連する重要な定理が スモールゲイン定理 である。図
6.11
に示す フィードバック制御系を考える。図
6.11:
スモールゲイン定理図中,