Sei sulla pagina 1di 35

Sisteme fuzzy

~proiect~
Universitatea Politehnica Timisoara
Facultatea de Electronica si Telecomunicatii
1

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
Universitatea Politehnica Timisoara
Facultatea de Electronica si Telecomunicatii
2

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
3

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
Universitatea Politehnica Timisoara
Facultatea de Electronica si Telecomunicatii
4

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
5

“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
6

2008
Universitatea Politehnica Timisoara
Facultatea de Electronica si Telecomunicatii
7

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
8

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
µalunecare
Coeficientul
de frecare

0 smax Alunecarea rotii

Fig. 2.1 – Caracteristicile frecarii

Fz
FL
Fig. 2.2 – Modelul rotii

2008
Universitatea Politehnica Timisoara
Facultatea de Electronica si Telecomunicatii
9

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 dreapta-
spate.

2008
Universitatea Politehnica Timisoara
Facultatea de Electronica si Telecomunicatii
10

Pre-procesare Estimator
de date 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
11

Negativ Zero Pozitiv Foarte Pozitiv


1

0.8

0.6

Valori
Ivar 0.4

0.2

-10 -8 -6 -4 -2 0 2 4 6 8 10
, [%]
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 Mic Mediu Mare

0.8
Valori
0.6
Ovar
0.4

0.2
0
20 10 0 10 20 30 40 50 60 70
,
Fig. 2.6 – Domeniul de variatie al iesirilor

2008
Universitatea Politehnica Timisoara
Facultatea de Electronica si Telecomunicatii
12

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
13

pmare
zero fmic pmic mo op fmare
1

Valori
Ivar
pr pi zero ni nr
1
0
0 Alunecarea rotii 25
F
nme np
nmare nmic zero pmic pmare
1 d
0
0 1
Valori Presiunea
Ivar

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
14

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.

Greutate Deschide airbag pentru copii


Unitate
Inaltime
de
Deschide airbag pentru adulti
Viteza control
fuzzy
Acceleratie 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:
 “deschide airbag pentru copii”

2008
Universitatea Politehnica Timisoara
Facultatea de Electronica si Telecomunicatii
15

 “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
16

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
17

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
Universitatea Politehnica Timisoara
Facultatea de Electronica si Telecomunicatii
18

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
19

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
20

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
21

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
22

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 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 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:

X(t) e(t) Evaluare y(t)


fuzzificare defuzzificare
+ reguli

-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 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
Universitatea Politehnica Timisoara
Facultatea de Electronica si Telecomunicatii
23

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=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 < To

2008
Universitatea Politehnica Timisoara
Facultatea de Electronica si Telecomunicatii
24

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
25

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
26

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
27

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
28

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 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
Universitatea Politehnica Timisoara
Facultatea de Electronica si Telecomunicatii
29

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 16°C.

Fig. 3.11 – Reglarea temperaturii in recipientul de fermentare

2008
Universitatea Politehnica Timisoara
Facultatea de Electronica si Telecomunicatii
30

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
Universitatea Politehnica Timisoara
Facultatea de Electronica si Telecomunicatii
31

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
32

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
33

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
34

Bibliografie:

1. C. D. Caleanu – “Sisteme fuzzy - curs”


2. www.wikipedia.org
3. Alte diverse surse internet

2008

Potrebbero piacerti anche