Aspecte referitoare la - UTCluj · Determinarea vitezei optime de deplasare in functie de...

Post on 10-Jan-2020

4 views 0 download

Transcript of Aspecte referitoare la - UTCluj · Determinarea vitezei optime de deplasare in functie de...

Sisteme cu logica nuanțată, G. Oltean

Aspecte referitoare la

implementarea

sistemelor cu logică fuzzy

cu mai multe intrări (MISO)

Sisteme cu logica nuanțată, G. Oltean

Structura unui sistem cu logică fuzzy MISO

Sisteme cu logica nuanțată, G. Oltean

Exemplificare: Pilot automat auto

❑ Determinarea vitezei optime de deplasare in functie de

vizibilitate si calitatea drumului

❖ Proiectare si implementare bazate pe model

(Model-based design and implementation)

➢ implementare, optimizare si verificare in Matlab – model

➢ analiza modelului Matlab pentru a intelege aspectele

referitoare la implementare

➢ implementarea pentru Arduino, conform modelului

➢ validarea implementarii prin compararea rezultatelor cu

cele furnizate de model

Sisteme cu logica nuanțată, G. Oltean

Model Matlab: schema bloc, operatori

Sisteme cu logica nuanțată, G. Oltean

Baza de

reguli:

Baza de date:

mulțimile fuzzy

RoadQuality

Visibility

Bad Good VGood

Poor VL L Me

Good L Me H

VGood Me H VH

1 2

4 5 6

7 8 9

3

Model Matlab: baza de cunoștințe

Sisteme cu logica nuanțată, G. Oltean

Baza de

reguli

Baza de date:

multimile fuzzy

Model Matlab: baza de cunoștințe

Sisteme cu logica nuanțată, G. Oltean

Model Matlab: flux de calcul

• grad de adevăr premise

simple (pentru fiecare mf)

• grad de adevăr premise

compuse - antecedent

(pentru fiecare regula)

• grad de activare regula

• determinare mf partiala de

iesire pentru regulile

activate

• agregare

• defuzzificare COA

Sisteme cu logica nuanțată, G. Oltean

Model Matlab: suprafata de control

Sisteme cu logica nuanțată, G. Oltean

Implementare Arduino: baza de cunoștinteBaza de date

Sisteme cu logica nuanțată, G. Oltean

Implementare Arduino: baza de cunoștinteBaza de date – cont.

Sisteme cu logica nuanțată, G. Oltean

Implementare Arduino: baza de cunoștinteBaza de reguli

Sisteme cu logica nuanțată, G. Oltean

Implementare Arduino: flux de calcul

Pregatire: calcul grad de adevar premisa simpla pentru

o valoare curenta (transanta – “crisp”) a variabilei de intrare

Sisteme cu logica nuanțată, G. Oltean

Implementare Arduino: flux de calculBiblioteca FuzzyGbr

Header file

Sisteme cu logica nuanțată, G. Oltean

Implementare Arduino: flux de calcul Biblioteca FuzzyGbr

Source file

Sisteme cu logica nuanțată, G. Oltean

Implementare Arduino: flux de calcul

- cont.

Sisteme cu logica nuanțată, G. Oltean

Implementare Arduino: flux de calcul

- cont.

Sisteme cu logica nuanțată, G. Oltean

Implementare Arduino: flux de calcul

- cont.

Sisteme cu logica nuanțată, G. Oltean

Implementare Arduino: flux de calcul

Definire functie care calculeaza gradul de apartanenta

Sisteme cu logica nuanțată, G. Oltean

Implementare Arduino: flux de calcul

▪ Preia valorile curente (transante - crisp) ale variabilelor de

intrare prin intermediul consolei (Serial Monitor)

Sisteme cu logica nuanțată, G. Oltean

Implementare Arduino: flux de calcul ▪ Calculeaza gradele de adevar ale premiselor simple – gradul de

apartenenta la fiecare mf pentru valorile curente (transante - crisp)

ale variabilelor de intrare

Sisteme cu logica nuanțată, G. Oltean

Implemen-

tare

Arduino:

flux de

calcul

▪ Calculeaza

gradele de

adevar ale

regulilor

▪ Selecteaza

doar regulile

active in

vederea

agregarii si

defuzzificarii

Sisteme cu logica nuanțată, G. Oltean 22 /32

Implementare Arduino: flux de calcul ▪ Discretizare variabila de iesire. Inferența, agregare, defuzzificare

Sisteme cu logica nuanțată, G. Oltean

Validare

implementare -1

Arduino Matlab

Sisteme cu logica nuanțată, G. Oltean

Validare

implementare -2

Arduino Matlab

Sisteme cu logica nuanțată, G. Oltean

Validare

implementare - 3

Arduino Matlab

Sisteme cu logica nuanțată, G. Oltean

Validare

implementare - 4

Arduino Matlab

Sisteme cu logica nuanțată, G. Oltean

Validare

implementare -5

Arduino Matlab