Control Predictiv

13
30 CAPITOLUL 3 Algoritmi de Control Predictiv Generalizat 3.1. Noţiuni generale de control predictiv Algoritmii de control predictiv au avut o dezvoltare considerabilă în ultimii ani la nivelul comunităţii de cercetare, dar şi în mediul industrial. Este posibil ca succesul să se datoreze în primul rând modului foarte general de rezolvare a problemelor de control în domeniul timp. Foarte multe firme ce furnizează soluţii hardware, dar şi software, în domeniul sistemelor de automatizare cum ar fi Honeywell, Siemens, National Instruments, Matlab, etc. şi-au inclus biblioteci consistente de algoritmi avansaţi printre care se regăsesc şi algoritmi de tip Control Predictiv Bazat pe Model MCP (Model [Based] Predictive Control). Un punct slab al acestui tip de algoritmi de control este faptul că implementarea presupune prelucrări matematice complexe, care nu sunt foarte populare la nivelul inginerilor practicieni. Totodată, prelucrările complexe, ocupă un timp de procesare semnificativ la nivelul unui sistem cu microprocesor, ceea ce influenţează respectarea ideii de timp real la nivelul unui proces fizic. Totuşi, arhitecturile actuale de sisteme cu microprocesor, datorită unor posibilităţi de prelucrare multi-core, adică prelucrare paralelă reală, permit implementări ale unor prelucrări matematice complexe într-un timp foarte scurt. Evoluţia actuală a sistemelor cu microprocesoare a permis ca algoritmii de control predictiv să fie implementaţi cu succes şi pe procese rapide. Controlul Predictiv Bazat pe Model face parte dintr-o clasă de metode de proiectare care folosesc modelul matematic al procesului pentru obţinerea unui semnal de comandă prin minimizarea unei funcţii obiectiv. De aici apare şi principalul dezavantaj care este reprezentat de necesitatea ca modelul matematic asociat procesului să fie foarte precis, lucru greu de îndeplinit pentru procese complexe. Rezultatele algoritmului se bazează pe cunoaşterea modelului şi interdependenţele asociate, de unde este evident că rezultatele obţinute vor fi afectate în mod direct de diferenţele între procesul real şi modelul folosit. Metodologia de funcţionare[11], [12] pentru majoritatea algoritmilor de control predictiv este ilustrată în Fig.3.1. Algoritmii MPC sunt caracterizaţi de următoarea strategie: -Ieşirea viitoare pe un orizont de timp N (exprimat ca număr de perioade de eşantionare) numit orizont de predicţie, este prezisă la fiecare moment de timp t folosind modelul matematic al procesului. Aceste ieşiri prezise ) | ( ˆ t k t y pentru N k ..... 1 depind de valorile cunoscute până la momentul t (intrările şi ieşirile trecute) şi de semnalele de Fig.3.1.Metodologia de funcţionare MPC t t t+1 t-1 t+k t+N ..... .. ..... .. t y(t) u(t) ) | ( ˆ t k t y u(t+k | t)

description

sisteme numerice de reglare

Transcript of Control Predictiv

Page 1: Control Predictiv

30

CAPITOLUL 3

Algoritmi de Control Predictiv Generalizat

3.1. Noţiuni generale de control predictiv

Algoritmii de control predictiv au avut o dezvoltare considerabilă în ultimii ani la

nivelul comunităţii de cercetare, dar şi în mediul industrial. Este posibil ca succesul să se

datoreze în primul rând modului foarte general de rezolvare a problemelor de control în

domeniul timp. Foarte multe firme ce furnizează soluţii hardware, dar şi software, în

domeniul sistemelor de automatizare cum ar fi Honeywell, Siemens, National Instruments,

Matlab, etc. şi-au inclus biblioteci consistente de algoritmi avansaţi printre care se regăsesc şi

algoritmi de tip Control Predictiv Bazat pe Model – MCP (Model [Based] Predictive Control).

Un punct slab al acestui tip de algoritmi de control este faptul că implementarea presupune

prelucrări matematice complexe, care nu sunt foarte populare la nivelul inginerilor practicieni.

Totodată, prelucrările complexe, ocupă un timp de procesare semnificativ la nivelul unui

sistem cu microprocesor, ceea ce influenţează respectarea ideii de timp real la nivelul unui

proces fizic. Totuşi, arhitecturile actuale de sisteme cu microprocesor, datorită unor

posibilităţi de prelucrare multi-core, adică prelucrare paralelă reală, permit implementări ale

unor prelucrări matematice complexe într-un timp foarte scurt. Evoluţia actuală a sistemelor

cu microprocesoare a permis ca algoritmii de control predictiv să fie implementaţi cu succes

şi pe procese rapide.

Controlul Predictiv Bazat pe Model face parte dintr-o clasă de metode de proiectare

care folosesc modelul matematic al procesului pentru obţinerea unui semnal de comandă prin

minimizarea unei funcţii obiectiv. De aici apare şi principalul dezavantaj care este reprezentat

de necesitatea ca modelul matematic asociat procesului să fie foarte precis, lucru greu de

îndeplinit pentru procese complexe. Rezultatele algoritmului se bazează pe cunoaşterea

modelului şi interdependenţele asociate, de unde este evident că rezultatele obţinute vor fi

afectate în mod direct de diferenţele între procesul real şi modelul folosit.

Metodologia de funcţionare[11], [12] pentru majoritatea algoritmilor de control

predictiv este ilustrată în Fig.3.1.

Algoritmii MPC sunt caracterizaţi de următoarea strategie:

-Ieşirea viitoare pe un orizont de timp N (exprimat ca număr de perioade de

eşantionare) numit orizont de predicţie, este prezisă la fiecare moment de timp t folosind

modelul matematic al procesului. Aceste ieşiri prezise )|(ˆ tkty pentru Nk .....1 depind

de valorile cunoscute până la momentul t (intrările şi ieşirile trecute) şi de semnalele de

Fig.3.1.Metodologia de funcţionare MPC

t

t t+1 t-1 t+k t+N .....

..

.....

..

t

y(t)

u(t)

)|(ˆ tkty

u(t+k | t)

Page 2: Control Predictiv

31

comandă viitoare )|( tktu cu 1.....1 Nk , care urmează a fi transmise sistemului după ce

vor fi calculate.

-O secvenţă de semnale de comandă calculate prin optimizarea unui criteriu

determinat în ideea că procesul o să se apropie de o traiectorie de referinţă )( ktw . Această

traiectorie de referinţă poate fi chiar referinţa însăşi sau o aproximare a acesteia. Uzual,

criteriul este o formă pătratică de eroare, calculată ca diferenţa dintre semnalul de ieşire al

procesului şi traiectoria de referinţă prezisă. Efortul de control este inclus în funcţia obiectiv

în cele mai multe cazuri.

-Din secvenţa de comandă calculată pe un orizont de timp se aplică procesului doar

comanda de la momentul t , adică semnalul )|( ttu , în timp ce restul secvenţei va fi rejectată.

La următoarea perioadă de eşantionare se reia procesul de calcul, după care se aplică

procesului doar prima componentă.

Structura de bază a implementării este prezentată în Fig.3.2.

Modelul este utilizat pentru a prezice ieşirea viitoare a instalaţiei (răspunsul simulat), bazat pe

valorile curente şi trecute şi pe acţiunile de control optim propuse a fi realizate. Aceste acţiuni

sunt calculate în cadrul unui bloc de optimizare (algoritm) ce ţine cont de o funcţie cost.

Astfel, modelul matematic joacă un rol important în proiectarea algoritmului de control ceea

ce înseamnă că ar trebui să includă cât mai mult din dinamica procesului real.

La nivel intuitiv, strategia de control MPC este foarte asemănătoare cu strategia

utilizată la conducerea unui autoturism [12]. Conducătorul automobilului cunoaşte traiectoria

de referinţă (drumul) pe un orizont finit de control (este vorba de distanţa vizibilă) şi ţinând

cont de caracteristicile autoturismului (modelul mental al maşinii), decide acţiunea de control

acţionând asupra acceleraţiei, frânei, direcţiei. La fiecare moment de timp, conducătorul auto

aplică o comandă, după care creierul realizează o nouă prelucrare a situaţiei într-un nou

orizont de timp. Trebuie notat aici faptul că atunci când se utilizează o schemă de control

clasică, bazată pe o lege de control de tip PID (Proporţional, Integrator, Derivativ) acţiunea

este bazată pe eroarea de la momentele anterioare. Acest lucru ar fi echivalent cu a conduce

maşina uitându-te doar în oglinda retrovizoare. MPC înseamnă a conduce maşina uitându-te

pe parbrizul din faţă, estimând traiectoria drumului şi acţionând volanul. Volanul reprezintă

de fapt referinţa pentru algoritmul de control implementat de sistemul de servodirecţie. Prin

acest exemplu se poate pune în evidenţă caracterul acţiunii prin compensare al algoritmilor

MPC, comparativ cu algoritmii de tip PID cu acţiune prin discordanţă.

Toţi algoritmii MPC au trei elemente ce vor fi prelucrate pentru a obţine în final

comanda ce se va aplica procesului real:

a. Modelul de predicţie, este modelul matematic asociat procesului real;

b. Funcţia cost, formularea funcţiei criteriu ce va fi minimizată;

c. Obţinerea legii de control, obţinerea comenzii efective ce se aplică procesului.

Fig.3.2.Structura de bază MPC

Model

Bloc de

optimizare

Traiectoria

de referinţă

+

Ieşirea

prezisă -

Erori

viitoare

Constrângeri Funcţie cost

Intrări şi Ieşiri anterioare

Intrări

Viitoare

Page 3: Control Predictiv

32

3.2. Control predictiv generalizat

În acest subcapitol se prezintă cei mai populari algoritmi de control predictiv

generalizat GPC(Generalized Predictive Control) [11], [12]. Metoda este dezvoltată în detaliu

la nivel teoretic, ilustrându-se procedura de obţinere a legii de control. Aceşti algoritmi

gestionează o multitudine de probleme de control pentru un domeniu mare de aplicaţii

(procese), dar care au un număr rezonabil de variabile.

Ideea de bază în GPC constă în calcularea unei secvenţe discrete în timp a semnalului

de comandă, prin minimizarea unei funcţii cost definită pe un orizont de predicţie în timp (

timp viitor). Practic se obţine o comandă ce va minimiza o funcţie cost pătratică formată din

diferenţa între ieşirea prezisă a sistemului şi o traiectorie de predicţie. Controlul predictiv

generalizat are câteva idei în comun cu alte controlere predictive menţionate anterior . După

cum se va vedea în continuare, acesta furnizează o soluţie analitică (în absenţa

constrângerilor), care poate fi aplicată pentru procese instabile în buclă deschisă sau conţin

poli aproape de zona de instabilitate, procese caracterizate de modele de fază neminimă,

procese caracterizate de timp mort necunoscut sau variabil, procese cu incertitudin structurale

sau parametrice. Aceasta incorporează conceptul de orizont de control luând în considerare o

anumită pondere a comenzii în funcţia cost. În funcţie de alegerea acestor ponderi disponibile

se vor obţine o varietate de obiective de control.

Formularea ideii de control predictiv generalizat

Cele mai multe procese cu o intrare şi o ieşire, după liniarizarea în jurul unui punct

staţionar de funcţionare, pot fi descrise numeric prin următoarea ecuaţie:

)()()1()()()( 111 tezCtuzBztyzA d (3.1)

unde )(tu şi )(ty sunt sunt secvenţele de intrare şi ieşire a procesului; )(te este semnalul de

perturbaţie ce acţionează asupra procesului; d este timpul de întârziere al procesului

considerat ca număr de perioade de eşantionare; )( 1zA , )( 1zB , )( 1zC sunt polinoame

scrise folosind operatorul de întîrziere 1z .

na

na zazazazA ....1)( 2

2

1

1

1

nb

nb zbzbzbbzB ....)( 2

2

1

10

1 (3.2)

nc

nc zczczczC ....1)( 2

2

1

1

1

Acest model este cunoscut ca Controler Auto-Regresiv de Medie Alunectoare (CARMA,

Controller Auto-Regresive Moving Average). Pentru cele mai multe aplicaţii industriale în

care perturbaţiile sunt nestaţionare un model cu intregrare de tip CARIMA(Controller Auto-

Regresive Integral Moving Average) este mult mai potrivit. Un astfel de model este descris

astfel:

)(

)()1()()()( 111 tezCtuzBztyzA d (3.3)

unde 11 z

Pentru simplificarea prelucrării, vom considera polinomul )( 1zC ca fiind constanta 1.

Oricum, prin împărţirea relaţiei (3.3) la polinomul )( 1zC , acesta va fi conţinut în noile

polinoame echivalente )( 1zA , )( 1zB .

Algoritmii de control predictiv generalizat GPC provin din găsirea unei secvenţe de

comandă care minimizează în mai multe trepte o funcţie cost de forma:

Page 4: Control Predictiv

33

uN

Nj

N

Nju jtujjtwtjtyjNNNJ

1

2

1

22

21 )1()()()|(ˆ)(),,( (3.4)

unde )|(ˆ tjty este ieşirea procesului ca predicţie până la pasul j calculat după momentul

curent t. Astfel obţinem ieşirea simulată cu ecuaţiile procesului pe un orizont de timp de j paşi

de eşantionare înainte (în viitor) faţă de momentul actual t. Valorile 1N , 2N sunt începutul şi

sfârşitul intervalului de timp (ca număr de perioade de eşantionare) ce constituie orizontul

funcţiei cost. Valoare uN este numărul de paşi pentru orizontul de comandă. Valorile )( j ,

)( j sunt secvenţe de ponderare în funcţia cost. Semnalul )( jtw reprezintă traiectoria de

referinţă ce se doreşte a se realiza în viitor. Uzual se foloseşte o formă de semnal care nu

trebuie să coincidă cu referinţa reală a sistemului. Această traiectorie se poate exprima sub

forma:

)()1()1()( ktrktwktw ; Nk ,1 (3.5)

unde este un parametru de ponderare cu valori între 0 şi 1, care constituie o valoare

ajustabilă ce va influenţa dinamica evoluţiei procesului. În Fig.3.3 forma traiectoriei este

prezentată pentru două valori ale lui . Astfel valori mici vor conduce la o urmărire foarte

rapidă ( 1w ), iar valori mari vor conduce la o urmărire mai lentă ( 2w ). Pentru 1 avem cea

mai lină aproximaţie.

Obiectivele controlului predictiv constau in calculul unei secvenţe viitoare de control

)(tu , )1( tu ,.... astfel încât ieşirea la momentul viitor t+j, )( jty al procesului, simulată

după ecuaţiile procesului, să se apropie (să fie egală) cu )( jtw , traiectoria de referinţă.

Acest lucru se realizează prin minimizarea funcţiei cost din relaţia (3.4). În scopul optimizării

funcţiei cost se va folosi predicţia optimă (simulată) a secvenţei de ieşire )( jty pentru

1Nj şi 2Nj .

Pornim de la triviala Teoremă a Împărţirii cu Rest:

Deâmpărţit=Împărţitor * Cât + Rest

În acest context vom considera Deâmpărţit=1 şi Împărţitor= )( 1 zA . Astfel vom obţine:

)(1 1 zA * Cât + Rest

Considerăm următoarea ecuaţie diofantică, obţinută prin împărţirea polinomului 1 la

polinomul )( 1 zA :

)()(*)(1 111 zFzzEzA j

j

j (3.6)

Această ecuaţie va trebui rezolvată, iar polinoamele Cât )( 1zE j şi Rest )( 1zFj sunt unic

definite cu gradele )1( j respectiv an . Acestea sunt obţinute prin împărţirea succesivă dintre

polinomul 1 şi polinomul )( 1 zA până când restul poate fi factorizat sub forma

)( 1 zFz j

j, iar câtul rămas este )( 1zE j .

Revenim la ecuaţia (3.3) unde considerăm polinomul )( 1zC ca fiind constanta 1, pe care o

înmulţim cu termenul j

j zzE )( 1

Fig.3.3.Aproximarea traiectoriei

t

t t+1 t-1 t+k t+N .....

..

.....

..

y(t)

u(t)

)(2 ktw

)(1 ktw

Page 5: Control Predictiv

34

j

j

d

zzE

tetuzBztyzA

)(

)()1()()()(

1

11 (3.7)

unde 11 z

)(

)()1()()()()()( 11111 tezzEtuzzzBzEtyzzEzA j

j

dj

j

j

j

)()()1()()()()()( 11111 tezzEtuzzzBzEtyzzEzA j

j

dj

j

j

j

)()()1()()()()()( 11111 jtezEdjtuzBzEjtyzEzA jjj (3.8)

Din ecuaţia (3.6) vom avea:

)(1)(*)( 111 zFzzEzA j

j

j (3.9)

Relaţia (3.9) o introducem în relaţia (3.8) şi vom avea:

)()()1()()()()(1 1111 jtezEdjtuzBzEjtyzFz jjj

j

)()()1()()()()()( 1111 jtezEdjtuzBzEjtyzFzjty jjj

j

)()()1()()()()()( 1111 jtezEdjtuzBzEjtyzzFjty jj

j

j

Ţinem cont că )()( tyjtyz j , vom avea:

)()()1()()()()()( 1111 jtezEdjtuzBzEtyzFjty jjj (3.10)

În ecuaţia (3.10), dacă gradul polinomului )( 1zE j este )1( j intuitiv se poate spune

că termenii secvenţei de zgomot )( jte sunt toţi în viitor şi astfel, cea mai bună predicţie a

termenului )( jty din ecuaţie este:

)1()()()()()( 111 djtuzBzEtyzFjty jj (3.11)

Revenind la notaţia raportată la momentul curent vom avea secvenţa de ieşire sub forma:

)1()()()()()|(ˆ 111 djtuzBzEtyzFtjty jj

)()()1()()()|(ˆ 111 tyzFdjtuzBzEtjty jj

)()()1()()|(ˆ 11 tyzFdjtuzGtjty jj (3.12)

unde )()()( 111 zBzEzG jj

Se poate arăta că polinoamele )( 1zE j , )( 1zFj pot fi prelucrate software prin recursivitate.

Recursivitatea ecuaţiei diofantice a fost demonstrată în [11], [12], [13]

În continuare considerăm că polinoamele )( 1zE j şi )( 1zFj reprezintă polinoamele

Cât şi Rest de la împărţirea succesivă a polinomului 1 la polinomul )( 1 zA până când

restul împărţirii poate fi factorizat sub forma: )( 1 zFz j

j . Aceste polinoame pot fi

exprimate sub forma: na

najjjjj zfzfzffzF ,

2

2,

1

1,0,

1 ....)(

)1(

1,

2

2,

1

1,0,

1 ....)(

j

jjjjjj zezezeezE (3.13)

Presupunem că aceeaşi procedură este folosită şi pentru obţinerea polinoamelor Cât şi Rest

pentru (j+1) împărţiri succesive a polinomului 1 la polinomul )( 1 zA până când restul

împărţirii poate fi factorizat sub forma: )( 1

1

)1(

zFz j

j, cu exprimarea următoare:

na

najjjjj zfzfzffzF

,1

2

2,1

1

1,10,1

1

1 ....)( (3.14)

Restul împărţirii se va modifica corespunzător sub forma )( 1

1

)1(

zFz j

j , iar câtul va fi

câtul de la pasul anterior la care se adugă încă un termen al împărţirii curente. Astfel avem:

Page 6: Control Predictiv

35

j

jjjj zezEzE

,1

11

1 )()( (3.15)

Folosind o observaţie de la împărţirea de polinoame avem:

0,,1 jjj fe (3.16)

Coeficienţii polinomului )( 1

1

zFj pot fi exprimaţi sub forma:

10,1,,1~

ijijij afff ; 1,...,0 ani (3.17)

Revenim la ecuaţia (3.12)

)()()1()()|(ˆ 11 tyzFdjtuzGtjty jj unde )()()( 111 zBzEzG jj

Vom avea, pentru (j+1), ţinând cont de relaţia (3.15) şi (3.16):

)()()()()()()( 1

0,

11

,1

111

1

1

1

zBzfzEzBzezEzBzEzG j

jj

j

jjjjj

)()()()( 1

0,

111

1

zBzfzBzEzG j

jjj

Ţinând cont de notaţia )()()( 111 zBzEzG jj , vom avea:

)()()( 1

0,

11

1

zBzfzGzG j

jjj (3.18)

Astfel termenii obţinuţi sunt:

ijiijijj bfgg 0,,,1 ; bni ,...,0

Rezolvarea problemei controlului predictiv generalizat se reduce la găsirea unei secvenţe de

semnale de comandă )(tu , )1( tu ,......, )( Ntu ce vor fi obţinute prin optimizarea funcţiei

cost din relaţia (3.4).

Dacă vom considera că sistemul are un timp mort exprimat într-un număr de d perioade de

eşantionare, ieşirea sistemului va fi influenţată de semnalul de intrare )(tu după un număr de

(d+1) perioade de eşantionare. Valorile 1N , 2N şi uN care definesc orizontul de predicţie

pot fi definite astfel: 11 dN , NdN 2 , NNu . Orizontul de predicţie a ieşirii este

influenţat de timpul mort al procesului. Dacă )1(1 dN atunci termenii din funcţia cost vor

depinde numai de semnalele de control anterioare(din trecut). Pe de altă parte, dacă

)1(1 dN , atunci nu se ţine cont de primul punct din secvenţa traiectoriei de referinţă.

În continuare vom considera următorul set de predicţii cu valorile lui j în intervalul

specificat:

)()()()()|1(ˆ 1

1

1

1 tyzFtuzGtdty dd

)()()1()()|2(ˆ 1

2

1

2 tyzFtuzGtdty dd

(3.19)

)()()1()()|(ˆ 11 tyzFNtuzGtNdty NdNd

Relaţiile (3.19) pot fi scrise sub formă vectorială astfel:

)1()()()( 1|1 tuzGtyzFUGY (3.20)

unde

)|(ˆ

)|2(ˆ

)|1(ˆ

tNdty

tdty

tdty

Y

;

))1(

)1(

)(

Ntu

tu

tu

U

;

021

01

0

0

00

ggg

gg

g

G

NN

Page 7: Control Predictiv

36

NN

NNd

d

d

zzgzggzG

zzggzG

zgzG

zG

)....)((

))((

))((

)(

)1(

1

1

10

1

21

10

1

2

0

1

1

1|

;

)(

)(

)(

)(

1

1

2

1

1

1

zF

zF

zF

zF

Nd

d

d

Se poate observa că ultimii 2 termeni din ecuaţia (3.20) depind numai de condiţiile iniţiale

(trecut) şi pot fi grupaţi ca un răspuns liber în termenul f de mai jos:

fUGY (3.21)

Se poate considera că dacă avem condiţii iniţiale nule, răspunsul liber f este zero. Dacă

aplicăm o intrare treaptă unitate la intrare la momentul t, vom avea:

1)( tu ; 0)1( tu ; ........; 0)1( Ntu

Astfel secvenţa de ieşire aşteptată este TNtytyty )](ˆ,....,)2(ˆ),1(ˆ[ şi coincide cu

prima coloană a matricii G. În acest context, prima coloană a matricii G poate fi calculată ca

răspuns la intrare treaptă a procesului, atunci când o treaptă unitară este aplicată.

Termenul de răspuns liber poate fi calculat recursiv prin:

)()())(1( 11

1 jdtuzBfzAzf jj

(3.22)

cu )(0 tyf şi 0)( jtu pentru 0j

În aceste condiţii, funcţia cost poate fi formulată sub forma:

UUWfUGWfUGJ TT )()( (3.23)

unde TNdtwdtwdtwW )](....)2()1([

UUWfWfWfGUUGWfUGGUJ TTTTTTT )()()()(

)()()(2 WfWfUGWfUUUGGUJ TTTTT

)()()(2)( WfWfUGWfUIGGUJ TTTT (3.24)

Realizăm următoarele notaţii în relaţia (3.24)

)(2 IGGH T

GWfb TT )(2

)()(0 WfWff T

Vom avea:

02

1fUbUHUJ TT (3.25)

Minimul funcţiei cost din relaţia (3.25) în raport cu comanda U este:

0dU

dJ

0 TbUHdU

dJ TbHU 1 (3.26)

)(

)(

)(2

)(2

IGG

fWG

IGG

GWfU

T

T

T

T

)()( 1 fWGIGGU TT (3.27)

Page 8: Control Predictiv

37

Semnalul de control aplicat ca şi comandă procesului este primul element al vectorului

U şi este exprimat sub forma:

)()( fWKtu (3.29)

unde K este prima coloană a matricii TT GIGG 1)( .

Acest lucru arată într-o manieră explicită, ceea ce se poate vedea şi din Fig.3.4, că dacă nu

avem erori de predicţie, ceea ce înseamnă 0)( fW , atunci comanda nu mai variază şi

astfel rămâne evoluţia liberă a procesului[11], [12].

Totodată, aceasta este o acţiune de control de tip proporţional (factorul K) în funcţie de

viitoarele erori. Trebuie remarcat că acţiunea de control este făcută cu respectarea erorilor

viitoare şi nu în funcţie de erorile trecute cum era cazul unui controler convenţional de tip

feedback.

Trebuie reţinut că numai primul element al secvenţei de comenzi din vectorul U este

aplicat şi procedura este repetată la următoarea perioadă de eşantionare. Soluţia GPC

presupune calculul unei matrici de dimensiune NN , care poate necesita un timp de

prelucrare semnificativ, de care trebuie ţinut cont pentru a se încadra în perioada de

eşantionare. Datorită vitezei de prelucrare a sistemelor cu microprocesoare actuale, metoda de

control predictiv GPG este aplicabilă şi pentru procese rapide.

3.3. Implementarea unui algoritm de control predictiv din biblioteca de funcţii

Matlab/Simulink

Foarte multe firme producătoare de medii de dezvoltare software pun la dispoziţie

biblioteci de funcţii extrem de puternice ce implementează diverşi algoritmi de control

avansaţi. În acest context s-a realizat şi implementarea structurii de control predictiv pentru

sistemul Ball on Beam folosind blocul MPC Controller din Simulink. Mediul de simulare

Simulink oferă prin acest bloc un controler MPC parametrizabil printr-o interfaţă grafică

foarte intuitivă. În felul acesta, un inginer practician va realiza doar parametrizarea

controlerului, cunoscând totuşi principiul de funcţionare.

Un prim pas constă în aducerea blocului MPC din biblioteca Simulink în fereastra de

editare grafică, după care, realizând dublu-click pe bloc, se deschide o fereastră în care se

selectează butonul Design.

Fig.3.4.Legea de control GPC

K Proces

Calcul răspuns

liber

u W +

-

f

y

Page 9: Control Predictiv

38

Fereastra de configurare a modelului de proces pentru modelul matematic sub forma

ecuaţiilor de stare ale procesului Ball on Beam este prezentată în Fig.3.7.

Structura implementată în Simulink este prezentată în Fig.3.8. unde se pot vedea

blocul BILA_MODEL ce reprezintă modelul procesului importat de controlerul MPC. Blocul

EC_bila_PROCES reprezintă tot ecuaţiile procesului Ball on Beam, iar în cadrul structurii

reprezintă procesul controlat. Subsistemul ce implementează ecuaţiile liniarizate ale

procesului Ball on Beam este prezentat in Fig.3.9. Toţi parametrii necesari programului

Simulink sunt furnizaţi de un fişier script rulat în prelabil în Matlab.

Fig.3.7.Fereastra de

configurare controler MPC

Model

Fig.3.6.Crearea obiectului

MPC Controller

Page 10: Control Predictiv

39

Evoluţia variabilei de ieşire l - poziţia bilei pe tijă (variabila de stare 4x ) în funcţie de

parametrii controlerului predictiv este prezentată grafic în continuare. Simularea a fost facută

pentru urmatorii parametrii de acordare a controlerului MPC, proveniţi din criteriul de

optimizare

uN

Nj

N

Nju jtujjtwtjtyjNNNJ

1

2

1

22

21 )1()()()|(ˆ)(),,(

Fig.3.9.Implementarea ecuaţiilor bilei in Simulink

Fig.3.8.Structura programului realizat în Simulink

Page 11: Control Predictiv

40

Testul nr.1.

-perioada de eşantionare 01.0eT secunde.

- 11 N

- 452 N

- 2UN

-ponderea erorii de urmărire 1

-ponderea comenzii 1.0

Concluzie: Sistemul obţinut este instabil.

Testul nr.2.

-perioada de eşantionare 01.0eT secunde.

- 11 N

- 502 N

- 2UN

-ponderea erorii de urmărire 1

-ponderea comenzii 1.0

Concluzie: Sistem stabil dar prezintă oscilaţii care se amortizează.

Fig.3.10.Răspunsul sistemului cu controler MPC - Test 1

Page 12: Control Predictiv

41

Testul nr.3.

-perioada de eşantionare 01.0eT secunde.

- 11 N

- 702 N

- 2UN

-ponderea erorii de urmărire 1

-ponderea comenzii 1.0

Concluzie: Sistemul este tot stabil si oscilabilitatea comenzii scade

Fig.3.11.Răspunsul sistemului cu controler MPC - Test 2

Page 13: Control Predictiv

42

Fig.3.12.Răspunsul sistemului cu controler MPC - Test 3