Modelare si control predictiv - proiect - Controlul predictiv bazat pe modele intrare-stare-iesire Asist. ing. Constantin Florin Caruntu
23:01 Cuprins Controlul predictiv bazat pe modele intare-stare-iesire 1. Introducere 2. Modele intrare-stare-iesire 3. Control predictiv fara restrictii 4. Control predictiv cu restrictii 5. Analiza stabilitatii 6. Analiza robustetii
Modelare si control predictiv - proiect - Controlul predictiv bazat pe modele intrare-stare-iesire Curs 1 - Introducere
23:01 Introducere Motivatie Avantaje: Model al partii fixate flexibil multivariabil liniar sau neliniar deterministic, stohastic sau fuzzy Incorporarea de restrictii asupra intrarilor si starilor fizice, de siguranta, de mediu, economice Performante optime in bucla inchisa in functie de orizont, functie de cost Dezavantaje: Necesita optimizare online procese neliniare/cu incertitudini putere computationala
23:01 Introducere Restrictii Toate sistemele fizice au restrictii: Restrictii fizice (limitari ale elementelor de executie) Restrictii de performanta (suprareglare) Restrictii de siguranta (limitari presiuni/temperaturi) Punctele optime de functionare sunt de obicei in apropierea restrictiilor Majoritatea metodelor de control iau in considerare restrictiile a posteriori: Metode anti-windup, trial and error
23:01 Introducere Operare optima si restrictii Control clasic: Nu tine cont de restrictii Referinta departe de restrictii Operare suboptimala Control predictiv: Restrictiile sunt luate in considerare la proiectare Referinta aproape de restrictii Operare imbunatatita
23:01 Introducere Principiul orizontului alunecator
23:01 Introducere Principiul orizontului alunecator
23:01 Introducere Principiul orizontului alunecator
23:01 Introducere Principiul orizontului alunecator
Introducere 23:01 Sumar Control predictiv <=> principiul orizontului alunecator La fiecare perioada de esantionare, regulatorul predictiv: 1) Preia valorile masurae de senzori ale starilor/iesirilor 2) Calculeza o secventa de comenzi care: a) Utilizeaza un model intern pentru a prezice comportamentul sistemului b) Minimizeaza o functie de cost c) Nu incalca nici o restrictie 3) Implementeaza prima valoare din secventa de comenzi => Lege de reglare cu feedback
23:01 Introducere Proprietati Este o idee noua? NU control optimal standard cu orizont finit DA optimizarea se realizeaza on-line Probleme principale Optimizarea trebuie sa fie suficient de rapida Satisfacerea restrictiilor pentru orizont infinit Legea de control rezultata poate sa nu fie stabila Avantaje: Metoda sistematica de considerare a restrictiilor Specificatii de performanta flexibile
23:01 Introducere Viteza computationala si Aplicatii MPC a fost utilizat initial pentru procese lente Industria petrochimica Perioade de esantionare de ordinul minutelor, chiar orelor Avantaje majore hardware si algoritmice Calcul comanda 1min in 1990 => acum mai putin de 1s MPC este aplicat acum si proceselor rapide Autovehicule (motor, transmisie) Aplicatii aero-spatiale Vehicule autonome Generarea si distributia de energie electrica
23:01 Introducere De asemenea, cunoscut si ca Denumiri generice: Model Predictive Control (MPC) Receding Horizon Control (RHC) Alte nume utilizate in industrie si in mediul academic: Dynamic Matrix Control (DMC) Extended Prediction Self Adaptive Control (EPSAC) Generalised Predictive Control (GPC) Model Algorithmic Control (MAC) Predictive Functional Control (PFC) Quadratic Dynamic Matrix Control (QDMC) Sequential Open Loop Optimization (SOLO)
Modelare si control predictiv - proiect - Controlul predictiv bazat pe modele intrare-stare-iesire Curs 2 Modele intrare-stare-iesire
23:01 Introducere Control digital Perioada de esantionare este T. Numarul esantionului este k. Timpul curent este t. s(t) semnalul in timp continuu s(kt) semnalul in timp discret (s(k))
23:01 Modele intrare-stare-iesire Timp continuu Model pe stare in timp continuu x R u R y R z R n m p q xɺ = A x + B u ɺ c y = C x + D u z c = c H x vectorul de stare vectorul intrarilor (comenzilor) vectorul iesilor (marimi masurabile) vectorul marimilor controlabile In majoritatea cazurilor, H=C, astfel incat y=z c c
23:01 Modele intrare-stare-iesire Timp discret ZOH pe iesirea regulatorului: u(t) = u(kt) pe intervalul kt t ( k+1)t Modelul pe stare in timp discret x kt+ T = Ax kt + Bu kt ( ) ( ) ( ) y kt = Cx kt + Du kt ( ) ( ) ( ) z ( kt ) = Hx ( kt ) este o reprezentare exacta a sistemului in timp continuu esantionat daca T Ac T Aτ c A e, B e τ dτ B c = = 0 c
23:01 Modele intrare-stare-iesire Timp discret Cu un ZOH pe iesirea regulatorului se poate obtine o reprezentare exacta in timp discret a sistemului in timp continuu daca: sistemul in timp continuu este liniar, sau sistemul in timp continuu este liniar cu saturare pe intrare In general nu este posibila obtinerea unei reprezentari exacte a unui sistem in timp continuu neliniar: ɺ = (, ) x f x u y = h ( x, u ) Pentru un model neliniar se poate utiliza o aproximare in timp discret pentru obtinerea lui x(kt)
23:01 Modele intrare-stare-iesire Stabilizabilitate si detectabilitate Definitie (stabilizabilitate): Perechea de matrici (A, B) este stabilizabila daca exista o matrice K astfel incat (A+BK) este stabila. Definitie (detectabilitate): Perechea de matrici (C, A) este detectabila daca exista o matrice L astfel incat (A+LC) este stabila. Λ Testarea proprietatilor Fie setul de valori proprii care se afla pe sau in exteriorul cercului unitate: ( A ) λ ( A ) { λ } i i Λ : = : 1 Propozitie (stabilizabilitate): Perechea (A, B) este stabilizabila daca si numai daca are toate liniile liniar independente pentru toti λ Λ ( λ ) ( A I B ) Propozitie (detectabilitate): Perechea (C, A) este detectabila daca si numai daca A λ I are toate coloanele liniar independente pentru toti λ Λ λ Λ C
Modelare si control predictiv - proiect - Controlul predictiv bazat pe modele intrare-stare-iesire Curs 3 Control predictiv fara restrictii
23:01 Control predictiv fara restrictii Presupuneri Modelul pe stare in timp discret Presupuneri: ( + 1 ) = ( ) + ( ) ( ) = Cx( k) ( ) = Hx ( k ) x k Ax k Bu k y k z k (A,B) este stabilizabila si (C,A) detectabila C = I => feedback dupa stare H = C => toate iesirile/starile sunt controlate o Scopul este de a aduce starile sistemului in origine o Nu sunt luate in considerare intarzieri, perturbatii, zgomote, o Nu sunt luate in considerare intarzieri, perturbatii, zgomote, erori de modelare
23:01 Control predictiv fara restrictii Reglare dupa stare Dandu-se modelul in timp discret al sistemului ( + 1 ) = ( ) + ( ) x k Ax k Bu k problema este de a proiecta o lege de reglare dupa stare u(k) = Kx(k) astfel incat originea sistemului in bucla inchisa ( + 1 ) = ( + ) ( ) x k A BK x k sa fie asimptotic stabila global=>necesita ca (A+BK) sa fie stabila
23:01 Control predictiv fara restrictii Regulator Liniar Patratic (LQR) Problema: Dandu-se starea initiala x(0) la momentul k=0, sa se calculeze si implementeze o secventa de comenzi ( ) u ( ) { u 0, 1,..., } care minimizeaza functia de cost cu orizont infinit ( ) T T x ( k ) Qx ( k ) + u ( k ) Ru ( k ) k=0 Matricea ponderilor starilor Q = 0 penalizeaza starile 0 Matricea ponderilor intrarilor R = 0 penalizeaza intrarile 0 In general matricile Q si R sunt matrici diagonala si sunt In general matricile Q si R sunt matrici diagonala si sunt pozitiv definite
23:01 Control predictiv fara restrictii Regulator Liniar Patratic (LQR) Problema LQR cu orizont infinit are un numar infinit de variabile de decizie ( ) u ( ) { u 0, 1,..., } O solutie simpla in bucla inchisa exista daca Q este pozitiv semidefinita ( Q = 0 ) R este pozitiv definita ( ) R 0 1 Perechea Q 2, A este detectabila Se va rezolva o varianta cu orizont finit a problemei LQR utilizand aceleasi presupuneri ca mai sus
23:01 Control predictiv fara restrictii Principiul orizontului alunecator 1. Obtine valorile starilor curente x. { 0, 1,..., N 1 } 2. Calculeaza secventa optima de control cu orizont finit u * ( x) u * ( x) u * ( x) * 3. Implementeaza prima valoare din secventa de comenzi k ( x ) : = u ( x ) 4. Reia de la pasul 1. 0
23:01 Control predictiv fara restrictii Principiul orizontului alunecator 1. Obtine valorile starilor curente x. { 0, 1,..., N 1 } 2. Calculeaza secventa optima de control cu orizont finit u * ( x) u * ( x) u * ( x) * 3. Implementeaza prima valoare din secventa de comenzi k ( x ) : = u ( x ) 4. Reia de la pasul 1. 0
23:01 Control predictiv fara restrictii Principiul orizontului alunecator 1. Obtine valorile starilor curente x. { 0, 1,..., N 1 } 2. Calculeaza secventa optima de control cu orizont finit u * ( x) u * ( x) u * ( x) * 3. Implementeaza prima valoare din secventa de comenzi k ( x ) : = u ( x ) 4. Reia de la pasul 1. 0
23:01 Control predictiv fara restrictii Principiul orizontului alunecator 1. Obtine valorile starilor curente x. { 0, 1,..., N 1 } 2. Calculeaza secventa optima de control cu orizont finit u * ( x) u * ( x) u * ( x) * 3. Implementeaza prima valoare din secventa de comenzi k ( x ) : = u ( x ) 4. Reia de la pasul 1. 0
23:01 Control predictiv fara restrictii Control optimal cu orizont finit Problema: Dandu-se starea initiala x = x(k), sa se calculeze o secventa de comenzi pe un orizont finit N { u, u,..., u } 0, 1,..., un 1 care minimizeaza functia de cost cu orizont finit unde ( ) N 1 T T T (, ) ( ) 0,..., N 1 N N i i i i V x u u = x Px + x Qx + u Ru x 0 = x i=0 x = Ax + Bu, i = 0,1,..., N i+ 1 i i 1 V( ) este o functie de starea initiala x si primele N intrari si nu functie de timpul discret k sau starile predictate x i u i
23:01 Control predictiv fara restrictii Control optimal cu orizont finit Terminologie Vectorul i reprezinta valoarea predictata a lui x k+ i in functie de starea curenta x ( k ) si de intrarile u ( k + i ) = ui pentru toti i = 0,1,..., N 1 x ( ) N Z reprezinta orizontul comenzii n n Matricea P R reprezinta ponderea finala, cu P = 0 Stabilitatea si performantele legii de reglare cu orizont alunecator bazata pe aceasta problema depind de parametrii Q, R, P si N
23:01 Control predictiv fara restrictii Notatii Nm Nn Se definesc vectorii U R si X R ca fiind u 0 x 1 u 1 x2 U : = u, X : = x 2 3, un 1 x N m n Vectorii u R, x R si x = x = x k este cunoscut. i i 0 ( ) Y R variabilelor controlate Z R in mod similar. Se pot defini vectorii iesirilor Np si ai Nq
23:01 Control predictiv fara restrictii Alte notatii Functia de cost este definita ca N 1 T T T N N i i i i V x U = x Px + x Qx + u Ru (, ) ( ) i=0 Functia valoare este definita ca * V ( x) = V x U U min (, ) Secventa optimala de control este definita ca * U ( x ) : = arg min V ( x, U ) U = : { u * ( ) * ( ) * ( ) } 0 x, u1 x,..., un 1 x
23:01 Control predictiv fara restrictii Proiectarea legii de control Se calculeaza matricile Φ si Γ in asa fel incat X =Φ x +Γ U Se rescrie functia de cost V( ) in functie de x si U Se calculeaza gradientul V ( x, U ) Se seteaza V x U U V ( x *, U ) = 0 si se rezolva pentru ( ) U U x Legea de reglare predictiva este reprezentata de prima comanda din secventa * * u0 x = Im 0 0 U x ( ) ( ) ( ) Atunci cand nu exista restrictii se poate calcula analitic.
23:01 Control predictiv fara restrictii Constructia matricilor de predictie Sa se determine matricile Φ si Γ in asa fel incat X =Φ x +Γ U x = Ax + Bu 1 0 0 x = Ax + Bu 2 1 1
23:01 Control predictiv fara restrictii Constructia matricilor de predictie Sa se determine matricile Φ si Γ in asa fel incat X =Φ x +Γ U x = Ax + Bu 1 0 0 x = Ax + Bu 1 0 0 x = Ax + Bu 2 1 1 ( ) 2 x = A Ax + Bu + Bu = A x + ABu + Bu 2 0 0 1 0 0 1 x = A x + A Bx + + ABu + Bu N N 1 1 N 0 0 N 2 N 1
23:01 Control predictiv fara restrictii Constructia matricilor de predictie Se scriu relatiile sub forma matriciala x 1 A B 0 0 u 0 2 x 2 A AB B 0 u1 = x 0 + 1 2 N N N xn A A B A B B un 1 Stiind ca x : = x, matricile de predictie Φ 0 si Γ sunt: A B 0 0 2 0 A AB B Φ : =, Γ : = N N 1 N 2 A A B A B B
23:01 Control predictiv fara restrictii Constructia functiei de cost Functia de cost devine N 1 T T T (, ) : ( ) N N i i i i V x U = x Px + x Qx + u Ru T i=0 x1 Q x1 u0 R u0 x 2 x 2 u1 u T Q R 1 = x 0 Qx0+ + Q R x N P xn un 1 R un 1 Stiind ca x : = x0, functia de cost poate fi rescrisa sub T T T forma matriciala astfel: V ( x, U ) = x Qx + X Ω X + U Ψ U De stiut: P = 0 si Q = 0 Ω = 0 R 0 Ψ 0 T
23:01 Control predictiv fara restrictii Constructia functiei de cost Se stie ca T T T V x, U = x Qx + X Ω X + U Ψ U ( ) X =Φ x+γu T V x, U = x Qx + Φ x +Γ U Ω Φ x +Γ U + U Ψ U ( ) T ( ) ( ) T = + Φ ΩΦ + Γ ΩΓ + Ψ T T T T T x Qx x x U U U T U + Φ ΩΓ + Γ ΩΦ T T T T x U U x ( ) ( ) 2 = +Φ ΩΦ + Ψ+Γ ΩΓ + Γ ΩΦ T T T T T T x Q x U U U x
23:01 Control predictiv fara restrictii Gasirea solutiei Se rescrie unde 1 T T T T V x U 2 U GU U Fx x Q x (, ) = + + ( +Φ ΩΦ ) ( T ) ( ) G : = 2 Ψ+Γ ΩΓ 0, Ω = 0 si Ψ 0 F : = 2 Γ T ΩΦ Important: aceasta este o functie convexa si patratica in U. Minimul unic global se obtine pentru ( ) V x, U = GU + Fx = 0 U Secventa optima de control rezulta de forma ( ) * 1 U x = G Fx
23:01 Control predictiv fara restrictii Legea de reglare predictiva Secventa optima de control este * 1 U x = G Fx ( ) Legea predictiva de control este data de prima * comanda din secventa U ( x ) Se defineste astfel incat u = K x. * * u0 x = Im 0 0 U x ( ) ( ) ( ) ( ) 1 K MPC = I m 0 0 G F MPC o legea de reglare este invarianta in timp o aproximeaza legea de reglare optima cu orizont infinit
23:01 Control predictiv fara restrictii Echivalenta MPC si LQR Solutia problemei LQR cu orizont infinit este unde u k = K x k ( ) ( ) LQR T 1 T K = ( B PB+ R) LQR B PA si P este solutia ecuatiei algebrice Ricatti T T T 1 T ( ) 1 P = A PA A PB B PB + R B PA + Q Daca ponderea finala P din functia de cost cu orizont finit V( ) este o solutie a aceeasi ecuatii algebrice Ricatti atunci: K = K MPC LQR