Simulační schemata, stavový popis Petr Hušek
Simulační schemata, stavový popis Petr Hušek
[email protected] katedra řídicí techniky Fakulta elektrotechnická ČVUT v Praze
MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 2/37
Co se dnes dozvíme?
Jak vytvořit z diferenciální rovnice simulační schema spojitého systému Jak vytvořit z diferenční rovnice simulační schema diskrétního systému Co je stavový popis diskrétního systému, stavová veličina
MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 3/37
Simulační schema spojitého systému
zakreslení diferenciální rovnice v grafické podobě pomocí malého počtu různých bloků možnost využití simulačních programů jednodušší reprezentace nelineárních systémů
Simulační schema lineárního spojitého systému
lineární diferenciální rovnice 1.řádu B
m
dv(t ) + Bv(t ) = F (t ) dt
v(0) = v0 v F MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 4/37
nakresleme schema pomocí 3 bloků:
integrátor z(0) z(t)
∫
z(0) z(t)
w(t)
1 s
w(t)
t
w(t ) = z (0) + ∫ z (τ)d τ 0
z(0) z(t)
∫
w(t)
z(0) z(t)
1 s
w(t)
w(t ) = z (0) + z (t ) MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 5/37
zesilovač z(t)
K
w(t)
z(t)
K
w(t)
w(t ) = Kz (t )
sčítačka z1 (t ) z2 (t )
z1 (t )
+
w(t )
+(-)
+ z2 (t ) +(-)
w(t )
w(t ) = z1 (t ) + z2 (t )
MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 6/37
dv(t ) B 1 = − v(t ) + F (t ) dt m m
dv(t ) m + Bv(t ) = F (t ) dt F(t) Vstup
v(0) 1/m*F(t)
K1 1/m
dv(t)/dt Add
B/m*v(t)
1 s
v(t)
Integrator
Scope
B/m K2
dx1 (t ) B 1 = − x1 (t ) + u (t ) dt m m y (t ) = x1 (t )
MAS 2007/08
ČVUT v Praze
x1 (0) = x10 = v0
6,7 - Simulační schemata, stavový popis 7/37
lineární diferenciální rovnice 2.řádu x B
k
d 2 x (t ) dx (t ) m +B + kx (t ) = F (t ) 2 dt dt
F m
x (0) = x0 ,
dx (0) = v0 dt
d 2 x(t ) B dx(t ) k 1 =− − x (t ) + F (t ) 2 dt m dt m m F(t) Vstup
v0 K1 1/m
1/m*F(t)
d2x(t)/dt2 Add B/m B/m*x(t) K2
k/m*x(t)
1 s Integrator
x0 dx(t)/dt
1 s Integrator1
x(t) Scope
k/m K3
MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 8/37
d 2 x (t ) dx (t ) m +B + kx (t ) = F (t ) 2 dt dt
x1 (t ) = x(t ) x2 (t ) =
dx(t ) dt
dx2 (t ) m + Bx2 (t ) + kx1 (t ) = F (t ) dt
dx1 (t ) = x2 (t ) dt x1 (0) = x(0) = x0
dx2 (t ) 1 k B = − x1 (t ) − x2 (t ) + F (t ) dt m m m dx x2 (0) = (0) = v0 dt
diferenciální rovnici 2.řádu jsme převedli na 2 diferenciální rovnice 1.řádu MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 9/37
lineární diferenciální rovnice n-tého řádu s jednoduchou pravou stranou
y ( n ) (t ) + an −1 y ( n −1) (t ) +
+ a0 y (t ) = b0u (t )
y ( n −1) (0), y ( n −2 ) (0),… , y′(0), y (0) y’(0)
y(n-1)(0) u(t)
Vstup
b0
1/m*F(t)
dny(t)/dtn
b0
1 s
Add
y(t)
1 s
1 s
Integrator2
Integrator1
.....
Integratorn
y(0)
dy(t)/dt
Scope
an-1
n
an-1
a1 a1
a0 a0
MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 10/37
lineární diferenciální rovnice n-tého řádu y ( n ) (t ) + an −1 y ( n −1) (t ) +
+ a0 y (t ) = bmu ( m ) (t ) + bm −1u ( m −1) (t ) +
+ b0u (t )
y ( n −1) (0), y ( n −2 ) (0),… , y′(0), y (0) bn y(t)
bn
b1 b1
u(t)
1 s
1 ..... s xn x2 Integratorn Integrator2
Vstup
Add
1 s
Scope
b0 b0
Add1
x1
Integrator1
an-1
n
an-1
a1 a1
a0 a0
MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 11/37
počáteční podmínky diferenciální rovnice nesouhlasí s počátečními podmínkami schematu !!! y ( n −1) (0), y ( n −2 ) (0),… , y′(0), y (0)
≠
xn (0), xn −1 (0),… , x2 (0), x1 (0)
simulační schema lineárního spojitého systému lze sestavit z integrátorů, zesilovačů a sumátorů
jednoduché nelineární diferenciální rovnice x(t ) =
g 2⎛ R⎞ 1+ ⎜ ⎟ 5⎝ r ⎠
2
sin ϕ(t ) = K sin ϕ(t )
x(0) = x0 , x(0) = v0
MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 12/37
x(t ) = K sin ϕ(t )
x(0) = x0 , x(0) = v0 x(0)
x’(0) d2x(t)/dt2
phi(t) Vstup
MAS 2007/08
sin
-K-
Sin
K
ČVUT v Praze
1 s
dx(t)/dt
Integrator
1 s
x(t)
Integrator1
Scope
6,7 - Simulační schemata, stavový popis 13/37
Operátorový zápis lineární diferenční rovnice
Jv(t ) − ( J − BT )v(t − T ) = rRTF (t − T )
zavedeme operátor zpoždění d (delay) ~ zpoždění funkce (posloupnosti) o jeden krok za nulových počátečních podmínek (v(0) = 0): zpozdeni o 1 krok, T=1s
5
v(t − T ) ≈ v(t − 1) ≈ d ⋅ v(t ) D { F (t )}
v[m/s]
4
( J − ( J − BT ) ⋅ d )v(t ) = (rRT ⋅ d ) F (t )
D {v(t )}
v(t) v(t-T)
3 2 1 0
0
2
4
6
8
10
t[s]
MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 14/37
zavedeme přenos systému v operátoru d:
D {výstup} D { y (t )} G (d ) = = D {vstup} D {u (t )}
za nulových počátečních podmínek
D {v(t )} rRT ⋅ d G (d ) = = D { F (t )} J − ( J − BT ) ⋅ d
zavádíme operátor z za nulových počátečních podmínek (v(0)=0): −1 −1
d=z
→ v(t − T ) ≈ v(t − 1) ≈ z ⋅ v(t )
( J − ( J − BT ) ⋅ z −1)v(t ) = rRT ⋅ z −1 ⋅ F (t ) Z {v(t )} MAS 2007/08
ČVUT v Praze
Z { F (t )} 6,7 - Simulační schemata, stavový popis 15/37
přenos systému v operátoru z:
Z {výstup} Z { y (t )} = G( z ) = Z {vstup} Z {u (t )} −1
za nulových počátečních podmínek
Z {v(t )} rRT ⋅ z −1 rRT G( z ) = = = −1 Z { F (t )} J − ( J − BT ) ⋅ z J ⋅ z − ( J − BT )
operátor z představuje posunutí posloupnosti o jeden krok vpřed, tj. vlevo po časové ose posun o 1 krok vpred, T=1s
1
v(t+T) v(t)
v[m/s]
0.8
z ⋅ v(t ) ≈ v(t + T ) ≈ v(t +1)
0.6 0.4 0.2 0
0
2
4
6
8
10
t[s]
MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 16/37
Jv(t ) − ( J − BT )v(t − T ) = rRTF (t − T ) t → t +T
Jv(t + T ) − ( J − BT )v(t ) = rRTF (t )
diferenční rovnice musí platit pro jakýkoli čas (t, t+T, t-2T, t+4T, t-4T, ...) ↔ posun okénka
Jv(t ) − ( J − BT )v(t − T ) = rRTF (t − T )
rRT ⋅ d G (d ) = J − ( J − BT ) ⋅ d
Jv(t + T ) − ( J − BT )v(t ) = rRTF (t ) rRT G( z ) = J ⋅ z − ( J − BT ) MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 17/37
v s tu p n i s ila
100
F(t-5T)
F(t) [N]
80
F(t+3T)
F(t-T)
60 40 20 0
0
0 .2
0 .4
0 .6
0 .8
1
t[s ] ry c h lo s t s e trv a c n ik u
5
v[m/s]
4
v(t+4T) v(t+3T)
3
v(t) v(t-T)
2
n
1 v(t-4T)
v(t-5T) 0 0
0 .2
0 .4
0 .6
0 .8
1
t[s ]
MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 18/37
zpoždění o dva kroky:
x(t) a x(t-2T
5
x(t − nT ) ≈ d n ⋅ x(t )
x(t) x(t-2T)
4
zpoždění o n kroků:
x(t + nT ) ≈ z n ⋅ x(t )
x[m]
3 2
za nulových počátečních podmínek
1 0
0
2
4
6
8
10
t[s]
x(t − 2T ) ≈ d ⋅ x(t − 1) ≈ d ⋅ d ⋅ x(t ) = d ⋅ x(t ) 2
x(t + 2T ) ≈ z ⋅ x(t + 1) ≈ z ⋅ z ⋅ x(t ) = z 2 ⋅ x(t ) MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 19/37
2 m ⎛ 1 ⎞ − x ( t ) − x ( t T ) + + k ⎜ 2 ⎟ x(t − 2T ) = F (t − 2T ) 2 2 T T ⎝T ⎠
k x m F
mx(t ) − 2 x(t − T ) + (1+ kT 2 ) x(t − 2T ) = T 2 F (t − 2T )
D {v(t )} T2 ⋅d2 = G (d ) = D { F (t )} m − 2 ⋅ d + (1+ kT 2 ) d 2 Z {v(t )} T2 G( z ) = = 2 Z { F (t )} mz − 2 ⋅ z + 1+ kT 2
MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 20/37
Simulační schema lineárního diskrétního systému
lineární diferenční rovnice 1.řádu mv(t ) − ( m − BT ) v(t − T ) = TF (t − T )
B
v(0) = v0 v F
zpoždění o 1 krok sčítačka
zesilovač q(t)
K
q1 (t )
w(t)
MAS 2007/08
w(t )
q(t)
w(t)
+(-)
1 z
w(t ) = q1 (t ) + q2 (t )
w(t ) = q (t − T )
q2 (t )
w(t ) = Kq (t )
+
q(0)
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 21/37
mv(t ) − ( m − BT ) v(t − T ) = TF (t − T ) m − BT T v(t ) = v(t − T ) + F (t − T ) m m
t → t +T
v(t + T ) =
m − BT T v(t ) + F (t ) m m v(0)
F(t)
v(t+T )
T /m Vstup
T /m
x1(t+T )
Add
1
v(t)
z
x1(t)
Unit Delay
Scope
-K(m-BT )/m
MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 22/37
m − BT T x1 (t + T ) = x1 (t ) + u (t ) m m y (t ) = x1 (t )
x1 (0) = x10 = v0
lineární diferenční rovnice 2.řádu x k
B
F m
x(0) = x0 , x (T ) = xT
mx(t ) − ( 2m − BT ) x(t − T ) + ( m − BT + kT 2 ) x (t − 2T ) = T 2 F (t − 2T ) 2m − BT m − BT + kT 2 T2 x(t ) − F (t − 2T ) x (t − T ) + x(t − 2T ) = m m m
t → t + 2T MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 23/37
2m − BT m − BT + kT 2 T2 x (t + 2T ) = x(t + T ) − x(t ) + F (t ) m m m x (t + 2T ) = K 2 x(t + T ) − K1x(t ) + K 3 F (t )
xT=x2(0) F(t)
Vstup
x(t+2T )
-K-
x2(t+T )
K3
1 z
Unit Delay1
Add
x(t+T)
x2(t)
x0=x1(0) 1 z
Unit Delay2
x(t)
x1(t)
Scope
-KK2
-KK1
MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 24/37
x1 (t ) = x(t )
x(t + 2T ) = − K1x(t ) + K 2 x(t + T ) + K 3 F (t )
x1 (t + T ) = x2 (t )
x2 (t + T ) = − K1x1 (t ) + K 2 x2 (t ) + K 3u (t )
x1 (t + T ) = x2 (t ) x2 (t + T ) = K1x1 (t ) − K 2 x2 (t ) + K 3u (t ) y (t ) = x1 (t ) x1 (0) = x0 , x2 (0) = xT
diferenční rovnici 2.řádu jsme převedli na 2 diferenční rovnice 1.řádu MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 25/37
lineární diferenční rovnice n-tého řádu s jednoduchou pravou stranou y (t ) + an −1 y (t − T ) +
+ a0 y (t − nT ) = b0u (t − nT )
y (0), y (T ),… , y ((n − 1)T ) y((n-1)T)=xn(0) u(t) Vstup
y(t+nT )
y(T)=x2(0)
y(0)=x1(0)
y(t+2T ) y(t+T) y(t) 1 1 ..... z z z xn(t+T) x2(t) x1(t) xn(t) x3(t) Unit Delay3 Unit Delay1 Unit Delayn
b0 b0
1
Scope
Add
an-1
n
an-1 a1 a1
a0 a0
MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 26/37
y (t ) + an −1 y (t − T ) +
+ a0 y (t − nT ) = b0u (t − nT )
y (t + nT ) + an −1 y (t + (n − 1)T ) + x1 (t ) = y (t ) x2 (t ) = y (t + T ) = x1 (t + T ) x3 (t ) = y (t + 2T ) = x2 (t + T )
+ a0 y (t ) = b0u (t )
x1 (t + T ) = x2 (t ) x2 (t + T ) = x3 (t ) x3 (t + T ) = x4 (t )
stavový popis
xn (t ) = y (t + (n − 1)T ) = xn −1 (t + T ) xn −1 (t + T ) = xn (t ) xn (t + T ) = − a0 x1 (t ) − a1x2 (t ) −
xn (t + 1) = y (t + nT )
− an −1xn (t ) + b0u (t )
y (t ) = x1 (t )
xi(t) – stavové veličiny
x1 (0) = y (0) x2 (0) = y (T ) x3 (0) = y (2T ) xn (0) = y ((n − 1)T )
MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 27/37
maticový zápis stavových rovnic lineárního systému
systém 1.řádu
x1 (t + T ) = − B
m − BT T x1 (t ) + u (t ) m m
y (t ) = x1 (t )
x1 (0) = x10 = v0
v F
x (t + T ) = Ax (t ) + Bu(t ) y(t ) = Cx (t ) + Du(t )
⎡ m − BT ⎤ ⎡T ⎤ A = ⎢− ,B = ⎢ ⎥ ⎥ m ⎦ ⎣ ⎣m⎦ C = [1] , D = [0]
x (t ) = x1 (t ) = v(t ), u (t ) = u(t ) = F (t ) y(t ) = y (t ) = v(t ) MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 28/37
systém 2.řádu
x1 (t + T ) = x2 (t )
x k
B
F m
x2 (t + T ) = − K1x1 (t ) + K 2 x2 (t ) + K 3u (t ) y (t ) = x1 (t ) x1 (0) = x0 , x2 (0) = xT
x (t + T ) = Ax (t ) + Bu(t ) y(t ) = Cx (t ) + Du(t )
1⎤ ⎡0⎤ ⎡ 0 A=⎢ ,B = ⎢ ⎥ ⎥ ⎣ − K 2 K1 ⎦ ⎣ K3 ⎦ C = [1 0 ] , D = [0 ]
⎡ x1 (t ) ⎤ ⎡ − ⎤ , u(t ) = u (t ) = F (t ) x (t ) = ⎢ =⎢ ⎥ ⎥ ⎣ x2 (t ) ⎦ ⎣ x(t ) ⎦ y(t ) = y (t ) = x(t ) MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 29/37
systém n-tého řádu x1 (t + T ) = x2 (t ) x2 (t + T ) = x3 (t ) x3 (t + T ) = x4 (t )
x1 (0) = y (0) x2 (0) = y (T ) x3 (0) = y (2T )
xn −1 (t + T ) = xn (t ) xn (t + T ) = − a0 x1 (t ) − a1x2 (t ) −
− an −1xn (t ) + b0u (t )
xn (0) = y ((n − 1)T )
y (t ) = x1 (t )
x (t + T ) = Ax (t ) + Bu(t ) y(t ) = Cx (t ) + Du(t ) ⎡ x1 (t ) ⎤ ⎥ , u(t ) = u (t ) x (t ) = ⎢⎢ ⎥ ⎢⎣ xn (t ) ⎥⎦ y(t ) = y (t ) MAS 2007/08
ČVUT v Praze
1 0 0 ⎤ ⎡ 0 ⎡0⎤ ⎢ ⎥ ⎢ ⎥ 0 1 0 ⎢ ⎥ ⎢ ⎥ 0 ⎥ ,B = ⎢ ⎥ A=⎢ ⎢ ⎥ ⎢ ⎥ 0 0 0 1 ⎢ ⎥ ⎢0⎥ ⎢⎣ − a0 − a1 − a2 ⎢⎣b0 ⎥⎦ − an ⎥⎦ 0] , D = [0] C = [1 0 6,7 - Simulační schemata, stavový popis 30/37
lineární diferenční rovnice n-tého řádu y (t ) + an −1 y (t − T ) +
+ a0 y (t − nT ) = bmu (t ) + bm −1u (t − T ) +
+ b0u (t − mT )
y (0), y (T ),… , y ((n − 1)T ) bn
y(t)
bn b1 b1
u(t) 1
z
Vstup
Unit Delayn
1
..... xn
z
b0
1
x2
z
Scope
b0 Add1
x1
Unit Delayn1 Unit Delayn2
Add
n
an-1 an-1 a1 a1
a0 a0
MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 31/37
počáteční podmínky obecné diferenciální rovnice nesouhlasí s počátečními podmínkami schematu !!! y ((n − 1)T ), y ((n − 2)T ),… , y (0)
≠
xn (0), xn −1 (0),… , x2 (0), x1 (0)
simulační schema lineárního diskrétního systému lze sestavit z bloků zpoždění o 1 krok, zesilovačů a sumátorů
jednoduché nelineární diferenciální rovnice x(t ) − 2 x(t − T ) + x(t − 2T ) = KT 2 sin ϕ(t − 2T ) K=
x(0) = x0 , v(0) MAS 2007/08
g 2⎛ R⎞ 1+ ⎜ ⎟ 5⎝ r ⎠
2
x(0) = x0 , x(0) = v0
∆x(0) x(T ) − x(0) = ⇒ x(T ) = v(0)T + x(0) T T
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 32/37
x(t ) − 2 x(t − T ) + x(t − 2T ) = KT 2 sin ϕ(t − 2T ) x(t + 2T ) = 2 x(t + T ) − x(t ) + KT 2 sin ϕ(t ) x(T)=x2(0)
phi(t) Vstup
sin Sin
-K-
x(t+2T )
K Add
1
x(t+T)
z x2(t+T ) x2(t) Unit Delay1
x(0)=x1(0) 1
x(t)
z
x1(t)
Unit Delay2
Scope
2 2
x1 (t + T ) = f1 ( x1 (t ), x2 (t ), u (t ))
x1 (t + T ) = x2 (t ) x2 (t + T ) = 2 x2 (t ) − x1 (t ) + KT 2 sin u (t ) y (t ) = x1 (t )
x2 (t + T ) = f 2 ( x1 (t ), x2 (t ), u (t )) y (t ) = g ( x1 (t ), x2 (t ), u (t ))
x (t + T ) = f (x (t ), u (t )) y (t ) = g(x (t ), u (t )) MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 33/37
Kontrolní otázky
Pomocí kterých bloků jsme schopni sestavit simulační schema jakéhokoli lineárního spojitého systému? Kam zapisujeme počáteční podmínky? Čím se liší stavový popis lineárního spojitého a diskrétního systému? Nakreslete spojité simulační schema pro volný pád, jestliže jako výstupní veličinu budeme uvažovat polohu závaží x(t). m
x Fg
Nakreslete simulační schema následujícího spojitého systému, jestliže jako vstupní veličinu uvažujeme sílu F(t) a výstupní polohu závaží x(t). Nakreslete též simulační schema odpovídajícího diskrétního systému a napište stavové rovnice obou popisů. x k
MAS 2007/08
ČVUT v Praze
F m 6,7 - Simulační schemata, stavový popis 34/37
Nakreslete diskrétní simulační schema kyvadla, jehož výstupem je úhlová poloha φ(t). Jaké jsou jeho počáteční podmínky?
φ m
m
Kolik stavových veličin má lineární systém? U příkladu systému 2. řádu se závažím, pružinou a tlumičem je výstupem poloha závaží x(t). Pokuste se co nejjednodušeji doplnit simulační schema, aby výstupní veličinou byla rychlost závaží v(t). Nakreslete simulační schema cyklistického trenažeru a diskutujte vliv velikosti počáteční podmínky (rychlosti) v(t) na velikost ustálené rychlosti při jednotkovém skoku vstupní síly F(t).
MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 35/37
Vytvořte simulační schema modelu systému seskoku padákem, který je popsán diferenční rovnicí
m
∆v(t − T ) m − BT + Bv(t − T ) = mg ⇔ v(t ) − v(t − T ) = gT ∆t m
B
v mg Nasimulujte situaci, kdy parašutista letí volným pádem rychlostí 60m/s a právě se mu otevře padák. Uvažujte m = 80kg, B = 270Ns/m, T = 0.01s.
MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 36/37
Pokuste se nakreslit simulační schema cyklistického trenažeru s uvažováním zatěžovacího momentu Mz(t) jako druhého vstupu a zamyslete se nad jeho vlivem na průběh výstupní rychlosti v(t).
Jv(t ) − ( J − BT )v(t − T ) = rRTF (t − T ) − RTM z (t − T )
MAS 2007/08
ČVUT v Praze
6,7 - Simulační schemata, stavový popis 37/37