+ All Categories
Home > Documents > Proiect Fuzzy

Proiect Fuzzy

Date post: 02-Dec-2015
Category:
Upload: nicuralucaelena
View: 561 times
Download: 41 times
Share this document with a friend
Description:
Aplicatii ale sistemelor fuzzy
43
Sisteme fuzzy ~proiect~
Transcript
Page 1: Proiect Fuzzy

Sisteme fuzzy~proiect~

Page 2: Proiect Fuzzy

1

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

Cuprins

1. Generalitati ……………………………………………………………….3

1.1. Introducere in sisteme fuzzy ……………..…………………………………3

1.2. Scurt istoric …………………………………………………………………..3

1.3. Concepte de baza …………………………………………………………….4

2. Aplicatii ale sistemelor fuzzy ……………..…………………………...7

2.1. Antilock Braking System (ABS) ………………………………….………….7

2.1.1. Introducere ………………………………………………….……..…..7

2.1.2. Functionare …………………………………………………………….7

2.1.3. Viteza autovehiculului …………………………………………………9

2.1.4. Estimarea vitezei autovehiculului folosind logica fuzzy…………….9

2.1.5. Algoritmul fuzzy-ABS …………………………………………………11

2.2. Controller fuzzy intelligent pentru Airbag …………………………………..12

2.2.1. Introducere …………………………………………………………….12

2.2.2. Sisteme inteligente ……………………………………………………12

2.2.3. Functionare …………………………………………………………….13

2.3. Ghidare fuzzy pentru robot mobil autonom …………………………..........16

Algoritmul fuzzy ……………………………………………………….17

3. Sisteme fuzzy in reglarea automata. Regulatorul Mamdami ..…19

3.1. Generalitati …………………………………………………………………….19

3.1.1. Fuzzificarea ……………………………………………………………20

3.1.2. Blocul de decizie ……………………………………………………..20

3.1.3. Defuzzificarea …………………………………………………………20

3.2. Optimizarea procesului de fermentare intr-o berarie prin controlul

temperaturii …………………………………………………………………….20

2008

Page 3: Proiect Fuzzy

2

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

3.2.1. Procesul de fermentare ……………………………………………….20

3.2.2. Controlul temperaturii procesului de fermentare …………………..21

3.2.3. Implementarea unui controller logic fuzzy de reglare a

temperaturii ....................................................................................21

3.2.4. Fuzzificarea ……………………………………………………………22

3.2.5. Defuzzificarea ………………………………………………………….26

3.2.6. Implementare Simulink ……………………………………………….27

3.2.7. Rezultate experimentale ……………………………………………..28

3.2.8. Concluzii ……………………………………………………………….31

3.3. Concluzii generale… ………………………………………………………….31

Anexa ……………………………………………………………………… 33

Bibliografie ……………………………………………………………….. 34

2008

Page 4: Proiect Fuzzy

3

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

Capitolul I

Generalitati

1.1. Introducere in sisteme fuzzy

Sistemele fuzzy sunt o alternativa la metodele traditionale de tratare a apartenentei si a logicii, ce isi are originile in antica filozofie greaca si aplicatii inspre domeniul inteligentei artificiale. In ciuda originilor sale longevive, este realtiv un domeniu nou si de aceea este suficient spatiu pentru cercetare.

Logica fuzzy este o metodologie de rezolvare a problemelor prin controlul sistemului ce se aplica intr-un vast numar de aplicatii, de la micro-controllere mici, simple, pana la computere cu multi-canale, aflate in retele, sau statii de lucru bazate pe achizitie de date si control al sistemelor. Pot fi implementate hardware, software, sau o combinatie de ambele moduri. Logica fuzzy furnizeaza un mod simplu de a decide asupra unei concluzii clare pe baza neclaritatii, ambiguitatii, imprecizitatii, zgomotului, sau lipsei de informatiei de intrare. Abordarea de manipulare a problemelor prin logica fuzzy imita modul in care un individ ar lua o decizie, insa mult mai rapid.

1.2. Scurt istoric

Precizia matematicii isi datoreaza succesul in mare parte eforturilor lui Aristotel si filozofilor precedenti lui, in incercarile lor de a forma niste teorii logice, si mai apoi matematica. In una din legile elaborate de ei, se afirma ca fiecare propozitie poate sa fie adevarata sau falsa. Heraclitus a adus puternice obiectii, afirmand ca lucrurile pot fi simultan adevarate si neadevarate.

Platon a pus fundamentele a ceea ce a devenit mai apoi logica fuzzy, afirmand ca exista o a treia posibilitate (dincolo de fals si adevarat) unde aceste opozitii se amesteca.

Lukasiewicz a fost acela care a propus o alternativa logicii bi-valorice a lui Aristotel. La inceputul anilor 1900, el a descris o logica tri-valorica care sa insoteasca conceptele matematice. A treia valoare propusa de el poate fi interpretata cel mai bine prin termenul “posibil”, si i-a atribuit o valoare intre adevarat si fals. In cele din urma, el a propus o intreaga notatie si un intreg sistem axiomatic din care a sperat sa derive matematica moderna. Mai tarziu, el a incercat logica quadri-valorica, quint-valorica, apoi a declarat ca in principiu nu exista nimic care sa impiedice derivarea unei logici infinit-valorice. Lukasiewicz a afirmat ca logicile tri-valorice si infint-valorice sunt cele mai

2008

Page 5: Proiect Fuzzy

4

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

intrigatoare, dar in cele din urma s-a hotarat pentru logica quadri-valorica deoarece parea a fi cea mai simpla adaptabila logicii aristoteliene.

