15 - Stavové metody
Michael Šebek Automatické řízení 2016 10-4-16
Stavová zpětná vazba Automatické řízení - Kybernetika a robotika
Když můžeme měřit celý stav (všechny složky stavového vektoru) soustavy, pak je můžeme využít k řízení soustava u = −Kx + r
− [ k1
k2
x1 x kn ] 2 + r xn
r
++
u
= x Ax + Bu
x
y
C
−K regulátor
Na rozdíl od dosud probíraných regulátorů: • vstupem regulátoru je vektor – je potřeba více senzorů • využíváme víc informace než při ZV z výstupu • do regulátoru vstupuje jiný signál, než který chceme řídit • regulátor není dynamický, je jen „proporcionální“ Je stavový regulátor složitější nebo jednodušší než dynamická ZV z výstupu? Michael Šebek
ARI-15-2016
2
Zpětnovazební systém Automatické řízení - Kybernetika a robotika
x Ax + Bu dosadíme u = • Když do = −Kx + r , dostaneme
x = Ax + Bu = Ax + B ( −Kx + r ) = ( A − BK ) x + Br
• Rovnice výsledného systému je
( A − BK ) x + Br x =
• Zavedení stavové zpětné vazby změnilo původní matici systému
= x Ax + Bu
= x ( A - BK ) x + Br
• Výstupní rovnice y = Cx se nezměnila • Jak moc můžeme matici ZV změnit? A new
a11 a =A − BK = 21 an1
a12 a1n b1 a22 a2 n b2 − [k 1 an 2 ann bn
k2 kn ]
Z porovnání hodností je zřejmé, že všechny prvky libovolně změnit nemůžeme Michael Šebek
ARI-15-2013
3
Co tedy umí stavová zpětná vazba? Automatické řízení - Kybernetika a robotika
• I když se to na první pohled nezdá, platí Věta • Vhodnou volbou prvků K můžeme libovolně (až na komplexně sdružené dvojice) umístit vlastní čísla matice A new= A − BK • a to právě když soustava je úplně řiditelná. Jinými slovy • Můžeme libovolně umístit póly výsledného systému (právě když soustava je úplně řiditelná)
det ( sI − A )
det ( sI − A new= ) det ( sI − ( A − BK ) )
• Porovnejte s metodou RL: ta všechny póly libovolně umístit nedokáže. Proč? • Póly opravdu jen posouvá, ale nepřidává – srovnej s dynamickou výstupní ZV Všimněte si ještě: • Nutná a postačující podmínka je úplná řiditelnost • Právě proto je tento pojem tak důležitý Michael Šebek
ARI-15-2013
4
Umístění pólů - Naivně a v kanonickém tvaru Automatické řízení - Kybernetika a robotika
• Pro 1. a 2. řád řešíme - naivně - přímo z rovnice
det ( sI − A new= ) det ( sI − ( A − BK ) )
Pro vyšší řády to obvykle nejde, protože vycházejí příliš složité rovnice. • Pro soustavu v kanonické formě řiditelnosti
A
−an −1 −an − 2 −a1 −a0 1 0 0 0 = B , 0 0 0 0 0 1 0 0
1 0 0 0
det ( sI − A ) = s n + an −1s n −1 + + a1s + a0 je řešení jednoduché, neboť i výsledný systém je v tomto zvláštním tvaru Michael Šebek
ARI-15-2013
5
Pokračování: Umístění pólů v kanonickém tvaru Automatické řízení - Kybernetika a robotika
• opravdu je A new = A − BK = −an −1 1 0 0
−an − 2 −a1 0 0 0 0
0 1
−a0 1 [ k1 kn ] 0 0 − 0 0 −( a + k ) −( a + k ) 1 2 n −1 n−2 0 0 1 0 = 0 0 0 0
• a výsledný charakteristický polynom je
−(a1 + kn −1 ) −(a0 + kn ) 0 0 0 0 1 0
c( s) = det ( sI − Anew ) = s n + ( an −1 + k1 ) s n −1 + + ( a1 + kn −1 ) s + ( a0 + kn ) • prvky matice K vybereme tak, aby se koeficienty polynomu rovnaly požadovaným c( s ) = s n + cn −1s n −1 + + c1s + c0 Michael Šebek
ARI-15-2013
k1 cn −1 − an −1 = kn −1= c1 − a1 k= c0 − a0 n 6
Řešení pro obecný tvar Automatické řízení - Kybernetika a robotika
x = Tx con Pokud soustava není v normálním tvaru řiditelnosti, můžeme problém řešit převodem do tohoto tvaru A = TA con T−1 1. Pomocí matice řiditelnosti vypočteme B = TB con transformační matici T 2. Převedeme naše rovnice s maticemi A, B do kanonické formy řiditelnosti −1 = A con T= AT, B con T−1B
3. 4.
Vypočteme matici stavové ZV pro tuto formu K con Matici ZV transformujeme zpátky do původních souřadnic transformací
K = K con T−1 Odvození transformace pro matici zpětné vazby
x = T ( A con − B con K con ) T −1x + TB con r x con = ( A con − Bcon K con ) xcon + Bcon r =
( A − BK con T−1 ) x + Br = ( A − BK ) x + Br
Michael Šebek
ARI-15-2016
7
Ackermannův vzorec Automatické řízení - Kybernetika a robotika
Kompaktní řešení: • Je-li soustava v obecném tvaru s maticemi A, B a požadujeme-li výsledný CL charakteristický polynom c( s ) = s n + cn −1s n −1 + + c1s + c0 • pak je matice stavové zpětné vazby dána Ackermannovým vzorcem
K = [ 0 0 1]C −1c( A) • kde C = B AB A n−1B je matice řiditelnosti soustavy • a matice c( A) = A n + cn −1A n −1 + + c1A + c0 I n vznikne dosazením původní matice soustavy do požadovaného CL charakteristického polynomu Poznámky: • Výpočet matice řiditelnosti a tudíž ani Ackermannův vzorec není numericky moc spolehlivý a funguje tak do řádu 10 • V Matlabu nepoužívej inverzi, ale „lomítko“ (řešení soustavy rovnic) lépe naprogramováno ve funkci place , ale ta neumí vícenásobné CL póly Michael Šebek
8
Vlastnosti: Stavová ZV nemění nuly Automatické řízení - Kybernetika a robotika
• Z definice plyne, že nuly systému bez ZV sI − A det (tedy s maticemi A, B, C ) jsou řešením rovnice −C • zatímco nuly systému s ZV (tedy s sI − ( A − BK ) det maticemi A-BK, B, C ) jsou řešením rovnice −C • Jenže obě matice mají stejný determinant:
B =0 0 B =0 0
sI − A B I 0 sI − A B sI − A + BK B sI − ( A − BK ) B = det det = det = det K I − C 0 − C 0 − C 0 − C 0
takže oba systémy mají stejné nuly! (Pokud má systém více vstupů nebo výstupů, matice není čtvercová, det neexistuje, ale závěry jsou stejné) • Tedy stavová zpětná vazba nuly systému neovlivní! - srovnej s výstupní ZV • Jelikož má výsledný ZV systém stejné nuly jako soustava (a ty známe dopředu), můžeme stabilní nuly soustavy zahrnout mezi požadované CL póly a tím je z výsledného přenosu „vykrátit“. • To využijeme zejména když ze specifikací neplyne poloha všech CL pólů a my stejně musíme nějaké další volit. Michael Šebek
9
Vlastnosti: Problémy s ustálenou odezvou Automatické řízení - Kybernetika a robotika
• Stavová ZV dobře mění dynamiky, ale už neumožňuje nezávisle ovlivnit ustálenou odezvu - často vede na nenulovou ustálenou odchylku na skok • Stejnosměrné zesílení soustavy (bez ZV)
(
P(0) =− C( sI A) −1 B + D
)
s =0
= −CA −1B + D
• se po zavedení stavové zpětné vazby se změní na
(
C( sI − ( A − BK )) −1 B + D T (0) =
málokdy je jednotkové • Můžeme to napravit přímovazebním členem • Pak je zřejmě
)
s =0
= −C( A − BK ) −1 B + D r
M = 1 T (0)
M
++
u
= x Fx + Gu
y
x
H
−K
= Tcelk (0) M = (0)T (0) T= (0) T (0) 1
• Ale toto řešení není robustní, neboť změna parametrů (soustavy nebo ZV) změní výsledné zesílení na ne-jednotkové Michael Šebek
ARI-15-2013
10
Integrální řízení Automatické řízení - Kybernetika a robotika
• Robustní způsob, jak při stavové ZV zajistit jednotkové ustálené zesílení • Do struktury soustavy se stavovou ZV, xI =−Cx + r =r − y přidáme integrátor regulační odchylky • V ustáleném stavu pak bude xI , ss =0 ⇒ yss =rss • Rovnice „rozpojeného systému“ y x u jsou r x x K = x Ax + B u C ∫ ++ − = x Ax + Bu y = Cx −K xI = −Cx + r I
I
I
• a kompaktně
Michael Šebek
x A 0 x B 0 = x −C 0 x + 0 u + 1 r I I x y = [C 0] xI ARI-15-2013
11
Integrální řízení Automatické řízení - Kybernetika a robotika
• Když subsystémy „spojíme,“ tedy zavedeme stavovou ZV od všech stavů celého systému u= −Kx − K I xI = − [K
• dostaneme x A − BK = x −C I
r
xI
−
∫
xI
−KI + +
u
= x Ax + Bu
y
x
C
−K
x KI ] xI
− BK I x 0 + = r, y 0 xI 1
x [C 0] x I
• Matici „velké“ stavové ZV [ K K I ] navrhneme standardními metodami, ale pro „velký“ systém s maticemi A 0 B −C 0 , 0
• Funguje to podobně jako integrační složka složka v PID regulátoru Michael Šebek
ARI-15-2013
12
Internal Model Control Automatické řízení - Kybernetika a robotika
Obecněji: • Pro sledování rampy obdobně přidáme 2 integrátory, pro sledování paraboly 3 apod. Ještě obecněji: • Pro robustní sledování průběhu generovaného nějakým generátorem (= splňujícího nějakou diferenciální rovnici) • Přidáme obdobně tento generátor k systému • Tato obecná metoda se jmenuje řízení s vnitřním modelem (Internal Model Control – IMC)
Michael Šebek
ARI-15-2013
13