135 30 6MB
Romanian Pages 17
Lucrare de laborator
Automatic GearBox Module with Fuzzy Controller
Materie: Modele ale inteligentei artificiale
Student: Militaru Bogdan Alexandru
Specializare: IESI
1. Introducere Sistemul isi propune realizarea unui modul electronic, pentru schimbarea automata a vitezelor unui autovehicul, folosind o cutie de viteze automata. Factorii ce influenteaza sistemul sunt: • Viteza autoturismului • Turatia motorului • Modul de condus - modul de utilizare al autoturismului in functie de dorinta soferului. Presupunem ca selectia se va face in baza unui comutator si permite 3 moduri de lucru: • Eco - un mod de condus specializat pentru un consum mic si un mod de poluare redus. In acest context motorul va opera cu turatii mici si viteza redusa. • City - un mod de condus specializat pentru modul de oras, viteze reduse, turatii mari pentru demaraje fapt datorat indicatiilor semafoarelor • Sport - in acest mod de condus se va utiliza motorul cu turatii mari si viteze mici sau mari. Se va utiliza un Controller cu logica Fuzzy care sa reactioneze conform variabilelor de intrare viteza, turatie si mod de condus, astfel incat sa gestioneze schimbarea treptei de viteze in mod automat.
2. Model Fuzzy Controller 2.1.Variabile FIS
Variabilele de sistem reprezinta datele utilizate de controllerului fuzzy, ce vor fi prelucrate si returnate. Astfel asa cum a fost prezentat si mai sus vom avea 3 variabile de intrare: turatie, viteza, mod si o variabila de iesire: decizie. Pentru toate variabilele de sistem s-au folosit functii de apartenenta triunghiulare (trimpf). 2.1.1. Variabila de intrare turatie
Variabila de turatie este o variabila de intrare, caracterizata de trei functii de apartenenta: mica, normala, mare. Turatia in aplicatia creata este definita pe intervalul 0-6000, deoarece turatia poate fi 0 in cazul in care motorul este oprit si poate urca pana la o valoare de 6000.
Functii de apartenenta: • mica: o turatie mica are valoarea absoluta in 0 si scade pana in 2000, apoi valoarea ramane in 0;
• normala: consideram ca o turatie normala ar fi intre 1400 - 4500, avand valoarea maxima in punctul 2500, valorile scad spre extreme, iar in afara intervalului este valoarea este 0;
• mare: turatie mare, reprezinta o turatie neutilizata de o mare parte dintre conducatori, astfel am considerat ca turatia este mare in intervalul 4000 - 6000, crescand spre valoarea maxima 6000, in afara intervalului valoarea fiind zero;
2.1.2. Variabila de intrare viteza
Variabila viteza reprezinta viteza autoturismului, colectata de la senzori si este necesara pentru a lua o decizie asupra treptei de viteze. Am considerat ca autoturismul sa aiba o viteza intre 0 si 260km/h, rezultand astfel parametrii vitezei in cadrul aplicatiei - 260. Am impartit viteza in 3 functii de apartenenta, astfel: • mica: am considerat ca viteza poate fi considerata mica in intervalul 0 - 70, avand punctul maxim in 10 si scazand spre 70, pana in punctul 0;
• normala: viteza normala am considerat-o in intervalul 20-130, crescand spre 60, in valoarea maxima si in afara intervalului si la capete fiind 0;
• mare: viteza maxima creste succesiv in intervalul 90-260, ajungand sa aiba valoarea maxima in captul intervalului;
2.1.3. Variabila de intrare mod
Am ales introducerea acestei variabile in acelasi sistem fuzzy, desi initial am dorit crearea unui alt sistem separat, deoarece exista o dependenta directa in raport cu turatia si viteza, care in conditii diferite de lucru pot influenta diferit rezultatul de decizie. Asa cum am precizat anterior, exista 3 moduri de functionare, care au definit numele functiilor de apartenenta. Functiile de apartenenta au ca domeniu de definitie 0-1, delimitate astfel: • eco: definita in intervalul 0-0.4, cu valoarea maxima in punctul 0
• city: definita in intervalul 0.1-0.9, cu valoarea maxima in punctul 0.5
• sport: definita in intervalul 0.6-1, cu valoarea maxima in punctul 1
2.1.4. Variabila de iesire decizie Variabila de iesire, reprezinta raspunsul sistemului la intrari, in urma procesarii pe baza setului de reguli ce va fi prezentat in subcapitolul urmator. Astfel, aceasta variabila este definita de 3 functii de apartenenta, in intervalul 0-1, astfel: • down: definita pe intervalul 0-0.4, cu valoarea maxima in 0, scazand in valoarea spre 0.4, astfel aceasta decizie se traduce in schimbarea vitezei inferior;
• keep: definita pe intervalul 0.1-0.9, cu valoarea maxima in 0.5, si 0 in exteriorul intervalului. Aceasta decizie presupune pastrarea treptei curente;
• up: definita pe intervalul 0.6-1, cu valoarea maxima in 1, presupune schimbarea treptei de viteze superior;
2.2. Set de reguli Setul de reguli, intr-o aplicatie cu un Controller Fuzzy este extrem de important si trebuie definit cat mai bine. Avand 3 variabile de intrare, a cate 3 functii de apartenenta, va trebui sa definim 27 de reguli. Aceste reguli se pot observa in imaginile urmatoare:
Rule Viewer:
Surface Viewer:
3. Simulare Pentru partea simulativa a aplicatie, am utilizat toolbox-ul Simulink din Matlab. Astfel conform figurii urmatoare schema de simulare este urmatoarea:
Voi incepe prezentarea acestei figuri din partea stanga, astfel pentru a genera aleator semnale pentru viteza si turatie am folosit doua generatoare de semnal de tip sinusoidal Sine Wave, iar pentru ce-a de-a treia variabila, modul de functionare, am folosit un signal builder pentru a-mi putea inlocui practic functia de comutator fizic. Toate aceste trei semnale de intrare sunt conectate unui multiplexor si introduse in Controllerul Fuzzy, la care este legat ca iesire, pentru vizualizarea rezultatelor de decizie asupra schimbarii treptei de viteza pe un osciloscop, Scope1. De asemenea pentru a putea face o comparatie intre semnalul la iesire si cel de la intrare, am utilizat un al doilea osciloscop, Scope, avand ca intrare un Multiplexor,
in care sunt conectate semnalele de intrare, turatie, viteza careia i se aplica o multiplicare cu 10 si modul, caruia i se aplica o multiplicare cu 1000. Motivul pentru care am ales sa aplic acesti factori de multiplicare este strict pentru rol demonstrativ, pentru a putea fi urmarite semnalele pe osciloscop in aceiasi gama, deoarece turatia este de ordinul zecilor de mii, iar viteza este de ordinul sutelor, pe cand modul este de ordinul unitatilor, existand astfel o discrepanta, usor sesizabila. In randurile ce urmeaza voi incerca sa aplic mai multe tipuri de simulare, aplicand astfel mai multe tipuri de teste pentru a observa comportamentul controller-ului in situatii limita. Inainte de a incepe simularile, as dori sa aduc precizari asupra culorilor afisate pe cele doua osciloscoape. Asa cum am precizat anterior, osciloscopul Scope 1 este pentru a afisa decizia controller-ului Fuzzy, deci avem un singur rezultat, pentru care s-a utilizat culoarea galbena. Cat despre cel de-al doilea osciloscop, Scope, putem observa 3 culori astfel: galben - turatia, roz - viteza, turcoaz - mod de functionare.
3.1.Mod de functionare Eco
Conform Signal Builderului din partea dreapta in momentul simularii modul de functionare este setat in regim eco. Prin interpretarea osciloscoapelor, putem observa urmatoarele idei: • La scaderea turatiei, cresterea viteza, pentru modul eco se mentine viteza • La turatie scazuta, viteza scazuta, modul eco se solicita schimbarea treptei de viteza inferior • La turatie normala, viteza normala se mentine treapta de viteza • Daca ambele turatie si viteza cresc, atunci se solicita schimbarea treptei de viteza superior
3.2. Modul de functionare city
In acest mod de functionare, principiul esential este acela de a incerca sa se pastreze un raport constant intre viteza si turatie, pentru a permite accesul usor la franare si accelerare. Conform graficelor afisate se pot remarca urmatoarele: • Se incearca pastrarea treptei de viteze, pana la un prag in care turatia devine suficient de mica, incat sa necesite schimbarea treptei inferioare
• La o viteza de decelerare, cand turatia atinge pragul 0, se solicita schimbarea treptei inferioare • Uramand ca in momentul in care turatia creste, desi viteza scade sa solicite schimbarea treptei superior. • Se mentine treapta de viteza curenta, pana in momentul in care, in punctul 5 al graficului viteza atinge valoarea 0, solicitand astfel schimbarea treptei inferior • In momentul in care ambele, turatia si viteza cresc preponderent, se solictia cresterea treptei de viteze • In punctul 7 al graficului se observa faptul ca se face trecerea spre modul sportiv, iar turatia este foarte aproape de punctul maxim, iar viteza creste, motiv pentru care se solicita schimbarea treptei de viteza superior • Se mentine vitza, pana in momentul in care turatia scade suficient de mult incat sa fie necesara schimbarea treptei inferior
3.3. Modul de functionare Sport
In acest mod de functionare, se poate observa conform celor doua grafice, tendinta de a incerca sa se opereze cu turatii cat mai mari si de a mentine treapta curenta pe cat posibil, deoarece un mod sportiv presupune un mod de condus agresiv, care sa
permita demaraje puternice, astfel se solicita trepte cat mai mici cu turatii cat mai mari, schimbarea treptei facandu-se spre limitele superioare.
4. Concluzii Conform celor mentionate pe parcursul acestei lucrari, consider ca aplicatia realizata isi indeplineste cu succes cerintele intiale, insa asa cum se intampla si in cadrul evolutiei tehnologice, exista configuratii si diverse operatii, teorii si moduri de operare ce pot fi imbunatatite.