Sunteți pe pagina 1din 8

Capitolul 4.

IMPLEMENTAREA CONTROLERELOR FUZZY

4.1 Posibilităţi de implementare a controlerelor fuzzy

Se vor prezenta în continuare principalele metode de implementare a FLC, metode


ce pot fi clasificate în funcţie de circuitele utilizate în analogice şi digitale. Caracterul continuu
al funcţiilor de apartenenţă şi imunitatea implicită la perturbaţii, proprii sistemelor fuzzy sunt
argumente în favoarea implementărilor analogice, care vor beneficia de un preţ mai scăzut şi
de o viteza superioară de operare, dar numai în cazul seriilor foarte mari.

a) Implementarea prin limbaje de nivel înalt


Există mai multe posibilităţi de implementare prin limbaje de nivel înalt:
♦ Scrierea programelor direct într-un astfel de limbaj, de regulă C;
♦ Scrierea programului într-un limbaj specializat pentru descrierea sistemelor fuzzy;
♦ Utilizarea unor medii de dezvoltare specializate, cu interfaţă grafică.

Această direcţie oferă avantajele flexibilităţii şi a uşurinţei dezvoltării, dar este relativ
scumpă şi ridică mari probleme de viteză şi fiabilitate în cazul aplicaţiilor industriale. O astfel
de abordare este recomandabilă simulărilor, studierii teoretice a FLC şi eventual aplicaţiilor
complexe şi lente.
Dintre soft-urile de mare răspândire se pot menţiona: TIL Shell (Togai), NeuFuz4
(National Semiconductor) beneficiind de reţele neuronale de învăţare, Fuzzy Control One
(National Instruments) , etc.

b) Implementarea cu microprocesoare sau microcontrolere de uz general


Pentru implementarea controlerelor fuzzy de complexitate mică sau medie se poate
utiliza în principiu orice microprocesor sau microcontroler de 8 biţi. Programele se pot scrie
direct în limbaj de asamblare, obţinându-se performanţe bune cu preţul unui volum mai mare
de muncă. Se pot utiliza şi programarea în C sau în alte limbaje specializate, dacă există
posibilitatea generării automate a programului asamblat. Avantajul acestei abordări constă în
preţul redus şi în bogata ofertă de facilităţi software de care se bucură circuitele fabricate pe
scară mare. Se pot însă realiza mai greu aplicaţii complexe, deoarece FLC necesită deseori
un volum mare de calcule.

c) Implementarea cu memorii
O soluţie foarte ieftină şi rapidă dar puţin flexibilă o constituie construirea RF ca un
tabel de corespondenţă (funcţie neliniară) între seturile posibile de valori de intrare şi valorile
comenzilor. Valorile numerice sunt stocate în memorii semiconductoare.

d) Implementarea cu microprocesoare sau coprocesoare fuzzy specializate


Procesoarele analogice sau microprocesoarele specializate pentru FLC reprezintă o
soluţie ideală din punctul de vedere al performanţelor, având în vedere că softul inclus este
specializat, dar preţul acestor circuite este încă ridicat.

42
e) Implementarea cu DSP-uri
După o perioadă de avânt a dispozitivelor fuzzy specializate, în ultimii ani se constată
deplasarea netă a interesului înspre utilizarea DSP-urilor (Digital Signal Processors). Aceste
dispozitive numerice, programabile dar în acelaşi timp extrem de rapide pot realiza, fără
adaptări speciale, toate operaţiile necesare conducerii fuzzy. Singura lor limitare este cea
impusă de preţul încă relativ ridicat al dezvoltării aplicaţiilor.

f) Implementarea cu circuite ASIC


Circuitele ASIC, dedicate fiecărei aplicaţii în parte, oferă cea mai mare viteză posibilă,
necesitatea lor apărând în aplicaţiile care presupun inferenţe cu durată mai mică de 0,1 ms,
cum ar fi cazul comenzii aprinderii la motoarele cu ardere internă. Se pune problema
construirii unui circuit ASIC doar în cazul seriilor foarte mari.

4.2. Etape ale aplicării în industrie a logicii fuzzy

Dintre principalele industrii, cea a automobilelor a manifestat cea mai bună


