controlere fuzzy - bel.utcluj.ro · controlul fuzzy incorporeaza logica umana intr-un program de...

39
G. Oltean Tehnici de inteligenţă computaţională în electronică, 1 / 39 Controlere fuzzy

Upload: others

Post on 07-Sep-2019

10 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 1 / 39

Controlere fuzzy

Page 2: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 2 / 39

Proces

Proces in bucla

deschisa

• Intrarea de comandă uc determină valoarea ieşirii y după o anumită lege

(ecuaţie), care este modelul matematic al sistemului.

• Procesul trebuie să furnizeze o valoare dorită (referinta) la ieşire, y*.

• Procesul functioneaza astfel încât, în absenţa perturbaţiilor şi a variaţiilor

parametrilor de proces, y = y* pentru o anumită intrare de control uc = uc*.

• Această situaţie (lipsa perturbaţiilor) nu se verifica in practică

y y* dacă lăsăm procesul sa evolueze în buclă deschisă cu uc =uc*.

• Pentru a asigura y=y* în prezenţa perturbaţiilor, uc trebuie modificat

(adaptat) incontinuu, astfel încât să compensăm acţiunea perturbaţiilor.

• Modificarea automata a uc depinde de modificarea y faţă de y*, şi este

realizată de un alt subsistem (bloc), conectat între ieşirea şi intrarea

sistemului, numit controler

Page 3: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 3 / 39

Sistem de

control în buclă

închisă (sistem

cu reacţie)

Ieşirea uc sau uc a controlerului este intrarea de comandă pentru proces şi

depinde, în general, de erorile la momentele de timp anterioare între y şi y*,

dar şi de comenzile uc la momentele de timp anterioare:

