23
Universitatea VALAHIA din Targovişte Facultatea de Inginerie Electrică Specializarea Automatica si Informatica Aplicata PROIECT Compararea regulatorului FUZZY cu un regulator traditional PID Disciplina: Inteligenta artificiala 1

Regulator Fuzzy vs Regulator PID - Comparare

Embed Size (px)

Citation preview

Page 1: Regulator Fuzzy vs Regulator PID - Comparare

Universitatea VALAHIA din TargovişteFacultatea de Inginerie ElectricăSpecializarea Automatica si Informatica Aplicata

PROIECT Compararea regulatorului FUZZY

cu un regulator traditional PID

Disciplina:Inteligenta artificiala

Student

SpecializareaAutomatica si Informatica Aplicata

Anul IV

1

Page 2: Regulator Fuzzy vs Regulator PID - Comparare

2

Page 3: Regulator Fuzzy vs Regulator PID - Comparare

1. Cuprins

1. Tema proiectului.................................................................................3

2. Regulatorul FUZZY............................................................................4

3. Regulatorul PID..................................................................................7

4. Aplicatie

4.1 Reglarea nivelului de apa intrun bazin cu ajutorul

regulatorului PID..........................................................................8

4.2 reglarea nivelului de apa intrun bazin cu ajutorul

regulatorului FUZZY....................................................................10

4.3 Crearea regulatorului fuzzy....................................................11

5. Concluzii.............................................................................................16

6. Bibliografie.........................................................................................17

3

Page 4: Regulator Fuzzy vs Regulator PID - Comparare

1. Tema proiectului

•Se doreste compararea unui regulator clasic PID cu un regulator FUZZY cu ajutorul unei

aplicatii in Simulink care sa regleze automat nivelul de apa intr-un bazin la trepte de referinta

aleatoare

•Apa intra in bazin prin orificiul superior care este contolat de un robinet care da debitul de

intrare in bazin. La partea inferioara se gaseste un alt robinet care da debitul de iesire din bazin

•Nivelul H al apei in bazin se regleaza cu ajutorul celor doi robineti de admisie si de evacuare si

este dat de ecuatia diferentiala in functie de timp ca diferenta intre debitul de intrare si iesire din

bazin:

unde:

vol=volumul de apa in bazin;

A=aria sectiuni transversal a bazinului;

b=rata debitului de apa care intra in bazin;

a=rata debitului de apa care paraseste bazinul;

4

Page 5: Regulator Fuzzy vs Regulator PID - Comparare

Se doreste crearea unui model de bazin care sa stie nivelul actual in bazin si nivelul de referinta

si facand diferenta intre cele doua sa actioneze asupra modelului de robineti care sa poata

inchida/deschida cu un debit variabil

2 Regulatorul FUZZY

Spre deosebire de logica clasică, care lucrează cu două valori numerice exacte (0 pentru fals şi 1 pentru adevărat), logica fuzzy foloseşte o plajă continuă de valori logice cuprinse în intervalul 0-1, unde 0 indică falsitatea completă, iar 1 indică adevărul complet. Astfel, dacă în logica clasică un obiect poate aparţine (1) sau nu (0) unei mulţimi date, în logica fuzzy putem defini gradul de apartenenţă al obiectului la mulţime şi care poate lua valori între 0 şi 1.

Logica fuzzy oferă instrumentele necesare pentru reprezentarea în sistemele inteligente a unor concepte imprecise cum sunt „mare”, „mic”, „scump”, „ieftin” ş.a., concepte numite variabile lingvistice sau variabile fuzzy. Pentru reprezentarea acestora se folosesc seturile fuzzy, care captează din punct de vedere cantitativ interpretarea calitativă a termenilor.

Una dintre aplicaţiile cele mai importante în practică ale sistemelor cu logică fuzzy se referă la folosirea acestora ca şi sisteme de control a proceselor. Folosirea sistemelor cu logică fuzzy ca şi controllere se bucură de o bază teoretică solidă, existând la ora actuală multe aplicaţii comerciale care încorporează un sistem de control fuzzy.

Toolbox-ul Fuzzy Logic al mediului de simulare Matlab reprezintă mediul software de simulare a sistemelor cu logica fuzzy oferit de acest program extrem de popular în lumea ştiinţifică. Construirea unui sistem cu logică fuzzy în Matlab este simplă datorită interfeţei grafice prin care utilizatorul poate comunica cu mediul de simulare Matlab (componenta dedicată logicii fuzzy).