receptivitate la conceptul de conducere fuzzy. Exemple se găsesc cu uşurinţă: reglarea fuzzy
a regimului de ralenti, sistemul AICC (Automatic Intelligent Cruise Control), evaluarea stilului
de conducere, comanda nivelului sonor al echipamentului audio, a instalaţiei de aer
condiţionat, a frânării ABS, a cutiilor de viteze automate, a ambreiajului, etc. Se manifestă şi
intenţii de abordare a dirijării traficului, a conducerii automate a automobilelor şi în general de
aplicare a metodelor IA într-o măsură dictată de considerente pur tehnico-economice.
Există şi aplicaţii în industria spaţială: acţionarea unor subansambluri de poziţionare
fină sau dirijare, diagnosticare, etc. Este de remarcat şi interesul NASA în sistemele fuzzy-
expert (Fuzzy CLIPS98).
Deşi unii producători importanţi manifestă un oarecare interes pentru aplicarea logicii
fuzzy, (de exemplu GEC-Alsthom), în domeniul transporturilor feroviare, in Europa se
manifestă o oarecare reticenţă, din motive de percepţie a termenului, care nu este uşor de
alăturat conceptului esenţial de "siguranţă a circulaţiei". Pe de altă parte imaginea publică a
acestor aplicaţii este cu totul mascată de politicile diferitelor producători, prin protejarea
soluţiilor sau chiar prin disimularea elementelor fuzzy. Rezultă că adevăratul impact al logicii
fuzzy în acest domeniu nu poate fi evaluat nici măcar cu aproximare, probabil singurul său
indicator plauzibil fiind numărul comunicărilor ştiinţifice pe această temă, care la această oră
este relativ redus. Pe plan mondial pot fi totuşi identificate unele aplicaţii de un rafinament
deosebit, cum ar fi de exemplu sincronizarea tracţiunii unei locomotive suplimentare, plasate
la coada unui tren, cu locomotiva principală (India). Operaţia este executată printr-un
controler neuro-fuzzy, fără nici o comunicare între cele două locomotive [Chan95].
Numărul aplicaţiilor industriale fuzzy nu a crescut continuu, putându-se mai degrabă
distinge anumite perioade de avânt, urmate de altele de regres. De exemplu în Japonia, ţara
care a reprezentat cu siguranţă mediul cel mai propice pentru aplicarea CF, primul val fuzzy
s-a manifestat pe la mijlocul anilor '80, prin aplicaţii în conducerea unor procese industriale
complexe. Se pot aminti conducerea sistemului de trenuri suburbane din Sapporo şi apoi a
reţelei de metrouri Sendai prin sistemul ATO (Automatic Train Operation - Hitachi),
conducerea staţiilor de epurare a apelor (Fuji), conducerea sistemelor de lifturi în mari clădiri
(Hitachi), ventilarea supertunelelor de transport (Toshiba), incineratoare de gunoaie pentru
mari oraşe (Mitsubishi), etc. Tipice acestei faze sunt implementările software prin limbaje de
nivel înalt FOTRAN, C, etc. şi prin calculatoare de proces.
În această perioadă au început să apară şi aplicaţii casnice, cum ar fi instalaţia de
condiţionare a aerului Mitsubishi, diafragma de 8mm VCR (Sanyo), camera cu autofocali-
zare şi compensarea mişcărilor operatorului (Canon), gestionarea inteligentă a tracţiunii
(Subaru) şi altele, superioare produselor analoge nonfuzzy, dar fără un ecou deosebit în
conştiinţa publicului.
Al doilea val de aplicaţii fuzzy s-a propagat până la gama produselor de larg consum
fiind marcat de o maşină de spălat marca Panasonic (Matsushita Electric Industrial Co.
43
Ltd.) care a fost lansată în 1990 sub denumirea Aisai-go Day Fuzzy. A urmat o adevărată
explozie a produselor fuzzy, mai scumpe din cauza dotării cu diferiţi senzori suplimentari, dar
având performanţe deosebite. Astfel termenul "fuzzy" a ajuns să fie receptat de japonezi ca
având legătură cu inteligenţa.
Pentru aplicaţiile de masă unele firme japoneze au trecut în acea perioadă la dezvol-
tarea unor structuri hardware fuzzy digitale sau analogice. Rezultatele obţinute nu au fost
însă pe măsura aşteptărilor, în sensul că nu s-a putut impune o structură hardware fuzzy
care să justifice înlocuirea implementărilor hardware realizate între timp cu DSP-uri, a căror
flexibilitate şi capacitate de calcul este absolut suficientă în majoritatea aplicaţiilor.
Majoritatea implementărilor industriale sunt actualmente software, multe chiar prin
intermediul pe PC-urilor. Putem include şi implementările µC sau DSP în această categorie,
atâta vreme cât funcţionarea fuzzy este obţinută prin microprogramare.
O trecere în revistă a principalelor instrumente software de dezvoltare a aplicaţiilor
fuzzy include următoarele produse: CubiCalc (HyperLogic Corp.), TILShell (Togai
InfraLogic), FuzzyTech (INFORM), FIDE (Aptronix), RT/Fuzzy (Integrated Systems Inc.),
Fuzzy Knowledge Builder (Fuzzy Systems Engineering) şi Fuzz-C (Byte Craft Ltd.). La
acestea pot fi adăugate un pachet software destinat dezvoltării sistemelor fuzzy-expert
aplicat de NASA: FuzzyCLIPS (CLIPS produs de Johnson Space Center Software
Technology Branch iar extensia fuzzy de National Research Council of Canada) şi
toolkit-ul Fuzzy Logic Toolbox pentru MATLAB produs de MathWorks Inc. incluzând
interfeţele grafice FIS pentru sisteme fuzzy şi ANFIS pentru sisteme neuro-fuzzy.