Knuth a propus o logica tri-valorica similara lui Lukasiewicz, din care a speculat ca matematica va deveni chiar mai eleganta decat in traditionala logica bi-valorica. Intuitia lui, aparent ceea ce i-a scapat lui Lukasiewicz, a fost sa foloseasca gama intreaga [-1, 0, +1] in loc de [0, 1, 2]. In cele din urma, aceasta alternativa a esuat a fi acceptata si a fost trecuta in obscuritate.

Abia recent logica infinit-valorica a fost redescoperita. In 1965 Lotfi A. Zadeh a publicat inceputurile studiilor sale despre “Multimi fuzzy” care descriau matematica teoriei multimilor fuzzy, iar prin extensie, logica fuzzy. Aceasta teorie propunea ca functia de apartenenta (sau valorile adevarat si fals) sa opereze in gama de numere reale [0.0, 1.0]. Noi operatii de calcul a logicii au fost propuse si demonstrate a fi in principiu o generalizare a logicii clasice.

1.3. Concepte de baza

Logica fuzzy se bazeaza pe o regula simpla - IF X AND Y THEN Z (DACA X SI Y ATUNCI Z) – in rezolvarea problemelor de control, in locul incercarii de modelare matematica a unui sistem. Modelul logicii fuzzy se bazeaza empiric pe experienta unui operator decat pe intelegerea tehnica a sistemului. De exemplu, in schimbul controlului temperaturii precum “SP=260C”, “T<540C”, sau “210C<TEMP<220C”, sunt folositi termeni precum “IF (procesul este prea rece) AND (procesul se raceste) THEN (incalzeste procesul)” sau “IF (procesul este prea cald) AND (procesul se incalzeste rapid) THEN (raceste procesul rapid)”. Acesti termeni sunt imprecisi si inca foarte descriptivi a ceea ce trebuie sa se intample. Asemanator cu ceea ce un individ ar face in timpul dusului daca apa ar fi prea rece (ar face temperatura apei confortabila rapid si cu putin efort), logica fuzzy incerca acelasi lucru: imitarea acestui comportament, insa cu o variatie mult mai mare.

Logica fuzzy necesita cativa parametrii numerici pentru a opera in sensul a ceea ce se considera “eroare semnificativa” si “variatia erorii”, insa valorile exacte ale acestor numere nu sunt critice decat daca este necesara o buna performanta. Spre exemplu, un simplu sistem de control al temperaturii ar putea sa foloseasca un singur senzor de temperatura cu reactie inapoi a carui date sunt extrase din semnalul de comanda pentru calculul erorii si a timpului diferential pentru variatia erorii. Eroarea poate avea unitati in grade C, iar o mica eroare poate fi considerata 2C in timp ce una mare poate fi 5C. Variatia erorii poate avea unitati in grade/min cu o valoare mica de 5C/min si una mare de 15C/min. Aceste valori nu trebuie sa fie simetrice si pot fi usor modificate cand sistemul functioneaza in scopul optimizarii performantei.

Notiunea centrala sistemelor fuzzy este aceea ca valori de adevar (in logica fuzzy) sau valori de apartenenta (in multimi fuzzy) sunt indicate printr-o valoare in gama [0.0, 0.1], cu 0.0 reprezentand fals absolut si 1.0 indicand adevar absolut. De exemplu, daca luam afirmatia:

“Maria este batrana.”Daca varsta Mariei este 75 de ani, putem atasa afirmatiei o valoare de adevar

0.80. Afirmatia poate fi tradusa in terminologia multimilor dupa cum urmeaza:

2008

Page 6: Proiect Fuzzy

5

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

“Maria apartine categoriei oamenilor batrani.”Aceasta afirmatie poate fi simbolic redata cu multimi fuzzy astfel:

mBATRAN(Maria)=0.80unde m este functia de apartenenta, operand in cazul acesta asupra multimii

fuzzy de oameni batrani, care returneaza o valoare intre 0.0 si 1.0.In acest punct este important a se face distinctie intre sisteme fuzzy si

probabilitati. Ambele opereaza in aceeasi gama numerica si la prima vedere ambele au valori similare: 0.0 reprezentand fals (sau neapartenenta) si 1.0 reprezentand adevarat (sau apartenenta). In orice caz, exista o distinctie de facut intre cele doua afirmatii: formularea probabilistica afirma “Exista 80% sanse ca Maria sa fie batrana”, in timp ce terminologiei fuzzy ii corespunde formularea “Gradul de apartenenta al Mariei in multimea oamenilor batrani este de 0.80”. Diferenta semantica este importanta: prima abordare presupune ca Maria este sau nu este batrana, cu 80% sanse ca ea sa apartina unei multimi. In contrast, terminologia fuzzy presupune ca Maria este “mai mult sau mai putin” batrana, corespunzator valorii 0.80.

Exista cativa pasi de baza ce trebuie urmati in logica fuzzy:1) Definirea obiectivelor de control si criteriilor: Ce se doreste a fi controlat? Ce este

necesar de implementat pentru controlul sistemului? Ce fel de raspuns este necesar? Care sunt modurile posibile (probabile) de esuare ale sistemului?

2) Determinarea relatiilor de intrare si iesire si alegerea unui numar minim de variabile de intrare pentru sistemul fuzzy (tipic eroarea si variatia erorii).

