Controlul predictiv bazat pe modele...
Transcript of Controlul predictiv bazat pe modele...
Modelare si control predictivModelare si control predictivModelare si control predictivModelare si control predictiv
- proiect -- proiect -- proiect -
Controlul predictiv bazat pe Controlul predictiv bazat pe Controlul predictiv bazat pe
modele intrare-stare-iesiremodele intrare-stare-iesiremodele intrare-stare-iesire
Asist. ing. Constantin Florin Caruntu Asist. ing. Constantin Florin Caruntu
Controlul predictiv bazat pe 10.01.2012 Controlul predictiv bazat pe
modele intare-stare-iesireCuprins
10.01.2012
23:01modele intare-stare-iesire
Cuprins23:01modele intare-stare-iesire
1. Introducere1. Introducere1. Introducere
2. Modele intrare-stare-iesire2. Modele intrare-stare-iesire2. Modele intrare-stare-iesire
3. Control predictiv fara restrictii3. Control predictiv fara restrictii
4. Control predictiv cu restrictii4. Control predictiv cu restrictii4. Control predictiv cu restrictii
5. Analiza stabilitatii5. Analiza stabilitatii5. Analiza stabilitatii
6. Analiza robustetii6. Analiza robustetii6. Analiza robustetii
Modelare si control predictivModelare si control predictivModelare si control predictivModelare si control predictiv
- proiect -- proiect -- proiect -
Controlul predictiv bazat pe Controlul predictiv bazat pe Controlul predictiv bazat pe
modele intrare-stare-iesiremodele intrare-stare-iesiremodele intrare-stare-iesire
Curs 1 - IntroducereCurs 1 - IntroducereCurs 1 - Introducere
10.01.2012 MotivatieIntroducere
10.01.2012
23:01 MotivatieIntroducere23:01
Avantaje: Avantaje: Avantaje:
Model al partii fixate flexibil Model al partii fixate flexibil Model al partii fixate flexibil
• multivariabil• multivariabil• multivariabil
• liniar sau neliniar• liniar sau neliniar• liniar sau neliniar
• deterministic, stohastic sau fuzzy• deterministic, stohastic sau fuzzy• deterministic, stohastic sau fuzzy
Incorporarea de restrictii asupra intrarilor si starilor Incorporarea de restrictii asupra intrarilor si starilor Incorporarea de restrictii asupra intrarilor si starilor
• fizice, de siguranta, de mediu, economice• fizice, de siguranta, de mediu, economice• fizice, de siguranta, de mediu, economice
Performante optime in bucla inchisa Performante optime in bucla inchisa Performante optime in bucla inchisa
• in functie de orizont, functie de cost• in functie de orizont, functie de cost• in functie de orizont, functie de cost
Dezavantaje: Dezavantaje: Dezavantaje:
Necesita optimizare online Necesita optimizare online Necesita optimizare online
• procese neliniare/cu incertitudini → putere computationala• procese neliniare/cu incertitudini → putere computationala• procese neliniare/cu incertitudini → putere computationala
10.01.2012 RestrictiiIntroducere
10.01.2012
23:01 RestrictiiIntroducere23:01
Toate sistemele fizice au restrictii: Toate sistemele fizice au restrictii:
• Restrictii fizice (limitari ale elementelor de executie)• Restrictii fizice (limitari ale elementelor de executie)• Restrictii fizice (limitari ale elementelor de executie)
• Restrictii de performanta (suprareglare)• Restrictii de performanta (suprareglare)
• Restrictii de siguranta (limitari presiuni/temperaturi)• Restrictii de siguranta (limitari presiuni/temperaturi)• Restrictii de siguranta (limitari presiuni/temperaturi)
Punctele optime de functionare sunt de obicei in Punctele optime de functionare sunt de obicei in Punctele optime de functionare sunt de obicei in
apropierea restrictiilorapropierea restrictiilorapropierea restrictiilor
Majoritatea metodelor de control iau in considerare Majoritatea metodelor de control iau in considerare Majoritatea metodelor de control iau in considerare
restrictiile a posteriori:restrictiile a posteriori:restrictiile a posteriori:
• Metode anti-windup, “trial and error”• Metode anti-windup, “trial and error”
10.01.2012 Operare optima si restrictiiIntroducere
10.01.2012
23:01 Operare optima si restrictiiIntroducere23:01
Control clasic: Control clasic: Control clasic:
• Nu tine cont de restrictii• Nu tine cont de restrictii
• Referinta departe de restrictii• Referinta departe de restrictii
• Operare suboptimala• Operare suboptimala• Operare suboptimala
Control predictiv: Control predictiv: Control predictiv:
Restrictiile sunt luate in Restrictiile sunt luate in
considerare la proiectareconsiderare la proiectare
Referinta aproape de restrictii Referinta aproape de restrictii
Operare imbunatatita Operare imbunatatita Operare imbunatatita
10.01.2012 Principiul orizontului alunecatorIntroducere
10.01.2012
23:01 Principiul orizontului alunecatorIntroducere23:01
10.01.2012 Principiul orizontului alunecatorIntroducere
10.01.2012
23:01 Principiul orizontului alunecatorIntroducere23:01
10.01.2012 Principiul orizontului alunecatorIntroducere
10.01.2012
23:01 Principiul orizontului alunecatorIntroducere23:01
10.01.2012 Principiul orizontului alunecatorIntroducere
10.01.2012
23:01 Principiul orizontului alunecatorIntroducere23:01
10.01.2012 SumarIntroducere
10.01.2012
23:01 SumarIntroducere23:01
Control predictiv <=> principiul orizontului alunecator Control predictiv <=> principiul orizontului alunecator Control predictiv <=> principiul orizontului alunecator
La fiecare perioada de esantionare, regulatorul predictiv: La fiecare perioada de esantionare, regulatorul predictiv: La fiecare perioada de esantionare, regulatorul predictiv:
1) Preia valorile masurae de senzori ale starilor/iesirilor1) Preia valorile masurae de senzori ale starilor/iesirilor
2) Calculeza o secventa de comenzi care:2) Calculeza o secventa de comenzi care:2) Calculeza o secventa de comenzi care:
a) Utilizeaza un model intern pentru a prezice comportamentul a) Utilizeaza un model intern pentru a prezice comportamentul
sistemuluisistemului
b) Minimizeaza o functie de costb) Minimizeaza o functie de cost
c) Nu incalca nici o restrictiec) Nu incalca nici o restrictiec) Nu incalca nici o restrictie
3) Implementeaza prima valoare din secventa de comenzi3) Implementeaza prima valoare din secventa de comenzi
=> Lege de reglare cu feedback => Lege de reglare cu feedback => Lege de reglare cu feedback
10.01.2012 ProprietatiIntroducere
10.01.2012
23:01 ProprietatiIntroducere23:01
Este o idee noua ? Este o idee noua ? Este o idee noua ?
• NU – control optimal standard cu orizont finit• NU – control optimal standard cu orizont finit
• DA – optimizarea se realizeaza on-line• DA – optimizarea se realizeaza on-line• DA – optimizarea se realizeaza on-line
Probleme principale Probleme principale Probleme principale
• Optimizarea trebuie sa fie suficient de rapida• Optimizarea trebuie sa fie suficient de rapida• Optimizarea trebuie sa fie suficient de rapida
• Satisfacerea restrictiilor pentru orizont infinit• Satisfacerea restrictiilor pentru orizont infinit• Satisfacerea restrictiilor pentru orizont infinit
• Legea de control rezultata poate sa nu fie stabila• Legea de control rezultata poate sa nu fie stabila
Avantaje: Avantaje: Avantaje:
• Metoda sistematica de considerare a restrictiilor• Metoda sistematica de considerare a restrictiilor• Metoda sistematica de considerare a restrictiilor
• Specificatii de performanta flexibile• Specificatii de performanta flexibile• Specificatii de performanta flexibile
10.01.2012 Viteza computationala si AplicatiiIntroducere
10.01.2012
23:01 Viteza computationala si AplicatiiIntroducere23:01
MPC a fost utilizat initial pentru procese lente MPC a fost utilizat initial pentru procese lente MPC a fost utilizat initial pentru procese lente
• Industria petrochimica• Industria petrochimica
• Perioade de esantionare de ordinul minutelor, chiar orelor• Perioade de esantionare de ordinul minutelor, chiar orelor• Perioade de esantionare de ordinul minutelor, chiar orelor
Avantaje majore hardware si algoritmice Avantaje majore hardware si algoritmice Avantaje majore hardware si algoritmice
• Calcul comanda – 1min in 1990 => acum mai putin de 1s• Calcul comanda – 1min in 1990 => acum mai putin de 1s• Calcul comanda – 1min in 1990 => acum mai putin de 1s
MPC este aplicat acum si proceselor rapide MPC este aplicat acum si proceselor rapide MPC este aplicat acum si proceselor rapide
• Autovehicule (motor, transmisie)• Autovehicule (motor, transmisie)• Autovehicule (motor, transmisie)
• Aplicatii aero-spatiale• Aplicatii aero-spatiale
• Vehicule autonome• Vehicule autonome• Vehicule autonome
• Generarea si distributia de energie electrica• Generarea si distributia de energie electrica• Generarea si distributia de energie electrica
10.01.2012 De asemenea, cunoscut si ca…Introducere
10.01.2012
23:01 De asemenea, cunoscut si ca…Introducere23:01
Denumiri generice: Denumiri generice: Denumiri generice:
• Model Predictive Control (MPC)• Model Predictive Control (MPC)• Model Predictive Control (MPC)
• Receding Horizon Control (RHC)• Receding Horizon Control (RHC)
Alte nume utilizate in industrie si in mediul academic: Alte nume utilizate in industrie si in mediul academic: Alte nume utilizate in industrie si in mediul academic:
• Dynamic Matrix Control (DMC)• Dynamic Matrix Control (DMC)• Dynamic Matrix Control (DMC)
• Extended Prediction Self Adaptive Control (EPSAC)• Extended Prediction Self Adaptive Control (EPSAC)
• Generalised Predictive Control (GPC)• Generalised Predictive Control (GPC)
• Model Algorithmic Control (MAC)• Model Algorithmic Control (MAC)
• Predictive Functional Control (PFC)• Predictive Functional Control (PFC)• Predictive Functional Control (PFC)
• Quadratic Dynamic Matrix Control (QDMC)• Quadratic Dynamic Matrix Control (QDMC)• Quadratic Dynamic Matrix Control (QDMC)
• Sequential Open Loop Optimization (SOLO)• Sequential Open Loop Optimization (SOLO)
Modelare si control predictivModelare si control predictivModelare si control predictivModelare si control predictiv
- proiect -- proiect -- proiect -
Controlul predictiv bazat pe Controlul predictiv bazat pe Controlul predictiv bazat pe
modele intrare-stare-iesiremodele intrare-stare-iesiremodele intrare-stare-iesire
Curs 2 – Modele intrare-stare-iesireCurs 2 – Modele intrare-stare-iesireCurs 2 – Modele intrare-stare-iesire
10.01.2012 Control digitalIntroducere
10.01.2012
23:01 Control digitalIntroducere23:01
Perioada de esantionare este T. Numarul esantionului Perioada de esantionare este T. Numarul esantionului Perioada de esantionare este T. Numarul esantionului
este k. Timpul curent este t.este k. Timpul curent este t.este k. Timpul curent este t.
s(t) → semnalul in timp continuu s(t) → semnalul in timp continuu s(t) → semnalul in timp continuu
s(kT) → semnalul in timp discret (s(k)) s(kT) → semnalul in timp discret (s(k)) s(kT) → semnalul in timp discret (s(k))
10.01.2012 Timp continuuModele intrare-stare-iesire
10.01.2012
23:01 Timp continuuModele intrare-stare-iesire23:01
Model pe stare in timp continuu Model pe stare in timp continuu Model pe stare in timp continuu
x A x B u= +ɺc cx A x B u= +ɺc cx A x B u= +ɺ
y C x D u= +c cy C x D u= +c cy C x D u
z H x
= +
= cz H x= cz H x=
→ vectorul de starenx∈ℝ → vectorul de starenx∈ℝ → vectorul de starex∈ℝm∈ℝ → vectorul intrarilor (comenzilor)mu∈ℝ → vectorul intrarilor (comenzilor)u∈ℝ → vectorul intrarilor (comenzilor)
→ vectorul iesilor (marimi masurabile)py∈ℝ → vectorul iesilor (marimi masurabile)py∈ℝ → vectorul iesilor (marimi masurabile)y∈ℝ
→ vectorul marimilor controlabileqz∈ℝ → vectorul marimilor controlabileqz∈ℝ → vectorul marimilor controlabilez∈ℝ
In majoritatea cazurilor, H=C, astfel incat y=z In majoritatea cazurilor, H=C, astfel incat y=z In majoritatea cazurilor, H=C, astfel incat y=z
10.01.2012 Timp discret
10.01.2012
23:01 Modele intrare-stare-iesire Timp discret23:01 Modele intrare-stare-iesire
ZOH pe iesirea regulatorului: ZOH pe iesirea regulatorului: ZOH pe iesirea regulatorului:
u(t) = u(kT) pe intervalul kT ≤ t ≤ ( k+1)Tu(t) = u(kT) pe intervalul kT ≤ t ≤ ( k+1)Tu(t) = u(kT) pe intervalul kT ≤ t ≤ ( k+1)T
Modelul pe stare in timp discret Modelul pe stare in timp discret Modelul pe stare in timp discret
( ) ( ) ( )x kT T Ax kT Bu kT+ = +( ) ( ) ( )x kT T Ax kT Bu kT+ = +( ) ( ) ( )( ) ( ) ( )
x kT T Ax kT Bu kT+ = +
( ) ( ) ( )y kT Cx kT Du kT= +( ) ( ) ( )y kT Cx kT Du kT= +( ) ( ) ( )( ) ( )
y kT Cx kT Du kT
z kT Hx kT
= +
=( ) ( )z kT Hx kT=( ) ( )z kT Hx kT=este o reprezentare exacta a sistemului in timp continuu
( ) ( )este o reprezentare exacta a sistemului in timp continuu este o reprezentare exacta a sistemului in timp continuu
esantionat dacaesantionat dacaT
∫esantionat daca
,c cT
A T AA e B e d B
τ τ= = ∫0,c cA T A
cA e B e d Bτ τ= = ∫0, cA e B e d Bτ= = ∫∫
10.01.2012 Timp discret
10.01.2012
23:01 Modele intrare-stare-iesire Timp discret23:01 Modele intrare-stare-iesire
Cu un ZOH pe iesirea regulatorului se poate obtine o Cu un ZOH pe iesirea regulatorului se poate obtine o Cu un ZOH pe iesirea regulatorului se poate obtine o
reprezentare exacta in timp discret a sistemului in timp reprezentare exacta in timp discret a sistemului in timp reprezentare exacta in timp discret a sistemului in timp
continuu daca:continuu daca:continuu daca:
• sistemul in timp continuu este liniar, sau• sistemul in timp continuu este liniar, sau
• sistemul in timp continuu este liniar cu saturare pe intrare• sistemul in timp continuu este liniar cu saturare pe intrare
In general nu este posibila obtinerea unei reprezentari In general nu este posibila obtinerea unei reprezentari In general nu este posibila obtinerea unei reprezentari
exacte a unui sistem in timp continuu neliniar:exacte a unui sistem in timp continuu neliniar:
( ),x f x u=ɺ ( ),x f x u=ɺ ( )( )
,x f x u=ɺ
( ),y h x u= ( ),y h x u= ( ),y h x u=
Pentru un model neliniar se poate utiliza o aproximare in Pentru un model neliniar se poate utiliza o aproximare in
timp discret pentru obtinerea lui x(kT)timp discret pentru obtinerea lui x(kT)
10.01.2012 Stabilizabilitate si detectabilitate
10.01.2012
23:01 Modele intrare-stare-iesire Stabilizabilitate si detectabilitate23:01 Modele intrare-stare-iesire
Definitie (stabilizabilitate): Perechea de matrici (A, B) este stabilizabila Definitie (stabilizabilitate): Perechea de matrici (A, B) este stabilizabila Definitie (stabilizabilitate): Perechea de matrici (A, B) este stabilizabila
daca exista o matrice K astfel incat (A+BK) este stabila.daca exista o matrice K astfel incat (A+BK) este stabila.daca exista o matrice K astfel incat (A+BK) este stabila.
Definitie (detectabilitate): Perechea de matrici (C, A) este detectabila Definitie (detectabilitate): Perechea de matrici (C, A) este detectabila Definitie (detectabilitate): Perechea de matrici (C, A) este detectabila
daca exista o matrice L astfel incat (A+LC) este stabila.daca exista o matrice L astfel incat (A+LC) este stabila.
Testarea proprietatilorTestarea proprietatilorTestarea proprietatilor
Fie setul de valori proprii care se afla pe sau in exteriorul cercului unitate:Λ Fie setul de valori proprii care se afla pe sau in exteriorul cercului unitate:Λ Fie setul de valori proprii care se afla pe sau in exteriorul cercului unitate:Λ
( ) ( ) λ λΛ = ≥( ) ( ) : : 1i iA Aλ λΛ = ≥( ) ( ) : : 1i iA Aλ λΛ = ≥
Propozitie (stabilizabilitate): Perechea (A, B) este stabilizabila daca si numai
Propozitie (stabilizabilitate): Perechea (A, B) este stabilizabila daca si numai
( )( )λ− λ∈Λdaca are toate liniile liniar independente pentru toti ( )( )A I Bλ− λ∈Λdaca are toate liniile liniar independente pentru toti ( )( )A I Bλ− λ∈Λ
Propozitie (detectabilitate): Perechea (C, A) este detectabila daca si numai Propozitie (detectabilitate): Perechea (C, A) este detectabila daca si numai Propozitie (detectabilitate): Perechea (C, A) este detectabila daca si numai
daca are toate coloanele liniar independente pentru toti A Iλ− λ∈Λdaca are toate coloanele liniar independente pentru toti A Iλ−
λ∈Λ
C C
Modelare si control predictivModelare si control predictivModelare si control predictivModelare si control predictiv
- proiect -- proiect -- proiect -
Controlul predictiv bazat pe Controlul predictiv bazat pe Controlul predictiv bazat pe
modele intrare-stare-iesiremodele intrare-stare-iesiremodele intrare-stare-iesire
Curs 3 – Control predictiv fara restrictiiCurs 3 – Control predictiv fara restrictiiCurs 3 – Control predictiv fara restrictii
10.01.2012 Presupuneri
10.01.2012
23:01 Control predictiv fara restrictii Presupuneri23:01 Control predictiv fara restrictii
Modelul pe stare in timp discret Modelul pe stare in timp discret Modelul pe stare in timp discret
( ) ( ) ( )1x k Ax k Bu k+ = +( ) ( ) ( )1x k Ax k Bu k+ = +
( ) ( )y k Cx k=( ) ( )y k Cx k=( ) ( )( ) ( )z k Hx k=
Presupuneri:( ) ( )z k Hx k=
Presupuneri:( ) ( )z k Hx k=
Presupuneri:
• (A,B) este stabilizabila si (C,A) detectabila• (A,B) este stabilizabila si (C,A) detectabila
• C = I => feedback dupa stare• C = I => feedback dupa stare• C = I => feedback dupa stare
• H = C => toate iesirile/starile sunt controlate• H = C => toate iesirile/starile sunt controlate
o Scopul este de a aduce starile sistemului in origineo Scopul este de a aduce starile sistemului in origineo 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 modelareerori de modelareerori de modelare
10.01.2012 Reglare dupa stare
10.01.2012
23:01 Control predictiv fara restrictii Reglare dupa stare23:01 Control predictiv fara restrictii
Dandu-se modelul in timp discret al sistemului Dandu-se modelul in timp discret al sistemului Dandu-se modelul in timp discret al sistemului
( ) ( ) ( )1x k Ax k Bu k+ = +( ) ( ) ( )1x k Ax k Bu k+ = +
problema este de a proiecta o lege de reglare dupa stare
( ) ( ) ( )
problema este de a proiecta o lege de reglare dupa stareproblema este de a proiecta o lege de reglare dupa stare
u(k) = Kx(k) astfel incat originea sistemului in bucla inchisau(k) = Kx(k) astfel incat originea sistemului in bucla inchisau(k) = Kx(k) astfel incat originea sistemului in bucla inchisa
( ) ( ) ( )+ = +( ) ( ) ( )1x k A BK x k+ = +( ) ( ) ( )1x k A BK x k+ = +
sa fie asimptotic stabila global=>necesita ca (A+BK) sa fie stabilasa fie asimptotic stabila global=>necesita ca (A+BK) sa fie stabila
10.01.2012 Regulator Liniar Patratic (LQR)
10.01.2012
23:01 Control predictiv fara restrictii Regulator Liniar Patratic (LQR)23:01 Control predictiv fara restrictii
Problema: Dandu-se starea initiala x(0) la momentul k=0, Problema: Dandu-se starea initiala x(0) la momentul k=0, Problema: Dandu-se starea initiala x(0) la momentul k=0,
sa se calculeze si implementeze o secventa de comenzisa se calculeze si implementeze o secventa de comenzisa se calculeze si implementeze o secventa de comenzi
( ) ( ) 0 , 1 ,...,u u( ) ( ) 0 , 1 ,...,u u care minimizeaza functia de cost cu orizont infinitcare minimizeaza functia de cost cu orizont infinit
( ) ( ) ( ) ( )( )T T∞
∑ ( ) ( ) ( ) ( )( )T Tx k Qx k u k Ru k
∞
+∑ ( ) ( ) ( ) ( )( )x k Qx k u k Ru k=
+∑ ( )0k=∑
• Matricea ponderilor starilor penalizeaza starile 0Q =≻ 0≠• Matricea ponderilor starilor penalizeaza starile 0Q =≻ 0≠
• Matricea ponderilor intrarilor penalizeaza intrarile
≻
0R =≻ 0≠• Matricea ponderilor intrarilor penalizeaza intrarile 0R =≻ 0≠• Matricea ponderilor intrarilor penalizeaza intrarile 0R =≻ 0≠
• In general matricile Q si R sunt matrici diagonala si sunt • In general matricile Q si R sunt matrici diagonala si sunt
pozitiv definitepozitiv definitepozitiv definite
10.01.2012 Regulator Liniar Patratic (LQR)
10.01.2012
23:01 Control predictiv fara restrictii Regulator Liniar Patratic (LQR)23:01 Control predictiv fara restrictii
Problema LQR cu orizont infinit are un numar Problema LQR cu orizont infinit are un numar Problema LQR cu orizont infinit are un numar
infinit de variabile de decizieinfinit de variabile de decizieinfinit de variabile de decizie
( ) ( ) ( ) ( ) 0 , 1 ,...,u u( ) ( ) 0 , 1 ,...,u u
O solutie simpla in bucla inchisa exista daca O solutie simpla in bucla inchisa exista daca O solutie simpla in bucla inchisa exista daca
• Q este pozitiv semidefinita ( )0Q =≻• Q este pozitiv semidefinita ( )0Q =≻
• R este pozitiv definita ( )0R ≻• R este pozitiv definita ( )0R ≻• R este pozitiv definita ( )
• Perechea este detectabila
0R ≻1 • Perechea este detectabila1
2 ,Q A
• Perechea este detectabila2 ,Q A
,Q A
Se va rezolva o varianta cu orizont finit a problemei
Se va rezolva o varianta cu orizont finit a problemei
LQR utilizand aceleasi presupuneri ca mai susLQR utilizand aceleasi presupuneri ca mai sus
10.01.2012 Principiul orizontului alunecatorControl predictiv fara restrictii
10.01.2012
23:01 Principiul orizontului alunecatorControl predictiv fara restrictii23:01
1. Obtine valorile starilor curente x.1. Obtine valorile starilor curente x.
2. Calculeaza secventa optima de control cu orizont finit ( ) ( ) ( ) * * *, ,...,u x u x u x2. Calculeaza secventa optima de control cu orizont finit ( ) ( ) ( ) * * *
0 1 1, ,..., Nu x u x u x−2. Calculeaza secventa optima de control cu orizont finit ( ) ( ) ( ) 0 1 1, ,..., Nu x u x u x−
3. Implementeaza prima valoare din secventa de comenzi ( ) ( )*
0:k x u x=3. Implementeaza prima valoare din secventa de comenzi ( ) ( )0:k x u x=
4. Reia de la pasul 1.4. Reia de la pasul 1.
10.01.2012 Principiul orizontului alunecator
10.01.2012
23:01 Control predictiv fara restrictii Principiul orizontului alunecator23:01 Control predictiv fara restrictii
1. Obtine valorile starilor curente x.1. Obtine valorile starilor curente x.
2. Calculeaza secventa optima de control cu orizont finit ( ) ( ) ( ) * * *, ,...,u x u x u x2. Calculeaza secventa optima de control cu orizont finit ( ) ( ) ( ) * * *
0 1 1, ,..., Nu x u x u x−2. Calculeaza secventa optima de control cu orizont finit ( ) ( ) ( ) 0 1 1, ,..., Nu x u x u x−
3. Implementeaza prima valoare din secventa de comenzi ( ) ( )*
0:k x u x=3. Implementeaza prima valoare din secventa de comenzi ( ) ( )0:k x u x=
4. Reia de la pasul 1.4. Reia de la pasul 1.
10.01.2012 Principiul orizontului alunecator
10.01.2012
23:01 Control predictiv fara restrictii Principiul orizontului alunecator23:01 Control predictiv fara restrictii
1. Obtine valorile starilor curente x.1. Obtine valorile starilor curente x.
2. Calculeaza secventa optima de control cu orizont finit ( ) ( ) ( ) * * *, ,...,u x u x u x2. Calculeaza secventa optima de control cu orizont finit ( ) ( ) ( ) * * *
0 1 1, ,..., Nu x u x u x−2. Calculeaza secventa optima de control cu orizont finit ( ) ( ) ( ) 0 1 1, ,..., Nu x u x u x−
3. Implementeaza prima valoare din secventa de comenzi ( ) ( )*
0:k x u x=3. Implementeaza prima valoare din secventa de comenzi ( ) ( )0:k x u x=
4. Reia de la pasul 1.4. Reia de la pasul 1.
10.01.2012 Principiul orizontului alunecator
10.01.2012
23:01 Control predictiv fara restrictii Principiul orizontului alunecator23:01 Control predictiv fara restrictii
1. Obtine valorile starilor curente x.1. Obtine valorile starilor curente x.
2. Calculeaza secventa optima de control cu orizont finit ( ) ( ) ( ) * * *, ,...,u x u x u x2. Calculeaza secventa optima de control cu orizont finit ( ) ( ) ( ) * * *
0 1 1, ,..., Nu x u x u x−2. Calculeaza secventa optima de control cu orizont finit ( ) ( ) ( ) 0 1 1, ,..., Nu x u x u x−
3. Implementeaza prima valoare din secventa de comenzi ( ) ( )*
0:k x u x=3. Implementeaza prima valoare din secventa de comenzi ( ) ( )0:k x u x=
4. Reia de la pasul 1.4. Reia de la pasul 1.
10.01.2012 10.01.2012
23:01 Control optimal cu orizont finitControl predictiv fara restrictii23:01 Control optimal cu orizont finitControl predictiv fara restrictii
Problema: Dandu-se starea initiala x = x(k), sa se calculeze Problema: Dandu-se starea initiala x = x(k), sa se calculeze Problema: Dandu-se starea initiala x = x(k), sa se calculeze
o secventa de comenzi pe un orizont finit No secventa de comenzi pe un orizont finit No secventa de comenzi pe un orizont finit N
, ,...,u u u 0 1 1, ,..., Nu u u −
care minimizeaza functia de cost cu orizont finitcare minimizeaza functia de cost cu orizont finit
( )( ) ( )1N−
∑( )( ) ( )1
, ,...,N
T T TV x u u x Px x Qx u Ru−
= + +∑( )( ) ( )0 1, ,..., T T T
N N N i i i iV x u u x Px x Qx u Ru−=
= + +∑( ) ( )0i=∑
undeundex x=0x x=0
, 0,1,..., 1
x x
x Ax Bu i N
=
= + = −1 , 0,1,..., 1i i ix Ax Bu i N+ = + = −1 , 0,1,..., 1i i ix Ax Bu i N+ = + = −
V(·) este o functie de starea initiala x si primele N intrari u V(·) este o functie de starea initiala x si primele N intrari iu V(·) este o functie de starea initiala x si primele N intrari
si nu functie de timpul discret k sau starile predictate iu
xsi nu functie de timpul discret k sau starile predictate ixix
10.01.2012 10.01.2012
23:01 Control optimal cu orizont finitControl predictiv fara restrictii23:01 Control optimal cu orizont finitControl predictiv fara restrictii
Terminologie Terminologie Terminologie
• Vectorul reprezinta valoarea predictata a lui in x ( )x k i+• Vectorul reprezinta valoarea predictata a lui in ix ( )x k i+• Vectorul reprezinta valoarea predictata a lui in
functie de starea curenta si de intrarile ix ( )x k i+
( )x k ( )u k i u+ =functie de starea curenta si de intrarile ( )x k ( ) iu k i u+ =pentru toti
( ) ( ) i
0,1,..., 1i N= −pentru toti 0,1,..., 1i N= −
• reprezinta orizontul comenziiN ∈ℤ• reprezinta orizontul comenziiN ∈ℤ
• Matricea reprezinta ponderea finala, cu n nP ×∈ℝ 0P =≻• Matricea reprezinta ponderea finala, cu n nP ×∈ℝ 0P =≻• Matricea reprezinta ponderea finala, cu P∈ℝ 0P =≻
Stabilitatea si performantele legii de reglare cu Stabilitatea si performantele legii de reglare cu Stabilitatea si performantele legii de reglare cu
orizont alunecator bazata pe aceasta problema depind orizont alunecator bazata pe aceasta problema depind orizont alunecator bazata pe aceasta problema depind
de parametrii Q, R, P si Nde parametrii Q, R, P si Nde parametrii Q, R, P si N
10.01.2012 10.01.2012
23:01 NotatiiControl predictiv fara restrictii23:01 NotatiiControl predictiv fara restrictii
Se definesc vectorii si ca fiindNmU ∈ℝ Nn∈ℝ Se definesc vectorii si ca fiindNmU ∈ℝ NnX ∈ℝ Se definesc vectorii si ca fiindU ∈ℝ NnX ∈ℝ
u x 0u
1x
0u
u
1x
x
u x
1u 2x 1
: ,U u =
2
: ,X x =2: ,U u =
3: ,X x =
2: ,U u =
⋮
3: ,X x = ⋮
⋮
⋮
⋮
⋮
u
⋮
x
⋮
1Nu − Nx
1Nu − Nx
,m nu x∈ ∈ℝ ℝ Vectorii si este cunoscut.( )x x x k= =,m n
i iu x∈ ∈ℝ ℝ Vectorii si este cunoscut.( )0x x x k= =,i iu x∈ ∈ℝ ℝ Vectorii si este cunoscut.( )0x x x k= =i iℝ ℝ
Se pot defini vectorii iesirilor si ai NpY ∈ℝ Se pot defini vectorii iesirilor si ai NpY ∈ℝ Se pot defini vectorii iesirilor si ai
variabilelor controlate in mod similar.
Y ∈ℝNqZ ∈ℝvariabilelor controlate in mod similar.NqZ ∈ℝvariabilelor controlate in mod similar.Z ∈ℝ
10.01.2012 10.01.2012
23:01 Alte notatiiControl predictiv fara restrictii23:01 Alte notatiiControl predictiv fara restrictii
Functia de cost este definita ca Functia de cost este definita ca Functia de cost este definita ca
( ) ( )1N−
∑( ) ( )1
,N
T T TV x U x Px x Qx u Ru−
= + +∑( ) ( ), T T T
N N i i i iV x U x Px x Qx u Ru= + +∑( ) ( )0
, N N i i i i
i
V x U x Px x Qx u Ru=
= + +∑ Functia valoare este definita ca
0i=
Functia valoare este definita ca Functia valoare este definita ca
( )* min ( , )V x V x U=( )* min ( , )U
V x V x U=( ) min ( , )U
V x V x U=
Secventa optimala de control este definita ca Secventa optimala de control este definita ca Secventa optimala de control este definita ca
( )* : arg min ( , )U x V x U=( )* : arg min ( , )U x V x U=( ) : arg min ( , )U
U x V x U=( )
U
( ) ( ) ( ) * * *: , ,...,u x u x u x= ( ) ( ) ( ) * * *
0 1 1: , ,..., Nu x u x u x−= ( ) ( ) ( ) 0 1 1: , ,..., Nu x u x u x−=
10.01.2012 10.01.2012
23:01 Proiectarea legii de controlControl predictiv fara restrictii23:01 Proiectarea legii de controlControl predictiv fara restrictii
Se calculeaza matricile si in asa fel incat Se calculeaza matricile si in asa fel incatΦ Γ Se calculeaza matricile si in asa fel incatΦ Γ
X x U= Φ +ΓX x U= Φ +ΓX x U= Φ +Γ
Se rescrie functia de cost V(·) in functie de x si U Se rescrie functia de cost V(·) in functie de x si U Se rescrie functia de cost V(·) in functie de x si U
( ) Se calculeaza gradientul ( ),V x U∇ Se calculeaza gradientul ( ),UV x U∇Se calculeaza gradientul
Se seteaza si se rezolva pentru
( ),UV x U∇
( ), 0V x U∇ = ( )*U x Se seteaza si se rezolva pentru( ), 0UV x U∇ = ( )*U x Se seteaza si se rezolva pentru( ), 0UV x U∇ = ( )U x
Legea de reglare predictiva este reprezentata de prima Legea de reglare predictiva este reprezentata de prima Legea de reglare predictiva este reprezentata de prima
comanda din secventa comanda din secventa comanda din secventa
( ) ( ) ( )* *0 0u x I U x= ⋯( ) ( ) ( )* *0 0u x I U x= ⋯( ) ( ) ( )0 0 0mu x I U x= ⋯( ) ( ) ( )0 m ⋯
Atunci cand nu exista restrictii se poate calcula analitic. Atunci cand nu exista restrictii se poate calcula analitic. Atunci cand nu exista restrictii se poate calcula analitic.
10.01.2012 10.01.2012
23:01 Constructia matricilor de predictieControl predictiv fara restrictii23:01 Constructia matricilor de predictieControl predictiv fara restrictii
Sa se determine matricile si in asa fel incat Sa se determine matricile si in asa fel incatΦ Γ Sa se determine matricile si in asa fel incatΦ ΓX x U= Φ +ΓX x U= Φ +Γ
= +
X x U= Φ +Γ
x Ax Bu= +1 0 0x Ax Bu= +1 0 0
x Ax Bu= +2 1 1x Ax Bu= +2 1 1x Ax Bu= +
⋮⋮⋮
10.01.2012 10.01.2012
23:01 Constructia matricilor de predictieControl predictiv fara restrictii23:01 Constructia matricilor de predictieControl predictiv fara restrictii
Sa se determine matricile si in asa fel incat Sa se determine matricile si in asa fel incatΦ Γ Sa se determine matricile si in asa fel incatΦ ΓX x U= Φ +ΓX x U= Φ +Γ
= +
X x U= Φ +Γ
x Ax Bu= +1 0 0x Ax Bu= +1 0 0
x Ax Bu= +2 1 1x Ax Bu= +2 1 1x Ax Bu= +
⋮⋮⋮
x Ax Bu= +1 0 0x Ax Bu= +
( )1 0 0
2
x Ax Bu= +
= + + = + +( ) 2x A Ax Bu Bu A x ABu Bu= + + = + +( )2 0 0 1 0 0 1x A Ax Bu Bu A x ABu Bu= + + = + +( )2 0 0 1 0 0 1
⋮⋮⋮
1N Nx A x A Bx ABu Bu−= + + + +⋯1
0 0 2 1
N N
N N Nx A x A Bx ABu Bu−− −= + + + +⋯0 0 2 1N N Nx A x A Bx ABu Bu− −= + + + +⋯
10.01.2012 10.01.2012
23:01 Constructia matricilor de predictieControl predictiv fara restrictii23:01 Constructia matricilor de predictieControl predictiv fara restrictii
Se scriu relatiile sub forma matriciala Se scriu relatiile sub forma matriciala Se scriu relatiile sub forma matriciala
0 0x uA B ⋯1 00 0x uA B
⋯1 0
2
0 0
0
x uA B
x uA AB B
⋯
⋯2
2 10x uA AB B = +
⋯2 10x uA AB Bx = +
⋯
0x = + ⋮ ⋮⋮ ⋮ ⋮ ⋱ ⋮
0 ⋮ ⋮⋮ ⋮ ⋮ ⋱ ⋮
1 2N N Nx uA A B A B B− −
⋮ ⋮⋮ ⋮ ⋮ ⋱ ⋮
⋯1 2
1
N N N
N Nx uA A B A B B− −−
⋯
1N Nx uA A B A B B − ⋯
:x x= Stiind ca , matricile de predictie si sunt:
:x x= Φ Γ Stiind ca , matricile de predictie si sunt:0:x x= Φ Γ0
0 0A B ⋯0 0A B
⋯
2
0 0
0
A B
A AB B
⋯
⋯2 0
: , :A AB B
Φ = Γ =
⋯ 0: , :
A AB B Φ = Γ =
⋯: , : Φ = Γ = ⋮ ⋮ ⋮ ⋱ ⋮ ⋮ ⋮ ⋮ ⋱ ⋮
1 2N N NA A B A B B− −
⋮ ⋮ ⋮ ⋱ ⋮
⋯1 2N N NA A B A B B− −
⋯A A B A B B ⋯
10.01.2012 10.01.2012
23:01 Constructia functiei de costControl predictiv fara restrictii23:01 Constructia functiei de costControl predictiv fara restrictii
Functia de cost devine Functia de cost devine Functia de cost devine
( ) ( )1N−
= + +∑( ) ( )1
, :N
T T T
N N i i i iV x U x Px x Qx u Ru−
= + +∑( ) ( )0
, : N N i i i i
i
V x U x Px x Qx u Ru=
= + +∑0i=∑
T Tx x u uQ R 1 1 0 0x x u uQ R
1 1 0 0
x x u uQ R
2 2 1 1T
x x u uQ Rx Qx
= + +2 2 1 1
0 0
Tx QxQ R
= + + ⋮ ⋮ ⋮ ⋮
0 0Q R
⋮ ⋮ ⋮ ⋮
x x u uP R
⋮ ⋮ ⋮ ⋮
1 1N N N Nx x u uP R− −
Stiind ca , functia de cost poate fi rescrisa sub :x x=1 1N N N N− −
Stiind ca , functia de cost poate fi rescrisa sub 0:x x= Stiind ca , functia de cost poate fi rescrisa sub
forma matriciala astfel:0:x x=
( ), T T TV x U x Qx X X U U= + Ω + Ψforma matriciala astfel: ( ), T T TV x U x Qx X X U U= + Ω + Ψforma matriciala astfel: ( ),V x U x Qx X X U U= + Ω + Ψ
De stiut: 0 si 0 0P Q= = ⇒Ω =≻ ≻ ≻ De stiut: 0 si 0 0P Q= = ⇒Ω =≻ ≻ ≻ De stiut: 0 si 0 0
0 0
P Q
R
= = ⇒Ω =
⇒Ψ
≻ ≻ ≻
≻ ≻0 0R ⇒Ψ≻ ≻0 0R ⇒Ψ≻ ≻
10.01.2012 10.01.2012
23:01 Constructia functiei de costControl predictiv fara restrictii23:01 Constructia functiei de costControl predictiv fara restrictii
Se stie ca Se stie ca Se stie ca
( ), T T TV x U x Qx X X U U= + Ω + Ψ( ), T T TV x U x Qx X X U U= + Ω + Ψ( ),V x U x Qx X X U U= + Ω + Ψ
X x U= Φ +ΓX x U= Φ +ΓX x U= Φ +Γ
( ) ( ) ( ),TT TV x U x Qx x U x U U U= + Φ +Γ Ω Φ +Γ + Ψ( ) ( ) ( ),TT TV x U x Qx x U x U U U= + Φ +Γ Ω Φ +Γ + Ψ( ) ( ) ( ),V x U x Qx x U x U U U= + Φ +Γ Ω Φ +Γ + Ψ
T T T T T Tx Qx x x U U U U= + Φ ΩΦ + Γ ΩΓ + ΨT T T T T Tx Qx x x U U U U= + Φ ΩΦ + Γ ΩΓ + ΨT T T T
x Qx x x U U U U
x U U x
= + Φ ΩΦ + Γ ΩΓ + Ψ
+ Φ ΩΓ + Γ ΩΦT T T Tx U U x+ Φ ΩΓ + Γ ΩΦx U U x+ Φ ΩΓ + Γ ΩΦ
( ) ( ) 2T T T T T Tx Q x U U U x= +Φ ΩΦ + Ψ +Γ ΩΓ + Γ ΩΦ( ) ( ) 2T T T T T Tx Q x U U U x= +Φ ΩΦ + Ψ +Γ ΩΓ + Γ ΩΦ( ) ( ) 2x Q x U U U x= +Φ ΩΦ + Ψ +Γ ΩΓ + Γ ΩΦ
10.01.2012 10.01.2012
23:01 Gasirea solutiei Control predictiv fara restrictii23:01 Gasirea solutiei Control predictiv fara restrictii
Se rescrie Se rescrie Se rescrie
( )1( ) ( )1, T T T TV x U U GU U Fx x Q x= + + +Φ ΩΦ( ) ( )1,
2
T T T TV x U U GU U Fx x Q x= + + +Φ ΩΦ( ) ( ),2
V x U U GU U Fx x Q x= + + +Φ ΩΦ
unde2
unde( ) ( )= Ψ +Γ ΩΓ Ω = Ψ
unde( ) ( ): 2 0, 0 si 0TG = Ψ +Γ ΩΓ Ω = Ψ≻ ≻ ≻( ) ( ): 2 0, 0 si 0TG = Ψ +Γ ΩΓ Ω = Ψ≻ ≻ ≻( ) ( )
T= Γ ΩΦ
≻ ≻ ≻
: 2 TF = Γ ΩΦ: 2F = Γ ΩΦ Important: aceasta este o functie convexa si patratica in U. Important: aceasta este o functie convexa si patratica in U.
• Minimul unic global se obtine pentru• Minimul unic global se obtine pentru• Minimul unic global se obtine pentru
( ), 0V x U GU Fx∇ = + =( ), 0UV x U GU Fx∇ = + =
• Secventa optima de control rezulta de forma
( )U
• Secventa optima de control rezulta de forma• Secventa optima de control rezulta de forma
( )* 1U x G Fx−= −( )* 1U x G Fx−= −( )U x G Fx= −
10.01.2012 10.01.2012
23:01 Legea de reglare predictivaControl predictiv fara restrictii23:01 Legea de reglare predictivaControl predictiv fara restrictii
Secventa optima de control este Secventa optima de control este Secventa optima de control este
( )* 1U x G Fx−= −( )* 1U x G Fx−= −( )U x G Fx= −
Legea predictiva de control este data de prima Legea predictiva de control este data de prima
comanda din secventa ( )*U xcomanda din secventa ( )*U x( )
( ) ( ) ( )* *0 0u x I U x= ⋯( ) ( ) ( )* *0 0u x I U x= ⋯( ) ( ) ( )0 0 0mu x I U x= ⋯
Se defineste
( ) ( ) ( )0 m ⋯
Se defineste Se defineste
( ) 10 0K I G F−= − ⋯( ) 10 0MPC mK I G F−= − ⋯
astfel incat .
( )0 0MPC mK I G F= − ⋯
astfel incat .u K x=astfel incat .MPCu K x=
o legea de reglare este invarianta in timpo legea de reglare este invarianta in timpo legea de reglare este invarianta in timp
o aproximeaza legea de reglare optima cu orizont infinito aproximeaza legea de reglare optima cu orizont infinit
10.01.2012 10.01.2012
23:01 Echivalenta MPC si LQRControl predictiv fara restrictii23:01 Echivalenta MPC si LQRControl predictiv fara restrictii
Solutia problemei LQR cu orizont infinit este Solutia problemei LQR cu orizont infinit este Solutia problemei LQR cu orizont infinit este
( ) ( )u k K x k=( ) ( )LQRu k K x k=( ) ( )LQRu k K x k=
undeunde
( ) 1−( ) 1T TK B PB R B PA
−= − +( )T T
LQRK B PB R B PA= − +( )LQRK B PB R B PA= − +
si P este solutia ecuatiei algebrice Ricattisi P este solutia ecuatiei algebrice Ricattisi P este solutia ecuatiei algebrice Ricatti
( ) 1T T T TP A PA A PB B PB R B PA Q
−= − + +( ) 1
T T T TP A PA A PB B PB R B PA Q−
= − + + Daca ponderea finala P din functia de cost cu orizont
( )P A PA A PB B PB R B PA Q= − + + Daca ponderea finala P din functia de cost cu orizont
( ) Daca ponderea finala P din functia de cost cu orizont
finit V(·) este o solutie a aceeasi ecuatii algebrice finit V(·) este o solutie a aceeasi ecuatii algebrice finit V(·) este o solutie a aceeasi ecuatii algebrice
Ricatti atunci:Ricatti atunci:Ricatti atunci:K K=MPC LQRK K=MPC LQRK K=