Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
Universitatea din
Facultatea de electronica, comunicatii si calculatoare
PROIECT -
Una dintre aplicatiile cele mai importante in practica ale sistemelor cu logica fuzzy se refera la folosirea acestora ca si sisteme de control ale proceselor. Folosirea sistemelor cu logica fuzzy ca si controllere se bucura de o baza teoretica solida, existand la ora actuala multe aplicatii comerciale care incorporeaza un sistem de control fuzzy. Un exemplu reprezentativ in acest sens este si aplicatia prezentata in lucrare:
Atunci cand folosim o masina de spalat, selectam de obicei timpul de spalare in functie de tipul hainelor pe care dorim sa le spalam si de gradul de murdarie al acestor haine.
Obiectivul aplicatiei din lucrare este proiectarea unui sistem de control cu logica fuzzy pentru o masina de spalat, care sa dea ca iesire timpul de spalare corect in functie de datele de intrare despre hainele care trebuie spalate, in conditiile in care nu avem la dispozitie un model precis al legaturii dintre intrarea si iesirea sistemului de control.
Schema-bloc a sistemului de control fuzzy este cea din Fig.1.
Sistem de control fuzzy |
timp-spalare
grad-murdarie
Fig.1. Schema-bloc a sistemului de control fuzzy
Printscreen-uri cu aplicatia in ordinea dezvoltarii ei .
Sistemul de interferenta Fuzzy cu ajutorul toolbox-ului Fuzzy din Programul Matlab:
Fig.2.Structura FIS-ului
Fig. 3.Functia de apartenenta pentru variabila tip-haine (de intrare)
Fig. 4.Functia de apartenenta pentru variabila grad-murdarie (de intrare)
Fig.5.Functia de apartenenta pentru variabila timp-spalare (de iesire)
Fig.6. Structura regulilor
Fig.8. Vizualizarea grafica a regulior
Fig.9. Vizualizarea suprafetei generate
Simularea cu ajutorul toolbox-ului Simulink-ului din Matlab:
Fig.10. Simularea finala a sistemului controlat(cu doua constante)
Fig.10. Simularea finala a sistemului controlat(cu doua constante)
Fig.11. Simularea finala a sistemului controlat(cu numere aleatoare)
Sistemul de interferenta Fuzzy cu ajutorul functiilor din Programul Matlab:
f=newfis('masinaSpalat'
f=addvar(f,'input' 'tip-haine'
f=addmf(f,'input' 'lycra' 'trimf'
f=addmf(f,'input' 'lana' 'trimf'
f=addmf(f,'input' 'bumbac' 'trimf'
f=addmf(f,'input' 'fas' 'trimf'
f=addmf(f,'input' 'nylon' 'trimf'
f=addmf(f,'input' 'stofa' 'trimf'
f=addmf(f,'input' 'blug' 'trimf'
f=addvar(f,'input' 'grad-murdarie'
f=addmf(f,'input' 'putin-murdar' 'trimf'
f=addmf(f,'input' 'murdar' 'trimf'
f=addmf(f,'input' 'foarte-murdar' 'trimf'
f=addvar(f,'output' 'timp-spalat'
f=addmf(f,'output' '60min' 'trimf'
f=addmf(f,'output' '70min' 'trimf'
f=addmf(f,'output' '80min' 'trimf'
f=addmf(f,'output' '90min' 'trimf'
f=addmf(f,'output' '100min' 'trimf'
ruleList=[1 1 1 1 1;
1 2 1 1 1;
1 3 2 1 1;
2 1 2 1 1;
2 2 3 1 1;
2 3 4 1 1;
3 1 3 1 1;
3 2 3 1 1;
3 3 4 1 1;
4 1 1 1 1;
4 2 1 1 1;
4 3 2 1 1;
5 1 1 1 1;
5 2 1 1 1;
5 3 2 1 1;
6 1 3 1 1;
6 2 4 1 1;
6 3 5 1 1;
7 1 3 1 1;
7 2 4 1 1;
7 3 5 1 1];
f=addrule(f,ruleList);
>> gensurf(b)
Fig.12. Vizualizarea suprafetei generate
>> ruleview(f)
(b)
Fig.12. Vizualizarea grafica a regulior
Copyright © 2024 - Toate drepturile rezervate