4.3. Unele implementări hardware existente

Controlerele fuzzy dedicate pot fi analogice şi digitale.


Primul controler fuzzy analogic Omron FZ-1000 se datorează lucrărilor lui T.
Yamakawa, T. Miki, M. Sasaki, J. L. Huertas etc. Majoritatea lor operează în curent dar
prototipul primului computer fuzzy analogic YFC-1, proiectat de Takeshi Yamakawa în 1987
[Yama88], opera în tensiune. Funcţiile de apartenenţă erau modelate prin eşantioane
vehiculate prin intermediul unei magistrale de date analogice.

µA(x)
1

0 x

A = (0 0,1 0,2 ......................... 1 1 ............................... 0,2 0,1 0)


Fig. 10.1 Funcţie de apartenenţă eşantionată producând un cuvânt fuzzy
Pentru inferenţa min-max analogică se porneşte de la circuitele de bază min şi max
prezentate în fig. 4.2. Tensiunile reprezentând funcţiile de apartenenţă sunt cuprinse între 0V
pentru µA (x)= 0 şi 5 V pentru µA (x)= 1.

44
+VCC +VCC

x1 x2 ... xn IE2
IE1

YMAX
x1 x2 . . . xn YMIN IE1

IE2

-VEE -VEE
Comparator Compensator Comparator Compensator

yMIN 5v yMAX 5v

x2 , x3 , ...= parametri

x1 x1
5v 5v

Fig. 4.2 Porţile MIN şi MAX


Durata unei comutaţii este mai mică de 10 ns.
Pentru obţinerea inferenţei se mai utilizează o poartă cu efect de trunchiere a funcţi-
ilor de apartenenţă. Viteza realizată este de 10 Mega FIPS (106 inferenţe fuzzy/s).
Alt element de bază al YFC-1 este memoria, realizată cu o combinaţie complexă
RAM-PROM, prin care poziţia unei locaţii codifică valoarea numerică a unui eşantion. Pentru
un eşantion există 11 locaţii, corespunzând valorilor 0, 0,5, 1, ... 4,5, 5. Acest gen de me-
morie este în mod evident dezavantajoasă din cauza complexităţii sale.

Q(t+1) Q(t+1)
K. Hirota şi K Ozawa au
comunicat în realizarea bistabile-
lor fuzzy, asemănătoare bistabile-
lor JK, prin care se pot memora K K
valori de tensiuni analogice,
făcându-se posibilă construirea
de memorii fuzzy propriu-zise.
Sunt menţionate mai multe tipuri J Q(t)=0 J Q(t)=1
de bistabile (R, S) utilizând diferiţi
operatori. Fig. 10.3 Caracteristici de bistabil fuzzy

La un alt produs de referinţă, procesorul FP-9000 s-a trecut la utilizarea MF de ieşire


de tip singleton, simplificând arhitectura şi accelerând inferenţa. Tehnologia utilizată este
BiCMOS de 2µm, asigurând o viteză de 1.400.000 FIPS. Pentru accelerarea defuzzyficării s-
a construit un circuit special, FP-9001 în tehnologie bipolară, viteza controlerului obţinut fiind
de 625.000 FIPS.
Procesoarele digitale iniţiate în 1989 de Togai Infra Logic prin FC110 au fost fun-
damentate de lucrările lui M. Togai, H. Watanabe, W. Dettloff, H. Arikawa, H. Hirota, etc.
FC110, realizat în tehnologie Low Power CMOS poate realiza operaţii aritmetice, operaţii
fuzzy, transferuri de date etc., beneficiind de platforma de dezvoltare TIL Shell.

