Sunteți pe pagina 1din 35

Sisteme fuzzy

~proiect~

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

Cuprins

1. Generalitati .3
1.1. 1.2. 1.3. Introducere in sisteme fuzzy ..3 Scurt istoric ..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

Universitatea Politehnica Timisoara Facultatea 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

Universitatea Politehnica Timisoara Facultatea 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 infinitvalorice. Lukasiewicz a afirmat ca logicile tri-valorice si infint-valorice sunt cele mai

2008

Universitatea Politehnica Timisoara Facultatea 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

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

Maria apartine categoriei oamenilor batrani. Aceasta afirmatie poate fi simbolic redata cu multimi fuzzy astfel: mBATRAN(Maria)=0.80 unde 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

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

2008

Universitatea Politehnica Timisoara Facultatea 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. Introducere Probabil 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. Functionare Cand 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

Universitatea Politehnica Timisoara Facultatea 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).

max aluneca
Coeficient ul de frecare
re

smax

Alunecarea rotii

Fig. 2.1 Caracteristicile frecarii

R
v

FL

Fz
Fig. 2.2 Modelul rotii

2008

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

10

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 autovehiculului Un 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 fuzzy O 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 dreaptaspate.

2008

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

11

Preprocesare de date

Estimato r fuzzy

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.

Logic 1

Logic 2

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

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

12

1 0.8 0.6 Valori Ivar 0. 4 0. 2 -10

Negati v

Zero Poziti v

Foarte Pozitiv

-8

-6

-4

0 2 , [%]

1 0

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.
1 0.8 Valor 0.6 i Ovar 0. 4 0. 2 0 20 1 0 0 1 0 20 3 ,0 4 0 50 60 70 Mic Mediu Mare

Fig. 2.6 Domeniul de variatie al iesirilor

2008

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

13

2.1.5. Algoritmul fuzzy-ABS Controlerul 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

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

14

pmar zer fmi pmi mo op fmar e 1 c o c e Valor i Ivar 1 2 Alunecarea 5 rotii nm np nmar nmi zer pmic pmar ed 1 c e o e Valor i Ivar 0 0 pr p i zer o ni n r

F
0 0 1

Presiunea

0 -100

Acceleratia rotii

100

Fig. 2.7 Structura controllerului fuzzy ABS Implementarea 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. Introducere Airbag-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 inteligente Sistemele 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

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

15

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.

Greutat e Inaltime Viteza Accelerati e

Unitate de control fuzzy

Deschide airbag pentru copii Deschide airbag pentru adulti Nu deschide airbag

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:

2008

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

16

deschide airbag pentru copii 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

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

17

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 sau DACA 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

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

18

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

, , este diferenta unghiulara este

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

robotului si pozitia finala dorita

, unde

dintre linia dreapta ce uneste pozitia curenta si pozitia finala dorita, iar directia curenta a robotului, conform figurii 2.14.

2008

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

19

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 fuzzy Controllerul 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

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

20

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

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

21

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 defuzzificare BR = baza de reguli D = bloc de decizie DF = bloc de defuzzificare PROC = procesul condus RF = 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

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

22

e = u uref e= 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 fermentare Fermentarea 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

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

23

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 recalcularea retetelor. 3.2.2. Controlul temperaturii procesului de fermentare Precum 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 16C), 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:

X(t) +

e(t)

fuzzificar e

Evalua re reguli

defuzzificar e

y(t)

-1

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 temperaturii Cu 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 16C 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

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

24

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. Fuzzificare PAS 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=16C 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 < To

2008

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

25

o Zero -> Tx = To o Pozitiv -> Tx > To Variatia temperaturii vartemp (C/S) are de asemenea 3 functii de apartenenta: o Negativ -> temperatura scade o Zero -> temperatura e constanta o Pozitiv -> temperatura creste Tensiunea de iesire (V) are 3 functii de apartenenta: o Zero o Mediu o 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

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

26

Fig. 3.5 Domeniul de variatie al variatiei temperaturii

Fig. 3.6 Domeniul de variatie al tensiunii de comanda

2008

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

27

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

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

28

3.2.5. Defuzzificare S-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

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

29

3.2.6. Implemenare Simulink Simularea 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 16C. 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

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

30

Fig. 3.10 Simulare Simulink a recipientului de fermentare 3.2.7. Rezultate experimentale Se poate observa la iesirea recipientului de fermentare efectului reglarii (figura 3.11). Temperatura este mentinuta cat mai aproape de 16C.

Fig. 3.11 Reglarea temperaturii in recipientul de fermentare

2008

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

31

Pentru siguranta asupra reglari, se poate face comparatie in cazul cand aceasta nu exista (figura 3.12 ). In acest caz, temperatura urca pana peste 19C (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

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

32

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

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

33

Fig. 3.15 Exemplul 2 de luare a deciziei 3.2.8. Concluzii S-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

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

34

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

Universitatea Politehnica Timisoara Facultatea de Electronica si Telecomunicatii

35

Bibliografie:
1. C. D. Caleanu Sisteme fuzzy - curs 2. www.wikipedia.org 3. Alte diverse surse internet

2008