3) Folosind structura bazata pe reguli a logicii fuzzy, se imparte problema controlului intr-o serie de reguli IF X AND Y THEN Z care sa defineasca raspunsul dorit la iesirea sistemului pentru conditii date la intrare. Numarul si complexitatea regulilor depinde de numarul parametrilor de intrare care trebuie procesati si de numarul variabilelor fuzzy asociate fiecarui parametru. Daca este posibil, se folosesc cel putin o variabila si timpul sau derivativ. Desi este posibil sa se foloseasca doar una singura, eroarea instantanee fara a i se stii variatia erorii.

4) Crearea functiilor fuzzy de apartenenta care definesc valorile termenilor de intrare/iesire folositi la reguli.

5) Crearea rutinelor de preprocesare si postprocesare necesare logicii fuzzy in implementare software, sau programarea regulilor in motoarele cu logica fuzzy pentru implementare hardware.

6) Testarea sistemului, evaluarea rezultatelor, ajustarea regulilor si functiilor de apartenenta, apoi retestarea pana cand sunt obtinute rezultate satisfacatoare.Logica fuzzy nu necesita intrari precise, este intrinsec robusta, si poate procesa

orice numar rezonabil de intrari, insa complexitatea sistemului creste semnificativ cu numarul intrarilor si iesirilor. Procesoarele distributive ar fi probabil mai usor de implementat. Regulile bazate pe limbajul simplu de genul IF X AND Y THEN Z sunt folosite pentru descrierea raspunsului dorit al sistemului in termeni de variabile lingvistice, mai degraba decat prin formule matematice. Numarul acestora este dependent de numarul intrarilor, iesirilor si de scopurile proiectantului in controlul raspunsului.

2008

Page 7: Proiect Fuzzy

6

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

2008

Page 8: Proiect Fuzzy

7

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

Capitolul II

Aplicatii ale sistemelor fuzzy

Domenii in care logica fuzzy a avut succes sunt adeseori domenii concrete. Prima aplicatie comerciala majora a fost in controlul cuptorului de ardere pentru cimentare.

Alte aplicatii care au avut beneficii din utilizarea sistemelor fuzzy sunt controllerele fuzzy pentru operarea trenurilor, sistemele de navigare pentru masini automate, controllerele pentru nivelul apei in laboratoare, controllerele pentru roboti cu vedere artificiala, controllerele grafice pentru automatele de schite ale politiei, si multe altele.

Sunt mentionate aici cateva din aceste aplicatii.

2.1. Antilock Braking System (ABS)

2.1.1. IntroducereProbabil ceva la care nimeni nu se gandeste atunci cand apasa pe pedala de

frana. Scopul unui ABS este de a monitoriza sistemul de franare al autovehicului si de a

elibera franele chiar inainte de blocarea rotilor. Un computer decide cand este cel mai bun moment pentru aceasta. Doi factori principali in determinarea acestui moment sunt viteza autovehiculului cand franarea se aplica si cat de repede franele sunt slabite. De obicei, se doreste ca sistemul ABS sa functioneze cu adevarat atunci cand viteza autovehiculului este mare si se apasa rapid frana. Aici exista posibilitatea de eroare, si de aceea ABS-ul trebuie sa lucreze suficient de destept ca sa nu permita niciodata erorii sa depaseasca pragul peste care rotile s-ar bloca. Cu alte cuvinte, nu permite apartenentei in multime sa devina prea slaba.

2.1.2. FunctionareCand se apasa pedala de frana, se genereaza presiune hidraulica in cilindrul

principal, ce se transmite actuatoarelor – cilindrii rotilor si pistoanele – prin liniile de franare, si astfel se aplica franarea.

Operatia de franare depinde de integritatea sistemului hidraulic, cilindrul principal trebuie sa fie capabil sa genereze o presiune de cateva sute de kilograme pe centimetru patrat, iar restul sistemului trebuie sa pastreze presiunea fara scurgeri.

2008

Page 9: Proiect Fuzzy

8

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

Majoritatea sistemelor automotive utilizate astazi au discuri de franare frontale si frane cu tambur la rotile posterioare, insa si sistemle cu 4 discuri de franare sunt intalnite.

Scopul sistemului ABS este de a minimiza distanta de franare in timp ce directionarea autovehiculului ramane posibila chiar si atunci cand are loc o franare puternica. Pentru intelegerea mai amanuntita a efectului fizic ce duce la blocarea rotilor in timpul franarii se considera figura 2.1. Coeficientul de frecare este determinat ca functie de alunecarea rotii (figura 2.2).

Fig. 2.1 – Caracteristicile frecarii

Fig. 2.2 – Modelul rotii

2008

µmax

µalunecare

Coeficientul de frecare

0 smax Alunecarea rotii

ω

FLFz

v

R

Page 10: Proiect Fuzzy

9

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

Calculand alunecarea rotii , forta longitudinala a rotii va fi

La inceputul unei franari necontrolate complete, punctul de operare este la a=0,

apoi creste abrupt si ajunge varful la . Dupa aceea roata se blocheaza in

cateva milisecunde datorita coeficientului de frecare descrescator caracteristic, care se comporta ca o linie de reactie pozitiva. In acest moment forta rotii ramane constanta la un nivel scazut al frecarii de alunecare. Directionarea autovehiculului nu mai este posibila.

De aceea este necesar un sistem de control rapid si exact pentru a mentine alunecarea rotilor in regiunea hasurata din figura 2.1

2.1.3. Viteza autovehicululuiUn moment crucial in dezvoltarea sistemelor de control a alunecarii rotilor este