45
Dintre controlerele digitale fuzzy existente pe piaţă se pot menţiona: familia Omron
FP, familia American NeuraLogicx NLX (230, 231, 232); Togai FC110, controlerele pro-
duse de Glokner-Moller, Siemens, etc.
Principala direcţie de dezvoltare a CF digitale era anticipată în 1988 prin arhitectura
paralelă, pornind de la organizarea matricială a bazei de reguli. În articol sunt identificate
două posibilităţi de inferenţă paralelă. În prima variantă se prelucrează în paralel toate regu-
lile rezultând grade de apartenenţă care apoi sunt prelucrate secvenţial pentru stabilirea
ieşirii ferme. A doua variantă calculează în paralel gradele de apartenenţă ale tuturor acţiu-
nilor, regulile fiind calculate secvenţial. Pe măsură ce noi reguli sunt luate în considerare,
gradele de apartenenţă ale acţiunilor de comandă sunt reactualizate. Cele două variante
sunt asemănătoare, prima fiind recomandabilă când există un număr mare de reguli şi mai
puţine ieşiri, în timp ce varianta a doua este recomandabilă în cazul contrar. Totuşi, având în
vedere performanţele atinse de unele realizări µC şi DSP, care permit microprogramarea
funcţionării fuzzy dorite, soluţiile dedicate nu s-au impus la nivelul aşteptărilor.
Pentru obţinerea inferenţei se mai utilizează o poartă cu efect de trunchiere a
funcţiilor de apartenenţă. Viteza realizată este de 10 Mega FIPS (106 inferenţe fuzzy/sec).
Alt element de bază al YFC-1 este memoria, realizată cu o combinaţie complexă
RAM-PROM, prin care poziţia unei locaţii codifică valoarea numerică a unui eşantion. Pentru
un eşantion există 11 locaţii, corespunzând valorilor 0, 0,5, 1, ... 4,5, 5. Acest gen de
memorie este în mod evident dezavantajoasă.

Q(t+1) Q(t+1)
K. Hirota şi K Ozawa au
comunicat în [17] realizarea
bistabilelor fuzzy, asemănătoare
bistabilelor JK, prin care se pot K K
memora valori de tensiuni
analogice, făcându-se posibilă
construirea de memorii fuzzy
propriuzise. Sunt menţionate mai J Q(t)=0 J Q(t)=1
multe tipuri de bistabile (R, S)
utilizând diferiţi operatori. Fig. 4.6 Caracteristici de bistabil fuzzy

O abordare teoretică a memoriilor fuzzy avansate este făcută de Ronald R. Yager


(Generalized Fuzzy and Matrix Associative Memories) în “Journal of Intelligent & Fuzzy
Systems”, vol. 1, nr. 1, pag. 43 - 53, John Wiley & Sons, 1993).
La un alt produs de referinţă, procesorul FP-9000 s-a trecut la utilizarea MF de ieşire
de tip singleton, simplificând arhitectura şi accelerând inferenţa. Tehnologia utilizată este
BiCMOS de 2µm, asigurând o viteză de 1.400.000 inferenţe / sec. Pentru accelerarea
defuzzyficării s-a construit un circuit special, FP-9001 în tehnologie bipolară, viteza
controlerului obţinut fiind de 625.000 inferenţe / sec.
Procesoarele digitale iniţiate In 1989 de Togai Infra Logic prin procesorul FC110 au
fost fundamentate de lucrările lui M. Togai, H. Watanabe, W. Dettloff, H. Arikawa, H.
Hirota, etc.
FC110, realizat în tehnologie Low Power CMOS poate realiza operaţii aritmetice,
operaţii fuzzy, transferuri de date, etc., beneficiind de platforma de dezvoltare TIL Shell.
Dintre controlerele fuzzy existente pe piaţă se pot menţiona: familia FP Omron,
familia NLX (230, 231, 232) - American NeuraLogicx; FC110 - Togai, controlerele produse
de Siemens, Glokner-Moller, etc.

46
4.4. Posibilităţi de implementare a regulatoarelor fuzzy-interpolative prin circuite
integrate analogice

4.4.1. Utilitatea integrării analogice a regulatoarelor fuzzy-interpolative

Premisele implementării hardware analogice a regulatoarelor fuzzy-interpolative sunt


următoarele:

• structura lor permite implementarea analogică;


