可制御性と状態フィードバックmech.u-fukui.ac.jp/~kawa-lab/education/robust/pdf/chap3f.pdfv=...
TRANSCRIPT
Chapter 3
可制御性と状態フィードバック
本章では,線形制御理論に基づいて制御器を設計する上で最も重要
な性質の一つである可制御性について述べる。最初に可制御性を定
義した後,そのための必要十分条件を明らかにする。系が可制御で
あることの最大の利点の一つは,状態フィードバック制御によって,
閉ループ系の極を任意の地点に配置することが可能であることにあ
る。その設計法を示すとともに,サーボ問題についても触れる。
3.1 可制御性
例題 3. 1
ある制御対象に対して導出した状態方程式が次式で与えられたとしよう。
_x =
24 1 1
0 2
35x+
24 1
0
35u (3:1)
システム行列 A の固有値 (1; 2) からこの系は不安定であることがわかる。したがって,安
定化が最も基本的な制御目的となる。そこで,安定化が可能であるのかどうかを調べるた
めに,x = [x1 x2]T として状態方程式を分解してみる。
_x1 = x1 + x2 + u
_x2 = 2x2
上式より,状態量 x2 は操作量 u の影響を全く受けることなく時間の経過とともに無限大
に発散していく (x2 = e2tx2(0))。したがって,操作量 u をどのように選んでもこの系を安
定化することはできない。
それでは,次に示す状態方程式の場合はどうだろうか。
{ 3.1 {
{ 3.2 { CHAPTER 3. 可制御性と状態フィードバック
_x =
24 1 0
1 2
35x+
24 1
0
35u (3:2)
同様に分解すると
_x1 = x1 + u
_x2 = x1 + 2x2
この場合も状態量 x2 には直接操作量 u は及ばないが,状態量 x1 を通じて間接的にその
影響は伝達される。したがって,適切に操作量 u を選定することで安定化が可能である。
具体的な選定法については後述する (例題3:8)。
最後にもう一つ例を示しておこう。
_x =
24 1 1
0 2
35x+
24 1
1
35u (3:3)
これまでと同様に分解すると
_x1 = x1 + x2 + u
_x2 = 2x2 + u
この場合,操作量 u の影響が状態量 x1; x2 ともに及んでいるので安定化が可能のように
思えるかもしれない。しかし,上式の差をとると
_x1 Ä _x2 = x1 Ä x2
となるので,状態量の差 x1Äx2 に対しては操作量 u の影響は及ばない。しかも,x1Äx2 =
et(x1(0)Ä x2(0)) である。したがって,安定化はできない。
この例題は,与えられた状態方程式によっては,一部の状態量がまったく制御できない
ことが起こり得ることを示している。さらに例題のように,もし制御できない状態量が不
安定であれば系を安定化することすらできない。可制御性 (controllability) とは,操作量 u
がすべての状態量 x に適切に影響を及ぼすことができるかどうかを示す性質であり,系が
可制御であるかどうかを調べることや可制御となるように系を構成することは非常に重要
なことである。
それでは,可制御性を定義しよう (図 3.1 参照)。
定義 3. 1
任意の初期状態 x(0) = x0 に対して,有限時間 tf で状態量 x(tf ) を 0 にする操作量
u(t) (0 î t î tf) が存在するとき,可制御 (controllable) であるという。
3.1. 可制御性 { 3.3 {
0
x(0)
x( t f )=
図 3.1 可制御性
なお,定義において,状態量 x が 0 に向かう経路や操作量 u の大きさに対してはなんら
制約がないことに注意してほしいy。
定義からも明らかなように,可制御性は,操作量 u と状態量 x との関係を示すものであ
ることから,状態方程式
_x = Ax+Bu; x(0) = x0 (3:4)
が議論の対象となる。その意味で,系が可制御であることを 対 (A;B) が可制御である と
いう言い方をすることもある。もし,系が可制御でない場合,不可制御 (uncontrollable) で
あるという。
ところで,定義自体では,与えられた系が可制御であるかどうかを判定するには不便で
あり,またそれによってどのような恩恵が得られるのかもわかりにくい。そこで,可制御
性に関連した定理を紹介しよう。証明については 3:6節にまとめておく。
定理 3. 1
以下に示すことは等価である。
yこの定義に対して,初期時刻 t = 0 に原点にある状態量を有限な時刻内で指定した状態量に到達できる
かどうかを示す 可到達性 (reachability) の概念もあるが,状態空間モデル (1:26) に対してはこれらは等価で
ある。
{ 3.4 { CHAPTER 3. 可制御性と状態フィードバック
(1) 対 (A;B) が可制御
(2) 可制御行列 (controllability matrix)
V = [B AB A2B ÅÅÅAnÄ1B]
がフル (行)ランクをもつ。すなわち,rank(V ) = n
(3) 可制御性グラミアン (controllability grammian)
Gc(t) =Z t
0eÄAúBBT eÄA
Túdú
が任意の時刻 t で正則
(4) 任意の ï2 C に対して rank[ïI ÄA B] = n
(5) AÄBK の固有値を任意に指定できる 行列 K が存在する。
通常,状態方程式が与えられてそれが可制御であるかどうかの判定は (2) を用いて行わ
れる。特に,(2) のランク条件は,1入力系に対しては入力行列 B が縦ベクトル b となり
可制御行列 V が正方行列となることから,可制御かどうかはその行列式 jV jが 0 かどう
かを調べればよい。
状態方程式 _x = Ax +Bu に対して,制御則を u = ÄKx と与えたときの閉ループ系は
_x = (AÄBK)x となる。これを 状態フィードバック制御 (state feedback control),K を 状
態フィードバックゲイン (state feedback gain) と呼ぶ。具体的なゲイン K の設計法に関し
ては節を改めて述べるが,(5) の条件は,対 (A;B) が可制御であれば状態フィードバック
制御によって閉ループ系の極を任意に指定できることを意味している。したがって,可制
御であれば不安定な系 (複素右半平面に極をもつ) を安定化 (すべての極を複素左半平面へ
移動) したり,極の位置と密接な関係がある時間応答を指定することができる。これが可
制御であることの恩恵である。
ところで,定義より,対 (A; B) が可制御であれば,任意の初期状態 x0 から有限時間 tfで状態量を原点に移動させる操作量が存在する。実際,演習問題 3-1 より
u = ÄBT eAT tGc(tf )Ä1x0
が一つの解答である。しかし,この場合,操作量 u は初期状態 x0 に依存し,しかも状態
方程式が正しい (行列AとBが正確に得られている) ことが前提であり,そうでなければ原
点に到達することは保証されない。このため,この操作量は現実性に乏しい。一方,状態
フィードバック制御の場合,有限時間で状態量を原点に移動させることはできないが,こ
れらの問題点はなく,現実的な制御形態であるといえる。なお,すべての状態量が既知で
3.1. 可制御性 { 3.5 {
なければ状態フィードバック制御を実現することはできないが,次章で述べる状態観測器
を使用すると,入手可能な観測量 y から状態量を推定できる。
例題 3. 2
例題 3. 1 中の 3つの状態方程式の可制御性を調べてみよう。
最初の状態方程式 (3:1) に対する可制御行列は,簡単な計算より
V = [b Ab ] =
24 1 1
0 0
35で与えられるが,明らかに det(V ) = 0 である。したがって,可制御ではない。
次の例 (3:2) に対しては
V =
24 1 1
0 1
35であり,det(V ) = 1 6= 0 であるので可制御である。
最後の例 (3:3) に対しては
V =
24 1 1
2 2
35であるので,det(V ) = 0 となり,可制御でないことがわかる。
例題 3. 3
磁気浮上系に対する可制御行列は
V = [b Ab ] =
24 0 å
å 0
35であるので,明らかに可制御である。
次に倒立振子系の可制御性を調べてみよう。ここでは,計算を容易にするために,振子
の回転に関する粘性抵抗 ñíを無視できる,すなわち p2 = 0 と仮定する。このとき,振子
系に対する可制御行列 V は
V = [b Ab A2b A3b ] =
26666640 ò Äêò ê2ò
0 Äp1ò p1êò Äp21gòÄ p1ê2ò
ò Äêò ê2ò Äê3ò
Äp1ò p1êò Äp21gòÄ p1ê2ò p2
1gêò+ p1ê3ò
3777775で与えられるので,その行列式を計算すると
jV j = Äò4p41g
2 (6= 0)
となる。したがって,振子系が可制御であることがわかる。
{ 3.6 { CHAPTER 3. 可制御性と状態フィードバック
例題 3. 4
もう一つの例として,柔軟ビーム振動系を考える。この系に対して,1章では 3次振動
モードまでを考慮した状態空間モデルを得たが,ここでは 4次振動モードに対応した入力
行列 b,すなわち b4 について検討する。b4 は
b4 =
24 0
d4=a4
35 =
24 0
2 sin(4ôxa=L)=mL
35で与えられるが,アクチュエータの位置を xa = L=4 としているので,これを上式に代入
すると b4 = 0 となる。このことは 4次振動モードの A4 には操作量 u が及ばないことを
意味する。したがって,4次振動モードは不可制御となる。このことは,アクチュエータの
設置点が 4次振動モードの節となっていることからも明らかである。一方,xa = L=4 は
1 ò 3次振動モードの節ではないので,3次振動モードまでを考慮した状態空間モデルは可
制御である。実は,4次振動モードを積極的に不可制御となるようにアクチュエータの位
置を選定してるのだが,その理由については 6章で明らかにする。
次に,可制御性に関連したいくつかの定理を示す。
定理 3. 2
可制御性は,正則変換に対して不変である。
【証明】 正則変換 (x = Tz) 後の状態方程式は
_z = TÄ1ATz + TÄ1Bu
で与えられる。これに対して可制御行列 ñV を計算すると,
ñV = [TÄ1B; TÄ1ATTÄ1B; (TÄ1AT )2TÄ1B; ÅÅÅ; (TÄ1AT )nÄ1TÄ1B]
= TÄ1V
となるが,T が正則行列であることから,rank(V ) = rank( ñV )。
定理 3. 3
対 (A;B) が可制御であるための必要十分条件は,対 (A Ä BK;B) が可制御であること
である。
【証明】 行列のランクは正則行列を掛けても変わらないことから,
rank[ïI ÄA B ] = rank[ïI ÄA B ]
24 I 0
K I
35 = rank[ïI Ä (AÄBK) B ]
この定理より,可制御な系に状態フィードバック制御を施してもやはり可制御であること
がわかる。
3.2. 可安定性 { 3.7 {
1入力系に話を限定して可制御性の条件をさらに検討する。議論を容易にする目的で,前
章でも仮定したように,システム行列 A が相異なる固有値 (ï1 ò ïn)をもつとする。定理
3: 2 より,正則変換によって可制御性は不変であるので,式 (2:15) の対角正準系に変換し
て考える。
_z = Éz + ñbu
これに対して可制御行列 ñV を計算すると,
ñV = [ñb Éñb É2ñb ÅÅÅÉnÄ1ñb]
=
26666641 ï1 ï2
1 ÅÅÅ ïnÄ11
1 ï2 ï22 ÅÅÅ ïnÄ1
2...
......
...
1 ïn ï2n ÅÅÅ ïnÄ1
n
3777775 diagfñb1;ñb2;ÅÅÅ;ñbng(3:5)
が得られる。上式において,右辺の最初の行列が正則であるので,
ñbi 6= 0 (i = 1;ÅÅÅ; n) (3:6)
が可制御であるための必要十分条件となる。この場合,ñbi = 0 は,それに対応した状態量
zi には操作量 u は及ばないことを意味している。
3.2 可安定性
対 (A; B) が可制御でないということは,操作量 u の影響が及ばない状態量 (もしくはそ
の線形結合)が存在することを意味しているy
いま,可制御行列のランクが p(< n) であるとしよう。このことは,
uiV = 0
を満たす非零の 1次独立な横ベクトル ui が nÄp 本存在することを意味する。これらのベ
クトルを次式に示す行列にまとめる。
U =
26664u1...
unÄp
37775 (3:7)
これに対して,UV = 0 より
UB = UAB = UA2B = ÅÅÅ= UAnÄ1B = 0y不可制御とは可制御ではないことを意味する。これは,すべての状態量が制御できないのではなく,制
御できない状態量があるということである。
{ 3.8 { CHAPTER 3. 可制御性と状態フィードバック
が成り立ち,Cayley-Hamiltonの定理 (前章末の付録B参照) より,
UAV = 0
が成り立つことがいえる。このことは,UA 内の横ベクトルが ui の線形結合で表される,
すなわち
UA = A22U
となる正方行列 A22 2 R(nÄp)Ç(nÄp) が存在することを意味する。ところで,
ñT =
24 ñU
U
35が正則となる行列 ñU 2 RpÇn が存在する。これに対して,
T = ñTÄ1 (3:8)
とし,
ñUAT = [A11 A12]
とする。このとき,
TÄ1A =
24 ñUA
UA
35=
24 A11 A12
0 A22
3524 ñU
U
35=
24 A11 A12
0 A22
35TÄ1
TÄ1B =
24 ñU
U
35B =
24 B1
0
35である。したがって,式 (3:8) の正則行列 T を用いて状態方程式を正則変換すると,24 _z1
_z2
35 =
24 A11 A12
0 A22
3524 z1
z2
35+
24 B1
0
35u (3:9)
となる。上式で鍵となるのが,システム行列 A 内のブロック行列 A21 と入力行列 B 内の
ブロック行列 B2 がともに 0 であることである。後者は状態量 z2 が直接操作量の影響を受
けないことを意味しており,前者は z1 を通して間接的にも操作量の影響が届かないことを
3.2. 可安定性 { 3.9 {
意味している。そのため,状態量 z2 は操作量 u の影響を受けることができない,すなわ
ち不可制御な状態量であることがわかる。もし,この状態量の挙動を支配する A22 の極が
不安定であれば,この系はどの様に操作量 u を選定しても,安定化することはできない。
しかし,A22 が漸近安定であればどうだろうか。たしかに,状態量 z2 は制御できないが,
漸近安定であるから,その状態量は時間の経過とともに 0 に向かう。このような系は,少
なくとも安定化が可能である。この概念が 可安定性 (stabilizability)である。
例題 3. 5
例題 3. 1 中の状態方程式 (3:1) の場合,それ自体が式 (3:9) の構造をもつ。したがって,
状態量 x2 が不可制御な状態量であり,それに対応する A22(= 2) は不安定であるので,可
安定でない。
次に,最後の例 (3:3) に対して上述の正則変換を施し,不可制御な状態量を求めてみよ
う。例題 3. 2 から,可制御行列 V は
V =
24 1 2
1 2
35で与えられる。この行列のランクは 1 であり,式 (3:7) の行列 U の一つが,
U = [1 Ä 1]
で与えられる。これに対して,
ñU = [1 0]
とすると,
ñT =
24 1 0
1 Ä1
35は正則な行列となる。T = ñTÄ1 を用いて状態方程式を正則変換すると次式が得られる。24 _x1
_x1 Ä _x2
35 =
24 2 Ä1
0 1
3524 x1
x1 Ä x2
35+
24 1
0
35uしたがって,例題 3. 1 でも述べたとおり,x1 Ä x2 が不可制御な状態量であることがわか
る。これに対する極は 1 で不安定であるので,最初の例と同様に可安定でない。
ここで,不可制御な状態空間モデルに対して伝達行列を計算してみよう。正則変換によっ
て伝達行列は不変であることは前章で示したので,式 (3:8) によって正則変換された
{ 3.10 { CHAPTER 3. 可制御性と状態フィードバック
24 _z1
_z2
35 =
24 A11 A12
0 A22
3524 z1
z2
35+
24 B1
0
35uy = CTz = [C1 C2]
24 z1
z2
35に対して,操作量 u から観測量 y までの伝達行列 G(s) を計算すると,
G(s) = [C1 C2]
24 sI ÄA11 ÄA12
0 sI ÄA22
35Ä1 24 B1
0
35= [C1 C2]
24 (sI ÄA11)Ä1 (sI ÄA11)Ä1A12(sI ÄA22)Ä1
0 (sI ÄA22)Ä1
3524 B1
0
35= C1(sI ÄA11)Ä1B1
が得られる。このことは,不可制御な部分は伝達特性には現れないことを意味している。
伝達行列は,入出力特性を表すものであり,不可制御な部分は入力の影響を受けない部分
であることを考えると,当然の結果といえる。
例題 3. 6
次式に示す状態空間モデルをもつ系を,図 3:2 に示すように直列結合した系 (以下,結合
系) を考える。なお,添え字は各系に対応した量であることを示している。
_x1 = x1 + u1 _x2 = Äx2 + 2u2
y1 = x1 y2 = Äx2 + u2
u2System1System2
u1=y2y1
図 3.2 直列結合系
直列結合は,式の上では u1 = y2 であることを意味する。そこで,u2; y1 を改めて u; y と
して結合系に対する状態空間モデルを求めると24 _x1
_x2
35 =
24 1 Ä1
0 Ä1
3524 x1
x2
35+
24 1
2
35uy = [1 0]
24 x1
x2
35
3.3. 1入力系に対する状態フィードバック { 3.11 {
を得る。これに対する可制御行列 V は
V =
24 1 Ä1
2 Ä2
35で与えられるので,結合系が可制御でないことは明らかである。そこで,正則変換を施すと,24 _z1
_z2
35 =
24 Ä1 1
0 1
3524 z1
z2
35+
24 1
0
35uy = [1 0]
24 z1
z2
35となり,不安定な極 1 に対応した状態量 z2 が不可制御であることがわかる。
ところで,各系の伝達関数 Gi を計算すると
G1 =1
sÄ 1; G2 =
sÄ 1
s+ 1
となり,結合系の伝達関数 G は
G = G1G2 =1
s+ 1
となる。ちょうど伝達関数上で極零相殺された因子 sÄ 1 が状態空間モデル上では不可制
御な極として現れていることがわかる。
結合系の伝達関数は漸近安定である。たとえば,系1 を制御対象,系2 を制御器とした
とき,制御対象の不安定な極を制御器の不安定零点で消去することであたかも結合系が安
定となるように思えるかもしれない。しかし,それは不安定な状態量の初期値が 0 で,操
作量がまったくその状態量に及ばないためである。もし,ノイズなど何らかの要因でこの
状態量が少しでも原点から移動した場合,et に対応して無限大に発散する。しかも,その
状態量は不可制御であるからまったく制御不能である。このように,伝達関数で議論する
場合には,不安定な極零相殺には十分に注意を払う必要がある。
3.3 1入力系に対する状態フィードバック
磁気浮上系に対する微分方程式は次式で与えられた。
°z Äãz = åu (3:10)
この系が不安定であることはこれまで述べてきたとおりであるが,なぜ不安定なのかを工
学的に理解するために,同じ 2次系で漸近安定である演習問題 1-1 の 1自由度振動系に対
する微分方程式
{ 3.12 { CHAPTER 3. 可制御性と状態フィードバック
M°z +ñ_z + kz = f
と対比させてみよう。この 1自由度系が漸近安定であるのは,バネによる復元力が常に質
点を平衡状態に戻す方向に作用し,かつダンパによって系内のエネルギが減少するためで
ある。一方,磁気浮上系の場合は復元力が負 (ã> 0) である。これが不安定の要因である。
また,鉄球の運動に対してエネルギを散逸する項もないy。したがって,磁気浮上系を漸近
安定にする操作量 u は,復元力を正とし,エネルギを散逸する減衰力を与えるように選定
する必要がある。前者は位置 z に比例したものであり,後者は速度 _z に比例したものであ
る。したがって,1つの制御方策として,
u = Ä1
å(k1z + k2 _z) (3:11)
が考えられる。なお,ここでは位置 z と速度 _z に関する情報は直接手に入れることができ
るとしている。これを式 (3:10) に代入すると,
°z + k2 _z + (k1 Äã)z = 0 (3:12)
が得られる。したがって,k2 > 0 ならびに k1 > ãを満足するように k1; k2 を選定すれば,
制御により磁気浮上系を安定化できるはずである。磁気浮上系において z; _z は状態量であ
ることから,式 (3:11) は状態フィードバック制御則である。さらに,式 (3:12) の閉ループ
系の特性方程式を求めると,
s2 + k2s+ (k1 Äã) = 0 (3:13)
となる。これは,k1; k2 の選び方で,閉ループ系を漸近安定にできるだけではなく,閉ルー
プ極 (フィードバック制御を施した系の極)を自由に指定できることを意味している。
例題 3. 7
磁気浮上系に対して希望する閉ループ極が ï1; ï2 であるとしよう。このとき,
(sÄï1)(sÄï2) = s2 Ä (ï1 +ï2)s+ï1ï2 = 0
が希望する閉ループ特性方程式となる。状態フィードバック (3:11) による閉ループ特性方
程式は式 (3:13) で与えられるので,係数比較により,
k1 = ã+ï1ï2; k2 = Ä(ï1 +ï2)
とフィードバックゲインを選定すれば,閉ループ系の極は ï1; ï2 となる。
具体的に極の位置を設定して,それに対する初期値応答を求めてみよう。なお初期状態は
z(0) = 0:001[m],_z(0) = 0 とする。2次系に対しては,希望する極 ïi を jRe(ïi)j < jIm(ïi)jと選ぶと,応答に顕著な振動を生じないことは 2:5節で示した。そこで,
y実際には,空気の粘性による散逸項があるが,それは非常に小さい
3.3. 1入力系に対する状態フィードバック { 3.13 {
(1) ï1;2 = Ä30Ü 20j (2) ï1;2 = Ä30Ü 60j (3) ï1;2 = Ä100Ü 20j
とした閉ループ極に対して数値シミュレーションにより得られた結果を図 3:3(a) に示す。
(1) と比べて (2) の方が振動的な応答を生じていることがわかる。また,(3) は (1) と比べ
て複素左半平面のより左側に配置したものであるが,より早く平衡点に向かっていること
がわかる。なお,図 3:3(b) はそのときの操作量を描いたものであるが,もっとも早い応答
を示す (3) がもっとも大きな操作量を必要としていることに注意してほしい。
0 0.1 0.2-0.5
0
0.5
1
0 0.1 0.2-0.5
0
0.5
1
1.5
Time[sec] Time[sec]
(1)
(2)
(3) (1)
(2)
(3)
(a) (b)
z[mm]Input
図 3.3 初期値応答と操作量
例題 3. 8
例題 3: 1 中の状態方程式 (3:2) は可制御であるので,状態フィードバック制御により安
定化が可能である。このことを確かめるために,u = Ä[k1 k2]x という状態フィードバッ
ク制御を施した閉ループ系を求めてみる。
_x =
24 1Ä k1 Äk2
1 2
35xこれより,特性方程式は s2 + (k1 Ä 3)s+ k2 + 2(1Ä k1) = 0 で与えられるので,k1; k2 に
より左辺の特性多項式の係数を任意の値にすることができる。
以上述べてきたことを一般の系に対して考える。ただし,ここでは可制御な 1入力系を
議論の対象とする。
_x = Ax+ bu (3:14)
最初に上式に対して正則変換を施し 可制御正準形 (controllable canonical form) に変換
することからはじめよう。システム行列 A の特性方程式が次式で与えられるとする。
{ 3.14 { CHAPTER 3. 可制御性と状態フィードバック
sn +ãnÄ1snÄ1 +ÅÅÅ+ã1s+ã0 = 0 (3:15)
特性方程式中の係数を利用して,次のように行列T を構成する。
T = VW (3:16)
ここで,V は例題 3:1中に登場した可制御行列であり,行列 W は式 (3:15) の係数から次式
のように与えるものとする。
W =
26666666666664
ã1 ÅÅÅ ãnÄ2 ãnÄ1 1
ã2 ÅÅÅ ãnÄ1 1 0... 1 0 0...
......
...
ãnÄ1...
......
1 0 0 0
37777777777775(3:17)
対 (A; b) が可制御であり,行列 W が正則であることから,行列 T は正則である。この正
則行列T により状態方程式 (3:14) を正則変換 (x = Tz) すると
_z = Acanz + bcanu (3:18)
ここで,
Acan =
26666666664
0 1 0 ÅÅÅ 0
0 0 1 ÅÅÅ 0...
......
......
...... 1
Äã0 Äã1 Äã2 ÅÅÅ ÄãnÄ1
37777777775; bcan = Tb =
26666666640
0...
0
1
3777777775 (3:19)
となることを示すことができる。変換後の対 (A; b) を可制御正準形と呼ぶ。可制御正準形
の特徴は式 (3:19) からもわかるとおり,行列 Acan の最下行に特性方程式の係数が負号付
きで並び,対角の一つ上の要素に 1 が並び,それ以外の要素はすべて 0 であるという点に
ある。また,ベクトル bcan は最下行の 1 を除いてすべて 0 である。実は正準形に含まれる
これらの 1 が構造的に重要な意味をもつ。bcan の最下行の 1 は操作量 u が zn に対して直
接入力されることを意味する。そして,Acan 中の (nÄ 1; n)要素の 1 は zn を通して znÄ1
に操作量の影響が及び,同様に (nÄ 2; nÄ 1)要素の 1 は znÄ1 を通して znÄ2 に操作量の
影響が及ぶことを意味する。このようにして,1 を通して操作量の影響が z1 まで及ぶこと
になる。
変換後の式 (3:18) に対して次に示すように操作量 u を与えるとしよう。
3.3. 1入力系に対する状態フィードバック { 3.15 {
u = [ã0 Äå0; ã1 Äå1; ÅÅÅ; ãnÄ1 ÄånÄ1]z
= Äkz (3:20)
このときの閉ループ系は,
_z = (Acan Ä bcank)z
=
26666666664
0 1 0 ÅÅÅ 0
0 0 1 ÅÅÅ 0...
......
......
...... 1
Äå0 Äå1 Äå2 ÅÅÅ ÄånÄ1
37777777775z
で与えられる。ベクトル bcan のもつ構造から行列 Acan の最下行だけが ãi から åi に置き
換えられていることに注意してほしい。この閉ループ系に対する特性方程式は,
sn +ånÄ1snÄ1 +ÅÅÅ+å1s+å0 = 0 (3:21)
で与えられる。式 (3:21) において,係数 åi は自由に定めることができる。このことは特
性方程式のもつ n個の根をこれらにより自由に設定できることを意味する。
ところで,このようにして計算した状態フィードバックゲイン k は,可制御正準系に変
換後の状態量 z に対するものであるので,変換前の系に対しては,
u = ÄkTÄ1x = Äkx (3:22)
とすればよい。ここで k = kTÄ1。
det(sI Ä (Acan Ä bcank)) = det(TÄ1(sI Ä (AÄ bk))T )
= det(sI Ä (AÄ bk))
の関係から,状態フィードバック (3:22) による閉ループ系 _x = (AÄ bk)x は希望する極を
もつことがわかる。
以上をまとめると次のアルゴリズムが得られる。
{ 3.16 { CHAPTER 3. 可制御性と状態フィードバック
(Step 1) システム行列A の特性方程式 (3:15) と希望する極をもつ閉ループ特
性方程式 (3:21) を計算し,それらの係数から次の n次元横ベクトル k を
作成する。
k = [ã0 Äå0; ã1 Äå1; ÅÅÅ; ãnÄ1 ÄånÄ1]
(Step 2) 可制御行列 V と式 (3:17) の行列 W を計算する。
(Step 3) 希望する状態フィードバックゲイン k は
k = k(VW )Ä1 (3:23)
で与えられる。
例題 3. 9
次に示す 3次系に対して状態フィードバックゲイン k を計算してみよう。
_x =
2664 0 1 0
1 0 0
0 0 Ä2
3775x+
2664 0
1
1
3775u可制御行列 V を計算すると,
V =
2664 0 1 0
1 0 1
1 Ä2 4
3775det(V ) = Ä3 6= 0 であるので,与えられた系は可制御である。
フィードバックゲイン k を設計する前に,式 (3:16) の正則変換行列 T により可制御正
準形に変換できることを確かめてみよう。開ループ系の特性方程式は,
det(sI ÄA) = s3 + 2s2 Ä sÄ 2 = 0
で与えられるので,
W =
2664 Ä1 2 1
2 1 0
1 0 0
3775となる。したがって,正則変換行列 T は
T = V W =
2664 2 1 0
0 2 1
Ä1 0 1
3775
3.3. 1入力系に対する状態フィードバック { 3.17 {
となる。これにより正則変換を施すと,
_z =
2664 0 1 0
0 0 1
2 1 Ä2
3775 z +
2664 0
0
1
3775uとなり,可制御正準系が得られることが確認できた。
それでは,状態フィードバックゲインの設計を行おう。いま,希望する閉ループ極を
Ä3; Ä5Ü 5j であるとすると,希望する閉ループ特性多項式は
(s+ 3)(s+ 5 + 5j)(s+ 5Ä 5j) = s3 + 13s2 + 80s+ 150
で与えられる。これより å0 = 150; å1 = 80; å2 = 13 となる。また,ã0 = Ä2; ã1 =
Ä1; ã2 = 2 であることから,
k = [152; 81; 11]
となり
k = kTÄ1 =1
3[245; Ä1; 34]
が得られる。
以上のように,閉ループ系の極を指定してそこからフィードバックゲイン k を設計する
方法を 極配置法 (pole placement method) と呼ぶ。この方法を利用する上での注意点を列
挙しておく。
(1) 指定する極の実部は負でなければならない。これは閉ループ系の安定性
を保証するためである。
(2) 複素数を指定する場合,必ず共役複素数として指定しなければならない。
これはフィードバックゲインが実数となることを保証するためである。
(3) 一般に配置する極の位置を複素左半平面上のより左にするほど状態量の
収束性は高くなる。一方,必要な操作量も大きくなる傾向にある。
(4) 実部の絶対値に対して虚部の絶対値を大きくするほど,振動的な応答が
出やすくなる。
例題 3. 10
倒立振子系に対して状態フィードバックゲイン k を計算してみよう。なお,例題 3. 3 と
同様に,計算を容易にする目的で,振子の粘性抵抗は無視できるものと仮定する。このと
き開ループ特性多項式は
{ 3.18 { CHAPTER 3. 可制御性と状態フィードバック
s4 +ês3 Ä p1gs2 Ä p1gês
で与えられるので,
W =
2666664Äp1gê Äp1g ê 1
Äp1g ê 1 0
ê 1 0 0
1 0 0 0
3777775と例題 3. 3 の可制御行列 V から
k = [Ä å0
p1gò; Äå0 + p1gå2 + p2
1g2
p21gò
; Äå1 + p1gê
p1gò; Äå1 + p1gå3
p21gò
]
を得る。ここで,åi は希望する閉ループ特性方程式の係数である。
s4 +å3s3 +å2s
2 +å1s+å0 = 0
たとえば,希望する閉ループ極を Ä3; Ä5Ü3j; Ä240 とすると,閉ループ特性方程式は
s4 + 253s3 + 3184s2 + 15462s+ 24480 = 0
で与えられるので,状態フィードバックゲインは
k = [Ä7:47 Ä 11:66 Ä 7:38 Ä 2:03]
となる。このときの初期値応答 (z(0) = 0:1[m]; í(0) = _z(0) = _í(0) = 0) の数値シミュレー
ション結果を図 3:4 に示すが,安定に制御が行われていることがわかる。
例題 3. 11
本節の最後として柔軟ビームに対して振動を制御する状態フィードバックゲインを設計
しよう。
柔軟ビームに対する状態空間モデルの極を計算すると
fÄ0:6965Ü 13:91j; Ä0:4250Ü 53:13j; Ä0:6728Ü 112:1jg
となる。2章でも述べたように,柔軟ビームに発生した振動がなかなか減衰しないのは,各
極が十分な安定度をもたないためである。したがって,これらの極をより安定側に配置す
れば減衰を高めることができる。ここでは一例として,希望する閉ループ極を
fÄ3:697Ü 13:91j; Ä5:425Ü 53:13j; Ä8:673Ü 112:1jg
3.3. 1入力系に対する状態フィードバック { 3.19 {
0 1 2 3-0.1
0
0.1
0.2
Time[sec]
Cart[m]
Pendulum[rad]
図 3.4 倒立振子系に対する初期値応答
としよう。これに対して極配置法により状態フィードバックゲイン k を設計すると,次式
が得られる。
k = [28:99 24:17 149:7 31:12 1825: 77:81]
図 3:5 は開ループならびに閉ループ系に対するゲイン特性を描いているが,極をより安定
側に移動させることによって,ゲイン特性のピーク値が低減していることがわかる。
また,図 3:6 はインパルス加振を加えたときの柔軟ビームの時間応答を示しているが,明
らかに制振性能が向上していることがわかる。
ところで,実際の柔軟ビーム振動系の状態空間モデルは次式に示すように無限次元をもつ。24 _xd_xh
35 =
24 Ad 0
0 Ah
3524 xdxh
35+
24 bdbh
35u (3:24)
ここで,xd は 3次振動モードまで,xh は 4次以上の振動モードの状態量であり,システ
ム行列 A ならびに入力行列 b もその分割にあわせてブロック行列表現している。
このモデルに対して xd が既知であるとして上述の状態フィードバック制御を適用して
みる。
u = Äkxd = Ä[k 0]
24 xdxh
35その結果, 24 _xd
_xh
35 =
24 Ad Ä bdk 0
Äbhk Ah
3524 xdxh
35
{ 3.20 { CHAPTER 3. 可制御性と状態フィードバック
10 1 10 2 10 3
-60
-40
-20
0
20
Freq.[rad/s]
Gain[dB]
図 3.5 柔軟ビーム振動系の周波数特性
を得る。このときの閉ループ系の極は,行列 AdÄ bdk の固有値と行列 Ah の固有値からな
る。前者は状態フィードバックゲイン k によって指定した地点に極をもち,後者は開ルー
プ系そのものである。柔軟ビームはもともと安定な系であるので,行列 Ah は漸近安定で
ある。したがって,xd が既知であるとして状態フィードバック制御を施したとき,閉ルー
プ系が不安定となることはない。
本節では,極配置法の基本を理解することを目的として,1入力系に限定して設計法を
紹介した。極配置法のアルゴリズム自体はそれほど難しいものではないが,少し次数の大
きな系に対して計算を行う場合には,計算機の力を借りることが前提となる。たとえば,
よく知られた設計用ツールである MATLAB を利用すると,簡単なコマンド入力により
フィードバックゲインを得ることができる。
また,本書では多入力系の極配置問題については触れないので,これについては他書を
参考にしてもらいたい。なお,MATLAB では多入力系に対する設計も可能である。
3.4 サーボ問題
前節までに述べた極配置法は,何らかの原因で平衡状態からはずれた制御対象を速やかに
平衡状態へ向かわせる目的の制御器を設計する一手法であった。このような問題を特に レ
ギュレータ問題 (regulator problem) と呼ぶ。一方,産業用ロボットを考えてみると,工具が
取り付けられたロボットの先端を作業要求に従って希望する軌道に沿って運動させる必要性
が生じる。このように目標値に追従させる制御系の設計問題を サーボ問題 (servo problem)
と呼ぶ。
3.4. サーボ問題 { 3.21 {
0 1 2 3Time[sec]
Amp.
図 3.6 柔軟ビーム振動系のインパルス応答特性
例題 3. 12
磁気浮上系を安定化するためには,鉄球の位置 z と速度 _z を適切にフィードバックすれ
ばよいことはすでに述べたとおりである。いま,漸近安定性を保証するように状態フィー
ドバックゲイン k が得られているものとし,それを用いて図 3:7 に示す閉ループ系を構成
したとする。図中 r は目標値を意味している。このとき対象に加えられる操作量 u は次式
で与えられる。
u = Ä1
å[k1 k2]x+ r
[k1 k2]
磁気浮上系r u+
-
1/β
z-αz=βu..
z z.
図 3.7 磁気浮上系に対する状態フィードバック制御
このフィードバック制御により得られる (目標値 r から観測量 y(= z) までの) 閉ループ伝
達関数は
{ 3.22 { CHAPTER 3. 可制御性と状態フィードバック
Gyr =å
s2 + k2s+ (k1 Äã)
である。これに対して,目標値として単位ステップ入力 r(s) = 1=s を加えて十分時間が経
過したときの出力 y の応答を調べてみよう。ラプラス変換の最終値の定理より
y(1) = limt!1
y(t) = lims!0
sGyr1
s=
å
k1 Äãこの値は一般的には 1 ではないので,単位ステップ応答には追従しないことがわかる。
以下では,サーボ問題の解を得るためには,どの様な構造をもつ制御系を構成すればよ
いのかについて検討する。ここでは,次式の 1入出力系を対象として,単位ステップ目標
入力に限定する。
_x = Ax+ bu
y = cx
この系に対して状態フィードバック u = Äkx+ r を施したとき,目標値 r から出力 y ま
での閉ループ伝達関数 Gyr は
Gyr = c(sI Ä (AÄ bk))Ä1b
で与えられる。ただし,フィードバックゲイン k は閉ループ系が漸近安定となるように選
定されているものとする。単位ステップ目標値を与えたときの出力 y の最終値は,ラプラ
ス変換の最終値の定理を使用することで,
y(1) = Äc(AÄ bk)Ä1b
で与えらる。前述のとおり,右辺は一般に 1 でないので,目標値追従性が保証されない。
そこで,次に示す 内部モデル原理 (internal model principle) を適用する。
K(s) G(s)r e y+
-
制御器 制御対象
図 3.8 サーボ問題
3.4. サーボ問題 { 3.23 {
定理 3. 4
図 3:8 に示すフィードバック制御系を考える。図中,G(s); K(s) は制御対象ならびに制
御器の伝達関数である。この制御系において,閉ループ系が漸近安定であり,一巡伝達関
数 GK が目標値発生器の極と同じ極をもつとき,制御対象の出力が目標値に定常偏差なく
追従する。ここで,定常偏差とは,時間が十分経過したときの目標値と制御対象の出力の
差 e = r Ä y を意味する。
単位ステップ目標値は伝達関数が 1=s の系に対して,単位インパルスを入力することに
よって発生することができる。つまり,この場合の目標値発生器は積分器と考えることが
できる。内部モデル原理に従えば,図 3:9 に示すように,状態フィードバック制御系に積
分器を 1個追加し,閉ループ系の漸近安定性を保証するようにゲイン k; k を設定すれば,
単位ステップ目標値に対して定常偏差なく追従する制御系を構成できるはずである。
ここで積分器の役割をもう少し考えてみる。今,図 3:9 の閉ループ系の漸近安定性が保
証されているとしよう。これに対して単位ステップ目標入力を加えると,最終的に出力 y
は一定となる。当然,フィードバックループ内部の信号も一定とならなければならない。信
号 v は誤差 e を積分したものであるので,誤差 e が 0 でなければ必ず信号 v は変動する。
したがって,v が一定となるためには e は 0,すなわち r = y にならなければならない。
r e y+
-
k
(sI-A) -1b ck^_s1 v u x
状態フィードバック制御
+
-
図 3.9 サーボ系の基本構成
図 3:9 において,積分器の出力を v とすると,
_v = e
の関係が成り立つ。これと状態方程式から,次に示す拡大系を構成する。24 _x
_v
35 =
24 A 0
Äc 0
3524 xv
35+
24 b
0
35u+
24 0
1
35 r (3:25)
もし,この拡大系が可制御性を満足するならば,状態フィードバック制御
{ 3.24 { CHAPTER 3. 可制御性と状態フィードバック
u = Ä[k k]
24 xv
35= ÄkxÄ k
Z t
0e(ú)dú
(3:26)
によって閉ループ系の漸近安定性を保証することができる。このときの制御系は図 3:9 と
等価である。さらに,このフィードバック制御を施したときの目標値 r から出力 y への閉
ループ伝達関数 Gyr は
Gyr(s) = Äc(sI Ä (AÄ bk))Ä1b(sI Ä kc(sI Ä (AÄ bk))Ä1b)Ä1k
で与えられるので,Gyr(0) = 1 となり,単位ステップ目標値に対して定常偏差なく追従す
る制御系が構成されていることが示される。
最後に可制御性を確認しよう。拡大系 (3:25) に対する可制御行列 V を計算すると
V =
24 b Ab A2b ÅÅÅ Anb
0 Äcb ÄcAb ÅÅÅ ÄcAnÄ1b
35=
24 A b
Äc 0
3524 0 b Ab ÅÅÅ AnÄ1b
1 0 0 ÅÅÅ 0
35となる。したがって,対 (A; b) が可制御であり,行列24 A b
Äc 0
35 (3:27)
がフルランクをもてば,拡大系が可制御であることがわかる。上式の条件は,式 (2:22) よ
り,系が原点に零点 (伝達関数の分母多項式が 0 となる地点) をもたないことを意味する。
もし,系が原点に零点をもてば,単位ステップ目標値 (積分入力)が阻止されるために,追
従はできない。
例題 3. 13
磁気浮上系に対して,単位ステップ目標値に定常偏差なく追従する制御系を設計してみ
よう。式 (3:25) の拡大系は
24 _x
_v
35 =
2664 0 1 0
ã 0 0
Ä1 0 0
377524 xv
35+
2664 0
å
0
3775u+
2664 0
0
1
3775 ry = [1 0 0 ]
24 xv
35で与えられる。これに対して,フィードバックゲインを
3.4. サーボ問題 { 3.25 {
k = Ä1
å[k1 k2 k3]
として閉ループ特性方程式を計算すると
s3 + k2s2 + (k1 Äã)sÄ k3 = 0
を得る。したがって,希望する閉ループ特性方程式を
s3 +å2s2 +å1s +å0 = 0
とすると,係数比較より
k = Ä1
å[ã+å1 å2 Äå0]
が得られる。
このとき,r から y までの閉ループ伝達関数は
G(s) =å0
s3 +å2s2 +å1s+å0
で与えられるので,G(0) = 1 より単位ステップ入力に対して定常偏差なく追従することが
いえる。
0 0.2 0.40
0.5
1
1.5
Time[sec]
z[mm]
図 3.10 磁気浮上系に対する単位ステップ応答
図 3:10 は閉ループ極を Ä30Ü 20j; Ä40 として設計した状態フィードバックゲイン
k = Ä[535:2 8:66 Ä 4501]
に対して,単位ステップ応答を描いたものである。
{ 3.26 { CHAPTER 3. 可制御性と状態フィードバック
3.5 定理 3:1 の証明
最初に (1)! (2)! (3)! (1) を順に示す。
(1)! (2)系が可制御であることから,任意の初期状態 x0 に対して,
0 = eAtfx0 +Z tf
0eA(tfÄú)Bu(ú)dú
となる u(ú) (0 î úî tf ) が存在する。上式において,
eÄAúB = ã0(ú)B + ã1(ú)AB +ÅÅÅ+ ãnÄ1(ú)AnÄ1B
が成り立つことが Cayley-Hamilton の定理から示すことができる。これを代入すると,
ÄeAtfx0 = eAtfZ tf
0[ã0(ú)B +ã1(ú)AB + ÅÅÅ+ãnÄ1(ú)AnÄ1B]u(ú)dú
であるが,eAtf が正則であることから,
Äx0 = BZ tf
0ã0(ú)u(ú)dú+ AB
Z tf
0ã1(ú)u(ú)dú+ ÅÅÅ
+AnÄ1BZ tf
0ãnÄ1(ú)u(ú)dú
= [B AB ÅÅÅAnÄ1B]
2666664Z tf
0ã0(ú)u(ú)dú
...Z tf
0ãnÄ1(ú)u(ú)dú
3777775が得られる。この等式が任意の x0 に対して成り立つためには,行列
[B AB ÅÅÅAnÄ1B]
がフルランクをもたなければならない。これは (2) が成り立つことを意味する。
(2)! (3)可制御性グラミアンが正則でないならば,可制御行列がフルランクをもたないことを証明しよう。
Gc(t) が正則でないことから,
ëTZ t
0eÄAúBBT eÄA
Túdú= 0
となる定数ベクトル ë 6= 0 が存在する。これより,Z t
0ëT eÄAúBBT eÄA
Tú ë dú= 0
が成り立つので,0 î úî t に対して
ëT eÄAúB = 0
3.5. 定理 3:1 の証明 { 3.27 {
が得られる。また,上式を úで微分して ú= 0 としたものも 0 であることから,
ëTB = ëTAB = ëTA2B = ÅÅÅ= ëTAnÄ1B = 0
を得るが,このことは可制御行列 V がフルランクをもたないことを意味する。したがって,(2)! (3)が成り立つ。
(3)! (1)可制御であることを示すために,任意の初期状態 x0 に対して,時刻 tf で状態量を 0 すなわち,
x(tf ) = 0 となる操作量が存在することを示す。
可制御性グラミアン Gc(t) が任意の時刻において正則であることから,
u(t) = ÄBT eÄAT tGc(tf)Ä1x0
と操作量を選んだとしよう。これを状態方程式の解に代入すると,
x(tf) = eAtfx0 +Z tf
0eA(tfÄú)Bu(ú)dú
= eAtfx0 Ä eAtfZ tf
0eÄAúBBT eÄA
Túdú Gc(tf )Ä1x0
= eAtfx0 Ä eAtfx0
= 0
となる。したがって,系が可制御であることがいえる。
次に (1) と (4) の必要十分性を示す。rank[ïI ÄA B] < n とする。このとき,
ëT [ïI ÄA B] = 0
となる ë 6= 0 が存在する。これより,
ëTA = ïëT ; ëTB = 0
が成り立つ。第1式の右から B を掛け,第 2式の関係を利用することにより ëTAB = 0 を得る。同
様にして AB; A2B;ÅÅÅを掛けることで,
ëT [B AB A2B ÅÅÅAnÄ1B] = 0
となり,系が可制御でないことがいえる。また,系が可制御でないとき,正則変換した式 (3:9) に
対して,行列 "ïI Ä A11 A12 B1
0 ïI ÄA22 0
#のランクは,ïが行列 A22 の極と一致するときに n ではなくなる。以上より,(4) が可制御である
ための必要十分条件であることが示された。
最後に (5) が可制御性に対する必要十分条件であることを示そう。系が可制御であれば状態フィー
ドバック制御により閉ループ極を任意に指定することができる。このことは A Ä BK の固有値を
任意に指定する行列 K が存在することを意味する。もし,系が可制御でなければ,式 (3:9) より状
態フィードバック制御によっては行列 A22 の極を指定することができない。
演 習 問 題
3-1 可制御な系 ( _x = Ax+Bu) に対して,操作量を
u = ÄBT eÄAT tGc(tf)
Ä1(x0 Ä eAtfxf )
と選ぶことにより,初期状態 x0 を時刻 tf で xf に移動させることができることを示
しなさい。
3-2 システム行列
A =
2664 ï é 0
0 ï 1
0 0 ï
3775と以下の入力行列 b(B) に対して可制御性を判定しなさい。
(1) é= 1
(a) b =
2664 0
0
1
3775 ; (b) b =
2664 0
1
0
3775(2) é= 0
(a) b =
2664 1
0
1
3775 ; (b) B =
2664 1 0
0 0
0 1
37753-3 演習問題 2:4 の系が可制御でないことを示し,式 (3:9) のように正則変換により可制
御な部分と不可制御な部分に分割しなさい。
3-4 次の状態方程式が可制御であることを調べた上で可制御正準系に変換しなさい。
_x =
2664 1 2 Ä4
2 2 Ä6
1 2 Ä5
3775x+
2664 1
1
1
3775u3-5 状態空間モデル
_x =
24 7 20
Ä2 Ä6
35x+
24 3
Ä1
35uy = [1 3]x
{ 3.28 {
をもつ系に対して,閉ループ極が Ä5; Ä7 となるように状態フィードバックゲイン
k を設計しなさい。また,単位ステップ目標入力に定常偏差なく追従する制御系を構
成しなさい。ただし,閉ループ極は Ä3; Ä5; Ä7 とする。
3-6 演習問題 1:5 で導出した並列型倒立振子系に対して可制御性を検討しなさい。
{ 3.29 {