determinarea vitezei autovehiculului. Exista mai multe metode posibile: pana acum, s-a masurat viteza cu ajutorul senzorilor inductivi pentru viteza unghiulara a rotii. In special in cazul alunecarii franelor, viteza masurata nu corespunde cu cea reala. Pentru a obtine rezultate cat mai exacte, senzori optici sunt folositi printr-o metoda de corelare. Acesti senzori sunt scumpi si de aceea nu sunt prea intalniti in sitemele ABS.

2.1.4. Estimarea vitezei autovehiculului folosind logica fuzzyO metoda de calcul a vitezei autovehiculului este folosind multi-senzori cu

fuziune a datelor, adica mai multi senzori masoara viteza independent unul de celalalt, iar estimatorul decide care senzor este mai exact. Figura 2.3 reprezinta structura

schematica a estimatorului fuzzy. Sunt folosite semnalele celor 4 senzori ai rotilor ( ),

precum si semnalul senzorului de acceleratie ( ). Indicii <s,f>, <d,f>,<s,s>,<d,s>

reprezinta pozitia rotii: stanga-fata, dreapta-fata, stanga-spate si respectiv dreapta-spate.

2008

Page 11: Proiect Fuzzy

10

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

Fig. 2.3 – Estimarea vitezei autovehiculului

In blocul de pre-procesare a datelor semnalele masurate sunt filtrate printr-un

filtru trece-jos si sunt calculate intrarile pentru estimatorul fuzzy: alunecarile rotilor si

valoarea acceleratiei . Un timp de intarziere T este exprimat prin termenul 1/z.

Estimatorul fuzzy este divizat in 2 parti: prima (Logic 1) determina care senzor furnizeaza informatia cea mai corecta, si a doua (Logic 2) decide asupra sigurantei integralitatii senzorului de acceleratie, precum in figura 2.4.

Fig. 2.4 – Structura estimatorului fuzzy

Incepand cu blocul “Logic 1” si “Logic 2” intrarile sunt fuzzificate. Figura 2.5 arata functiile de apartenenta pentru intrari (Ivar) cu 4 valori lingvistice (negativ, zero, pozitiv si foarte pozitiv).

2008

Pre-procesare de date

Estimator fuzzy

Logic 1 Logic 2

Page 12: Proiect Fuzzy

11

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

Fig. 2.5 – Domeniul de variatie al intrarilor

Regulile in acest caz se formeaza astfel:

o pozitiv si “foarte pozitiv”: franare, toate rotile au pondere mica

datorita aparitiei alunecarii

o zero: daca rotile se invart constant, acceleratia are pondere

mica in ajustarea senzorilor

o negativ: accelerare, informatia principala este preluata de la

rotile de tractiune.

Figura 2.6 arata domeniul de variatie al iesirilor (Ovar), unde sunt suficiente 3 variabile lingvistice.

Fig. 2.6 – Domeniul de variatie al iesirilor

2008

0 2 4 6 8 10-2-4-6-8-10

0.2

0.4

0.6

0.8

1 Negativ PozitivZero Foarte Pozitiv

, [%]

Valori Ivar

0.2

0.4

0.6

0.8

1

030 40 50 60 70201001020

Valori Ovar

Mic Mediu Mare

,

Page 13: Proiect Fuzzy

12

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

2.1.5. Algoritmul fuzzy-ABSControlerul fuzzy foloseste 2 valori de intrare:

alunecarea rotii:

si acceleratia rotii:

unde viteza rotii si viteza autovehiculului sunt date de estimatorul fuzzy.

Variabilele de intrare sunt transformate in variabile fuzzy alunecare si de catre procesul de fuzzificare. Ambele variabile folosesc 7 valori lingvistice:

alunecare = {zero, foarte mica, prea mica, mai mica decat optima, optima, prea mare, foarte mare}

= {negativa mare, negativa medie, negativa mica, negativa putina,

zero, pozitiva mica, pozitiva mare}Folosind aceste doua variabile fuzzy de intrare, se poate determina valoarea

fuzzy de iesire, presiunea:presiune={pozitiv rapid, pozitiv incet, zero, negativ incet, negativ rapid}Presiunea optima de franare rezulta din defuzzificarea variabilei lingvistice

presiune. Un controller cu 3 nivele determina pozitia valvelor magnetice astfel incat presiunea poate fi crescuta sau scazuta, cu diferite trepte de viteza, sau mentinuta constanta.

2008

Page 14: Proiect Fuzzy

13

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

Fig. 2.7 – Structura controllerului fuzzy ABSImplementarea sistemelor fuzzy-ABS au condus la excelente rezultate in franare,

directionarea ramanand posibila, iar distanta de oprire reducandu-se considerabil.

2.2. Controller fuzzy inteligent pentru Airbag

2.2.1. IntroducereAirbag-urile sunt dispozitive de siguranta de valoare demonstrata care

suplimenteaza protectia oferita de centura de siguranta in autovehicul. Insa airbag-urile cauzeaza cateodata leziuni atunci cand sunt desfasurate in coliziuni la viteze mici si in incidente in care nu se umfla desi ar trebui sa fie umflate. Actualmente, toate masinile noi ce intra pe piata autovehiculelor trebuie prevazute cu airbag-uri, ca norma standard, deoarece salveaza vieti omenesti.

2.2.2. Sisteme inteligenteSistemele inteligente pentru controlul airbag-urilor din ziua de astazi nu contin

doar airbag-ul, ci o intreaga redefinire a tuturor componentelor din sistem, precum: Senzori de greutate: sunt de fapt niste senzori de presiune din suprafata