uc(k)=f(e(k),e(k-1),...,e(k-),uc(k-1),...,uc(k-)

f lege (neliniara) de control; - ordinul controlerului

dacă > 0, controlerul este cu memorie

e(k)=y*-y(k)

Page 4: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 4 / 39

valoare

curenta

referinta

(set point)

Page 5: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 5 / 39

Conventional PID controller

➢ P

➢ PI

➢ PID

t

d

i dt

tdeTdtte

TtePtu

0

1

The desired closed loop dynamics is obtained by adjusting the three parameters,

(often iteratively by "tuning" and without specific knowledge of a plant model)

Stability can often be ensured using only the proportional term.

The integral term permits the rejection of a step disturbance (often a striking

specification in process control).

The derivative term is used to provide damping or shaping of the response.

Page 6: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 6 / 39

Raspunsul tipic al unui controler

Page 7: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 7 / 39

Controler fuzzy➢ Controlul fuzzy este o tehnica de transpunere a modului de gandire

uman intr-un sistem de control.

➢ Abordarea clasica (traditionala) a controlului necesita modele formale

(matematice) ale realitatii fizice

➢ Controlul fuzzy incorporeaza logica umana intr-un program de

calculator. Se potriveste cel mai bine problemelor de control care nu pot fi

reprezentate cu usurinta prin modele matematice.

➢ Usureaza automatizarea sarcinilor care deja sunt indeplinite cu usurinta

de un operator uman.

Dificultati in sistemele conventionale de control unde

controlul fuzzy poate fi aplicat cu succes:

• model imprecis al procesului

• proces cu parametri variabili

• date incomplete sau indisponibile

• procese foarte complexe

• buna intelegere calitativa a functionarii procesului

Page 8: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 8 / 39

✓ Zadeh: formularea legii de control f prin reguli fuzzy (propoziţii

condiţionale)

✓ SLF cu intrările e(k), e(k-1) , ... , e(k-), uc(k-1),...,uc(k-) - dependenţă

lingvistică între uc(k) şi aceste intrări.

✓ Controlerele fuzzy folosite în practică sunt de ordin 1, = 1:

uc(k) = f(e(k),e(k-1), uc(k-1))

✓ Controlerele fuzzy tipice au o formă simplificată, ieşirea anterioară uc(k-1)

nu intră în regulile fuzzy; regulile fuzzy utilizează e(k) şi e(k-1), ca si intrari

si uc(k) sau uc(k) ca si iesiri

f = funcţia de transfer a SLF este determinată de:

▪ mulţimile fuzzy definite peste intrare şi ieşire

▪ baza de reguli

▪ mecanismul de inferenţă

▪ metoda de defuzzificare

Page 9: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 9 / 39

✓ În mod tipic, intrările tranşante în SLF folosite pentru control sunt:

- eroarea e(k)

- variatia (derivata) erorii : e(k) = e(k)-e(k-1)

✓ În functie de marimea de iesire a controlerului avem:

▪ controler fuzzy PI, care are la iesire variatia marimii de comanda

uc(k) = F(e(k), e(k)); uc(k) = uc(k-1) + uc(k)

▪ controler fuzzy PD, care are la iesire marimea de comanda

uc(k) = F(e(k), e(k))

✓ SLF cu intrările e(k) şi e(k) şi ieşirea uc(k) este un controler de ordin 1.

Page 10: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 10 / 39

ControlerPI Controlerul clasic PI:

t

i

c dtteT

tePtu0

1

In varianta discreta

la iteratia k:

tekeke

TkePku

i

c )1(...)1()(1

la iteratia k-1:

tekeke

TkePku

i

c )1(...)2()1(1

11

tke

TkekePkukuku

i

ccc )(1

11)(

Variaţia mărimii de comandă

)(1 kukuku ccc ))(),(()( kekefkuc

1)(1)(

kekePkeT

tPkukuku

i

ccc

Page 11: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 11 / 39

Controler fuzzy PI

Intrarile controlerului fuzzy:

• Eroarea: e

• Variatia (derivata) erorii: ∆e

Iesirea controlerului fuzzy:

• Variatia marimii de comanda; ∆uc

Proces

In practică, pentru e, ∆e şi ∆uc în general se utilizează factori de

scalare precum şi limitare dublă a valorii.

Page 12: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 12 / 39

Multimile fuzzy

N, ZE, P

formează o

partiţie fuzzy

Baza de reguli fuzzy a CLF se deduce ţinând cont de obiectivul dorit:

e = 0; ∆e=0Acest “0” trebuie privit nuanţat obiectivul dorit este :

e este ZE ; ∆e este ZE

SLF MamdaniPot fi similare pentru intrari si iesire

Page 13: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 13 / 39

Baza de reguli Considerăm că ieşirea y a sistemului

variază în acelaşi sens cu comanda uc:

- dacă uc creşte y creşte

- dacă uc = cst y = cst

- dacă uc scade y scade

kkk

kk

kkk

kk

yye

yyyy

-e e e

yye

yye

1

1

1

Δ

)*()*(

Δ

*

;*1

2

3

4

5

6

7

8

9

Page 14: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 14 / 39

Controler fuzzy Mamdami

Page 15: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 15 / 39

Page 16: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 16 / 39

Pot fi utilizate mai multe mf si reguli pentru un control mai fin

N

P

PM

PFM

ZE

y

kkk

kk

yye

yye

*

Page 17: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 17 / 39

Pot fi utilizate mai multe mf si reguli pentru un control mai fin

In varianta cu 5 mf pe fiecare

variabila rezulta o baza de reguli

completa de 25 de reguli:

e

Δe

NL NS ZE PS PL

NL NL NL NS NS ZE

NS NL NS NS ZE PS

ZE NS NS ZE PS PS

PS NS ZE PS PS PL

PL ZE PS PS PL PL

In varianta cu 7 mf

pe fiecare variabila

rezulta o baza de

reguli completa de

59 de reguli:

Page 18: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 18 / 39

Sistem de control fuzzy (PI) pentru controlul temperaturii. Implementare Simulink

Page 19: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 19 / 39

Sistem de control fuzzy (PI) pentru controlul temperaturii. Rezultate

Suprafata de control

(Mamdani)

Cronograme

Page 20: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 20 / 39

Controler fuzzy TS de ordin zero

Multimile fuzzy de iesire au

suporturile

• N -1

• Z 0

• P +1

Page 21: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 21 / 39

Controler fuzzy cu 9 reguli

Mamdani Sugeno

Page 22: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 22 / 39

IMPLEMENTAREA

UNUI SISTEM DE

CONTROL AL TEMPERATURII

UTILIZÂND UN

CONTROLER FUZZY

Page 23: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 23 / 39

Controler fuzzy

➢ reguli definite de utilizator

➢ fiecărei reguli îi corespunde o mulţime parţială de ieşire

➢ ∆e = e(k) - e(k-1)

∑ ieşire+

-∑

Controler fuzzy

Întârziere

∆t

senzor

Element de control

*y e

∆e

cu

y

yye *

Fundamentare teoretică

Page 24: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 24 / 39

Implementare practică

Incinta termică Platforma EEboard

CAN

CNA

Senzor

Execuţie

Prelucrare

analogică pentru

achiziţie

Placa de sunetMATLAB/

Simulink

Prelucrare

analogică pentru

comandă

Flux comandă

Flux achiziţie

Controler

fuzzy

Placă de sunet - limitare

▪ cuplaj capacitiv

▪ valori tensiune: [-1V; +1V]

- amplificare

▪ achiziţie 3:1

▪ comandă 1:1

Schema de principiu

Page 25: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 25 / 39

Incinta termică

Senzor de temperatura▪ LM35

▪ factor de scală liniar +10 mV/°C (ex. 30°C 300mV)

▪ măsurarea temperaturii în intervalul -55°C,+125°C

▪ temperatura citită - diferită cu 0.01 °C de temperatura suprafeţei

▪ precizie 0.5 °C (la +25°C )

▪ tensiune de alimentare - între 4V şi 30V

Rezistenţă termică▪ două rezistenţe ceramice conectate în paralel

Implementare practică

echivR

UP

2

max

Page 26: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 26 / 39

Platforma Electronic Explorer

Flux de achiziţie

Implementare

LM741

+

-

V+

V-

OUT LM555 GND

TRIGGEROUTPUTRESET

CONTROLTHRESHOLDDISCHARGE

VCC

Vee

9

0

Vcc

1k

Vcc

GND

Vcc

1k

2.2u

0

Vcc

-9

0

GND

Vee

Vee

11k

1k

0

LM35

Vcc OUT

GN

D

GND

Vcc

LM741

+

-

V+

V-

OUT

3k

0

Vcc

Vcc

1k

1k

47n

0

Amplificator Av=12 Repetor (buffer)

Senzor de

temperatură

Conversie

cc ca

Page 27: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 27 / 39

Implementare – cont.

Flux de comandă

Detector de vârf pozitivAmplificator

Av = 6.5

Tranzistor

Darlington

Rezistenţa

de încălzire

9

0

Vcc

-9

0

Vee

LM741

+

-V

+

V-

OUT

LM741

+

-

V+

V-

OUT

D

10u 27k

6.8k

Q1

2N2221

22k

Q2

BD237

0

0 0

5.5k

1k

0

+12

0

Vsursa Vcc

Vee

Vee

Vcc

Vsursa

6,822

Page 28: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 28 / 39

Schemă Simulink

Implementare

Page 29: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 29 / 39

Controler fuzzy T-S

Variabile de intrare: e, de

3 mulţimi de tip zmf, gauss, smf

Variabila de ieşire: du

3 mulţimi singleton: Ne = -0.2

Ze = 0

Po = 0.2

Baza de reguli

e

de

N Z P

N Ne Ne Ze

Z Ne Ze Po

P Ze Po Po

Page 30: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 30 / 39

Exemplu de activare a regulilor

Reguli activate

– 5: Dacă (e Є Z) şi (de Є Z) atunci (du Є Ze)

– 8: Dacă (e Є P) şi (de Є Z) atunci (du Є Po)

Defuzzificare - medie ponderată

85

8855*

zzy

Page 31: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 31 / 39

Rezultate experimentale

Semnalul preluat de la 555

Semnalul preluat de la senzor

Semnalul transmis spre Simulink

Flux de achiziţie

Page 32: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 32 / 39

Semnalul provenit din Simulink

Semnalul de la iesirea detectorului de vârf

Rezultate experimentaleFlux de comandă

Page 33: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 33 / 39

Evoluţia temperaturii incintei:Tref=45°C

Rezultate experimentale

Page 34: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 34 / 39

Rezultate experimentaleEvoluţia semnalelor: Tref=45°C

Te

cu →

maxcu

cdue → 0

cu

e, cdu

cu, → const.

Page 35: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 35 / 39

Rezultate experimentaleEvoluţia temperaturii incintei:Tref-variabilă

45°C 37°C

Page 36: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 36 / 39

Controlul pendulului inversat –

demonstratie video

pendul.fis

http://www.razorrobotics.com/articles/fuzzy-control-system/

Page 37: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 37 / 39

Page 38: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 38 / 39

Page 39: Controlere fuzzy - bel.utcluj.ro · Controlul fuzzy incorporeaza logica umana intr-un program de calculator. Se potriveste cel mai bine problemelor de control care nu pot fi reprezentate

G. OlteanTehnici de inteligenţă computaţională în electronică, 39 / 39