Transcript 4.osa
Automaatjuhtimissüsteemid ISS0021 2-2-0 E 6 EAP Optimaaljuhtimine Ennu Rüstern [email protected], TTÜ U02-316, tel. 6202104 TTÜ automaatikainstituut Automaatjuhtimise ja süsteemianalüüsi õppetool Optimaaljuhtimise ülesanded Juhitava süsteemi mudelid x (t ) f x(t ), u (t ) y (t ) g x(t ) (A) mittelineaarne lineariseerimine (B) x (t ) A(t ) x(t ) B (t )u (t ) mittestatsionaarne y (t ) C (t ) x(t ) x (t ) Ax (t ) Bu (t ) y (t ) Cx (t ) (C) statsionaarne x(t) – olekuvektor (dim = n) u(t) – sisendvektor (dim = r) y(t) – väljundvektor (dim = m) Optimaalse juhtimise ülesanne 1) ● juhitav süsteem (kujul A) ● kriteerium (ehk sihifunktsioon) tf I ( x, u ) x, t | F x, u , t dt tf t0 t0 min I ( x, u ) u (t ) t0 on tavaliselt = 0, tf võib olla ka ∞. 2) ● juhitav süsteem (kujul B) ● kriteerium tf 1 T 1 T I ( x, u ) x (t f ) Sx(t f ) x (t )Q(t ) x(t ) u T (t ) R(t )u (t )dt 2 2t 0 min I ( x, u ) u (t ) 3) ● juhitav süsteem (kujul C) ● kriteerium tf 1 T 1 T I ( x, u ) x (t f ) Sx(t f ) x (t )Qx (t ) u (t ) Ru (t )dt 2 2t 0 NB! Oluline erijuhtum: 1 T I ( x, u ) x (t )Qx (t ) u (t ) Ru (t )dt 20 Probleemid: ● lahendi olemasolu; ● lahendi ühesus. Optimaajuhtimise meetodid Variatsioonarvutus (antud kursuse põhimeetod optimaaljuhtimise käsitlemisel) Dünaamiline planeerimine (infoks ja optimaaljuhtimise iseärasuste selgitamiseks) Pontrjagini maksimumi printsiip (ainult infoks) Optimaaljuhtimise meetodid: variatsioonarvutus Klassikalise variantsioonarvutuse ülesanne tf I ( x ) F x, x , t dt t0 x (t ), x (t ) antud f 0 Leida x (t ) ( ekstremaal) min I ( x ) (max) x ( t )C Oletame, et x (t ) on ekstremaal. x (t ) (t ) , reaalarv (t ) variatsioon (t0 ) (t f ) 0 . x(t) ? tf I ( ) F x , x , t dt t0 dI ( ) 0 d ekstreemumi tarvilik tingimus dI ( ) F d ( x ) F d ( x ) dt d d x d t x tf 0 F F dt 0 x x t ositi tf 0 F F d F t x dt x |t t dt x dt tf tf tf 0 0 0 F t |t 0 x f 0 dI ( ) F d F (t ) dt 0 d x dt x t tf 0 F d F 0 x dt x t t0 , t f ekstreemumi tarvilik tingimus, Euleri võrrand. Üldistused: 1) tf I ( x1 , x2 ,, xn ) F x1 , x2 ,, xn ; x1 , x 2 ,, x n ; t dt t0 x1 (t0 ), x1 (t f );; xn (t0 ), xn (t f ); min I ; x1 , x2 ,, xn C (max I ) F d F 0 xi dt xi i 1,2,, n tarvilik tingimus 2) kitsendused j ( x1 , x2 ,, xn ; t ) 0 j ( x1 , x2 ,, xn ; x1 , x2 ,, xn ; t ) 0 j=1,2,…,m tf tf * I F j (t ) j dt F dt j 1 t t * m 0 0 * F F d F 0 i 1,2,, n xi dt xi 0 j 1,2,, m j * * ● süsteem n+m võrrandist ● ekstreemumi tarvilik tingimus Variatsioonarvutus – kommentaarid (1) Variatsioonarvutuse põhimõisted: funktsionaal, ekstremaal Funktsionaal on funktsiooni üldistus, mille argumendiks on funktsioon (või funktsioonid mitme muutuja puhul) ja väärtuseks arv Trajektoori, millel funktsionaal saavutab miinimumi või maksimumi nimetatakse ekstremaaliks Variatsioonarvutuse sisuks on funktsionaalide ekstremaalide arvutamine Variatsioonarvutus – kommentaarid (2) Klassikalise variatsioonarvutuse ülesande lahendamine taandub Euleri võrrandi (2.järku differentsiaalvõrrand) lahendamisele. Euleri võrrand on ekstreemumi tarvilik tingimus Mitmemuutujaga variatsioonarvutuse ülesande lahendamine taandub diferentsiaalvõrrandite süsteemi lahendamisele. Diferentsiaalvõrrandite süsteem on mitmemuutuja ülesande puhul ekstreemumi tarvilik tingimus Variatsioonarvutus – kommentaarid (3) Variatsioonarvutust on võimalik kasutades Lagrange`i kordajate meetodit lahendada ka kitsendustega ülesandeid st kasutada variantsioonarvutust optimaaljuhtimise ülesannete lahendamisel Näide 1 (satelliidi trajektoori korrigeerimine ) Juhitav süsteem: u (t ) 2 1 2 I () dt 20 Juhtimiskriteerium: min I u (t ) (0 ) 1; (2) 0 (0 ) 1; ( 2) 0 Lahendus: 1) Koostame olekumudeli: x (t ) Ax(t ) Bu (t ), x1 (t ) x(t ) , x2 (t ) x1 (t ) (t ) x1 (t ) x2 (t ) x 2 (t ) u (t ) kus 0 1 A , 0 0 0 B . 1 2 1 2 I u (t )dt 2 0 F Ax (t ) Bu (t ) x (t ) 0 (t ) kitsendus F F T (t ) (t ) 1 (t ) (t ) ( t ) 2 1 2 I u (t ) 1 (t )( x2 (t ) x1 (t )) 2 (t )(u (t ) x2 (t )) dt 0 2 2 * F u (t ) 2 (t ) u * * F d F 0, 0 u dt u * F 0 x1 * F 1 (t ) x2 u (t ) 2 (t ) 0 1 (t ) 0 2 (t ) 1 (t ) * F 2 (t ) , x2 * F 1 (t ) , x1 tarvilik tingimus x1 (t ) 0 1 (t ) c1 2 (t ) 1 (t ) 2 (t ) c1t c2 u (t ) 2 (t ) c1t c2 * d F 2 (t ) dt x2 * d F 1 (t ) dt x1 x2 (t ) u (t ) c1t c2 c1 2 x1 (t ) x2 (t ) t c2 t c3 2 c1 3 c2 2 x1 (t ) t t c3t c4 6 2 x1 (t ) (t ) (t ) x2 (t ) (0 ) 1, (2) 0 (0 ) 1, ( 2) 0 x1 (0 ) (0 ) c4 1 c1 3 c2 2 x1 (2) (2) (2) 2 c3 2 c4 0 6 2 1 (0) c 1 x (0) c1 2 x2 (2) (2) 2 c2 2 c3 0 2 2 3 1 4 c 2c 3 c 3 2 1 3 1 7 2c1 2c2 1 c2 2 x (t ) 1 t 3 7 t 2 t 1 1 2 4 3 2 7 x2 (t ) t t 1 2 2 u (t ) 3t 7 2 Pidevajasüsteemide optimaaljuhtimine Juhitav süsteem: x (t ) f x(t ), u (t ) Juhtimiskriteerium: Ülesanne: tf I ( x, u ) x(t ), t | F x, u , t dt tf min I ( x, u), u(t ) kus I(x,u) on funktsionaal t0 t0 tf I x, t | t0 F ( x, u , t ) T f ( x, u ) x dt tf t0 t0 Tähistame H ( x, u, ) F ( x, u, t ) T f ( x, u ) Hamiltoni funktsioon tf I x, t | H ( x, u , ) T xdt tf t0 t0 tf x, t x| H ( x, u , ) T xdt tf T t0 t0 Teisenduse sisu: tf tf T T T x dt x |t x dt t0 tf 0 t0 Arendame I(x,u) Taylori ritta x, u tf I x , t T x| H ( x , u , ) T xdt tf t0 t0 t T T T t H ( x x ) H (u u ) dt ( x x )| t x u x t H H u x x u x x f f 0 0 T T T 1 T 2 t x x |t 2 2 x f 0 H x 2 1 T T x u T H 2 u x 2 R3 on Taylori rea jääkliige H u x x dt R 3 2 H u 2 u T t T H T H I x |t x u dt u x x t tf f 0 0 esimene variatsioon I 0 ekstreemumi tarvilik tingimus x 0 t t0 , t t f x H H 0 x x H 0 u T Algtingimused: x(t0 ), x(t f ) s.t. x(t0 ) 0 x(t f ) 0 Võimalikud on ka teised variandid. 2 1 t 2 T I x x |t 2 2 x 2 H x 2 1 T T x u T H 2 u x f 0 teine variatsioon 2I 0 miinimumi piisav tingimus 2 0 2 x 2 H x 2 H T u x H u x 0 2 H 2 u H u x x dt 2 H u 2 u Näide 2 Statsionaarne juhitav süsteem: x (t ) Ax (t ) Bu (t ) y (t ) Cx (t ) Juhtimiskriteerium: tf 1 T 1 T I ( x, u ) X (t f ) Sx(t f ) x (t )Qx (t ) u T (t ) Ru (t )dt 2 2t S S , QQ , R R 0 T Ülesanne: T T min I ( x, u ) u (t ) Hamiltoni funktsioon: 1 H ( x, u , ) x (t )Qx (t ) u (t ) Ru (t ) Ax (t ) Bu (t ) 2 T T T Ekstreemumi tarvilikud tingimused: H Ru (t ) B T (t ) 0 u (1) H (t ) Qx (t ) AT (t ) x (2) x(t0 ); (t f ) Sx(t f ) x(t f ) (1) u (t ) R 1 BT (t ) (t ) otsime kujul (t ) P(t ) x(t ), kus P(t) nxn maatriks. x (t ) Ax(t ) Bu (t ) Ax(t ) BR 1 BT P(t ) x(t ) (3) (t ) P(t ) x(t ) (t ) P (t ) x(t ) P(t ) x (t ) Qx(t ) AT (t ) (2) Vaatleme ---------- avaldist P(t ) x (t ) Qx(t ) AT P(t ) x(t ) P (t ) x(t ) (3) x P(t) P(t ) x (t ) P(t ) Ax(t ) P(t ) BR 1 BT P(t ) x(t ) Võrdleme P (t ) P(t ) A A P(t ) P(t ) BR T 1 BT P(t ) Qx(t ) 0 T P (t ) P(t ) A A P(t ) 1 T P ( t ) BR B P(t ) Q t P(t f ) S tf t0 Riccati võrrand u (t ) K (t ) x(t ); kus K (t ) R 1 B T P (t ) optimaalne olekuregulaator Miinimumi piisavad tingimused: 2I 0 S 0, Q 0, R 0 ( R 1!) Erijuhtum: tf P(t ) P Riccati võrrand (algebraline võrrand) (4) 0 P A AT P PBR 1 BT P Q u(t ) Kx(t ), kus K R 1B T P Praktikas oluline juhtum Juhitav süsteem: x (t ) Ax (t ) Bu (t ) y (t ) Cx (t ) 1 T T I ( x , u ) x ( t ) Qx ( t ) u (t ) Ru (t )dt Juhtimiskriteerium: 20 Q 0, R 0 T T Ülesanne: min I ( x, u ) Q Q , R R u (t ) Optimaalne olekuregulaator (tulemus): u (t ) Kx (t ) K R 1 B T P, kus P on algebralise Riccati võrrandi (4) lahend. Näide 3 Juhitav süsteem: Olekumudel: y(t ) u (t ) x1 (t ) y (t ) x1 (t ) x2 (t ) x (t ) u (t ) 2 Kriteerium: 1 2 2 I ( x, u ) x1 q2 x2 u 2 (t )dt 20 q2 0 min I ( x, u ) u (t ) x (t ) Ax (t ) Bu (t ), kus Kaalumaatriksid 1 0 Q , R 1 0 q2 0 1 A ; 0 0 0 B 1 Optimaalne regulaator u (t ) Kx (t ) K R 1 B T P, kus P on 0 PA AT P PBR 1 BT P Q lahend. p11 p12 p12 0 1 0 0 p11 p22 0 0 1 0 p12 p11 p12 p12 0 p11 0 1 p22 1 p12 p12 p22 p12 1 0 0 0 p22 0 q2 0 0 p12 1 0 p12 1 p12 1 p11 p12 p22 0 p11 p12 p22 p22 2 2 p12 p22 q2 0 p22 q2 2 p12 p22 q2 2 2 Optimaalne regulaator K R B P 0 1 T q2 2 1 1 1 q2 2 1 q 2 u (t ) Kx(t ) x1 (t ) q2 2 x2 (t ) y (t ) q2 2 y (t ) (1 q2 2 s ) u 1 s2 y q2 2 s 1 H ( s) 2 s q2 2 s 1 p1 , p2 0.5 q2 2 0.5 q2 2, kus 0 q2 1) 2) 3) 4) q2 0 q2 1 q2 2 q2 3 p1, 2 0.5 p1, 2 0.5 p1, 2 0.5 p1, 2 0.5 2 i 0.5 2 3 i 0.5 4 i 0 1 5 0.5 q2=0 iω q2=1 q2=3 q2=3 q2=2 AJS: olulised optimaaljuhtimise ülesanded ▪ Oleku stabiliseerimine ▪ Väljundi stabiliseerimine ▪ Juhtimisülesanne üldjuhul (tagasiside + seadesuurus): ▫ Oleku järgi tagasiside ( + seadesuurus ) ▫ Väljundi järgi tagasiside ( + seadesuurus ) ▫ Kombineeritud tagasiside – tagasiside oleku järgi + integreeriv tagasiside väljundi järgi Olgu juhitav süsteem antud kujul: x (t ) Ax (t ) Bu (t ) y (t ) Cx (t ) 1) Oleku optimaalne stabiliseerimine 1 T I ( x, u ) x (t )Qx (t ) u T (t ) Ru (t )dt 20 Q 0, R 0 min I ( x, u ) u (t ) Kx (t ) u (t ) 2) Väljundi optimaalne stabiliseerimine 1 I ( y, u ) y T (t )Q1 y (t ) u T (t ) Ru (t )dt 20 y(t)=Cx(t) 1 T T I ( x, u ) x C (t )Q1Cx (t ) u T (t ) Ru (t )dt 20 T C Q1C 0, R 0 min I ( x, u ) u (t ) K Cx (t ) y (t ) u (t ) 3) Optimaaljuhtimine üldjuhul 1 T T I ( x , u ) x ( t ) Q x ( t ) u (t ) Ru (t )dt 20 Q 0, R 0 x(t ) x(t ) xs (t ) min I (x, u ) u (t ) K x(t ) x (t ) s u (t ) 1 T T I ( y , u ) [ y ( t ) Q y ( t ) u (t ) Ru (t )] dt 1 20 y (t ) y (t ) y s (t ), y (t ) Cx (t ) min I (y, u ) min I (x, u ) u (t ) u (t ) 4) Integreeriva komponendiga optimaaljuhtimine x (t ) Ax (t ) Bu (t ) y (t ) Cx (t ) x Moodustame uue olekuvektori z , siis olekumudel y on esitatav kujul ~ ~ z (t ) A z (t ) B v(t ) , kus ~ A 0 ~ B A , B , v(t ) u (t ) C 0 0 Juhtimiskriteerium on esitatav kujul 1 T ~ ~ T I ( z , v) z (t )Qz (t ) v (t ) R v(t )dt 20 min I ( z , v) v (t ) t u (t ) K x x(t ) K y y ( ) d 0 Juhtimiskriteeriumi kaalumaatriksite Q ja R valik 1) Eeldame, et Q ja R on diagonaalmaatriksid 2) Eeldame, et xi (t ) xi max u j (t ) u j max 3) 0 q11 1 Q qii , qii 2 x i max qnn 0 4) r11 R rjj 0 0 1 , rjj 2 u j max rrr Diskreetajasüsteemi optimaaljuhtimine Juhitav süsteem: x(k 1) x(k ) u (k ) y (k ) Cx (k ) Olekuregulaator: u(k)=-Kx(k) Juhtimiskriteerium: 1 T I ( x, u ) x (k )Qx (k ) u T (k ) Ru (k ) 2 k 0 Q 0, R 0 min I ( x, u ) u(k ) Lahendus: Riccati võrrand P Q T PE ( R T P) 1 T P T 1 T K ( R P ) P , P 0 u (k ) Kx (k ) Optimaaljuhtimise meetodid - dünaamiline planeerimine x (t ) f x(t ), u (t ), t x(t0 ) , x(t f ) tf min F x, u , t dt u ( t )U t0 Optimaalsuse printsiip: x2 x (t ) x (t1 ) x (t0 ) x (t0 ) x1 x(t f ) x (t f ) t Olgu x (t ) optimaalne trajektoor x (t ) t0 , t f x (t ) t , t 1 f Tõestus: t , t 1 f xn (t ) tf tf t , t F x (t ), u (t ), t dt F x (t ), u (t ), t dt 1 n f t1 t1 t1 tf tf F x (t ), u (t ), t dt F x (t ), u (t ), t dt F x (t ), u (t ), t dt t , t F x (t ), u (t ), t dt F x (t ), u (t ), t dt t0 t1 tf tf t0 0 n t0 s.t. x (t ) t1 t1 tf t0 t1 F x (t ), u (t ), t dt F x (t ), u (t ), t dt ei ole optimaalne vastuolu! Ülesande lahendamine: tf S ( x, t ) min F x, u , d u ( t )U t0 t t f t f x2 ( x, t ) ( x, t ) x (t0 ) x1 x(t f ) t ∆t t S ( x, t ) min F x, u , t t min F x, u , d R (t ) u ( t )U u ( t )U ' t S ( x ', t ' ) t t 't f S S S ( x ' , t ' ) S ( x, t ) , x , t R1 (t ) x x x t x t x x x x(t ) f ( x, u, )t x(t ) R2 (t ) f ( x, u, )t S ( x, t ) min F ( x, u, t )t S ( x, t ) u ( t )U S S , f ( x, u, t )t t : t R 3 (t ) x t t 0 S S min F ( x, u , t ) , f ( x, u , t ) x t u ( t )U S ( x, t f ) 0 Bellman’i võrrand EKSTREEMUMI TARVILIK TINGIMUS! tf ∆t t0 (numbriliselt!) Diskreetajasüsteemi optimaaljuhtimine dünaamilise planeerimise baasil Juhitav süsteem: x (t ) f 1 x(t ), u (t ), t x(t0 ), x(t f ) Juhtimiskriteerium: tf I F1 x(t ), u (t ), t dt Gx(t f ) t0 min I u ( t )U diskreedime ülesande: t=k∆t k=0,1,2,…,N s.t. tf=N∆t (t0=0) x(t t ) x(t ) x(kt t ) x(kt ) x (t ) t t x(kt t ) x(kt ) t f 1 x(kt ), u (kt ) N 1 I t F1 x(kt ), u (kt ) Gx( Nt ) k 0 x(k ) x(kt ) u (k ) u (kt ) f x(k ), u (k ) t f 1 x(k ), u (k ) F x(k ), u (k ) t F1 x(k ), u (k ) x(k 1) x(k ) f x(k ), u (k ) u (k ) U x(0) N 1 I F x(k ), u (k ) Gx( N ) k 0 min I u(k ) k=0,1,2,…,N-1 u (0), u (1),, u ( N 1) U ? Lähtume optimaalsuse printsiibist: (N-1)∆t ≤ t <N∆t x(N-1) → x(N) I N 1 F x( N 1), u ( N 1) Gx( N ) min u(N-1) ? x( N ) x( N 1) f x( N 1), u ( N 1) I N 1 F x( N 1), u ( N 1) Gx( N 1) f x(n 1), u ( N 1) sõltub ainult u(N-1) ! min I N 1 S N 1 S N 1 x( N 1) u ( N 1)U S N 1 x( N 1) min I N 1 u ( N 1)U min F x( N 1), u ( N 1) Gx( N ) u ( N 1)U min F x( N 1), u ( N 1) Gx( N 1) u ( N 1)U f x( N 1), u ( N 1) (N-2)∆t ≤ t <N∆t I N 2 F x( N 2), u ( N 2) F x( N 1), u ( N 1) Gx( N ) I N 2 F x( N 2), u ( N 2) I N 1 S N 2 min u ( N 2 ),u ( N 1) S N 1 min I N 1 u ( N 1) I N 2 x( N 1) x( N 2) f x( N 2), u ( N 2) S N 1 x( N 1) S N 1 x( N 2) f x( N 2), u ( N 2) S N 2 x( N 2) min I N 2 u ( N 2) u ( N 1) min F x( N 2), u ( N 2) S N 1 x( N 1) u ( N 2) min F x( N 2), u ( N 2) S N 1 x( N 2) u ( N 2) f x( N 2), u ( N 2) u ( N 2) ( N 2)t t ( N 1)t (N-3)∆t ≤ t <N∆t I N 3 F x( N 3), u ( N 3) F x( N 2), u ( N 2) F x( N 1), u ( N 1) Gx( N ) I N 3 F x( N 3), u ( N 3) I N 2 I N 3 min u ( N 3 ),u ( N 2 ),u ( N 1) S N 2 S N 2 x ( N 2) x( N 2) x( N 3) f x( N 3), u ( N 3) S N 2 x( N 2) S N 2 x( N 3) f x( N 3), u ( N 3) S N 3 x( N 3) min I N 3 u ( N 3) u ( N 2) u ( N 1) min F x( N 3), u ( N 3) S N 2 x( N 2) u ( N 3 ) min F x( N 3), u ( N 3) u ( N 3 ) S N 2 x( N 3) f x( N 2), u ( N 3) (N-k)∆t ≤ t <N∆t k=1,2,…,N u ( N 1) u ( N 2) optimaaljuhtimine u ( N k ) U u ( 2) u (1) u (0 ) x(0) x(N-3) x(N-2) x(N-1) x(N) u(N-1) u(N-2) u(N-3) Optimaalsusprintsiip