Capitolul 6. Sisteme de conducere fuzzy
-69
Capitolul 12
Sisteme de conducere fuzzy 12.1 Introducere Metod etodeele de con ondu duce cere re con onve venţ nţio iona nală lă se ba baze zeaază pe o mod modela elare coresp corespunz unzăto ătoare are a sistem sistemulu uluii sup supus us reglăr reglării ii şi o tratar trataree analit analitică ică cu ajuto ajutorul rul funcţiilor de transfer sau a ecuaţiilor de stare. În majoritatea cazurilor, o tratare completă a problemei conducerii impune cunoştinţe avansate de matematică şi sisteme de conducere. În contrast cu tehnicile convenţionale, metodele fuzz de conducere oferă soluţii mult mai pragmatice, cu evidente facilităţi de aplicare !n domenii diverse, impun"nd cunoştinţe de nivel acceptabil !n domeniul sistemelor, logică de control şi tehnologie. #tilizarea logicii fuzz !n implementarea unor sisteme de conducere !n condi con diţii ţiile le absenţ absenţei ei une uneii inform informaţi aţiii total totalee asupra asupra sistem sistemulu uluii a reprez reprezent entat at,, de asemenea, unul din factorii care au determinat larga răsp"ndire a controlului fuzz !n cele mai diverse domenii. $m asistat % !n ultimele două decenii& şi asistam la o adevărată e'plozie a tehnicilor de implementare de tip fuzz at"t !n problemele clasice de control c"t şi !n domeniul sistemelor e'pert, ale inteligenţei artificiale sau !n comple'ele probleme de decizii !n domeniul economic. Conceptul de (ogică )uzz a fost introdus pentru prima dată de (otfi $. *adeh de la #niversitatea din California, +erle, !n -6/ !n lucrarea )uzz 0ets 1-2. (a acea epocă, de afirmare a calculatoarelor numerice bazate pe logică e'actă 3, -, un astfel de concept părea neverosimil. *adeh, prin această logică fuzz a impus o altă modalitate de tratare a problemelor !n care mărimile ce determină evoluţia unui sistem nu au frontierele clar definite, 3 sau -, alb sau negru, aceasta put"nd fi asociate unei anumite zone incerte, 4gri5. e fapt, logica fuzz dă o nouă interpretare a 4logicii cu mai multe valori5 formulată de (uasievici 172. e e'emplu, sistemele ternare %cu trei valori logice 3, -87, -& au fost studiate !n
-6?
Roboţi industriali industriali
nenumărate lucrări de algebră de comutaţie, dar *adeh a introdus conceptul de mulţime fuzz, fuzz, 4vagă5 pentru cazurile c"nd frontiera valorii -87 are o caracteristică incertă. :rimele aplicaţii ale acestui nou concept au apărut !n jurul anilor -;/ !n domeniile economic şi medicină. #lterior, japonezii au introdus metodele fuzz !n sist sistem emel elee de co cont ntro roll cu ap apli lica caţi ţiii div diverse erse !n indu indust stri riee sau sau !n echi echipa pame mennte electrocasnice. 0f"rşitul secolului trecut marchează o creştere spectaculoasă a metodelor fuzz datorată at"t noilor domenii de aplicaţie< robotică, inteligenţă artificială, industrie uşoară, industria materiilor compozite, navigaţie, economie, etc., c"t şi e'tinderii geografice a noilor utilizatori !n 0#$ şi =uropa.
12.2 Principiul logicii fuzzy (ogica fuzz poate fi interpretată ca un concept de implementare a logicii umane !n problemele de tip ingineresc. În limbajul uman e'istă diferite tipuri de inceritudini numite frecvent frecvent 4incertitudini 4incertitudini le'icale5 le'icale5 care identifică identifică imprecizia !n evaluarea unor concepte sau !n stabilirea unor concluzii. 0ă considerăm cuvinte ca 4bărbat !nalt5, 4bărbat t"năr5 sau 4zi caldă5, ce nu e'primă foarte clar atributul asociat. #n bărbat poate fi !nalt dacă are -,>3 m, dar unul care are numai -,; m nu poate fi considerat imediat ca unul de 4!nălţime medie5. e asemenea, atributul de !nalt poate fi diferit interpretat de un copil, pentru care toţi toţi bărbaţii sunt !nalţi, !nalţi, şi altfel de de un adult. În aceeaşi manieră se poate interpreta 4bărbat t"năr5. :entru un om de 63 de ani, toţi cei care au /? de ani pot intra !n această categorie, ceea ce evident că nu corespunde unor alte criterii de apreciere. $cesta poate fi considerat 4!ntre două v"rste5 sau 4!n v"rstă5, dar delimitarea nu poate fi !n nici un caz e'actă. $ces $c este te e' e'em empl plee sug sugerea erează ză fapt faptuul că o ev even entu tual alăă ab abor orda dare re a aces acesto tor r incertitudini !ntr@o tratare logică necesită introducerea unui model matematic. 0ă reconsiderăm, pentru e'emplificare, modelul lingvistic 4bărbaţi !nalţi5. Într@o tratare convenţională, conform teoriei mulţimilor, mulţimea 4bărbaţi !nalţi5 va cuprinde toţi bărbaţii cu !nălţime peste -,;; m %de e'emplu&. eci se poate introduce o funcţie care să poată identifica e'act apartenenţa sau neapartenenţa unui element %bărbat& la această mulţime %figura -7.-&.
-6?
Roboţi industriali industriali
nenumărate lucrări de algebră de comutaţie, dar *adeh a introdus conceptul de mulţime fuzz, fuzz, 4vagă5 pentru cazurile c"nd frontiera valorii -87 are o caracteristică incertă. :rimele aplicaţii ale acestui nou concept au apărut !n jurul anilor -;/ !n domeniile economic şi medicină. #lterior, japonezii au introdus metodele fuzz !n sist sistem emel elee de co cont ntro roll cu ap apli lica caţi ţiii div diverse erse !n indu indust stri riee sau sau !n echi echipa pame mennte electrocasnice. 0f"rşitul secolului trecut marchează o creştere spectaculoasă a metodelor fuzz datorată at"t noilor domenii de aplicaţie< robotică, inteligenţă artificială, industrie uşoară, industria materiilor compozite, navigaţie, economie, etc., c"t şi e'tinderii geografice a noilor utilizatori !n 0#$ şi =uropa.
12.2 Principiul logicii fuzzy (ogica fuzz poate fi interpretată ca un concept de implementare a logicii umane !n problemele de tip ingineresc. În limbajul uman e'istă diferite tipuri de inceritudini numite frecvent frecvent 4incertitudini 4incertitudini le'icale5 le'icale5 care identifică identifică imprecizia !n evaluarea unor concepte sau !n stabilirea unor concluzii. 0ă considerăm cuvinte ca 4bărbat !nalt5, 4bărbat t"năr5 sau 4zi caldă5, ce nu e'primă foarte clar atributul asociat. #n bărbat poate fi !nalt dacă are -,>3 m, dar unul care are numai -,; m nu poate fi considerat imediat ca unul de 4!nălţime medie5. e asemenea, atributul de !nalt poate fi diferit interpretat de un copil, pentru care toţi toţi bărbaţii sunt !nalţi, !nalţi, şi altfel de de un adult. În aceeaşi manieră se poate interpreta 4bărbat t"năr5. :entru un om de 63 de ani, toţi cei care au /? de ani pot intra !n această categorie, ceea ce evident că nu corespunde unor alte criterii de apreciere. $cesta poate fi considerat 4!ntre două v"rste5 sau 4!n v"rstă5, dar delimitarea nu poate fi !n nici un caz e'actă. $ces $c este te e' e'em empl plee sug sugerea erează ză fapt faptuul că o ev even entu tual alăă ab abor orda dare re a aces acesto tor r incertitudini !ntr@o tratare logică necesită introducerea unui model matematic. 0ă reconsiderăm, pentru e'emplificare, modelul lingvistic 4bărbaţi !nalţi5. Într@o tratare convenţională, conform teoriei mulţimilor, mulţimea 4bărbaţi !nalţi5 va cuprinde toţi bărbaţii cu !nălţime peste -,;; m %de e'emplu&. eci se poate introduce o funcţie care să poată identifica e'act apartenenţa sau neapartenenţa unui element %bărbat& la această mulţime %figura -7.-&.
Capitolul 6. Sisteme de conducere fuzzy
-6/
În figura -7.7 este prezentată o mulţime !n care elementele ei pot fi 4mai mult sau mai puţin5 definite ca 4bărbaţi !nalţi5. $ceastă mulţime este o 4mulţime fuzz5.)iecărui element al acestei mulţimi i se poate asocia un anumit grad de apar ap arte tene nenţ nţăă la 4b 4băr ărba baţi ţi !nal !nalţi ţi5. 5. $c $ces estt grad grad este este nu numi mitt 4g 4gra radd al func funcţi ţiei ei de apartenenţă5 %'& al elementului ' A. Mulţime 4+ărbaţi !nalţi5
-,6?
-,3
-,;>
-,7
-,>/ -,;7
-,6>
-,;3
-,?>
)igura -7.-
-,;/
Mulţimea 4+ărbaţi !nalţi5 conform teoriei convenţionale a mulţimilor
Mulţime fuzz 4+ărbaţi !nalţi5 -,;> -,3
-,>>
-,6?
-,>/ -,;?
-,;7 -,?>
)igu )igura ra -7 -7.7 .7
-,;3
-,7
-,;/ -,6>
Mulţ Mu lţim imea ea fuzz fuzz 4+ăr 4+ărba baţi ţi !nal !nalţi ţi55
Beprezentarea printr@o funcţie continuă a funcţiei de apartenenţă este redată !n figura -7.9. Bangul lui este de la 3 la -7.
-66
Roboţi industriali industriali
%'& ' -,// -,63 -,6/ -,;3 -,;/ -,>3 -,3 -,/
)igura -7.9 -7.9 )uncţia de apartenenţă apartenenţă %'& %'&
4 bărbaţi scunzi5
-
4bărbaţi de !nălţime medie 5
4bărbaţi !nalţi5
' -,/3 -,// -,63 -,6/ -,;3 -,;/ -,>3 -,>/ -,3
)igura -7.? )uncţii de aprtenenţă aprtenenţă pentru c"teva c"teva etichete lingvistice ='emplul de mai sus poate fi e'tins şi pentru alte 4etichete lingvistice5 cum ar fi< 4bărbaţi scunzi5 şi 4bărbaţi de !nălţime medie5 cărora li se vor atribui funcţii de apartenenţă corespunzătoare %figura -7.?&. eci funcţia de apartenenţă transformă A !ntr@un spaţiu M al funcţiei de apartenenţă %'&. acă M conţine numai două puncte 3 şi -, atunci caracterul incert dispare şi se poate discuta de o mulţime convenţională %figura -7./&. $ -
-,>3 )igura -7./
'
Capitolul 6. Sisteme de conducere fuzzy
-6;
acă se consideră submulţimea bărbaţilor cu !nălţime 4peste -,>3 m5 atunci fiecare element ' al universului de discurs poate aparţine sau nu %cu certitudine& acestei submulţimi< %-7.-&
A:X [0,1] [0,1]
0ă considerăm universul A definit de mulţimea valorilor unghiulare ale unui braţ robot !n coordonate cilindrice. În jurul poziţiei de echilibru a braţului se pot defini defini următoa următoarel relee etich etichet etee lingvi lingvisti stice ce<< *=BD, *=BD, :D*EFE :D*EFEG G M=E=, M=E=, :D*EFE :D*EFEG G M$B=, H=I$FEG M=E=, H=I$FEG M$B=, ceea ce corespunde unei delimitări !n coordonate unghiulare ca cea sugerată !n figura -7.6. $cestora li se pot asocia funcţiile de apartenenţă reprezentate !n figura -7.;. *=BD :D*EFEG M=E= H=I$FEG H=I$FEG M$B=
K
:D*EFEG M$B= :oziţie iniţială
)igura -7.6 =lementele prezentate mai sus permit introducerea conceptului de 4mulţime fuzz5 şi identificarea elementelor sale specifice. D mulţime clasică %mulţime crisp& este definită ca o colecţie de elemente sau obiecte 'A care poate fi finită, numărabilă sau nu. acă considerăm acum o submulţime $, $ A, un element ' poate să 4aparţină lui $5 sau să 4nu aparţină lui $5. acă '$ atunci atunci declaraţia 4aparţine lui $5 este adevărată, !n caz contrar fiind falsă. J D mulţime fuzz A este o mulţime de perechi ordonate< J
A x, AJ x 8 x X
%-7.7&
-6>
Roboţi industriali
J unde AJ x este funcţia de apartenenţă a lui ' !n A . e e'emplu, să considerăm poziţia braţului ?3 3 . :entru cele / variabile lingvistice reprezentate !n )igura -7.;, poziţia ?3 3 va fi definită prin<
%-7.9&
E!A"#$%AR E ?3 3 3
%-7.?&
E!A"#$%E& ##E ?3 3 3
?3 3.7 ?3 3.>
'ER( ?3 3 3 )('#"#$%E& #E
)('#"#$%AR E
%-7./& %-7.6&
3
3
%-7.;&
eci, mulţimea fuzz asociată mulţimii :D*EFEG M$B= va fi< J A )('#"#$%AR E ..., ?3,3.> , /3,- , 63.3.> ,...
%-7.>& :entru submulţimea *=BD obţinem< J A 'ER( ..., -/,3 , -3,3 , /,3./ , 3,-, /,3./ , -3,3 ,...
%-7.& În mod similar pot fi construite submulţimile fuzz pentru celelalte funcţii de apartenenţă prezentate !n figura -7.;. D notaţie destul de frecvent !nt"lnită !n literatura de specialitate 17, 92 pentru un univers de discurs discret şi finit este dată de< H=I$FEG M$B=
H=I$FEG *=BD :D*EFEG M=E= M=E=
:D*EFEG M$B=
3,>
3,7
K3 @3
@/3
@-3 3
-3
)igura -7.;
/3
3
Capitolul 6. Sisteme de conducere fuzzy J
A
AJ x- x-
AJ x 7 x 7
... i
-6 AJ xi
%-7.-3&
xi
iar !n cazul universului de discurs continuu şi infinit se utilizează< J A
AJ x
x
%-7.--&
12.3 Funcţii de apartenenţă ='emplele precedente au pus !n evidenţă importanţa cunoaşterii funcţiei de apartenenţă !n condiţiile definirii corecte a unei mulţimi fuzz. Conform elementelor prezentate anterior, consider"nd A un univers de discurs şi o J submulţime $ a lui A, atunci submulţimii fuzz A i se asociază funcţia caracteristică, funcţia de apartenenţă< AJ < X 3,-
%-7.-7&
prin care este specificat gradul prin care ' este un membru al submulţimii $. )ormele cele mai des !nt"lnite ale funcţiilor de apartenenţă !n aplicaţii industriale sunt cele triunghiulare şi trapezoidale %figura -7.>& 172, 192. M7
M-
M7
M9
M-
M7
M-
)igura -7.>
M9 M9
M?
)uncţii de apartenenţă triunghiulare şi trapezoidale
-;3
Roboţi industriali
Iradul de apartenenţă este e'primat, !n aceste cazuri, prin relaţii liniare. În mod normal, aceste funcţii sunt definite prin punctele de referinţă M -, M7, M9 sau M-, M7, M9, M?, respectiv. 0unt utilizate de asemenea şi alte forme 192 %figura -7.&.
-
%a&
3./ a
'3 a
'
-
%b&
3./ a )igura -7.
'3
'
a
)uncţii de apartenenţă 4clopot5
definite prin relaţiile< x
7 x x3 L x - a
%-7.-9&
respectiv< x
x x3 - cos L x3 7a x x3 7a 7 7a
%-7.-?&
unde x0 defineşte poziţia v"rfului pentru *- iar a reprezintă lărgimea domeniului. D funcţie de apartenenţă care derivă din caracteristica trapezoidală şi cea definită de relaţia %-7.-?& poate fi determinată de relaţiile 192<
Capitolul 6. Sisteme de conducere fuzzy x
-;-
x x- - cos L x- 7a- x x7 7a-
%-7.-/& x - L x- x x7 x
%-7.-6&
x x7 - cos L x7 x x7 7a7 7 7a 7
%-7.-;&
)orma acestei funcţii este prezentată !n figura -7.-3. %x&
-
'-
'7
'
a)igura -7.-3
)uncţia de apartenenţă definită prin relaţiile %-7.-/ N -7.-;&
)orma generală a unei funcţii de apartenenţă este prezentată !n )igura -7.--7. În structura reprezentării distingem următoarele zone< ! baza funcţiei de apartenenţă definită ca acea regiune a universului de discurs pentru care AJ x - .
! suportul corespunde acelei regiuni a universului pentru care AJ x " 3 . ! frontierele funcţiei de apartenenţă sunt definite ca acele regiuni pentru care 3 AJ x - . :unctelor de pe frontieră le sunt asociate o 4anumită incertitudine5.
-;7
Roboţi industriali
-
frontiera
baza
frontiera
suport )igura -7.--
)orma generală a unei funcţii de apartenenţă
12.4 Strategia de control lingistică 0ă reconsiderăm cazul comenzii unui braţ de robot %figura -7.6&. 0ă presupunem că dorim să mişcăm braţul din poziţia iniţială % i >3 3 & !n poziţia de origine, dorită % d 3 3 &. Conducerea convenţională a braţului este bazată pe procesarea erorii, e t d t t
%-7.->&
utiliz"nd regulatoare standarde :E sau :E %figura -7.-7&.
d
e
Begulator :E
%
+B$O
@
)igura -7.-7
0istem de conducere convenţional
Capitolul 6. Sisteme de conducere fuzzy
-;9
$lgoritmul de control al braţului determină o lege de variaţie a cuplului de acţionare %+t astfel !nc"t eroarea staţionară a sistemului să tindă către valoarea zero. e s lim e t 3
%-7.-&
t
D astfel de abordare impune o analiză e'actă a mişcării braţului, determinarea ecuaţiilor diferenţiale ce guvernează mişcarea precum şi calculul corespunzător al parametrilor regulatorului !n scopul obţinerii performanţelor dorite. D tratare cu totul diferită de procedura de control convenţională este oferită de aşa numită 4strategie de control lingvistică5. #n operator uman poate realiza un control cu performanţe acceptabile printr@o evaluare euristică a poziţiei %a erorii de urmărire& şi luarea unor decizii corespunzătoare. În esenţă, un operator va acţiona după următoarele reguli< -. :orneşte braţul din poziţia iniţială cu o valoare 4medie5 a cuplului % . 7. acă distanţa faţă de poziţia dorită 4mare5, creşte valoarea cuplului la o valoare 4mare5. 9. acă distanţa este 4medie5 el micşorează valoarea cuplului la o valoare 4medie5. ?. acă distanţa este 4zero5 valoare cuplului este redusă la 4zero5 sau se poate impune chiar o valoare 4negativă zero5 astfel !nc"t să fie realizată oprirea !n poziţia dorită. Begulile precizate impun introducerea unor mulţimi fuzz corespunzătoare pe universul de discurs reprezentat de 4cuplul de acţionare5. Convenţional acestea vor fi notate prin< H=I$FEG *=BD, :D*EFEG *=BD, M=E=, M$B= şi cărora li se va asocia funcţii de apartenenţă de tip triunghiular %figura -7.-9&. :D*EFEG M=E= *=BD
H=I$FEG *=BD
@M-
3
PM-
M$B=
PM7
PM9
M
-;?
Roboţi industriali
)igura -7.-9
)uncţii de apartenenţă ale cuplului de acţionare
0crise !ntr@un formalism specific controlului fuzz, regulile de mai sus sunt specificate prin aşa numitele 4reguli Ef@Fhen5. Begula If #nghiul:D*EFEG M$B= !"en CuplulM$B= If #nghiul:D*EFEG M=E# Begula 7 !"en CuplulM=E= If #nghiul*=BD Begula 9 !"en CuplulH=I$FEG *=BD Begulile prezentate mai sus definesc aşa numitul mecanism de 4inferenţă5 ce reprezintă o etapă importantă !n introducerea conceptului 4fuzz5 !ntr@un sistem de conducere. =vident, aceste reguli au, !n acest e'emplu, o formă simplă, corespunz"nd problemei tratate. 0ă presupunem că mişcarea braţului din poziţia iniţială p"nă !n poziţia dorită face parte dintr@un ciclu tehnologic de preluare a unei piese supusă unui proces de tratare termică. Entroduc"nd o nouă variabilă F=M:=B$F#B$ , asociindu@i acesteia domeniile< F=M:=B$F#BQ RD$0Q, F=M:=B$F#BQ M=E=, F=M:=B$F#BQ M$B= şi asociindu@le funcţiile de apartenenţă din figura -7.-?, regulile prezentate mai sus vor introduce condiţii suplimentare. $ceste condiţii sunt impuse !n corpului regulii prin operatori SE %$H&, respectiv 0$# %DB&, !n funcţie de logica interpretării. $stfel, noile reguli vor avea forma< Begula - IF #nghiul:D*EFEG M$B= $H Femperatura F=M:=B$F#B$ RD$0Q !#$% Cuplul:D*EFEG *=BD Begula 7 IF #nghiul:D*EFEG M=E# $H Femperatura F=M:=B$F#BQ M=E= !#$% CuplulM$B=
-
F=M:. RD$0Q
73
F=M:. M=E=
-33
F=M:. M$B=
-333
-3333
F=M:=B$F#BQ
Capitolul 6. Sisteme de conducere fuzzy )igura -7.-?
-;/
)uncţii de apartenenţă ale variabilei Femperatură
Begula - se interpretează astfel< dacă piesa ce urmează a fi preluată nu este suficient !ncălzită %F=M:=B$F#BQ RD$0Q& atunci mişcarea braţului nu este necesară %Cuplu:D*EFEG *=BD&. :entru Begula 7 avem următoarea interpretare< dacă Femperatura atinge valoarea necesară %domeniul F=M:=B$F#BQ M=E=& şi dacă braţul are poziţia iniţială %#nghiul:D*EFEG M$B=& atunci braţul este pus !n mişcare %CupluM$B=& pentru prinderea piesei, etc. esigur, !n alte situaţii pot apare şi operatori de tipul 0$# %DB& sau negaţie %HDF& care implementează !n concept fuzz logica clasică.
12.& 'peratori (n logică fuzzy Dperatorii uzuali H=I$OE=, SE, 0$# sunt trataţi !n logică fuzz prin aplicarea regulilor 4min5, 4ma'5 asupra funcţiilor de apartenenţă. 12.&.1 'peratorul S)* +',J J J 0e vor considera trei mulţimi fuzz A , , . , definite pe acelaşi univers de discurs A. Dperatorul 0$# corespunde operaţiei de reuniune<
J J J . A -
%-7.73&
În tratarea fuzz, operatorul este realizat prin funcţia de ma'im aplicată la nivelul funcţiilor de apartenenţă %figura -7.-/&< J x ma' J x , J x . A
%-7.7-&
În cazul !n care variabilele sunt diferite, procedura se păstrează< J x, y ma' J x , J y . A
%-7.77&
=vident că anumite proprietăţi ale algebrei logice convenţionale %booleene&, comutativitatea şi idempotenţă se păstrează.
-;6
Roboţi industriali J ma' J , J ma' J , J . A A
%-7.79&
&J ma' AJ , -J , . J ma' ma' AJ , -J , . J
J ma' ma' J , , J ma' AJ , ma' -J , . . A
J ma' J , J J . A A A
%-7.7?&
Dperatorul 0$# poate fi construit şi prin operaţia aritmetică de adunare, mai precis de mediere J x, y .
7
AJ x -J x
%-7.7/&
ivizarea prin 7 s@a impus pentru a e'clude eventualele depăşiri a valorii - a funcţiilor rezultate prin !nsumare. -
' -J
-
' J .
-
' )igura -7.-/
Dperatorul 0$# realizat prin 4ma'imum5
12.&.2 'peratorul I +)%/-
Ca şi !n algebra convenţională acest operator se obţine prin operaţia de intersecţie realizată la nivelul funcţiilor de apartenenţă prin operatorul 4minim5<
Capitolul 6. Sisteme de conducere fuzzy
-;;
J J J . A -
%-7.76& %-7.7;&
J x min J x , J x . A
În figura -7.-6 este prezentat operatorul SE prin operaţia de 4minim5 aplicată funcţiilor de apartenenţă. Foate proprietăţile descrise mai sus se regăsesc şi la acest operator< J x, y min J x , J y . A
%-7.7>&
J min J , J min J , J . A A
%-7.7& J min min J , J , J &J min AJ , -J , . A . J min AJ , min -J , . J min min AJ , . , -
%-7.93&
În foarte multe aplicaţii, operatorul SE este realizat prin operaţia aritmetică de !nmulţire< J x J x # J x . A
-
%-7.9-&
AJ
' -J
-
' J .
'
-;>
Roboţi industriali
)igura -7.-6
Dperator SE realizat prin operaţia 4minimum5
12.&.3 'peratorul %$0)I$ +%'!-
$cest operator realizează complementul funcţiei de apartenenţă !n raport cu - %figura -7.-;&< J J . A
%-7.97& %-7.99&
J x - J x . A
-
' -
'
)igura -7.-;
Dperatorul H# %Hegaţie&
1. Proprietăţi generale ale unui sistem de conducere (n logică fuzzy 0istemele convenţionale de conducere ale unui robot %ale componentelor sale mecanice& se !ncadrează !n configuraţia clasică a sistemelor de reglare %figura -7.->&.
/d
e
Begulator
u
0ist. de acţionare
um
=lement mecanic
@ /"
Fraductor )igura -7.->
0istem convenţional de conducere
/
Capitolul 6. Sisteme de conducere fuzzy
-;
Într@o astfel de structură, valoare dorită a variabilei de poziţie %de referinţă& /d este comparată cu valoarea reală măsurată de traductor % /" &. =roarea rezultată este procesată !ntr@un regulator care generează mărimea de comandă a sistemului de acţionare u şi prin aceasta este determinată mişcarea elementului mecanic %braţul robotului&< e / d /"
Begulatoarele uzuale utilizate !n aceste sisteme sunt de tipul :, :E şi :E, ele asigur"nd, !n condiţii de alegere corespunzătoare a parametrilor regulatorului, performanţele de control dorite. #n sistem de conducere !n logică fuzz %0C()& respectă configuraţia generală a oricărui sistem de conducere, rolul regulatorului convenţional fiind preluat de un Controler !n (ogică )uzz %C()& %figura -7.-&.
/d
e
C()
u
0ist. de acţionare
=lement mecanic
/
@ /"
Fraductor )igura -7.-
0istem de conducere !n logică fuzz
#n C() va implementa, deci, un algoritm de conducere care, prin procesarea erorii e %sau a unui vector eroare e e- e7 . . . en " & să determine performanţele calitative dorite pentru !ntregul sistem de conducere, !n mod curent obţinerea unei erori staţionare zero. În contrast cu regulatorul standard, C() nu implementează o relaţie mate@ matică bine definită %algoritmul de reglare& ci utilizează inferenţe cu mai multe re@ guli bazate pe variabile lingvistice şi care sunt tratate prin operatori !n logică fuzz. Configuraţia generală a unui C() cuprinde trei părţi %figura -7.73& 17, 9, 62<
! )uzificare ! Enferenţe %baza de reguli& ! efuzificare.
->3
Roboţi industriali
e
)#*E)EC$B=
Gariabile crisp
EH)=B=HO=
Gariabile fuzz )igura -7.73
=)#*E)EC$B=
Gariabile fuzz
u
Gariabile crisp
0tructura unui C()
+locul de fuzificare transformă datele de intrare, eroarea sistemului, !n mărimi fuzz, atribuind acestor mărimi variabile lingvistice şi asociindu@le funcţii de apartenenţă corespunzătoare. +locul de inferenţe reprezintă partea principală a unui C(). $cest bloc generează legea de control sub forma unei familii de reguli logice de tipul E)...FT=H ce descriu relaţiile !ntre intrarea e %eroare& şi ieşirea u a controlerului. $dapt"nd un model direct, aceste reguli implementează de fapt o lege de forma generală< u 1 2 e 1 , e 1 - ,..., e 1 0 , u 1 - , u 1 7 ,..., u 1 0
%-7.9?& in considerente practice, implementarea unei astfel de legi pentru 0 $ este e'trem de comple'ă şi dificil de aplicat. În mod curent, legea de control de mai sus capătă forma simplificată< u 1 2 e 1 , e 1 - , u 1 -
%-7.9/& sau< u 1 2 e 1 , e 1 -
%-7.96&
='istenţa unei legi de conducere de tipul %-7.?7&@%-7.6.??& nu !nseamnă că C() poate fi definit printr@o funcţie de transfer sau printr@o ecuaţie de diferenţe. (egea de control este generată prin baza de reguli E)...FT=H sub forma< %u 1 u 1 u 1 -
%-7.9;&
Capitolul 6. Sisteme de conducere fuzzy
->-
şi deci ieşirea actuală se obţine sub forma< u 1 u 1 - %u 1
%-7.9>&
un astfel de C() este numit C()@Mamdani după numele cercetătorilor Mamdani şi $ssilian care l@au propus prima dată !n anul -;/ %figura -7.7-& 1-72. e
U
@
e 1 - )igura -7.7-
%u CF
u%& U
%e
Gariabilele de intrare şi ieşire !ntr@un C()
)iecare din regulile bazei este caracterizată printr@o parte E) numită 4antecedent5 şi o parte FT=H numită 4consecinţă5. $ntecedentul unei reguli conţine setul de condiţii, consecinţa conţine concluzia. Modul !n care operează C()@ul este următorul< dacă condiţiile antecedentului sunt satisfăcute, atunci concluzia, consecinţa, este activă. eci C()@ul poate fi privit ca un sistem care are ca intrări variabilele incluse !n antecedentele regulilor şi ca ieşire variabila inclusă !n consecinţă. eci, se va putea defini eroarea e+ şi variaţia ei 3e+ ca intrări !n sistem, iar ieşirea poate fi reprezentată de variaţia 3u+ %figura -7.7-&. #n e'emplu de regulă poate fi următorul< E) e%& este :D*EFEG $H Ue%& este *=BD FT=H Uu%& este :D*EFEG ... =ste evident că intrările şi ieşirile unui C() sunt stări, sau substări ale !ntregului sistem controlat, deci C() poate fi privit şi ca un controler de variabilă de stare guvernat de o familie de reguli şi un mecanism de inferenţă fuzz. #ltimul bloc al unui C(), blocul de defuzificare, asigură formarea unor semnale crisp, prin metode specifice, compatibile cu sistemele de acţionare utilizate !n controlul roboţilor. =lementele prezentate mai sus pot pune !n evidenţă caracteristicile generale ale sistemelor conduse prin metode bazate pe logica fuzz şi permit identificarea avantajelor şi dezavantajelor acestor noi concepte de conducere. $vantajele esenţiale pot fi sumarizate !n următoarele 1-32, 1--, 1-72< ! nu se impune un model precis al sistemului condusL
->7
Roboţi industriali
! strategia de conducere se bazează pe operatori lingvistici şi o bază de reguli uşor de implementatL ! pot fi conduse procese comple'e cu neliniarităţi dificil de modelatL ! implementarea se poate realiza tehnologic relativ facil fie prin proiectarea unor configuraţii particulare de controlere, fie prin utilizarea unor procesoare dedicate. ezavantajele utilizării acestor sisteme sunt< ! nu e'istă o metodică precisă pentru realizarea tuturor fazelor implementării unui C()< fuzificare, inferenţe, defuzificare, !n multe situaţii soluţiile adoptate av"nd un caracter euristic, artizanal, nesistematicL ! dificultatea demonstrărilor, !n toate cazurile, a stabilităţii sistemelorL ! posibilitatea apariţiei ciclurilor limită datorită funcţionării pe caracteristici neliniareL ! performanţele sistemului condus pot să nu fie !ntotdeauna la nivelul doritL ! imposibilitatea implementării practice a unui C() cu un număr mare de variabile de intrare %peste ?& datorită dimensiunii bazei de reguli implicată. În orice caz, este evident că sistemele de conducere !n logică fuzz reprezintă o alternativă clară faţă de sistemele de conducere convenţionale. $cest lucru este demonstrat de numeroasele aplicaţii !n economie şi industrie, de volumul cercetărilor pe plan mondial !n această direcţie, de eforturile tehnologice pentru a pune la dispoziţie resursele softVare şi hardVare specializate.
12. Fuzificarea mărimilor (n CF upă prezentarea generală a caracteristicilor de bază !n 0C(), vom aborda !n detaliu principalele aspecte ale procedurilor de implementare a unui C(). Enterfaţarea pe intrare a unui astfel de controler este realizată prin blocul de fuzificare. $cesta trebuie să asigure< ! Conversia mărimilor de intrare %eroare& e !ntr@o formă digitală compatibilă cu procesarea ulterioară !n logică fuzz. acă eroarea e este un semnal continuu, se impune o conversie analog@numerică corespunzătoare. e asemenea, dacă e este un semnal numeric, o procesare numerică suplimentară este necesară pentru asigurarea performanţelor dorite. ! )ormarea variabilelor ce vor determina condiţiile antecedentului !n baza de reguli a C(). În general, aşa cum s@a arătat anterior, o primă variabilă de intrare este eroarea e+, dar impunerea unor condiţii comple'e necesită generarea şi a altor variabile de intrare. $cestea pot fi definite prin mărimea de eroare evaluată la c"teva momente de timp, e+41, e+45,..., e+4 sau de alte variabile de stare ale
Capitolul 6. Sisteme de conducere fuzzy
->9
sistemului condus, cum ar fi viteza sau acceleraţia braţului mecanic %pentru controlul unui sistem robot&. ! ='primarea variabilelor de intrarea ca mulţimi fuzz. În acest sens, mărimilor fizice li se atribuie variabile lingvistice, variabile fuzz şi funcţii de apartenenţă. 0e determină totodată universul de discurs pe care este definită fiecare variabilă. )uncţiile de apartenenţă utilizate !n sistemele de conducere au forme triunghiulare sau trapezoidale. e asemenea, universul de discurs este frecvent ales ca 1@-,-2 iar variabilele de intrare astfel definite sunt considerate normalizate. =ste
HE
HM
*
:M
:E
%a&
@-
@3.6 @3.7 H
3.7 P3.6
e
-
:
*
%b&
@ HM
@3.7 H0
HE *
3.7 :E :0
P:M %c&
.
/ @3.>W@3./W @3.7W 3.7W P3./W 3.>W evident că aceasta impune utilizarea unor factori de scală corespunzători pentru fiecare variabilă. )igura -7.77 )uncţii de apartenenţă ale variabilelor de intrare !n C()
În figura -7.77.a sunt reprezentate funcţiile de apartenenţă a cinci mulţimi fuzz ce reprezintă etichetele lingvistice ale erorii< HM, HE, *, :E, :M %H=I$FEG M$B=, H=I$FEG EH)=BEDB, *=BD, :D*EFEG EH)=BEDB, :D*EFEG M$B=, respectiv&. Bangul de operare al erorii, universul său de discurs, se presupune
->?
Roboţi industriali
1@-,-2. 0e observă că trei mulţimi au funcţii de apartenenţă triunghiulare iar două, trapezoidale. În mod analog, !n figura -7.77.b sunt reprezentate cele trei funcţii de apartenenţă ale mulţimilor fuzz asociate etichetelor lingvistice ale variaţiei erorii 3e< H,*,: %H=I$FEG, *=BD, :D*EFEG& al cărui univers de discurs este de asemenea normalizat. În figura -7.77.c sunt prezentate funcţiile de apartenenţă ale mulţimilor &, !n condiţiile !n care baza de reguli ce fuzz ce reprezintă acceleraţia mişcării % / urmează a fi stabilită impune introducerea acestor variabile. 0unt definite şapte mulţimi fuzz asociate etichetelor HM, H0, HE, *,:E, :0, :M %H0H=I$FEG 0#:=BEDB, :0:D*EFEG 0#:=BEDB&. #niversul de discurs nu mai este normalizat şi este utilizat chiar domeniul de variaţie al variabilei de stare, . acceleraţia / Cele trei e'emple prezentate mai sus ilustrează faptul că alegerea funcţiilor de apartenenţă nu poate să fie supusă unor reguli foarte precise. $cestea pot fi alese simetrice sau nesimetrice %!n raport cu originea&, triunghiulare sau trapezoidale, echidistante sau nu, pe universul de discurs normalizat sau nu. Fotuşi, indiferent de modalităţile de alegere se impun categoric respectarea următoarelor condiţii< A- x A7
" & , ' x 6
... A
n
A- x A7
... A
n
%-7.9&
- , ' x 6
%-7.?3&
0emnificaţia acestor condiţii va fi ilustrată mai t"rziu dar o analiză elementară indică că relaţia %-7.9& impune ca pentru orice punct din universul de discurs, # să fie definită cel puţin o funcţie Ai x . $ doua condiţie este determinată de o anumită comoditate !n calculele numerice ale C(). H0
HE
*
:E
:0
' H
HM
* :M
:
'
Capitolul 6. Sisteme de conducere fuzzy
->/
)igura -7.79 )orme ale funcţiilor de apartenenţă În figura -7.79 sunt prezentate c"teva tipuri de funcţii de apartenenţă care nu respectă condiţiile %-7.9&, %-7.?3&. $stfel de forme nu pot determina o implementare corectă a conceptului de logică fuzz. 0e remarcă că funcţiile descrise !n figura -7.77 verifică cele două condiţii %-7.9&, %-7.?3&, modelul lor servind ca referinţă pentru implementări curente. Frebuie subliniat faptul că, !n funcţie de problema abordată, pot fi utilizate şi alte tipuri de funcţii de apartenenţă, cu forme specifice, particulare, 1/, 62 care să ofere anumite facilităţi !n generarea bazei de reguli %evident că restricţiile %-7.9&, %-7.?3& trebuie să fie satisfăcute&. :entru a evita eventualele confuzii ulterioare menţionăm că particularităţile specificate mai sus sunt valabile pentru funcţiile de apartenenţă asociate numai variabilelor de intrare !ntr@un C(). Gariabilelor de ieşire, mărimile crisp, li se asociază de asemenea funcţii de apartenenţă, dar acestora nu li se mai impun restrictiv condiţiile %-7.9&, %-7.;?3&. :rocesul de generare ale acestor variabile este defuzificarea şi va fi discutat ulterior. )uncţiile de apartenenţă utilizate pot fi de tipul celor prezentate !n figura -7.77, dar pot avea şi forma aparte ca !n figura -7.7?.b. )uncţiile de apartenenţă din figura -7.7?.a pot intra !n categoria 4normale5, acestea respect"nd condiţiile %-7.9&, %-7.?3&, dar cele din figura -7.7?.b, funcţii numite 4singleton5, nu verifică nici una din condiţii. $ceste funcţii sunt utilizate frecvent !n condiţiile !n care se doreşte obţinerea, !n procesul de defuzificare, a unei relaţii simplificate pentru variabilele de ieşire.
HM H0 HE *
:E :0 :M a
@-
-
u
HM H0 HE
*
:E
:0
:M b
@)igura -7.7?
3 u )uncţii de apartenenţă pentru variabilele de iesire
->6
Roboţi industriali
12.5 6aza de reguli :artea principală a unui C(), cea care implementează algoritmul de conducere al sistemului este baza de reguli %blocul de inferenţe& a sistemului. $şa cum am arătat !n paragrafele anterioare, fiecare regulă este formată din două părţi< partea E) numită şi antecedent şi o parte FT=H numită consecinţă. .......... E) .......... conditie
.......... FT=H .......... con sec int a
E)
....... ...... A& ....... A& conditii
.......... FT=H ..........
con sec int a
$ntecedentul conţine condiţia sau condiţiile %variabile de intrare& care activează regula. acă mai multe variabile formează condiţiile de activare, acestea sunt legate prin $H. Consecinţa permite generarea variabilei sau a variabilelor de ieşire activate ca urmare a !ndeplinirii condiţiilor regulii. :entru a fi'a ideile vom analiza baza de reguli pentru un sistem de conducere al unui braţ !n mişcare de translaţie %figura -7.7/&. e 1
xd
u
@ U
CF
+raţ robot P 0istem acţionare
x
@ e 1 -
)igura -7.7/
%e 1
0istem de conducere al unui braţ robot
0e va construi baza de reguli pentru un C() cu două variabile de intrare e+ şi 3e+ şi o variabilă de ieşire u+. 0e va presupune că universul de discurs este normalizat at"t !n ceea ce priveşte variabilele de intrare c"t şi pe cea de ieşire, iar funcţiile de apartenenţă au forma din figura -7.76.
Capitolul 6. Sisteme de conducere fuzzy
->; Xe, XUe *
H
@- @3.?
:
3.?
P-
e
Ue Xu H
*
@- @3.7 )igura -7.76
:
3.7
P-
u
)uncţiile de apartenenţă pentru e, Ue,u
)ormarea corectă a bazei de reguli depinde de ordinul sistemului condus şi de performanţele dorite. În principiu, nu e'istă o procedură sistematică pentru determinarea regulilor, acestea fiind determinate !n mare măsură de abilitatea şi e'perienţa proiectantului. Fotuşi, pentru cazul analizat, regulile pot fi stabilite relativ uşor, acestea fiind determinate de condiţia evoluţiei stabile a sistemului către o dreaptă de comutare 192, 1;2, 1>2. etaliile asupra acestei metode vor fi tratate ulterior. În sinteză, baza de reguli pentru e'emplul discutat, conţine nouă reguli !n forma următoare< Begula - IF e este H $H 3e este : !#$% u este * $ceastă regulă sugerează că !n condiţiile !n care eroarea este negativă şi variaţia ei este pozitivă, comanda generată u poate fi zero, evoluţia sistemului duc"nd către domeniul e70. Celelalte reguli au interpretări similare. Begula 7 IF e este * $H Ue este : !#$% u este H Begula 9 IF e este : $H Ue este : !#$% u este H
->>
Roboţi industriali
Begula ? IF e este H $H Ue este * !#$% u este : Begula / IF e este * $H Ue este * !#$% u este * Begula 6 IF e este : $H Ue este * !#$% u este H Begula ; IF e este H $H Ue este H !#$% u este : Begula > IF e este * $H Ue este H !#$% u este : Begula IF e este : $H Ue este H !#$% u este * 0e remarcă că fiecare regulă este definită prin operatorul logic $H %SE& ce defineşte intersecţia condiţiilor logice asociate regulii. eşi, neformulat e'plicit, baza de reguli conţine şi operatorul DB %0$#& aplicat ca operator reuniune intrinsec pe mulţimea regulilor bazei. ='emplu anterior poate fi rescris sub forma următoare< Begula - ............................................ , DB Begula 7 ............................................ , DB . . . Begula ............................................ . escrierea de mai sus a bazei de reguli este aşa numita 4descriere lingvistică5. =a este utilizată frecvent !n condiţiile !n care dimensiunea bazei este rezonabilă, numărul de variabile de intrare !n C() nedepăşind valoare trei. În mod frecvent, baza de date poate fi reprezentată sub formă tabelară şi printr@o matrice de inferenţă. e e'emplu, regulile stabilite mai sus pot fi redate sintetic ca !n Fabelul -7.-7. %e
e : * H Fabelul -7.-
H
*
:
* : :
H * :
H H *
+aza de reguli pentru variabilele e, %e
Capitolul 6. Sisteme de conducere fuzzy
->
Matrice cuprinde, pe linii şi coloane etichetele lingvistice ale variabilelor e şi 3e, respectiv. )iecare pereche linie, coloană defineşte condiţiile unei anumite reguli iar !n celula corespunzătoare a matricei este introdusă eticheta lingvistică a valorii generate, u %consecinţă&. Matricile de inferenţe de tipul celei prezentate sunt practice pentru baze de reguli cu un număr mare de variabile de intrare !n C(). e e'emplu, dacă condiţiile !n C() sunt date de e, 3e şi 35e %acceleraţia sistemului&, atunci baza de reguli poate fi sintetizată prin matricea de inferenţe din Fabelul -7.7. H
%7 e
%e
*
:
H
*
:
H
*
:
H
*
:
* : :
* * :
H * *
* : :
H * :
H H *
* * :
H * *
H H *
e : * H
Fabelul -7.7
+aza de reguli pentru variabilele e, %e, %7e
:rocedura poate fi e'tinsă pentru structuri mai comple'e, cu un număr mai mare de variabile de intrare, dar trebuie avut !n vedere că o creştere a comple'ităţii bazei de date implică o procesare mai laborioasă, prelucrarea unui număr mare de variabile, un timp de calcul sporit şi multe inconveniente !n implementarea practică a algoritmului de control.
12.7 Implementarea 8azei de reguli =ste evident că procesarea unor reguli !ntr@o bază %mecanismul de inferenţă& impune determinarea, !n primul r"nd, a condiţiilor ce definesc regula şi a gradului lor de activare. $cest lucru este obţinut prin tratarea condiţiei ca mulţime fuzz şi prin testarea gradului de activare al acesteia cu ajutorul funcţiilor de apartenenţă asociate. Într@o scriere sintetică, o regulă poate fi e'primată sub forma< Begula j< E) CDHEOE$ C - $H CDHEOE$ C7 $H ... $H CDHEOE$ C: FT=H =CE*E$ j J Consider"nd A- , mulţimea fuzz asociată condiţiei C -, gradul de activare al condiţiei pentru o valoare x7x8 !n universul de discurs este e'primat prin
-3
Roboţi industriali
Y J J x 9 A A -
-
%-7.?-&
În figura -7.76 este ilustrat grafic modul de calcul al gradului de activare.
J A-
-
9 AJ
-
AJ % x Y & -
''Y )igura -7.76
'
Calculul gradului de activare
:entru o regulă completă definită prin condiţiile C -, C7, ..., C p cărora li se J J J asociază mulţimile fuzz A- , A7 , ...., A : , definite pe universul de discurs x1, x5, ..., x , se obţine<
, i-, 7, ..., p
J xi 9 AJ A i
i
Y
%-7.?7&
Condiţiile C i sunt interpretate prin operatorul $H Y Y Y Y J x J f & ; x- , x 7 ,..., x : A& 9 A - ,..., 9 A
-
:
x Y
:
%-7.?9& unde f & ; va reprezenta funcţia de activare al variabilei de ieşire, consecinţă, decizie a regulii determinate de e'presia FT=H. 0inteza deciziei, la nivelul unei reguli, este obţinută !n general prin algoritmul Mandami 1-72 care formal este scris sub forma< JY & ; &J u ;
J
J
J u f & & ; , u 6
%-7.??&
;
J
unde &- , &7 ,..., &r sunt mulţimi fuzz definite pe universul de discurs 6 al variabilei de ieşire u.
Capitolul 6. Sisteme de conducere fuzzy
-
J A-
9 AJ % x-
Y
& ''-
Y
x-
J A7
-
--
Y
9 AJ % x7 & 7
$H
'7
x 7Y
' -
J A :
Y
9 AJ % x &
'' p
x Y
)igura -7.7;
Calculul gradului de activare al unei reguli
)igura -7.7> ilustrează tehnica de formare a deciziei !n cadrul unei reguli. :e !ntreaga bază, procedura este repetată pentru fiecare regulă. Y 9 AJ % x- & +
( Y 9 AJ % x 7 & ( 7 * . . ( 9 AJ % x :Y. & ( : $H )
J
& ;
-
f j
J & ; JY
&
;
u )igura -7.7> Ienerarea deciziei pentru regula j
-7
Roboţi industriali
În figura -7.7 este<
9 AJ % x-Y & +
(
-
Y 9 AJ % x 7 & ( 7
* ( 9 AJ % x & ( . ) Y.
J
& ;
.
f j
JY & ;
$H
9 AJ % x-Y & +
( Y 9 AJ % x 7 & ( 7 * . f m ( . Y 9 AJ % x : & ( $H . : ) -
u
DB
Z
J
&m J & Ym
u )igura -7.7
Ienerarea deciziilor pentru doua reguli. J
J
prezentată generarea deciziilor !n două reguli ; şi m, & ; şi &m reprezent"nd mulţimile fuzz corespunzătoare definite pe universul de discurs al variabilei de ieşire. JY J &m &
m
u
u f &m , u 6 m
J &
%-7.?/&
Emplementarea numerică a bazei de reguli corespunde de fapt modului de tratare a operatorilor $H @ DB. Cea mai des !nt"lnită modalitate de evaluare este cunoscută sub numele 4min @ ma'5 !n care operatorii $H sunt evaluaţi prin funcţia 4min5, iar operatorii DB prin 4ma'5.
Capitolul 6. Sisteme de conducere fuzzy f & ;
-9
A& 9 AJ x-Y ,..., 9 AJ x :Y min 9 AJ x-Y ,..., 9 AJ x Y: -
:
-
:
%-7.?6& J JY JY JY Y & (R &- ,..., &r ma' &- ,..., &r u
%-7.?;& :entru e'emplificarea ultimului operator, !n figura -7.93 este prezentată funcţia ma9 aplicată pe cele două reguli ; şi m ilustrate !n figura -7.7.
...
f m
J &
f j u )igura -7.93
J JY JY & ma' & ; , &m u
Ienerarea deciziei prin operatorul 4ma'5
%-7.?>&
$lte proceduri de implementare sunt definite ca 4prod @ ma'5, unde< A& 9 AJ x-Y ,..., 9 AJ
-
:
x :Y 9 AJ x-Y ,..., 9 AJ x Y: -
:
%-7.?&
iar operatorul DB păstrează forma %-7.?6&. e asemenea, se utilizează şi forma 4prod @ sumă5 !n care operatorul $H este tratată după relaţia %-7.?;&, iar DB prin< J (R &-Y ,..., &r Y
&J-Y ,..., &J r Y
%-7./3& :entru ilustrarea acestor proceduri se va utiliza baza de reguli prezentată !n paragraful precedent, cu funcţiile de apartenenţă ale celor două variabile de intrare e, 3e şi de ieşire u.
-?
Roboţi industriali
0e va analiza metoda 4min @ ma'5 ce implementează condiţiile logice $H şi DB prin operatori min şi ma', respectiv. În figura -7.9- este ilustrată grafic această metodă. 0unt analizate primele două reguli ale bazei şi este e'emplificată procedura pentru c"teva valori particulare ale variabilelor de intrare e şi 3e, e 3.9 şi %e 3.7 . :entru Begula -, e 3.9 determină un grad de activare 9 Je , pentru funcţia de apartenenţă H< %-7./-&
9 J e J e 3.9 3.;/
iar %e 3.7 , pentru funcţia de apartenenţă :, determină< 9 %J e
) % J e
%-7./7&
3.7 3./
Condiţia Begulii -, 4E) e este H $H 3e este : FT=H u este *5 este tratată prin operatorul min< min 9 Je , 9 %Je
f z - 3./
%-7./9& 0imilar, pentru Begula 7 se obţine< 9 %J e
) % J e
%-7./?&
3.7 3./
min 9 Je , 9 %Je f 7 3.7/
Cele două funcţii de activare f ' - , f 7 determină deciziile decizia finală %după două reguli& va fi conform relaţiei %-7.?6&,
& Y ma' ' -Y , 7Y
%-7.//& Y
' -
,
7Y
iar
%-7./6&
$plicarea procedurii 4prod @ ma'5 va determina c"teva modificări cantitative f ' - 9 Je # 9 %Je 3.9;/
%-7./;&
f 7 9 Je # 9 %Je 3.-7/
%-7./>&
Capitolul 6. Sisteme de conducere fuzzy
-/
care se vor repercuta !n noile forme ale deciziilor
' -Y , 7Y şi
corespunzător
decizia finală &Y ma' ' -Y , 7Y . %eJ
J e
H
:
ge3.;/ *
H
*
B -
@3.?
3.?
3
e
@3.?
B 7
H
*
3
f *-3./
3.?
e
@3.?
3
e@3.9
:
min
u
@3.7 3 3.7
: ge3./
ge3.7/
@3.?
ge3./
*
J
:
*
H
%e
J e
H
:
3.?
3
uJ
u J * :
H min f H73.7/
3.?
@3.7
3.7
3
u
%e 3.7 uJ
H
*
:
3./
3.7/
3.7 )igura -7.9-
u
Emplementarea regulilor - şi 7 prin metoda [min@ma'5
În mod similar se obţine decizia prin algoritmul 4prod @ sumă5. :entru comparare, !n figura -7.97 sunt prezentate cele două metode.
3.-7/ @-
@3.7
-
3.9;/
3./
Y
3.7
-
Y
3.-7/ u
@-
@3.7
3.7
-
u
-6
Roboţi industriali
)igura -7.97
$naliza comparativă a metodelor
12.1: /efuzificarea :aragrafele anterioare au abordat etapele principale !n implementarea unui C(), fuzificarea mărimilor de intrare şi procesarea algoritmului de conducere sub forma unei baze de reguli. În final, mărimea de ieşire este generată sub forma unei mulţimi fuzz. =ste evident că se impune compatibilizarea acestei mărimi cu procesul condus, deci este necesară reconversia mărimii de ieşire !ntr@o mărime crisp. :rocedura aceasta este cunoscută sub numele de defuzificare. efuzificarea reprezintă o etapă importantă !n structura generală a proiectării unui C() şi literatura de specialitate abundă !n soluţii 17, 9, ?, /2. În cele ce urmează se vor prezenta c"teva din tehnicile de implementare cele mai eficiente. efuzificarea prin 4centru de greutate5 este cea mai răsp"ndită procedură de reconversie a deciziei fuzz de la ieşirea C() !ntr@o variabilă crisp. $ceastă metodă se bazează pe evaluarea funcţiei de apartenenţă a deciziei fuzz după aceleaşi reguli ca cele utilizate !n calculul centrului de greutate din mecanica clasică. În acest mod se asociază funcţiei de apartenenţă a decizie variabilei de ieşire o valoare crisp corespunzătoare. :entru fi'area ideilor, se va considera decizia &8 reprezentată !n figura -7.99. )uncţia de apartenenţă a acestei decizii fuzz este obţinută din primele două reguli ale aplicaţiei discutate !n paragraful precedent %figura -7.9-&. :rin evaluarea 4centrului de greutate5 al ariei definită de funcţia de apartenenţă a deciziei &8 se obţine pe abscisă<
3./ Y
3.7/ @-
@3.7
3.7
-
u
uY@3.9/ )igura -7.99 u
Y
3.9/
efuzificarea deciziei Y %-7./&
Capitolul 6. Sisteme de conducere fuzzy
-;
ceea ce reprezintă o măsură crisp a deciziei fuzz. În cazul general, defuzificarea apelează la formula clasică a 4centrului de greutate5< -
u u du
u
Y
Y
--
%-7.63&
Y u du
-
unde u este funcţia de apartenenţă a deciziei finale obţinută prin relaţia %-7.?6&, numitorul reprezintă aria delimitată de funcţia de apartenenţă, iar numărătorul defineşte momentul ariei. În această relaţie s@a presupus că universul de discurs 6 este normalizat. Într@o formă mai generală, e'presia %-7./& poate fi rescrisă ca< Y
u u du u Y
6
u du
%-7.6-&
6
În mod curent este utilizată o procedură de discretizare n
u u ;
u Y
;
; -
n
u ;
; -
%-7.67& ceea ce permite, !n cele mai multe cazuri, un calcul uşor de implementat. :entru anumite cazuri particulare ale funcţiei de apartenenţă, relaţiile %-7./& N %-7.6-& pot căpăta anumite forme simplificate. e e'emplu, dacă ieşirea este definită prin funcţii singleton, e'presia %-7.6-& devine %figura -7.9?&< u Y
r
u ; < ;
; -
%-7.69&
->
Roboţi industriali
unde< < ;
; r
%-7.6?&
;
; -
:0
-
:M
7
HM 9 -
@u-
u7
u9
u
uY )igura -7.9?
efuzificarea pentru ieşire de tip singelton
D interpretare şi mai facilă, deşi evident destul de apro'imativă, se poate obţine dacă funcţia de apartenenţă conţine un ma'im sau domenii ma'imale %figura -7.9/&. u Y ma'
%-7.6/& ma'
)igura -7.9/
u uY efuzificarea prin valoarea ma'imă
12.11 *n e9emplu de calcul În paragrafele precedente a fost prezentată !n detaliu metodologia de proiectare a unui C(). :entru a concretiza mai bine procedura şi pentru a permite o
Capitolul 6. Sisteme de conducere fuzzy
-
mai bună familiarizare cu tehnicile de implementare, se va relua e'emplul oferit de conducerea unui braţ de robot %figura -7.7/& cu baza de reguli prezentată !n Fabelul - şi funcţiile de apartenenţă din figura -7.76. 0e vor trata regulile de conducere prin metoda 4min @ ma'5 pentru regimul de lucru definit prin< e 3 .9 %e 3.7
:rimele două reguli sunt analizate !n figura -7.9- şi !n continuare vor fi analizate celelalte şapte reguli ale bazei. $stfel, Begula 9 impune algoritmul< E) e este : $H 3e este : FT=H u este H Iradul de activare al mulţimilor fuzz se obţine !n aceeaşi manieră ca cea prezentată !n paragraful -7.>< 9 e 3
9 %e 3./
iar funcţia de activare a ieşirii, pe decizia H, va fi f 9 min 9 e , 9 %e 3
ceea ce identifică decizia regulii, conform relaţiei %-7.?/&, ca mulţimea valorilor 3 !n domeniul de discurs al variabilei de ieşire< Y 9 3 , u 6
În mod similar sunt analizate celelalte reguli Begula ?, ..., Begula obţin"ndu@se deciziile sub forma mulţimilor fuzz ) ?Y , ' /Y , 6Y , ) ;Y , ) >Y , ' Y , respectiv. ecizia finală, pentru variabilele de intrare e, %e 3.9,3.7 se obţine după formula %-7.?6&<
& Y ma' ' -Y , 7Y , 9Y , ) ?Y , ' /Y , 6Y , ) ;Y , ) >Y , ' Y u
Întreaga procedură este ilustrată !n figurile -7.96 şi -7.9;.
733
Roboţi industriali
efuzificarea finală permite determinarea valorii crisp a mărimii de ieşire, conform relaţiei %-7.63&, %-7.67&. Je J
e
H H
::
**
H
%J e
:
*
H
ge3./
Beg 9 ge3
@3.?
33
33.? . ? J
e
@3.?
H
:
ge3.;/ *
*
3.?
e
@3.?
J eJ e
H H
::
**
H
:
H
3.? 3
3
. ?
J e
*
e
@3.? H
:
3
H
:
@3.?
3
3.?
e
@3.?
e@3.9
J eJ e
H H
::
** ggee3.;/ 3.; Beg ; / @3.?
33
3.? 3
. ?
H
e
@3.?
u
: */Y
3
u
3.7
u J
:
*
3 3.? %e 3.7 % J e
*
3.7
*
@3.7 H
ge3./ ge3
3
min f */3.7/
3.?
%Je
Beg 6
:?Y
J u
J %e
ge3./
ge3.7 @3.?/ 3
H
@3.7
3. %e ?3.7 *
:
*
min f 3./ :?
3
Beg /
u
J u
ge3./
3
H9Y
@3.7 3 3.7
Beg ?
@3.?
:
*
minf 3 H9
3.?
%J e
e
H
3
J u
min
:
*
H6Y
f H63 @3.7
3
u
3. 7
J u
:
ge3 3 3.?
H
*
min f :;3
: :;Y
3 3.7
u
Capitolul 6. Sisteme de conducere fuzzy
H H Beg >
:
**
ge3.7 / @3.? 3
73-
H
:
*
*
H
:
ge3 e
@3.?
3.?
3
u
@3.7
%Je
Beg
@3.?
H
:
*
:
*
ge3
ge3
3.?
3 e@3.9
)igura -7.96
e
@3.?
H
min
3.?
3
*
*Y
f *3 @3.7
%e 3.7
:
3
3.7
u
Emplementarea bazei de reguli N conducerea unui brat robot
Y
3./ 3.7/ @-
@3.7
3.7
-
u
uY@3.77 )igura -7.9;
efuzificarea decizie N conducerea unui robot
12.12 )nalogia (ntre CF ;i regulatoarele conenţionale P/< PI< PI/ ='emplul analizat !n paragraful precedent ilustrează modul de calcul al variabilei de ieşire u !n funcţie de eroarea e+şi variaţia erorii 3e+, deci determină o lege de conducere de forma u 1 2 e 1 , %e 1
%-7.66&
737
Roboţi industriali
D astfel de lege de conducere este similară cu cea stabilită !n regulatoarele convenţionale de tip : care generează un control sub forma unei combinaţii !ntre o componentă de tip proporţional şi una de tip derivativ 1-3, --2< u 1 1 ) e 1 1 & %e 1
%-7.6;& unde ) şi & sunt parametrii regulatorului :. :rin analogie, o lege de conducere obţinută !ntr@un C(), de forma %-7.66& se va numi C() N :. acă regulile unui C() nu generează valoarea u+, ci variaţia mărimii de ieşire 3u+< %u 1 u 1 u 1 -
%-7.6>&
deci se implementează o lege de conducere generală de forma
%u 2 e 1 , %e 1
%-7.6&
atunci această lege se poate asocia cu cea oferită de un regulator convenţional de tip :E descris prin relaţia< %u 1 1 ) %e 1 1 # e 1 %-7.;3&
unde ) şi # sunt parametrii regulatorului :E. În acest sens, un C() a cărei bază de reguli defineşte un algoritm de forma %-7.6& se va numi de tipul C() N :E. :rocedura poate fi e'tinsă pentru legi de conducere mai comple'e. e e'emplu, dacă legea unui C() este generată sub forma< u 1 2 e 1 , e 1 ,%e 1
%-7.;-&
unde< 1
e 1 e e l l 3
%-7.;7&
Capitolul 6. Sisteme de conducere fuzzy
739
ea va fi de tipul :E, !ntruc"t este similară cu cea obţinută de regulatorul convenţional cu acelaşi nume< %u 1 1 ) e 1 1 # e 1 1 d %e 1 %-7.;9& =ste evident că o astfel de lege impune !n C() o bază de reguli mai comple'ă, definită pe variabilele e 1 , %e 1 , e 1 . e e'emplu, o regulă a bazei poate fi următoarea< E) e 1 este *=BD $H %e 1 este M=E= $H e 1 este :D*EFEGQ FT=H u 1 este :D*EFEGQ D formă modificată a legii %-7.-7.6& care poate fi acceptată !n definirea unui C() N :E poate fi de forma<
%u 1 2 e 1 , e 1 - , e 1 7 %-7.;?& care corespunde regulatorului :E discret< %u 1 1 3 e 1 1 -e 1 - 1 7 e 1 7
%-7.;/&
esigur, pot fi adoptate şi alte legi de conducere, cu algoritmi mai sofisticaţi, dar este evident că o creştere a numărului de variabile de intrare %antecedente& !n structura regulilor, determină o implementare e'trem de dificilă şi !n multe cazuri cu totul nepractică. in acest motiv, introducerea a mai mult de două variabile de intrare !n structura regulilor este acceptată numai !n condiţii de performanţe cu totul speciale.
12.13 Consideraţii asupra uniersului de discurs În general, universul de discurs al variabilelor de intrare şi de ieşire la un C() este reprezentat de dreapta numerelor reale. În practică, fiecare univers este restricţionat la un interval bine definit !ntre o valoare ma'imă şi una minimă !n conformitate cu rangul mărimilor fizice. 0ă luăm, pentru e'emplificare, conducerea unui braţ robot %figura -7.7/& unde<
73?
Roboţi industriali
e 1 xd 1 x 1
%-7.;6&
#niversul de discurs al erorii va fi definit practic de valorile ma'imale şi minimale ale variabilelor de poziţie prescrise xd şi măsurate x. 6 e e min , e ma' %-7.;>& ema' x d ma' x min %-7.;& emin x d min x ma'
%-7.>3&
În mod analog se vor defini universele de discurs ale variaţiei erorii şi ale variaţiei de ieşire %de control& u< 6 %e %e min , %ema'
%emin emin ema' %ema' ema' emin %emin 6 u u min , u ma'
%-7.>-& %-7.>7& %-7.>9& %-7.>?&
=ste evident că !n funcţie de problema de conducere abordată, domeniile universurilor de discurs pot fi e'trem de diverse. Fotuşi, pentru simplificarea tratării şi unificarea metodologiei de proiectare, este de preferat să se opereze pe universuri de discurs normalizate. :entru e'emplificare se va considera că variabilele e%&, Ue%& şi u%& operează pe domeniile d e , d e , d % , d % , d u , d u , respectiv şi se vor presupune universele normalizate corespunzătoare< Y Y Y 6 e d e , d e
%-7.>?& 6 %Y d %Y , d %Y
%-7.>/&
6 uY d uY , d uY
%-7.>6& :entru a transforma domeniile de operare ale variabilelor de intrare măsurate e%&, Ue%& !n universul de discurs normalizat se utilizează factori de scală 1-3, --2<
Capitolul 6. Sisteme de conducere fuzzy
73/
Y
1 e
1 %
d e
%-7.>;&
d e
d %Y
%-7.>>&
d %
$ceşti coeficienţi vor transforma valorile reale măsurate ale intrărilor !n C(), e%&, Ue%&, !n valorile eY%&, UeY%& din universul normalizat< e 1 6 e Y
Y
%e Y 1 6 %Ye
%-7.>& %-7.3&
unde< e Y 1 1 e e 1
%e Y 1 1 % %e 1
%-7.-& %-7.7&
$lgoritmul bazei de reguli se va aplica mărimilor normalizate şi va permite după defuzificare, obţinerea unei variabile de ieşire din universul corespunzător normalizat< u Y 1 6 uY
%-7.9&
Emplementarea completă a C()@ului impune generarea ieşirii !n universul real de activare, deci este necesară o 4denormalizare5 printr@un factor de scală corespunzător< 1 u
d u d uY
Y u 1 1 u u 1
%-7.?& %-7./&
ceea ce determină revenirea variabilei de ieşire !n domeniul d u , d u . În general, universul normalizat poate fi identic cu un rang real de operare al unei variabile, dar, pentru cele mai multe aplicaţii, acesta coincide cu intervalul !nchis 1@-,-2. )actorii de scală joacă un rol e'trem de important !n proiectarea unui C(). =ste evident că scalarea erorii şi a variaţiei acesteia !nseamnă efectiv o
736
Roboţi industriali
transformare a spaţiului de stare ceea ce va determina o modificare automată a performanţelor. În literatura de specialitate 1>, , -32 sunt menţionate următoarele reguli ce se impun !n selecţia factorilor de scală< ! $legerea unor valori mari ale factorilor e determină erori staţionare mici, timp de creştere mic şi suprareglaj ridicat, !n timp ce valori mici ale lui e determină o comportare opusăL ! Galori mari ale lui d determină o convergenţă rapidăL ! Fimpul de creştere este ridicat pentru valori mici ale factorului u.
12.14 =etodele !a>agi ? Sugeno ? @ang +!S@Modelele fuzz discutate anterior se bazau pe reguli !n care at"t partea condiţională c"t şi cea decizională cuprindea mulţimi fuzz Begula i< E) CDHEOE$ C - $H CDHEOE$ C 7 $H ... , M#(OEME )#**\ , M#(OEME FT=H =CE*E$ i )#**\ $stfel de modele nu conţin nici o formă e'plicită a funcţiei obiectiv şi sunt cunoscute frecvent sub denumirea de modele Mandani. D altă modalitate de tratare, atrăgătoare !n cazul sistemelor mari şi comple'e, este oferită de modelul Faagi N 0ugeno N ]ang %F0]& !n care ieşirea, decizia sistemului este obţinută după o lege non@fuzz, ca o funcţională pe variabilele de intrare. , M#(OEME )#**\ Begula i< E) ' - este C-i $H '7 este C7i $H ... , M#(OEME HDH@ FT=H ui f i x- , x7 ,..., xn )#**\ Marele avantaj al acestui model rezidă !n posibilitatea de tratare a sistemelor comple'e prin decompoziţia acestora !n subsisteme mai simple, uneori chiar, subsisteme liniare. e asemenea, o altă posibilitate de abordare constă !n descompunerea spaţiului de stare al sistemului !n subspaţii disjuncte şi identificarea modelelor dinamice pentru fiecare subspaţiu. Eeşirea finală este obţinută printr@o compunere logică a ieşirilor fiecărui subspaţiu. În cele mai dese cazuri, partiţionarea spaţiului de stare este astfel realizată !nc"t ieşirea să poată fi generată sub forma unor modele liniare. Begula -< E) '- este C-- $H ... $H ' n este CnFT=H u- a-3 a-- x- ... a-n x n ... Begula p< E) '- este C-p $H ... $H ' n este Cnp FT=H u n a :3 a :- x- ... a :n x n
Capitolul 6. Sisteme de conducere fuzzy
73;
În ceastă bază de reguli, C ij %j-,p&, %i-,n& sunt mulţimi fuzz pe spaţiul de stare al sistemului A -, A7, ..., An iar '-, '7, ..., 'n sunt valori crisp ale variabilelor de intrare %stare&. :artea decizională a regulilor poate fi considerată ca modele liniare ce definesc variabilele de ieşire u -, u7, ..., u p %mărimi crisp& !n funcţie de variabilele de intrare %stare&, variabile crisp. Eeşirea globală u a !ntregului model F0] se obţine printr@o medie ponderată a ieşirilor crisp ui pentru fiecare subsistem liniar. Consider"nd gradul de activare al fiecărei condiţii C ij< 9 i; . i; x i
i-,...,nL
j-,...,p
%-7.6&
iar funcţia de activare la nivelul unei reguli< f u ; min 9 - ; ,..., 9 n;
%-7.;&
ieşirea generală va fi< :
u i -
f u
ai 3 ai- x- ... ain xn
i
:
f u ;
%-7.>&
; -
acă ieşirea fiecărei reguli este o funcţie neliniară ui f i x- , x7 ,..., xn , modul de calcul dat de relaţia %-7.>& se păstrează, ieşirea u fiind obţinută tot ca o medie ponderată pe ieşirile neliniare ale fiecărei reguli. Modelul F0] poate fi utilizat pentru implementarea unui C() de tipul :E, :, sau :E. e e'emplu, un C() N :E poate fi modelat prin următoarea bază de reguli< Begula -< E) e%& este C-- $H Ue%& este C 7FT=H %u 1 a--e 1 a-7 %e 1 ^ Begula p< E) e%& este C-p $H Ue%& este C7p FT=H %u 1 a :-e 1 a : 7 %e 1 Eeşirea C() va fi< :
%u 1
i -
f ui :
f u ;
; -
ai-e 1 ai 7 %e 1
%-7.&
73>
Roboţi industriali
unde f ui se obţine conform relaţiilor %-7.6&, %-7.;&. $nalogia acestui model cu un regulator convenţional :E permite identificarea parametrilor regulatorului< %u 1 1 # e 1 1 ) %e 1 %-7.-33& deci< 1 )
f ui ai 7
:
i -
:
f u ;
; -
%-7.-3-& 1 #
:
i -
f ui ai :
f u ;
; -
%-7.-37&
12.1& Controlul cinematic diferenţial prin CF upă cum este bine cunoscut !n literatura de specialitate 162, controlul cinematic diferenţial utilizează modelul diferenţial al unui robot, model ce permite calculul diferenţial dA al coordonatelor operaţionale %variabile ce definesc poziţia !n spaţiul de lucru& !n funcţie de variaţia d_ a coordonatelor generalizate %variabile asociate fiecărei articulaţii mecanice&. $nalitic, această dependenţă este scrisă printr@o matrice Racobian, !n forma dX = / d/
%-7.-39&
0tructura clasică a unui control cinematic diferenţial este prezentată !n figura -7.9>. $şa după cum se cunoaşte, punctul slab al unei astfel de conduceri !l constituie calculul inversei matricei Racobian, calcul ce nu poate fi realizat off@line datorită dependenţei coeficienţilor matricei de parametrii _ i. Cu toate că !n
Capitolul 6. Sisteme de conducere fuzzy
73
literatură s@au dezvoltat o serie de metode care permit calculul rapid al lui = - / , ele cer, !n general, sisteme hardVare de mare viteză, cu un preţ de cost !ntotdeauna prohibitiv, pentru o operare eficientă !n timp real.
'di P
% i/
% ix
R@-%_&
@
'i f%_& )igura -7.9>
_i Controlul cinematic diferenţial convenţional
În cele ce urmează, se va analiza o soluţie de control cinematic diferenţial utiliz"nd un C() care va permite calculul inversei matricii Racobian adopt"nd euristic o bază de reguli corespunzătoare. =ste evident că at"t structura convenţională c"t şi cea utiliz"nd logica fuzz trebuie să urmărească acelaşi criteriu de calitate, minimizarea erorii sistemului de conducere.
'di P
% xi
C()
@
%/ i
'i f%_& )igura -7.9
_i Control cinematic diferenţial cu C()
Într@o scriere generală, eroarea poate fi definită 1>2, 12 astfel< e X d X
7
X d X " X d X
%-7.-3?&
7-3
Roboţi industriali
unde Ad este vectorul de poziţie dorit !n spaţiul cartezian. (egea de conducere care se va introduce trebuie să determine variaţii U_ care să permită micşorarea erorii. D soluţie simplă se bazează pe utilizarea unei metode de tip 4gradient5< %/ .
-e -/
%-7.-3/&
unde ` este un factor de proporţionalitate ales convenabil, %-7.-3?& rezultă< -e - X " X d X = " X d X -/ -/
.
$ 3 . in relaţia
%-7.-36&
astfel !nc"t variaţiile U_ vor fi date de legea< %-7.-3;&
%/ . = " X d X
0e poate arăta uşor că adoptarea unei legi de conducere de tipul %-7.-3;& oferă soluţii bune pentru un sistem de tipul celui prezentat !n )igura -7.9, o astfel de conducere determin"nd convergenţa la zero a erorii %-7.-3?& lim e t 3
%-7.-3>&
t
:entru justificarea acestei soluţii se va utiliza metoda a 7@a a lui (iapunov şi se va defini o funcţională (iapunov de forma< $ x
7
X d X " X d X
%-7.-3&
erivata acestei funcţionale, de@a lungul traiectoriei sistemului va fi< "
"
x X X X X X = / $ d d
$pro'im"nd derivata
/
prin<
%-7.--3&
Capitolul 6. Sisteme de conducere fuzzy / /
7--
%/
%-7.---&
"
unde F este timpul de eşantionare, se obţine< x / X X = $ d "
%/ "
%-7.--7& sau< x $
. "
X d X " == " X d X
dar, cu e'cepţia cazurilor !n care matricea pozitiv definită, deci<
%-7.--9&
== " este
singulară, aceasta este
x 3 $
%-7.--?& ceea ce confirmă convergenţa la zero a erorii e din %-7.-3?&. :entru ilustrarea metodei vom analiza sistemul de conducere pentru un robot planar cu două articulaţii %figura -7.?3& Coordonatele operaţionale sunt<
x l - cos /- l 7 cos /- / 7 X y l - sin /- l 7 sin /- / 7
%-7.--/&
iar matricea Racobian va fi<
l - sin /- l 7 sin /- / 7 l 7 sin /- / 7 = l / l / / l / / cos cos cos 7 7 7 7 :entru o eroare de forma<
%-7.--6&
7-7
Roboţi industriali e
x 7
-
d
x 7 y d y 7
%-7.--;&
se impune o lege de conducere de forma %-7.-3;& care va fi implementată !ntr@un C()<
%/- . l - sin /- l 7 sin /- / 7 x d x l - cos /- l 7 cos /- / 7 y d y
%-7.-->&
%/7 . l - sin /- /7 xd x l 7 cos /- / 7 y d y
%-7.--&
\ %',&A
_7
_'
3 )igura -7.?3
A
Modelul unui robot planar cu 7 articulaţii
sau !ntr@o formă simplificată< %/- . = --e x = 7-e y
%-7.-73&
%/ 7 . = -7e x = 77e y
%-7.-7-&
unde Rij sunt componentele matricei Racobian iar e ', e reprezintă erorile pe cele două coordonate operaţionale. :entru transpunerea celor două relaţii %-7.-73&, %-7.-7-& !ntr@o bază de reguli se vor adopta funcţiile de apartenenţă din figura -7.?-. Humărul mare de variabile %de intrare& antecedent !n definirea regulilor e x , e y , = -i , = 7i impune construirea bazei sub forma unei tabele. e e'emplu, prima regulă se va formula astfel< Begula -
Capitolul 6. Sisteme de conducere fuzzy
7-9
...
H
@=
* :
H
3.-= P= e', e
@3.-=
@E
*
:
Eij
3.7E PE
@3.7E
HM Hm * :m :M
@W @3.6W @ 3.7W
)igura -7.? R7e
R-- H
H *
:
: * H : * H : *
:m *H Hm *H *: *H Hm *H
*: Hm HM Hm Hm Hm HM Hm
3.7W P3.6W W
%/ i
)uncţii de apartenenţă
H
* *
: :
H
*
:
:m *H Hm *H Hm *H Hm *H
:m *: Hm *H *H *H Hm *H
:m *: Hm *: *: *: Hm *H
*: Hm HM Hm Hm Hm HM :m
:m *H Hm *: *: *: Hm *:
:M :m *H :m :m :m *H :m
e' :
*
H
:M :m *H :m :m *H *: :m
7-?
Roboţi industriali
H :M :m
*:
Fabelul -7.9
:m
:m
:m
*:
:m
:M
+ază de reguli
Foate celelalte reguli se vor formula !ntr@o manieră similară, variabila de ieşire U_- obţin"ndu@se din funcţiile de apartenenţă prezentate !n figura -7.?-.
12.1 Proiectarea unui CF ca un sistem ca structură aria8ilă :aragrafele precedente au pus !n evidenţă tehnicile generale de implementare a unui C() şi asimilarea sa cu regulatoare convenţionale :, :E, :E. Metodologia de proiectare şi implentare a subliniat ideea că un C() este un controler robust care permite obţinerea unor performanţe de conducere satisfăcătoare !n condiţiile unei cunoaşteri, deseori insuficientă, a modelului matematic al sistemului. e fapt, ideea agreată !n această proiectare constă !n poziţionarea spaţiului stărilor şi adoptarea unor legi de conducere :E sau : !n fiecare spaţiu, parametrii de conducere fiind modificaţi la comutarea dintr@un subspaţiu !n altul. eci, !n esenţă, un C() este un sistem cu structură variabilă. :entru a ilustra această metodă se va considera modelul dinamic definit de ecuaţia< x f x b x u
%-7.-77&
prezentat !n figura -7.?7.
xd )igura -7.?7
e @
C0G
0E0F=M
x
Conducerea cu un controler cu structură variabilă
În ecuaţia %-7.-77&, funcţiile f x şi b x nu sunt cunoscute e'act dar este cunoscut semnul şi domeniul !n care sunt mărginite. 0tarea dorită a evoluţiei este definită ca<
Capitolul 6. Sisteme de conducere fuzzy
n - x d x d , x d ,..., x d
7-/
"
%-7.-79& iar eroarea de urmărire va fi<
e x x d , x x d ,..., x Y
n-
x d n-
"
%-7.-7?&
sau<
e Y e, e ,..., e n -
"
%-7.-7/&
acă se consideră suprafaţa< %-7.-76&
Y Y s x e 0 e
unde 0 este o matrice pozitiv definită, de e'emplu, o matrice diagonală< 0 dia9 0 - , 0 7 ,..., 0 n
%-7.-7;&
0uprafaţa< s x 3
%-7.-7>&
este un subspaţiu de dimensiune %7n@-& şi este numită suprafaţă de comutaţie. $ceastă suprafaţă divide spaţiul !n două regiuni 0 x $ 3 pentru o parte a suprafeţei şi 0 x 3 pentru partea opusă. În cazul n-, s x 3 corespunde unei drepte cu pantă 0 < s x e 0 e
%-7.-7&
#n controler cu structură variabilă C0G %figura -7.?9& va conduce sistemul spre suprafaţa de comutare !ntr@un timp finit şi constr"nge sistemul să răm"nă pe suprafaţa de comutare.
7-6
Roboţi industriali
)igura -7.?9
Fraiectoria !ntr@un sistem cu structură variabilă
C"nd sistemul operează pe suprafaţa %dreapta& de comutare se spune că acesta evoluează !n mod 4alunecător5 %sliding&. #na din cele mai simple legi de control poate fi< u 1 sgn s
%-7.-93&
dar legea de control poate fi mai comple'ă !n funcţie de comple'itatea sistemului. 0e va analiza, !n continuare, conducerea unui braţ mecanic al unui sistem descris prin ecuaţia< 1 x u m x
%-7.-9-&
d valorile dorite ale poziţiei, vitezei şi acceleraţiei şi se vor considera x d , x d , x ceea ce va determina evaluarea unor erori corespunzătoare<
e x d
x e x d x e x d x
%-7.-97&
in relaţia %-7.-7& se obţine< e s
0 e e s 0 e şi, din %-7.-97&, %-7.-99&, e'presia %-7.-9-& devine<
%-7.-99&
Capitolul 6. Sisteme de conducere fuzzy s
1 m
s >
m
7-; %-7.-9?&
u
unde< d 0 e 0 > > e, x d , e , x d x
1 m
d e x
1 m
%-7.-9/&
x d
0e va presupune că legea de control va avea forma< u cs m > u 2
%-7.-96&
unde c este o constantă, c $ 3 , a doua componentă m T asigură o compensare a componentelor definite de eroarea e şi stare dorită ' d iar ultimul termen u ) este generat de un C() %figura -7.??&.
x d
Controler conventional uu-@csPT
e @
u 2
C() )igura -7.??
x
+raţ robot
Conducerea unui braţ@robot cu C() şi controler convenţional
HM Hm
@-
@3.6
*
@3.-
:m
:M
3.-
3.6
-
.
e
e
HM Hm *
@3,>
@3.?
3
:m
3.?
:M
3,>
u)
7->
Roboţi industriali
)igura -7.?6 )uncţiile de apartenenţă pentru ieşirea u ) :entru a determina condiţiile de stabilitate ale sistemului, se va considera metoda a 7@a a lui (iapunov. 0e va utiliza o funcţie (iapunov de forma< $
7
s
7
%-7.-9;& deci< s s $
%-7.-9>&
şi din %-7.-9?& se obţine< s $
7
m
1 c su2
%-7.-9;&
Condiţia de stabilitate impune 3 $
%-7.-9>&
c 1
%-7.-9& %-7.-?3&
deci< u 2 1 sgn s
:entru implementarea C(), se vor adopta funcţiile de apartenenţă pentru e şi e conform figurii -7.?/. Hotaţiile folosite HM, Hm,*,:m, :M desemnează etichetele lingvistice H=I$FEG M$B=, H=I$FEG M=E#, *=BD, :D*EFEG M=E#, :D*EFEG M$B=, respectiv. :entru funcţia de ieşire, se vor adopta, cu aceleaşi etichete, funcţii singleton %)igura -7.?6&. +aza de reguli va implementa relaţia %-7.-?7& şi este prezentată sintetic !n Fabelul -7.?. 0e remarcă că deasupra diagonalei e, e regulile impun o schimabare a semnului semiplanului s $ 3 , deci funcţii negative pentru u). pe partea opusă diagonalei sunt adoptate semne contrarii pentru ieşire. e asemenea,