20240218132513 状態空間モデルの導出
techcontrol_theory Modern_control_theory
出典: 南裕樹. Pythonによる 制御工学入門(改訂2版). オーム社, 2024年. pp.67-68
制御系のシステムは一般的に微分方程式で表される。
時刻t 、 入力u(t) 、 出力 y(t)
とすると、
dtndny(t)+an−1dtn−1dn−1+⋯+a1dtd+a0y(t)=bmdtmdmu(t)+bm−1dtm−1dm−1u(t)+⋯+b1dtdu(t)+b0u(t)(1)
となる。 制御の範囲では、一般に n≥m
ここで、p=dtd とおいて、
{A(p)B(p)=pn+an−1pn−1+⋯+a1p+a0=pm+bm−1pm−1+⋯+b1p+a0(2)
とおくと、 (1) は
A(p)y=B(p)u(3)
と書ける ((t) は省略)。
(3) を変形すると
B(p)y=A(p)u(4)
、これを v とおく。
両辺をA(p)倍すると、
A(p)⋅B(p)y=u⇔A(p)v=u(5)
両辺をB(p)倍すると、
y=B(p)A(p)u⇔y=B(p)v(6)
ここで、n次元ベクトル
x=x1x2⋮xn:=vpv⋮pn−1v(7)
を定義すると、
x˙=px=pvp2v⋮pnv=x2x3⋮−a0x1 −a1x2 ⋯+u(8)
と書くことができる。
(8) の最後、 −a0x1 −a1x2 ⋯+u はどこから来たか?というと、
(5)より、
A(p)v=u,⇔pnv+an1pn−1+⋯+a1p+a0=u⇔pnv=−an1pn−1−⋯−a1p+a0+u
また、 (6)より、
y=(bnpm+bm1pm−1+⋯+b1p+b0)v
展開して順番を変えると
⇔b0v+b1pv+… bm−1pm−1+bmpmv
v,pv,…,pm−1v,bmpmv の各係数は x と同じなので、
⇔b0x1+b1x2+⋯+bmxm+1(9)
と表わすことができる。
(8)、(9)を行列で表すと、
{x˙y=Ax+B=Cx
ここで、A,B,C はそれぞれ、
A=0 1 0 …0 0 1 …⋮… −a0 −a1 … 001−an−1
B=00⋮1
C=[b0 b1 …bm 0 …0]