tapiteriei scaunului ce calculeaza greutatea ocupantului. Un microprocesor evalueaza iesirile senzorului conform intregii suprafete, variatia greutatii, media pe termen lung, pentru a diferentia intre ocupanti de talie mare si mica si a permite airbag-ului desfasurarea in cazul ocupatilor mari, insa nu mici. Deciziile

2008

00

1

25

zero pmic mofmic oppmare

fmare

Valori Ivar

Alunecarea rotii

Valori Ivar

-1000

1

100

nmare nmicnpnme

d zero pmic pmare

Acceleratia rotii

F

0

1

0 1Presiunea

pr zeropi ni nr

Page 15: Proiect Fuzzy

14

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

de permisie si inhibare a airbag-ului sunt filtrate pentru a evita raspunsuri bruste la schimbarea presiunii tranziente in scaun. Cand un ocupant relativ mare este detectat pozitiv, o decizie de permisie este mentinuta atata timp cat forta totala asupra senzorilor din scaun depaseste un anumit prag.

Detectia in infrarosu a ocupantilor: este un sistem ce foloseste raze infrarosii (precum telecomanda televizorului) pentru a detecta distanta dintre pasager si airbag si astfel se ia decizia asupra fortei de desfasurare corespunzatoare.

Senzori capacitivi-reflectivi: sunt situati in spatarele scaunelor si in bordul masinii pentru a identifica distanta pasagerilor de bord. Acesti senzori au abilitatea de a diferentia intre un ocupant uman si obiecte inanimate, precum o punga de cumparaturi. Acest mecanism este foarte economic din punct de vedere financiar atunci cand soferul este unicul ocupant al autovehiculului, deoarece impiedica declansarea inutila a airbag-ului pentru pasager.

Unitate electronica de control centralizata: noile unitati de control sunt capabile sa foloseasca toate intrarile din tehnologia senzoriala curenta si cu ajutorul software-ului corespunzator pot desfasura airbag-ul atat cat este necesar.

2.2.3. Functionare Un set de 4 date, provenind de la 4 senzori ce determina greutatea si inaltimea

pasagerului, viteza si respectiv acceleratia autovehiculului, sunt variabile de intrarare ale unitatii de control fuzzy, iar 3 variabile de iesire (“deschide airbag pentru copii”, “deschide airbag pentru adulti”, “nu deschide airbag”) sunt folosite ca iesiri de control pentru comanda airbag-ului, precum in figura 2.8.

Fig. 2.8 – O unitate de control fuzzy pentru controlul airbag-ului

In acest caz exista 4 variabile de intrare: Greutatea pasagerului, variind in gama [0..225kg] Inaltimea pasagerului, variind in gama [0..3m] Viteza autovehiculului, variind intre [0..160km/h] Acceleratia autovehiculului, variind intre [0..100km/h²]

si 3 variabile de iesire pentru controlul airbag-ului: “deschide airbag pentru copii”

2008

Unitate de

control fuzzy

Greutate

Inaltime

Viteza

Acceleratie

Deschide airbag pentru copii

Deschide airbag pentru adulti

Nu deschide airbag

Page 16: Proiect Fuzzy

15

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

“deschide airbag pentru adulti” “nu deschide airbag”

Definirea domeniilor de variatie pentru cele 4 variabile de intrare este conform figurilor 2.9, 2.10, 2.11 si 2.12:

Fig. 2.9 – Domeniul de variatie pentru greutatea pasagerului [kg]

Fig. 2.10 – Domeniul de variatie pentru inaltimea pasagerului [m]

Fig. 2.11 – Domeniul de variatie pentru viteza autovehiculului [km/h]

2008

Page 17: Proiect Fuzzy

16

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

Fig. 2.12 – Domeniul de variatie pentru acceleratia autovehiculului [km/h²]

Domeniul de variatie al iesirii controlerului pentru comanda airbag-ului este conform figurii 2.13:

Fig. 2.13 – Domeniul de variatie pentru controlul airbag-ului

Definirea algoritmului se poate face pe baza unor reguli precum:DACA Greutatea este Copil SI Inaltimea este Copil SI Viteza este Medie SI Acceleratia este Mare ATUNCI “Deschide airbag pentru copii”sauDACA Greutatea este Adult SI Inaltimea este Adult SI Viteza este Mare SI Acceleratia este Medie-Mare ATUNCI “Deschide airbag pentru adulti”

2.3. Ghidare fuzzy pentru robot mobil autonom

2008

Page 18: Proiect Fuzzy

17

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

Scopul robotilor mobili autonomi este de a construi sisteme fizice care sa se miste cu scopuri bine definite si fara interventie umana. Posibile domenii in care ei pot fi folositi sunt birourile companiilor mari (livrarea corespondentei), spitale, spalarea podelelor in fabrici etc. Contrar progreselor facute in ultimii ani in acest domeniu, exista inca o serie de probleme, majoritatea lor provenind din lumea reala. In primul rand, cunostintele apriorice despre mediu sunt in general incomplete, nesigure si aproximative. De exemplu, hartile omit unele detalii, iar relatiile spatiale intre obiecte se pot schimba in decursul unui timp mai indelungat. In al doilea rand, informatia perceptibila este de obicei nesigura, deoarece pot exista conditii de mediu si de observare inproprii (ceata, slaba iluminare), si astfel se poate ajunge la perturbatii si date imprecise. In al treilea rand, lumea reala ofera o dinamica impredictibila si complexa: obiectele se pot misca, alti factori pot influenta mediul, iar caracteristici relativ stabile se pot schimba cu timpul. In cele din urma, efectele actiunii controlate nu sunt complet sigure, de exemplu rotile unui robot pot aluneca, ceea ce duce la o acumulare de erori odometrice.

