Proiect Ciulin (Controler Fuzzy Al Glicemei)

download Proiect Ciulin (Controler Fuzzy Al Glicemei)

of 26

  • date post

    18-Feb-2015
  • Category

    Documents

  • view

    48
  • download

    2

Embed Size (px)

description

Proiect ce foloseste logica fuzzy pentru implementarea pe un circuit de control al glicemiei

Transcript of Proiect Ciulin (Controler Fuzzy Al Glicemei)

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