matlab/simulink...

40
平成 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 設計例1 4.4 最適レギュレータ 4.5 最適レギュレータ問題の解 4.6 設計例2 5. 状態オブザーバ 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—

Upload: nguyenthien

Post on 01-Nov-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

平成 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 設計例1

4.4  適レギュレータ

4.5  適レギュレータ問題の解

4.6 設計例2

5. 状態オブザーバ

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.1: 両端単純支持梁

第 2章で本制御対象に対する微分方程式を導出し,状態空間モデルを求める。その際に,

設計において考慮すべきモデルのもつ不確かさについても触れる。本モデルは,厳密には

無限次元の振動モードの重ねあわせとして表すことができるが,そのうちの一つの振動

モードを取り上げ,それに対する解析とフィードバック制御による振動制御の考え方,設

計方法について第 3章で述べる。第 4章では可制御性を紹介し,極配置法ならびに 適レ

ギュレータ法による設計の考え方を述べるとともに,両端単純支持梁 (以降,柔軟ビーム)

に対して設計ならびに結果の評価を行う。これらの設計法はいずれも状態フィードバック

制御を前提としているので,それを実現するために第 5章で状態オブザーバについて述べ

る。ところで,柔軟性を有する対象に対して振動制御系を構成する場合,第 2章で触れた

モデルのもつ不確かさを前提として性能改善を図る必要がある。そこで,周波数整形の立

場で設計が行えるループ整形設計手法を紹介する。本文中にはMATLAB/SIMULINK

による例題や演習問題が用意されているので,理解を深める意味で利用してもらいたい。

2 柔軟ビームに対するモデリング

2.1 制御目的

本稿における制御目的は 何らかの原因により柔軟ビーム中に発生した弾性振動をアク

ティブに制御し,すばやく低減すること である。その目的を達成するために,柔軟ビー

ムのある地点 (x = xs) に取り付けた歪ゲージにより振動を検出し,それに基づいて柔軟

ビームのある地点 (x = xa) に適切に操作力 f を加えるというフィードバック構成とする

(図 1.1 参照)。

— 2 —

2.2 微分方程式

今,時刻 t,位置 x における柔軟ビームの変位を yd(x, t) とすると,その自由振動に対

する支配方程式と境界条件は次のように与えられる。

EI ∂4yd∂x4

+m∂2yd∂t2

= 0

yd(0, t) = yd(L, t) = 0,∂2yd∂x2

¯x=0

=∂2yd∂x2

¯x=L

= 0

(2.1)

なお,式中の記号は以下のとおりである。

m : 柔軟ビームの単位長さあたりの質量

L : 柔軟ビームの長さ

E : ヤング率

I : 断面2次モーメント

この偏微分方程式の解は (変数分離法により) 次式で与えられる。

yd(x, t) =∞Xi=1

ϕi(t) siniπx

L(2.2)

上式は,柔軟ビームに発生した振動が,モード関数と呼ばれる sin(iπx/L) の無限和とし

て表されることを意味している。

次に,外部から (x方向に分布した)力 F (x, t) が作用した場合を考える。

EI∂4yd

∂x4+m

∂2yd

∂t2= F (x, t) (2.3)

上式に式 (2.2) を代入することで次式が得られるが,

∞Xi=1

(mϕi + EIi4π4

L4ϕi) sin

iπx

L= F (x, t)

その両辺に sin(jπx/L) を掛け,区間 [0, L] 上で積分すると,sin の直交性より,

(mϕi + EIi4π4

L4ϕi)L

2=

Z L

0F (x, t) sin

iπx

Ldx (2.4)

を得る。本稿では,力 F (x, t) は,点 x = xa に集中力 f(t) として加えられる,すなわち

F (x, t) = f(t)δ(x− xa) (2.5)

と考えるので,これを式 (2.4) に代入すると,i次モード関数 sin(iπx/L) に対応した ϕi

に関する微分方程式を得る。

mL

2ϕi +

EIi4π4

2L3ϕi = sin

iπxaLf(t) (i = 1, 2, · · · ,∞) (2.6)

— 3 —

ところで,実際の柔軟ビームでは,粘性摩擦等のエネルギ散逸が必ず存在するので,それ

を考慮したのが次式である。

aiϕi + biϕi + ciϕi = dif (i = 1, 2, · · · ,∞) (2.7)

ここで,

ai =mL

2, bi = 2ζi

paici, ci =

EIi4π4

2L3, di = sin

iπxaL

2.3 状態空間モデル

2.3.1 状態方程式

現代制御理論では,制御対象に対して導かれた微分方程式を 1階連立微分方程式に変

換した 状態方程式 に対して解析・設計が行われる。そこで,前節で得られた微分方程式

(2.7) を変換してみよう。そのために,ベクトル x∞ を定義する。

x∞ =

⎡⎢⎢⎣x1

x2...

