51 2 861KB
STELIAN EMILIAN OLTEAN
CONTROL INTELIGENT ŞI ADAPTIV Curs
2009 1
UNIVERSITATEA “PETRU MAIOR” TG.MUREŞ MASTERAT: SISTEME AVANSATE DE CONDUCERE A PROCESELOR INDUSTRIALE
dr. ing. STELIAN EMILIAN OLTEAN
CONTROL INTELIGENT ŞI ADAPTIV Curs
2009 2
CUPRINS:
I. Introducere ......................................................................................................................... 5 II. Aspecte generale privind sistemele de reglare adaptivă şi sistemele de reglare fuzzy ......... 8 II.1. Sisteme de reglare adaptivă ........................................................................................ 8 II.1.1. Sisteme adaptive cu model de referinţă (MRAS)................................................ 10 II.1.2. Metoda gradientului (regula MIT) pentru adaptarea regulatoarelor..................... 12 II.1.3. Metoda teoriei stabilităţii Lyapunov pentru adaptarea regulatoarelor.................. 13 II.1.4. Exemple de sisteme adaptive cu model etalon.................................................... 15 II.2. Sisteme de reglare directă fuzzy................................................................................ 22 II.2.1. Elemente de logica fuzzy ................................................................................... 24 II.2.2. Structura de bază a regulatoarelor fuzzy directe ................................................. 29 II.2.3. Exemple de structuri de reglare fuzzy directe ..................................................... 36 III. Sisteme de reglare fuzzy adaptive .................................................................................. 40 III.1. Scheme generale de reglare fuzzy adaptivă.............................................................. 41 III.2. Sistem de reglare fuzzy adaptiv cu model de referinţă ............................................. 43 III.2.1. Mecanismul de învăţare (de adaptare)............................................................... 47 IV. Aplicaţii de control inteligent şi adaptiv......................................................................... 52 IV.1. Aplicaţia 1: Controlul şi echilibrarea pendulului inversat ........................................ 52 IV.1.1. Descrierea procesului. Modele matematice....................................................... 52 IV.1.2. Sisteme de reglare adaptive convenţionale........................................................ 57 IV.1.3. Sistem de reglare fuzzy .................................................................................... 62 IV.1.4. Sistem de reglare fuzzy adaptiv ........................................................................ 65 IV.2. Aplicaţia 2: Reglarea adaptivă locală a braţelor roboţilor......................................... 69 IV.2.1. Descrierea procesului. Modele matematice....................................................... 69 IV.2.2. Sisteme de reglare adaptive convenţionale........................................................ 73 IV.2.3. Sistem de reglare fuzzy adaptiv ........................................................................ 83 V. Concluzii ........................................................................................................................ 89
3
Bibliografie ......................................................................................................................... 92 Anexe .................................................................................................................................. 95 Anexa 1. Schema neliniară a pendulului inversat.............................................................. 95 Anexa 2. Descrierea regulatorului fuzzy........................................................................... 95 Anexa 3. Lista figurilor din lucrare .................................................................................. 96
4
I. Introducere
În cazul sistemelor automate clasice este binecunoscută importanţa etapei de obţinere a modelelor proceselor, a reprezentării matematice (dependenţei) între diferite mărimi de intrare, intermediare şi de ieşire. Aceste modele trebuie să fie cât mai precise pentru ca apoi să poată fi aleasă o metodă de proiectare corespunzătoare modelului procesului, pentru a se obţine structura şi parametrii regulatorului, necesari îndeplinirii cerinţelor de performanţă impuse sistemului. Înainte de implementarea fizică a sistemului de reglare automată se realizează o simulare a acestuia pentru a i se studia comportamentul şi pentru a verifica dacă sunt îndeplinite performanţele sistemului. Evident precizia modelului şi metoda de proiectare aleasă influenţează calitatea reglării. Modelele obţinute nu sunt întotdeauna precise şi atunci devine importantă robusteţea sistemului de reglare. De asemenea pot apărea semnale perturbatoare, zgomote care influenţează comportarea ideală. Printr-un sistem robust se înţelege un sistem care reuşeşte să păstreze anumite proprietăţi (stabilitate, performanţe) şi în cazul apariţiei unor variaţii între sistemul real şi modelul folosit (erori de modelare) sau în cazul perturbaţiilor parametrice interne sau externe. Regulatorul robust este proiectat de obicei o singură dată, înainte de punerea în funcţiune a instalaţiei. [Zăr1] De multe ori în prezenţa incertitudinilor parametrice şi structurale în caracterizarea proceselor reale, soluţiile clasice şi chiar cele robuste de reglare nu fac faţă şi nu pot satisface condiţiile de performanţă impuse. De aici apare necesitatea folosirii unor noi structuri, moderne, inteligente şi adaptive. Câteva domenii unde aceste metode moderne se impun sunt: robotică, metalurgie, energetică, sisteme de navigaţie, tehnologii neconvenţionale, tehnica nucleară, etc. În plus, în automatica modernă se încearcă evitarea liniarizării sistemelor neliniare, regulatoarele fiind implementate direct pe baza modelului neliniar al procesului folosind structuri paralele cu informaţie distribuită de tip fuzzy (mulţimi vagi) şi/sau neuronal. Aceste structuri permit proiectarea unor regulatoare numerice pentru procese complexe, caracterizate de neliniarităţi şi incertitudini, în condiţii în care informaţiile despre dinamica procesului sunt limitate, adică avem de-a face cu conceptul de “control inteligent”. Atributul de “inteligenţă” este corelat în primul rând cu capacitatea de a raţiona a sistemelor fuzzy şi/sau neuronale în scopul alegerii unei decizii adecvate, într-o anumită 5
situaţie, şi mai puţin cu proprietatea de a învăţa. Dacă pentru controlul proceselor se folosesc structuri neuronale artificiale atunci spunem că avem un “control neuronal”. Dacă sistemul de reglare conţine un raţionament fuzzy (bazat pe logica fuzzy) atunci avem de-a face cu un “control fuzzy”. Dacă sistemul de reglare conţine atât structuri neuronale cât şi raţionament fuzzy atunci întâlnim conceptual de “control neuro-fuzzy”. [Dav1, Dav2] Particular sistemelor de conducere inteligente de tip neuronal este faptul că peste regulatoarele convenţionale se suprapune sistemul de învăţare. Metodele de învăţare utilizează eroarea de reglare fie pentru ajustarea parametrilor, fie pentru selecţia anumitor parametrii dintr-un set de soluţii posibile. Logica fuzzy permite înlocuirea metodelor clasice de proiectare a sistemelor de reglare automată bazate pe modele matematice cu intuiţie şi euristică inginerească. Sistemele fuzzy realizează îmbinarea între două lumi: om-maşină, şi anume modelarea informaţiei hibride lingvistico-numerice. Informaţia lingvistică este conţinută într-o bază de reguli “dacă … atunci …” (“if … then …”), iar cea numerică se regăseşte în perechile de valori intrare-ieşire. Fundamentat pe logica fuzzy s-a dezvoltat controlul fuzzy al proceselor prin care se simulează comportamentul uman în conducerea proceselor. Pe de altă parte variaţiile parametrice şi structurale pot fi compensate şi prin adăugarea unei bucle suplimentare în structura unui sistem de reglare clasic alături de bucla de reglare convenţională (reacţiei negative). Această buclă suplimentară este denumită buclă de adaptare, al cărei rol este de a asigura adaptarea continuă a comenzii prin modificarea parametrilor regulatorului sau a structurii acestuia prin semnale adiţionale. Structurile de sisteme adaptive pot fi în circuit deschis, cu răspândire mai redusă (telecomunicaţii) sau în circuit închis, folosite în cazul sistemelor automate de reglare. Un sistem fuzzy adaptiv poate fi văzut ca un sistem fuzzy înzestrat cu un “algoritm de antrenare”, algoritm care are rolul de a ajusta parametrii sistemului de reglare fuzzy pe baza perechilor de valori numerice intrare-ieşire obţinute prin măsurători efectuate asupra procesului. Acesta combină facilităţile oferite de reglarea bazată pe logica fuzzy (Fuzzy Logic Control FLC) şi conducerea adaptivă a proceselor (Adaptive Control AC). Lucrarea structurată pe 3 capitole principale, prezintă exemple de aplicaţii ale inteligenţei artificiale în reglarea adaptivă, prin detalierea sistemelor adaptive, sistemelor fuzzy directe şi a celor fuzzy adaptive. Avantajele ultimelor metode moderne permit obţinerea unor performanţe deosebite în conducerea unor procese care conţin elemente neliniare, procese asupra cărora există incertitudini de model, cu parametrii şi structură variabili în timp, precum şi procese unde intervin perturbaţii externe.
6
Astfel, în capitolul 2 se prezintă aspecte ce stau la baza construcţiei regulatoarelor inteligente adaptive, şi anume structurile de reglare adaptive (Adaptive Control) şi structurile de reglare fuzzy inteligente (Fuzzy Logic Control), exemplificate prin aplicaţii concrete de control. Capitolul 3 prezintă structuri de regulatoare fuzzy adaptive (Adaptive Fuzzy Control), iar apoi este axat pe proiectarea sistemului de reglare fuzzy cu învăţare cu model de referinţă (Fuzzy Model Reference Learning Control FMRLC), cu evidenţierea blocurilor componente şi a elementelor care separă aceste sisteme de celelalte regulatoare, fie ele clasice, adaptive sau inteligente. În partea finală a referatului sunt prezentate aplicaţii şi programe pentru studiul acestor regulatoare fuzzy adaptive şi concluzii referitoare la alegerea şi avantajele introducerii acestor tipuri de regulatoare în cadrul sistemelor automate.
7
II. Aspecte generale privind sistemele de reglare adaptivă şi sistemele de reglare fuzzy
În acest capitol sunt prezentate aspecte teoretice de proiectare a regulatoarelor adaptive (Adaptive Control AC), în principal regulatoare adaptive cu model de referinţă (Model Reference Adaptive Control MRAC), şi conceptul de regulator fuzzy (Fuzzy Logic Control), precum şi exemple de sisteme de reglare de acest tip. Din punct de vedere al sistemelor de reglare adaptive cu model de referinţă sunt dezvoltate în lucrare două direcţii diferite: regulatoare adaptive bazate pe regula MIT (Massachusetts Institute of Technology) şi regulatoare adaptive bazate pe teorema stabilităţii a lui Lyapunov. Pentru înţelegerea sistemelor automate care au în componenţa lor regulatoare fuzzy în elaborarea semnalelor de comandă, este necesară cunoaşterea unor noţiuni din logica fuzzy precum: mulţimi fuzzy, operaţii cu mulţimi fuzzy, mecanisme de inferenţă, fuzzificare şi defuzzificare, etc. Acestea fiind prezentate spre sfârşitul capitolului.
II.1. Sisteme de reglare adaptivă În teoria reglării automate moderne, conceptul de control adaptiv este deseori amintit alături de cel de control robust. Amândouă reprezentând metode de reglare a unor sisteme cu parametrii cu un grad mai mare sau mai mic de incertitudini sau variabili în timp. Un regulator robust este considerat acel regulator care reuşeşte să păstreze anumite proprietăţi (de stabilitate şi performanţă) ale sistemului automat, chiar şi atunci când asupra sistemului se interpun anumite elemente perturbatoare (externe, mărimi exogene sau interne, variaţii ale parametrilor procesului), iar sistemul de reglare devine unul robust. Proiectarea unui regulator adaptiv este impusă atunci când structura dinamică a procesului este cunoscută, dar pot apărea variaţii mai lente ai parametrilor fizici ai procesului. Indiferent de natura procesului, sistem liniar sau neliniar, regulatoarele adaptive sunt neliniare prin construcţie. Deosebirea între cele două tehnici de compensare a acestor variaţii în cadrul sistemelor este dată de modul de calcul a parametrilor de acord, iar aplicarea fiecărei metode depinde de viteza şi domeniul de variaţie al parametrilor procesului. 8
Spre deosebire de sistemele adaptive, unde parametrii regulatorului se modifică în mod repetitiv (“online”, în timpul funcţionării), în urma variaţiei parametrilor procesului, regulatorul robust este calculat o singură dată, înainte de punerea în funcţiune a sistemului automat. Avantajul regulatoarelor robuste constă în reducerea algoritmului de calcul, acesta efectuându-se o singură dată. Deşi un regulator robust are o acţiune mai rapidă decât cea a unui regulator adaptiv în momentul modificărilor parametrice a procesului condus, este obligatorie cunoaşterea domeniului de variaţie a acestora. Astfel, în cazul unor modificări parametrice mai lente într-un domeniu mai mare şi necunoscut se impune folosirea regulatoarelor adaptive, mai ales dacă structura procesului este cunoscută. Soluţiile de conducere în cadrul sistemelor adaptive au la bază două tehnici de adaptare parametrică, sisteme adaptive cu model de referinţă SAMR (Model Reference Adaptive System MRAS), cu structura generală de reglare din figura 2.1, şi sisteme adaptive cu autoreglare sau autoacordare SAA (Self-tuning Adaptive System SAS), cu structura prezentată în figura 2.2.
Fig. 2.1. Structura generală a unui sistem adaptiv cu model de referinţă (direct)
Fig. 2.2. Structura generală a unui sistem adaptiv cu autoacordare (indirect) În cazul primei tehnici se alege un model de referinţă (denumit şi model etalon), reprezentând funcţionarea dorită a sistemului şi se ajustează parametrii de acord ai regulatorului pe baza erorii dintre ieşirea procesului şi ieşirea modelului etalon. Mecanismul de adaptare trebuie să asigure convergenţa la zero a erorii de adaptare (de urmărire). În cazul 9
celei de-a doua tehnici, se realizează identificarea în timpul funcţionării (“online”) a parametrilor procesului şi pe baza estimaţiilor obţinute se actualizează coeficienţii unei legi de reglare cu structură fixată (alocare de poli, regulatoare PID, regulatoare liniar pătratice, varianţă minimă). [Ast2, Dam2, Iou, Ise, Naş, Sas, Wil, Lyu] Cele două tehnici s-au dezvoltat independent şi păreau a fi total diferite. Diferenţa consta în faptul că tehnicile de proiectare cu model etalon au fost elaborate, iniţial, pentru conducerea proceselor deterministe continue, în timp ce regulatoarele cu autoacordare au fost utilizate de regulă pentru conducerea sistemelor discrete stocastice. În prezent a fost pusă în evidenţă legătura dintre cele două abordări ale tehnicilor de conducere adaptivă. Spre exemplu ambele metode adaptive au două bucle de reglare: una interioară (denumită buclă ordinară de reglare) şi una exterioară (buclă de ajustare a parametrilor sau structurii regulatorului având la bază informaţiile funcţionale ale procesului). Evident metodele de proiectare a buclei interioare şi tehnicile de ajustare a parametrilor regulatorului adaptiv sunt diferite pentru cele două scheme de adaptare. Din punct de vedere al modalităţii de calcul al parametrilor regulatorului adaptiv sistemele adaptive pot fi sisteme adaptive directe sau sisteme adaptive indirecte. La sistemele adaptive indirecte parametrii regulatorului adaptiv sunt determinaţi pe baza parametrilor estimaţi ai procesului (în mod indirect) şi deci are loc o translaţie de la parametrii procesului la cei ai regulatorului. Dacă însă se poate realiza o reparametrizare (directă) a procesului astfel încât acesta să conţină şi parametrii regulatorului se obţine un sistem adaptiv direct. [Căl] În secţiunea următoare se va insista doar asupra sistemelor adaptive cu model de referinţă directe, acestea având o importanţă mare în abordarea sistemelor inteligente adaptive (sisteme fuzzy adaptive) de tip FMRLC, obiectul principal al studiului din această lucrare. II.1.1. Sisteme adaptive cu model de referinţă (MRAS) Sistemele adaptive cu model etalon, cu structura prezentată în figura 2.1, sunt în general compuse din patru blocuri componente: -
procesul condus (cu parametrii necunoscuţi);
-
modelul de referinţă (etalon);
-
regulatorul adaptiv (cu parametrii ajustabili);
-
mecanismul de adaptare (pentru ajustarea parametrilor regulatorului). Modelul de referinţă (etalon) din cadrul sistemelor adaptive de acest tip (cu structura
prezentată deja în figura 2.1) caracterizează comportarea dorită a sistemului, furnizând la 10
ieşire semnalul ym(t). Astfel, acelaşi semnal de intrare r(t) este aplicat atât modelului ideal cât şi construcţiei regulator adaptiv-proces. Sistemele adaptive cu model de referinţă se impun în domeniul sistemelor automate mai ales atunci când parametrii procesului sunt constanţi, dar necunoscuţi sau atunci când aceştia variază lent (pe intervale mari de timp) în comparaţie cu dinamica adaptării, dar suferă modificări importante sub acţiunea unor perturbaţii parametrice. Spre deosebire de sistemele adaptive cu model de referinţă trebuie recunoscută totuşi superioritatea sistemelor adaptive cu autoacordare din punct de vedere al flexibilităţii, deoarece la acestea din urmă există posibilităţi multiple de cuplare a metodelor de proiectare a regulatoarelor şi de estimare a modelelor proceselor. Mecanismul de ajustare al sistemelor adaptive cu model etalon asigură o stabilitate şi o convergenţă superioară sistemelor autoacordabile, deoarece rolul acestuia este de a modifica parametrii ajustabili ai regulatorului adaptiv astfel încât regulatorul să furnizeze o comandă u(t), în scopul reducerii erorii de adaptare ye(t), dintre ieşirea procesului y(t) şi ieşirea modelului etalon ym(t). lim ( y e (t ) ) = lim ( y (t ) - y m (t ) ) = 0 t ®¥
(2.1)
t ®¥
Regulatoarele adaptive sunt parametrizate şi destinate unor clase de procese (cu structură cunoscută). Dacă s-ar cunoaşte exact parametrii procesului atunci parametrii regulatorului pot fi determinaţi uşor pentru ca ieşirea procesului condus să fie una identică cu ieşirea modelului etalon. Atunci când legea de reglare este liniară în parametrii ajustabili regulatorul este liniar parametrizat. Indiferent de tehnicile utilizate dificultăţile problemei de conducere adaptivă provin din faptul că instalaţia tehnologică (procesul condus) reprezintă o necunoscută, o “cutie neagră” la care sunt disponibile doar informaţiile funcţionale (semnale de intrare şi ieşire), respectiv din generarea legii de comandă care să asigure că parametrii regulatorului tind către valorile ideale (dorite), ceea ce determină o convergenţă a erorii de adaptare ye la 0. Într-o formulare generală, problema conducerii adaptive a unui proces supus acţiunilor perturbaţiilor constă în determinarea la fiecare moment de timp t a semnalului de comandă u(t) care stabilizează sistemul în buclă închisă şi minimizează abaterea, eroarea de adaptare ye(t) dintre mărimea de ieşire din procesul condus şi mărimea de ieşire din modelul etalon ales, respectiv satisfacerea unor condiţii suplimentare precum [Zăr1, Dav2]:
11
-
determinarea semnalului de comandă u(t) se face doar prin utilizarea informaţiilor funcţionale disponibile, pentru intrare în procesul condus {u(τ), τ ≤t} şi pentru ieşire din procesul condus {y(τ), τ≤t};
-
regulatorul adaptiv este un sistem dinamic cauzal;
-
parametrii ajustabili ai regulatorului sa ia doar valori care să asigure convergenţa din relaţia 2.1. Structura generală a sistemului adaptiv cu model etalon, prezentată în figura 2.1, a fost
propusă prima oară de Whitaker, Yamron şi Keezer în anul 1958, iar formularea problemei de adaptare a parametrilor regulatorului cu scopul de a obţine un răspuns al procesului identic cu cel al modelului etalon este cunoscută ca o problemă de urmărire a modelului etalon. Alte studii în domeniul sistemelor adaptive au fost efectuate ulterior de Parks, Butchart, Hang, Monopoly, Landau, Ionescu, Wittenmark, Sastry, Bodson, Ioannou, Stoica, Tao etc. [Koo] Principalele metode de analiză şi sinteză a sistemelor adaptive cu model etalon dezvoltate în continuarea acestui subcapitol sunt: -
metoda gradientului, cunoscută şi sub denumirea de regula MIT;
-
metoda bazată pe teoria stabilităţii Lyapunov.
II.1.2. Metoda gradientului (regula MIT) pentru adaptarea regulatoarelor Metoda gradientului descendent, denumită şi metoda MIT după denumirea renumitei universităţii americane în cadrul căreia s-au efectuat primele studii, este primul pas reuşit de ajustare a parametrilor regulatorului adaptiv. Această metodă presupune modificarea în timp a parametrilor regulatorului adaptiv până când eroarea de adaptare (urmărire) devine cât mai mică, sau altfel spus se urmăreşte minimizarea unui criteriu de calitate ce depinde de eroarea de adaptare şi de parametrii regulatorului.
J (q ) =
unde
1 2 × ye 2
(2.2)
θ este vectorul parametrilor regulatorului. Mecanismul de ajustare a parametrilor regulatorului adaptiv poate fi sintetizat în cazul
metodei MIT prin relaţia: ¶y dq dJ = -g × = -g × y e × e dt dq ¶q
(2.3)
12
unde
γ reprezintă viteza de adaptare (constantă pozitivă); ye – eroarea de adaptare. O altă variantă pentru adaptarea parametrilor este cea care foloseşte criteriul de
calitate: J (q ) = y e
(2.4)
Regula de ajustare a parametrilor regulatorului adaptiv devine atunci: ¶y dq dJ = -g × = -g × e × sign( y e ) dt dq ¶q
unde
(2.5)
ì 1, y e > 0 ï sign ( y e ) = í 0, y e = 0 . ï- 1, y < 0 e î Un termen esenţial în relaţia 2.3 şi 2.5 este funcţia de sensibilitate a derivatei erorii
∂ye/∂θ, deoarece aceasta determină modul de adaptare a parametrilor. Se consideră de asemenea că parametrii se modifică mai lent decât variaţiile sistemului. Alegerea vitezei (ratei) de adaptare se face în funcţie de amplitudinea semnalului de intrare. Totuşi nu se pot preciza exact limitele care asigură stabilitatea sistemului în buclă închisă, ceea ce înseamnă că metoda de adaptare cu gradient descendent poate conduce la instabilitate. Pentru asigurarea stabilităţii se înlocuieşte funcţia de sensibilitate cu o altă metodă de adaptare, mai bună, bazată pe teoria de stabilitate Lyapunov. II.1.3. Metoda teoriei stabilităţii Lyapunov pentru adaptarea regulatoarelor Asigurarea stabilităţii sistemului închis şi convergenţa parametrilor regulatorului adaptiv se utilizează teoria de stabilitate (internă) a lui Lyapunov. Să presupunem că sistemul în buclă închisă este caracterizat de ecuaţia diferenţială: dx (t ) = f ( x (t )), f (0) = 0 dt
(2.6)
unde sistemul este neliniar sau liniar după cum este şi funcţia f(x). 13
Soluţia x(t) este stabilă în sens Lyapunov dacă pentru orice ε>0 există δ>0 astfel încât la orice moment de timp t pozitiv x (t ) < d Þ x (t ) < e . Soluţia este asimptotic stabilă dacă ea este stabilă şi x (t ) ® 0 când t ® ¥ . Forma practică şi utilă în cazul sistemelor adaptive cu model etalon este cea dată de metoda directă Lyapunov. Să presupunem încă o dată relaţia 2.6 pentru caracterizarea dinamicii sistemului în buclă închisă. Dacă se găseşte o funcţie V, care depinde de parametrii sistemului, denumită funcţie Lyapunov, astfel încât: 1. V(x)>0, x≠0; 2. V(0)=0; 3. V este derivabilă; ·
4. V (t ) =
¶V · × x (t ) £ 0 . ¶x
atunci sistemul este stabil. Altfel spus dacă funcţia V este pozitiv definită (1 şi 2) şi derivata ei negativ semidefinită (3 şi 4) atunci sistemul în buclă închisă este stabil. Înlocuind condiţia 4 cu relaţia 2.7, ceea ce înseamnă că derivata funcţiei V este negativ definită, sistemul în buclă închisă devine asimptotic stabil (exponenţial stabil). ·
V (t ) =
¶V · × x (t ) < 0 ¶x
(2.7)
În plus dacă V(x)→∞, când x→∞, sistemul este global asimptotic stabil (adică sistemul este asimptotic stabil pentru toate valorile x iniţiale). Relaţia 2.7 stă la baza determinării mecanismului de ajustare a parametrilor regulatorului adaptiv pe baza teoriei Lyapunov. [Iou, Dav2, Ast2] Problema esenţială şi în cazul sistemelor adaptive rămâne găsirea acestei funcţii V(x) (denumită şi funcţie de energie care depinde de parametrii sistemului), deoarece în cazul în care ea nu a putut fi găsită astfel încât să îndeplinească condiţiile 1-4 din teoria stabilităţii nu se pot face aprecieri din punct de vedere al stabilităţii şi convergenţei sistemului adaptiv în buclă închisă. Pentru un sistem dat prin ecuaţia: dx (t ) = A × x (t ), x (0) = x0 dt
(2.8)
unde A este matrice invariantă în timp. 14
Funcţia Lyapunov pătratică posibilă este: V ( x) = x T × P × x > 0
(2.9)
Dacă P este o matrice pătratică simetrică pozitiv definită atunci primele două condiţii din teorema stabilităţii (forma practică) sunt îndeplinite şi deci funcţia Lyapunov este pozitiv definită. Derivata funcţiei Lyapunov este conform relaţiei 2.10 negativ definită. ·
V ( x, t ) = x T × P × x + x T × P × x = x T × AT × P × x + x T × P × A × x = x T (AT × P + P × A) × x ·
·
·
AT × P + P × A = -Q Þ V ( x , t ) = - x T × Q × x < 0
(2.10)
unde Q este o matrice simetrică pozitiv definită. Relaţiile 2.9 şi 2.10 conduc la concluzia de stabilitate (internă) a sistemului în buclă închisă, deoarece toate cerinţele din teorema de stabilitate Lyapunov sunt îndeplinite. Alte teorii folosite în determinarea unei reguli de adaptare a parametrilor ajustabili ai sistemului adaptiv cu model etalon sunt: teoria pasivităţii, stabilitatea intrare-ieşire BIBO (bounded-input bounded-output), teoria Kalman-Yakubovich, etc. II.1.4. Exemple de sisteme adaptive cu model etalon În această secţiune se prezintă două exemple de sisteme adaptive cu model etalon directe (în care adaptarea parametrilor se face direct din informaţiile funcţionale, fără estimarea parametrilor). Metodele de adaptare a parametrilor sistemului vor fi pe rând metoda gradientului descendent (MIT) şi metoda stabilităţii Lyapunov. În primul exemplu procesul condus conţine un singur parametru necunoscut, factorul de amplificare k de pe calea directă. Se dau astfel procesul condus H(s) şi modelul etalon Hm(s): H ( s ) = Y ( s ) U ( s ) = k × G( s)
(2.11)
H m ( s ) = Ym ( s ) R ( s ) = k 0 × G ( s )
(2.12)
şi se cere proiectarea unui regulator adaptiv care să permită ca ieşirea sistemului în buclă închisă să urmărească ieşirea din modelul etalon. Pentru adaptarea factorului de 15
amplificare k este suficient un regulator care va avea în structura sa un singur parametru de acord θ. [Iou, Sas] U ( s ) = q × R( s)
(2.13)
Ideal, răspunsurile celor două sisteme sunt identice când parametrul de acord are valoarea optimă staţionară. Ye ( s ) = 0 Þ Y ( s ) = Ym ( s ) Þ q * = k 0 k
(2.14)
Dar valoarea lui k nu este cunoscută şi atunci trebuie găsit un mecanism de adaptare a parametrului regulatorului θ. Eroarea de adaptare (de urmărire) dintre ieşirile din cele două sisteme trebuie să tindă spre 0 şi este dată de relaţia: y e (t ) = y (t ) - y m (t ) = k × G ( p ) × q × r(t ) - k 0 × G ( p ) × r(t )
(2.15)
Dacă se aplică regula MIT (relaţia 2.3) pentru adaptarea parametrului θ atunci rezultă: ¶y dq dJ = -g × = -g × y e × e = -g × y e × y m dt dq ¶q
(2.16)
iar pentru metoda Lyapunov se poate alege următoarea funcţie V, pozitiv definită:
g
k ö k æ V ( y e , q ) = × y e + × çq - 0 ÷ 2 2 è k ø
2
2
(2.17)
Din teoria stabilităţii Lyapunov rezultă că sistemul în buclă închisă este stabil dacă derivata acestei funcţii V este negativ semidefinită. Din această condiţie rezultă regula pentru adaptarea parametrului θ, ce se bazează pe teoria stabilităţii (interne) Lyapunov: dq = -g × r × y e dt
(2.18)
În figura 2.3 se găsesc cele două sisteme adaptive cu model etalon, care folosesc drept mecanism de adaptare al parametrului ajustabil relaţiile 2.16 şi 2.18. Schemele de simulare au 16
fost realizate în mediul Simulink, un accesoriu util de proiectare, modelare şi simulare al programului de calcul numeric folosit în instituţii academice şi de cercetare Matlab. Versiunea de program Matlab folosită este 6.5. [***1, ***2, Ghi, ww11]
Fig. 2.3. Adaptarea factorului de amplificare prin regula MIT şi Lyapunov Răspunsurile procesului condus şi modelului etalon, pentru fiecare metodă de adaptare în parte, sunt prezentate în figura 2.4. La intrarea modelului etalon şi sistemului adaptiv închis s-a aplicat o referinţă (semnal de intrare) de tip tren de impulsuri dreptunghiulare cu o amplitudine de 2 şi o perioadă de 4 secunde.
Fig. 2.4. Răspunsurile procesului condus şi modelului etalon Adaptarea parametrului de acord se face mai repede în cazul în care factorul de adaptare (viteza de adaptare) γ este crescut, fără a se depăşi o anumită limită (figura 2.5). Dacă se trece peste limita maximă posibilă a factorului de adaptare se observă că metoda MIT 17
aplicată mecanismului de adaptare nu mai asigură stabilitatea sistemului, iar parametrul de acord θ oscilează devenind instabil şi divergent (figura 2.6). Acesta este motivul pentru care regula bazată pe teoria de stabilitate Lyapunov este mai bună, şi înlocuieşte regula MIT (evident învechită).
Fig. 2.5. Îmbunătăţirea vitezei de adaptare prin creşterea factorului γ
Fig. 2.6. Răspunsurile modelului etalon şi procesului condus, respectiv evoluţia în timp a parametrului ajustabil θ, pentru un factor de adaptare prea mare. Al doilea exemplu reprezintă adaptarea unui sistem în care procesul condus conţine factorul de amplificare k şi constanta de timp T necunoscute (sistem de ordin I). Se dau pentru acest exemplu procesul condus H(s) şi modelul etalon Hm(s):
H ( s ) = Y ( s) R( s) =
· b Þ y (t ) = - a × y ( t ) + b × u ( t ) s+a
18
(2.19)
H m ( s ) = Ym ( s ) U ( s ) =
· bm Þ y m (t ) = - a m × y m (t ) + bm × r (t ) s + am
(2.20)
Şi la această problemă se cere proiectarea unui regulator adaptiv care să determine o ieşire a sistemului în buclă închisă identică cu cea dorită şi impusă prin modelul etalon. Pentru adaptarea unui factor de amplificare k şi a constantei de timp T este necesar un regulator care va avea în structura sa două căi, una după referinţă şi una după ieşire (aşa denumitul regulator feedforward-feedback), cu doi parametrii ajustabili: θ1 şi θ2. Structura sistemului adaptiv cu model de referinţă este prezentată în figura 2.7. [Sas, Iou, Dav2, Tog, Wil] u( t ) = q1 × r ( t ) - q 2 × y ( t )
(2.21)
Fig. 2.7. Schema de reglare adaptivă pentru sistem de ordin I Ieşirea sistemului în buclă închisă în funcţie de intrarea r(t) este dată de relaţia 2.22.
y (t ) =
b × q1 r (t ) p + a + b ×q2
(2.22)
unde p reprezintă operatorul de derivare. Ideal, răspunsurile celor două sisteme sunt identice y(t)=ym(t), când parametrii de acord au valoarea optimă staţionară θ1* şi θ2*. ì * bm ï q1 = b (- a - b × q 2 ) × y(t ) + b × q1 × r (t ) = -am × ym (t ) + bm × r(t ) Þ í a -a ïq 2* = m î b
(2.23)
Deoarece valoarea parametrilor sistemului nu este cunoscută sau aceştia pot să se modifice în timp, trebuie implementat un mecanism de adaptare ai parametrilor ajustabili ai 19
regulatorului. Eroarea de adaptare (de urmărire) dintre ieşirile din cele două sisteme este dată în relaţia 2.24. y e ( t ) = y (t ) - y m ( t )
(2.24)
Funcţiile de sensibilitate ale derivatei erorii în raport cu parametrii regulatorului sunt: ¶y e b = ×r; ¶q1 p + a + b × q 2
b b 2 × q1 ¶y e ×r = ×y =2 p + a + b ×q2 ¶q 2 ( p + a + b × q2 )
(2.25)
Aceste relaţii nu pot fi implementate în regulatorul adaptiv deoarece conţin necunoscutele procesului, dar se pot face câteva artificii matematice, presupunând că parametrii procesului se modifică lent şi sistemul în buclă închisă este apropiat de modelul etalon. Astfel este permisă următoarea înlocuire: p + a + b × q 2 = p + am
(2.26)
Dacă se aplică regula gradientului descendent (MIT, cu relaţia 2.3) pentru adaptarea parametrilor θ1 şi θ2, incluzând parametrul b în factorul de adaptare γ, atunci rezultă: dq 1 = -g dt
æ am ö × çç × r ÷÷ × y e è p + am ø
şi
dq 2 =g dt
æ am ö × çç × y ÷÷ × y e è p + am ø
(2.27)
Pentru metoda de adaptare bazată pe teoria stabilităţii Lyapunov din relaţiile 2.19 şi 2.20 rezultă: dy e (t ) = - a m × y e (t ) - (b × q 2 + a - a m ) × y (t ) + (b × q 1 - bm ) × r (t ) dt
(2.28)
ceea ce ne face să alegem următoarea funcţie V, pozitiv definită:
V ( ye ,q ) =
1æ 2 1 1 2 2ö çç × y e + × (b × q 2 + a - am ) + × (b × q1 - bm ) ÷÷ 2è b ×g b ×g ø
20
(2.29)
Din teoria stabilităţii Lyapunov rezultă că sistemul în buclă închisă este stabil dacă derivata acestei funcţii V este negativ semidefinită. dV ( y e , q ) 2 = -am × ye £ 0 dt
(2.30)
condiţie adevărată doar dacă am>0 şi în plus: dq 1 = -g × r × y e dt
şi
dq 2 = g × y × ye dt
(2.31)
În figura 2.8 se prezintă două structuri de reglare cu model etalon care folosesc drept mecanism de adaptare al parametrului ajustabil relaţiile 2.16 şi 2.18.
Fig. 2.8. Adaptarea factorului de amplificare k şi a constantei de timp T Diferenţa între cele două scheme este dată de prezenţa filtrelor în structura mecanismului de adaptare realizat cu relaţia 2.16. Şi pentru adaptarea factorului de amplificare k, respectiv a constantei de timp T, creşterea vitezei de adaptare poate conduce la oscilaţii ale semnalului de ieşire (figura 2.10). Îmbunătăţirea stabilităţii se face folosind un mecanism de adaptare bazat pe teoria stabilităţii Lyapunov. 21
Fig. 2.9. Răspunsurile procesului condus şi modelului etalon
Fig. 2.10. Răspunsurile procesului condus şi modelului etalon pentru γ>10 Din studiul celor două aplicaţii de control adaptiv cu model etalon se observă superioritatea netă din orice punct de vedere al celei de-a doua metode de adaptare a parametrilor regulatorului adaptiv folosită în lucrare, şi anume metoda de adaptare bazată pe teoria stabilităţii Lyapunov.
II.2. Sisteme de reglare directă fuzzy În această secţiune se prezintă noţiuni introductive şi de bază din logica fuzzy, urmate de prezentarea structurii regulatoarelor directe fuzzy cu evidenţierea blocurilor componente şi a câtorva aplicaţii de reglare inteligentă. În deceniile trecute am asistat la o dezvoltare puternică în domeniul acestei noi teorii, logica fuzzy. Această nouă teorie stă la baza reglării si controlului fuzzy, una din metodele de reglare moderne care duce la schimbarea modului de abordare a problemelor în cadrul automaticii de astăzi. Există diverse situaţii în care cunoştinţele despre un anumit fenomen sunt parţiale sau chiar contradictorii şi totuşi omul este pus în situaţia de a lua o decizie raţională deoarece nu 22
mai poate apela la situaţii similare memorate şi cunoscute deja. Având în vedere că universul este un conglomerat de cunoştinţe ce nu vor putea fi vreodată cunoscute în totalitate s-a elaborat o teorie bazată pe probabilistica logicii clasice . Logica fuzzy utilizează informaţia sub forma unor elemente lingvistice pentru descrierea comportării sistemelor complexe fără a fi necesară utilizarea obişnuitelor modele matematice folosite la proiectarea clasică a sistemelor. Însă se ştie că în practică informaţiile (datele) obţinute de la diferiţi senzori se găsesc sub forma unor elemente numerice . Între cele două tipuri de informaţii există diferenţe fundamentale atât cu privire la regulile ce le guvernează cât şi ca formalism. Astfel pentru a forma un sistem util practic trebuie găsită o punte de legătură între cele două lumi formate, pe de o parte lumea calculelor matematice şi numerice şi pe de altă parte lumea umană reprezentată de noţiunile lingvistice. Această punte poate fi constituită de logica fuzzy şi sistemele fuzzy aferente. Fundamentat pe logica fuzzy s-a dezvoltat controlul fuzzy al proceselor prin care se simulează comportamentul uman în conducerea proceselor. Dacă am face o scurtă incursiune în automatica şi conducerea proceselor clasice putem să observăm uşor marele impediment al acestor metode, modelarea fizică a proceselor supuse reglării şi eventual liniarizarea modelului prin diferite tehnici. În practică ne putem lovi uşor de această problemă când modelul matematic devine prea complex sau chiar atunci când acesta nu poate fi determinat datorită inexistenţei unor informaţii necesare. O alta situaţie ar fi atunci când sistemul nostru are un model neliniar şi nu dorim liniarizarea lui. Atunci în sprijinul nostru vin metodele moderne bazate pe inteligenţă artificială sau pe experienţă umană pentru a face mai eficient întregul proces de reglare. Aceste metode utilizează o descriere semiformală despre strategia de reglare . Logica fuzzy asigură posibilitatea conversiei unei strategii lingvistice într-una numerică fără a se dispune de un model matematic al procesului. Ea este des utilizată în aplicaţii de control, unde procesul este prea complex pentru a fi analizat prin metode convenţionale. Odată cu creşterea interesului faţă de posibilităţile inedite oferite de logica fuzzy în aplicaţii de testare şi control, s-au dezvoltat procesoare fuzzy precum şi medii de programare dedicate simulării şi implementării acestor aplicaţii. Astfel a apărut posibilitatea utilizării unor controllere simple de logică fuzzy, în locul unor procesoare convenţionale mai complicate ce lucrează pe cuvinte de 32 biţi. Pentru implementările cele mai simple s-au utilizat microcontrolere ieftine având lungimea codului de câteva sute de biţi. Printre companiile renumite producătoare de sisteme fuzzy se numără : American Neuralogix, Aptronix, Fuzzy Systems Engineering, Hitachi America, Intel, Integrated 23
Systems, National Semiconductor, Motorola, National Semiconductor, Philips, SGS Thomson Microelectronics. [Dav1, Olt1, Pre1, Pre2, ww1] Fără a epuiza posibilităţile de folosire a sistemelor de reglare fuzzy (FLC) putem aminti de reglarea unor parametrii critici precum temperatura, presiunea, debitul, poziţia, clima, viteza etc. precum şi de câteva domenii clare de aplicare : Tabel 2.1. Domenii de aplicare ale FLC Nr. aplicaţiilor :
Domenii de aplicare
1990-1999
Sisteme de reglare
Peste 13.289
Măsurări traductoare
Peste 1.919
Automobile
Peste 394
Robotică
Peste 1.867
Prelucrări de imagine
Peste 3.469
Diagnoză automată
Peste 1.271
Alte aplicaţii
Peste 11.045
II.2.1. Elemente de logica fuzzy Acest subcapitol se doreşte a fi o scurtă integrare a cititorului în tehnicile moderne şi nu o aprofundare s-au o epuizare a tuturor posibilităţilor ce le oferă teoria fuzzy în sine. Aşa cum în teoria logicii clasice putem vorbi de mulţimi de elemente, elemente, operaţii şi relaţii între mulţimi şi elemente, reguli şi consecinţe, la fel şi în teoria fuzzy putem discuta de astfel de componente care vor fi abordate în cele ce urmează. Pentru prima dată s-a vorbit de o mulţime fuzzy la Universitatea din California-Berkeley într-o lucrare expusă de către Lofti A. Zadeh în anul 1964. Teoria mulţimilor fuzzy (mulţimi vagi) a slujit de fapt ca bază pentru dezvoltarea ulterioară a acestei logici fuzzy . [Zad, ww3] În teoria clasică o mulţime este definită ca o colecţie de elemente u, aparţinând domeniului tuturor elementelor posibile (uÎU). Orice element luat din acest domeniu U poate să fie conţinut sau nu într-o mulţime particulară A. Se defineşte astfel o funcţie x de apartenenţă a tuturor elementelor u la mulţimea clasică A:
x A : U ® {0,1};
ì1, u Î A x A (u ) = í î0, u Ï A
(2.32)
Se observă că apartenenţa acestor elemente u poate fi caracterizată printr-o valoare binară “0 sau 1 logic”. Deci este valabil principiul logicii aristotelice care spune că ceva 24
există sau nu există sau conform filozofiei şi religiei orientale principiul că ceva există şi, în acelaşi timp, nu există, de exemplu YIN şi YANG. Dar nu orice informaţie poate fi convertită binar folosind acest principiu de true/false şi atunci se apelează la statistică, ceea ce presupune introducerea probabilităţii cuprinse între 0 şi 1, ca un element u să aparţină unei mulţimi A. Logica fuzzy produce acelaşi rezultat, în sensul în care etichetează variabilele cu valori cuprinse între 0 şi 1, adică funcţia x de apartenenţă a elementelor u la mulţimea A poate lua şi valori subunitare. [Kis, Pre1, Dri] O mulţime fuzzy (mulţime vagă) A, dintr-un domeniu U, este caracterizată printr-o funcţie de apartenenţă μA, care poate lua valori în intervalul [0,1]:
m A : U ® [0,1]
(2.33)
O mulţime fuzzy A, dintr-un domeniu U, poate fi reprezentată (complet determinată) matematic printr-un set de perechi ordonate care conţin elementul u şi gradul de apartenenţă μA la acea mulţime vagă: A = {(u, m A (u ) ) | u Î U }
(2.34)
unde variabilele (informaţiile) fuzzy u iau valori fuzzy μA(u). Dacă codomeniul (spaţiul valorilor) funcţiei de apartenenţă conţine doar două puncte, 0 şi 1, atunci mulţimea A este de fapt o mulţime non-fuzzy, adică o mulţime clasică. În contextul teoriei mulţimilor fuzzy, mulţimile clasice de valori reale sunt denumite mulţimi crisp. Funcţiile de apartenenţă pot avea diferite aluri grafice (figura 2.11), simetrice sau nu, cu denumiri consacrate din literatura de specialitate: clopot Gauss, cosinus, trapez, triunghi, singleton.
Fig. 2.11. Exemple de funcţii de apartenenţă O mulţime fuzzy (vagă) sau un set fuzzy este alcătuit grafic din una sau mai multe funcţii de apartenenţă. Pentru caracterizarea analitică a mulţimilor vagi se folosesc următoarele noţiuni: -
suportul (baza, lăţimea) mulţimilor vagi; 25
S ( m ) = {u | u Î A, m (u ) > 0} -
(2.35)
toleranţa mulţimilor vagi;
T ( m ) = {u | u Î A, m (u ) = 1} -
(2.36)
înălţimea mulţimilor vagi.
h ( m ) = max {m (u ) | u Î A}
(2.37)
În particular, o mulţime al cărei suport este un singur punct u cu gradul de apartenenţă maxim (μ(u)=1) se numeşte singleton. Ca şi în teoria clasică, şi în teoria mulţimilor fuzzy după ce au fost definite mulţimea şi elementele unei mulţimi urmează operaţii şi relaţii între acele mulţimi şi elemente. Presupunând de la început existenţa unei mulţimi crisp G, definită pe un domeniu U din matematica clasică se pot defini relaţiile între mulţimi: -
egalitatea dintre două mulţimi fuzzy;
A = B,
-
dacă m A ( x ) = m B ( x ), (")x Î G
(2.38)
incluziunea mulţimilor fuzzy.
A Í B,
dacă m A (x )£ m B (x ), (")x Î G
(2.39)
sau operatori şi conectori lingvistici ai acestor mulţimi, ilustraţi grafic în figura 2.12. -
conectorul şi, după Zadeh corespunzător intersecţiei a două mulţimi, evaluat prin operatorul minimum;
C = A Ç B, dacă m C (x ) = min( m A (x ), m B (x )), (")x Î G -
(2.40)
operatorul sau, după Zadeh corespunzător reuniunii a două mulţimi, evaluat prin operatorul maximum;
C = A È B, dacă m C ( x ) = max( m A (x ), m B (x )), (")x Î G 26
(2.41)
-
operatorul de complementare (sau de negare).
C = comp ( A), dacă m C (x ) = 1 - m A (x ), (")x Î G
(2.42)
Fig. 2.12. Exemplificarea grafică a operatorilor min, max, comp Pentru evaluarea reuniunii şi intersecţiei mai sunt folosiţi şi operatorii sumă (sum) şi produs (prod), iar în literatura de specialitate se mai întâlnesc operatorii şi-vag şi sau-vag sau modificatori de conţinut cum sunt operatorul de concentrare (con) sau de diluare (dil). Printre alte noţiuni elementare folosite în teoria mulţimilor fuzzy sunt: -
valoare crisp, reală (crisp value);
-
variabilă lingvistică (linguistic variable), de exemplu: temperatura, viteza, clima;
-
termen lingvistic (linguistic term), de exemplu: mic, mediu, plăcut, foarte cald;
-
grad de apartenenţă la o mulţime fuzzy (membership value, cuprins între 0 şi 1);
-
funcţii de apartenenţă (membership functions, cu diferite forme). În cadrul sistemelor fuzzy, variabila lingvistică reprezintă o mărime fizică şi defineşte
mulţimea de bază, în timp ce termenul lingvistic caracterizează diferitele mulţimi ce se definesc pe mulţimea de bază prin intermediul funcţiilor de apartenenţă. Termenul lingvistic trebuie înţeles ca un descriptor fuzzy al unui subdomeniu de valori ale mărimii fizice. Pentru exemplificare se prezintă descrierea vagă a temperaturii unui cuptor, folosind cinci termeni lingvistici: foarte mică, mică, medie, mare, foarte mare; termeni definiţi prin funcţiile de apartenenţă cu forma din figura 2.13. [Dav1, Pre1, Pre2, Jag, Olt1]
Fig. 2.13. Descrierea vagă a temperaturii Avantajul folosirii teoriei mulţimilor fuzzy constă tocmai în reprezentarea elementelor fizice prin variabile lingvistice, termeni lingvistici şi expresii lingvistice. Să considerăm că 27
temperatura, o variabilă fizică în teoria clasică şi una lingvistică în teoria fuzzy, are la un moment dat în teoria clasică o valoare reală de 110˚C. Aceasta înseamnă în teoria fuzzy alăturarea câte unui grad de apartenenţă la fiecare termen lingvistic pentru a descrie fenomenul. Deci, temperatura de 110˚C este caracterizată în teoria mulţimilor fuzzy prin: u = 110°C Þ u* = {0,0.75,0.25,0,0}
(2.43)
În ordine crescătoare au fost precizate gradele de apartenenţă a valorii ferme, crispreale, la termenii lingvistici definiţi. Fiecare valoare dintr-o mulţime reală non-fuzzy (crisp) are un corespondent în mulţimea fuzzy prin ataşarea unui grad de apartenenţă la un termen lingvistic. Dacă în reglarea clasică a sistemelor o relaţie matematică este definită între intrările şi ieşirile acelui sistem, în sistemele fuzzy relaţiile sunt definite între variabile fuzzy din diferite mulţimi prin expresii lingvistice şi implicaţii lingvistice. Cea mai simplă expresie lingvistică posibilă are următoarea structură : “variabilă lingvistică - simbol - termen lingvistic”(de exemplu: temperatura este medie). O relaţie lingvistică, este compusă din mai multe expresii lingvistice şi are forma: “variabilă lingvistică - simbol - termen lingvistic conector lingvistic variabilă lingvistică simbol - termen lingvistic”(de exemplu: temperatura este medie şi umiditatea este ridicată). O implicaţie lingvistică are forma: “dacă premisa atunci concluzia” (dacă temperatura este joasă atunci cuptorul este rece). Prin premisă se prezintă o proprietate sau mai multe (o expresie lingvistică sau mai multe legate într-o relaţie) observată/observate, iar prin concluzie o proprietate afirmată. În aplicaţiile de conducere, mai multe relaţii stabilite între diferite mulţimi fuzzy definite pe mulţimi de bază trebuie cuplate de obicei în vederea enunţării unei concluzii ulterioare. Astfel pentru aceste relaţii (mai multe expresii lingvistice) se folosesc conectori lingvistici de tipul şi/sau, iar evaluarea conexiunilor se face cu operatori adecvaţi logicii vagi. Pentru cuplaje complexe de relaţii sunt introduse produsele (compoziţiile): max-min, maxprod, sum-prod. Aceasta deoarece în cazul regulatoarelor fuzzy automate comanda actuală (concluzia) se va determina pe baza valorilor mai multor intrări, de tipul “dacă premisa1 şi/sau premisa2 atunci concluzia”. Importantă în realizarea regulatoarelor fuzzy este deci şi inferenţa vagă (fuzzy), adică algoritmul după care se evaluează aceste implicaţii lingvistice reunite într-o bază de reguli. În evaluarea inferenţei se pot utiliza compoziţiile max-min, max-prod, sum-prod. 28
II.2.2. Structura de bază a regulatoarelor fuzzy directe Această secţiune este dedicată regulatoarele fuzzy directe. Sunt detaliate structura acestor regulatoare, blocurile constructive şi diferitele tipuri de raţionamente folosite în cadrul ingineriei reglării automate. Modalitatea tradiţională de a proiecta sistemele de control automat pentru procese neliniare şi afectate de incertitudini se dovedeşte de multe ori a fi foarte dificilă. Prin utilizarea euristicilor (cunoştinţelor expertului), tehnicile de control bazate pe inteligenţă artificială pot simplifica sinteza unor regulatoare pentru asemenea procese. Combinând aceşti algoritmi soft-computing cu unele metode adaptive de învăţare se pot obţine metode de control aproape optimale. Utilizarea metodelor bazate pe experienţa umană sunt pe cale să înlocuiască tot mai des în procesul de conducere metodele clasice de control, aceasta deoarece folosesc doar o descriere semiformală a strategiei de reglare, adică le formalizează funcţionarea modelelor proceselor necunoscute printr-o metodă similară cu gândirea umană şi nu au nevoie de modele matematice. În general un regulator fuzzy are structura de bază prezentată în figura 2.14, unde sunt evidenţiate următoarele blocuri componente: [Dav1, Dav2, Olt1, Duk] -
baza de reguli;
-
blocul de fuzzificare;
-
mecanismul de inferenţă;
-
blocul de defuzzificare.
Fig. 2.14. Structura informaţională a unui regulator fuzzy Blocul de fuzzificare reprezintă blocul de intrare în regulatorul fuzzy, cu rol de obţinere a informaţiei fuzzy sub forma variabilelor lingvistice, a termenilor lingvistici şi a funcţiilor de apartenenţă dintr-o valoare crisp. Aceste informaţii fuzzy (valori fuzzy) vor fi comparate cu premisele tuturor regulilor de tipul “dacă … atunci …” (“if … then …”) 29
cuprinse în baza de reguli şi folosite de mecanismul de inferenţă pentru activarea şi aplicarea acestora. Baza de reguli conţine transpunerea în logică fuzzy a descrierii lingvistice a modului în care s-ar realiza un control eficient. Deci acest bloc este constituit din setul de reguli de tipul “dacă … atunci …” stabilite de expert şi definite pe variabilele fuzzy, de intrare şi ieşire. Mecanismul de inferenţă exprimă modul în care se interpretează şi se aplică regulile stabilite de expert pentru variabilele de intrare. Acest mecanism evaluează care dintre reguli sunt relevante la momentul de timp corespunzător pe baza gradelor de apartenenţă şi decide valoarea (fuzzy) a mărimii de ieşire din regulator folosind operatori adecvaţi logicii vagi. Blocul de defuzzificare asigură faptul că rezultatul obţinut din blocul de decizie, o valoare fuzzy, este convertit într-o valoare fizică reală ce se va transmite procesului / elementului de execuţie. Practic aici se va realiza operaţia inversă fuzzificării. Pentru realizarea unui regulator inteligent bazat pe logică fuzzy sunt respectate în general următoarele etape de proiectare: a) Alegerea variabilelor de intrare şi ieşire, precum şi stabilirea termenilor lingvistici, funcţiilor de apartenenţă, respectiv mulţimile fuzzy de bază asociate acestora. Alegerea variabilelor lingvistice trebuie făcută în funcţie de posibilităţile şi necesităţile de proiectare şi implementare, însă cel mai des se folosesc doar două intrări pentru a nu complica prea mult algoritmul de calcul, deoarece numărul de intrări va avea un efect puternic după cum vom vedea asupra bazei de reguli. Referitor la natura intrărilor ferme ale regulatoarelor fuzzy se întâlnesc două situaţii tipice. -
intrările în regulator sunt cel mai des eroarea de reglare şi derivatele erorii sau integrala erorii, pentru a se aprecia evoluţia în timp a procesului;
-
intrările în regulator sunt pe lângă eroarea de reglare, eventual derivatele erorii sau integrala erorii, şi alte mărimi de proces (de obicei mărimi de stare) cu dinamică diferită. Pentru descrierea mulţimilor fuzzy de bază asociate variabilelor lingvistice există
nenumărate cazuri de folosire a diferitelor tipuri de funcţii de apartenenţă. Alegerea domeniului de bază se face în unităţi naturale, normate, în creşteri faţă de o valoare de referinţă (ceea ce determină amplificarea regulatorului fuzzy). De asemenea prin definirea termenilor lingvistici se fixează rezoluţia conversiei vagi. Se dovedeşte că alegerea unui număr mai mare de 7 termeni nu conduce la o creştere eficientă a rezoluţiei, iar formularea bazei de reguli devine anevoioasă şi nesigură. Alocarea termenilor 30
lingvistici şi a funcţiilor de apartenenţă se face astfel încât să fie acoperit tot domeniul de bază. În plus este recomandabil ca o valoare fermă să activeze simultan doi termeni lingvistici. În figura 2.15 sunt prezentate câteva exemple de alegere a mulţimilor fuzzy ataşate unor variabile lingvistice.
Fig. 2.15. Exemple de mulţimi de bază pentru variabile lingvistice b) Întocmirea bazei de reguli. Baza de reguli se construieşte prin corelarea logică a mulţimilor fuzzy asociate variabilelor de ieşire cu cele ale variabilelor de intrare. Operaţia logică care face posibilă trecerea de la o premisă la o concluzie se numeşte inferenţă logică. Iată câteva exemple de implicaţii lingvistice care pot fi simple sau compuse, cu mai multe expresii lingvistice: Construcţie simplă:
dacă condiţia 1 atunci concluzia 1 dacă condiţia 2 atunci concluzia 2 …………………………………… dacă condiţia n atunci concluzia n
De exemplu: dacă temperatura este mare atunci umiditatea este mare. Construcţie compusă:
dacă condiţia 1a şi condiţia 1b atunci concluzia 1 dacă condiţia 2a şi condiţia 1b atunci concluzia 2 ……………………………………………………… dacă condiţia na şi condiţia nb atunci concluzia m
De exemplu: dacă temperatura este mare şi umiditatea este mare atunci în cameră este neplăcut . Construcţia compusă se foloseşte atunci când se doreşte îndeplinirea a două sau mai multor condiţii pentru două sau mai multe variabile lingvistice diferite, de intrare. Baza de reguli poate fi completă (când fiecare situaţie fermă este acoperită de reguli) sau incompletă
31
(dacă situaţii ferme puţin probabile sunt lăsate spre rezolvare unor reguli adiacente sau nu sunt definite). Numărul de reguli ale unei baze de reguli complete se calculează cu relaţia: n
n R = Õ ni
(2.44)
i =1
unde
ni reprezintă numărul termenilor lingvistici definiţi pentru fiecare variabilă
lingvistică de intrare; n – numărul de variabile lingvistice de intrare. De fapt aceste implicaţii (reguli) pot fi transpuse sub forma unui tabel (matrice) de reguli, asemeni celei prezentate în figura 2.16. Se consideră două variabile lingvistice de intrare x1 şi x2 a căror termeni lingvistici sunt introduşi pe coloane sau linii ale matricei, iar interiorul câmpurilor matricei astfel formate conţin valorile lingvistice ale ieşirii y, rezultate în urma aplicării logicii din experienţa umană.
Fig. 2.16. Matricea cu baza de reguli Textual din tabelul de reguli (baza de reguli fuzzy completă) intersecţia coloanei 5 cu linia 5 conţine implicaţia lingvistică “dacă condiţia 5a şi condiţia 5b atunci concluzia 25”, deci “dacă x1 este PM şi x2 este PM atunci y este PM” (if x1 is PM and x2 is PM then y is PM). c) Tratarea informaţiei ferme de intrare şi stabilirea procedeelor de fuzzificare. Fuzzificarea se efectuează prin transformarea valorii ferme reale în valoare fuzzy, adică fiecărei valori a variabilelor de intrare i se asociază câte un vector având ca elemente, în ordine crescătoare, gradele de apartenenţă la termenii lingvistici definiţi pe mulţimile fuzzy de bază (relaţia 2.43). Înainte de această transformare trebuie efectuată o conversie analognumerică a semnalului primar (eşantionare, cuantizare, codificare) şi eventual o tratare numerică a informaţiei (filtrarea numerică, calculul derivatelor, integralelor). 32
Criteriile de eşantionare a semnalelor continue sunt practic similare cu cele din cazul conducerii clasice şi depind de dinamica procesului condus (mai puţin cunoscută), dinamica sistemului de reglare automată, echipamentele numerice disponibile, spectrul perturbaţiilor, dinamica elementelor de execuţie şi de măsură. d) Stabilirea mecanismelor de inferenţă La orice moment de timp, algoritmul de decizie fuzzy activează reguli din cadrul bazei de reguli fuzzy (BRF), urmărindu-se influenţa fiecărei reguli în concluzia finală. Apoi se realizează evaluarea acestor reguli prin diferite raţionamente şi pe baza conectorilor lingvistici, respectiv a operatorilor fuzzy fundamentali se determină
valoarea fuzzy
corespunzătoare concluziei (ieşirii). Se reamintesc situaţiile de utilizare a conectorilor lingvistici: -
conectorul şi în interiorul premisei pentru intersecţia condiţiilor de funcţionare sau la evaluarea regulii (concluzionare);
-
conectorul sau în interiorul premisei pentru reuniunea condiţiilor de funcţionare sau la cuplarea mai multor reguli activate din cadrul bazei de reguli (reuniunea concluziilor). Metodele de inferenţă (compoziţiile) preferate în soluţionarea problemelor de reglare
fuzzy sunt max-min, max-prod, sum-prod. Pentru a înţelege fiecare metodă de inferenţă se evaluează analitic doar două reguli activate (24 şi 25) din matricea de reguli din figura 2.16: “dacă x1 este Pm şi x2 este PM atunci y este PM”, “dacă x1 este PM şi x2 este PM atunci y este PM”. Inferenţa max-min (denumită şi raţionamentul Mamdani) se face utilizând operatorii: -
pentru conectori în premisă: şi → min, sau → max;
-
pentru concluzionare: min;
-
pentru conectarea regulilor: max.
m R 24 = m yPM = MIN (MIN (m x1Pm , m x 2 PM ), m yPM )
m R 25 = m yPM = MIN (MIN (m x1PM , m x 2 PM ), m yPM ) m y Re z = MAX (m R 24 , m R 25 ) = MAX (m yPM , m yPM )
(2.45)
Deoarece de obicei maximul funcţiei de apartenenţă a ieşirii are valoarea reală 1 evaluarea regulilor 24 şi 25 se reduce la calcularea valorii minime între gradele de apartenenţă corespunzătoare celor două intrări. Inferenţa max-prod se face utilizând operatorii: -
pentru conectori în premisă: şi → min, sau → max; 33
-
pentru concluzionare: prod;
-
pentru conectarea regulilor: max.
m R 24 = m yPM = PROD (MIN (m x1Pm , m x 2 PM ), m yPM )
m R 25 = m yPM = PROD (MIN (m x1PM , m x 2 PM ), m yPM ) m y Re z = MAX (m R 24 , m R 25 ) = MAX (m yPM , m yPM )
(2.46)
Inferenţa sum-prod se face utilizând operatorii: -
pentru conectori în premisă: şi → prod, sau → sum;
-
pentru concluzionare: prod;
-
pentru conectarea regulilor: sum.
m R 24 = m yPM = PROD (PROD (m x1Pm , m x 2 PM ), m yPM )
m R 25 = m yPM = PROD (PROD (m x1PM , m x 2 PM ), m yPM ) m y Re z = SUM (m R 24 , m R 25 ) = SUM (m yPM , m yPM )
(2.47)
În conducerea automată a sistemelor este întâlnită mai rar situaţia în care în premisă se foloseşte conectorul sau. Acesta ar impune înlocuirea operatorului min din evaluarea analitică 2.45, 2.46 cu operatorul max, respectiv a operatorului prod cu operatorul sum din relaţia 2.47. Folosirea celor doi operatori simultan în premisele implicaţiilor din baza de reguli duce în final şi la o modificare a matricei bazei de reguli fuzzy din figura 2.16. Aceasta trebuie să conţină şi explicaţii asupra operatorului conectorilor folosiţi în premisă. [Pre1, Pre2, Ali, Jag] În figura 2.17 este prezentat modul de aplicare a inferenţei max-min.
Fig. 2.17. Mecanismul de inferenţă max-min (Mamdani) d) Adoptarea tehnicilor de defuzzificare 34
Defuzzificarea este procesul de extragere a unei valori reale deterministe din informaţia fuzzy asociată variabilei de ieşire, obţinută din mecanism de inferenţă μyRez → u. Metoda cea mai des utilizată, datorită rezultatelor consistente obţinute este cea a centrului de greutate MCG (center of gravity CoG), introdusă de Watanabe (1986).
Fig.2.18. Defuzzificare prin metoda centrului de greutate (center of gravity) CoG Pentru calculul efectiv al ieşirii se poate aplica relaţia 2.48 dacă funcţiile de apartenenţă ale ieşirii sunt simetrice (cu forme favorabile). n
yCoG =
åy
i
× m y Re z ( y i )
i =1
åm i =1
unde
(2.48)
n
y Re z
( yi )
yi sunt centrele de greutate fixe ale funcţiilor de apartenenţă ; μyRez(yi) – gradele de realizare ale concluziilor regulilor activate.
Alegerea metodei de defuzzificare depinde şi de tipul elementului de execuţie. Pentru un element de execuţie cu număr finit de stări discrete se va alege între metoda maximului şi metoda maximelor mediate, iar pentru un element de execuţie cu domeniu de variaţie compact se preferă metoda centrului de greutate. [Dav1, Dav2, Pre1, Pre2] În figura 2.19 sunt exemplificate alte câteva metode de defuzzificare, precum metoda primului maxim MPM (first maximum FM), metoda ultimului maxim MUM (last maximum LM), metoda centrului ariei maxime MCAM (center of area CoA).
Fig. 2.19. Alte tehnici de defuzzificare Dependent de metoda de defuzzificare ieşirea fermă din regulator poate fi valoarea actuală a comenzii sau creşterea valorii actuale în raport cu vechea valoare a comenzii. 35
II.2.3. Exemple de structuri de reglare fuzzy directe Teoretic, un regulator fuzzy este prin construcţie un regulator neliniar, cu una sau mai multe intrări şi una sau mai multe ieşiri. Un regulator fuzzy poate deveni un regulator cu dinamică dacă una din mărimile sistemului este prelucrată dinamic. Regulatoarele fuzzy fără dinamică cu o intrare şi o ieşire sunt regulatoare proporţionale neliniare cu limitare sau regulatoare multipoziţionale. Regulatoarele fără dinamică cu mai multe intrări (MISO) corespund structurii clasice, realizarea lor presupune ca mărimile culese din procesul condus să fie deja separate prin blocuri cu dinamică incluse în proces. [Jan, Pre1, Pre2, Dav1, Dav2] Un caz interesant este regulatorul fuzzy după stare, cu structura prezentată în figura 2.20. La acest tip de regulator mărimile de intrare în regulator sunt chiar mărimile de stare ale procesului condus x1,x2...
Fig. 2.20. Regulator fuzzy după stare În general, proprietăţile unui sistem de reglare automată se pot îmbunătăţii dacă se introduc componente dinamice în structura regulatorului. Dacă în regim permanent se poate elimina sau reduce eroarea de reglare, în regim dinamic se pot îmbunătăţi rezerva de fază, suprareglajul sau durata regimului tranzitoriu. Prelucrarea dinamică (pentru regulatoare fuzzy cu dinamică) a unei mărimi de intrare sau ieşire din regulator se face cu componente derivative sau integratoare (de tip D sau I), introduse în variantă analogică sau numerică (echivalent cvasicontinual). ·
··
e1 (t ) = e(t ) = r (t ) - y (t ), e2 (t ) = e(t ), e3 (t ) = e(t ) sau e3 (t ) = ò e(t )dt
(2.49)
0
unde pentru componentele D şi I relaţiile uzuale numerice de calcul sunt:
Dk =
1 (ek - ek -1 ) , Te
k
Ik = å e j
(2.50)
j =0
36
Cu cele două componente dinamice se realizează în prezent variante de regulatoare fuzzy de tip PID. Construcţia unui regulator fuzzy cvasi-PD are la bază schema bloc din figura 2.21a şi relaţia 2.51, ce caracterizează o dependenţă tipică a unui regulator convenţional PD. · · u(t ) = F æç e(t ), e(t ) ö÷ = k1 × e1 (t ) + k 2 × e2 (t ) = k1 × e(t ) + k d × k 2 × e(t ) è ø
(2.51)
Dacă coeficienţii k1, k2, kd sunt modelaţi cu ajutorul regulatorului fuzzy atunci rezultă echivalentul cvasicontinuu al regulatorului fuzzy PD. [Pre1, Pre2] Construcţia unui regulator fuzzy cvasi-PI de poziţie se poate face în două variante: -
cu efectul de integrare introdus pe ieşirea regulatorului fuzzy (figura 2.21b);
-
cu efectul de integrare introdus pe intrarea regulatorului fuzzy (figura 2.21c).
Fig. 2.21. Regulatoare fuzzy cvasi-PID Relaţiile aferente celor două structuri ce caracterizează o dependenţă tipică a unui regulator convenţional PI sunt:
t
t
· · u(t ) = k i × ò F æç e(t ), e(t ) ö÷dt = k i × ò æç k1 × e1 (t ) + k d × k 2 × e2 (t )ö÷dt è ø ø 0 0è
(2.52)
t
u(t ) = F (e1 (t ), e2 (t ) ) = k 1 × e1 (t ) + k 2 × e2 (t ) = k p × k1 × e(t ) + k i × k 2 × ò e(t )dt
(2.53)
0
Dacă coeficienţii k1, k2, kd, ki, kp sunt modelaţi cu ajutorul regulatorului fuzzy atunci rezultă echivalentul cvasicontinuu al regulatorului fuzzy PI. În mod asemănător se pot realiza şi regulatoarele fuzzy cvasi-PID sau alte regulatoare fuzzy cu dinamică. În practică sunt întâlnite cel mai des regulatoare fuzzy cu dinamică care au ca intrări eroarea de reglare şi variaţia acesteia (derivata erorii). 37
Un exemplu în care nu se doreşte obţinerea unor performanţe deosebite, ci doar detalierea funcţionării unui regulator fuzzy direct, este un sistem de reglare automată a unui proces de ordin doi. Pentru a obţine un regulator fuzzy cu dinamică a fost introdus un bloc numeric de derivare. Se consideră următoarea funcţie de transfer continuă a procesului:
H (s) =
1 s + 3× s + 4
(2.54)
2
Întrucât metodele de reglare inteligente fuzzy fac parte din categoria soft-computing, adică implică implementarea acestora pe un sistem de calcul, deci o tratare în plan discret a problemelor, este necesară o reprezentare discretizată a procesului. Funcţia discretă a procesului considerând o perioadă de eşantionare de 0.001s este:
H ( z -1 ) =
(
10 -6 × 0.4995 × z -1 + 0.499 × z -2 1 - 1.997 × z -1 + 0.997 × z -2
)
(2.50)
Regulatorul fuzzy a fost realizat folosind editorul grafic fuzzy disponibil în mediul Matlab. El are două variabile lingvistice de intrare (eroarea şi derivata intrării) şi una de ieşire (comanda). Pentru toate variabilele au fost alocaţi cinci termeni lingvistici (cu funcţii de apartenenţă de tip triunghi şi trapez). Domeniile de bază pentru cele trei variabile lingvistice au fost obţinute prin teste experimentale, deci implicit şi factorii de scalare a domeniilor. În figura 2.22 sunt prezentate mulţimile de bază pentru variabilele lingvistice şi tabelul cu baza de reguli.
Fig. 2.22. Mulţimile variabilelor lingvistice şi baza de reguli 38
Regulatorul foloseşte raţionamentul Mamdani (pentru mecanismul de inferenţă), ceea ce înseamnă folosirea operatorului min/max pentru evaluarea conectorului şi/sau din premisă, respectiv concluzionarea în cadrul regulilor se face cu operatorul min şi conectarea regulilor cu operatorul max. Obţinerea valorii crisp din valoarea fuzzy (defuzzificarea) se face cu metoda centrului de greutate.
Fig. 2.23. Schema de simulare a sistemului de reglare În urma efectuării simulării sistemului de reglare ce conţine regulatorul inteligent de tip fuzzy, eroarea de reglare e, comanda u şi ieşirea din proces y sunt prezentate în figura 2.24.
Fig. 2.24. Evoluţia erorii, comenzii şi ieşirii procesului în timp Evoluţia mărimilor din figura 2.24 evidenţiază îndeplinirea eventualelor cerinţe de performanţă. Trebuie precizat că aceste regulatoare inteligente dau rezultate superioare regulatoarelor convenţionale
în prezenţa
neliniarităţilor puternice
incertitudinilor în modelul procesului.
39
în procese sau
III. Sisteme de reglare fuzzy adaptive
Deşi fiecare din cele două strategii de reglare (adaptivă convenţională şi fuzzy inteligentă) au adus îmbunătăţiri în domeniul ingineriei reglării automate, modernizându-l, acestea şi-au dovedit şi ele limitele. Spre exemplu sistemele de reglare inteligente fuzzy, deşi utile în multe aplicaţii de control automat unde teoria clasică nu face faţă, au şi ele problemele lor de proiectare şi funcţionare. Alegerea mulţimilor de bază ale mărimilor de intrare şi ieşire, funcţiile de apartenenţă şi proiectarea bazei de reguli depind de expertul uman şi de modul în care acesta prelucrează lingvistic informaţiile despre proces. În plus este posibil ca un regulator deja proiectat să funcţioneze în condiţii nominale să nu ofere aceleaşi rezultate în cazul unor variaţii semnificative ale parametrilor procesului. Dacă ar fi posibilă o reactualizare şi modificare on-line a parametrilor regulatorului atunci performanţele sistemului în buclă închisă s-ar îmbunătăţii şi am avea de-a face cu o tehnică de control fuzzy adaptivă. Această tehnică reprezintă o soluţie care combină practic algoritmii soft-computing (bazaţi pe logica fuzzy) cu metodele adaptive de învăţare, obţinând metode de control aproape optimale. Deci, un regulator fuzzy adaptiv posedă avantaje moştenite atât de la sistemele inteligente fuzzy, cât şi de la sisteme adaptive, pentru a controla sisteme neliniare, cu parametrii variabili în timp şi cu o structură parţial cunoscută. (Figura 3.1) [Koo]
Fig. 3.1. Tipuri de strategii de reglare În acest capitol sunt prezentate câteva scheme generale de regulatoare inteligente adaptive întâlnite în literatura de specialitate şi structura de bază a unui sistem de reglare fuzzy adaptiv cu model etalon (Fuzzy Model Reference Learning Control FMRLC). Apoi sunt studiate funcţionarea şi modul de realizare a acestor regulatoare inteligente şi adaptive, moderne prin detalierea unor aplicaţii tipice de control. 40
III.1. Scheme generale de reglare fuzzy adaptivă În acest subcapitol sunt prezentate câteva exemple de scheme principiale de control fuzzy adaptiv şi elemente de iniţiere în ceea ce se va concretiza în structura sistemului de reglare fuzzy adaptivă cu model etalon. Pornind de la regulatoarele fuzzy cvasi-PID o îmbunătăţire a performanţelor sistemelor de reglare automată poate fi asigurată dacă se realizează modificarea structurii acestora prin utilizarea a două regulatoare fuzzy cvasi-PID standard (fie ele cu integrare pe intrare sau ieşire) în conexiune paralel, cu acţiune alternativă asupra procesului (Figura 3.2). [Pre1, Pre2]
Fig. 3.2. Regulatoare fuzzy cvasi-PID cu structură variabilă În cazul regulatorului cu structură variabilă din figura 3.2 unul dintre regulatoare standard acţionează când modulul erorii de reglare este mai mare de o valoare limită, iar celălalt când modulul erorii de reglare coboară sub această limită. Parametrii fuzzy ai regulatoarelor pot fi de fapt factorii de scalare a mulţimilor de bază ale mărimilor de intrare şi ieşire. Un alt tip de regulator adaptiv este cel care foloseşte o strategie de adaptare a parametrilor fuzzy. Parametrii unui regulator fuzzy ce pot fi luaţi în considerare pentru adaptarea acestuia la noi condiţii de funcţionare sunt: -
funcţiile de apartenenţă (pentru variabile intrare şi ieşire);
-
factorii de scalare ai mulţimilor de bază (pentru variabile intrare şi ieşire);
-
conţinutul bazei de reguli. Mărimile folosite în cazul adaptării parametrilor regulatorului fuzzy sunt:
-
eroarea de reglare;
-
derivata erorii de reglare;
-
valoarea comenzii;
-
alte mărimi (eventual de stare) ale procesului. 41
Dacă considerăm un regulator fuzzy cvasi-PID standard, structura unui sistem adaptiv cu parametrii regulatorului variabili după o strategie este dată în figura 3.3. [Pre2]
Fig. 3.3. Regulatoare fuzzy cvasi-PID cu parametrii variabili Ieşirea blocului de adaptare poate fi factorul de scalare al uneia din mulţimile de bază sau chiar unul din parametrii regulatorului PID (de exemplu factorul proporţional Kr). Se practică şi o variantă derivată a sistemului adaptiv din figura 3.3, în care regulatorul fuzzy cvasi-PID standard este înlocuit cu un regulator convenţional PID proiectat iniţial după metode clasice de proiectare, iar dependent de modificările condiţiilor de funcţionare ale procesului se modifică on-line parametrii regulatorului PID după o strategie fuzzy. În această situaţie este necesară prezenţa mai multor blocuri de adaptare fuzzy. Fiecare astfel de bloc ajustează câte un parametru al regulatorului convenţional (Kr, Ki, Kd). Aceste tipuri de regulatoare bazate pe logica fuzzy nu reprezintă o soluţie ce garantează performanţe superioare regulatoarelor convenţionale. Chiar mai mult, aceste regulatoare moderne nu asigură stabilitatea şi robusteţea sistemelor de reglare automată, deoarece aceste proprietăţi sunt bazate pe modul de întocmire al mulţimilor de bază ale variabilelor lingvistice şi de baza de reguli, deci pe experienţa şi cunoştinţele umane. Totuşi studiile realizate în ultimii ani s-au axat pe dezvoltarea şi perfecţionarea acestui domeniu. O variantă de bază de implementare a strategiei fuzzy adaptive este prezentată în figura 3.4.
Fig. 3.4. Sistem de reglare fuzzy adaptiv 42
III.2. Sistem de reglare fuzzy adaptiv cu model de referinţă O scurtă recapitulare a capitolelor precedente ne aminteşte de structura de sistem adaptiv cu model etalon. Dacă această schemă de reglare puţin refăcută în figura 3.5 conţine un regulator inteligent de tip fuzzy se obţine un sistem modern de reglare, denumit sistem fuzzy adaptiv cu model etalon. Dacă se poate realiza o reparametrizare, ajustare directă a parametrilor regulatorului, deci a anumitor parametrii ai sistemului direct din datele măsurate din proces de către mecanismul de adaptare atunci se obţine un sistem fuzzy adaptiv direct.
Fig.3.5. Sistem de reglare fuzzy adaptiv direct cu model de referinţă Performanţele dorite ale sistemului în buclă închisă sunt introduse cu ajutorul modelului etalon (de referinţă). Regulatorul ajustabil va căuta să asigure o funcţionare a sistemului în buclă închisă identică cu funcţionarea modelului etalon. Noţiunea de adaptare poate fi asociată capacităţii de învăţare a sistemului adaptiv. Învăţarea, abilitatea de îmbunătăţire a proprietăţilor sistemului automat, capacitatea de a raţiona clasifică acest tip de sistem în domeniul sistemelor inteligente. În acest capitol se prezintă structura şi modul de proiectare a unui sistem de reglare fuzzy cu învăţare cu model etalon (Fuzzy Model Reference Learning Controller FMRLC) care face parte din categoria sistemelor adaptive. Evident acest sistem poate oferi performanţe superioare sistemelor adaptive sau sistemelor inteligente fuzzy, dacă este proiectat corect. Un sistem care posedă abilităţi de învăţare are capacitatea de a-şi
îmbunătăţii
performanţele prin informaţiile obţinute prin interacţiunea cu mediul. Noţiunea de învăţare deosebeşte acest regulator FMRLC de regulatoarele adaptive convenţionale prin faptul că acesta va realiza pe lângă adaptarea parametrilor şi o memorare a valorilor, cunoştinţelor acordate în trecut. Este ştiut că regulatoarele adaptive clasice folosite în special în cazul proceselor liniare cu parametrii necunoscuţi îşi modifică (reactualizează) parametrii regulatorului fără a şti dacă situaţia actuală (la un moment dat) a mai fost întâlnită. 43
Sistemele de control fuzzy, adaptive sau nu, fac parte din categoria metodelor speciale soft-computing, adică a metodelor care necesită o implementare pe un sistem de calcul. Acest fapt ne impune să folosim şi semnale discrete. Structura sistemului de reglare fuzzy cu învăţare cu model de referinţă FMRLC este prezentată în figura 3.6. [Koo, Lay, Pas1, Duk]
Fig. 3.6. Sistem de reglare fuzzy cu învăţare cu model etalon (FMRLC) Acest sistem adaptiv modern conţine patru părţi importante: [Pas1, Koo] -
procesul;
-
regulatorul fuzzy;
-
modelul de referinţă;
-
mecanismul de învăţare (sau de adaptare). Sistemul de reglare cu FMRLC utilizează mecanismul de învăţare pentru a observa
informaţiile din proces şi modul de funcţionare al sistemului fuzzy. Aceste date sunt folosite ulterior cu scopul de ajusta parametrii sistemului de reglare inteligent pentru a îndeplini performanţele cerute sistemului construit, performanţe introduse prin modelul etalon. Practic se poate spune că sistemul de reglare rezolvă două probleme de urmărire corespunzătoare celor două bucle din figura 3.6. Sistemul de reglare fuzzy acţionează prin bucla de reglare inferioară şi prin comanda u(kT) astfel încât ieşirea sistemului y(kT) să urmărească intrarea r(kT). Sistemul adaptiv de reglare (în special mecanismul de învăţare) încearcă să ajusteze parametrii regulatorului fuzzy pentru ca sistemul în buclă închisă (caracterizat prin semnalele r(kT) şi y(kT)) să se comporte asemeni sistemului de referinţă (caracterizat prin r(kT) şi ym(kT)), deci pentru ca ieşirea sistemului y(kT) să urmărească ieşirea modelului etalon ym(kT). În continuare se vor trata mai detaliat doar componentele sistemului de reglare fuzzy cu învăţare cu model de referinţă (FMRLC), cu schema bloc funcţională prezentată deja în figura 3.6, care nu au fost studiate până la acest punct al referatului. 44
Regulatorul fuzzy este unul clasic, construit cu structura din figura 2.14 şi după etapele de proiectare menţionate la subcapitolul II.2.2. După cum s-a văzut aceste regulatoare pot fi fără dinamică sau cu dinamică, dacă sunt ataşate blocuri de derivare şi integrare pe intrări. Cel mai des sunt întâlnite regulatoarele fuzzy cu dinamică, respectiv cu două intrări şi o ieşire (sisteme MISO). Intrările alese cel mai frecvent sunt: -
eroarea de reglare;
e(kT ) = r (kT ) - y (kT )
-
(3.1)
variaţia erorii de reglare (derivata).
d (kT ) =
e(kT ) - e(kT - T ) T
(3.2)
Adică avem un regulator fuzzy cvasi-PD. Prin T se înţelege perioada de eşantionare. Evident că modul de alegere al mărimilor şi al termenilor şi funcţiilor de apartenenţă ale intrărilor şi ieşirilor influenţează stabilitatea şi performanţele sistemului în buclă închisă. Pentru scalarea/normalizarea mulţimilor de bază ataşate mărimilor intrare/ieşire se folosesc factori de scalare (amplificări): ge reprezintă factorul de scalare al erorii de reglare e(kT), gd reprezintă factorul de scalare al variaţiei erorii d(kT), iar gu este factorul de scalare al comenzii u(kT). Valorile factorilor de scalare sunt alese experimental, în mod euristic, astfel încât să fie acoperit tot domeniul şi să nu genereze o saturare a gradelor de apartenenţă rezultate pentru mărimile de intrare şi ieşire din regulator. Dacă aceste valori nu sunt bune, vor trebui modificate înainte de introduce mecanismul de adaptare. Baza de reguli este alcătuită preferabil din toate combinaţiile posibile pentru funcţiile de apartenenţă (termeni lingvistici) ale intrărilor. Spre exemplu dacă am avea două intrări cu câte 7 termeni lingvistici atunci baza de reguli va avea 49 de combinaţii, dintre care în momentul funcţionării doar câteva din aceste reguli vor fi activate şi vor influenţa concluzia la un eşantion dat. Funcţiile de apartenenţă ataşate intrărilor sunt constante pentru un regulator FMRLC şi alese pentru a se putea acoperi orice situaţie ce poate apărea. În schimb, funcţiile de apartenenţă ale ieşirii (comenzii) sunt presupuse necunoscute şi reprezintă parametrul variabil prin care se ajustează (modifică) de fapt baza de reguli de către FMRLC pentru îmbunătăţirea
45
performanţelor. Funcţiile de apartenenţă ale ieşirii sunt iniţializate în mod euristic, pentru ca apoi ele să fie modificate de mecanismul de adaptare. Pentru raţionamentul fuzzy se alege mecanismul de inferenţă Mamdani (inferenţa max-min), iar valoarea crisp se obţine din valoarea fuzzy prin metoda centrului de greutate. Modelul de referinţă este elementul prin care sunt introduse în schema funcţională performanţele dinamice dorite pentru sistemul în buclă închisă (sau altfel spus “sistemul ideal”). În general, modelul de referinţă poate fi discret sau continuu, liniar sau neliniar, variabil în timp sau nu, dar pentru a nu îngreuna implementarea calculelor sunt folosite sistemele de ordin I şi II. Pentru un sistem de ordin I cu factorul de amplificare k şi constanta de timp T1 dorite rezultă modelul continuu:
H (s) =
Ym ( s ) k = R( s ) T1 × s + 1
(3.3)
Pentru un sistem de ordin II pulsaţia naturală ωn şi factorul de amortizare ζ dorite rezultă modelul continuu:
H (s) =
Ym ( s ) k ×wn = 2 R( s ) s + 2 × z × w n × s + w n2
(3.4)
Modelele sistemelor de referinţă sunt discretizate pentru o implementare discretă în timp, folosind metoda dreptunghiului sau trapezului. Performanţele sistemului în buclă închisă sunt satisfăcute dacă mecanismul de învăţare sau adaptare reuşeşte să menţină o eroare de adaptare foarte mică în orice moment de timp, şi practic acest mecanism nu mai produce modificări semnificative ale regulatorului fuzzy. Eroarea de adaptare este dată de relaţia: y e ( kT ) = y m ( kT ) - y (kT )
(3.5)
Derivata erorii de adaptare este dată de relaţia 3.6.
y d (kT ) =
y e (kT ) - y e (kT - T ) T
(3.6)
46
III.2.1. Mecanismul de învăţare (de adaptare) Rolul mecanismului de adaptare este de a modifica baza de reguli a regulatorului fuzzy direct (prin intermediul funcţiilor de apartenenţă ale ieşirii u(kT)) până când sistemul în buclă închisă se comportă într-un mod asemănător cu modelul de referinţă ales. Aceste modificări aplicate regulatorului se fac doar după ce sunt măsurate datele de la intrarea şi ieşirea procesului, modelului de referinţă şi
regulatorului fuzzy direct. Mecanismul de
învăţare este compus din două părţi: modelul fuzzy invers şi modificatorul bazei de reguli. Modelul fuzzy invers utilizează ca intrări abaterea (eroarea) de adaptare ye(kT) şi variaţia (derivata) yd(kT) pentru a efectua modificări ale semnalului de corecţie (denumit şi factor de adaptare) p(kT), necesare adaptării bazei de reguli a regulatorului fuzzy direct, până când eroarea de adaptare se anulează. Din punct de vedere al proiectării şi implementării, modelul fuzzy invers se comportă ca un regulator fuzzy direct, care furnizează la ieşire mărimea de corecţie p(kT) cu scopul de a reduce eroarea ye(kT). [Pas1, Koo, Lay] Şi în cazul modelului fuzzy invers se folosesc factori de scalare pentru normalizarea mulţimilor de bază ataşate mărimilor intrare/ieşire: gye reprezintă factorul de scalare al erorii de adaptare ye(kT), gyd reprezintă factorul de scalare al variaţiei erorii de adaptare yd(kT), iar gp este factorul de scalare al comenzii p(kT). Alegerea unui model fuzzy invers depinde de aplicaţia dezvoltată, dar s-a constatat că pentru o gamă largă de aplicaţii determinarea specificaţiilor modelului fuzzy invers se face în mod asemănător cu determinarea regulatorului fuzzy direct. De fapt, de multe ori modelul fuzzy invers ia aceeaşi formă cu regulatorul fuzzy direct. Baza de reguli a modelului fuzzy invers conţine reguli de forma: dacă ye(kT) este YE şi yd(kT) este YD atunci p(kT) este P unde
(3.7)
ye(kT), yd(kT), p(kT) reprezintă variabilele lingvistice de intrare; YE, YD, P sunt valorile lingvistice (termeni lingvistici) asociate variabilelor
lingvistice. Pentru mecanismul de inferenţă se foloseşte metoda max-min, iar pentru defuzzificare metoda centrului de greutate (COG). Pentru proiectarea modelului invers fuzzy există câteva elemente general valabile. Este bine ca acest model să fie construit astfel încât atunci când mărimea de ieşire y(kT) din sistemul în buclă închisă urmăreşte destul de bine (cu o eroare de adaptare foarte mică) 47
mărimea de ieşire dorită ym(kT) să ofere un semnal de corecţie nul (p(kT)=0), ceea ce înseamnă că adaptarea regulatorului fuzzy încetează. Deci teoretic calea de adaptare este dezactivată, ceea ce nu înseamnă că ea nu continuă să existe şi să urmărească în continuare eventualele modificări ce pot apărea în proces. Această caracteristică (relaţia 3.8) specifică doar modelului fuzzy invers asigură o stabilitate generală mai bună sistemului. y e (kT ) < e y Þ p (kT ) = 0
(3.8)
unde ey este o valoare foarte mică, convenabil aleasă. Dacă considerăm o dependenţă direct proporţională între eroarea de adaptare ye(kT) şi semnalul de corecţie de la ieşirea modelului fuzzy invers p(kT) atunci în locul relaţiei 3.8 se mai poate folosi şi următoarea regulă: dacă p (kT ) < e p atunci p( kT ) = 0
(3.9)
unde ep este o valoare foarte mică aleasă a priori care va opri adaptarea. Oricând eventualele modificări în proces conduc la o creştere a erorii de adaptare peste valoarea lui ep mecanismul de învăţare (adaptare) va intra din nou în funcţiune şi va încerca să reducă această eroare. Importante sunt pentru obţinerea unor performanţe mai bune ale sistemului adaptiv FMRLC sunt şi valorile factorilor de scalare. Valorile factorilor de scalare sunt determinate prin încercări, respectând câteva reguli. [Pas1] Pentru o influenţă mai mică a experienţei umane şi a informaţiilor despre proces în proiectarea modelului fuzzy invers procedura de scalare a parametrilor modelului invers este: -
iniţial se începe cu o valoare gye astfel încât intrarea ye(kT) să nu satureze funcţiile de apartenenţă ale intrării de la capetele mulţimii de bază;
-
se alege un factor de scalare gp al ieşirii modelului fuzzy invers identic cu factorul de scalare gu al comenzii regulatorului fuzzy direct, iar factorul de scalare gyd este nul;
-
se aplică o referinţă treaptă r(kT) cu o valoare a amplitudinii cât mai aproape de cea din funcţionare normală a sistemului;
-
se compară ieşirea sistemului cu ieşirea modelului etalon şi se efectuează modificări ale parametrilor modelului fuzzy invers până când cele două răspunsuri sunt apropiate, proiectarea modelului invers fiind oprită. Pentru un răspuns al sistemului în buclă 48
închisă cu oscilaţii prea mari în comparaţie cu răspunsul modelului de referinţă se creşte acţiunea intrării derivative din mecanismul de învăţare (prin factorul de scalare al variaţiei erorii de adaptare gyd). Pentru un răspuns al sistemului în buclă închisă prea lent, ce nu poate urmări răspunsul modelului etalon se scade valoarea acţiunii derivative (prin gyd). Unele aplicaţii necesită o implicare mai mare a intuiţiei umane şi o procedură cu mai puţini parametrii de reglat, şi atunci se recomandă o procedură alternativă de scalare a factorului gp, echivalentul factorului de adaptare din cazul regulatoarelor adaptive convenţionale: -
iniţial se începe cu un factor de scalare gp=0 al semnalului de corecţie p(kT), ceea ce înseamnă că mecanismul de adaptare este inactiv şi avem de-a face cu o reglare fuzzy directă simplă. Dacă răspunsul sistemului nu este cel dorit atunci se trece la introducerea treptată a buclei de învăţare (adaptare) prin creşterea factorului de scalare;
-
se aleg amplificările gye şi gyd astfel încât să se evite saturarea funcţiilor de apartenenţă de la capetele mulţimilor de bază pentru variabilele de intrare;
-
se creşte încet valoarea lui gp (se modifică factorul de adaptare) până se obţine un răspuns satisfăcător. Modificatorul bazei de reguli are rolul de a adapta baza de reguli a regulatorului fuzzy
direct cu scopul de a realiza o îmbunătăţire a stabilităţii şi performanţelor sistemului în buclă închisă. Modificarea bazei de reguli se realizează cu ajutorul funcţiilor de apartenenţă ale ieşirii regulatorului, funcţiile variabilelor de intrare fiind lăsate constante. Modelul fuzzy invers prelucrează informaţiile venite de la proces şi de la modelul etalon şi furnizează semnalul de corecţie p(kT) pentru a duce la anularea erorii de adaptare, iar modificatorul bazei de reguli adaptează baza de reguli astfel încât comanda aplicată de regulatorul fuzzy direct la un moment anterior u(kT-T) să se modifice cu p(kT). u(kT ) = u (kT - T ) + p( kT )
(3.10)
La un moment ulterior (deci după t=kT), când se vor obţine valori asemănătoare pentru eroarea de adaptare ye şi pentru variaţia acesteia yd, comanda furnizată de regulatorul fuzzy va fi deja actualizată (după reguli modificate), rezultând o eroare mai mică între răspunsul modelului de referinţă şi ieşirea procesului. 49
Modificarea bazei de reguli a regulatorului fuzzy direct se efectuează în doi paşi şi se realizează prin deplasarea centrelor funcţiilor de apartenenţă a valorilor lingvistice asociate regulilor ieşirii regulatorului fuzzy direct care au contribuit la comanda anterioară u(kT-T). Pentru exemplificare se consideră b drept centrul funcţiei de apartenenţă a valorii lingvistice U asociată variabilei de ieşire. [Pas1] a) Se determină setul de reguli active la momentul kT-T;
m (e( kT - T ), d (kT - T ) ) > 0
(3.11)
b) Se modifică centrele funcţiilor de apartenenţă ale ieşirii care se regăsesc în setul de reguli active determinate la pasul unu. Centrele acestor funcţii de apartenenţă la momentul kT vor avea valoarea determinată cu relaţia 3.12. Centrele funcţiilor de apartenenţă ale ieşirii care nu apar în setul de reguli active nu vor fi modificate. b(kT ) = b(kT - T ) + p(kT )
(3.12)
Dacă intrarea în proces u(kT) are efect la ieşirea procesului nu doar peste un eşantion de timp, ci peste mai multe eşantioane (n eşantioane) atunci şi adaptarea bazei de reguli se va face cu o întârziere de n eşantioane şi relaţiile 3.11 şi 3.12 devin:
m (e( kT - nT ), d (kT - nT ) ) > 0
(3.13)
b(kT ) = b(kT - nT ) + p (kT )
(3.14)
O altă observaţie ce se evidenţiază este aceea că modificările bazei de reguli sunt doar modificări locale. Adică, nu se modifică (adaptează) întreaga bază de reguli a regulatorului fuzzy deoarece sunt active la un moment dat doar un număr limitat de reguli în funcţie de structura şi aşezarea funcţiilor de apartenenţă ale regulatorului fuzzy. Se modifică doar acele reguli necesare pentru a reduce puternic eroarea de adaptare ye(kT). Metoda de adaptare denumită sugestiv şi metodă de învăţare (Fuzzy Model Reference Learning Model FMRLC) tocmai pentru a diferenţia sistemul modern inteligent şi adaptiv de sistemele adaptive convenţionale, are un rol important deoarece permite regulatorului să-şi amintească modificările efectuate în trecut. 50
Deci, în momentul în care la intrarea regulatorului va apărea o situaţie caracterizată de nişte condiţii care au mai fost întâlnite, regulatorul inteligent “îşi va aminti de aceasta” şi va lua decizia corespunzătoare anulării erorii de învăţare. [Pas1] Regulile şi funcţiile de apartenenţă ale ieşirii active nu au o contribuţie egală în concluzia finală şi atunci în unele aplicaţii ar fi mai bine dacă modificarea bazei de reguli s-ar efectua doar asupra funcţiilor de apartenenţă (regulilor) cele mai importante (cu grad de apartenenţă mare) dintre cele activate. Această metodă este practică mai ales când sunt folosite funcţii de apartenenţă cu formă gaussiană.
m (e( kT - T ), d (kT - T )) > a , 0 < a < 1
(3.15)
unde α este pragul de modificare al centrelor funcţiilor de apartenenţă. O alternativă la relaţia 3.13 este cea în care vor fi modificate toate funcţiile de apartenenţă active, dar cu o pondere dată chiar de gradul de activare al regulilor ce contribuie la comanda finală. b(kT ) = b(kT - T ) + m (e(kT - T ), d ( kT - T ) ) × p(kT )
(3.16)
În cazul în care se doreşte ca centrele funcţiilor de apartenenţă să rămână într-un domeniu specificat la începutul punerii în funcţiune a sistemului adaptiv se pot introduce condiţii suplimentare de limitare a deplasării funcţiilor de apartenenţă.
51
IV. Aplicaţii de control inteligent adaptiv
Acest capitol conţine câteva aplicaţii de sisteme de reglare fuzzy adaptive, realizate prin comparaţie cu structuri adaptive convenţionale sau inteligente. Procesele conduse sunt complexe, neliniare, cu parametrii variabili în timp şi instabile, ceea ce ar face imposibilă obţinerea unor performanţe dorite şi păstrarea stabilităţii prin metode de proiectare clasice. Spre exemplu reglarea poziţiei unui braţ robotic dintr-un întreg lanţ cinematic prin intermediul servomotoarelor de curent continuu sau balansarea şi echilibrarea unui pendul inversat prin deplasarea unui cărucior de-a lungul unei axe orizontale sunt probleme clasice în domeniul controlului adaptiv automat. Sistemul robotic (robot, acrobot) este în general compus din mai multe elemente componente, interdependenţa între diferite axe de mişcare creează o variaţie a parametrilor procesului cunoscuţi iniţial. Sistemul cu pendul inversat (inverted pendulum, cart-pole system) este un sistem instabil, folosit la rândul lui în scopuri didactice în multe universităţi. Controlul pe care omul l-ar aplica pentru astfel de sisteme diferă mult de soluţiile pe care le oferă automatica clasică. Ceea ce încearcă tehnicile de control automat bazate pe inteligenţă artificială este tocmai să speculeze modalitatea în care s-ar realiza controlul de către un individ uman.
IV.1. Aplicaţia 1: Controlul şi echilibrarea pendulului inversat IV.1.1. Descrierea procesului. Modele matematice
Fig. 4.1. Ansamblul cărucior-pendul (pendulul inversat)
52
Sistemul cu pendul matematic inversat este un sistem neliniar instabil, constituit dintr-un pendul aflat pe un cărucior mobil şi poate avea drept scop fie menţinerea acestuia în poziţie verticală în singurul punct de echilibru instabil (deci echilibrarea acestuia) dacă se consideră ca ieşire din sistem deplasarea căruciorului xp sau conducerea pendulului la un anumit unghi faţă de axa verticală Oy dacă se consideră ca ieşire din sistem chiar unghiul θ. Deplasarea ansamblului cărucior-pendul se poate realiza doar de-a lungul axei Ox, prin intermediul unei forţe mecanice f (comenzi) aplicate din exterior de-a lungul acestei axe. Chiar dacă metodele de proiectare modernă nu necesită cunoaşterea modelului matematic al procesului condus (dinamica exactă), acesta va fi determinat pentru a se putea realiza simularea şi studiul performanţelor sistemului de reglare bazat pe logica fuzzy sau sistemului adaptiv cu model de referinţă. [Duk, Sti, ***3] Coordonatele centrului de greutate al pendulului (x0,y0) în raport cu baza acestuia, deci cu punctul de balansare (xp,yp), cunoscând lungimea lui 2·l şi unghiul pe care îl face cu axa verticală θ sunt: x 0 = x p + l × sin(q )
(4.1)
y 0 = y p + l × cos(q )
Ecuaţiile dinamice ale procesului care descriu poziţia căruciorului mobil xp, cât şi poziţia pendulului faţă de verticală θ, în funcţie de forţa aplicată doar pe axa Ox se determină folosind echilibrul de forţe şi echilibrul de momente, considerând coeficientul de frecare al căruciorului b, respectiv coeficientul de frecare al pendulului c foarte mici. Echilibru de forţe de pe axa Ox ce acţionează doar la nivelul căruciorului este: ··
·
f - Fx = M × x p + b × x p
(4.2)
unde forţa Fx se determină folosind echilibru de forţe ce acţionează în direcţie Ox asupra pendulului. ·· ·· ·2 æ ·· ö Fx = m × x0 = m × çç x p + l × q × cos(q ) - l × q × sin(q ) ÷÷ è ø
(4.3)
Relaţia 4.3 se înlocuieşte în 4.2 şi rezultă prima ecuaţie de mişcare neliniară a ansamblului cărucior-pendul. 53
··
·
·2
··
f = (M + m ) × x p + b × x p + m × l × q × cos(q ) - m × l × q × sin(q )
(4.4)
Echilibrul momentelor în jurul centrului de greutate al pendulului (x0,y0) este dat de ecuaţia 4.5.
åM
··
0
·
= J × q + c × q = Fx × l × sin(q ) - Fy × l × cos(q )
(4.5)
unde forţa Fy rezultă din echilibrul de forţe de pe axa Oy ce acţionează asupra pendulului: ·· ·· ·2 ö æ ·· Fy = G + m × y 0 = mg - m çç x p + l × q × sin(q ) - l × q × cos(q ) ÷÷ ø è
(4.6)
A doua ecuaţie de mişcare neliniară a ansamblului cărucior-pendul devine: ··
··
×··
·
m × g × l × sin(q ) - m × l 2 × q - m × x p × l × cos(q ) = J × q + c × q
(4.7)
Sistemul de ecuaţii diferenţiale format din ecuaţiile 4.4 şi 4.7, care descrie dinamica procesului, este unul neliniar. Acest sistem poate fi liniarizat şi simplificat dacă discutăm de un unghi θ foarte mic (θ=0, sin(θ)=0, cos(θ)=1, d2θ=0) apropiat de punctul de echilibru instabil şi dacă se neglijează frecările prin rotaţie şi translaţie (b=c=0). În cazul general, pendulul are două puncte de echilibru, unul de echilibru stabil pentru pendul situat în partea de jos a căruciorului şi unul de echilibru instabil pentru pendul situat în partea de sus a pendulului (adică cazul ce studiat în continuare, pendulul inversat). ·· ·· ì ï(M + m ) × x p + m × l × q = f í ·· ·· ·· ·· 2 ïm × g × l × q - m × l 2 × q - m × l × x p = J × q = m × l × q 3 î
(4.8)
Din punct de vedere al sistemului de reglare automat ansamblul cărucior-pendulul reprezintă procesul condus. Acesta are ca intrare comanda f (în lungul axei Ox) prin intermediul căreia se încearcă echilibrarea pendulului şi reglarea poziţiei căruciorului xp sau reglarea înclinării pendulului θ. Rezultă două funcţii de transfer. 54
Dacă dorim să avem la ieşire înclinarea pendulului faţă de axa verticală θ atunci se elimină din sistemul 4.8 poziţia punctului de pivotare xp. m × l ö ·· f æ4 =0 ç ×l ÷ ×q - g ×q + m+M ø m+M è3
(4.9)
Ecuaţiei 4.9 se aplică transformata Laplace şi se obţine funcţia de transfer a procesului condus liniarizat cu intrarea f şi ieşirea θ. [Duk, Sti, ***3, Dul] 1 m+M H (s) = = m×l ö 2 F ( s) æ 4 ç ×l ÷×s - g m+M ø è3
q (s)
-
(4.10)
Dacă dorim să avem la ieşire poziţia pendulului pe axa orizontală xp atunci din a doua ecuaţie a sistemului 4.8 rezultă relaţia 4.11, relaţie ce reprezintă o dependenţă matematică între poziţia căruciorului şi unghiul de înclinare al pendulului (în domeniu complex).
é J + m × l2 g ù gù é4 - 2 ú × q ( s) = - ê × l - 2 ú × q ( s) X p ( s) = - ê s û s û ë3 ë m×l
(4.11)
Din 4.10 şi 4.11 rezultă şi funcţia de transfer a procesului condus liniarizat cu intrarea f şi ieşirea xp. éJ + m ×l2 g ù = -ê - 2 ú × H ( s) H XP ( s ) = F ( s) s û ë m×l 4 × l × s2 - g 3 H XP ( s ) = 4 æ ö 4 2 ç (m + M ) × × l - m × l ÷ × s - (m + M ) × g × s 3 è ø X p (s)
(4.12)
În continuare se va elimina poziţia căruciorului din simulări, iar sistemele de reglare vor fi proiectate pentru un proces caracterizat de funcţia de transfer H(s) din relaţia 4.10, dorindu-se reglarea poziţiei pendulului (unghiului de înclinare faţă de axa verticală). Pentru reprezentarea pe spaţiul stărilor a ansamblului cărucior-pendul se aleg ·
următoarele două stări: x1 = q şi x 2 = q . 55
Pornind de la ecuaţia 4.9 rezultă reprezentarea matematică pe spaţiul stărilor a pendulului inversat, dacă se consideră doar intrarea f şi ieşirea θ, poziţia căruciorului fiind eliminată. ì· ïx = x 2 ï 1 · g ï í x2 = m×l æ4 ï ç ×l ï m+M è3 ï î y = x1
ö ÷ ø
× x1 -
1 (m + M ) × æç 4 × l - m × l m+M è3
ö ÷ ø
×u
(4.13)
unde matricele de sistem sunt: 0 æ ç g A=ç 4 ç æç × l - m × l ö÷ ç 3 m+M ø èè
0 1ö æ ÷ ç 1 0÷ , B = ç ÷ ç (m + M ) × æç 4 × l - m × l ÷ ç m+M è3 ø è
ö ÷ ÷ , C = (1 0 ) , D = 0 . ö÷ ÷÷ øø
Pentru proiectarea, simularea şi testarea sistemelor de reglare automată ce vor fi realizate în continuare s-au folosit următoarele valori pentru constantele fizice: m=0.5kg, M=1kg, l=0.5m.
H (s) = -
0.66 0.5 × s 2 - 9.8
(4.14)
După cum se remarcă din relaţia 4.14 şi din figura 4.2, unde este prezentat răspunsul sistemului neliniarizat în circuit deschis (fără regulator), sistemul cu pendul inversat este instabil (de fapt funcţia de transfer a acestuia prezintă un pol în semiplanul drept al planului complex). Regulatoarele care vor fi determinate în continuare trebuie să asigure în stabilizarea sistemului în buclă închisă.
Fig. 4.2. Răspunsul sistemului la o intrare treaptă 56
În continuare vor fi de terminate mai multe tipuri de regulatoare (adaptive cu model etalon, fuzzy inteligente, fuzzy adaptive) pentru a se putea compara şi alege în final varianta care oferă performanţele cele mai bune pentru sistemul în buclă închisă. IV.1.2. Sisteme de reglare adaptive convenţionale Pentru un conducerea adaptivă cu model de referinţă a unui sistem cu o funcţie de transfer asemănătoare celei a pendulului inversat liniarizat este necesar un regulator cu trei parametrii de acord k1, k2, k3. ·
u(t ) = k1 × r (t ) - k 2 × y (t ) - k 3 × y (t )
(4.15)
Dacă parametrii de acord k1 şi k2 sunt egali se observă că regulatorul este de tip PD modificat, cu elementul derivativ pe calea de reacţie (e(t) este eroarea de reglare). ·
·
u(t ) = k1 × (r (t ) - y (t ) ) - k 3 × y (t ) = k1 × e(t ) - k 3 × y (t )
(4.16)
Modelul de referinţă este de ordin doi cu pulsaţia naturală ωn=3rad/sec şi factorul de amortizare ζ=1, rezultând un răspuns ideal amortizat critic.
H m ( s) =
Ym ( s ) 9 wn 2 = 2 = 2 2 R( s) s + 2 × z × w n × s + w n s + 6×s + 9
(4.17)
Din relaţiile 4.14,4.15 şi 4.17 răspunsurile modelului de referinţă (etalon) şi procesului condus sunt:
(- 0.66 0.5) × k1 ì ( ) = × r(t ) y t 2 ï ( 66 ) × ( 66 + 9 . 8 ) p p 0 . × k 0 . 5 0 . × k 0 . 5 3 2 ï í 9 wn 2 ï y (t ) = × r(t ) = 2 × r(t ) m 2 2 ïî s + 6×s + 9 p + 2 × z × w n × p + wn
(4.18)
unde p este considerat operatorul de derivare. Cele două răspunsuri sunt identice când eroarea de adaptare ye(t)=ym(t)-y(t) este nulă. Problema principală în cazul sistemelor adaptive este de a găsi legile de adaptare ale 57
parametrilor regulatorului. Pentru aceasta sunt exemplificate cele două metode discutate: MIT sau metoda gradientului descendent şi metoda bazată pe stabilitatea Lyapunov (capitolul II.1). Prin metoda MIT (folosind relaţia 2.3) rezultă următoarele trei legi de adaptare: ì · ö æ 0.66 0.5 × r (t ) ÷÷ × y e (t ) ïk1 (t ) = -g 1 çç 2 ø è p - (0.66 × k 3 0.5) × p - (0.66 × k 2 + 9.8) 0.5 ï ïï · ö æ 0.66 0.5 × y (t ) ÷÷ × y e (t ) ík 2 (t ) = -g 2 çç 2 ø è p - (0.66 × k 3 0.5) × p - (0.66 × k 2 + 9.8) 0.5 ï ï · · ö æ 0.66 0.5 ïk 3 (t ) = -g 3 ç 2 × y (t ) ÷÷ × y e (t ) ç ïî ø è p - (0.66 × k 3 0.5) × p - (0.66 × k 2 + 9.8) 0.5
(4.19)
Pentru simplificarea relaţiilor de adaptare se introduce în amplificările parametrilor de adaptare termenul 0.66/0.5, iar fiindcă parametrii k2 şi k3 sunt necunoscuţi se realizează următoarea înlocuire de regim staţionar: p 2 - (0.66 × k 3 0.5) × p - (0.66 × k 2 + 9.8) 0.5 = p 2 + 2 × z × w n × p + w n
2
(4.20)
În figura 4.3 este prezentată schema de reglare adaptivă cu model etalon folosind metoda de adaptare MIT. Adaptarea se realizează aplicând la intrare un semnal de referinţă de tip impulsuri dreptunghiulare cu o perioadă de 20 secunde şi amplitudine de pi/10 (unghiul θ).
Fig. 4.3. Sistem de conducere adaptivă a pendulului inversat 58
Răspunsurile modelului etalon şi procesului condus, respectiv eroarea de adaptare sunt prezentate în figura 4.4.
Fig. 4.4. Evoluţia în timp a ieşirilor din modelul etalon şi din proces O variantă de sistem adaptiv cu model de referinţă mai bună din punct de vedere al performanţelor se obţine dacă se aplică a doua metodă de adaptare bazată pe teoria de stabilitate Lyapunov. Aceasta presupune să folosim modele matematice ISO (intrare-stareieşire) pentru sisteme cu un grad mai mare. Se introduc notaţiile:
y = éê y ë
T
y ùú , y m = éê y m û ë ·
T
y m ùú , y e = éê y e û ë ·
y e ùú û ·
T
Ecuaţiile dinamice care descriu comportarea celor două bucle de urmărire (de adaptare şi de referinţă) şi eroarea de adaptare sunt: ì · = ï y (t ) A(t ) × y (t ) + B(t ) × r (t ) ï · í y m (t ) = Am × y m (t ) + Bm × r (t ) ï · ï y e (t ) = Am × y e (t ) + ( Am - A(t ) ) × y (t ) + (Bm - B (t ) ) × r (t ) î
(4.21)
unde matricele de sistem sunt: 0 1 0 é ù é ù A(t ) = ê 0.66 × k 2 (t ) + 9.8 0.66 , B(t ) = ê - 0.66 ú × k 3 (t )ú × k1 (t )úú êë ê 0.5 0.5 û ë 0.5 û 1 é 0 ù é 0 ù Am = ê , Bm = ê 2 ú 2 ú ë- w n - 2 × z × w n û ëw n û
(4.22)
Metoda Lyapunov constă în a găsi o funcţie de energie care să îndeplinească relaţiile 2.9 şi 2.10, ceea ce duce la un sistem în buclă închisă stabil. De obicei această funcţie are o 59
formă asemănătoare cu eroarea de adaptare ye(t). De asemenea se observă că matricele A şi B ale sistemului compus din regulator şi procesul condus sunt variante în timp. [Dav2, Iou]
{
} {
}
V (t , y e (t ) ) = y e × P × y e + tr ( Am - A) × ( Am - A) + tr (Bm - B ) × (Bm - B ) > 0 T
unde
ép P = ê 11 ë p12
T
T
(4.23)
p12 ù este o matrice pozitiv definită (p11>0 şi p11p22-p12p12>0); p22 úû
tr – trace (urma matricei, suma elementelor de pe diagonala principală).
(
)
· · ì ü T T T V (t , y e (t ) ) = y e × Am × P + P × Am × y e + 2 × tr í( Am - A) × æç P × y e × y T - Aö÷ ý + è øþ î · ì ü T + 2 × tr í(Bm - B ) × æç P × y e × r T - B ö÷ ý è øþ î
(4.24)
Derivata funcţiei Lyapunov este negativ definită (se îndeplineşte a doua condiţie din teorema de stabilitate) şi conform teoremei punctul de echilibru ye=ym-y=0 este asimptotic stabil dacă se aleg: ì Am T × P + P × Am = -Q < 0 ï · ï T í A(t ) = g A × P × y e × y ï · ïî B(t ) = g B × P × y e × r T
(4.25)
unde Q este o matrice simetrică pozitiv definită (se poate alege matricea identitate). é1 0ù Q=ê ú ë0 1û Rezolvând sistemul de ecuaţii 4.25 rezultă mai întâi matricea simetrică P (relaţia 4.26), iar apoi legile de adaptare pentru parametrii variabili ai regulatorului (relaţia 4.27). é1 ê w P=ê n ê ê êë
2 æ 1 + wn ö ÷ × çç z + 4 × z ÷ø è 1 2 ×wn2
ù ú 2 ×wn ú = é1.1667 0.0556ù ê0.0556 0.0926ú æ 1 1 öú û × çç1 + 2 ÷÷ú ë 4 × z × w n è w n øúû 1
2
60
(4.26)
ì · æ p × y (t ) + p × y ·(t ) ö r (t ) k t ( ) = g ç 12 e ÷× e 1 1 22 ï è ø ï · · ï æ ö ík 2 (t ) = g 2 ç p12 × y e (t ) + p 22 × y e (t ) ÷ × y (t ) è ø ï · ï · æ ö · ïk 3 (t ) = g 3 ç p12 × y e (t ) + p22 × y e (t ) ÷ × y (t ) è ø î
(4.27)
În figura 4.5 este prezentată schema de reglare adaptivă cu model etalon folosind teoria de stabilitate Lyapunov. Adaptarea se realizează aplicând la intrare acelaşi tip de semnal de referinţă.
Fig. 4.5. Sistem de conducere adaptivă a pendulului inversat Evoluţia în timp a semnalelor de ieşire din modelul etalon şi din procesul condus, respectiv eroarea de adaptare sunt prezentate în figura 4.6. Se evidenţiază o adaptare mai rapidă a parametrilor regulatorului şi oscilaţii mai mici ale erorii de adaptare ye(t), decât în cazul metodei MIT (gradient descendent).
Fig. 4.6. Evoluţia în timp a ieşirilor din modelul etalon şi din proces 61
În figura 4.7 este prezentată evoluţia parametrilor ajustabili ai regulatorului şi comanda dată de acesta.
Fig. 4.7. Evoluţia parametrilor ajustabili şi comanda regulatorului Pentru adaptarea parametrilor prin metoda de stabilitate Lyapunov se impune folosirea următoarelor valori ale amplificărilor: γ1=60, γ2=70, γ3=0.8. Interesant este de urmărit dacă acest regulator reuşeşte să aducă pendulul în poziţia de echilibru, după ce acesta a fost pus iniţial la o înclinare (un unghi θ) faţă de verticală de 5˚ (π/36). În figura 4.8 sunt prezentate eroarea, comanda şi ieşirea procesului condus.
Fig. 4.8. Evoluţia erorii, comenzii şi ieşirii pentru echilibrarea pendulului Iniţializarea ieşirii procesului condus cu unghiul θ impune folosirea schemei neliniare a pendulului inversat (Anexa 1) şi o referinţă nulă (ceea ce reprezintă de fapt aducerea pendulului în punctul de echilibru). Din diagramele în timp se observă o echilibrare foarte rapidă a pendulului inversat neliniar, după doar 3 secunde. IV.1.3. Sistem de reglare fuzzy Pentru reglarea sistemului cu pendul inversat analizat s-au considerat ca intrări pentru regulatorul fuzzy două mărimi: eroarea de reglare şi variaţia erorii de reglare; rezultând un regulator fuzzy cvasi-PD cu dinamică. [Pre1, Pre2] · · u(t ) = F æç e(t ), e(t ) ö÷ = k × e (t ) + kd × e(t ) è ø
(4.28) 62
Schema de reglare fuzzy a pendulului inversat este prezentată în figura 4.9.
Fig.4.9. Schema de reglare fuzzy a pendulului inversat Cunoscând etapele de proiectare ale regulatoarelor fuzzy se caută descrierea lingvistică a modului în care se poate controla procesul. O primă etapă a fost făcută deja prin alegerea variabilele de intrare, acestea influenţează desfăşurarea ulterioară a etape ulterioare. Variabilele lingvistice alese sunt deci: eroarea care descrie intrarea e(t), variaţia erorii (derivata erorii) care descrie de(t)/dt şi forţa (comanda) care descrie u(t). Termenii lingvistici (valorile lingvistice) ataşaţi celor trei variabile lingvistice sunt: negativ mare NB (negative big), negativ mică NS (negative small), zero Z (zero), pozitiv mică PS (positive small), pozitiv mare PB (positive big). Dacă ne referim la unghiurile θ, pozitiv înseamnă la dreapta axei vericale (y>0) , iar negativ înseamnă la stânga axei verticale (y0 şi p11p22-p12p12>0) şi a1, a2, a3 sunt factori de ponderare.
·
· T
·
·
·
·
V = q e (t ) × P × q e (t ) + q e (t ) × P × q e (t ) + 2a1b1T (t ) b1 (t ) + 2a2 b2T (t ) b2 (t ) + 2a3b3T (t ) b3 (t ) T
76
V (t , q e (t ) ) = q e (t ) × (AmT × P + P × Am ) × q e (t ) + ·
T
· + éêb1T (t ) × (q pr (t ) - q (t ) ) × P × q e (t ) + q eT (t ) × P × b1 (t ) × (q pr (t ) - q (t ) ) + 2a1b1T (t ) b1 (t )ùú + ë û · · · + éêb2T (t ) × q (t ) × P × q e (t ) + q eT (t ) × P × b2 (t ) × q (t ) + 2a 2 b2T (t ) b2 (t )ùú + ë û
(4.45)
· + éêb3T (t ) × P × q e (t ) + q eT (t ) × P × b3 (t ) + 2a3b3T (t ) b3 (t )ùú ë û
Derivata funcţiei Lyapunov este negativ definită (se îndeplineşte a doua condiţie din teorema de stabilitate) şi conform teoremei punctul de echilibru θe=θm-θ=0 este asimptotic stabil dacă se aleg relaţiile 4.46. ì Am T × P + P × Am = -Q < 0 ï ï bT (t ) × P × q (t ) + q T (t ) × P × b (t ) × (q (t ) - q (t ) ) = -2a b· T (t )b (t ) e e 1 pr 1 1 1 ï 1 í · ·T ï b2T (t ) × P × q e (t ) + q eT (t ) × P × b2 (t ) × q (t ) = -2a 2 b 2 (t )b2 (t ) ï ·T · ï T T q q b ( t ) × P × ( t ) + ( t ) × P × b ( t ) = 2 a b ( t ) b î 3 e e 3 3 3 3 (t )
[ [ [
] ] ]
(4.46)
unde Q este o matrice simetrică pozitiv definită (se poate alege matricea identitate). Rezolvând sistemul de ecuaţii 4.46 rezultă mai întâi matricea simetrică P (relaţia 4.47) în funcţie de parametrii modelului etalon, iar apoi vectorii b1(t),b2(t),b3(t) cu ajutorul cărora se vor determina legile de adaptare pentru componentele variabile ale semnalului de compensare g(t) (relaţia 4.48). é 1 æ a m 1 + bm ö ÷÷ + ê × çç 2 b a è m m ø P=ê ê 1 ê 2 × bm ë
ù 1 ú p 2 × bm ú = é 11 ê p 1 æ 1 öú × çç1 + ÷÷ú ë 12 2 × a m è bm øû
ì·T 1 T ïb1 (t ) = - a × q e (t ) × P × (q pr (t ) - q (t ) ) 1 ï · ïï · T 1 T íb 2 (t ) = - × q e ( t ) × P × q (t ) a2 ï ï·T 1 ïb 3 (t ) = - × q eT (t ) × P ïî a3
p12 ù é1.5 0.5ù = p 22 úû êë0.5 0.5úû
(4.47)
(4.48)
77
Dacă se consideră specificul şi forma vectorilor b1(t),b2(t),b3(t), din relaţiile 4.43 şi 4.48 se obţine următorul sistem de ecuaţii monodimensionale în forma finală pentru compensarea variaţiilor parametrilor procesului condus: ì· æ (t ) × p + · (t ) × p ö ( ( t ) g t ( ) = × - q (t ) ) g qe 1 çq e 12 22 ÷ × q pr ï 1 è ø ï · ï· æ ö · í g 2 (t ) = g 2 × çq e (t ) × p12 + q e (t ) × p22 ÷ × q (t ) è ø ï · ï· æ ö ï g 3 (t ) = g 3 × çq e (t ) × p12 + q e (t ) × p22 ÷ è ø î
(4.49)
În figura 4.25 este prezentată o primă variantă de schemă de reglare adaptivă cu model etalon local robustă a unei componente dintr-un lanţ cinematic al unui robot. Adaptarea se realizează aplicând la intrare un semnal de referinţă de tip impulsuri dreptunghiulare cu perioada de 20 sec şi amplitudinea unitară.
Fig. 4.25. Schema de reglare adaptivă local robustă a manipulatorului Se observă din schemă prezenţa regulatorului proporţional cu structură şi valoare fixate K0, respectiv semnalul de compensare a variaţiilor parametrice ale procesului condus, reprezentat prin manipulatorul real. Schema Simulink a manipulatorului de ordin trei este detaliată în Anexa 4. 78
Evoluţia în timp a semnalelor de ieşire din modelul etalon şi din procesul condus, respectiv manipulatorul, sunt prezentate în figura 4.26. Se evidenţiază o adaptare a semnalului g(t) cu scopul anulării erorii de adaptare.
Fig. 4.26. Referinţa şi răspunsurile modelului etalon şi procesului Evoluţia în timp a semnalelor componente de compensare a celor trei termeni din ecuaţia dinamică a erorii de adaptare (relaţia 4.39) este prezentată în figura 4.27.
Fig. 4.27. Evoluţia componentelor semnalului de compensare g(t) Pentru a doua variantă de sistem adaptiv cu model etalon se recomandă folosirea unui regulator PD modificat cu structură fixă, dar cu trei parametrii (k1, k2, k3) variabili şi ajustabili cu ajutorul blocului de adaptare. Acesta are rolul de a urmării evoluţia procesului şi a modelului etalon, respectiv de a modifica parametrii regulatorului până la anularea erorii de adaptare. ·
u(t ) = k1 × q pr (t ) - k 2 × q (t ) - k 3 × q (t )
(4.50)
Dacă parametrii de acord k1 şi k2 sunt egali se observă că regulatorul este de tip PD modificat, cu elementul derivativ pe calea de reacţie (e(t) este eroarea de reglare). u(t ) = k1 × (q pr (t ) - q (t ) ) - k 3 × q (t ) = k1 × e(t ) - k 3 × q (t ) ·
·
79
(4.51)
Modelul de referinţă este cel folosit la prima variantă de sistem adaptiv cu model etalon. Parametrii sistemului de ordin doi etalon sunt parametrii am=2, bm=1. Răspunsul sistemului etalon la o intrare treaptă este amortizat critic.
H m (s) =
q m ( s) bm 1 = 2 = 2 q pr ( s ) s + am × s + bm s + 2 × s + 1
(4.52)
Din relaţiile 4.31, 4.35, 4.51 rezultă relaţiile de calcul al răspunsurilor modelului etalon şi procesului condus. Se consideră pentru început cuplu rezistent nul şi dispare semnalul de compensare g(t).
(0.061 8.2 ) × k1 ì ïq (t ) = p 2 + (4.7382 + 0.061 × k ) 8.2 × p + 0.061 × k 8.2 × q pr (t ) ï 3 2 í 1 b m ïq (t ) = × q pr (t ) = 2 × q pr (t ) m 2 p + a m × p + bm s + 2× s +1 îï
(4.53)
unde p este considerat operatorul de derivare. Cele două răspunsuri sunt identice când eroarea de adaptare θe(t)= θm(t)- θ(t) este nulă. Problema la această variantă de sistem adaptiv nu mai constituie găsirea semnalului de compensare ci a legilor de adaptare ale parametrilor regulatorului. Pentru aceasta se apelează la metoda bazată pe stabilitatea Lyapunov (capitolul II.1). Modelele matematice ISI (intrarestare-ieşire) pentru sistemele de grad doi ale etalonului şi procesului condus, deci a celor două bucle de urmărire (după intrare şi după modelul etalon), sunt date în relaţia 4.54. ìq (·t ) = A(t ) × q (t ) + B(t ) × q (t ) pr ï · ï íq m (t ) = Am × q m (t ) + Bm × q pr (t ) ï · ïq e (t ) = Am × q e (t ) + ( Am - A(t )) × q (t ) + (Bm - B(t ) ) × q pr (t ) î unde au fost făcute următoarele notaţii vectoriale: T
T
· · · q = éêq q ùú , q m = éêq m q m ùú , q e = éêq e q e ùú ë û ë û ë û
T
iar matricele de sistem sunt date în relaţia 4.55. 80
(4.54)
0 1 0 é ù é ù k t k t × k1 (t ) ú × + × 0 . 061 0 . 061 ( ) 4 . 7382 0 . 061 ( ) A(t ) = ê , B(t ) = ê ú 2 3 êë úû êë úû 8.2 8.2 8.2 1 ù é 0 é0ù Am = ê , Bm = ê ú ú ë - bm - am û ëbm û
(4.55)
Funcţia Lypunov aleasă are o formă asemănătoare cu eroarea de adaptare θe(t). De asemenea se observă că matricele A şi B sunt variante în timp.
{
} {
}
V (t , q e (t ) ) = q e × P × q e + tr ( Am - A) × ( Am - A) + tr (Bm - B ) × (Bm - B ) > 0 T
T
T
(4.56)
Derivata funcţiei Lyapunov este negativ definită (se îndeplineşte a doua condiţie din teorema de stabilitate) şi conform teoremei punctul de echilibru θe=θm-θ=0 este asimptotic stabil dacă se aleg: ì Am T × P + P × Am = -Q < 0 ï · ï T í A(t ) = g A × P × q e × q ï · T ïî B(t ) = g B × P × q e × q pr
(4.57)
Rezolvând sistemul de ecuaţii 4.57 rezultă mai întâi matricea pătratică şi simetrică, pozitiv definită P (relaţia 4.58), iar apoi legile de adaptare pentru parametrii variabili ai regulatorului (relaţia 4.59). é 1 æ a m 1 + bm ö ÷ + ê × çç 2 è bm a m ÷ø ê P= ê 1 ê 2 × bm ë
ù 1 ú 2 × bm ú = é p11 1 æ 1 öú ê p × çç1 + ÷÷ú ë 12 2 × a m è bm øû
ì · æ p × q (t ) + p × q ·(t ) ö × q (t ) k ( t ) = g ç 12 e ÷ pr 1 1 22 e ï è ø ï · · ï æ ö ík 2 (t ) = -g 2 ç p12 × q e (t ) + p22 × q e (t ) ÷ × q (t ) è ø ï · · ï æ ö · ïk 3 (t ) = -g 3 ç p12 × q e (t ) + p22 × q e (t ) ÷ × q (t ) è ø î
p12 ù é1.5 0.5ù = p 22 úû êë0.5 0.5úû
(4.58)
(4.59)
81
Se observă că relaţiile 4.59 sunt simetrice cu relaţiile 4.27 obţinute în cazul reglării adaptive a pendulului inversat. În figura 4.28 este prezentată a doua variantă de schemă de reglare adaptivă cu model etalon local robustă a unei componente dintr-un lanţ cinematic al unui robot, folosind teoria de stabilitate Lyapunov. Adaptarea se realizează aplicând la intrare acelaşi tip de semnal de referinţă ca şi în cazul primei variante de reglare adaptivă.
Fig. 4.28. Schema de reglare adaptivă local robustă a manipulatorului Evoluţia în timp a semnalelor de ieşire din modelul etalon şi din procesul condus, respectiv eroarea de adaptare sunt prezentate în figura 4.29. Se evidenţiază o adaptare a semnalului g(t) cu scopul anulării erorii de adaptare.
Fig. 4.29. Referinţa şi răspunsurile modelului etalon şi procesului, eroarea de adaptare Din analiza în timp comparativă a răspunsurilor celor două variante de scheme de reglare adaptivă, adică schema de reglare cu regulator proporţional fix şi semnal de compensare a variaţiilor procesului şi schema de reglare cu regulator PD modificat cu parametrii ajustabili în funcţie de variaţiile procesului, se poate afirma că acestea sunt relativ asemănătoare. Cele două scheme simulate la acelaşi tip de intrare de referinţă şi folosind 82
acelaşi tip de model etalon reuşesc o compensare, respectiv o adaptare totală a sistemelor de reglare după aproximativ 100 secunde. Evoluţia în timp a parametrilor regulatorului (k1, k2, k3) este prezentată în figura 4.30.
Fig. 4.30. Evoluţia parametrilor regulatorului În continuare se va studia importanţa introducerii inteligenţei artificiale în reglarea adaptivă a manipulatorului. Acest studiu se va concretiza în proiectarea unui regulator fuzzy adaptiv cu model etalon (FMRLC). IV.2.3. Sistem de reglare fuzzy adaptiv Regulatoarele fuzzy adaptive (sistem de reglare fuzzy cu învăţare cu model etalon) sunt mult mai uşor de parametrizat, deoarece acestea pot admite multe variante iniţiale care ulterior vor fi modificate de blocul de adaptare. Atenţie deosebită trebuie totuşi acordată valorii maxime a comenzii date de regulator care nu trebuie să depăşească valorile permise de elementul de execuţie. Schema sistemului de reglare fuzzy adaptiv al manipulatorului (din categoria sistemelor de reglare fuzzy cu învăţare cu model de referinţă) este prezentată în figura 4.31.
Fig. 4.31. Schema de reglare fuzzy adaptivă 83
Parametrul variabil al sistemul de reglare fuzzy adaptiv cu învăţare cu model etalon reprezintă după cum s-a mai precizat baza de reguli, aceasta se modifică prin intermediul funcţiilor de apartenenţă ale ieşirii. [Pas1, Pas2, Mou, Koo] Se evidenţiază din schemă cele patru blocuri cunoscute deja: procesul, regulatorul fuzzy, modelul de referinţă, mecanismul de învăţare Modelul de referinţă din sistemul de reglare fuzzy cu învăţare cu model de referinţă specifică performanţele dorite pentru sistemul în buclă închisă. Acesta reprezintă un sistem de ordin doi:
H m (s) =
q m ( s) 1 = 2 q pr ( s ) s + 2 × s + 1
(4.60)
Răspunsul modelului etalon (de referinţă) la o intrare semnal de tip impulsuri dreptunghiulare, considerat a fi răspunsul dorit şi pentru sistemul în buclă închisă este prezentat în figura 4.32. Diferenţa între răspunsul acestui sistem şi răspunsul procesului condus real, adică eroarea de învăţare θe, furnizează o caracterizare a măsurii în care performanţa dorită este atinsă la un moment dat.
Fig. 4.32. Modelul de referinţă Regulatorul fuzzy direct este proiectat respectând etapele discutate la subcapitolul II.2.2, iar la intrare/ieşire au fost adăugate blocuri de scalare / amplificare. Regulatorul fuzzy este cu dinamică, fuzzy cvasi-PD, şi are două intrări: eroarea de reglare, notată aici cu e şi variaţia erorii de reglare d; respectiv o ieşire, comanda procesului condus u, adică tensiunea de alimentare a motorului. Domeniul şi funcţiile de apartenenţă ataşate celor trei mărimi folosite la regulatorul fuzzy direct pot fi modificate experimental prin intermediul factorilor de
scalare şi
amplificare: ge reprezintă factorul de scalare al erorii de reglare e, gd reprezintă factorul de scalare al variaţiei erorii d, iar gu este factorul de scalare al comenzii u. Mărimilor de intrare şi ieşire din regulator au fost ataşaţi câte cinci termeni lingvistici: NB negativ mare, NS negativ mică, Z zero, PS pozitiv mică, PB pozitiv mare. 84
Baza de reguli a regulatorului fuzzy direct este identică cu cea a modelului fuzzy invers din blocul de adaptare / învăţare şi este prezentată tabelar în figura 4.33. Pentru mecanismul de inferenţă (activarea şi luarea deciziilor în interiorul regulatorului) este folosit raţionamentul Mamdani, iar defuzzificarea se face prin metoda centrului de greutate (CoG), ca şi în cazul aplicaţiei de echilibrare a pendulului inversat.
Fig. 4.33. Baza de reguli a regulatorului fuzzy direct şi a modelului fuzzy invers În continuare va fi prezentat mecanismul de învăţare (adaptare) compus din: modelul fuzzy invers şi modificatorul bazei de reguli. Modelul fuzzy invers conţine pentru efectuarea testelor experimentale factori de scalare / amplificare pe intrările şi ieşirile acestuia: gθe reprezintă factorul de scalare al erorii de adaptare θe, gθd reprezintă factorul de scalare al variaţiei erorii de adaptare θd, iar gp este factorul de scalare al ieşirii din modelul invers (semnalul de corecţie) p.
Fig. 4.34. Structura modelului fuzzy invers, mulţimile de bază Baza de reguli fuzzy este cea din figura 4.33 de la regulatorul fuzzy direct. Astfel, pentru toate cele trei variabile ale modelului fuzzy invers se folosesc 5 funcţii de apartenenţă triunghiulare simetrice uniform distribuite pe domeniul variabilelor în cauză. Conform acestor 85
funcţii de apartenenţă rezultă un total de 25 de reguli. Inferenţa este realizată şi aici cu raţionamentul Mamdani şi defuzzificarea prin metoda centrului de greutate (CoG). După ce au fost efectuate mai multe teste şi respectând procedura de scalare de la secţiunea III.2.1 din conţinutul acestui referat au fost alese următoarele valori pentru scalarea intrărilor şi ieşirilor din regulatorul fuzzy direct şi din modelul fuzzy invers: ge=1, gd=1.1, gu=10, gθe=1, gθd=0.5, gp=2. În plus, în modelul fuzzy invers pentru o eroare de adaptare foarte mică se foloseşte strategia de oprire a adaptării parametrilor regulatorului fuzzy direct. Strategia este introdusă prin relaţia 3.9, considerându-se o eroare maximă admisă ep=0.001ּgp. Modificarea bazei de reguli se realizează prin adaptarea funcţiilor de apartenenţă ale ieşirii regulatorului, funcţiile variabilelor de intrare fiind lăsate constante, în cele două etape discutate la secţiunea teoretică (subcapitolul III.2.1) de proiectare a modificatorului bazei de reguli. Pentru sistemul studiat, având în vedere structura funcţiilor de apartenenţă ale regulatorului fuzzy (Fig. 4.34), pot fi active la un moment dat maxim patru reguli, ceea ce indică faptul că vom avea de adaptat conform ecuaţiei (3.12) cel mult patru reguli. Această observaţie mai confirmă încă o dată că modificările realizate în baza de reguli sunt modificări locale. Definirea regulatorului fuzzy direct, a modelului fuzzy invers şi a modificatorului bazei de reguli a fost realizată de către autor folosind funcţii proprii create în mediul Matlab. Aceste programe de descriere a celor trei componente folosite la simularea sistemului din figura 4.31 în mediul Simulink sunt asemănătoare cu cele de la aplicaţia pendulului inversat. Singurele modificări sunt legate de factorii de scalare / amplificare precizaţi în paragrafele anterioare. În figura 4.35 sunt prezentate evoluţia în timp a comenzii, a ieşirii din proces (poziţia unghiulară) şi referinţa, respectiv evoluţia erorii de adaptare dintre ieşirea din proces şi modelul etalon, când la intrare se aplică impulsuri dreptunghiulare cu o amplitudine unitară.
Fig. 4.35. Evoluţia comenzii, ieşirii şi factorului de adaptare (semnalul de corecţie) Din analiza evoluţiei comenzii se evidenţiază un caracter puternic pe panta de creştere sau descreştere a ieşirii, iar din analiza erorii de adaptare se observă îndeplinirea 86
performanţelor impuse sistemului încă din primele secunde. Aceste performanţe sunt clar superioare schemelor de reglare adaptivă clasice (convenţionale) datorită erorii de adaptare mult mai mici . În figura 4.36 este prezentată evoluţia factorului de adaptare şi a ieşirii din proces în comparaţie cu ieşirea din model, respectiv viteza unghiulară a manipulatorului. Se observă o adaptare (învăţarea) a regulatorului fuzzy direct pe o perioadă foarte scurtă de câteva secunde. În acest timp se modifică centrele funcţiilor de apartenenţă ale mărimii de ieşire din regulatorul fuzzy direct.
Fig. 4.36. Factorul de adaptare, poziţia şi viteza unghiulară Capacitatea de învăţare şi de adaptare la situaţii diferite se poate remarca şi dacă la intrare este aplicat un semnal cu impulsuri dreptunghiulare cu amplitudine mai mare (între 0 şi 2). Figura 4.37 prezintă evoluţia în timp a comenzii, ieşirii şi factorului de adaptare.
Fig. 4.37. Evoluţia comenzii, ieşirii şi factorului de adaptare (semnalul de corecţie) Din analiza celor trei tipuri de sisteme de reglare adaptivă este evidentă superioritatea tehnicilor de conducere inteligente adaptive (FMRLC). Aceste sisteme pot compensa prezenţa eventualele variaţii lente ale parametrilor procesului în comparaţie cu dinamica acestuia prin capacitatea suplimentară de a învăţa din evenimente desfăşurate deja, în plus ele nu necesită o liniarizare a procesului condus în cazul în care acesta este neliniar. Evident un robot serial are o construcţie serială ceea ce presupune interinfluenţe între forţele şi momentele diferitelor componente ale lanţului cinematic. Controlul întregului robot impune folosirea mai multor regulatoare clasice, adaptive sau inteligente. Un control eficient şi cu performanţe bune se poate realiza de exemplu dacă pentru fiecare componentă a 87
robotului serial este realizat câte un regulator. În figura 4.38 este prezentată o posibilă schemă de reglare fuzzy adaptivă a unui robot serial cu două componente (braţ robotic cu două grade de libertate date de umăr şi cot). [Mou, Bro]
Fig. 4.38. Reglarea adaptivă a unui braţ robotic
88
V. Concluzii
În general, conducerea proceselor industriale complexe ridică probleme specifice deosebite care fac în multe cazuri imposibilă folosirea teoriei clasice pentru conducerea proceselor. Printre caracteristicile nedorite sunt: -
parametrii variabili sau necunoscuţi ai sistemelor;
-
valoare variabilă a timpului mort (întârziere pură);
-
comportare neliniară a procesului condus;
-
prezenţa perturbaţiilor aleatoare;
-
propagarea perturbaţiilor în instalaţii. Majoritatea metodelor şi tehnicilor de proiectare clasică a sistemelor automate se
bazează pe modelarea procesului condus, ceea ce impune cunoaşterea structurii şi parametrilor acestuia. De fapt performanţele sistemului rezultat şi proiectarea regulatorului depind de exactitatea informaţiilor despre proces. Astfel, aceste sisteme necesită o strategie de conducere adaptabilă proceselor variabile, adică o informaţie apriorică mai redusă şi modificarea parametrilor în timpul funcţionării utilizând informaţiile funcţionale ale întregului sistem. Încă din anii ΄50 în literatura de specialitate s-a cunoscut o preocupare în dezvoltarea unor tehnici cât mai bune de reglare ce pot să aducă noutăţi în conducerea automată a proceselor. Introducerea sistemelor inteligente, pe lângă sistemele adaptive, reprezintă una din direcţiile noi şi moderne ce sunt încă studiate în centrele de cercetare. Deşi fiecare din cele două strategii de reglare, văzute separat, conducerea adaptivă convenţională şi conducere fuzzy inteligentă au adus un plus în automatica industrială, acestea şi-au dovedit şi ele limitele. Spre exemplu sistemele de reglare inteligente fuzzy, deşi utile în multe aplicaţii de control automat unde teoria clasică nu face faţă, au şi ele problemele lor de proiectare şi funcţionare, mai ales în alegerea mulţimilor fuzzy, funcţiilor de apartenenţă şi a bazei de reguli. Aceste necunoscute ale regulatoarelor fuzzy depind de expertul uman şi de modul în care acesta prelucrează lingvistic informaţiile despre proces. Reactualizarea parametrilor regulatorului fuzzy în timpul funcţionării aduce o creştere a performanţelor sistemului şi rezultă o tehnică de control combinată fuzzy adaptivă. Acest tip de regulator posedă avantaje moştenite atât de la sistemele inteligente fuzzy, cât şi de la sisteme adaptive. 89
Sistemele adaptive, indiferent de categoria din care fac parte, pot să realizeze câteva sarcini tipice cum ar fi: -
acordarea automată a regulatoarelor la punerea în funcţiune a schemelor de reglare automată (şi îmbunătăţirea performanţelor);
-
determinarea automată a parametrilor optimali ai regulatoarelor automate pentru diferite puncte de funcţionare a procesului;
-
menţinerea performanţelor sistemului de comandă şi reglarea automată atunci când parametrii de structură ai procesului se modifică;
-
posibilitatea realizării unor regulatoare mai complexe şi mai performante decât cele PID;
-
detectarea unor evoluţii anormale ale parametrilor proceselor (aceste variaţii se reflectă în valorile parametrilor furnizate de algoritmul de proiectare). Introducerea sistemelor adaptive şi inteligente este legată atât de factorul tehnic cât şi
de rentabilitatea economică. Evaluarea rentabilităţii se face ţinând cont de: ameliorarea calităţii produselor, creşterea producţiei, economie de energie, reducerea timpilor de oprire pentru întreţinere, detectarea rapidă a unor regimuri anormale de funcţionare etc. Există o serie de studii de aplicabilitate industrială a controlului adaptiv. Printre procesele unde au fost introduse sistem adaptive sunt: amestecarea materiilor prime, mori de măcinare a cimentului, laminoare, coloane de distilare, reactoare chimice, sisteme energetice, sisteme de poziţionare, maşini de fabricat hârtie, controlul pH-ului, piloţi automaţi pentru aeronave şi vapoare, maşini-unelte, schimbătoare de căldură, sisteme de încălzire şi de ventilare, fabricarea sticlei. Lucrarea de faţă şi-a propus prezentarea unei tehnici combinate de control fuzzy adaptiv şi performanţele superioare oferite de aceasta. Pentru a înţelege mai bine specificul tehnicilor avansate de control au fost abordate: -
sistemele adaptive cu model de referinţă cu adaptarea parametrilor regulatorului pe baza regulii gradientului descendent (MIT) şi pe baza teoriei Lyapunov pentru stabilitatea sistemelor;
-
sistemele inteligente ce au la bază teoria logicii fuzzy;
-
sistemele fuzzy adaptive cu model etalon (sau de referinţă) prin proiectarea unui regulator fuzzy cu învăţare cu model de referinţă;
-
două aplicaţii de control automat: reglarea şi echilibrarea pendulului inversat, respectiv reglarea locală a unei componente decuplate dintr-un lanţ cinematic.
90
Programele şi aplicaţiile realizate oferă un exemplu al modului în care se pot implementa conceptele care intervin în realizarea unui sistem adaptiv, fuzzy, fuzzy adaptiv. În concluzie, această lucrare prezintă etapele şi modul de proiectare a unei metode de control inteligentă şi adaptivă bazată pe regulatoare fuzzy.
91
Bibliografie
[Ali]
Aliev, R., Aliew, F., Bonfig, D., Messen, steuern, regeln mit fuzzy logik, Franzis Verlag, 1994, Munchen.
[And]
Andonie, R., Caţaron, A., Inteligenţă artificială, Univ. “Transilvania”, 2000, Braşov.
[Ant]
Antsaklis, P.J., Passino, K.M., An introduction to intelligent and autonomous control, Kluwer Academic Publishers, 1992.
[Ast1]
Astrom, K.J., Wittenmark, B., Adaptive control (1st edition), Addison Wesley, 1989.
[Ast2]
Astrom, K.J., Wittenmark, B., Adaptive control (2nd edition), Addison Wesley, 1995.
[Ast3]
Astrom, K.J., Theory and applications of adaptive control, IFAC Kyoto, 1981, Japan.
[Ast4]
Astrom, K.J., Wittenmark, B., Computer controlled systems. Theory and design, Pretince Hall, 1990, New York.
[Bro]
Brown, S.C., Passino, K.M., Intelligent control for an acrobot, The Ohio State University, 1997, Ohio.
[Căl]
Călin, S., Conducerea adaptivă şi flexibilă a proceselor industriale, Ed. Tehnică, 1988, Bucureşti.
[Dam1]
Damen, A., Weiland, S., Robust control, Eindhoven University of Technology, 2001, Netherland.
[Dam2]
Damen, A., Modern control theory, Eindhoven University of Technology, 2002, Netherland.
[Dri]
Driankov, D., Hellendoorn, H., Reinfrank, M., An introduction to fuzzy control, Springer Verlag, Heidelberg, 1993, New York.
[Dum]
Dumitrache, I., Tehnica reglării automate, Ed. Didactică şi Pedagogică, 1980, Bucureşti.
[Dav1]
David, L., Marton, L., Reţele neuronale şi logica fuzzy în automatizări, Ed. Universităţii “Petru Maior”, 2000, Târgu Mureş.
[Dav2]
David, L., Control inteligent şi adaptiv. Notiţe de curs, Universitatea “Petru Maior”, 2004, Târgu Mureş.
92
[Duk]
Duka, A., Studiul reglării sistemului cu pendul inversat. Modelare şi simulare, Lucrare de dizertaţie, Universitatea “Petru Maior”, 2005, Târgu Mureş.
[Dul]
Dulău, M., Oltean, S., Modelare şi simulare. Lucrări de laborator, Ed. Universităţii “Petru Maior”, 2003, Târgu Mureş.
[Gee]
Geering, H.P., Robuste regelung, Institut für Mess- und Regeltechnik, Eidgenössische Technische Hochschule Zürich, 1999, Schweiz.
[Ghi]
Ghinea, M., Fireţeanu, V., Matlab. Calcul numeric. Grafică şi aplicaţii, Ed. Teora, 1997, Bucureşti.
[Iou]
Ioannou, P., Robust adaptive control, University of Southern California, 2003, Los Angeles.
[Ise]
Isermann, R., Lachmann, K.H., Adaptive control systems, Pretince Hall, 1992.
[Jag]
Jager, R., Fuzzy logic in control, Phd. thesys, 1995, Amsterdam.
[Jan]
Jantzen, J., Verbruggen, H., Ostergaard, J.J., Fuzzy control in the process industry, 1998.
[Kis]
Kiss, P., Logica fuzzy şi aplicaţii în tehnică, Referat nr. 1 de doctorat, Universitatea "Politehnica" Timişoara, 1997, Timişoara.
[Koo]
Koo, J.T.K., Design of stable adaptive fuzzy control, Master Thesis, Univ. of Hong Kong, 1994, Hong Kong.
[Lay]
Layne, J.R., Passino, K.M., Fuzzy Model Reference Learning Control for Cargo Ship Steering, IEEE, 1993.
[Lyu]
Lyung, L., System identification, Pretince Hall, 1987.
[Mou]
Moudgal, V.G., Kwong, W.A., Passino, K.M., Yurkovich, S., Fuzzy learning control for a flexible-link robot, IEEE Transactions on Fuzzy Systems, vol. 3, no.2, may 1995.
[Naş]
Naşcu, I., Control adaptiv, Ed. Mediamira, 2002, Cluj Napoca.
[Olt1]
Oltean, S., Sistem de dozare automată prin comandă fuzzy cu microcontrolerul 80C552, Proiect de diplomă, Universitatea “Petru Maior”, 2002, Târgu Mureş.
[Olt2]
Oltean, S., Gligor, A., Grif, H., Fuzzy logic approach for reactive power control, Inter-Ing 2003, Universitatea “Petru Maior” Târgu Mureş.
[Pas1]
Passino, K.M., Yurkovich, S., Fuzzy control, Addison Wesley Longman, Inc., 1998, California.
[Pas2]
Passino, K.M., Intelligent control. An overview of techniques, The Ohio State University, 1998, Ohio.
[Pre1]
Precup, R.E., Preitl, Ş., Fuzzy controllers, Ed. Orizonturi Universitare, 1999, Timişoara. 93
[Pre2]
Preitl, Ş., Precup, R.E., Introducere în conducerea fuzzy a proceselor, Ed. Tehnică, 1997, Bucureşti.
[Sas]
Sastry, S., Bodson, M., Adaptive control. Stability, convergence, and robustness, Pretince Hall, 1989, New Jersey.
[Sch]
Scherer, C., Theory of robust control, Delft University of Technology, 2001, Netherland.
[Sha]
Shafai, E., Einfuhrung in die adaptive regelung, Institut für Mess- und Regeltechnik, Eidgenössische Technische Hochschule Zürich, 2003, Schweiz.
[Sti]
Stimac, A.K., Standup and stabilization of the inverted pendulum, Massachusetts Institute of Technology, 1999.
[Tog]
Togneri, R., Adaptive systems, Electrical and Electronic Engineering, The University of Western Australia, 2002.
[Wil1]
Wilson, D.I., Adaptive control. Course notes, Electrical Engineering Karlstad University, 2001.
[Wil2]
Wilson, J.R., Nonlinear system theory, The Johns Hopkins University Press, 1981.
[Zad]
Zadeh, L.A., Fuzzy sets, Information and control 8:338-353, 1965.
[Zăr1]
Zărnescu, H., Ingineria reglării automate II. Proiectarea sistemelor convenţionale şi avansate de reglare automată, Ed. Univ. “Petru Maior”, 1999, Târgu Mureş.
[Zăr2]
Zărnescu, H., Dulău, M., Morar, P., Gligor, A., Brassai, T., Ingineria reglării automate. Îndrumător de laborator, Ed. Univ. “Petru Maior”, 1998, Târgu Mureş.
[ww1]
www.fuzzytech.com.
[ww2]
www.netlab.lmcc.fju.edu.tw.
[ww3]
www.elsevier.com.
[ww4]
www.ctrl.cinvestav.mx.
[ww5]
www.ee.uwa.edu.au.
[ww6]
www.rdg.ac.uk.
[ww7]
www.ee.kau.se.
[ww8]
www.control.lth.se.
[ww9]
www.engr.uky.edu.
[ww10]
www.ece.utah.edu.
[ww11]
www.mathworks.com.
[ww12]
www.engin.umich.edu.
[***1]
Using Simulink, The Mathworks Inc., 1998.
[***2]
Matlab, The Mathworks Inc., 1998.
[***3]
Control Tutorials for Matlab – Inverted Pendulum Modelling. 94
Anexe
Anexa 1. Schema neliniară a pendulului inversat
Anexa 2. Descrierea regulatorului fuzzy
% - definirea regulatorului fuzzy folosind fuzzy logic toolbox % Regulatorul rezultat se foloseste in modelul simulink pentru blocul FLC reg=newfis('regulatorul'); % amplificari de scalare g1 = pi/32; g2 = pi/10; g0 = 120; % definirea functiilor de apartenenta pentru intrarile in regulator % eroarea e = r-y reg=addvar(reg,'input','eroarea',g1*[-1 1]); reg=addmf(reg,'input',1,'NB','zmf',g1*[-1 -0.5]); reg=addmf(reg,'input',1,'NS','trimf',g1*[-1 -0.5 0]); reg=addmf(reg,'input',1,'Z','trimf',g1*[-0.5 0 0.5]);
95
reg=addmf(reg,'input',1,'PS','trimf',g1*[0 0.5 1]); reg=addmf(reg,'input',1,'PB','smf',g1*[0.5 1]); % variatia erorii de/dt reg=addvar(reg,'input','variatia erorii',g2*[-1 1]); reg=addmf(reg,'input',2,'NB','zmf',g2*[-1 -0.5]); reg=addmf(reg,'input',2,'NS','trimf',g2*[-1 -0.5 0]); reg=addmf(reg,'input',2,'Z','trimf',g2*[-0.5 0 0.5]); reg=addmf(reg,'input',2,'PS','trimf',g2*[0 0.5 1]); reg=addmf(reg,'input',2,'PB','smf',g2*[0.5 1]); % definirea functiilor de apartenenta pentru iesirea din regulator % forta F (cda pt proces) reg=addvar(reg,'output','forta',g0*[-1 1]); reg=addmf(reg,'output',1,'NB','trimf',g0*[-1 -2/3 -1/3]); reg=addmf(reg,'output',1,'NS','trimf',g0*[-2/3 -1/3 0]); reg=addmf(reg,'output',1,'Z','trimf',g0*[-1/3 0 1/3]); reg=addmf(reg,'output',1,'PS','trimf',g0*[0 1/3 2/3]); reg=addmf(reg,'output',1,'PB','trimf',g0*[1/3 2/3 1]); % definirea ruleList=[1 2 3 4 5
bazei 1 5 1 1 5 1 1 5 1 1 4 1 1 3 1
de 1; 1; 1; 1; 1;
reguli pentru regulatorul 1 2 5 1 1; 1 3 5 1 1; 1 4 2 2 5 1 1; 2 3 4 1 1; 2 4 3 2 4 1 1; 3 3 3 1 1; 3 4 4 2 3 1 1; 4 3 2 1 1; 4 4 5 2 2 1 1; 5 3 1 1 1; 5 4
fuzzy 4 1 1; 3 1 1; 2 1 1; 1 1 1; 1 1 1;
1 2 3 4 5
5 5 5 5 5
3 2 1 1 1
1 1 1 1 1
1; 1; 1; 1; 1];
reg=addrule(reg,ruleList);
Anexa 3. Lista figurilor din lucrare Fig. 2.1. Structura generală a unui sistem adaptiv cu model de referinţă (direct) Fig. 2.2. Structura generală a unui sistem adaptiv cu autoacordare (indirect) Fig. 2.3. Adaptarea factorului de amplificare prin regula MIT şi Lyapunov Fig. 2.4. Răspunsurile procesului condus şi modelului etalon Fig. 2.5. Îmbunătăţirea vitezei de adaptare prin creşterea factorului γ Fig. 2.6. Răspunsurile modelului etalon şi procesului condus, respectiv evoluţia în timp a parametrului ajustabil θ, pentru un factor de adaptare prea mare. Fig. 2.7. Schema de reglare adaptivă pentru sistem de ordin I Fig. 2.8. Adaptarea factorului de amplificare k şi a constantei de timp T Fig. 2.9. Răspunsurile procesului condus şi modelului etalon Fig. 2.10. Răspunsurile procesului condus şi modelului etalon pentru γ>10 Fig. 2.11. Exemple de funcţii de apartenenţă Fig. 2.12. Exemplificarea grafică a operatorilor min, max, comp Fig. 2.13. Descrierea vagă a temperaturii Fig. 2.14. Structura informaţională a unui regulator fuzzy Fig. 2.15. Exemple de mulţimi de bază pentru variabile lingvistice 96
Fig. 2.16. Matricea cu baza de reguli Fig. 2.17. Mecanismul de decizie, inferenţa max-min (Mamdani) Fig.2.18. Defuzzificare prin metoda centrului de greutate (center of gravity) CoG Fig. 2.19. Alte tehnici de defuzzificare Fig. 2.20. Regulator fuzzy după stare Fig. 2.21. Regulatoare fuzzy cvasi-PID Fig. 2.22. Mulţimile variabilelor lingvistice şi baza de reguli Fig. 2.23. Schema de simulare a sistemului de reglare Fig. 2.24. Evoluţia erorii, comenzii şi ieşirii procesului în timp Fig. 3.1. Tipuri de strategii de reglare Fig. 3.2. Regulatoare fuzzy cvasi-PID cu structură variabilă Fig. 3.3. Regulatoare fuzzy cvasi-PID cu parametrii variabili Fig. 3.4. Sistem de reglare fuzzy adaptiv Fig.3.5. Sistem de reglare fuzzy adaptiv direct cu model de referinţă Fig. 3.6. Sistem de reglare fuzzy cu învăţare cu model etalon (FMRLC) Fig. 4.1. Ansamblul cărucior-pendul (pendulul inversat) Fig. 4.2. Răspunsul sistemului la o intrare treaptă Fig. 4.3. Sistem de conducere adaptivă a pendulului inversat Fig. 4.4. Evoluţia în timp a ieşirilor din modelul etalon şi din proces Fig. 4.5. Sistem de conducere adaptivă a pendulului inversat Fig. 4.6. Evoluţia în timp a ieşirilor din modelul etalon şi din proces Fig. 4.7. Evoluţia parametrilor ajustabili şi comanda regulatorului Fig. 4.8. Evoluţia erorii, comenzii şi ieşirii pentru echilibrarea pendulului Fig.4.9. Schema de reglare fuzzy a pendulului inversat Fig. 4.10. Baza de reguli Fig. 4.11. Mulţimile variabilelor lingvistice Fig. 4.12. Evoluţia erorii, comenzii şi ieşirii pentru reglarea fuzzy Fig. 4.13. Evoluţia erorii, comenzii şi ieşirii pentru echilibrarea pendulului Fig. 4.14. Schema de reglare fuzzy adaptivă Fig. 4.15. Structura modelului fuzzy invers, mulţimile de bază Fig. 4.16. Evoluţia comenzii, ieşirii şi factorului de adaptare (semnalul de corecţie) Fig. 4.17. Evoluţia comenzii, ieşirii şi factorului de adaptare (semnalul de corecţie) Fig. 4.18. Echilibrarea pendulului (restabilirea stării de echilibru) Fig. 4.19. Robot cu mişcare în plan orizontal cu două grade de libertate Fig. 4.20. Schema de funcţionare a unui servomotor de curent continuu 97
Fig. 4.21. Schema funcţională a manipulatorului de ordin doi Fig. 4.22. Răspunsul manipulatorului de ordin doi şi trei la o intrare treaptă Fig. 4.23. Scheme de reglare adaptivă cu model etalon Fig. 4.24. Schema de reglare adaptivă prin compensare Fig. 4.25. Schema de reglare adaptivă local robustă a manipulatorului Fig. 4.26. Referinţa şi răspunsurile modelului etalon şi procesului Fig. 4.27. Evoluţia componentelor semnalului de compensare g(t) Fig. 4.28. Schema de reglare adaptivă local robustă a manipulatorului Fig. 4.29. Referinţa şi răspunsurile modelului etalon şi procesului, eroarea de adaptare Fig. 4.30. Evoluţia parametrilor regulatorului Fig. 4.31. Schema de reglare fuzzy adaptivă Fig. 4.32. Modelul de referinţă Fig. 4.33. Baza de reguli a regulatorului fuzzy direct şi a modelului fuzzy invers Fig. 4.34. Structura modelului fuzzy invers, mulţimile de bază Fig. 4.35. Evoluţia comenzii, ieşirii şi factorului de adaptare (semnalul de corecţie) Fig. 4.36. Factorul de adaptare, poziţia şi viteza unghiulară Fig. 4.37. Evoluţia comenzii, ieşirii şi factorului de adaptare (semnalul de corecţie) Fig. 4.38. Reglarea adaptivă a unui braţ robotic
98