Problema navigatiei robotului poate fi impartita in alte doua subcategorii: Atingerea obiectivului final: este importanta topologia spatiului pentru gasirea

cailor bune inspre destinatie. Evitarea obstacolelor: problema ce poate fi rezolvata numai local, iar in cazul

unui mediu impredictibil nu poate fi rezolvata in advans deoarece robotul trebuie sa simta obstacolele inainte de a i se cere sa le evite.O posibilitate de implementare bazata pe control logic fuzzy pentru evitarea

obstacolelor este folosind 3 intrari principale:

1. Distanta dintre robot si cel mai apropiat obstacol ,

2. Unghiul dintre robot si cel mai apropiat obstacol ,

3. Unghiul dintre directia robotului si linia dreapta ce uneste pozitia curenta a

robotului si pozitia finala dorita = - , unde este diferenta unghiulara

dintre linia dreapta ce uneste pozitia curenta si pozitia finala dorita, iar este

directia curenta a robotului, conform figurii 2.14.

2008

Page 19: Proiect Fuzzy

18

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

Fig. 2.14 – Date si coordonate in pozitionarea robotului mobil

Variabila de iesire este comanda motorului . Toate aceste variabile pot fi

pozitive sau negative, oferind informatii atat asupra magnitudinii cat si asupra directiei, stanga sau dreapta, a robotului.

Scopul controlerullui fuzzy este de a furniza o functie de control care sa comande motorul intr-un mod cat mai convenabil pe baza intrarilor. Cu alte cuvinte, functia de comanda trebuie sa conduca robotul inspre pozitionarea finala dorita, dar si sa forteze robotul sa se miste inapoi atunci cand se apropie de un obstacol.

Algoritmul fuzzyControllerul fuzzy se poate baza pe principiile de control dezvoltate de Sugeno.

Fiecare variabila de intrare este partitionata in multimi fuzzy, precum in figura 2.14 (a, b, c). Iesirea finala a unitatii de control este data de o medie ponderata a tuturor regulilor, precum in figura 2.14 (d)

2008

Page 20: Proiect Fuzzy

19

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

Fig. 2.14 – Intrarile (a, b, c) si iesirea (d) unitatii de control

Diferenta dintre aceasta abordare si cea clasica consta in faptul ca in acest caz, in care s-a folosit logica fuzzy pentru comanda robotului, acesta din urma ia in considerare in navigatia sa doar cel mai apropiat obstacol pentru a decide urmatoarea miscare. Acest lucru duce la reducerea senzorilor si a calculelor necesare. Insa reducerea informatiilor despre mediul in care se afla robotul poate duce la blocarea lui si pot exista rute la tinta dorita fara ca robotul sa le recunoasca.

2008

Page 21: Proiect Fuzzy

20

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

Capitolul III

Sisteme fuzzy in reglarea automata. Regulatorul Mamdani

3.1. Generalitati

Printr-un set de reguli stabilite de o persoana cu experienta se modeleaza comportarea procesului reglat, printr-o modelare vaga.

Fig. 3.1 – Schema bloc a sistemului de reglare

unde: F = bloc de defuzzificareBR = baza de reguliD = bloc de decizieDF = bloc de defuzzificarePROC = procesul condusRF = regulator fuzzy

3.1.1. Fuzzificarea Fuzzificarea determina pe baza unor valori nevagi ale erorii e sau ale variatiei

erorii e' , termenii lingvistici ai variabilei “eroare” respectiv “variatia erorii” (e sau e') precum si gradul de apartenenta la acesti termeni pentru valoarea curenta a erorii sau variatiei erorii.

2008

Page 22: Proiect Fuzzy

21

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

e = u − urefe’= Δe/Δt

In cadrul acestui bloc se stabilesc domeniile in care se modifica e si e'. Acest domeniu se acopera cu functii de apartenenta ce corespund termenilor variabilei lingvistice eroare. Acelasi lucru se face si pentru variatia erorii. In mod similar se procedeaza in cazul domeniului variabilei de comanda q care reprezinta marimea de iesire a regulatorului. Termenii variabilelor e si e' se aleg aceiasi.

3.1.2. Blocul de decizie Blocul de decizie reprezinta un program care aplica regula combinationala de

inferenta vaga. Deci el va genera la un moment dat o multime vaga care corespunde

reuniunii tuturor efectelor produse de regulile amorsate in acel moment (el furnizand un maxim).

3.1.3. Deffuzificare

Prin defuzzificare se transforma marimea fuzzy intr-o marime de comanda

nevaga, bine determinata, cu care se comanda procesul in sensul anularii erorii. Pentru defuzzyficare se folosesc mai multe metode (metoda centrului de greutate, metoda centrului sumei, metoda Singelton etc.). Criteriile pentru alegerea unei metode depind de parametrii impusi reglarii.

3.2. Optimizarea procesului de fermentare intr-o berarie prin controlul temperaturii

Procesul de fermentare este controlat prin reglarea temperaturii si a oxigenului, insa temperatura joaca rolul principal in optimizarea procesului de fermentare. Se presupune ca temperatura de fermentatie optima este 16℃, astfel incat controllerul logic fuzzy a fost proiectat sa mentina aceasta temperatura, insa el poate fi proiectat astfel incat sa mentina orice alta temperatura optima de fermentare.

3.2.1. Procesul de fermentareFermentarea este un pas important in procesul de producere a berii. Este supus

