proiect ciulin (controler fuzzy al glicemei)
Post on 18-Feb-2015
63 views
Embed Size (px)
DESCRIPTION
Proiect ce foloseste logica fuzzy pentru implementarea pe un circuit de control al glicemieiTRANSCRIPT
Universitatea Gh. Asachi Iasi Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei
PROIECT Fundamentele Inteligentei Artificiale
Coordonatori : N.H. Teodorescu Zbancioc Masterand :Ciulin Lucian, Specializare : SAEA
Universitatea Gh. Asachi Iasi Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei
Sistem de control al glicemiei unui bolnav de diabet, folosind algoritmi Fuzzy
Coordonatori : N.H. Teodorescu Zbancioc Masterand :Ciulin Lucian, Specializare : SAEA
Tema abordata :
Pentru realizarea proiectului am ales sa construiesc baza teoretica a unui sistem capabil sa controleze glicemia unui bolnav de diabet. Acest sistem va fi capabil sa masoare valoarea glicemiei utilizatorului, dupa care, in functie de valoarea preluata de la senzorul de glucoza, sa dozeze o anumita cantitate de insulina pentru a combate cresterile glicemiei si a preveni eventualele crize hiperglicemice, precum si a mentine valoarea glicemiei la o valoare optima, si anume, intre 65 si 110 mg de glucoza/dL de plasma din sange . Valoarea cantitatii de insulina va fi stabilita de un sistem de control, care va lua decizia optima pentru a indeplini scopul intregului sistem. Sistemul de control va fi construit pe o baza de algoritmi Fuzzy .Acesti algoritmi vor fi construiti intai cu ajutorul unui program construit in Limbajul C , si apoi cu programul Matlab cu mediul de dezvoltare Fuzzy. Pentru verificarea functionarii sistemului voi introduce date specifice diferitelor situatii in care se va afla un bolnav de diabet ce va folosi un astfel de sistem, dupa care rezultatele obtinute in fiecare dintre programul construit in limbajul de programare C si cel din Matlab vor fi comparate si discutate intr-un studiu de caz pentru imbunatatirea rezultatelor si acoperirea a cat mai multor situatii posibile. O mai buna intelegere a acestui proiect necesita o fundamentare generala a fiecarui domeniu utilizat, si anume : teoria Fuzzy, simularea in Matlab, si medicina (in special diabetul zaharat si efectele insulinei ) . Notiunile generale din teoria Fuzzy au fost dobandite la cursul disciplinei : Fundamentele Inteligentei Artificiale sustinut de domnul Profesor dr. Ing., m.c. HORIA-NICOLAI TEODORESCU. Programul in limbajul C utilizat a fost construit pe baza sedintelor de laborator a disciplinei Fundamentele Inteligentei Artificiale sustinut de domnul asistent ing. MARIUS ZBANCIOC .
Schema de principiu a acestui sistem arata ca in figura de mai jos :
Date de intrare : Glicemie Rata de crestere a glicemiei Sistem de control Algoritm Fuzzy
Senzor de glucoza
Livrare de insulina prin pompite
Data de iesire Rata de crestere a livrarii de insulina Feedback prin senzor
Figura 1 : Schema de principiu a sistemului Fuzzy, de control al glicemiei
Acest sistem necesita, pentru realizarea practica 3 componente principale : 1. Dispozitiv de masurare a glicemiei 2. Microprocesor sau computer pentru analiza glucozei din sange si de calcul a dozei de insulina 3. Dispozitiv de livrare a insulinei (de obicei o pompa mecanica introdusa 4. sub piele)
Notiuni generale
a) glicemie, insulina si diabet .
Pentru aprecierea cantitatii de zahar din organism, in laborator se analizeaza zaharul din sangele total ori din ser sau plasma. Valori normale ale glucozei din sange: 65-110 mg la 100 ml sange. La persoanele de peste 40-50 ani, valorile medii ale glicemiei sunt mai crescute decat la tineri, deoarece la ele si consumul de glucoza in organism este mai redus. Insulina este un hormon ce are rolul de a ajuta la consumul si la arderea glucozei din sange si celule. In unele boli ale pancreasului acesta secreta mai putina insulina sau nu mai secreta deloc si din aceasta cauza glucoza, in loc sa se consume, sa se arda, se acumuleaza in sange, crescand glicemia. Astfel, glicemia poate ajunge la 200-300 mg% si chiar mai mult, ceea ce duce la coma diabetica (coma hiperglicemica) mai ales la acele persoane care nu stiu ca au diabet. Cea mai mare crestere a glicemiei se intalneste in diabetul zaharat sau diabetul pancreatic. In mod normal dupa consumul de glucoza, zaharul din sange creste si la oamenii sanatosi, dar nu mult si revine la normal dupa 2 ore. Dar la persoanele diabetice glicemia creste foarte mult, caci zaharul din sange nu se consuma si revenirea la normal, la valorile initiale se face mai tarziu de 2 ore. La persoanele cu diabet, limitele glucozei sunt: Dimineata, inainte de micul dejun: 30-130 (mg/dl) Inainte de mese: 30-130 (mg/dl) La 2 ore dupa masa: sub 180 mg/dl
b)logica Fuzzy
Teoria multimilor si conceptelor fuzzy au aparut din necesitatea de a exprima cantitativ marimi imprecise. In 1973 Lotfi A. Zadeh a extins teoria probabilitatilor intrun sistem de logica matematica [Zad 73]. Sistemul sau permitea extinderea valorii de adevar a unei propozitii la toate numerele reale cuprinse in intervalul [0 1]. Un numar din acest interval era interpretat drept posibilitatea ca propozitia considerata sa fie adevarata sau falsa. Astfel valoarea de 0.5 exprima posibilitatea ca propozitia poate fi in aceeasi masura falsa sau adevarata, iar valoarea 0.6 exprima posibilitatea ca propozitia sa fie considerata intr-o mai mare masura adevarata, decat falsa. Astfel ca nu se poate
afirma categoric despre un obiect ca e ori Bun ori Rau . Exprimarea Adevarat/Fals care sta la baza aplicatiilor traditionale este inlocuita in cazul unui sistem fuzzy cu exprimari calitative mult mai nuantate (specifice gandirii umane). In acest domeniu, o contributie deosebita a avut si logicianul roman Grigore C. Moisil(1906-1973).
Structura schematica a unui controler fuzzy este urmatoarea :
Interfata de intrare FUZIFICARE REGULI FUZZY
Interfata de iesire DEFUZIFICARE
Variabile De intrare
Variabile lingvistice Fuzzy
Concluzie Fuzzy
Marime de comanda
Figura 2 : Structura unui controler fuzzy
In cazul acestui proiect logica Fuzzy imita logica gandirii umane, logica utilizata de fiecare medic specialist pentru a recomanda doze de insulina fiecarui bolnav . Astfel ca logica fuzzy se poate folosi pentru a caracteriza sistemul de control al glicemiei. Primul pas in realizarea algoritmului Fuzzy, se numeste fuzificarea si consta in a atribui unei valori exacte (de exemplu, o concentratie de 75mg/dL a glucozei in plasma sangelui) o valoare specifica limbajului si gandirii umane, numite grade lingvistice (de exemplu : glicemie normala). Fuzificare se poate reprezenta grafic realizand toate atribuirile determinist - lingvistice.
Fuzificarea
In cazul sistemului de control al glicemiei exista 2 date de intrare astfel ca vom creea 2 grafice si vom defini 2 functii de apartenenta. Prima data de intrare este Glicemia .
Figura 3 : Atribuirea de grade lingvistice valorilor de glicemie din intervalul [0;600]
A doua data de intrare este : rata de schimbare a glicemiei. Aceasta reprezinta scaderea, cresterea, sau stagnarea glicemiei cu 20mg/dL, in functie de activitatile bolnavului de diabet. Astfel, cel mai mare factor care poate influenta scaderea glicemiei, ar fi efortul fizic depus, iar cel mai mare factor ce poate influenta cresterea glicemiei este consumul de alimente ce contin glucoza. In Figura 4 este reprezentata atribuirea gradelor lingvistice acestei date de intrare :
Figura 4: Atribuirea de grade lingvistice ratei de schimbare a glicemiei in intervalul [-20;20]
Data de iesire este reprezentata de rata de crestere a unitatilor de insulina care are ca si scop prevenirea eventualelor cresteri ale glicemiei si stabilizarea acesteia la un nivel optim, si anume, intre 65mg/dL si 110 mg/dL. Reprezentarea datei de iesire este redata in figura de mai jos, si anume Figura 5.
Figura 5 : Atribuirea de grade lingvistice ratei de schimbare a insulinei
Reguli Fuzzy
Functionarea sistemelor fuzzy se bazeaza pe un set de reguli de conducere de tipul :
Daca
atunci
.
In cazul nostru regulile sunt :
1. Daca si Atunci 2. Daca si Atunci
.................................................................................................................................................................. ................................................................................................................................................................. ................................................................................................................................................................
29. Daca si Atunci 30. Daca si Atunci
Sistemul propus in acest proiect are 2 date de intrare si una de iesire. Data de intrare Valoarea Glicemiei reprezentata in Figura 3 are 6 functii de apartenenta si data de intrare Rata de schiumbare a glicemiei reprezentata in Figura 4 are 5 functii de apartenenta triunghiulare, ceea ce conduce la 5*6=30 reguli de conducere. Pentru compactare am ales sa reprezint tabelar aceste reguli, ca in figura de mai jos :
Negativ_Mare
Negativ
Zero
Pozitiv
Pozitiv_Mare
F_mica
Deloc
Deloc
Deloc
Deloc
Deloc
Mica
Deloc
Deloc
Deloc
Deloc
Deloc
Normala
Deloc
Deloc
Deloc
F_putina
Putina
Mare
Putina
Medie
Multa
Multa
F_multa
F_Mare
Multa
F_Multa
F_Multa
Extrema
Extrema
Extrema
Extrema
Extrema
Extrema
Extrema
Extrema
Figura 6 : Tabel de reguli Fuzzy
In programul Matlab sistemul fuzzy implementat arata ca in figura de mai jos :
Figura 7 : Sistemul fuzzy implement