• prin realizarea unui circuit integrat fuzzy-interpolativ se vizează ocuparea unei nişe relativ
libere de pe piaţa echipamentelor de automatizare: cea a regulatoarelor integrate adaptive
de uz extrem de larg, având un preţ scăzut şi ajustarea facilă, în stare să reducă semnificativ
complexitatea şi preţul unui sistem de reglare automată a proceselor industriale neliniare;
• arhitectura acestui regulator integrat trebuie să fie analogică sau hibridă; blocurile impli-
cate direct în reglare trebuie realizate în tehnologie analogică, pentru a se obţine viteză, preţ
redus şi fiabilitate; partea analogică poate fi completată cu o parte digitală necesară auto-
diagnosticării şi conectării la reţelele informatice industriale.

Dispunând de un multiplicator analogic se poate obţine un circuit de împărţire, de


exemplu folosind schema din Fig. 4.5. Astfel în principiu, oricare dintre operaţiile cerute de
implementarea unui interpolator liniar este realizabilă.
Principala problemă ridicată de integrarea analogică este ridicată de realizarea
operaţiei de multiplicare analogică printr-o schemă integrabilă. Mai mult, este de dorit ca
această operaţie să aibă un domeniu de precizie acceptabilă cât mai extins. Din cele de mai
sus rezultă că nu sunt satisfăcătoare soluţiile de multiplicare sau interpolare liniară clasice,
bazate modulări ale impulsurilor în durată sau integrări, care scad decisiv viteza de operare.
La rândul lor multiplicatoarele bazate pe amplificatoare operaţionale necesită scheme
încărcate iar precizia obţinută nu este deosebită.

y
x
R2
R1
x -
V0 = - (R2 / R1) · (x / y)
+
R3

Fig. 4.4 Schemă de împărţire analogică

4.4.2. Circuite translineare


O soluţie fundamentală a problemei este oferită de circuitele translineare (Translinear
Circuits) CT. Aceste circuite au fost dezvoltate iniţial în tehnologie bipolară (B. Gilbert,
"Translinear Circuits: A proposed Clasification", Electron. Lett., nr. 11, pag. 14-16, 1975),
pentru ca ulterior să fie asimilate şi în tehnologie MOSFET (J.N. Babanezhad, G.C. Temes,
"A 20-V Four-Quadrant CMOS Analog Multiplier", IEEE J. Solid-State Circuits, vol. SC-20,
pag. 1158-1168, 1985 şi E. Seevink, R.J. Wiegerink, "Generalized Translinear Circuit
Principle", IEEE J. Solid-State Circuits, nr. 26, pag. 1098-1102, 1991).
În continuare este prezentată schema multiplicatorului analogic CMOS din Fig. 4.5.
Multiplicarea este realizată prin celula Gilbert funcţionând în patru cadrane (Folded CMOS
Gilbert Cell) formată din tranzistoarele M1, M2, M3, M4, M5 şi M6. Curentul de polarizare a
perechii diferenţiale a intrării y este obţinut din tensiunea de mod comun VCX cu ajutorul cir-
cuitului de liniarizare M9 - M10 şi al oglinzii de curent M11 - M12. Acest curent este reprodus
47
prin efect oglindă de către perechea M13 - M14 pentru a polariza repetoarele pe sursă M17 şi
M18 utilizate la deplasarea nivelului semnalului de intrare x. M7 şi M8 au rolul de a liniariza
intrarea x. Restul tranzistoarelor contribuie la polarizarea circuitului. Tensiunea VCX este
necesară pentru a menţine tranzistoarele în regim de saturaţie.
Semnalul de ieşire V0 este obţinut cu ajutorul rezistenţelor de sarcină RD şi are
valoarea:

V0 = 2 ⋅ K N ⋅ (W/L) N ⋅ K P ⋅ (W/L) P ⋅ R D ⋅ Vx ⋅ Vy (4.1)

unde K = µ·COX/2 cu µ mobilitatea purtătorilor (electroni/goluri) şi COX capacitatea unităţii de


suprafaţă a stratului de oxid iar W/L raportul lăţime/lungime al canalului. Indicii N şi P se
referă la tranzistoarele cu canal n respectiv p din compunerea celulei (M1, M2, M3 şi M4 res-
pectiv M5, M6, M7 şi M8).
Datorită circuitelor de liniarizare domeniul de funcţionare precisă a multiplicatorului
prezentat este mult mai larg decât al unui multiplicator clasic.

48
VDD

M15 M16
M11 M12 RD RD M13 M14

+ V0 -

Vy
+
-
M5 M6 M1 M2 M3 M4 M17 M7 M8 Vx
-

M18

M9 M10 +
VCX
- M19 M20 M21

-VDD

Fig. 4.5 Multiplicator analogic Gilbert liniarizat pentru patru cadrane, integrat în tehnologie CMOS

49