Această interfaţă permite construirea şi, în final, analiza grafică a sistemului cu logică fuzzy dorit, folosind cele 5 instrumente grafice:

1) Editorul sistemului cu logica fuzzy, numit FIS Editor (=Fuzzy Inference System Editor);

5

Page 6: Regulator Fuzzy vs Regulator PID - Comparare

2) Editorul funcţiilor de apartenenţa, adică, al mulţimilor fuzzy peste universurile discursurilor variabilelor de intrare şi de ieşire ale sistemului cu logică fuzzy, numit Membership Function Editor;

3) Editorul regulilor fuzzy, care vor forma baza de reguli a sistemului cu logica fuzzy, numit Rule Editor;

6

Page 7: Regulator Fuzzy vs Regulator PID - Comparare

4) Fereastra de vizualizare a regulilor, în care se poate observa gradul de activare al fiecărei reguli şi rezultatul (mulţimea fuzzy de ieşire) dat de fiecare regulă a bazei de reguli, pentru o anumită valoare tranşantă a intrării stabilite de către utilizator; aceasta fereastra apare sub numele Rule Viewer;

5) Fereastra de vizualizare a suprafetei iesire-intrare a sistemului cu logica fuzzy, care arata grafic dependenta iesirii transante a sistemului cu logica fuzzy de intrarile transante ale sistemului cu logica fuzzy, determinate de functionarea sistemului cu logica fuzzy; aceasta dependenta este cunoscuta în general sub numele de “suprafata de control a sistemului”, iar fereastra apare sub numele Surface Viewer.

7

Page 8: Regulator Fuzzy vs Regulator PID - Comparare

3. Regulatorul Proportional-Integrativ-Derivativ PID

Unde: Kp=constanta parti proportionale

Ki= constanta parti integrative

Kd= constanta parti derivative

•In practica se foloseste si sub forma de mai jos, reglajul celor trei componente integrativa derivativa si proportionala facandu-se dintr-un singur parametru K

•In figura de mai jos se observa efectul fiecarei parti:

8

Page 9: Regulator Fuzzy vs Regulator PID - Comparare

Functia de transfer:

Acestea sunt fractii avand ordinul numitorului mai mare decat cel al numaratorului

•Regulatorul PID este mai precis si mai riguros decat alte regulatoare daca se cunoaste aparatul matematic al sistemului reglat

•In Simulink se realizeaza cu usurinta datorita controlului PID in care trebuie sa introducem doar coeficienti Kp Ki Kd

4. Implementarea in Simulink a modelului

4.1 Reglarea nivelului de apa intrun bazin cu ajutorul regulatorului PID

Se construieste in Simulink urmatorul montaj in bucla inchisa:

9

Page 10: Regulator Fuzzy vs Regulator PID - Comparare

• Intrarea in sistem este constituita din blocul Random Number care genereaza numere

aleatoare la un interval de 20 ms sub forma unei unde patrate, apoi se adunata cu o constanta,

acestea constituind niveluri aleatoare de apa care se doresc a fi reglate

•Blocul PID este un subsistem oferit de simulink constituit dintr-un element derivativ, unul

integrativ si unul proportional

• BloculVALVE este un subsistem care simuleaza comportamentul robinetilor, acesta este

compus dintr-un integrator inmultit cu o valoare care da debitul maxim prin robineti

•Subsistemul TANK simuleaza comportamentul unui bazin cu o intrare(debitul de apa) si 3 iesiri

(debit de iesire din bazin,nivelul de apa actual)

10

Page 11: Regulator Fuzzy vs Regulator PID - Comparare

•Iesirea din sistem se multiplexeaza cu referinta intr-un vector si se afiseaza pe grafic:

4.2 Reglarea nivelului de apa intrun bazin cu ajutorul regulatorului

FUZZY

In acelasi montaj se inlocueste regulatorul PID cu un FLC(fuzzy logic controller), si pe reactie

un element derivativ

11

Page 12: Regulator Fuzzy vs Regulator PID - Comparare

In Simulink avem avantajul ca avem controlul fuzzy logic controller

In care trebuie sa introducem doar numele regulatorului creat in format *.fis

4.3 Crearea regulatorului fuzzy:

Pachetul Matlab pune la dispozitie un toolbox specializat numit fuzzy in care se poate proiecta

complet, cu usurinta, un regulator fuzzy

12

Page 13: Regulator Fuzzy vs Regulator PID - Comparare

