controlere fuzzy - bel.utcluj.ro · controlul fuzzy incorporeaza logica umana intr-un program de...
TRANSCRIPT
G. OlteanTehnici de inteligenţă computaţională în electronică, 1 / 39
Controlere fuzzy
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
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)
G. OlteanTehnici de inteligenţă computaţională în electronică, 4 / 39
valoare
curenta
referinta
(set point)
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.
G. OlteanTehnici de inteligenţă computaţională în electronică, 6 / 39
Raspunsul tipic al unui controler
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
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
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.
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
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.
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
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
G. OlteanTehnici de inteligenţă computaţională în electronică, 14 / 39
Controler fuzzy Mamdami
G. OlteanTehnici de inteligenţă computaţională în electronică, 15 / 39
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
1Δ
*
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:
G. OlteanTehnici de inteligenţă computaţională în electronică, 18 / 39
Sistem de control fuzzy (PI) pentru controlul temperaturii. Implementare Simulink
G. OlteanTehnici de inteligenţă computaţională în electronică, 19 / 39
Sistem de control fuzzy (PI) pentru controlul temperaturii. Rezultate
Suprafata de control
(Mamdani)
Cronograme
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
G. OlteanTehnici de inteligenţă computaţională în electronică, 21 / 39
Controler fuzzy cu 9 reguli
Mamdani Sugeno
G. OlteanTehnici de inteligenţă computaţională în electronică, 22 / 39
IMPLEMENTAREA
UNUI SISTEM DE
CONTROL AL TEMPERATURII
UTILIZÂND UN
CONTROLER FUZZY
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ă
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
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
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
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
G. OlteanTehnici de inteligenţă computaţională în electronică, 28 / 39
Schemă Simulink
Implementare
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
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
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
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ă
G. OlteanTehnici de inteligenţă computaţională în electronică, 33 / 39
Evoluţia temperaturii incintei:Tref=45°C
Rezultate experimentale
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.
G. OlteanTehnici de inteligenţă computaţională în electronică, 35 / 39
Rezultate experimentaleEvoluţia temperaturii incintei:Tref-variabilă
45°C 37°C
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/
G. OlteanTehnici de inteligenţă computaţională în electronică, 37 / 39
G. OlteanTehnici de inteligenţă computaţională în electronică, 38 / 39
G. OlteanTehnici de inteligenţă computaţională în electronică, 39 / 39