⎤⎥⎥⎦ ( xi =

"ϕi

ϕi

#) (2.8)

xi が i次振動モードに対応していることに注意してもらいたい。このとき,簡単な計算か

ら次式を得る。なお u = f とし,diag{ } は引数を対角要素 (行列) としてもつ対角行列

を意味する。

x∞ = diag{A1, A2, · · ·}x∞ +

⎡⎢⎢⎣b1

b2...

⎤⎥⎥⎦ u (2.9)

ここで,

Ai =

"0 1

−ci/ai −bi/ai

#, bi =

"0

di/ai

#

式 (2.9) がいわゆる状態方程式であり,式 (2.8) で定めたベクトルを 状態量 と呼ぶ。

2.3.2 観測方程式

本稿で扱うのはフィードバック制御であるため,制御対象におけるどのような物理量が

センサを利用して入手可能なのかを記述する必要がある。なぜなら,計測できないものを

利用して良好な特性をもつ制御が行えたとしてもそれは非現実的であるからである。

— 4 —

本稿で対象とする柔軟ビームの場合,図 1.1 に示すように,x = xs における歪センサ

の出力が観測量である。そこで,柔軟ビームの厚さを h とすると観測量を表す方程式 (観

測方程式) は次式で与えられる。

y∞ =∞Xi=1

h2

∂2

∂x2sin( iπxL )

¯x=xs

ϕi(t)

= [c1 c2 · · ·]x∞

(2.10)

ここで,ci = [−h2 (iπL )

2 sin( iπxsL ) 0]

2.3.3 状態空間モデル

式 (2.9) と (2.10) をまとめることで次式に示す 状態空間モデル が得られる。(x∞ = A∞x∞ + b∞uy∞ = c∞x∞

(2.11)

無限個の振動モードの重ね合わせとして柔軟ビームの振動に関する微分方程式 (2.7) が与

えられることに対応して,状態量 x∞ は無限次元となる。そのため,式 (2.11) に対して

実際に制御系の設計を行う場合,設計が困難となるだけではなく,たとえ希望する特性を

もつ制御器を設計できたとしてもそれを実現する際に問題が生じる恐れがある。そこで,

以下では,低次振動モードのみ (具体的には 1 ∼ 3次振動モードまで)を考慮したものを

柔軟ビームに対する振動制御系を設計するための状態空間モデルであると仮定する。

(x = Ax+ bu

y = cx(2.12)

ここで,

x =

⎡⎢⎣ x1x2x3

⎤⎥⎦ , A =

⎡⎢⎣ A1 0 0

0 A2 0

0 0 A3

⎤⎥⎦ , b =

⎡⎢⎣ b1b2b3

⎤⎥⎦ , c =hc1 c2 c3

i

この場合,無視した 4次以上の高次振動モードが式 (2.12) には含まれていない。これを

モデルのもつ不確かさ と呼ぶが,その取り扱いについては 5章で改めて議論する。

2.4 数値例

それでは,状態空間モデル (2.12) 中に含まれる物理パラメータ値の具体例を与えてお

こう。

— 5 —

表 2.1: 柔軟ビーム振動系の物理パラメータ値

L 1.8 [m] 柔軟ビームの長さ

m 0.2421 [kg/m] 単位長さあたりの質量

h 0.003 [m] 厚さ

EI 5.063 [Nm2] E × Iζ1 0.05 粘性抵抗係数 (1次モード)

ζ2 0.008 粘性抵抗係数 (2次モード)

ζ3 0.006 粘性抵抗係数 (3次モード)

xa 3L/4 [m] アクチュエータの位置

xs L/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);

— 6 —

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: 単位インパルス応答

— 7 —

3 1自由度振動系

3.1 状態空間モデル

フィードバック制御による振動制御の本質を理解する目的で,本章では次図に示す 1自

由度振動系について考える。k がバネ定数,μ がダンピング定数である。

図 3.3: 1自由度振動系

本系に対する微分方程式は力の釣り合いから次式で与えられる。これは柔軟ビームにおけ

る一つの振動モードを取り出した微分方程式と等価である。

Mz + μz + kz = u (3.13)

上式に対して,状態量を x = [z, z]T とすると,状態空間モデルは次式で与えられる。な

お,観測量は z とした。また,議論を容易にする目的で M = 1[kg] とする。

⎧⎪⎪⎪⎨⎪⎪⎪⎩x =

"0 1

−k −μ

#x+

"0

1

#u

y =h1 0

ix

(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

— 8 —

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 の固有値を意味している。特に,制御では,この固有値のことを 極 と呼ぶ。

— 9 —

s2 + μs+ k = 0 (3.15)

 

これに対して以下に示す結果が得られる。

1. 極がともに負の実数 (もしくは実部が負) のとき漸近安定,極が

純虚数のとき単振動,そうでないとき不安定

2. 漸近安定で極が共役複素数の場合,インパルス入力を与えてから

約 8/μ[s] 経過すると応答はおおよそ整定したと考えてよい

3. 漸近安定で極が共役複素数の場合,その虚部の絶対値の方が実部

の絶対値よりも大きい場合,応答に振動が現れる

 

以上より,振動特性を考える上で,特に μ の値が重要な役割を演ずることに注意してもら

いたい。

3.3 状態フィードバック制御

それでは,式 (3.13) が希望する応答特性を持たない場合 (本稿の場合,インパルス応答

が振動的であり,その収束に時間が必要),それをフィードバック制御で希望するものに変

えるためにはどうすればよいのだろうか。希望する応答特性を持たないということが k, μ

の値が不適切であるからだと考えると,これらを適切なものに変えてやればよい,という

解答が容易に思いつく。そのための一つの方法が

u = −k1z − k2z = −hk1 k2

i " zz

#= −Kx (3.16)

というように操作量 u を与える方法である。状態量を利用したフィードバック制御である

ので 状態フィードバック制御,K = [k1, k2] をフィードバックゲイン と呼ぶ。

上式を式 (3.14) に代入すると⎧⎪⎪⎪⎨⎪⎪⎪⎩x = (A−BK)x =

"0 1

−(k + k1) −(μ+ k2)

#x

y =h1 0

ix

(3.17)

となり,特性方程式は

s2 + (μ+ k2)s+ (k + k1) = 0 (3.18)

— 10 —

で与えられる。k1, k2 は設計者が自由に決めてよいゲインなので,上式の根,すなわち制

御を施したシステム (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 とす

る。この場合,これらの極をもつ特性方程式は

— 11 —

(s+ 4 + 4j)(s+ 4− 4j) = s2 + 8s+ 32 (3.19)

であるので,

u = 69z − 6z (3.20)

が望ましい制御則となる。

Case 2

次の考え方は,振動をなくすのではなく,その減衰特性を高めてやろうとするものであ

る。整定時間は,μ によって決まるので,μ だけを 2 から 8 にする。このときの制御則は

u = −6z (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自由度振動系に対する制御結果

— 12 —

破線が 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 の極

 

— 13 —

4 可制御性と状態フィードバック制御

前章では,式 (3.14) に対して,状態フィードバック制御 (3.16) を施すことで,閉ルー

プ極を自由に与えることができることを示した。これは一般の状態方程式に対しても成り

立つことなのだろうか。実は,システムが可制御性を満たす場合,答えが yes となる。

4.1 可制御性

初に,可制御性 を定義する。対象とするのは次に示す状態方程式である。

x = Ax+Bu (4.22)

 

可制御性

定義 4.1  任意の初期状態 x(0) に対して,有限時間 tf で状態量 x(tf ) を 0

にする操作量 u(t) (0 ≤ t ≤ tf ) が存在するとき,状態方程式 (4.22) もしくは

そのシステムを 可制御 であるという。

図 4.7: 可制御性

なお,システムが可制御であることを 対 (A,B) が可制御である ともいう。もし,システ

ムが可制御でない場合,不可制御 であるという (ここで不可制御というのは,すべてでは

なく一部の状態量が制御できないことを意味している点に注意してもらいたい)。

ところで,定義自体では,与えられたシステムが可制御であるかどうかを判定するには

不便なので,その判定に関連した重要な定理を紹介する (証明は省略)。

 

可制御性の判定法

定理 4.1  対 (A,B) が可制御であるための必要十分条件は,可制御行列

V = [B AB A2B · · · An−1B] (4.23)

がフル (行)ランクをもつ,すなわち rank(V ) = n であることである。

— 14 —

 

つまり,状態方程式が与えられたとき,可制御行列 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 の存在が保証さ

れているのであれば,希望する閉ループ極からそれを設計することができるはずである。

これが 極配置法 と呼ばれる設計法である。この設計法では,閉ループ極をどのように定

めるかが鍵となる。一般的な考慮すべき点を以下に列挙する。

— 15 —

1. 指定する閉ループ極の実部は負にすること

2. 複素極を指定する場合,必ず複素共役とすること

3. 整定時間 ts の目安は

ts =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); % 周波数応答

 

— 16 —

4.4 最適レギュレータ

極はシステムの応答に強く関係している。極配置法は閉ループ極を直接指定できるので,

状態フィードバックゲインを設計するための有力な手法の一つとして挙げることができる。

ところで,前章の 1自由度振動系に対する議論においても述べたように,制御系を設計す

る際に,応答性だけでなく操作量の大きさも同時に考えることは重要なことである (もち

ろん,実際の設計においてはさらに多くの満たすべき設計仕様がある)。一般的に,極の

絶対値を大きくするほど応答は速くなる一方で制御に必要な操作量が大きくなる傾向にあ

る。しかし,極配置法では陽に操作量を評価することはできない。そのことを可能にする

のが本節で紹介する 最適レギュレータ法 である。

4.4.1 最適レギュレータ問題

可制御な状態方程式

x = Ax+Bu (4.25)

に対して,次に示す 評価関数 J を 小にする操作量 u を求める問題を 最適レギュレー

タ問題,その解を 最適レギュレータ と呼ぶ。

J =

Z ∞0(xTQx+ uTRu) dt (4.26)

ここで,行列 Q, R は設計者が定めるべき設計パラメータである (極配置法で指定する閉

ループ極に対応)。これらは (準)正定性を満たすように選べばよいが,実用上は対角行列

に選ぶことが多い。ただし,行列 Q の対角要素は非負の実数,行列 R のそれらは正の実

数でなければならない。今,n次元ベクトル x に対して

Q = diag{q1, q2, · · · , qn}

とすると,式 (4.26) の第 1項はZ ∞0xTQx dt =

Z ∞0

nXi=1

qix2i dt =

nXi=1

qi

Z ∞0x2i dt

となる。これより,評価関数の第 1項は応答の 2乗面積の総和であり,応答の速さを表す

一つの指標で,これが小さいほどよいと考えられる。同様に,第 2項は操作量に対する 2

乗面積であり,これは操作量の大きさを表す指標である。つまり,評価関数 (4.26) はト

レードオフの関係にあるこれらを重みつきでまとめたものと考えることができる。

4.5 最適レギュレータ問題の解

適レギュレータ問題の解を求めるために,次式に示す Riccati方程式 を導入する。

— 17 —

ATX +XA−XBR−1BTX +Q = 0 (4.27)

Riccati方程式の解 X を利用すると,以下の等式が成り立つ。

ddt(x(t)TXx(t)) = xTXx+ xTXx

= (Ax+Bu)TXx+ xTX(Ax+Bu)

= xT (ATX +XA)x+ uTBTXx+ xTXBu

= −(xTQx+ uTRu) + (u+R−1BTXx)TR(u+R−1BTXx)2番目の等式は状態方程式 (4.25) を代入することによって,また 4番目の等式は Riccati

方程式 (4.27) を利用することによって得られる。上式の両辺を区間 [0,∞) で積分すると,

J = − xT (t)Xx(t)¯∞0+

Z ∞0

(u+R−1BTXx)TR(u+R−1BTXx) dt

を得る。したがって,

 

最適レギュレータ問題の解

u = −R−1BTXx (4.28)

 

と選ぶことが評価関数 J の第 2項目の積分を 小にする操作量 u の与え方であることが

わかる。そのとき,評価関数 J の 小値は

Jmin = xT (0)Xx(0) (4.29)

で与えられる。なお, 適レギュレータ問題の設定は状態フィードバック制御を前提とし

ていないが,結果として得られる 適操作量 u はゲイン K が

 

状態フィードバックゲイン

K = R−1BTX (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 である。

— 18 —

>> 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 全状態オブザーバ

状態方程式

— 19 —

x = Ax+Bu (5.32)

において,行列 A, B は予め入手できる情報であり,操作量 u は制御器からの出力なの

で,制御器にとっては既知と考えることができる。したがって,次式に示す微分方程式

˙x = Ax+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,つまり limt→∞

x = x となるためには,式 (5.34) から行列 A が漸近安定で

なければならない。それでは,それが漸近安定であれば limt→∞

x = x という意味で x を x

の代用として利用可能なのだろうか。答えは no である。フィードバック制御を行う目的

は,システムの応答の改善にあり,システムの応答そのものは悪いと考えるべきである。

しかし,式 (5.34) からも明らかなように,誤差 e の収束性は開ループ極に依存する。し

たがって,誤差 e の収束性がなんらかの方策により自由に指定できるようにならなければ

x を推定量として利用できない。

そこで,式 (5.33) の x を利用した

y = Cx

を考える。これは,観測量 y の推定量と考えることができる。観測量というのはその名の

とおり観測可能なので,y − y を利用することで観測量の立場から状態量の推定の度合い

を知ることができる。そこで,これを式 (5.33) に付加する。その際に,行列 H を導入し

ている点に注意してもらいたい。

˙x = Ax+Bu+H(y − Cx) (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に変わったのである。

 

— 20 —

図 5.8: 式 (5.35) における行列 H の役割

したがって,行列 H によって行列 A−HC の固有値を自由に移動させることができるな

らば,誤差 e の収束性を自由に指定可能となる。そのための条件が次節で述べる 可観測

性 である。結論からいえば,システムが可観測のとき,式 (5.35) の x を x の代用とし

て利用できる。そこで,式 (5.35) を 全状態オブザーバ (全状態観測器),行列 H を オブ

ザーバゲイン と呼ぶ。全状態とは状態量すべてを推定することを意味している。

状態量が推定できるならば,それを利用して状態フィードバック制御を実現できる。つ

まり,全状態オブザーバを用いた フィードバック制御器 は次式で与えられる。(˙x = Ax+Bu+H(y − Cx)u = −Kx (5.37)

あるいは,第 2式の u を第 1式に代入して整理することで次式が得られる。通常,実シス

テムを制御する場合,こちらを使用する。制御対象が操作量 u を受けて観測量 y を出力

するのに対して,式 (5.38) は観測量 y を受け取って,操作量 u を出力する構造をもつ。(˙x = (A−BK −HC)x+Hyu = −Kx (5.38)

5.2 可観測性

それでは,可観測性を定義しよう。

 

可観測性

定義 5.1 (x = Ax

y = Cx(5.39)

において,ある有限時刻 tf までの出力 y(t) (0 ≤ t ≤ tf ) を観測することに

よって,初期状態 x(0) を一意に決定できるとき,式 (5.39) もしくはそのシス

テムを 可観測 であるという。

— 21 —

 

なお,システムの可観測性は行列 A と C によって定まるので,対 (C,A) が可観測であ

る ともいう。

可制御性のときと同様に,与えられたシステムが可観測であるかどうかを判定するため

の重要な定理を紹介する。

 

可観測性の判定法

定理 5.1  対 (C,A) が可観測であるための必要十分条件は,可観測行列

W =

⎡⎢⎢⎢⎢⎢⎢⎢⎣

C

CA

CA2

...

CAn−1

⎤⎥⎥⎥⎥⎥⎥⎥⎦ (5.40)

がフル (列)ランクをもつ,すなわち rank(W ) = n であることである。

 

前章で述べた可制御性は,任意の初期状態 x(0) を x = 0 に移動させる操作量 u の存在

性に関するものであり,状態量 x の将来の振る舞いに関連しているのに対して,可観測性

は初期状態 x(0) の推定,すなわち状態量 x の過去に関連している。また,定理から,対

(C,A) が可観測であることと対 (AT , CT ) が可制御であること,対 (A,B) が可制御であ

ることと対 (BT , AT ) が可観測であることが等価であることがわかる。このことを 双対性

という。

もう一つの重要な定理を紹介する。

 

可観測性とオブザーバゲイン

定理 5.2  対 (C,A) が可観測であるならば,行列 A−HC の固有値を任意に

指定できる行列 H が存在する。

 

つまり,

システムが可観測であるならば,適切に選定したオブザーバゲイン H を

利用した式 (5.35) の x は状態量 x の推定量として利用可能である

ことがいえる。

ところで,オブザーバゲイン H の設計であるが,双対性より,前章で述べた極配置法

が利用できる。つまり,対 (C,A) が可観測であれば,対 (AT , CT ) は可制御であるので

AT−CT H の固有値を任意に指定可能な H が存在する。この行列の転置をとると A−HTC

となるが,転置をとっても行列の固有値は変わらないことから,H = HT とすれば目的

が達成できる。

— 22 —

図 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 % 表示

 

— 23 —

5.4 全状態オブザーバを用いたフィードバック制御系

可観測なシステムに対して,全状態オブザーバを利用することで状態量 x を推定でき

る。その推定量 x を利用した状態フィードバック制御 u = −Kx は,推定誤差 e = x− xがある限り u = −Kx とは異なる操作量を出力する。したがって,その場合でも,少なく

とも閉ループシステムの漸近安定性が保証されるのかどうかを調べておく必要がある。

状態空間モデル (x = Ax+Bu

y = Cx(5.41)

に対して制御器 (5.38) を適用したときの閉ループシステムの状態方程式は,簡単な計算か

ら次式で与えられる。 (x = Ax−BKx˙x = HCx+ (A−BK −HC)x (5.42)

これに対して状態量を [ xT , (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 = −Kx により閉ループシステムの漸近安定が保証

される。ただし,保証されているのはあくまでも漸近安定性であるので,推定誤差により

制御性能が悪くなることは当然起こり得る。

>> eig(ac) % 閉ループ極

6 ループ整形設計手法

本章では,H∞制御問題の一つである ループ整形設計手法 (Loop Shaping Design Pro-

cedure:以下 LSDP ) を紹介するとともに,本設計法を柔軟ビームの振動制御に対して適

用した事例を示す。

6.1 ロバスト制御の必要性

4章ならびに 5章では 3次振動モードまで考慮したモデルを対象として,振動を制御す

るための制御器設計法について紹介した。しかし,2章のモデリングのところでも触れた

— 24 —

ように,柔軟ビームに対する状態空間モデルは,発生する振動が無限個の振動モードの重

ね合わせとして表現されることに対応して,無限次元をもつ。したがって,設計した制御

器を実制御対象に適用した場合,無視した高次振動モードの影響で応答特性が悪化したり,

場合によっては不安定になってしまう (スピルオーバ現象) ことが起こり得る。一般に,設

計の際に利用するモデルと実制御対象の特性の違いをモデルのもつ不確かさと呼ぶ。柔軟

ビームに限らず,モデルには必ず不確かさが存在する。したがって,モデルに基づく制御

理論にとって,このような不確かさに強い制御が求められる。それが ロバスト制御 であ

る。H∞制御理論はロバスト性を考慮できる有力な設計法の一つである。

以降の節で H∞制御について軽く触れるが,理解をしやすくする目的で,1入出力系に

限定する。

6.2 H∞ノルム

H∞制御は,漸近安定な伝達関数 (それがもつ極の実部がすべて負) に対する H∞ノル

ム と呼ばれる大きさを評価関数とした設計法である。この H∞ノルムは次のように定義

される。

 

H∞ノルム

定義 6.1  漸近安定な伝達関数 P (s) に対して H∞ノルムは次式で与えられる。

kPk∞ = 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 ノルム

— 25 —

図 6.10: H∞ノルム

任意の ω に対して次の関係が成り立つことは明らかである。

kPk∞ ≥ |P (jω)| (6.45)

6.3 スモールゲイン定理

ロバスト安定性に関連する重要な定理が スモールゲイン定理 である。図 6.11 に示す

フィードバック制御系を考える。

図 6.11: スモールゲイン定理

図中,P (s) ならびに ∆(s) はいずれも漸近安定な伝達関数とする。このとき,次の定理

が成り立つ。

— 26 —

スモールゲイン定理

定理 6.1  図 6.11 の閉ループシステムが漸近安定であるための 十分条件 は,

k∆Pk∞ < 1 (6.46)

である。

上述の定理は,一巡伝達関数のベクトル軌跡が原点を中心とする単位円内に収ま

ることを意味している。ナイキストの安定判別法から,式 (6.46) は十分条件で

あることが明らか。

 

6.4 H∞ノルム評価に基づく制御系設計仕様

図 6.12: フィードバック制御系

本節では,図 6.12 に示すフィードバック制御系に対して,H∞ノルムを評価関数とし

た代表的な制御問題を示す。図中,r, du, e, u, y はそれぞれ目標入力,入力外乱,誤差,操

作量,観測量を意味する。

6.4.1 感度問題

図 6.12 において,r から e までの閉ループ伝達関数 S(s) は,

S(s) =1

1 + PK(6.47)

で与えられる。この伝達関数を 感度関数 と呼ぶ。目標値追従制御を考えた場合,感度関

数のゲイン特性が小さいほど追従特性がよい。しかし,不必要に高い周波数帯域まで高い

追従性能をもつような設計を行うと,必要以上のアクチュエータの能力を要求することに

なり,好ましい設計であるとはいえない。適切な追従帯域は制御対象や制御目的によって

異なるが,通常は低周波数帯域で追従特性がよい,すなわち感度関数のゲインが低いこと

が要求される。そこで,設計仕様が,ある伝達関数 W (s) と正の実数 γ を用いて

|S(jω)| < γ|W (jω)|−1 for all ω (6.48)

— 27 —

と表されたとしよう (図 6.13)。

図 6.13: 感度問題

上式は,H∞ノルムを利用して,

感度問題

kWSk∞ < γ (6.49)

と書き表すことができる。これを 感度問題 と呼ぶ。重要な点は,式 (6.49) を満たす制御

器 K が何らかの手段で求められたとすると,その制御器を用いたフィードバック制御系

に対する感度関数 S(s) が,図 6.13 に示すように W (s) で 周波数整形 されることである。

6.4.2 準感度問題

次に,du から y までの閉ループ特性を考える。これは,柔軟ビームにおける振動制御

問題に対応させることができる。つまり,柔軟ビームには力外乱 du が加わることで振動

が発生し,制御器は柔軟ビームから手に入れた情報 y に基づいて計算した操作量 (力) u

を加える場合である。このときの制御目的は,力外乱の影響が柔軟ビームの出力に現れな

い,言い換えると外乱によって発生した振動が素早く減衰するようにすることである。感

度問題の場合と同様に,力外乱 du から出力 y までの閉ループ伝達関数を求めると,

P

1 + PK(6.50)

が得られる。振動が素早く減衰するためには,開ループ系のもつ共振 (ゲイン)特性 |P | を制御を行う |P/(1 + PK)| ことによって低減すればよい。そこで,どれだけ低減したいの

かをある伝達関数 W (s) で表現したとする (図 6.14 参照)。

— 28 —

図 6.14: 準感度問題

つまり, ¯P

1 + PK

¯< γ|W |−1 for all ω (6.51)

である。この問題も感度問題と同様に H∞ノルムを評価関数として表現できる。

準感度問題

kWP/(1 + PK)k∞ = kWPSk∞ < γ (6.52)

6.4.3 ロバスト安定化

本章の初めにも述べたように,モデルに基づく制御系の設計では,モデルの良否が制御

性能に大きく関係する。モデルのもつ不確かさに対しても,性能が保証される (このよう

な性質のことを ロバスト性能 と呼ぶ) ことが望ましいが,ここでは,不確かさの存在に

対して,少なくとも漸近安定性を保証する ロバスト安定化 について考える。

図 6.15 に示すフィードバック制御系を考える。図中,∆a(s) は 加法的不確かさ と呼ば

れる不確かさを表す伝達関数である。つまり,制御対象の真の伝達関数を P∆(s) とし,モ

デルの伝達関数を P (s) とすると,

P∆(s) = P (s) +∆a(s) (6.53)

という関係が成り立つものとする。たとえば,柔軟ビームを例にとると,モデルで無視し

た高次振動モードの伝達関数を表しているのが ∆a(s) と考えればよい。スピルオーバ現

— 29 —

図 6.15: 加法的不確かさに対するロバスト安定化問題

象というのはこの不確かさ ∆a(s) が原因となって引き起こされるものであるから,ロバ

スト安定化制御の実現はそのままスピルオーバが生じない制御系を意味する。

図 6.15 のブロック線図を等価変換すると,図 6.16 が得られる。

図 6.16: 等価変換

したがって,スモールゲイン定理から,

(a) K(s) が P (s) を安定化し,

(b)  k∆aK/(1 + PK)k∞ < 1

であるならば,フィードバック制御系がロバスト安定であることがいえる。ところで,(b)

の条件において,∆a(s) は高次の動特性であるか,もしくは実験などから数値データとし

て与えられ,このままでは設計が困難となる場合がある。そこで,通常は,

|∆a| < |Ra| for all ω (6.54)

を満足する漸近安定な伝達関数 Ra(s) を利用して,次の条件で代用する。

— 30 —

加法的不確かさに対するロバスト安定化問題

kRaK/(1 + PK)k∞ = kRaKSk∞ < 1 (6.55)

上式は,モデルの不確かさが大きい周波数帯域,すなわち |Ra| が大きい周波数帯域では,

制御器 K(s) のゲインをその大きさに対応して低くすることでロバスト安定性が保証され

ることを意味している。

もう一つの不確かさの表現方法が 乗法的な不確かさ である。

P∆(s) = (1 +∆m(s))P (s) (6.56)

加法的不確かさの場合 ∆a = P∆ − P で表されるのに対して,乗法的な場合は

∆m =P∆ − PP

となる。このことから,乗法的不確かさはモデル P に対する相対的な不確かさの表現で

あることがわかる。

図 6.17: 乗法的不確かさに対するロバスト安定化問題

図 6.17 は乗法的不確かさを表現するブロック線図であるが,これに対して加法的不確

かさの場合と同様にすることで,次に示す条件が得られる。

乗法的不確かさに対するロバスト安定化問題

kRmPK/(1 + PK)k∞ = kRmTk∞ < 1 (6.57)

ここで,T = PK/(1 + PK) であり,感度関数 S に対して S + T = 1 の関係が成り立つ

ことから 相補感度関数 と呼ぶ。

6.4.4 混合感度問題

これまで述べてきた問題は,制御性能に関するもの (6.4.1, 6.4.2) とロバスト安定性

(6.4.3) に関するものに大別できるが,通常の制御問題では,モデルに不確かさが存在す

— 31 —

る中での制御性能の改善が要求される。したがって,上述の問題を単独で用いるよりはむ

しろ混合させることが実際の要求に即した問題といえる。代表的な組み合わせが感度問題

(6.49) と乗法的不確かさに対するロバスト安定化問題 (6.57) の組み合わせである。しか

し,これらには S +T = 1 というトレードオフの関係がある。つまり,制御性能を高めた

い (|S| ¿ 1) 周波数帯域では,T ≈ 1 となるが,これは不確かさを許容できないことを意

味する。逆に,不確かさが大きい (|T | ¿ 1) 周波数帯域では,感度 S の低減ができない。

言い替えると,性能を高めたい帯域のモデルはできるだけ正確に求める必要があることに

なる。たとえば柔軟ビーム振動制御問題では,少なくとも性能を改善したい振動モードま

では正しくモデリングしなければならない (この場合は,正しくパラメータ同定しなけれ

ばならない) ことを意味する。しかし,幸いなことに,一般の制御問題において,性能を

改善したい周波数帯域は低周波数,モデルの不確かさが多い帯域は高周波数である 場合

が多いので,これらのトレードオフを適切な周波数重みを利用することで考慮することが

できる。

混合感度問題°°°°° WSS

WTT

°°°°°∞< γ (6.58)

6.4.5 基本問題

後に,6.4.1 ∼ 6.4.3 に登場した 4つの閉ループ伝達関数からなる評価関数を満たす制

御器を求める問題を考えよう。これを 基本問題 と呼ぶ (正確には,正規化左既約因子に

基づくロバスト安定化問題)。

基本問題°°°°° PS S

T KS

°°°°°∞< γ (6.59)

本稿では触れないが,H∞標準問題 に対して解法が与えられている。したがって,前

項までの問題をそれに帰着させることで解を求めることになるが,その際に標準問題の条

件を満足しなかったり,重みの選び方によっては解が存在しない場合も起こり得る。しか

し,基本問題に関しては,以下に示す簡単な解法で 必ず 解を得ることができる。次節で

述べる LSDP はこの基本問題をベースとした設計法である。なお,H∞標準問題の解は

集合として与えられるが,ここでは 中央解 と呼ばれるものだけを示した。

— 32 —

(Step 1) 与えられた状態空間モデルに対して,次の Riccati方程式を解く。

ATX +XA−XBBTX + CTC = 0

AZ + ZAT − ZCTCZ +BBT = 0 (6.60)

(Step 2) 次式を満たす γ を選定する。

γ > γmin =q1 + λmax(XZ) (6.61)

ここで,λmax( ) は固有値の 大値を表す。

(Step 3) このとき基本問題の解 (制御器) は次式で与えられる。

(z = (A+BF + γ2W−TZCTC)z − γ2W−TZCT yu = Fz

(6.62)

ここで,F = −BTX, H = −ZCT であり,H = −γ2W−TZCT である。

6.5 LSDP

6.5.1 設計アルゴリズム

不確かさをもつモデルに対して制御性能を高めることを目的とした混合感度問題では,

感度関数 S と相補感度関数 T に関する周波数重み WS , WT が設計上のトレードオフを

考える上で重要な役割を果たしていた。ところが,上述の基本問題では設計者が設定すべ

き周波数重みが評価関数中に含まれていない。そのため,このままでは実際的な立場から

は有効な設計法であるとはいえない。そこで,基本問題のもつ特長をなくすことなく周波

数重みの導入を行う。

ループ整形設計アルゴリズム

(Step 1) モデルを 図 6.18(a) に示すように,適切な周波数重み W1,W2 で拡

大する (重みの選定法については後述する )。

(Step 2) この拡大したモデル PS =W2PW1 に対して,基本問題に対する設計

アルゴリズムを適用して,制御器 K∞ を求める。

(Step 3) 図 6.18(b) に示すように,Step 1 で使用した周波数重み W1,W2 を用

いて制御器 K =W1K∞W2 を計算する。

このようにして得られた制御器を LSDP 制御器 と呼ぶ。

— 33 —

図 6.18: LSDP

6.5.2 重みの選定法

次に,設計アルゴリズム中の周波数重みの選定法について述べる。図 6.18 は,一般の多

入出力系を想定しているが,1入出力系に限定すると,等価変換することで W1, W2 を一

つの周波数重み W にまとめあげることができる。また,混合感度問題のときにも述べた

ように,通常,性能を高めたい周波数帯域は低周波数帯域であり,ロバスト安定性に関係

した周波数帯域は高周波数帯域であることに注意すると,以下に示す不等式が得られる。

制御性能 (低周波数帯域):

|S| ≤ γ|P ||W |

|SP | ≤ γ|W |

(6.63)

ロバスト安定性 (高周波数帯域):

|KS| ≤ γ|W ||T | ≤ γ|P ||W | (6.64)

これらの不等式は,閉ループ伝達関数のゲイン特性が,モデル P と設計者が定める周波数

重み W のゲイン特性で整形されることを意味している。このことを ループ整形 という

— 34 —

が,LSDP の名前の由来がここにある。LSDP により設計された制御器を用いた閉ルー

プシステムに対してこれらの不等式が必ず成立することから,周波数重みを選定する際の

重要な指針となる。具体的には次節の設計例で紹介する。

6.6 設計例

それでは,柔軟ビームの振動制御の例を通して LSDP を利用した具体的な設計法やそ

の有効性を検討しよう。

LSDP が周波数整形に基づく設計法であることから,モデルの周波数特性を次図に示

す。なお,本システムでは,両端から L/4 地点にアクチュエータとセンサを配置している

ので,4次振動モードが不可制御・不可観測となる (周波数特性には現れない)。したがっ

て,不確かさの対象は 5次 (以降の)振動モードである。

図 6.19: 開ループ周波数応答

>> bm=bmodel;

>> [A,B,C,D]=ssdata(bm);

>> w=logspace(0,3,200);

>> [g,p]=bode(A,B,C,D,1,w);

>> semilogx(w,20*log10(g)), grid on % 表示

>> xlabel(’Freq[rad/s]’), ylabel(’Gain[dB]’)

>> axis([1,1000,-60,20]) % 軸の設定

6.6.1 設計仕様

次に,具体的な設計仕様を以下にまとめよう。

— 35 —

(1) 制振性能

振動を制御するということは周波数特性における共振ピークの高さを低減すること

に等しい。そこで,振動制御の対象としている 1 ∼ 3 次振動モードに対して,それ

らのピーク値を

1次モード (約 2[Hz]) < 0[dB]

2次モード (約 9[Hz]) < 0[dB]

3次モード (約 18[Hz]) < −5[dB](6.65)

とする。

(2) ロバスト安定性

5 次モード以上 (50[Hz] 以上) の振動モードに対してスピルオーバが発生しないよう

に設計する。ちなみに,この帯域における (加法的)不確かさの大きさは,おおよそ

−3[dB] 程度であるとする。

6.6.2 重みの選定

これらの設計仕様に対応させて周波数重み W の選定を行う。

(1) 制振仕様

制振性能に関連した閉ループ伝達関数は SP なので,式 (6.63) から

1次モード |SP | < γ/|W | < 0[dB]2次モード |SP | < γ/|W | < 0[dB]3次モード |SP | < γ/|W | < −5[dB]

を満たせばよい。ここで,各振動モードの周波数における W のゲイン特性を決め

るときに γ の値の指定が必要となる。この γ は γmin の値が定まらないと決められ

ないが,γmin の値は W を決めないと得られない。そのため,適当に γ の値を与え

ておいて,その結果として得られる γmin により必要に応じて補正するといった手

順が必要となる。ここで対象とする柔軟ビームの場合,経験的に γmin が 2 前後の

値となることがおおよそわかっているので,仮に γ = 2 とする。そうすると,上式

と 20 log10(2) ' 6[dB] より

1次モード (約 2[Hz]) |W | > 6[dB]2次モード (約 9[Hz]) |W | > 6[dB]3次モード (約 18[Hz]) |W | > 11[dB]

(6.66)

で制振仕様が与えられる。

— 36 —

(2) ロバスト安定性仕様

式 (6.64)から

5次モード (約 50[Hz]) |KS| < γ|W | < 3[dB]

という条件が与えられるが,(1)と同様に γ = 2 とすると,

5次モード (約 50[Hz]) |W | < −3[dB] (6.67)

が得られる。

以上得られた重みに対する選定条件を図示したのが 図 6.20 である。

図 6.20: 重み W の選定条件

次の作業は,図 6.20 に示すゲイン条件を満足する,すなわち 0o0 よりも高く 0∗0 よりも

低いゲインをもつように重み W を選定することであるが,BODE線図に対する基本的知

識があればそれほど困難な作業ではない。選定の一例を次式に示す。

W =31600

s2 + 50s+ 15800(6.68)

このゲイン特性を 図 6.20 中に実線で示した。なお,LSDP のアルゴリズムからも明らか

なように, 終的に得られる制御器の次数は,(モデルの次数)+(重みの次数)× 2 となる。

したがって,重みはできる限り低次に選定すべきである。

— 37 —

>> w=logspace(0,3,200);

>> numw=31600; denw=[1 50 15800];

>> [gw,pw]=bode(numw,denw,w);

>> semilogx(w,20*log10(gw)), grid on

>> xlabel(’Freq[rad/s]’), ylabel(’Gain[dB]’)

>> axis([1,1000,-10,20])

>> hold on

>> plot(2*2*pi,6,’o’)

>> plot(9*2*pi,6,’o’)

>> plot(18*2*pi,11,’o’)

>> plot(50*2*pi,-3,’*’)

ここで,LSDP では,制御性能とロバスト安定性の保証をただ一つの重み W で与えて

いることに注意してほしい。本節の例では,4次振動モードは議論の対象外であるが,も

し考慮しなければならないとすれば,図 6.20 中の 0∗0 と 0o0 がより接近することになる。

そのため,ゲイン条件を満足する重みはより高次に選定しなければならない。このように

問題の難しさが,重みの次数に反映される。

設計者が行わなければならない作業はここまでで,後は前述のアルゴリズムに従って計

算を行えばよい。式 (6.68) の重みに対して,具体的に計算を行ってみると γmin = 1.368

となった。そこで,γ = 2として制御器の設計を行った。閉ループ周波数特性のシミュレー

ション結果を図 6.21 に示す。図中には開ループ周波数特性ならびに重み γW−1 を描いて

いるが,ゲイン特性が希望通りに整形されていることがわかる。さらに,単位インパルス

応答を図 6.22 に示す (上が閉ループシステム,下が開ループシステム) が,良好に制御が

行われていることがわかる。

図 6.21: 閉ループ周波数特性

— 38 —

図 6.22: 単位インパルス応答特性

>> gmin(A,B,C,D)

>> bdesign

ところで,ここまでは 1 ∼ 3次モードすべての制振を考えたが,実は特定のモードのみ

を制御することも可能である。たとえば,次の重みに対して制御器の設計を行ってみた。

W =552

3(s2 + 7s+ 552)(6.69)

閉ループ周波数応答のシミュレーション結果を図 6.23 に示すが,2次モードのみが制振さ

れている様子がわかる。

— 39 —

図 6.23: 2次モードのみを制振

6.7 LSDP 用プログラム

bdesign.m(Script):柔軟ビームに対する LSDP 制御器の設計と応答の表示

gain w1.m(Script):周波数重みのゲイン特性表示

gcare1.m(Function):Riccati方程式の解

gfare1.m(Function):Riccati方程式の解

gmin.m(Function):γmin の計算

hnorm.m(Function):ハンケルノルムの計算

ncsol.m(Function):基本問題の解

nlcf.m(Function):正規化左既約因子

nrcf.m(Function):正規化右既約因子

sys size.m(Function):システムの次元,入力数,出力数

— 40 —