alterarii datorita varietatii organismelor vii din drojdie si datorita complexelor materiale crude de natura bilogica. Varietatea se poate manifesta prin viteza de fermentare sau poate cauza diverse arome in bere. Deci, e nevoie de unelte atat analitice cat si evaluatoare care sa ajute in procesul de monitorizare si pastrarea lui in starea dorita.

Principalul proces de fermentare incepe cu aerisirea recipientului si adaugarea drojdiei de bere. Drojdia incepe sa consume nutrientii din borhot, pentru a rezista si a creste. In acelasi timp, ea produce alcool si esteri. Continutul zaharului din borhot este prima masuratoare ce se efectueaza, dupa care urmeaza cursul fermentarii; principala fermentatie se considera ca se termina atunci cand continutul de zahar scade sub un nivel de concentratie predefinit, astfel incat doar o mica cantitate din zaharul fermentat

2008

Page 23: Proiect Fuzzy

22

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

ramane. Zaharul din borhot este exprimat prin gravitatia specifica a borhotului, care devine mai usor ca zaharul si este transformata in alcool si alte compuse.

Fermenatia este controlata prin reglarea temperaturii, a continutului de oxigen si a variatiei de amestecare, de exemplu, cantitatea de drojdie de bere pusa in rezervorul de fermentare. Temperatura are un efect important atat asupra vitezei de fermentare cat si asupra gustului berii. Cresterea drojdiei poate fi controlata prin continutul oxigenului. Variatia de amestecare afecteaza viteza fermentarii, insa nu asa de mult precum temperatura. Exista si alti factori care influenteaza fermentarea, precum compozitia borhotului si conditia drojdiei de bere. Ideal, acesti factori trebuie sa fie constanti, asa incat predictabilitatea fermentatiei este mentinuta. Cu toate acestea, in practica nici unul dintre acesti factori nu este static. Variatia naturala a maltului induce variatii ale compozitiei borhotului, desi astfel de variatii pot fi diminuate prin re-calcularea retetelor.

3.2.2. Controlul temperaturii procesului de fermentarePrecum s-a mentionat anterior, reactia ce are loc in fermentor intre drojdie si

borhot este o reactie exotermica (se genereaza caldura). Deoarece fermentarea se doreste a avea loc la o temperatura specifica (de exemplu 16°C), echipamentul de control este realizat astfel incat sa mentina constant temperatura la valoarea dorita.

Schema bloc pentru un controller fuzzy al temperaturii este prezentata in figura 3.2:

Fig. 3.2 – Schema bloc a unui sistem cu reactie negativa cu control logic fuzzy

3.2.3. Implementarea unui cotroller logic fuzzy de reglare a temperaturiiCu ajutorul unui controller logic fuzzy se doreste sa se controleze valvele de

racire intr-un proces de fermentare a berii. Inchiderea si deschiderea valvei este direct controlata de un servomotor conectat la valve.

Se doreste ca temperatura optima de fermentare (To) sa fie de 16°C si aceasta este valoarea ce trebuie mentinuta tot timpul, pe cat posibil. In anumite perioade ale zilei, temperatura (Tx) poate oscila in jurul valorii optime din diferite motive (reactii chimice etc).

2008

fuzzificareEvaluare

reguli defuzzificare

-1

X(t) y(t)e(t)+

Page 24: Proiect Fuzzy

23

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

Scopul proiectarii este de a varia tensiunea de la iesirea controllerului la servomotor pentru ca motorul sa poata controla valva, deci sa poata regla racirea fermentorului.

Fig. 3.3 – Diagrama controlului temperaturii in procesul de fermentare

3.2.4. FuzzificarePAS 1:Se definesc 3 variabile lingvistice pentru sistemul fuzzy:

Eroarea de reglare a temperaturii – temperr (°C), ca diferenta dintre temperatura masurata de termocuplu (Tx) si valoarea optima (To): temperr=Tx-To, unde To=16°C

Temperatura de schimbare – vartemp (°C/S), ca variatia temperaturii, ce arata tendinta schimbarii temperaturii.

Tensiunea (V) ca iesire a controllerului, in gama 0-10V; 0V inseamna ca motorul nu opereaza si valva este complet inchisa, iar 10V inseamna ca servomotorul este complet operational si valva este complet deschisa.

PAS 2:Se stabileste domeniul de variatie al fiecarei variabile lingvistice:

Eroarea de reglare a temperaturii – temperr (°C) are 3 functii de apartenenta:o Negativ -> Tx < Too Zero -> Tx = To

2008

Page 25: Proiect Fuzzy

24

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

o Pozitiv -> Tx > To Variatia temperaturii – vartemp (°C/S) are de asemenea 3 functii de apartenenta:

o Negativ -> temperatura scadeo Zero -> temperatura e constantao Pozitiv -> temperatura creste

Tensiunea de iesire (V) are 3 functii de apartenenta:o Zeroo Mediuo Mare

PAS 3: Aceste domenii de variatie pentru fiecare valoare sunt definite astfel, cu ajutorul

Editorului Fis din Matlab:

Fig. 3.4 – Domeniul de variatie al erorii de reglare a temperaturii

2008

Page 26: Proiect Fuzzy

25

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

Fig. 3.5 – Domeniul de variatie al variatiei temperaturii

Fig. 3.6 – Domeniul de variatie al tensiunii de comanda

2008

Page 27: Proiect Fuzzy

26

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

PAS 4:se definesc urmatoarele reguli, pe baza comportamentului si cunostintelor procesului de fermentare. In functie de aceste reguli, controllerul comanda motorul cu o anumita tensiune intre 0 si 10V. Motorul deschide valva la un unghi corespunzator tensiunii ce ii este aplicata, si astfel se raceste reciepentul de bere atat cat este necesar.