•Din meniul File ->new fis se ccreaza un nou regulator. Aici putem alege daca este de tip

Mamdani sau Sugeno si il numim Bazin

•Din meniul Edit introducem numarul de intrari si iesiri dorite, in cazul nostru:

Intrari -nivel

- debit

Iesiri –robineti

•Pentru a edita functiile de apartenenta ale intrarilor/iesirilor Edit ->Membership Functions

Aici alegem tipul funciei(gaussiana, triunghiulara, trapezoidala etc. ) intervalul fiecarei functii si

numele acesteia

•Pentru a edita reguli Edit -> Rules...

Se doreste crearea unui model de bazin care sa stie nivelul actual in bazin si nivelul de referinta

si facand diferenta intre cele doua sa actioneze asupra modelului de robineti care sa poata

inchida/deschida cu un debit variabil

13

Page 14: Regulator Fuzzy vs Regulator PID - Comparare

Se pot stabili urmatoarele reguli:

1. If (nivel is bun) then (robineti is neschimbat)

2. If (nivel is scazut) then (robineti is desch.rapid)

3. If (nivel is inalt) then (robineti is inch.rapid)

Rulam programul cu acest regulator care se salveaza cu extensia *.fis apoi se introduce in directorul work din matlab pentru a putea fi apelat de catre controllerul de pe interfata

•Deoarece suprareglajul este mare si timpul de stabilizare mare raspunsul nu este cel asteptat, in acest caz mai adaugam doua reguli :

4. If (nivel is bun) and (debit is positiv) then (robineti is inch.incet)

5. If (nivel is bun) and (debit is negativ) then (robineti is desch.incet)

14

Page 15: Regulator Fuzzy vs Regulator PID - Comparare

Raspunsul sistemului:

15

Page 16: Regulator Fuzzy vs Regulator PID - Comparare

Raspunsul astfel obtinut este mai bun decat cel initial dar nu este foarte multumitor, suprareglajul si timpul de stabilizare sunt in continuare mari

Vizualizam suprafata de control din View ->Surface

Se observa ca suprafata este continua, uniforma si cu suficiente campuri

•Pentru a imbunatati performantele mai introducem inca patru functii si inca doua raguli |:

6. If (nivel is putin.scazut) and (debit is positiv) then (robineti is desch.m.rapid)

7. If (nivel is putin.ridicat) and (debit is negativ) then (robineti is inch.m.rapid)

Initial: dupa:

Inainte: Dupa:

16

Page 17: Regulator Fuzzy vs Regulator PID - Comparare

•Raspunsul sistemului:

Se observa ca suprafata nu este uniforma si liniara are salturi mari pe unele zone

17

Page 18: Regulator Fuzzy vs Regulator PID - Comparare

5.Concluzii

•Raspunsul sistemului cu regulator PID este bun:-timp de stabilizare ~ 9ms-suprareglaj < 20%

•Raspunsul sistemului cu regulator fuzzy din primul caz cand aveam trei reguli,o intrare(nivel) cu trei functii de apartenenta(inalt, bun, scazut) si o iesire, sistemul este insuficient definit iar raspunsul nu este cel dorit :

-timp de stabilizare mare-suprareglaj mare>

•In cazul al doilea avem doua intrari(nivel si debit) si cinci reguli, aici sistemul se comporta mai bine are un timp de raspuns si un suprareglaj mai mic insa nu sunt la fel de bune ca cele ale regulatorului PID

-timp de stabilizare ~ 20ms-suprareglaj > 20%

•In cazul trei cu sapte reguli, performantele sistemului nu cresc ci din contra scad,Prea multe reguli si o suprapunere a functiilor de apartenenta nu cresc performantele sistemului

•Orcat de mult am incerca sa proiectam un regulator fazzy performant acesta nu poate ajunge la performantele regulatorului PID

•Performantele sistemului cu regulator fuzzy nu sunt mai bune decat cu PID dar sunt in domeniul acceptabil deci sistemul poate functiona

•Regulatorul fuzzy este mai usor de proiectat deoarece lucreaza intr-o interfata grafica cu variabile lingvistice

18

Page 19: Regulator Fuzzy vs Regulator PID - Comparare

6. Bibliografie

1. Eugenia Minca, Utilizarea pachetelor soft Matlab Simulink Macarie

2. http://en.wikipedia.org/wiki/Fuzzy_Control_Language 2

3. Help Matlab

4. http://amotion.pub.ro/cercetare/laboratoare/ra/download/

RA_lab_12A.pdf 3

19