16 - Pozorovatel a výstupní ZV
Michael Šebek Automatické řízení 2015 14-4-15
Hlavní problém stavové ZV Automatické řízení - Kybernetika a robotika
Stavová zpětná vazba • se zdá být nejúčinnějším nástrojem řízení, důvodem je síla pojmu stav, který v sobě obsahuje veškerou informaci o minulosti soustavy. Stavová zpětná vazba se snadno užívá • tam, kde všechny stavové veličiny můžeme snadno měřit, např. pro letecké a kosmické dopravní prostředky, kde jsou typickými veličinami poloha, rychlost, zrychlení. • Dokonce už tam často jsou senzory měřící tyto veličiny pro jiné účely Co když ale • některé stavy měřit nechceme (cena a spolehlivost senzorů), • nebo ani nemůžeme (jaderný reaktor, sklářská pec)? • Často měříme jen některé stavové veličiny a těm pak říkáme „měřený výstup“ Je potom užití stavové ZV nemožné? • Ne tak docela! • Když některé stavy nemůžeme měřit, zkusíme je rekonstruovat Michael Šebek
ARI-16-2015
2
Estimátor stavu neboli Pozorovatel Automatické řízení - Kybernetika a robotika
Pozorovatel, estimátor stavu, někdy také rekonstruktor (anglicky observer, state estimator, reconstructor) Je to systém, který • má stejný vstup jako soustava, často do něj vedeme i výstup • má stejný řád jako soustava • jeho stavy můžeme všechny měřit a soustava y u • jeho stav xˆ je odhadem stavu soustavy x r = x Ax + Bu + = y Cx + Du • kdyby bylo xˆ (0) = x(0) , + xˆ (t ) x(t ), t > 0 tak i budoucí = y pozorovatel ˆ x ( t ) ≈ x ( t ), t > 0 • obecně jen u
Úkol pozorovatele • vytváří odhad stavu soustavy, • který pak použijeme pro ZV • místo skutečného stavu soustavy • jež bohužel neznáme Michael Šebek
ARI-16-2014
xˆ = f (u, y )
xˆ
−K regulátor 3
Nestačil by model soustavy? Automatické řízení - Kybernetika a robotika
Zkusme přímovazební (open-loop) strukturu s modelem soustavy soustava = x Ax + Bu x u = xˆ Axˆ + Bu = x Ax + Bu
• vypočteme odchylku odhadu
e= x − xˆ , e(0) = x(0) − xˆ (0) e = Ae
model
= xˆ Axˆ + Bu
y
C
xˆ
C
yˆ
• Dynamika odchylky je tedy dána dynamikou soustavy • pokud vyhovuje (stabilita, rychlost konvergence), tak to stačí, ale pak vůbec nemusíme řídit • pokud nevyhovuje, nemůžeme to napravit • Tato struktura není dobrá – Jak ji můžeme vylepšit? Zpětnou vazbou! • Využijme rozdíl mezi měřeným a odhadovaným výstupem y − yˆ Michael Šebek
ARI-16-2015
4
Pozorovatel plného řádu Automatické řízení - Kybernetika a robotika
Ax + Bu , y = Cx • odhaduje všechny stavy soustavy x = • skládá se z modelu soustavy xˆ = Axˆ + Bu + L( y − yˆ ) yˆ = Cxˆ a injekce z výstupu • odečtením rovnic = x Ax + Bu xˆ = Axˆ + Bu + LC ( x − xˆ ) • Dostaneme pro odchylku odhadování e= x − xˆ = e
( A − LC ) e
soustava
u
= x Ax + Bu model = xˆ Axˆ + Bu +L( y − yˆ )
pozorovatel
y
x
C
xˆ
C
yˆ
+
−
L
e = A poz e
• to už je lepší: volbou vektoru L můžeme měnit matici A , a tak nastavit dynamiku odhadování (konvergenci a její rychlost) Michael Šebek
ARI-16-2015
5
Vlastnosti pozorovatele plného řádu Automatické řízení - Kybernetika a robotika
• Protože je xˆ = Axˆ + Bu + Ly − LCxˆ = ( A − LC ) xˆ + Bu + Ly • má pozorovatel rovnice kde A = A − LC je matice xˆ= A poz xˆ + Bu + Ly poz pozorovatele je ˆy = Cxˆ a
11 1 12 1n • Její vlastní čísla a l a a 22 2n (tzv. póly pozorovatele) A poz 21 = − 2 [ c1 c2 cn ] • se dají vhodnou volbou L nastavit „libovolně“ a a a n2 nn n1 ln když je systém pozorovatelný • Ne náhodou to připomíná vztahy pro matici stavové ZV Póly pozorovatele • obvykle je volíme 2× až 6× rychlejší než „póly regulátoru“ • aby póly regulátoru byly dominantní a pozorovatel nezpomaloval dyn. Jen když je šum senzoru tak silný, že je hlavním problémem • volíme póly pozorovatele 2× pomalejší než „póly regulátoru“ • tím zmenšíme šířku pásma a „vyhladíme šum v ZV systému“ a
Michael Šebek
ARI-16-2014
a
l
6
Dualita Automatické řízení - Kybernetika a robotika
• Při návrhu pozorovatele pro dané A, C hledáme L tak, aby matice A poz= A − LC měla požadovaná vlastní čísla • Při návrhu stavové ZV jsme podobně pro dané A, B hledali K tak, aby A reg= A − BK měla požadovaná vlastní čísla • Má to nějakou souvislost? Ano! • Protože transpozice matice nemění vlastní čísla, transponujme problém na
ATpoz = AT − CT LT ( A − LC ) = T
• Zřejmě jsou oba problémy duální • Proto můžeme navrhnout pozorovatele (matici výstupní injekce) tak, že • Budeme navrhovat matici stavové ZV pro duální (tedy „transponovaný“) systém Michael Šebek
ARI-16-2014
řízení stavová ZV
A B C K
odhad stavu výst. injekce
AT CT BT
LT
7
Dualita pozorovatelnosti a řiditelnosti Automatické řízení - Kybernetika a robotika
• Dualita je ještě hlubší: i pojmy řiditelnost a pozorovatelnost jsou duální • Systém je (úplně) pozorovatelný, právě když lze k němu navrhnout pozorovatele s “libovolnými“ vlastními čísly (póly pozorovatele) • Matice pozorovatelnosti je duální k matici řiditelnosti C CA CT O = = n −1 CA
AT CT
( AT ) n −1 CT
• kanonický tvar pozorovatelnosti je duální ke kanonickému tvaru řiditelnosti Michael Šebek
ARI-16-2015
T
řízení stavová ZV
A B C K −an −1 −a n−2 A= −a1 −a0
odhad stavu výst. injekce
AT CT BT
LT 1 0 0 0 0 0 0 0 1 0 0 0
C = [1 0 0 0]
8
Návrh pozorovatele - 3 metody Automatické řízení - Kybernetika a robotika
Využít přímo dualitu: • převést úlohu na návrh stavové ZV pro duální systém, • vyřešit ho a výsledné K převést na L podle L = KT Převodem na normální tvar pozorovatelnosti: −1 • k čemuž použijeme transformační matici T = OnewOold • snadno − ( an −1 + l1 ) 1 0 0 −an −1 1 0 0 l1 vyřešit −a l a l 0 0 0 0 0 0 − + ( ) − − n n 2 2 2 2 v tomto F = − [1 0 0 0] = tvaru a l a l 0 0 1 0 0 1 − − + ( ) n −1 1 1 n −1 • výsledek − ( a + l ) 0 0 0 −a0 0 0 0 ln n 0 převést zpět do původních souřadnic det ( sI − ( A − LC) ) = s n + ( an−1 + l1 ) s n−1 + + ( a1 + ln−1 ) s + a0 + ln Pomocí modifikovaného Ackermannova vzorce pro pozorovatele Michael Šebek
ARI-16-2015
det ( sI − A ) = s n + an −1s n −1 + + a1s + a0
L = ppoz ( A)O −1 [ 0 0 1]
T
9
Kombinace: ZV a pozorovatel Automatické řízení - Kybernetika a robotika
Stavovými metodami navržená ZV z výstupu: • navrhneme zvlášť stavovou ZV a zvlášť pozorovatele −Kxˆ + r • ale pak ZV vedeme od stavů pozorovatele u = soustava x = Ax + Bu , y = Cx x u r ˆx = Axˆ + Bu + L( y − Cxˆ ) = x Ax + Bu u= −Kxˆ + r xˆ = ( A − LC ) xˆ + Bu + Ly
+ +
( A − LC − BK ) xˆ + Ly + Br • rovnice regulátoru tedy jsou xˆ = ( A − LC − BK ) xˆ + Ly + Br
regulátor
u= −Kxˆ + r • a jeho přenos je
(
−K
xˆ
y
C
= xˆ Axˆ + Bu + L( y − Cxˆ )
)
u (s) = −K ( sI − A + LC + BK ) Ly ( s ) + 1 − K ( sI − A + LC + BK ) B r ( s ) −1
Michael Šebek
ARI-16-2015
−1
10
Separace Automatické řízení - Kybernetika a robotika
Výsledný systém (soustava + pozorovatel + ZV) má rovnice x =Ax − BKxˆ + Br u= −Kxˆ + r xˆ = LCx + ( A − LC − BK ) xˆ + Br soustava • Abychom lépe určili jeho póly, x u r vyjádříme ho se stavy x, e= x − xˆ = x Ax + Bu C + + = x ( A − BK ) x + BKe + Br e = ( A − LC ) e xˆ neboli blokově = xˆ Axˆ + Bu −K + L( y − Cxˆ ) BK x B x A − BK + r e 0 A − LC e 0 regulátor • •
y
póly výsledného systému jsou zřejmě póly ZV bez pozorovatele + póly pozorovatele bez ZV teprve z toho plyne, že smíme obě části navrhovat zvlášť: tzv. princip separace Michael Šebek
ARI-16-2015
11
Další použití pozorovatele Automatické řízení - Kybernetika a robotika
Pozorovatel se používá i k řešení jiných úloh: • Jako náhrada měření veličiny, které není možné či snadné • V případě chyb, selhání, poruch (fault, fauilure) k jejich • detekci = že došlo k selhání (fault detection) • izolaci = kde přesně došlo k selhání (fault isolation) • V případě selhání senzoru a/nebo aktuátoru k rekonfiguraci • např. se při selhání senzoru použije pro řízení místo skutečně naměřených hodnot výstupu použijí hodnoty odhadnuté pozorovatelem • v případě selhání aktuátoru se použije tzv. virtuální aktuátor, což je modifikace pozorovatele • (Podobně) v případě změny vlastností senzoru/aktuátoru
Michael Šebek
ARI-16-2015
12