Fig. 3.7 – Regulile de decizie a comenzii

2008

Page 28: Proiect Fuzzy

27

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

3.2.5. DefuzzificareS-a ales metoda centrului de greutate, deoarece produce iesiri ale controllerului

mai line. Performanta software-ului implementat se poate vizualiza cu ajutorul functiei 3D de transfer a sistemului, dupa cum se observa in figura 3.8:

Fig. 3.8 – Functia de transfer a sistemului

2008

Page 29: Proiect Fuzzy

28

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

3.2.6. Implemenare SimulinkSimularea sistemului a fost realizata folosind Simulink v.7:

Fig. 3.9 – Implementare Simulink a procesului

Se calculeaza eroarea de reglare in blocul “eroare de reglare”, si cu ajutorul multiplexorului este introdusa alaturi de variatia temperaturii in controllerul fuzzy, ca o singura intrare.

Controllerul comanda valva de racire prin aplicarea unei tensiuni functie de temperatura existenta in recipient si de variatia temperaturii.

Variatia temperaturii in recipient este simulata, deoarece nu exista o situatie reala. Reactia chimica a berii este simulata printr-o functie sinusoida, astfel incat temperatura sa creasca si sa descreasca in jurul valorii de 16°C. Bineinteles ca nu este situatia reala si normala in care fermentarea are loc, insa este o posibilitate de a vedea cum are loc reglarea. Altfel, temperatura ar fi doar crescanda si nu ar mai avea loc nici o reglare.

2008

Page 30: Proiect Fuzzy

29

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

Fig. 3.10 – Simulare Simulink a recipientului de fermentare

3.2.7. Rezultate experimentaleSe poate observa la iesirea recipientului de fermentare efectului reglarii (figura

3.11). Temperatura este mentinuta cat mai aproape de 16°C.

Fig. 3.11 – Reglarea temperaturii in recipientul de fermentare

2008

Page 31: Proiect Fuzzy

30

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

Pentru siguranta asupra reglari, se poate face comparatie in cazul cand aceasta nu exista (figura 3.12 ). In acest caz, temperatura urca pana peste 19°C (cazul actual), asa cum a fost definita in simularea reactiei chimica a berii.

Fig. 3.12 – Inreruperea reglarii de temperatura in recipientul de fermentare

Interesant de urmarit este si semnalul de comanda de la intrarea valvei (figura 3.13):

Fig. 3.13 – Semnalul de comanda al valvei de racire

2008

Page 32: Proiect Fuzzy

31

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

Se poate observa care regula a avut ponderea cea mai mare in luarea deciziei.De exemplu, daca exista o eroare de reglare temperr ≈ 3 si o variatie a

temperaturii vartemp ≈ 0.5, este activa regula 4, ceea ce corespunde unei tensiuni de comanda de 8.5V (figura 3.14).

Fig. 3.14 – Exemplul 1 de luare a deciziei

In cazul in care mai multe reguli sunt active, ca de exemplu pentru temperr ≈ 2.2 si vartemp ≈ 0.3, atunci are prioritate regula cu ponderea cea mai mare, indicata pe figura 3.15 prin cursorul rosu in cel de-al zecelea graf al iesirilor. In cazul de fata, este voba despre regula 1, cu tensiunea corespunzatoare, 4.26V.

2008

Page 33: Proiect Fuzzy

32

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

Fig. 3.15 – Exemplul 2 de luare a deciziei

3.2.8. ConcluziiS-a demonstrat controlul cu logica fuzzy ca fiind o metoda mai buna de control

decat cea conventionala cu ajutorul PID. Sistemul de control poate fi implementa cu usurinta, iar variatia erorii este redusa. Aceasta metoda ofera o performanta globala superioara.

Regulatoarele fuzzy au o robustete mai mare, sunt mai putin sensibile la perturbatii, la modificari ale parametrilor procesului si la neliniaritati. Ele se pot utiliza in cadrul traductoarelor cu sistem de reglare automata, convertoare A/D si D/A mai putin precise decat in cazul regulatoarelor clasice.

3.3. Conculzii generale

Sistemele fuzzy, incluzand logica fuzzy si teoria multimilor fuzzy, furnizeaza o bogata si importanta extensie la logica standard. Matematica generata pe baza acestor teorii este consistenta, iar logica fuzzy poate fi o generalizare a logicii clasice. Aplicatiile ce pot fi generate din, sau adaptate la, logica fuzzy sunt larg raspandite si dau oportunitatea de a modela conditii care sunt imprecis definite, in pofida preocuparilor logicienilor clasici. Multe siteme pot fi modelate, simulate, chiar si implementate fizic, cu ajutorul sistemelor fuzzy.

2008

Page 34: Proiect Fuzzy

33

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

ANEXA – Modul de rulare al programului

Versiunea software-ului folosit: MATLAB v.7.

Se deschide fisierul “controlul_temperaturii.fis” si se pot modifica domeniile de variatie intre noi valori de proiectare.

Se exporta in spatiul de lucru din editor.Se ruleaza simularea modelului “fermentarea_berii.mdl”

2008

Page 35: Proiect Fuzzy

34

Universitatea Politehnica TimisoaraFacultatea de Electronica si Telecomunicatii

Bibliografie:

1. C. D. Caleanu – “Sisteme fuzzy - curs”2. www.wikipedia.org3. Alte diverse surse internet

2008


Recommended