Lecture note 5: 状態空間モデル
ロボット工学科 奥 宏史 制御工学 II
Osaka Institute of Technology
伝達関数モデル
y(s) = G(s)u(s), G(s) = b
qs
q+ b
q−1s
q−1+ · · · + b
1s + b
0s
p+ a
p−1s
p−1+ · · · + a
1s + a
0• s
領域(s = jω
のとき周波数領域)
におけるシステムの表現.•
ブラックボックス的な信号の入出力関係の表現.• (
線形システムのとき) G(s)
はs
の有理関数(p ≥ q)
.•
本質的にSISO(
単入力単出力)
系に対するシステムの表現法.G ( s )
U ( s )
Y ( s )
現代制御理論
• R. E. Kalman, “On the general theory of control systems,” in Proceedings of the 1st IFAC World Congress, Moscow, 1960.
•
現代制御理論状態空間における制御系の記述
(
状態空間モデル)
に基づき,時間領域での システムの挙動解析をベースとする.•
可制御性,可観測性• LQG(Linear Quadratic Gaussian)
理論 最適レギュレータ状態空間モデル
˙
x(t) = Ax(t) + Bu(t) y (t) = C x(t) + Du(t)
• t
領域(
時間領域)
におけるシステムの表現.•
状態ベクトルx(t)
の導入. 入力−→
状態−→
出力• 1
階の微分方程式で記述.• MIMO(
多入力多出力)
系への拡張が容易.x=Ax+Bu u(t)
y(t)
状態空間モデル
x(t) ∈ R
n:
状態ベクトルu(t) ∈ R
r:
入力ベクトルy(t) ∈ R
m:
出力ベクトル•
状態方程式˙
x(t) = Ax(t) + B u(t)
A ∈ R
n×n:
システム行列B ∈ R
n×r:
制御行列状態空間モデル
•
出力方程式y(t) = C x(t) + Du(t)
C ∈ R
m×n:
観測行列D ∈ R
m×r:
直達行列Remark:
自然界では入力が必ず炉波作用
(
フィルタ)
を通して出力されるので,D = 0
とするときが多い.状態空間モデルの例 – RLC 回路 –
q:
電荷量,i:
電流,q =
∫
t 0idt
,1
C q = v
out に注意すると,C
L R
v
inv
outi
LC d
2dt
2v
out+ RC d
dt v
out+ v
out= v
in状態空間モデルの例 – RLC 回路 –
LC d
2dt
2v
out+ RC d
dt v
out+ v
out= v
inx
1= v
out, x
2= d
dt v
out とすると,RLC
回路の状態空間モデルはd dt
[ x
1x
2]
=
[ 0 1
−
LC1−
RL] [ x
1x
2] +
[ 0
1 LC
] v
inv
out= [
1 0
] [ x
1x
]
状態空間モデルの例 – 倒立振子 –
r:
台車の基準位置からの距離θ:
振子の垂直方向からの角度M :
台車の質量m:
振子の質量c
1:
台車の摩擦係数c
2:
振子の回転軸の摩擦係数l:
振子の回転軸と重心間の距離J :
振子の重心まわりの慣性モーメントg:
重力加速度α = (M + m)(J + ml
2) − (ml)
2θ
u
r
状態空間モデルの例 – 倒立振子 –
状態方程式は
d dt
r
˙ r θ θ ˙
=
0 1 0 0
0 −
c1(J+mlα 2)−
m2αgl2 c2αml0 0 0 1
0
c1αml mgl(Mα +m)−
c2(Mα+m)
r
˙ r θ θ ˙
+
0
J+ml2 α
0
−
mlα
u
等しい入出力関係をもつ伝達関数モデル
˙
x(t) = Ax(t) + Bu(t) y(t) = Cx(t) + Du(t)
Laplace
変換する.L [x(t)] = X (s)
,L [u(t)] = U (s)
,L [y(t)] = Y (s)
と表す.初期状態を
x(0)
とする.sX (s) − x(0) = AX (s) + BU (s) Y (s) = CX (s) + DU (s) X (s)
について解くと,X (s) = (sI − A)
−1x(0) + (sI − A)
−1BU (s)
Y (s) = CX (s) + DU (s)
等しい入出力関係をもつ伝達関数モデル
Y (s) = C (sI − A)
−1x(0) + {
C (sI − A)
−1B + D }
U (s)
A
s 1 B
C
+
+ U ( s ) Y ( s )
D +
+
状態方程式の解
•
遷移行列(transition matrix) Φ(t) Φ(t) := L
−1[
(sI − A)
−1]
= L
−1[
1 s
(
I − A s
)
−1]
= L
−1[
1 s
{
I + A s +
( A s
)
2+
( A s
)
3+ · · · }]
= L
−1[ 1
s + ( − 1)A d ds
( 1 s
)
+ ( − 1)
2A
22!
d
2ds
2( 1 s
)
+ ( − 1)
3A
33!
d
3ds
3( 1 s
)
+ · · · ]
= I + At + 1
2! (At)
2+ 1
3! (At)
3+ · · ·
=: e
At状態方程式の解
X (s) = (sI − A)
−1x(0) + (sI − A)
−1BU (s)
•
右辺第1
項の逆Laplace
変換L
−1[
(sI − A)
−1x(0) ]
= Φ(t)x(0) = e
Atx(0)
•
右辺第2
項の逆Laplace
変換L
−1[{
(sI − A)
−1B }
U (s) ]
=
∫
t 0Φ(t − τ )Bu(τ )dτ
∫
tA(t−τ)
状態方程式の解
•
状態方程式の解x(t) = e
Atx(0) +
∫
t0
e
A(t−τ)Bu(τ )dτ
•
出力方程式の解Y (s) = C (sI − A)
−1x(0) + {
C (sI − A)
−1B + D }
U (s)
より,y(t) = Ce
Atx(0) +
∫
t0
Ce
A(t−τ)Bu(τ )dτ + Du(t)
ゼロ入力応答 ゼロ状態応答
演習問題
前述の
RLC
回路で抵抗R
とコンデンサC
を入れ替えたときの状態空間モデル と伝達関数を求めよ.状態空間モデル(まとめ)
•
状態空間モデル˙
x(t) = Ax(t) + Bu(t) y(t) = Cx(t) + Du(t)
•
状態方程式の解x(t) = e
Atx(0) +
∫
t 0e
A(t−τ)Bu(τ )dτ
行列指数関数
e
Ate
At=: I + At + 1
2! (At)
2+ 1
3! (At)
3+ · · ·
状態空間モデルの例 – RLC 回路 –(revisited)
q:
電荷量,i:
電流,LCv¨out + RCv˙out + vout = vin
伝達関数
V
outV
in= 1
LCs
2+ RCs + 1
C
L R
v
inv
outi
x
1= v
out, x
2= ˙ v
out[ x˙1
˙ x2
]
=
[ 0 1
−LC1 −RL
] [ x1 x2
] +
[ 0
1 LC
] vin [ ] [ x1 ]
相似変換
物理的な意味をあまり考慮せず,
ξ
1= L
R v
out+ LC v ˙
out, ξ
2= L
R v
out− LC v ˙
out を状態とするRLC
回路の状態空間モデルを求めると
ξ ˙
1ξ ˙
2
=
−
RL+
2RC1−
2RC1R
L
+
2RC1−
2RC1
ξ
1ξ
2
+
1
− 1
v
inv
out=
[
R 2LR 2L
]
ξ
1ξ
2
相似変換
伝達関数は
V
outV
in=
[
R 2LR 2L
]
sI −
−
RL+
2RC1−
2RC1R
L
+
2RC1−
2RC1
−1
1
− 1
= 1
s
2+
RLs +
LC1[
R 2LR 2L
]
s +
2RC1−
2RC1R
L
+
2RC1s +
RL−
2RC1
1
− 1
= 1
LCs
2+ RCs + 1
相似変換
•
対象とするシステムの入出力関係に着目すると,状態空間モデルの状態の 選び方は無数にある.•
状態x = [x
1x
2]
T と状態ξ = [ξ
1ξ
2]
T の間には,正則な行列T
T :=
RLLC
L
R
− LC
用いて
ξ = T x
が成立する.•
このとき,x
を状態とする状態空間モデルとξ
を状態とする状態空間モデ ルはたがいに相似である(similar)
という.相似変換
一般に,次の状態空間モデルを考える.
˙
x(t) = Ax(t) + Bu(t) y (t) = Cx(t) + Du(t)
ある正則行列
T
を用いてξ(t) = T x(t)
と変数変換すると,次の状態空間モデル を得る.ξ(t) = ˙ T AT
−1ξ(t) + T Bu(t) y(t) = CT
−1ξ(t) + Du(t)
このとき,二つの状態空間モデルはたがいに相似で,
T
による(A, B, C )
から相似変換
後者の状態空間モデルに対する伝達関数を計算する.
CT
−1(
sI − T AT
−1)
−1T B + D = CT
−1[
T (sI − A) T
−1]
−1T B + D
= C (sI − A)
−1B + D
前者の状態空間モデルに対する伝達関数と等価.
相似変換によって伝達関数は不変に保たれる.
つまり,
「異なる状態空間モデルが相似変換で結ばれる」
⇒
「伝達関数は同一」演習問題
• R 6 = 0, L 6 = 0, C 6 = 0
のとき,行列T
が正則(
逆行列をもつ)
ことを示せ.T :=
RLLC
L
R
− LC
•
次の状態空間モデルの伝達関数を求めよ.
ξ ˙
1ξ ˙
2
=
−
RL+
2RC1−
2RC1R
L
+
2RC1−
2RC1
ξ
1ξ
2
+
1
− 1
v
inv
out=
[
R 2LR 2L
]
ξ
1
極と固有値
•
極–
システムG(s)
に対して,s = a
がG(s)
の極とはs
lim
→aG(s) = ∞
であることをいう.– N (s), D(s)
はそれぞれs
の多項式とする.システムG(s) = N (s)
D(s)
が因 果的のとき,特性方程式D(s) = 0
となる
s
の値を極と呼ぶ.極と固有値
•
零点–
システムG(s)
に対して,s = a
がG(s)
の零点とはs
lim
→aG(s) = 0
であることをいう.–
システムG(s) = N (s)
D(s)
に対して,N (s) = 0
となるs
の値を零点と呼ぶ.•
互いに素(coprime):
有理関数G(s) = N (s)
D(s)
に対して,「極と零点に共通するものがない」def
⇔
「N (s)
とD(s)
は互いに素」極と固有値
• (sI − A)
−1= adj(sI − A)
det(sI − A)
に注意.(adj
は余因子行列を表す)
伝達関数G(s)
はG(s) = C (sI − A)
−1B + D = C adj(sI − A)B
det(sI − A) + D
伝達関数の極はシステム行列
A
の固有値に等しい.つまり,
「
λ
は伝達関数の極」⇒
「λ
はシステム行列A
の固有値」Remark:
逆は言えない.極と固有値
(
演習問題)
x ˙
1˙ x
2
=
0 − 2 1 − 3
x
1x
2
+
1 1
u
y = [
0 1
]
x
1x
2
の
A
行列の固有値は− 2, − 1
.一方,伝達関数はG(s) = [
0 1
]
sI −
0 − 2
−
−1
1
= 1
s + 2
状態空間表現の結合則
• 2
つの状態空間モデルG
1G
2˙
x
1(t) =A
1x
1(t) + B
1u
1(t) x ˙
2(t) =A
2x
2(t) + B
2u
2(t)
y
1(t) =C
1x
1(t) + D
1u
1(t) y
2(t) =C
2x
2(t) + D
2u
2(t)
状態空間表現の結合則
•
並列結合G
1+ G
2u
1(t) = u
2(t) = u(t), y(t) = y
1(t) + y
2(t)
˙
x
1=A
1x
1+ B
1u
˙
x
2=A
2x
2+ B
2u
y =C
1x
1+ C
2x
2+ (D
1+ D
2)u
u(t) y(t)
y
1(t) + G
1( s )
G
2( s )
+ y
2(t)
⇐⇒
x˙1
˙ x2
=
A1 0 0 A2
x1 x2
+
B1 B2
u
y = [
C C
]
x1
+ (D + D )u
状態空間表現の結合則
•
直列結合G
1G
2u
2(t) = u(t), u
1(t) = y
2(t), y(t) = y
1(t)
˙
x
2=A
2x
2+ B
2u
˙
x
1=A
1x
1+ B
1(C
2x
2+ D
2u) y =C
1x
1+ D
1(C
2x
2+ D
2u)
u ( t ) y(t)
G
1(s) G
2(s) y
2( t )
⇐⇒
x˙1
˙ x2
=
A1 B1C2
0 A2
x1
x2
+
B1D2
B2
u
y = [
C1 D1C2
]
x1
x2
+ D1D2u
状態空間表現の結合則
•
フィードバック結合(D
1= 0
とする)
u
1(t) = u(t) − y
2(t), y(t) = y
1(t) = u
2(t)
˙
x
1=A
1x
1+ B
1(u − y
2)
˙
x
2=A
2x
2+ B
2y y =C
1x
1y
2=C
2x
2+ D
2y
y(t)
u(t) G
1(s)
G
2(s)
−
y (t)
2u (t)
1
x˙1
A1 − B1D2C1 −B1C2
x1
B1
[ ]
x1