21 – Diskrétní modely spojitých systémů
Michael Šebek Automatické řízení 2015 29-4-15
Metoda emulace Automatické řízení - Kybernetika a robotika
nazývá se také aproximace, diskrétní ekvivalent,…
spojitý regulátor
1. Pro spojitý model soustavy navrhneme spojitý regulátor, přičemž vezmeme v úvahu, že bude soustava řízena diskrétně 2. Aproximujeme ho diskrétním/číslicovým systémem 3. Diskrétní analýzou, simulacemi a experimenty ověříme návrh Pozor: Digitální implementace spojitého regulátoru je vždy jen aproximace, neboť číslicový regulátor pracuje jen se vzorky ! Metody aproximace spojitého regulátoru diskrétním • Náhrada derivace diferencí • Tustinova metoda • Matched pole zeros – najdete v učebnici • Matlab – CSTbx: funkce c2d Michael Šebek
ARI-21-2015
2
Jednoduché metody: numerická integrace Automatické řízení - Kybernetika a robotika
Náhrada derivace přímou diferencí (Eulerova metoda, přímá obdélníková aproximace)
dx(t ) x(t + h) − x(t ) ≈ dt h
z −1 sx ≈ x h
formálně nahradíme Tomu odpovídá aproximace řady z= e sh ≈ 1 + sh
z −1 s≈ h
Náhrada derivace zpětnou diferencí (zpětná obdélníková aproximace)
dx(t ) x(t ) − x(t − h) ≈ dt h
sx ≈
z −1 x zh
s≈
z −1 zh
1 z e ≈ Tomu odpovídá aproximace řady = 1 − sh sh
Michael Šebek
ARI-21-2015
3
Tustinova metoda Automatické řízení - Kybernetika a robotika
neboli lichoběžníková aproximace či bilineární transformace • Vychází z numerické integrace odezvy lichoběžníkovou metodou • Nahradíme , což odpovídá aproximaci řady 1 + sh 2 2 z −1 = z e sh ≈ s≈ 1 − sh 2 h z +1 e sh 2 1 + sh 2 • Mnemotechnická pomůcka: = z e= − sh 2 ≈ e 1 − sh 2 sh
• V Matlabu-CSTbx funkce: c2d(f,h,'tustin') Obecný postup • V přenosu spojitého regulátoru prostě nahradíme s výrazem podle zvolené metody • Vhodné pro ruční počítání • V Matlabu-CSTbx různá volní funkce: c2d(f,h) Michael Šebek
ARI-21-2012
4
Aproximace spojitých P, I a D regulátorů Automatické řízení - Kybernetika a robotika
• PID regulátor je zvláštním případem dynamické výstupní ZV a může být aproximován libovolnou z výše uvedených metod • Na druhé straně je to často používaným speciální regulátor, a v literatuře najdeme mnoho speciálních aproximací • Standardní aproximace jednotlivých členů jsou P - bez aproximace u (t ) = Ke(t ) u ( s ) = Ke( s ) u ( z ) = Ke( z ) u (k ) = Ke(k ) I: přímá diference K t K K h u (t ) = ∫ e(τ )dτ u ( s ) = e ( s ) u ( z ) = e( z ) 0 TI TI s TI z − 1 Kh D: zpětná diference u (k + 1)= u (k ) + e( k ) TI u (t ) = KTD e(t ) u ( s ) = KTD se( s) KTD z −1 u (= k + 1) u ( z ) = KTD e( z ) ( e(k + 1) − e(k ) ) h zh Michael Šebek
ARI-21-2012
5
Aproximace celého PID Automatické řízení - Kybernetika a robotika
• Aproximace celého PID regulátoru se pak často prostě složí h 1 TD z − 1 + u( z) = K 1 + e( z ) TI z − 1 h z
Říká se jim proporcionálně sumačně diferenční: PSD
• Jinou cestou je naopak aproximovat celý PID najednou h z TD z − 1 + u( z) = K 1 + e( z ) TI z − 1 h z
1 + TD s e( s) u ( s ) = K 1 + TI s
h z + 1 2TD z − 1 + u( z) = K 1 + e( z ) − + 2TI z 1 h z 1
• Podobným způsobem se aproximují složitější (ne-školní) verze PID regulátoru Michael Šebek
ARI-21-2012
6
Aproximace spojité stavové ZV Automatické řízení - Kybernetika a robotika
• Když pro spojitou soustavu se stavovým modelem
x = Ax + Bu , y = Cx navrhneme nejprve „spojitými“ metodami stavovou ZV = u (t ) MuC (t ) − Kx(t )
musíme ji pro diskrétní implementaci také upravit • aby lépe „seděly“ póly uzavřené smyčky a její chování • Pro ZV vezmeme (přibližně) K dis = K ( I + ( A − BK ) h 2 )
• Podobně přímou větev upravíme na M dis= Michael Šebek
( I − KB h 2 ) M
ARI-21-2012
7
Spojitý návrh jako příprava pro diskrétní řízení Automatické řízení - Kybernetika a robotika
• První krokem při metodě emulace (aproximace) je spojitý návrh • Při něm ale už můžeme vzít v úvahu, že konečné řešení bude diskrétní • Pro spojitý návrh k soustavě přidáme „model tvarovacího členu“ Možnosti Gdes ( s ) • Nebrat v úvahu GZOH ( s) = 1 → Gdes ( s ) = G (s) G (s) GZOH ( s ) • Lepší je , ale to není 1 − e − sh GZOH ( s ) = racionální funkce. sh
• Aproximujeme (Padé 1. řádu) − sh e nahradí ZOH členem se zpožděním 1.řádu − sh 2 G ( s ) = e • Nebo bereme ZOH a aproximace téhož:
Michael Šebek
hs 1− = 2 hs 1+ 2
1 → GZOH ( s ) = h s +1 2
1 − hs 4 − sh 2 (1 − hs 4n ) ,e ≈ n 1 + hs 4 (1 + hs 4n ) n
e − sh 2 ≈ ARI-21-2012
8
Diskrétní model spojité soustavy Automatické řízení - Kybernetika a robotika
r ( z)
D( z )
r (t )
r (kh) h
Diferenční rovnice
soustava u (kh)
D/A
u (t )
a tvarovač
G (s)
y (t )
e(kh) hodiny
senzor A/D
y (t )
y (kh) h
Michael Šebek
ARI-21-2012
1
G( z)
9
Diskrétní popis soustavy - ZOH Automatické řízení - Kybernetika a robotika
Diskrétní přenos soustavy + tvarovacího členu 0. řádu (Zero-Order Hold) u (s) G (s)
ZOH
u (kh)
u (t )
y(s) Y (s) y (t )
u( z)
y (kh)
u (kh)
G( z)
y( z) y (kh)
• diskrétní přenos je z-obraz diskrétní odezvy na diskrétní jednotkový puls u (kh) = 1 pro k = 0 a u (kh) = 0 pro k ≠ 0 impulsní charakteristika ZOH • odezva ZOH na tento signál je spojitý puls u (t ) = 1(t ) − 1(t − h) s L-obrazem 1 − 1 e − hs s s • odezva (spojité) soustavy na tento spojitý signál je G (s) Y ( s ) = (1 − e− hs ) s z čehož bychom vypočetli y (t ) a po vzorkování y (kh) Michael Šebek
ARI-21-2012
10
Diskrétní popis soustavy Automatické řízení - Kybernetika a robotika
G ( z ) = { y (kT )}
G (s)
ZOH
= = {Y ( s)} {−1 {Y (s)}}
{
u (s)
označíme takto
• Tedy shrnuto
= (1 − e− hs )
G (s) s
}
u (kh)
u (t )
u( z)
• Výsledek rozdělíme na rozdíl dvou částí:
{ } {
G (s) G (s) = − G ( z ) e − hs s s
}
u (kh)
y(s) Y (s) y (t )
G( z)
y (kh)
y( z) y (kh)
• Druhý člen přesně o jednu periodu zpožděný první člen, tedy
{
e − hs
}
{ }
G (s) G (s) = z −1 s s
• Takže hledaný diskrétní přenos je G (s) −1 ) ( G ( z )= 1 − z s
{ }
Michael Šebek
ARI-21-2012
c2d(G,h,'zoh') c2d(G,h) 11
Diskrétní popis soustavy: FOH Automatické řízení - Kybernetika a robotika
Diskrétní přenos soustavy + tvarovacího členu 1. řádu (First-Order Hold) • nekauzální FOH, trojúhelníkový hold u (s)
G (s)
FOH
u (kh)
u (t )
y(s) Y (s)
y (t )
u( z)
y (kh)
u (kh)
G( z)
y( z) y (kh)
• diskrétní přenos je z-obraz diskrétní odezvy na diskrétní jednotkový puls • odezva FOH na tento signál je spojitý puls impulsní charakteristika t t t FOH u (t )= 1(t + h) − 2 1(t ) + 1(t − h) h h h hs − hs • s L-obrazem e − 2 + e hs 2 ehs − 2 + e− hs G ( s) • odezva (spojité) soustavy Y (s) = na tento spojitý signál je h s2 • z čehož bychom vypočetli y (t ) a po vzorkování y (kh) Michael Šebek
ARI-21-2012
12
Diskrétní popis soustavy: FOH Automatické řízení - Kybernetika a robotika
u (s)
• Tedy shrnuto −1 = G ( z ) = = { y (kh)} { y ( s)} { y ( s)}} {
e − 2 + e = h hs
− hs
• Výsledek rozdělíme na součet tří částí: ( z) G=
{
G (s)
FOH
G (s) s2
} { } {
u (kh)
u (t )
}
u( z)
1 G (s) hs G ( s ) − hs G ( s ) 2 − + e e h s2 s2 s2
y(s) Y (s) y (t )
G( z)
u (kh)
y (kh)
y( z) y (kh)
• první člen o jednu periodu předbíhá druhý, třetí je o jednu zpožděný G( z)
{ }
{ }
z − 2 + z −1 G ( s ) z 2 − 2 z + 1 G ( s) = 2 2 h hz s s
• Takže hledaný diskrétní přenos je
{ }
( z − 1) 2 G ( s ) 2 G( z) = hz s Michael Šebek
V Matlabu c2d(G,h,'foh')
ARI-21-2012
13
Diskretizace stavového modelu se ZOH Automatické řízení - Kybernetika a robotika
• Diskrétní stavový model vzorkované spojité soustavy s tvarovacím členem 0. řádu u (t )
u (kh)
• je
ZOH
= x Ax + Bu = y Cx + Du
y (t )
Y (s)
x= (tk +1 ) Fx(tk ) + Gu (tk ) = y (tk ) Cx(tk ) + Du (tk )
u (kh)
y (kh)
F = e Ah G=
(∫
h
0
x= Fx k + Guk k +1 = yk Cx k + Duk
y (kh)
)
e Aν dν B
• V Matlabu+CSTbx: funkce c2d aplikovaná na objekt ss • Speciálně maticová exponenciála: např. expm • Odvození a další metody jsou v příkladových slajdech Michael Šebek
ARI-21-2012
14