Conducerea Inteligenta a Proceselor cu Ajutorul Tehnicilor Fuzzy

CUPRINS

BIBLIOGRAFIE

[1]. C. Soare, S.St. Iliescu, V. Tudor, I. Fagarasan, O. Dragomir, F. Dragomir, Proiectarea asistata de calculator in Matlab și Simulink , Conducerea avansata a proceselor, Editura AGIR, București 2006

[2]. Régulation de température , http://www.tn.refer.org/hebergement/cours/logique_floue/_we_hinfo/cas1.htm

[3]. Eugenia Minca, Utilizarea pachetelor soft Matlab Simulink, Editura Macarie

[4]. Dumitrache I., Tehnica reglării automate, Ed. Didactica și Pedagogica, București, 1980

[5]. D.F.Lăzăroiu,Th.Boranglu, V.Coste, Dan Popescu, Cr.Constantinescu, M.Gudumsc, Teoria sistemelor și reglaj automat, Institutul Politehnic București, 1982

[6]. Vlad Ionescu, Corneliu Popeea, Conducerea structurală a sistemelor liniare, Editura Tehnică, București, 1986

[7]. Help Matlab

[8]. Mitica Temneanu, Tehnica reglării și control automat, Ed. PIM, 2009

=== Cap 1 ===

CAPITOLUL I. CONDUCEREA CLASICA A PROCESELOR

VS CONDUCEREA INTELIGENTA [5][6]

CONDUCEREA CLASICA A PROCESELOR

Abordarea controlului tradițional necesita modelarea realitații fizice. Trei metode pot fi folosite in descrierea unui sistem:

1.1.Metoda experimentala:

Prin experimentarea și determinarea reacțiilor procesului la diferite intrari se poate realiza un tabel de intrari și ieșiri. Grafic, metoda este echivalenta cu trasarea unor puncte discrete ale curbei de intrare-ieșire, folosind axele orizontale pentru intrare și cele verticale pentru ieșire. Prin intelegerea unei asemenea reacții de intrare-ieșire, se poate proiecta un controler. Exista cateva dezavantaje: echipamentul pentru acest proces poate sa nu fie disponibil pentru experimentare, procedura ar fi, de obicei, foarte costisitoare și pentru un numar mare al marimilor de intrare nu este practica masurarea ieșirilor și interpolarea acestora. De asemenea, trebuie avut grija sa se determine marja permisa a marimilor de intrare și ieșire, pentru a ne asigura ca valorile acestora nu ies din aria de masurare a instrumentelor disponibile.

1.2.Metoda matematica:

In inginerie se lucreaza dupa un model matematic ideal al procesului controlat, de obicei, cu formule de diferite ecuații diferențiale. Transformanta Laplace și transformanta z sunt de obicei folosite. Pentru a face metodele matematice destul de simple, sunt facute anumite presupuneri, una dintre ele fiind aceea ca procesul este liniar, astfel incat, ieșirea este proporționala cu intrarea. Tehnicile liniare sunt valoroase pentru ca ele au ca rezultat o buna intuitie. Pe langa aceasta, nu exista o teorie generala de soluții analitice pentru un sistem dinamic neliniar. O alta presupunere este aceeea ca parametrii procesului nu se schimba in timp (sistemul este invariabil in timp) in ciuda deteriorarii componentelor sistemului și a schimbarilor de mediu inconjurator. Urmatoarele probleme apar in dezvoltarea unei descrieri realistice și pline de ințeles a unui proces industrial: o ințelegere mediocra a fenomenului, valori inexacte ale diferiților parametri, complexitatea metodei.

1.3.Metoda euristica:

Aceasta metoda consta in modelarea și ințelegerea in concordanța cu experiența anterioara, regula degetului mare des folositele strategii. O regula euristica este o implicație logica de forma: DACA <condiție> ATUNCI <consecința>, sau in situația tipica de control: DACA<condiție> ATUNCI<acțiune>. Reguliile asociaya concluziile cu condițiile. Prin urmare, metoda euristica este in realitate similara cu metoda experimentala a construirii unui tabel de intrari și ieșirile corespunzatoare unde in loc sa avem valori numerice fixe de intrare și variabile de ieșire, se folosesc valori fuzzy: DACA tensiunea de intrare =Mare ATUNCI tensiune de ieșire = Medie. Avantajele metodei euristice sunt: (1) nu este necesara presupunerea liniaritații și (2) rgulile euristice pot fi integrate in strategiile de control ale operatorilor umani.

Strategiile de control fuzzy provin mai degraba din experiențe și experimente decat din metode matematice și, prin urmare, relizarile lingvistice sunt mult mai rapid implementate. Srtategiile de control fuzzy implica un numar mare de intrari, mare parte dintre ele fiind relevante doar in anumite condiții. Astfel de intrari sunt activate numai cand condiții asemanatoare predomina. In acest fel, putine depașiri numerice adiționale sunt necesare pentru adaugarea de reguli suplimentare. Ca rezultat, regulile structurii de baza raman inteligibile, ducand la o documentare și codare eficiente a sistemului.

1.2. CONDUCEREA INTELIGENTA A PROCESELOR. REGLAJE FUZZY

In proiectarea sistemelor de reglare automata, un algoritm competitiv ar trebuii sa valorifice orice fel de informatie legata de procesal supus automatizarii. Pentru o larga categorie de probleme, o buna parte din informatie este detinuța de expertul uman. Aceasta informație de obicei un este o informație exacta, pentru descrierea acesteia dezvoltandu-se teoria sistemelor cu procesare fuzzy a informației. Apare astfel necesara incorporarea informației lingvistice de la expertul uman intr-o maniera sistemica astfel incat asupra sistemului rezultat sa poata fi analizat din punct de vedere al performanțelor.

O alta parte a informației este informatia numerica obținuta de la senzori sau conform cu legile fizice care desciu procesal. Intre aceste doua tipuri de informație exista mari diferențe, astfel informația numerica este supusa legilor fizicii sau axiomelor matematicii, inexistente pentru informația lingvistica. Astfel sups legile care guverneaza informația lingvistica sunt fundamental diferite de legile care guverneaza informația numerica. Exista doua lumi: humea física și humea umana, și cum interacțiunea om-mașina este in continua creștere tot mai multe sisteme inginerești aparțin intersecției aceptor doua lumi.

Conceptual sistemele fuzzy adaptive combina informația lingvistica cu informația numerica astfel: deoarece sistemul fuzzy este construit in principiu dintr-un set de reguli “Daca-Atunci” , informația lingvistica va fi direct incorporata in baza de reguli; pe de alta parte informația numerica conținuta de perechile intrare-ieșire este incorporata antrenand sistemul conform datelor masurate de la proces,conform algoritmului de antrenare. Sistemul adaptiv poate fi vazut ca un sistem logia fuzzy ale carui set de reguli sunt generate Automat. Conform setului de antrenare.

Un reglaj fuzzy este reprezentat de o asociere de funcții definite de universul de discuție. Universul de discuție este spațiul unde variabilele fuzzy sunt definite. Asocierea de funcții da gradul sau marimea asocierii din interiorul setului.asocierea de funcții organizeaza sub forma de harta elemente ale universului spre valori numerice in intervalul [0, 1]. O funcție asociata cu valoarea zero implica faptul ca elementul corespunzator, in mod sigur, nu este un element din setul fuzzy, in timp ce valoarea unitații inseamna ca elementul aparține in totalitate setului. Un grad de asociere in interval corespunde cu asocierea fuzzy in set. In teoria fixa a setului, daca cineva este mai inalt de 1,8 metri, putem afirma ca acea persoana aparține “grupului de oameni inalti”. Cu toate acestea, aceasta fina schimbare de la 1,7999 metri pentru o “persoana scunda” pana la 1,8001 metri ai unei “persoane inalte” este impotriva bunului simț. Prin urmare in situațiile practice exista intotdeauna o confuzie naturala cand cineva analizeaza afirmații, pe cand o curba regulata asociata descrie, de obicei, mai bine gradul de apartenența a unui element la un grup.

Sistemele de conducere cu modele și algoritmi fuzzy sunt mai flexibile decat sistemele convvenționale, deoarece modificare regulilor de deducție a marimii de comanda se poate face prin adaugarea de noi variabile lingvistice, fiind deci mai elastice in proiectare. Deoarece proiectarea sistemelor de conducere cu regulatoare cu logica fuzzy (RLF) nu se face pentru un model dat al procesului și nici pentru anumite valori ale parametrilor acestuia, rezulta ca aceste sisteme sunt mai robuste, avand performanțele acceptabile intr-o gama relativ larga de variație a parametrilor procesului. Insa sistemele de conducere cu RLF sunt mai greu de proiectat pentru cazul cand sunt mai mult de doua intrari sau atunci cand acesta are mai multe marimi de comanda, ceea ce se impune in cazul proceselor multivariabile.

Majoritatea produselor comerciale fuzzy sunt sisteme bazate pe reguli care primesc informații curente in bucla de feedback de la un dispozitiv in timp ce acesta lucreaza și controleaza operații de la un dispozitiv mecanic sau de alt tip. Un sistem logic fuzzy are patru blocuri, dupa cum se arata in figura 2. Informație de intrare fixa este convertita intr-o valoare fuzzy pentru fiecare grup de intrare fuzzy cu blocul de fuzzificare. Universul discuției variabilelor de intrare determina scalarea ceruta pentru operația corecta per unitate. Scalarea este foarte importanta pentru ca sistemul fuzzy poate fi recalibrat cu alte dispozitive sau șiruri de operații doar prin schimbarea scalarii de intrare și ieșire. Logica de luare a deciziilor determina modul in care operațiile logicii fuzzy sunt efectuate, și impreuna cu cunoștințele de baza determina randamentul fiecarei reguli fuzzy DACA-ATUNCI. Acestea sunt combinate și convertite in valori fixe cu blocul de defuzzificare. Valoare fixa a randamentului poate fi calculata de centrul de gravitate sau de greutatea medie.

Fig.1 Sistem fuzzy

In scopul de a procesa intrarea pentru a obține raționamentul de ieșire deosebim șase pași implicați in crearea unei reguli pe care se bazeaza un sistem fuzzy:

identificarea intrarilor și a intervalelor lor, precum și numirea lor

identificarea ieșirilor și a intervalelor lor, precum și numirea lor

crearea unui grad de funcții de asociere fuzzy pentru fiecare intrare și ieșire

construirea de reguli de baza, dupa care sistemul va opera

deciderea modului cum acțiunea va fi executata prin atribuirea de forța regulilor

combinarea de reguli și defuzzificarea ieșirii

=== Cap 2 ===

CAPITOLUL II.TEHNICI DE CONTROL CLASICE [4][8]

Automatica studiaza principiile și aspectele prin intermediul carora conducerea proceselor tehnice poate fi realizata fara intervenția directa a omului.

Ansamblul format din dispozitia de automatizare și instalația tehnologica este denumit sistem de automatizare.

Reglarea are sarcina de a aduce și mentine o marime fizica dintr-un proces tehnologic la o anumita valoare.

Aceasta marime fizica se numeste marime reglata.

Valoarea la care trebuie adusa marimea reglata se numeste marime de referinta sau marime precisa.

Un proces este o desfașurare spre un scop sau un obiectiv daterminat care are loc intr-o instituție tehnologica și care se efectueaza ca urmare a unor intervenții exterioare voite, intervenții care compenseaza și efectul perturbațiilor.

Intr-o reglare, marimea reglata este comparata și masurata cu marimea de referinta.

Daca diferența dintre cele doua marimi este ≠ 0, se efectueaza o corectare in procesul reglat cu scopul anularii ei, adica pentru a se obține o egalitate in marimea reglata și marimea precisa.

Cand acesta reglare este facuta de un operator, reglarea se numeste manuala; daca operațiile respective sunt efectuate numai de dispozitive prevazute in acest scop, reglarea este automata.

Tehnica reglării automate este o componenta fundamentala a automatizarii proceselor tehnologice și are ca scop realizarea reglării, cu eliminarea intervenției directe a operatorului uman. Esența sarcinii reglării este de a aduce anumite marimi din procesul tehnologic (temperaturii, presiuni, turații, etc.) la valori precise și de a le menține la aceste valori, prin eliminarea sau atenuarea efectului peturbațiilor.

a

R + ε sau m y

– u

Fig.2 Structura generala a unui SRA

unde:

Regulatorul automat (RA) – efectuează anumite operații asupra mărimii ε primită la intrare, respectiv are rolul de a prelucra această mărime după o anumită lege, numită lege de reglare, rezultatul fiind mărimea de comandă Xc aplicată elementului de execuție;

Elementul de execuție (EE) – intervine în funcționarea instalației tehnologice pentru corectarea parametrilor reglați conform mărimii de comandă transmise de RA;

Instalația tehnologică (IT) – este, în cazul general, un sistem supus unor acțiuni externe numite perturbații și acțiunii comenzii generate de RA, a cărui mărime de ieșire este astfel reglată conform unui program prescris;

Traductorul (Tr) – transformă mărimea de ieșire a IT, de regulă într-un semnal electric aplicat EC; este instalat pe bucla de reacție negativă a SRA.

Marimile de proces sunt:

R – referința

ε – eroare

a – comanda pentru elementul de acționare

m – masura (comanda elaborata de organul de reglare)

y – marimea de ieșire, poate fi una din marimile fizice:

-nivel, temperatura

-presiune, turație

-debit, poziție

-concentrație

2.1.Principalele tipuri de controllere clasice

Cele mai utilizate tipuri de regulatoare cu structura fixa sunt:

P(Proporțional)

(1)

PI(Proporțional-Integrativ)

(2)

PID(Proporțional-Integrativ-Derivativ)

(3)

Acordarea unui regulator inseamna a determina constantele , sau pe care regulatorul le conține, astfel incat performanțele sistemului in bucla inchisa sa fie cele dorite(impuse).

2.1.1.Regulator cu actiune proporționala (P)

La acest regulator, intre marimea de intrare ε (t) și cea de comanda u(t ) se stabilește o relație de proporționalitate : unde este factorul de amplificare al regulatorului.

Fig.3 Regulatorul proporțional: a) varianta treapta la intrare a regulatorului proporțional

b) raspunsul la intrarea treapta a regulatorului proporțional

Uneori, in locul factorului de amplificare KR se folosește o constanta denumita banda de proporționalitate a regulatorului, notata BP. Cand domeniul de variație al erorii ε este egal cu domeniul de variație al marimii de comanda u (regulatoare unificate), domeniul de proporționalitate se determina din relația:

[%] (4)

Daca domeniile de variație intrare-ieșire difera, domeniul de proporționalitate este dat de relația:

[%]. (5)

Banda de proporționalitate reprezinta procentul din domeniul ε pentru care regulatorul P produce o comanda egala cu 100 % din domeniul u.

Regulatoarele sunt prevazute prin construcție cu posibilitatea ajustarii, intr-o gama larga, a factorului BP (ex. 2…200%).

2.1.2.Regulator cu actiune proporțional- integrala (PI)

Acest tip de regulator reprezinta o combinație intre un regulator proporțional și unul integral. Legea de reglare a regulatorului PI conține un termen care reprezinta acțiunea proporționala P și un termen care asigura efectul integrator:

sau (6)

cu constanta de timp de integrare ( = Ti *).

Prima forma reprezinta tipul legii de reglare realizate de majoritatea regulatoarelor PI industriale.

Fig.4 Regulator de tip PI

a) variația treapta a intrarii b) raspunsul la treapta al ieșirii regulatorului de tip PI

2.1.3.Regulator cu actiune proporțional – derivativa (PD)

Un astfel de regulator introduce o componenta proporționala, similara cu aceea a regulatorului PI și o componentaa derivativa D ultima componenta introducand o proporționalitate intre marimea de ieșire u și derivata in timp a marimii de intrare, ε .

Legea de reglare PD se exprima prin:

sau (5)

Coeficientul se numește constanta de timp de derivare a regulatorului. In unele construcții de regulatoare, modificarea lui modifica astfel incat produsul * ramane constant.

Prin utilizarea unui regulator PD se reduce durata regimului tranzitoriu.

Fig. 5 Regulator de tip PD

a) variația treapta a intrarii b) raspunsul treapta al ieșirii a regulatorului PD

2.1.4.Regulator cu acțiune proporțional – integral – derivativa (PID)

Regulatoarele PID sunt unele din cele mai complexe regulatoare industriale, asigurand performanțe de reglare superioare.Ele inglobeaza efectele proportional P, integral I și derivativ D expuse mai sus, conform legii de reglare:

sau (6)

Fig. 6 Regulatorul de tip PID: a) variația la treapta a intrarii ; b) raspunsul la treapta al ieșirii regulatorului de tip PID

Regulatoarele PID, de construcție mai complexa decat cele de tip P, PI, PD au trei parametri ce pot fi acordați: , și .

2.2.PERFORMANTELE DE REGLARE SRA

2.2.1.Performanțe TRANZITORII (REGIMUL DINAMIC)

● performanțele sunt apreciate în funcție de eroarea dinamică (abaterea dinamică) ε(t) pe întreaga perioadă, din momentul apariției până la stabilizare ;

● sistemele SRA pot fi comparate între ele după precizia reglării în regim dinamic, deci în funcție de răspunsurile lor la un semnal treaptă unitară (răspunsuri indiciale);

● calitatea reglării poate fi apreciată în funcție de următorii indicatori de performanță:

suprareglajul σ – indică valoarea maximă cu care mărimea reglată depășește mărimea de referință Xo = Xe.st (primul maxim al mărimii reglate); σ = Xe.max – Xe.st

La sistemele stabile, cu evoluția regimului tranzitoriu de forma I, oscilațiile sunt amortizate și suprareglajul este σ ≠0 (primul maxim, prima depășire a valorii staționare), iar la sistemele cu regim tranzitoriu aperiodic, de forma II , suprareglajul este nul : σ = 0.

Performanța impusă suprareglajului are aspectul unei condiții de limitare, de forma :

σ ≤ σimp [exprimată în %]. (7)

Valoarea maximă impusă sau maximă admisibilă a suprareglajului σimp depinde de tipul instalației tehnologice și al procesului care se desfășoară în această instalație ; depășirile mari ale valorii staționare duc la suprasolicitarea instalației și, în final, la deteriorarea acesteia.

timpul de răspuns (reglare) tr – indică valoarea duratei regimului tranzitoriu și reprezintă intervalul de timp dintre momentul inceputului procesului tranzitoriu și momentul în care valoarea absolută a diferenței Xe – Xe.st scade sub o valoare limită fixată

Durata regimului tranzitoriu exprimă timpul în care eroarea ε(t) scade sub 5% din valoarea mărimii de referință Xo (sau a valorii staționare Xe.st).

Xe – Xe.st ≤ ± 5% Xe.st (8)

Pentru asigurarea rapidității necesare desfășurării procesului de reglare, pentru timpul de răspuns se impune o performanță (valoare limită a tr) de forma:

tr ≤ tr.imp (9)

Valoarea maximă impusă timpului de răspuns tr.imp este valoarea maximă admisibilă și depinde de tipul instalației tehnologice și al procesului care se desfășoară în această instalație ;

– timpul de creștere tc, este definit ca raportul dintre Xe.st și panta în punctul de inflexiune, sau ca timpul în care răspunsul crește de la 5% la 95% din Xe.st .

– gradul de amortizare , este definit prin raportul 1/2 , unde 1 și 2, reprezintă prima, respectiv a doua trecere prin maximul local al răspunsului indicial.

2.2.2.Performanțe staționare

– în regim staționar, mărimile din șistem sunt constante

– principalul indice de performanță în regim staționar este eroarea staționară

Calitatea reglării automate este exprimată prin precizia cu care SRA asigură menținerea mărimii de referință la valoarea prescrisă, indiferent de acțiunea perturbațiilor ;

Fig.7 Variația în timp a erorii ε(t) la variația treaptă a mărimii de referință

Între mărimea reglată Xe(t) și mărimea de referință Xo(t) există o diferență numită abatere dinamică ε(t).

La infinit, eroarea dinamică se anulează și sistemul intră în regim staționar. Pentru unele SRA, ε(t) nu se anulează total, existând în regim staționar o abatere permanentă, numită eroare staționară a SRA.

Deoarece în regim staționar mărimile din sistem sunt constante, derivatele lor sunt nule și acest regim se stabilește teoretic la infinit, deci eroarea staționară este eroarea ε(t)

pentru t ∞:

lim ε(t) = lim Xi (t) – lim Xe (t) (10)

t t t

atunci, eroarea staționară devine : εst = Xi – Xe.st

unde : Kr = factorul de amplificare al dispozitivului de prescriere a mărimii de

referință

K0 = factorul de amplificare al SRA

Xe = Kr*K0*X0 (11)

unde:

Ecuația caracteristicii statice fiind :

eroarea staționară devine:

εst = (12)

– eroarea staționară poate fi modificată prin factorul de amplificare pe cale directă K, ce duce la micșorarea erorii; factorul de amplificare se poate modifica, modificând Kra:

– dacă SRA conține pe cale directă un element integrator atunci eroarea staționară a sistemului este nulă; pentru ca sistemul să funcționeze cu eroarea staționară nulă, se utilizează de regulă un SRA de tip PI.

Performanța staționară impusă unui sistem de reglare este de forma :

εst = 0 (13)

sau, prin raportare la valoarea Xe.st , poate fi de forma:

εst ≤ εst.imp [exprimată în %] (14)

unde εst.imp este valoarea impusă erorii staționare, maxim admisibilă din considerente legate de buna desfășurare a procesului tehnologic automatizat

=== Cap 3 ===

CAPITOLUL III. TEHNICI DE CONTROL FUZZY [4]

3.1.ELEMENTE DE LOGICA FUZZY

Una dintre metodele aparținând conceptului de inteligență artificială (engl. Artificial

Intelligence) , cu largă aplicabilitate în conducerea automată, care s-a impus tot mai mult

în ultimii ani, este conducerea fuzzy (Fuzzy Logic Control – FLC sau Fuzzy Co€ntrol – FC),

bazată pe utilizarea teoriei mulțimilor fuzzy (engl. Fuzzy Sets) și a logicii fuzzy (engl.

Fuzzy Logic). pot fi aplicate și în alte scopuri, cum ar fi modelarea unor sisteme

caracterizate de incertitudine, luarea unor decizii pe baza unor informații incerte, etc.

Sistemele care includ și se numesc sisteme fuzzy.

Dintre caracteristicile esențiale ale sistemelor fuzzy cele mai importante sunt următoarele:

♦ Funcționarea lor se bazează pe un set de reguli de conducere de tipul celor utilizate în

sistemele expert :

dacă < premiză > atunci < concluzie >

♦ Cunoștințele despre sistem se modelează cu ajutorul variabilelor lingvistice , de exemplu:

temperatură mare, debit mediu, presiune scăzută etc. Această reprezentare a variabilelor

sistemului este foarte familiară modului de gândire uman și permite abordarea unor sisteme

foarte complexe sau greu de definit în termeni matematici preciși.

♦ Comportarea unui FLC este de obicei mai puțin precisă și riguroasă decât cea a sistemelor

bazate pe algoritmi clasici cum ar fi sistemele PID. Acest dezavantaj este însă compensat

în multe aplicații de comportarea mai bună a FLC din punct de vedere dinamic și al indicatorilor globali de calitate ai sistemului.

♦ Aprecierea performanțelor și validarea unui sistem FLC pot fi obținute de obicei numai

după realizare efectivă a sistemului și încercări, sau în cel mai bun caz, prin simulare pe calculator.

Prin apelarea la sisteme fuzzy elaborarea legilor de reglare devine extrem de flexibilă și de versatilă. Se pot obține cu ușurință legi de conducere performante chiar și în cazul sistemelor neliniare sau a sistemelor care nu pot fi modelate matematic intr-un mod satisfăcător. La stabilirea legii de reglare pot participa operatori umani sau experți care au experiență în cazul procesului care se dorește a fi condus, fără însă a fi necesar ca ei să dețină cunoștințe referitoare la automatizări sau la sistemele fuzzy. Se pot include în baza de reguli de conducere reguli cu obiective diferite, cum ar fi optimizarea unor indicatori referitori la precizia reglări, la comportarea dinamică, la economicitatea, la siguranța sistemului, etc.

Durata proiectării și validării unui sistem fuzzy este în general mai mică decât în cazul altor metode de conducere.

Pentru Funcția de apartenență se pot folosi diferite forme, cele mai uzuale dintre ele fiind prezentate în figura următoare.

μ(x) triunghi trapez curba „S” curba” Π” dreptunghi singleton

x

Fig.8 Forme folosite pentru Funcții de apartenență

În tabelul următor sunt prezentate analitic principalele forme utilizate pentru funcții de apartența.

Tabelul 1. Funcții de apartenență fuzzy

Dreptunghiul și singleton-ul nu sunt de fapt proprii conceptului fuzzy, dar ele se întâlnesc destul de frecvent în aplicații, asociate cu alte variabile fuzzy. De exemplu, mărimea de comandă de la ieșirea unui controler fuzzy având la ieșire un actuator cu stări discrete se

poate reprezenta ca o multimi fuzzy alcătuită din elemente de tip singleton, adică o colecție de perechi de valori discrete xi – μ(xi).

Când aplicația necesită o precizie și o sensibilitate mare se apelează de obicei la

curbele de tip Gauss (“Λ“ sau “Π”) care au și avantajul de a putea fi corelate cu mărimile

probabilistice. În principiu se pot utiliza orice altă formă sau combinație de forme uzuale. În

marea majoritatea a aplicațiilor se constată însă că cele mai des utilizate forme sunt cele

triunghiulară și trapezoidală, mai ușor de reprezentat și necesitând un volum mai mic de

calcule și de memorie.

Alegerea formelor simple de funcții de apartenență este justificată și prin constatarea des menționată în literatura de specialitate că esențiale în aplicații sunt suportul și toleranța unei multimi fuzzy, forma flancurilor funcțiilor de apartenență având un efect mai redus asupra rezultatelor obținute.

3.2.Poiectare sistemelor cu regulator fuzzy

Calculul fuzzy se caracterizeaza prin faptul ca permite manipularea conceptelor vagi care nu pot fi modelate prin concepte matematice exacte (numerice, mulțimi sau funcții clasice), Problemele in care intervin concepte vagi apar in teoria controlului cand sistemele au caracter neliniar iar starile lor nu pot fi descrise in mod exact ci doar prin enunțuri care au un grad de ambiguitate. Sa consideram spre exemplu un sistem de reglare a temperaturii intr-o sera.

In general, un sistem fuzzy este construit din:

■ un subsistem de extragere a regulilor fuzzy pornind de la datele problemei(etapa de fuzificare);

■ un subsistem de efectuare a inferentelor fuzzy(etapa de rationament);

■ un subsistem de transformare a cunostintelor fuzzy in date efentive( etapa de defizzificare).

Pentru obținerea ieșirii din regulatorul fuzzy sunt necesari urmatorii pași: fuzzificare, inferența și defuzificare. In figura este prezentata schema generala a unui regulator de tip Mamdami.

Regulatorul fuzzy

Fig.9 Scema generala a unui regulator Mamdami

3.2.1.Fuzzificarea

Fuzzificarea este un proces de descompunere a a sistemului de intrare și/sau ieșire in unul sau mai multe grupuri fuzzy. Multe tipuri de curbe pot fi folosite, dar funcțiile asociate de forma triunghiulara sau trapezoidale sunt cele mai comune pentru ca ele sunt ușor de reprezentat in controlerele integrate. Figura 1. arata un sistem de semnale fuzzy pentru o intrare cu funcții asociate trapezoidale și triunghiulare. Fiecare semnal fuzzy acopera o regiune a valorii de intrare (sau ieșire) reprezentata grafic printr-o asociere. Fiecare intrare din acest grup fuzzy este reprezentata și un grad de asociere este interpretat. Funcțiile asociate ar trebui sa se suprapuna parțial pentru a permite reprezentarea grafica regulata a sistemului. Procesul de fuzzificare permite intrarilor și ieșirilor sistemului sa fie exprimate in temeni lingvistici astfel incat regulile pot fi aplicate intr-o maniera simpla pemtru a exprima un sistem complex.

Sa presupunem o implementare pentru un sistem de aer condiționat cu un senzor de temperatura. Temperatura poate fi obtinuta de un microprocesor care are un algoritm fuzzy care proceseaza o ieșire cu un control continuu a vitezei unui motor ce menține camera intr-o „temperatura buna”, poate, de asemenea, direcționa o evacuare orientata in sus, sau in jos, dupa caz. Figura ilustreaza procesul de fuzzificare a temperaturii aerului. Sunt cinci reglaje fuzzy pentru temperatura: RECE, RACOARE, BINE, CALD și FIERBINTE.

Fig.10 Funcțiile de apartenența trapezoidale și triunghiulare

Funcțiile asociate pentru reglajele fuzzy RACOARE și CALD sunt trapezoidale, funcția asociata pentru BINE este triunghiulara și funcțiile asociate pentru RECE și FIERBINTE sunt pe jumatate triughiulare indicand la baze limitele fizice pentru un asemenea proces (a sta intr-o camera cu o temperatura sub 8 grade Celsius sau peste 32 grade Celsius ar fi cat se poate de incomfortabil).

Modul de a proiecta astfel de reglaje fuzzy este o problema de pregatire și depinde exclusiv de experiența și instuiția proiectantului. Mai mult ca sigur un eschimoș și un locuitor din zona ecuatoriala ar trasa funcții asociate foarte diferite pentru aceleași reglaje fuzzy. Figura arata cateva reglaje fuzzy nesuprapuse parțial, care pot indica orice neliniaritate in procesul de modelare. Acolo o temperatura de intrare de 18 grade Celsius ar fi considerata RACOARE cu o creștere de 0,75 grade și af fi considerata buna cu o creștere de 0,25 grade. Pentru a construi regulile care vor controla motorul instalatiei de aer conditionat, am putea urmari cum un expert ar regla viteza motorului astfel incat aceasta sa scada sau sa creasca, in concordanta cu temperatura, obținand empiric regulile. Daca temperatura camerei este buna, menține viteza motorului medie, daca este cald, rotește butonul de reglare a vitezei pe rapid, și daca este fierbinte, crește viteza. Pe de alta parte, daca temperatura este racoroasa, incetinește viteza și oprește motorul daca este rece. Aceasta este frumusetea logicii fuzzy: a transforma bunul simt, descrierile lingvistice intr-un sistem controlat de calculator. Așadar, este necesar sa ințelegem cum sa folosim cateva operații logice pentru a construi reguli.

Operațiile logice boolene trebuie sa fie extinse in logici fuzzy pentru a manevra noțiunea de parțial adevarat – valori adevarate intre intervalul „complet adevarat” și „complet fals”. Natura fuzzy a unei afirmatii de genul „X este JOS” poate fi combinata cu afirmația fuzzy „Y este INALT” și o operație logica tipica poate fi data astfel X este JOS și Y este INALT. Care este valoarea de adevar a acestei operații? Operațiile logice cu reglaje fuzzy se executa cu funcții asociate. Deși exista variate interpretari ale operațiilor logice fuzzy, urmatoarele definiții sunt foarte convenabile in aplicațiile cu controlere integrate:

Adevar(X și Y)=min(adevar(X), adevar(Y))

Adevar(X sau Y)=max(adevar(X), adevar(Y))

Adevar(nu X)=1,0-adevar(X)

3.2.2.Inferența

Inferența max-min

Acest tip de inferență utilizează pentru implicație operatorul minimum, adică:

Mij=min(ai.bj). Dacă avem mulțimile A și B, se poate astfel afla M.

Să presupunem că avem următoarea regulă fuzzy: .Dacă presiunea este mare, atunci

volumul este mic., .Presiunea este mare. este reprezentată de mulțimea fuzzy A = 0/1 + 0,2/3 +0,7/6 + 1/10 iar .Volumul este mic. de mulțimea fuzzy B = 1/1 + 0,6/10 + 0/50.

În matricea Mij=min(ai.bj). :

(15)

Să considerăm în continuare o submulțime A’, cu un singur element în suport, adică o

singură valoare, strictă, obținută de exemplu printr-o măsurare: A’ = 0/1 + 0/3 + 0,7/6 + 0/10.

Submulțimea indusă în B, B’ se calculează astfel: bj’ max(min(ai ’ ,mij )).

(16)

Această mulțime este o variantă .retezată. a lui B, la înălțimea fixată de A’.

Inferența max-produs

Acest tip de inferență utilizează pentru implicație operatorul produs, adică: .ij i j m a b

Pentru exemplul de mai sus:

(17)

(18)

Această mulțime este o variantă scalată a lui B, în care înălțimea este fixată de A’.

Inferențe cu premise multiple

De multe ori în practică apar situații în care o concluzie trebuie extrasă din premise multiple, cum ar fi .Dacă A și B, atunci C.. Dacă știm A’ și B’, mulțimile induse de acestea în C se calculează mai întâi independent, prin max-min sau max-produs, și apoi se combină:

CA’=A’ MAC

CB’=B’ MBC (19)

C”=C’ ^ CB’

3.2.3.Defuzificarea

Dupa raționamentul fuzzy avem o variabila lingvistica de ieșire care trebuie sa fie transformata intr-o valoare fixa. Obiectivul este de a deriva o singura valoare numerica fixa care reprezinta cel mai bine valorile fuzzy inchise de variabilele lingvisice de ieșire. Defuzzificarea este transformarea inversa care arata ieșirea din domeniul fuzzy direct in domeniul fix. Unele metode de defuzzificare tind sa produca o ieșire integrala luand in considerare toate elementele rezltatelor reglajelor fuzzy cu importanta corespunzatoare. Alte metode iau in considerare doar elementele corespunzand punctajelor maxime in rezultatele funcțiilor asociate.

Urmatoarele metode de defuzzificare au o importanta practica:

● Center-of-Area (C-o-A) – aceasta metoda se refera la metoda Center-of-Gravity

(centrul de gravitate), pentru ca evalueaza centroidul ariei compuse reprezentand termenul fuzzy de ieșire.

● Center-of-Maximum (C-o-M) – in cadrul acestei metode sunt folosite doar varfurile functiilor asociate. Valoarea compromisa a defuzzificarii fixe este determinata de gasirea locului unde greutatile sunt in echilibru. Astfel aria funcțiilor asociate nu joaca nici un rol, doar varfurile sunt utilizate. Ieșirea fixa este evaluata ca un sens incarcat al temenului de asociere maxima, incarcat de implicația rezultatelor.

● Mean-of-Maximum (M-o-M) – metoda este folosita in cateva cazuri in care abordarea C-o-M nu funcționeaza. Acest lucru se intampla ori de cate ori maximul fumcțiilor asociate nu sunt unice și intrebarea este care dintre alternativele egale ar trebui sa alegem.

Teoria mulțimilor fuzzy este cea mai generală teorie a incompletitudinii formulată până în prezent. Logica fuzzy oferă posibilitatea de a reprezenta și raționa cu cunoștințe comune, formulate în mod obișnuit și de aceea și-a găsit aplicabilitatea în numeroase domenii. Termenii și regulile vagi pot fi reprezentate și manipulate cu ajutorul calculatorului, caracteristică foarte valoroasă în domeniul ingineriei bazelor de cunoștințe, unde cunoștințele experților sunt formulate de obicei în limbaj obisnuit. Logica fuzzy are o valoare deosebită și în aplicațiile de control automat unde este dificil sau imposibil de dezvoltat un sistem de control tradițional.

=== Cap 4 ===

CAPITOLUL IV. Conducerea inteligenta a proceselor cu ajutorul tehnicilor fuzzy.

Problematica proiectului [4]

Vom prezenta in cele ce urmeaza cazul reglării temperaturii intr-o sera cu ajutorul tehnicilor fuzzy și a instrumentelor dedicate pe care Matlab-ul, prin Fuzzy System Toolbox le ofera. Intr-o prima faza, am utilizat un senzor de temperatura pentru a inregistra valorile temperaturii in interiorul serei de-a lungul unei anumite perioade de timp. In urma analizei datelor achiziționate s-a constatat faptul ca sistemul supus analizei este liniar și funcționarea sa poate fi aproximata cu ajutorul funcției de transfer:

H(s) = (20)

și are o intarziere egala cu 1s. In scopul reglării temperaturii, avem ca și elemente de execuție:un venilator și un element de incalzire. Temperatura de referința este de C.

Temperatura exterioara este de -C și are efect la nivelul elementului de integrare.

Parametrii sistemului supus simularii sunt:

intrarea de referința reprezentant temperatura dorita in interiorul serei (de tip treapta) este de C.

Temperatura externa este de -C;

Condiția inițiala de integrare a elementului de integrare este de 10;

Limita inferioara de saturație a elementului de integrare este de 10;

Intarzierea sistemului este de 1s.

Scopul aplicației noastre este de a realiza un studiu comparativ al performantelor de reglare a regulatoarelor clasice de tip PID și a controlere fuzzy integrate in sisteme de reglare automata.

4.1. Reglare PID

4.1.1.Modelarea SRA cu regulator PID utilizand Simulink

4.1.2.Crearea modelelor SIMULINK [3]

Tehnica de creare a unor modele SIMULINK poate fi ilustrată cel mai bine prin exemple.

Modelul prezentat în continuare integrează un sinus și afișează atât rezultatul cât și unda sinusoidală de la intrare. Schema bloc a modelului este următoarea:

Figura 11. Tehnica de creare a unor modele SIMULINK

Pentru a genera modelul se tastează mai întâi simulink în fereastra de comandă MATLAB. Pe sistemele de operare de tip Windows va apare Browser-ul bibliotecilor SIMULINK.

Figura 12. Browser-ul bibliotecilor SIMULINK

Pe sistemele UNIX, va apare fereastra bibliotecilor SIMULINK.

Figura 13. Browser-ul bibliotecilor SIMULINK- Unix

Pentru a genera un model nou pe sisteme UNIX se selectează Model din submeniul New al meniului File. Pe sisteme Windows se selectează butonul New Model din bara de instrumente a Browser-ului de Biblioteci. Simulink va deschide o fereastră pentru un model nou.

Pentru construcția modelului vor fi necesare blocuri din următoarele biblioteci Simulink:

Biblioteca de surse (blocul Sine Wave)

Biblioteca de receptoare (blocul Scope)

Biblioteca de sisteme continue (blocul Integrator)

Biblioteca Signals & Systems (blocul Mux)

Fereastra Browser-ului de biblioteci va arăta astfel:

Figura 14. Bibliotecile Simulink

Pentru copierea blocului Sine Wave se utilizează Browser-ul de bibiloteci: întâi se expandează arborele de biblioteci (prin click pe nodul Simulink și apoi click pe nodul surse) astfel încât să fie afișate blocurile din biblioteca de surse. Apoi se selectează blocul Sine Wave (click).

La pasul următor se trage (ținând apăsat butonul din stânga al mouse-ului) blocul Sine Wave din browser și i se dă drumul în fereastra modelului. Simulink va face o copie a blocului Sine Wave în punctul indicat.

Se poate proceda asemănător pentru copierea blocului Sine Wave din biblioteca de surse deschisă din fereastra de biblioteci Simulink (pe sisteme Windows se poate deschide fereastra de biblioteci din Browser prin click din butonul drept al mouse-ului și apoi click pe Open Library).

Figura 15. Selectarea blocului Sin Wave

Ca și în cazul utilizării browser-ului se trage blocul Sine Wave din biblioteca de surse în fereastra modelului (drag and drop). Se procedează în mod asemănător și cu copierea celorlalte blocuri din bibliotecile corespunzătoare în fereastra modelului. Se poate deplasa cu ușurință orice bloc prin tragerea cu mouse-ul sau prin selectare și deplasare cu tastele săgeți.

La o examinare atentă a simbolurilor de reprezentare a blocurilor se vor observa săgeți care indică intrările sau ieșirile din blocuri: dacă simbolul > este orientat spre ieșirea blocului atunci este un port de ieșire (output port) iar dacă simbolul este îndreptat spre bloc este un port de intrare (input port). Un semnal circulă de la un port de ieșire al unui bloc spre un port de intrare al altui bloc printr-o linie de conectare, Atunci când blocurile sunt conectate, simbolurile porturilor dispar.

Figura 16. Identificarea porturilor de intrare- ieșire a obiectelor din Simulink

Pentru conectarea blocurilor se trece întâi la conectarea blocului Sine Wave la prima intrare (de sus) a blocului Mux. Pentru aceasta se poziționează pointerul mouse-ului deasupra portului de ieșire al blocului Sine Wave. În acest moment forma pointerului se schimbă și devine de tip cruce (cursor).

Se ține apăsat butonul stânga al mouse-ului și se deplasează cursorul până la intrarea de sus a blocului Mux. Urmează eliberarea butonului mouse-ului și se observă cum blocurile au fost conectate.

În afara liniilor care conectează ieșirile unor blocuri la intrările altora există și linii de branșare a unor linii la intrările unor blocuri (se poate observa în modelul prezentat inițial). O astfel de linie este utilizată pentru conectarea ieșirii din blocul Sine Wave și la blocul Integrator (există deja conexiunea la blocul Mux).

Pentru a efectua această conexiune se procedează astfel:

1. Se poziționează pointerul pe linia dintre blocurile Sine Wave și Mux.

2. Se apasă și se ține apăsată tasta Ctrl. Se apasă butonul mouse-ului și apoi se trage până la intrarea în blocul Integrator sau până deasupra acestui bloc.

3. Se eliberează butonul mouse-ului și se observă cum apare o linie de branșare până la portul de intrare în blocul Integrator.

Se procedează conform indicațiilor și se efectuează toate conectările necesare. Modelul va trebui să arate în final astfel:

Figura 17. Modelul Simulink asociat problemei

4.1.3.Rularea simulărilor în SIMULINK

După încheierea procedurii de construcție a modelului, trebuie rulată o simulare pentru aprecierea corectitudinii modelului și pentru obținerea rezultatelor cerute.

Pentru aceasta se deschide mai întâi blocul osciloscopului (Scope), pentru a vizualiza evoluția mărimilor modelului. Păstrând fereastra osciloscopului deschisă se va seta Simulink pentru rularea unei simulări timp de 10 secunde. Pentru aceasta, parcurgem următorii pași:

1. Setăm parametrii simulării prin alegerea submeniului Parameters din meniul Simulation. În fereastra de dialog care apare vom seta parametrul Stop time la 10.0 (valoare implicită).

2. Închidem fereastra de dialog Simulation Parameters prin click pe butonul Ok. Simulink va aplica parametrii și va închide fereastra de dialog.

Figura 18. Stabilirea parametrilor simularii

3.Se selectează Start din meniul Simulation și se observă curbele afișate în fereastra osciloscopului.

Figura 19. Vizualizaea raspunsului sistemului simulat

4.Simularea se va opri atunci când se ajunge la finalul timpului de rulare indicat în fereastra de dialog Simulation Parameters sau la selectarea opțiunii Stop din meniul Simulation (sau din bara de instrumente).

Pentru salvarea modelului se alege Save din meniul File și se introduce un nume de fișier și se alege directorul unde dorim să salvăm modelul (fișierul va avea automat extensia .mdl).

Pentru încheierea lucrului se selectează Exit MATLAB sau se tastează quit în fereastra de comandă a MATLAB-ului.

4.1.4.Modul de lucru al unui program SIMULINK

Fiecare bloc dintr-un model Simulink are următoarele caracteristici generale: un vector de intrare, u, un vector de ieșire, y, și un vector de stare, x:

Vectorul de stare poate consta din stări continue, stări discrete sau combinații ale acestora. Relațiile matematice dintre aceste mărimi (intrări, ieșiri, stări) sunt exprimate prin ecuații de tipul:

Simularea constă în două faze: inițializare și simulare propriu-zisă.

Faza de inițializare înseamnă parcurgerea următoarelor etape:

1. Blocul parametrilor este trecut în MATLAB pentru evaluare. Valorile numerice rezultate sunt folosite ca parametri actuali (curenți).

2. Este parcursă ierarhia modelului. Fiecare subsistem care nu este un subsistem executat condiționat este înlocuit prin blocurile componente.

3. Blocurile sunt sortate în ordinea în care este necesară actualizarea lor. Algoritmul de sortare întocmește o listă astfel încât orice bloc nu este actualizat până când blocurile care furnizează intrările acestuia nu sunt actualizate. În timpul derulării acestei etape sunt detectate buclele algebrice.

4. Conexiunile dintre blocuri sunt verificate pentru asigurarea compatibilității ieșire-intrare.

Urmează faza de simulare propriu-zisă. Modelul este simulat prin integrare numerică. Calculul derivatelor se face în doi pași. Prima dată ieșirea fiecărui bloc este calculată în ordinea determinată de algoritmul de sortare. La al doilea pas, pentru fiecare bloc se calculează derivatele în funcție de timp, intrări și stări. Vectorul derivatelor rezultat este returnat algoritmului de rezolvare de tip ODE, care îl utilizează pentru calculul noului vector de stare pentru momentul de timp următor. O dată ce noul vector de stare este calculat, blocurile sunt actualizate.

4.2.Analiza și sinteza sistemului analizat

Pentru atingerea obiectivelor am implementat in Matlab, intr-un fisier cu extensia „.m” funcția de transfer a partii fixe a sistemului studiat pentru observarea stabilitații acesteia.

Mediul MATLAB dispune de funcții care permit analiza modelelor LTI atât în domeniul timp cât și în domeniul frecvenței.

Fig.20 Declararea funcției de transfer a sistemului analizat

LTIViewer reprezintă o interfață grafică cu utilizatorul (Graphical User Interface – GUI) ce permite vizualizarea răspunsurilor modelelor LTI atât în domeniul timp cât și în cel al frecvenței. Aceasta permite analiza a până la 6 răspunsuri ale unui sistem simultan. Se pot analiza răspunsurile mai multor sisteme simultan. Pașii urmați pentru a utiliza această interfață grafică sunt:

1. LTIViewer se inițializează cu comanda ltiview.

2. Din meniul File se alege comanda Import pentru a importa din spațiul de lucru sistemele dorite.

3. Se selectează comanda Viewer Configuration din meniul Tools pentru a alege numărul de regiuni (1 ÷ 6) ale ferestrei grafice și tipul răspunsului reprezentat în fiecare regiune (step, impulse, bode, nyquist, nichols, sigma, pzmap).

4. Cu un clic pe butonul din dreapta al mouse-ului în fiecare din regiunile ferestrei grafice se deschide un meniu care permite modificarea tipului răspunsului reprezentat, punerea în evidență a caracteristicilor răspunsului, aplicarea liniilor de grid sau magnificarea unei anumite regiuni (Zoom).

Funcțiile utilizate pentru investigarea răspunsurilor în domeniul timpului al modelelor LTI continue sau discrete pentru diferite semnale de intrare sunt:

– impulse – răspuns la impuls;

– initial – răspuns la condiții inițiale (numai pentru modele SS);

– gensig – generator de semnale de intrare;

– lsim – răspuns la semnal de intrare arbitrar;

– step – răspuns indicial (la semnal treaptă unitar).

Din diagrama obținuta se poate observa stabilitatea sistemului la semnalul treapta a timpul de crestere(1,1sec), a timpului tranzitoriu (1,96s), cat și a timpului de stabilire a semnalului(3sec).

Pentru a aplica aceasta functie de transfer sistemului analizat, in urmatorul subcapitol, se introduce in bucla de reglare construita in simulink un bloc transfer fcn ce permite configurarea funcției de transfer:

H(s) =

Fig. 21 Raspunsul la semnal treapta a funcției de transfer a sistemului studiat

4.3.Simulare SRA cu regulator PID utilizand Simulink

Daca am folosi un regulator clasic de tip PID, intrarea sa ar fi fost diferența (eroarea) dintre temperatura de referința și ieșirea sistemului. Schema de reglare, in condițiile mai sus menționate, este prezentata in figura .

Fig.22 Reglarea clasica a temperaturii

Construcția schemei de reglare:

Pentru realizarea schemei pentru reglarea clasica a temperaturii am folosit urmatoarele blocuri:

Step : am folosit doua blocuri cu semnal de tip treapta ; primul bloc l-am folosit pentru intrarea de referința reprezentant temperatura dorita in interiorul serei ( C) , și cel de al doilea bloc pentru temperatura exterioara de -C;

Sum : am folosit pentru a aduna cele doua intrari și implicit pentru a realiza bucla de reacție;

PID Controller : am folosit acest bloc pentru a implementa parametrii pentru parametrii: proporțional, integrativ și derivativ;

Transport Delay : am folositacest bloc pentru a introduce o intarziere de 1s ;

Transfer FCN : bloc ce l-am utilizat pentru a introduce funcția de transfer a sistemului ce este supus analizei;

Sum1 : am folosit un al doilea bloc Sum pentru a introduce in bucla cel de al doilea Step ce reprezinta temperatura exterioara de -C; acesta are efect la nivelul elementului de integrare;

Integrator

Mux : am folosit acest bloc pentru a combina cele doua semnale de intrare inre-un singur semnal la ieșire;

Scope : folosit pentru a afișa rezultatele simularii

4.3.1.Rezultatele simularii [2]

Rezultatul obținut in urma simularii :

Fig.23 In figura este reprezentanta comanda cu galben și temperatura (raspunsul sistemului simulat) cu violet.

Raspunsul are o eroare semnificativa, deoarece un regulator PID nu este eficace in acest caz, deoarece sistemul este neliniar. Pentru a depăși aceste probleme, ne propunem să se reglementeze sistemul cu un controler fuzzy.

Introducand in bucla de reglare blocul „To Workspace” , pentru a salva semnalul in spațiul de lucru, se potate analiza răspunsul simularii cu . Se selecteaza forma de salvare array ce are ca intrare forma unui tablou de n dimensiuni, unde N este unul mai mult decât numărul de dimensiuni ale semnalului de intrare. De exemplu, daca semnalul este o matrice 1-D (un vector), rezulta ca matricea spațiului de lucru este de doua dimensiuni. În cazul în care semnalul de intrare este o matrice 2-D (de exemplu, o matrice), matrice este de trei dimensiuni.

Fig. 24 Bucla de reglaj cu blocurile To workspace

Pentru a observa mai bine rezultatul obținut apelam funcția plot ce ne genereaza un grafic selectand din fereastra Workspace-ului: „plot as multiple series” sau introducand urmatoarele comenzi:

>>plot(comanda,'DisplayName','comanda','YDataSource','comanda'); >>hold all;

>>plot(semnal_iesire,'DisplayName','semnal_iesire','YDataSource','semnal_iesire'); >>hold all;

>>hold off;

>>figure(gcf);

In figura de mai jos este reprezentanta comanda cu verde și raspunsul sistemului simulat (temperatura) cu albastru. Se poate observa acțiunea controlerului PID prin menținerea echilibrului asupra sistemului simulat.

Fig. 25 Graficul obținut cu functia plot pentru sistemul analizat

4.4. Reglare Fuzzy

4.4.1. Modelarea SRA cu regulator PID utilizand Fuzzy Logic Toolbox [1]

Logica fuzzy ofera instrumentele necesare pentrru reprezentarea in sistemele inteligente a unor concepte imprecise cum sunt „mare” , „mic”, „scump” , „ieftin”ș.a.m.d concepte numite variabile lingvistice sau variabile fuzzy. Pentru reprezentarea acestora se folosesc seturile fuzzy care capteaza din punc de vedere cantitativ interpretarea calitativa a termenilor.

Toolbox-ul Fuzzy Logic al mediului de simulare Matlab reprezintă mediul software de simulare a sistemelor cu logica fuzzy oferit de acest program extrem de popular în lumea științifică. Construirea unui sistem cu logică fuzzy în Matlab este simplă datorită interfeței grafice prin care utilizatorul poate comunica cu mediul de simulare Matlab (componenta dedicată logicii fuzzy).

Această interfață permite construirea și, in final, analiza grafică a sistemului cu logică fuzzy dorit, folosind cele 5 instrumente grafice care formează componenta dedicată logicii fuzzy a mediului Matlab:

1) Editorul sistemului cu logică fuzzy, numit FIS Editor (=Fuzzy Inference System Editor);

2) Editorul funcțiilor de apartenență, adică, al mulțimilor fuzzy peste universurile discursurilor variabilelor de intrare și de ieșire ale sistemului cu logică fuzzy, numit Membership Function Editor;

3) Editorul regulilor fuzzy, care vor forma baza de reguli a sistemului cu logică fuzzy, numit Rule Editor;

4) Fereastra de vizualizare a regulilor, in care se poate observa gradul de activare al fiecărei reguli și rezultatul (multimea fuzzy de ieșire) dat de fiecare regulă a bazei de reguli, pentru o anumită valoare transantă a intrării stabilite de către utilizator; această fereastră apare sub numele Rule Viewer;

5) Fereastra de vizualizare a suprafeței ieșire-intrare a sistemului cu logică fuzzy, care arată grafic dependenta ieșirii transante a sistemului cu logică fuzzy de intrările transante ale sistemului cu logică fuzzy, determinate de funcționarea sistemului cu logică fuzzy; această dependentă este cunoscută in general sub numele de “suprafață de control a sistemului”, iar fereastra apare sub numele Surface Viewer.

Cele cinci instrumente grafice sunt legate dinamic intre ele, adică, o modificare a sistemului cu logică fuzzy făcută intr-una din ferestrele de editare va putea afecta ceea ce se vede in celelalte ferestre. La un moment dat, pentru un sistem cu logică fuzzy, putem avea oricate din cele cinci ferestre deschise simultan. Cele cinci instrumente grafice ale componenței dedicate sistemelor cu logică fuzzy din Matlab sunt prezentate simbolic in diagrama-bloc din Figura 26 :

.

Figura 26. Cele cinci instrumente de construire și analiză a unui sistem cu logică fuzzy, și legătura lor cu sistemul cu logică fuzzy

Pentru construirea unui sistem cu logică fuzzy in Matlab, primul pas dupălansarea in execuție a programului Matlab.exe este scrierea de la tastatură, la prompterul programului, a comenzii:

>> fuzzy

urmată de apăsarea tastei Enter. Această comandă lansează in executie editorul sistemului cu logică fuzzy (FIS Editor); va apărea pe ecran fereastra grafică a editorului de sisteme cu logică fuzzy din Figura 27 .

Editorul sistemului cu logică fuzzy, numit FIS Editor (Fuzzy Inference System Editor)

Editorul sistemului cu logică fuzzy permite definirea informațiilor generale despre sistemul cu logică fuzzy pe care dorim să-l construim.

In diagrama simplă din partea de sus a ferestrei, de sub bara de meniuri, sunt afișate:

– in stanga, un dreptunghi in care apar generic trei funcții de apartenență de formă Gauss, și sub el, numele variabilei de intrare; in figura 27, există (implicit) o singură variabilă de intrare in sistemul cu logică fuzzy, numită input1;

– in dreapta, un dreptunghi in care apar generic trei funcții de apartenență de formă triunghiulară, și sub el, numele variabilei de ieșire; in Figura 23 , există (implicit) o singură variabilă de ieșire din sistemul cu logică fuzzy, numită output1;

– in centru, un dreptunghi in care apare numele sistemului cu logică fuzzy și tipul

de inferență folosit de către sistemul cu logică fuzzy; implicit, mecanismul de inferență folosit este Mamdani, iar numele sistemului cu logică fuzzy este Untitled.

Funcțiile de apartenență desenate in această fază a construcției sistemului cu logică fuzzy in dreptunghiurile din stanga și din drepta din diagramă sunt doar niște simboluri, și de fapt nu există nici pentru variabila de intrare, nici pentru cea de ieșire din sistemul cu logică fuzzy; momentan, nu este definită nici o multime fuzzy peste universurile discursurilor variabilelor de intrare input1 și de ieșire output1.

Sub diagrama din partea de sus a ferestrei editorului sistemului cu logică fuzzy, in partea stangă a Figurii 27, este un sistem de meniuri de tip pop-up care ne permit să modificăm diferitele operatii folosite in cadrul procesului de inferentă:

– And method permite selecția expresiei matematice folosite pentru operatorul AND din premiza regulii fuzzy: aceasta poate fi min sau prod (produs), și implicit este min;

– Or method permite selecția expresiei matematice folosite pentru operatorul OR, care este implicit operatorul care leagă intre ele regulile din baza de reguli fuzzy: aceasta poate fi max sau probor (sau probabilistic), și implicit este max;

– Implication definește operația folosită pentru exprimarea relației de implicatie fuzzy dintre premiza și consecinta fiecărei reguli: aceasta poate fi min sau prod, și implicit este min;

– Aggregation definește operația folosită pentru combinarea multimilor fuzzy obținute ca ieșire a fiecărei reguli fuzzy din baza de reguli, cunoscute sub numele de concluzii partiale, pentru a se obtine multimea fuzzy care reprezintă răspunsul sistemului cu logică fuzzy la o valoare dată a intrării transante: aceasta poate fi max, sum (sumă algebrică) sau probor, și implicit este max;

– Defuzzification definește metoda de defuzzificare folosită: aceasta poate fi: centroid, bisector (bisectoarea ariei), lom (largest of maximum), mom (middle of

maximum), som (smallest of maximum);

Figura 27. Fereastra editorului de sisteme cu logică fuzzy

Sub diagrama din partea de sus a ferestrei editorului sistemului cu logică

fuzzy, in partea dreaptă a Figurii 27, se gășeste o zonă in care sunt afișate:

– numele variabilei (de intrare sau ieșire) selectate;

– tipul funcțiilor de apartenență asociate variabilei de intrare sau ieșire selectate;

– universul discuției variabilei de intrare sau ieșire selectate;

Implicit, nici o variabilă nu este selectată. Selecția unei variabile de intrare sau ieșire a sistemului cu logică fuzzy se face printr-o simplă apăsare cu butonul stang al mouse-ului, atunci cand cursorul mouse-ului este poziționat pe blocul din diagrama sistemului cu logică fuzzy corespunzător variabilei respective.

De exemplu, dacă vrem să selectăm variabila de intrare input1, ne poziționăm pe dreptunghiul galben din stanga schemei-bloc din Figura 23, apăsăm pe butonul stang al mouse-ului și in acest moment dreptunghiul respectiv va fi marcat ca și activ prin inconjurarea sa cu o linie roșie. Simultan, in partea dreaptă jos a Figurii 23 apare numele variabilei: input1. Acest nume poate fi acum modificat prin ștergerea campului Name și scrierea de la tastatură a noului nume pentru variabila de intrare. Celelalte două campuri răman in continuare nespecificate (ele au doar niște valori implicite), deoarece incă nu am specificat forma funcțiilor de apartenență și universul discutiei variabilelor sistemului cu logică fuzzy.

Bara de meniuri a editorului de sisteme cu logică fuzzy contine următoarele comenzi:

– Comanda File – de aici, putem crea un nou sistem cu logică fuzzy cu mecanism

de inferență de tip Mamdani (New Mamdani FIS); un nou sistem cu logică fuzzy cu inferență de tip Sugeno (New Sugeno FIS); putem deschide un sistem cu logică fuzzy deja creat fie de pe hard disc (Open from disk), fie din spatiul de lucru curent (workspace) (Open from workspace); putem salva sistemul cu logică fuzzy creat/modificat fie pe hard disc (Save to disk as/ Save to disk), fie in spațiul de lucru curent (Save to workspace as/ Save to workspace).

– Comanda Edit – cu subcomenzile de:

1) adăugare a unei noi variabile de intrare in sistemul cu logică fuzzy, Add input;

2) adăugare a unei noi variabile de ieșire din sistemul cu logică fuzzy, Add output;

3) ștergere din sistemul cu logică fuzzy a variabilei de intrare sau ieșire selectate in momentul curent, Remove variable.

– Comanda View – cu subcomenzile de:

1) editare a mulțimilor fuzzy care acoperă universurile discursurilor variabilelor de intrare și ieșire, Edit membership functions; această comandă lansează in executie editorul funcțiilor de apartenență;

2) editare a regulilor fuzzy din baza de reguli, Edit rules; această comandă lansează in execuție editorul regulilor fuzzy;

3) vizualizare a regulilor fuzzy, View rules; această comandă lansează in execuție fereastra de vizualizare a regulilor;

4) vizualizare a suprafeței de control a sistemului cu logică fuzzy, View surface; această comandă lansează in executie fereastra de vizualizare a suprafeței ieșire-intrare a sistemului cu logică fuzzy.

Editorul functiilor de apartenență adică, al mulțimilor fuzzy peste universurile discursurilor variabilelor de intrare și de ieșire ale sistemului cu logică fuzzy, numit Membership Function Editor;

Editorul funcțiilor de apartenență permite afișarea și editarea tuturor funcțiilor de apartenență asociate cu toate variabilele de intrare și de ieșire ale sistemului cu logică fuzzy. Fereastra grafică a editorului funcțiilor de apartenență este foarte asemănătoare cu cea a editorului sistemului cu logică fuzzy (Figura 28).

Figura 28. Fereastra editorului funcțiilor de apartenență

La deschiderea editorului funcțiilor de apartenență pentru un sistem cu logică fuzzy nou creat, nu există incă nici o funcție de apartenență asociată variabilelor de intrare și ieșire definite anterior in editorul sistemului cu logică fuzzy.

 In colțul din stanga sus al ferestrei editorului funcțiilor de apartenență există o “paletă a variabilelor”, in care apar listate toate variabilele de intrare și de ieșire ale sistemului, sub forma simbolului lor-bloc și cu numele variabilei scris sub blocul respectiv. De exemplu, pentru un sistem cu o singură intrare și o singură ieșire al căror nume a fost lăsat implicit, in listă apar variabilele: input1 și output1. Pentru a stabili funcțiile de apartenență asociate cu o variabilă din listă, trebuie selectată variabila printr-o apăsare cu butonul stang al mouse-ului pe blocul care simbolizează variabila respectivă; in acest moment, atat blocul cat și numele variabilei sunt “colorate” cu rosu, iar sub ecranul din partea dreaptă a ferestrei editorului, “Membership function plots”, apare tipul și numele variabilei

respective.

 Sub “paleta variabilelor”, in partea stangă jos a ferestrei editorului, avem informații despre tipul și numele variabilei selectate, in campurile: nume; tip (intrare sau ieșire); domeniu de variație (adică, universul discursului variabilei respective); domeniul valorilor afișate (care poate fi un subdomeniu al universului discursului). In campul domeniu de variație (range) vom specifica pentru fiecare variabilă universul discursului, sub forma unui interval de numere reale. Apăsand apoi tasta Enter, domeniul este setat la cel dorit, și implicit acesta va fi și domeniul la care se setează campul domeniului valorilor afișate (display range).

 Pentru definirea funcțiilor de apartenență ale variabilei selectate, se folosește componenta Edit a barei de meniuri a ferestrei editorului, din care se selectează comanda Add MFs (adaugă funcții de apartenență). Va apărea o nouă fereastră pe ecran, ca in Figura 29, care permite:

Figura 29. Fereastra de definire a funcțiilor de apartenență pentru o variabilă

1) selectarea numărului de funcții de apartenență asociate variabilei selectate, intre 1 și 9 (implicit este 3);

2) selectarea tipului funcțiilor de apartenență asociate variabilei selectate: triunghi (trimf), trapez (trapmf), clopot (gbellmf), Gauss (gaussmf, gauss2mf), PI (pimf), combinații de două funcții sigmoide (dsigmf, psigmf). Toate funcțiile de apartenență implicite in Matlab sunt simetrice in raport cu axa y, iar dacă dorim de exemplu să definim un triunghi dreptunghic pe extremele universului discuției, acesta se definește ca și un triunghi isoscel al cărui suport se intinde și in afara universului discuției.

 Odată stabilit tipul și numărul funcțiilor de apartenență pentru variabila selectată (prin apăsarea tastei OK a ferestrei din Figura 29), aceste funcții apar afișate pe ecranul din partea dreaptă sus a ferestrei editorului. Fiecare funcție de apartenență poate fi selectată prin apăsarea butonului stang al mouse-ului.

 In momentul cand o funcție de apartenență este selectată, ea va apărea desenată cu roșu, și simultan in partea dreaptă jos a ferestrei editorului, cu titlul “Current membership function”, apar afișate: numele, tipul (trimf, trapmf, etc) și parametrii functiei de apartenență respective (de exemplu, pentru funcțiile triunghi și trapez, pe care le vom folosi. In acest moment, putem modifica: numele funcției de apartenență; tipul său; parametrii care descriu funcția de apartenență.

 Odată definite toate funcțiile de apartenență conform dorinței proiectantului sistemului cu logică fuzzy, putem edita baza de reguli fuzzy a sistemului. Pentru aceasta, din meniul ferestrei editorului, se selectează comanda View, urmată de Edit rules….

3)Editorul regulilor fuzzy

Editorul regulilor fuzzy permite editarea bazei de reguli fuzzy a sistemului cu logică fuzzy.

 Inițial, campul de editare al ferestrei, de culoare albă, nu contine nici o regulă. Toate regulile din baza de reguli a sistemului cu logică fuzzy pe care dorim să-l proiectăm vor fi introduse de la tastatură.

 In partea de jos a ferestrei editorului de reguli fuzzy apare un buton de selecție a formatului de scriere a regulilor, Rule Format. Optiunea selectată in acest camp poate fi:

1) Format verbal (verbose), caz in care regulile se editează sub forma if… then; de exemplu, dacă atunci cand variabila de intrare input1 aparține mulțimii fuzzy mf1, dorim ca variabila de ieșire output1 să aparțină mulțimii fuzzy mf3, regula va fi: If input1 is mf1 then output1 is mf3, și exact sub această formă este editată in spațiul editorului de reguli. După terminarea scrierii tuturor regulilor din bază sub această formă, se apasă consecutiv tastele Ctrl și Enter, ceea ce conduce la transformarea regulilor in formatul din Figura 26.

2) Format simbolic (symbolic), caz in care regula de mai sus devine: (input1==mf1)=>(output1=mf3); validarea regulilor se face tot cu tastele Ctrl și Enter.

3) Format indexat (indexed), caz in care regula de mai sus devine: 1,3 (1):1;ultimul “1” indică folosirea operatorului AND in premiza regulii, atunci cand este cazul. Modificarea unei reguli din baza de reguli se face ca in orice editor de texte, dar in final trebuie să validăm noua bază de reguli prin apăsarea consecutivă a tastelor Ctrl+Enter.

Figura 30. Fereastra editorului de reguli fuzzy

Fereastra de vizualizare a regulilor, în care se poate observa gradul de activare al fiecărei reguli și rezultatul (mulțimea fuzzy de ieșire) dat de fiecare regulă a bazei de reguli, pentru o anumită valoare tranșantă a intrării stabilite de către utilizator; aceasta fereastra apare sub numele Rule Viewer;

Fig.31 Fereastra de vizualizare a regulilor

Fereastra de vizualizare a suprafetei ieșire-intrare a sistemului cu logica fuzzy, care arata grafic dependenta ieșirii transante a sistemului cu logica fuzzy de intrarile transante ale sistemului cu logica fuzzy, determinate de funcționarea și stemului cu logica fuzzy; aceasta dependenta este cunoscuta în general sub numele de “suprafata de control a sistemului”, iar fereastra apare sub numele Surface Viewer.

Fig.32 Fereastra de vizualizare a suprafetei ieșire-intrare

4.4.2. Configurare FLC [1]

Pentru a construi controlerul fuzzy, in primul rand trebuie sa definim intrarile și ieșirile, apoi vom defini intervalele de variație (seturi fuzzy) și funcțiile de apartenența folosind interfața (Edit Memberschip function), pentru intrare cat și ieșire. 

Consideram ca intrare diferenta intre temperatura de referința și ieișrea sistemului supus reglării, numita eroare și ca ieșire, comanda data de regulator. Intervalul de variație al erorii este [-10 14], iar al comenzii este [-30 37]. Pentru a stabilii aceste lucruri, scriem comanda urmatoare in consola:

>> fuzzy

Se va deschide fereastra FIS Editor in care vom seta intrarile și ieșirile:

Fig.33 Definirea intrarilor și ieșirilor

● Definirea Funcțiilor de apartenență

Pentru fiecare dintre intrarile și ieșirile considerate, funcțiile de apartenența sunt de tip trimf (triunghiulare), cate trei pentru fiecare și au urmatoarea semnificație: daca temperatura de referința este negativa, inseamna ca temperatura de ieșire este mai mare decat temperatura de referința , deci in interiorul serei este cald și apare necesitatea unei ventilatii. Daca valoarea sa este pozitiva, Funcția de apartenență va indica frig in sera și necesitatea unui element de incalzire. In caz contrar, totul este bine și nimic nu se schimba la nivelul elementului de execuție.

Sistemul de inferență fuzzy este de tipul Mamdani și defuzzificarea va fi cu metoda centrului de greutate.

Pentru a stabilii aceste lucruri, parcurgem urmatoarele etape:

View/ Edit Memberschip function

Edit/ Add Mfs (pentru intrare-eroare)

View/ Edit Memberschip function

Edit/ Add Mfs (pentru ieșire- comanda)

Fig.34 Definirea funcțiilor de apartenență pentru intrare

Fig.35 Definirea funcțiilor de apartenență pentru ieșire

● Definirea regulilor de inferenta

Stabilim regulile de inferenta și ponderea fiecareia dintre acestea , in stabilirea rezultatului final, cu ajutorul interfeței grafice Rule Editor și le vom vizualiza prin interfața grafica Rule Viewer:

Daca (eroare este cald), atunci (comanda este ventilatie) – (pondere 1)

Daca (eroare este Ok), atunci (comanda este nimic) – (pondere 1)

Daca (eroare este frig), atunci (comanda este incalzire) – (pondere 1)

In cazul interfeței, ele vor fi formulate, intr-o maniera interactiva, astfel:

IF (eroare is cald), THEN (comanda is ventilatie) .(1)

IF (eroare is Ok), THEN (comanda is nimic) .(1)

IF (eroare is frig), THEN (comanda is incalzire) .(1)

Pentru setarea sau vizualizarea acestor reguli, se dau urmatoarele comenzi:

View/ Edit Rule

View/ ViewRule

Fig.36 Definirea regulilor

Fig.37 Vizualizarea regulilor

● Simularea și vizualizarea rezultatelor

Vom vizualiza raspunsul regulatorului fuzzy cu ajutorul interfeței grafice Surface viewer . Sistemul de inferența este de tip MAMDANI, iar regula de defuzzificare este metoda centroida.

View/ ViewSurface

In acest moment, avem construit un regulator fuzzy cu o singura intrare, a carui nume il vom stabilii prin salvarea sa sub forma de fișier cu extensia „fis” pe discul local sau sub forma de variabila in zona de lucru a Matlab-ului.

4.5.Simulare SRA cu FLC utilizand Simulink [1]

Pentru a-l uitiza in scopul reglării temperaturii in interiorul serei, trebuie sa-l utilizam sub forma unui bloc, in cadrul unei scheme construite cu ajutorul Simulink-ului.

4.5.1.Reglare fuzzy cu ajutorul unui controller cu o intrare

Modelul sistemului supus reglării este prezentata mai jos:

Fig.38 Modelul sistemului

Blocul numit Fuzzy Logic Controller il gasim predefinit in Fuzzy Logic Toolbox, rolul nostru fiind acela de a-l personaliza (se deschide prin dublu-clic pe acest bloc) prin specificarea fișierului pe care il vom apela .

Aceasta fereastra de dialog este prezentata in continuare:

Fig.39 Specificarea parametrilor pentru Fuzzy Logic Controller

4.5.2.Reglare fuzzy cu ajutorul unui controller cu doua intrari

Daca raspunsul sistemului nu satisface exigentele utilizatorului, pot fi modificate intervalele de inferenta și in acest fel va fi crescuta eficacitatea regulatorului.bIn aceeas masura, putem acționa asupra regulilor de inferența sau a formelor funcțiilor de apartenență utilizate.

Deoarece procesul de efectuare al acestor modificari a fost prezentat in secțiunea anterioara, vom prezenta doar modificarile efectoate la nivel de concept nu și al procedurii efective de modificare in cadrul inferenței grafice.

In cele ce urmeaza, ne propunem sa adaugam o noua intrare pentru regulatorul fuzzy utilizat in exemplul nostru , cu semnificația variației in timp a erorii – derivata erorii , deroare. Funcția de apartenență asociata acesteia este una de tip trimf (triunghiulara) .

Intervalul de definiție al acestuia [-15;15] , este imparțit in trei parți disctinte, corespunzatoare procesului de : incalzire (I) , temperatura constanta – tconstant (TC) și racire(R).

Fig.40 Regulatorul fuzzy cu doua intrari

Funcția de apartenență a ieșirii va fi deasemenea modificata , fiind de data acesta impartita in cinci componente distincte : ventileaza mult (vm) , ventileaza (v) , bine (b) , incalzește (I) și incalzește mult(IM).

Fig.41 Definirea Funcțiilor de apartenență pentru cea de a doua intrare

Regulile care pun in legatura modul de variatie al intrarilor și reacția sistemului reprezentata prin formele ieșirii , ținand cont de prescurtariile asociate fiecaruia dintre acestea , sunt prezentate in tabelul de mai jos:

Raspunsul sistemului pentru intervalele : eroare [-10;14], deroare[-15;15] și comanda [-30;44] :

4.5.3.Rezultatele simularii la reglare cu FLC

A.Rezultatul simularii fuzzy cu ajutorul unui controller cu o intrare

In acest caz, raspunsul sistemului rezultat in urma simularii sistemului construit are urmatoarea forma:

Fig.42 Raspunsul sistemului simulat cu regulator fuzzy cu o intrare

Introducand in bucla de reglare blocul „To Workspace”, cum am procedat și la simularea cu controler PID, vom obține urmatoarea schema bloc:

Fig.43 Bucla de reglaj cu blocurile To workspace

Putem observa rezultatul generat in graficul din figura 44, apeland funcția plot selectata din fereastra Workspace-ului: „plot as multiple series” sau introducand urmatoarele comenzi:

>> plot(comanda,'DisplayName','comanda','YDataSource','comanda');

>> hold all;

>>plot(semnal_iesire,'DisplayName','semnal_iesire','YDataSource','semnal_iesire'); >>hold all;

>>hold off;

>>figure(gcf);

In figura de mai jos este reprezentanta comanda cu verde și raspunsul sistemului simulat (temperatura) cu albastru. Se poate observa actiunea regulatorului fuzzy prin menținerea echilibrului asupra sistemului simulat

Fig.44 Graficul obținut cu funcția plot pentru sistemul analizat.

B.Rezultatul simularii fuzzy cu ajutorul unui controller cu doua intrari

In acest caz, raspunsul sistemului rezultat in urma simularii sistemului construit are urmatoarea forma:

Fig.45 Raspunsul sistemului simulat cu regulator fuzzy cu doua intrari

Graficul sistemului simulat cu regulator fuzzy cu doua intrari din figura 46 se obține, in mod similar ca la reglarea sistemului cu ajutorul unui controler FLC cu o intrare, apeland functia plot selectata din fereastra Workspace-ului: „plot as multiple series” sau introducand urmatoarele comenzi:

>> plot(comanda,'DisplayName','comanda','YDataSource','comanda');

>> hold all;

>>plot(semnal_iesire,'DisplayName','semnal_iesire','YDataSource','semnal_iesire'); >>hold all;

>>hold off;figure(gcf);

In figura 46 observam comanda reprezentata cu verde și raspunsul sistemului simulat cu albastru. Ca și la regulatorul fuzzy cu o intrare se poate observa acțiunea regulatorului fuzzy pentru menținerea echilibrului asupra sistemului simulat, insa acesta din urma nu ne satisface cerințele. Pentru a putea obtine un sistem simulat corespunzator cerintelor putem modifica numarul funcțiilor de apartenența, tipul funcției de apartenența folosita, universul de discurs, numarul regulilor de inferența.

Folosind funcția de apartenența de tipul trampf (trapezoidala) rezultatul va fi asemanator cu cel din figura 46. pentru a imbunatații performanțele vom modifica numarul regulilor de inferența (fig. 47).

Fig. 46 Graficul obținut cu functia plot pentru sistemul analizat

Fig. 47 Cazul in care se modifica numarul regulilor de inferența

Fig. 48 Raspunsul sistemului simulat cu regulator fuzzy

cu doua intrari si noua reguli de inferența

Fig. 49 Graficul obținut cu funcția plot pentru sistemul cu regulator fuzzy

cu doua intrari și noua reguli de inferența

Acest răspuns cu siguranță este depășit, dar viteza lui este mai buna: un timp de răspuns acestuia este mai mică decât in cazul al doilea. 

In continuare vom vizualiza suprafețele de control.

Fig.50 Suprafața de control al regulatorului fuzzy cu o intrare si 3 reguli de inferența

Se poate observa ca numarul de intrari este insuficent pentru o descriere detaliata.Suprafața este uniforma dar nu are suficiente campuri.

Fig.51 Suprafata de control al regulatorului fuzzy cu doua intrari și 3 reguli de inferența

Se observa ca suprafața este continua, uniforma și cu suficiente campuri.

Fig.52 Suprafața de control al regulatorului fuzzy cu doua intrari și 9 reguli de inferența

Se observa ca suprafața nu este uniforma și liniara are salturi mari pe unele zone.

=== Concluzii ===

CONCLUZII

În urma analizei rezultatelor simularii și a funcționarii sistemului realizat s-a desprins concluzia ca regulatorul fuzzy folosit necesita ajustari, in continuare, pentru marirea robusteței reglajului.

Prin analiza comparativa a celor doua raspunsuri , observam imbunatațiri din punct de vedere al vitezei : timpul de raspuns al sistemului cu regulator fuzzy cu doua intrari este inferior celui din cazul cu o singura intrare.

• Raspunsul are o eroare semnificativa, deoarece un regulator PID nu este eficace in acest caz, deoarece sistemul este neliniar.

-timp de stabilizare ~ 3 secunde

-suprareglaj < 5%

•Raspunsul sistemului cu regulator fuzzy din primul caz cand aveam trei reguli,o intrare(eroare) cu trei funcții de apartenență (cald, ok, frig) și o ieșire, sistemul este insuficient definit iar raspunsul nu este cel dorit :

-timp de stabilizare mare

-suprareglaj > 5%

•In cazul al doilea avem doua intrari(eroare și deroare) și trei reguli, aici sistemul se comporta mai bine are un timp de raspuns și un suprareglaj mai mic:

-timp de stabilizare ~ 5sec

-suprareglaj > 5%

Raspunsul sistemului cu regulator fuzzy astfel obținut este mai bun decat cel din primul caz dar nu este foarte mulțumitor, suprareglajul și timpul de stabilizare sunt in continuare mari.

•In cazul al treilea avem doua intrari(eroare și deroare) și noua reguli, aici sistemul nu se comporta mai bine fața de sistemul cu doua intrari si trei reguli, are un timp de raspuns și un suprareglaj mai mare:

-timp de stabilizare mare

-suprareglaj mare

Prea multe reguli și o suprapunere a funcțiilor de apartenență nu cresc performanțele sistemului .

Performanțele sistemului cu regulator fuzzy nu sunt mai bune decat cu PID dar sunt in domeniul acceptabil deci sistemul poate functiona.

Regulatorul fuzzy este mai ușor de proiectat deoarece lucreaza intr-o interfața grafica cu variabile lingvistice.

În urma executării simulărilor cu fișiere de tip *.fis se observă că în general simulările

necesită mult timp iar în unele cazuri se produc chiar blocaje, în funcție și de configura-

tia calculatorului, de parametrii aleși pentru simulare și de parametrii sistemului de reglare. O metodă eficace de înlăturare a acestui aspect, fără însă a renunță la avantajul fundamental al sistemelor fuzzy, adică la reprezentarea lingvistică, este utilizarea tabelelor de cautare Look-Up Table.

=== Conducerea inteligenta a proceselor cu ajutorul tehnicilor fuzzy ===

CUPRINS

INTRODUCERE

Tema proiectului: „Conducerea inteligenta a proceselor cu ajutorul tehnicilor fuzzy.Aplicatie Matlab”

Am ales aceasta tema pentru lucrarea de licenta pentru urmarirea performantelor unui regulator clasic PID și a unuia FUZZY cat și pentru efectuarea unui studiu comparativ al performantelor celor doua tipuri de regulatoare.

Obiectivul acestei lucrari este de a proiecta un regulator pentru evidențierea performațelor acestuia, construit pe baza logici FUZZY, vom implementa regulorul astfel obținut în modelul SIMULINK al serei , pentru a face comparație între rezultatele obținute la modelara serei cu regulator clasic PID și rezultatele obținute cu regulator PID Mamdani .

Pentru realizarea proiectului am folosit Matlab (editorul fuzzy) , cu ajutorul căruia am implementat un sistem cu o intrare și o singura ieșire, respectiv un sistem cu 2 intrari și o singura ieșire. Dupa definirea regulatorului fuzzy ne ramane de implementat o schema in Simulink care sa foloseasca noul fișier *.fis creat .

Pentru studierea metodelor de conducere a echipamentelor de condiționare a atmosferei din interiorul serei este necesara modelarea pe calculator a comportării evoluției principalilor parametri ,temperatura și influența diferitelor pertubații :temperatura exterioară .

Modelul Simulink prin ajutorul careia modelăm sera cuprinde un sitem pentru temperatura.

Pentru o mai bună înțelegere a acestei teme și pentru familiarizarea rapidă cu elemente și limbajele tehnice, am structurat această lucrare în 4 capitole, în care am încercat să fac o viziune uniformă și generală asupra acestei ramuri a automatici, deoarece această ramură este într-o continuă expansiune și modernizare, și de aceea eu am încercat să o simplific și să o fac mai pe înțelesul tuturor, și a celor mai puțin familiarizați cu acest domeniu:

În Cap.1 Conducerea clasica a proceselor vs. Conducerea inteligenta – am încercat să prezint metodele ce pot fi folosite in descrierea unui sisitem, cat și generallitati despre conducerea inteligenta.

În Cap. 2 Tehnici de control clasice – am prezentat elementele care intră în componența unui SRA și anume: traductoare, regulatoare, elemente de execuție și elemente de referință și programare, prin prezentarea schemei tipică a unui SRA și apoi cu a scurtă clasificare a celor mai utilizate tipuri de regulatoare.

În Cap. 3 Tehnici de control fuzzy – am prezentat elementele de logica fuzzy și cum se realizeaza functionarea acestora.

În Cap.4 Conducerea inteligenta a proceselor cu ajutorul tehnicilor fuzzy – am prezentat problematica proiectului și anume cazul reglării temperaturii intr-o sera, felul în care se face reglarea clasica cat și cea fuzzy cat și rezultatele obtinute in urma simularilor.

CAPITOLUL I. CONDUCEREA CLASICA A PROCESELOR VS CONDUCEREA INTELIGENTA

CONDUCEREA CLASICA A PROCESELOR

Abordarea controlului traditional necesita modelarea realitatii fizice. Trei metode pot fi folosite in descrierea unui sistem:

1.1.Metoda experimentala:

Prin experimentarea și determinarea reactiilor procesului la diferite intrari se poate realiza un tabel de intrari și ieșiri. Grafic, metoda este echivalenta cu trasarea unor puncte discrete ale curbei de intrare-ieșire, folosind axele orizontale pentru intrare si cele verticale pentru ieșire. Prin intelegerea unei asemenea reactii de intrare-ieșire, se poate proiecta un controler. Exista cateva dezavantaje: echipamentul pentru acest proces poate sa nu fie disponibil pentru experimentare, procedura ar fi, de obicei, foarte costisitoare și pentru un numar mare al marimilor de intrare nu este practica masurarea ieșirilor și interpolarea acestora. De asemenea, trebuie avut grija sa se determine marja permisa a marimilor de intrare și ieșire, pentru a ne asigura ca valorile acestora nu ies din aria de masurare a instrumentelor disponibile.

1.2.Metoda matematica:

In inginerie se lucreaza dupa un model matematic ideal al procesului controlat, de obicei, cu formule de diferite ecuatii diferentiale. Transformanta Laplace și transformanta z sunt de obicei folosite. Pentru a face metodele matematice destul de simple, sunt facute anumite presupuneri, una dintre ele fiind aceea ca procesul este liniar, astfel incat, ieșirea este proportionala cu intrarea. Tehnicile liniare sunt valoroase pentru ca ele au ca rezultat o buna intuitie. Pe langa aceasta, nu exista o teorie generala de solutii analitice pentru un sistem dinamic neliniar. O alta presupunere este aceeea ca parametrii procesului nu se schimba in timp (sistemul este invariabil in timp) in ciuda deteriorarii componentelor sistemului și a schimbarilor de mediu inconjurator. Urmatoarele probleme apar in dezvoltarea unei descrieri realistice și pline de inteles a unui proces industrial: o intelegere mediocra a fenomenului, valori inexacte ale diferitilor parametri, complexitatea metodei.

1.3.Metoda euristica:

Aceasta metoda consta in modelarea și intelegerea in concordanta cu experienta anterioara, regula degetului mare des folositele strategii. O regula euristica este o implicatie logica de forma: DACA <conditie> ATUNCI <consecinta>, sau in situatia tipica de control: DACA<conditie> ATUNCI<actiune>. Reguliile asociaya concluziile cu conditiile. Prin urmare, metoda euristica este in realitate similara cu metoda experimentala a construirii unui tabel de intrari și ieșirile corespunzatoare unde in loc sa avem valori numerice fixe de intrare și variabile de ieșire, se folosesc valori fuzzy: DACA tensiunea de intrare =Mare ATUNCI tensiune de ieșire = Medie. Avantajele metodei euristice sunt: (1) nu este necesara presupunerea liniaritatii și (2) rgulile euristice pot fi integrate in strategiile de control ale operatorilor umani.

Strategiile de control fuzzy provin mai degraba din experiente și experimente decat din metode matematice și, prin urmare, relizarile lingvistice sunt mult mai rapid implementate. Srtategiile de control fuzzy implica un numar mare de intrari, mare parte dintre ele fiind relevante doar in anumite conditii. Astfel de intrari sunt activate numai cand conditii asemanatoare predomina. In acest fel, putine depașiri numerice aditionale sunt necesare pentru adaugarea de reguli suplimentare. Ca rezultat, regulile structurii de baza raman inteligibile, ducand la o documentare și codare eficiente a sistemului.

1.2. CONDUCEREA INTELIGENTA A PROCESELOR. REGLAJE FUZZY

In proiectarea sistemelor de reglare automata, un algoritm competitiv ar trebuii sa valorifice orice fel de informatie legata de procesal supus automatizarii. Pentru o larga categorie de probleme, o buna parte din informatie este detinuta de expertul uman. Aceasta informatie de obicei un este o informatie exacta, pentru descrierea acesteia dezvoltandu-se teoria sistemelor cu procesare fuzzy a informatiei. Apare astfel necesara incorporarea informatiei lingvistice de la expertul uman intr-o maniera sistemica astfel incat asupra sistemului rezultat sa poata fi analizat din punct de vedere al performantelor.

O alta parte a informatiei este informatia numerica obtinuta de la senzori sau conform cu legile fizice care desciu procesal. Intre aceste doua tipuri de informatie exista Mari diferente, astfel informatia numerica este supusa legilor fizicii sau axiomelor matematicii, inexistente pentru informatia lingvistica. Astfel sups legile care guverneaza informatia lingvistica sunt fundamental diferite de legile care guverneaza informatia numerica. Exista doua lumi: humea física și humea umana, și cum interactiunea om-mașina este in continua crestere tot mai multe sisteme ingineresti apartin intersectiei aceptor doua lumi.

Conceptual sistemele fuzzy adaptive combina informatia lingvistica cu informatia numerica astfel: deoarece sistemul fuzzy este construit in principiu dintr-un set de reguli “Daca-Atunci” , informatia lingvistica va fi direct incorporata in baza de reguli; pe de alta parte informatia numerica continuta de perechile intrare-ieșire este incorporata antrenand sistemul conform datelor masurate de la proces,conform algoritmului de antrenare. Sistemul adaptiv poate fi vazut ca un sistem logia fuzzy ale carui set de reguli sunt generate Automát. Conform setului de antrenare.

Un reglaj fuzzy este reprezentat de o asociere de functii definite de universul de discutie. Universul de discutie este spatiul unde variabilele fuzzy sunt definite. Asocierea de functii da gradul sau marimea asocierii din interiorul setului.asocierea de functii organizeaza sub forma de harta elemente ale universului spre valori numerice in intervalul [0, 1]. O functie asociata cu valoarea zero implica faptul ca elementul corespunzator, in mod sigur, nu este un element din setul fuzzy, in timp ce valoarea unitatii inseamna ca elementul apartine in totalitate setului. Un grad de asociere in interval corespunde cu asocierea fuzzy in set. In teoria fixa a setului, daca cineva este mai inalt de 1,8 metri, putem afirma ca acea persoana apartine “grupului de oameni inalti”. Cu toate acestea, aceasta fina schimbare de la 1,7999 metri pentru o “persoana scunda” pana la 1,8001 metri ai unei “persoane inalte” este impotriva bunului simt. Prin urmare in situatiile practice exista intotdeauna o confuzie naturala cand cineva analizeaza afirmatii, pe cand o curba regulata asociata descrie, de obicei, mai bine gradul de apartenenta a unui element la un grup.

Sistemele de conducere cu modele și algoritmi fuzzy sunt mai flexibile decat sistemele convventionale, deoarece modificare regulilor de deductie a marimii de comanda se poater face prin adaugarea de noi variabile lingvistice, fiind deci mai elastice in proiectare. Deoarece proiectarea sistemelor de conducere cu regulatoare cu logica fuzzy (RLF) nu se face pentru un model dat al procesului și nici pentru anumite valori ale parametrilor acestuia, rezulta ca aceste sisteme sunt mai robuste, avand performantele acceptabile intr-o gama relativ larga de variatie a parametrilor procesului. Insa sistemele de conducere cu RLF sunt mai greu de proiectat pentru cazul cand sunt mai mult de doua intrari sau atunci cand acesta are mai multe marimi de comanda, ceea ce se impune in cazul proceselor multivariabile.

Majoritatea produselor comerciale fuzzy sunt sisteme bazate pe reguli care primesc informatii curente in bucla de feedback de la un dispozitiv in timp ce acesta lucreaza și controleaza operatii de la un dispozitiv mecanic sau de alt tip. Un sistem logic fuzzy are patru blocuri, dupa cum se arata in figura 2. Informatie de intrare fixa este convertita

intr-o valoare fuzzy pentru fiecare grup de intrare fuzzy cu blocul de fuzzificare. Universul discutiei variabilelor de intrare determina scalarea ceruta pentru operatia corecta per unitate. Scalarea este foarte importanta pentru ca sistemul fuzzy poate fi recalibrat cu alte dispozitive sau șiruri de operatii doar prin schimbarea scalarii de intrare și ieșire. Logica de luare a deciziilor determina modul in care operatiile logicii fuzzy sunt efectuate, și impreuna cu cunostintele de baza determina randamentul fiecarei reguli fuzzy DACA-ATUNCI. Acestea sunt combinate și convertite in valori fixe cu blocul de defuzzificare. Valoare fixa a randamentului poate fi calculata de centrul de gravitate sau de greutatea medie.

Fig.1

In scopul de a procesa intrarea pentru a obtine rationamentul de ieșire deosebim sase pași implicati in crearea unei reguli pe care se bazeaza un sistem fuzzy:

identificarea intrarilor și a intervalelor lor, precum și numirea lor

identificarea ieșirilor și a intervalelor lor, precum și numirea lor

crearea unui grad de functii de asociere fuzzy pentru fiecare intrare și ieșire

construirea de reguli de baza, dupa care sistemul va opera

deciderea modului cum actiunea va fi executata prin atribuirea de forta regulilor

combinarea de reguli și defuzzificarea ieșirii

CAPITOLUL II.TEHNICI DE CONTROL CLASICE

Automatica studiaza principiile și aspectele prin intermediul carora conducerea proceselor tehnice poate fi realizata fara interventia directa a omului.

Ansamblul format din dispozitia de automatizare și instalatia tehnologica este denumit sistem de automatizare.

Reglarea are sarcina de a aduce și mentine o marime fizica dintr-un proces tehnologic la o anumita valoare.

Aceasta marime fizica se numeste marime reglata.

Valoarea la care trebuie adusa marimea reglata se numeste marime de referinta sau marime precisa.

Un proces este o desfasurare spre un scop sau un obiectiv daterminat care are loc intr-o institutie tehnologica și care se efectueaza ca urmare a unor interventii exterioare voite, interventii care compenseaza și efectul perturbatiilor.

Intr-o reglare, marimea reglata este comparata și masurata cu marimea de referinta.

Daca diferenta dintre cele doua marimi este ≠ 0, se efectueaza o corectare in procesul reglat cu scopul anularii ei, adica pentru a se obtine o egalitate in marimea reglata și marimea precisa.

Cand acesta reglare este facuta de un operator, reglarea se numeste manuala; daca operatiile respective sunt efectuate numai de dispozitive prevazute in acest scop, reglarea este automata.

Tehnica reglării automate este o componenta fundamentala a automatizarii proceselor tehnologice și are ca scop realizarea reglării, cu eliminarea interventiei directe a operatorului uman. Esenta sarcinii reglării este de a aduce anumite marimi din procesul tehnologic (temperaturii, presiuni, turatii, etc.) la valori precise și de a le mentine la aceste valori, prin eliminarea sau atenuarea efectului peturbatiilor.

a

R + ε sau m y

– u

Fig.2 Structura generala a unui SRA

unde:

Regulatorul automat (RA) – efectuează anumite operații asupra mărimii ε primită la intrare, respectiv are rolul de a prelucra această mărime după o anumită lege, numită lege de reglare, rezultatul fiind mărimea de comandă Xc aplicată elementului de execuție;

Elementul de execuție (EE) – intervine în funcționarea instalației tehnologice pentru corectarea parametrilor reglați conform mărimii de comandă transmise de RA;

Instalația tehnologică (IT) – este, în cazul general, un sistem supus unor acțiuni externe numite perturbații și acțiunii comenzii generate de RA, a cărui mărime de ieșire este astfel reglată conform unui program prescris;

Traductorul (Tr) – transformă mărimea de ieșire a IT, de regulă într-un semnal electric aplicat EC; este instalat pe bucla de reacție negativă a SRA.

Marimile de proces sunt:

R – referinta

ε – eroare

a – comanda pentru elementul de actionare

m – masura (comanda elaborata de organul de reglare)

y – marimea de ieșire, poate fi una din marimile fizice:

-nivel, temperatura

-presiune, turatie

-debit, pozitieatie

-concent

2.1.Principalele tipuri de controllere clasice

Cele mai utilizate tipuri de regulatoare cu structura fixa sunt:

P(Proportional)

(1)

PI(Proportional-Integrativ)

(2)

PID(Proportional-Integrativ-Derivativ)

(3)

Acordarea unui regulator inseamna a determina constantele , sau pe care regulatorul le contine, astfel incat performantele sistemului in bucla inchisa sa fie cele dorite(impuse).

2.1.1.Regulator cu actiune proportionala (P)

La acest regulator, intre marimea de intrare ε (t) și cea de comanda u(t ) se stabileste o relatie de proportionalitate : unde este factorul de amplificare al regulatorului.

Fig.3 Regulatorul proportional: a) varianta treapta la intrare a regulatorului proportional

b) respunsul la intrarea treapta a regulatorului proportional

Uneori, in locul factorului de amplificare KR se foloseste o constanta denumita banda de proportionalitate a regulatorului, notata BP. Cand domeniul de variatie al erorii ε este egal cu domeniul de variatie al marimii de comanda u (regulatoare unificate), domeniul de proportionalitate se determina din relatia:

[%] (4)

Daca domeniile de variatie intrare-ieșire difera, domeniul de proportionalitate este dat de relatia:

[%]. (5)

Banda de proportionalitate reprezinta procentul din domeniul ε pentru care regulatorul P produce o comanda egala cu 100 % din domeniul u.

Regulatoarele sunt prevazute prin constructie cu posibilitatea ajustarii, intr-o gama larga, a factorului BP (ex. 2…200%).

2.1.2.Regulator cu actiune proportional- integrala (PI)

Acest tip de regulator reprezinta o combinatie intre un regulator proportional și unul integral. Legea de reglare a regulatorului PI contine un termen care reprezinta actiunea proportionala P și un termen care asigura efectul integrator:

sau (6)

cu constanta de timp de integrare ( = Ti *).

Prima forma reprezinta tipul legii de reglare realizate de majoritatea regulatoarelor PI industriale.

Fig.4 Regulator de tip PI

a) variatia treapta a intrarii b) raspunsul la treapta al ieșirii regulatorului de tip PI

2.1.3.Regulator cu actiune proportional – derivativa (PD)

Un astfel de regulator introduce o componenta proportionala, similara cu aceea a regulatorului PI și o componentaa derivativa D ultima componenta introducand o proportionalitate intre marimea de ieșire u și derivata in timp a marimii de intrare, ε .

Legea de reglare PD se exprima prin:

sau (5)

Coeficientul se numeste constanta de timp de derivare a regulatorului. In unele constructii de regulatoare, modificarea lui modifica astfel incat produsul * ramane constant.

Prin utilizarea unui regulator PD se reduce durata regimului tranzitoriu.

Fig. 5 Regulator de tip PD

a) variatia treapta a intrarii b) raspunsul treapta al ieșirii a regulatorului PD

2.1.4.Regulator cu actiune proportional – integral – derivativa (PID)

Regulatoarele PID sunt unele din cele mai complexe regulatoare industriale, asigurand performante de reglare superioare.Ele inglobeaza efectele proportional P, integral I și derivativ D expuse mai sus, conform legii de reglare:

sau (6)

Fig. 6 Regulatorul de tip PID: a) variatia la treapta a intrarii ; b) raspunsul la treapta al ieșirii regulatorului de tip PID

Regulatoarele PID, de constructie mai complexa decat cele de tip P, PI, PD au trei parametri ce pot fi acordati: , și .

Rezumat

2.2.PERFORMANTELE DE REGLARE SRA

2.2.1.Performanțe TRANZITORII (REGIMUL DINAMIC)

● performanțele sunt apreciate în funcție de eroarea dinamică (abaterea dinamică) ε(t) pe întreaga perioadă, din momentul apariției până la stabilizare ;

● sistemele SRA pot fi comparate între ele după precizia reglării în regim dinamic, deci în funcție de răspunsurile lor la un semnal treaptă unitară (răspunsuri indiciale);

● calitatea reglării poate fi apreciată în funcție de următorii indicatori de performanță:

suprareglajul σ – indică valoarea maximă cu care mărimea reglată depășește mărimea de referință Xo = Xe.st (primul maxim al mărimii reglate); σ = Xe.max – Xe.st

La sistemele stabile, cu evoluția regimului tranzitoriu de forma I, oscilațiile sunt amortizate și suprareglajul este σ ≠0 (primul maxim, prima depășire a valorii staționare), iar la sistemele cu regim tranzitoriu aperiodic, de forma II , suprareglajul este nul : σ = 0.

Performanța impusă suprareglajului are aspectul unei condiții de limitare, de forma :

σ ≤ σimp [exprimată în %]. (7)

Valoarea maximă impusă sau maximă admisibilă a suprareglajului σimp depinde de tipul instalației tehnologice și al procesului care se desfășoară în această instalație ; depășirile mari ale valorii staționare duc la suprasolicitarea instalației și, în final, la deteriorarea acesteia.

timpul de răspuns (reglare) tr – indică valoarea duratei regimului tranzitoriu și reprezintă intervalul de timp dintre momentul inceputului procesului tranzitoriu și momentul în care valoarea absolută a diferenței Xe – Xe.st scade sub o valoare limită fixată

Durata regimului tranzitoriu exprimă timpul în care eroarea ε(t) scade sub 5% din valoarea mărimii de referință Xo (sau a valorii staționare Xe.st).

Xe – Xe.st ≤ ± 5% Xe.st (8)

Pentru asigurarea rapidității necesare desfășurării procesului de reglare, pentru timpul de răspuns se impune o performanță (valoare limită a tr) de forma:

tr ≤ tr.imp (9)

Valoarea maximă impusă timpului de răspuns tr.imp este valoarea maximă admisibilă și depinde de tipul instalației tehnologice și al procesului care se desfășoară în această instalație ;

– timpul de creștere tc, este definit ca raportul dintre Xe.st și panta în punctul de inflexiune, sau ca timpul în care răspunsul crește de la 5% la 95% din Xe.st .

– gradul de amortizare , este definit prin raportul 1/2 , unde 1 și 2, reprezintă prima, respectiv a doua trecere prin maximul local al răspunsului indicial.

2.2.2.Performanțe staționare

– în regim staționar, mărimile din șistem sunt constante

– principalul indice de performanță în regim staționar este eroarea staționară

Calitatea reglării automate este exprimată prin precizia cu care SRA asigură menținerea mărimii de referință la valoarea prescrisă, indiferent de acțiunea perturbațiilor ;

Fig.7 Variația în timp a erorii ε(t) la variația treaptă a mărimii de referință

Între mărimea reglată Xe(t) și mărimea de referință Xo(t) există o diferență numită abatere dinamică ε(t).

La infinit, eroarea dinamică se anulează și sistemul intră în regim staționar. Pentru unele SRA, ε(t) nu se anulează total, existând în regim staționar o abatere permanentă, numită eroare staționară a SRA.

Deoarece în regim staționar mărimile din sistem sunt constante, derivatele lor sunt nule și acest regim se stabilește teoretic la infinit, deci eroarea staționară este eroarea ε(t)

pentru t ∞:

lim ε(t) = lim Xi (t) – lim Xe (t) (10)

t t t

atunci, eroarea staționară devine : εst = Xi – Xe.st

unde : Kr = factorul de amplificare al dispozitivului de prescriere a mărimii de

referință

K0 = factorul de amplificare al SRA

Xe = Kr*K0*X0 (11)

unde:

Ecuația caracteristicii statice fiind :

eroarea staționară devine:

εst = (12)

– eroarea staționară poate fi modificată prin factorul de amplificare pe cale directă K, ce duce la micșorarea erorii; factorul de amplificare se poate modifica, modificând Kra:

– dacă SRA conține pe cale directă un element integrator atunci eroarea staționară a sistemului este nulă; pentru ca sistemul să funcționeze cu eroarea staționară nulă, se utilizează de regulă un SRA de tip PI.

Performanța staționară impusă unui sistem de reglare este de forma :

εst = 0 (13)

sau, prin raportare la valoarea Xe.st , poate fi de forma:

εst ≤ εst.imp [exprimată în %] (14)

unde εst.imp este valoarea impusă erorii staționare, maxim admisibilă din considerente legate de buna desfășurare a procesului tehnologic automatizat

CAPITOLUL III. TEHNICI DE CONTROL FUZZY

3.1.ELEMENTE DE LOGICA FUZZY

Una dintre metodele aparținând conceptului de inteligență artificială (engl. Artificial

Intelligence) , cu largă aplicabilitate în conducerea automată, care s-a impus tot mai mult

în ultimii ani, este conducerea fuzzy (Fuzzy Logic Control – FLC sau Fuzzy Co€ntrol – FC),

bazată pe utilizarea teoriei mulțimilor fuzzy (engl. Fuzzy Sets) și a logicii fuzzy (engl.

Fuzzy Logic). pot fi aplicate și în alte scopuri, cum ar fi modelarea unor sisteme

caracterizate de incertitudine, luarea unor decizii pe baza unor informații incerte, etc.

Sistemele care includ și se numesc sisteme fuzzy.

Dintre caracteristicile esențiale ale sistemelor fuzzy cele mai importante sunt următoarele:

♦ Funcționarea lor se bazează pe un set de reguli de conducere de tipul celor utilizate în

sistemele expert :

dacă < premiză > atunci < concluzie >

♦ Cunoștințele despre sistem se modelează cu ajutorul variabilelor lingvistice , de exemplu:

temperatură mare, debit mediu, presiune scăzută etc. Această reprezentare a variabilelor

sistemului este foarte familiară modului de gândire uman și permite abordarea unor sisteme

foarte complexe sau greu de definit în termeni matematici preciși.

♦ Comportarea unui FLC este de obicei mai puțin precisă și riguroasă decât cea a sistemelor

bazate pe algoritmi clasici cum ar fi sistemele PID. Acest dezavantaj este însă compensat

în multe aplicații de comportarea mai bună a FLC din punct de vedere dinamic și al indicatorilor globali de calitate ai sistemului.

♦ Aprecierea performanțelor și validarea unui sistem FLC pot fi obținute de obicei numai

după realizare efectivă a sistemului și încercări, sau în cel mai bun caz, prin simulare pe calculator.

Prin apelarea la sisteme fuzzy elaborarea legilor de reglare devine extrem de flexibilă și de versatilă. Se pot obține cu ușurință legi de conducere performante chiar și în cazul sistemelor neliniare sau a sistemelor care nu pot fi modelate matematic intr-un mod satisfăcător. La stabilirea legii de reglare pot participa operatori umani sau experți care au experiență în cazul procesului care se dorește a fi condus, fără însă a fi necesar ca ei să dețină cunoștințe referitoare la automatizări sau la sistemele fuzzy. Se pot include în baza de reguli de conducere reguli cu obiective diferite, cum ar fi optimizarea unor indicatori referitori la precizia reglări, la comportarea dinamică, la economicitatea, la siguranța sistemului, etc.

Durata proiectării și validării unui sistem fuzzy este în general mai mică decât în cazul altor metode de conducere.

Pentru Funcția de apartenență se pot folosi diferite forme, cele mai uzuale dintre ele fiind prezentate în figura următoare.

μ(x) triunghi trapez curba „S” curba” Π” dreptunghi singleton

x

Fig.8 Forme folosite pentru Funcții de apartenență

În tabelul următor sunt prezentate analitic principalele forme utilizate pentru functii de apartenta.

Tabelul 1. Funcții de apartenență fuzzy

Dreptunghiul și singleton-ul nu sunt de fapt proprii conceptului fuzzy, dar ele se întâlnesc destul de frecvent în aplicații, asociate cu alte variabile fuzzy. De exemplu, mărimea de comandă de la ieșirea unui controler fuzzy având la ieșire un actuator cu stări discrete se

poate reprezenta ca o multimi fuzzy alcătuită din elemente de tip singleton, adică o colecție de perechi de valori discrete xi – μ(xi).

Când aplicația necesită o precizie și o sensibilitate mare se apelează de obicei la

curbele de tip Gauss (“Λ“ sau “Π”) care au și avantajul de a putea fi corelate cu mărimile

probabilistice. În principiu se pot utiliza orice altă formă sau combinație de forme uzuale. În

marea majoritatea a aplicațiilor se constată însă că cele mai des utilizate forme sunt cele

triunghiulară și trapezoidală, mai ușor de reprezentat și necesitând un volum mai mic de

calcule și de memorie.

Alegerea formelor simple de funcții de apartenență este justificată și prin constatarea des menționată în literatura de specialitate că esențiale în aplicații sunt suportul și toleranța unei multimi fuzzy, forma flancurilor funcțiilor de apartenență având un efect mai redus asupra rezultatelor obținute.

3.2.Poiectare sistemelor cu regulator fuzzy

Calculul fuzzy se caracterizeaza prin faptul ca permite manipularea conceptelor vagi care nu pot fi modelate prin concepte matematice exacte (numerice, multimi sau functii clasice), Problemele in care intervin concepte vagi apar in teoria controlului cand sistemele au caracter neliniar iar starile lor nu pot fi descrise in mod exact ci doar prin enunturi care au un grad de ambiguitate. Sa consideram spre exemplu un sistem de reglare a temperaturii intr-o sera.

In general, un sistem fuzzy este construit din:

■ un subsistem de extragere a regulilor fuzzy pornind de la datele problemei(etapa de fuzificare);

■ un subsistem de efectuare a inferentelor fuzzy(etapa de rationament);

■ un subsistem de transformare a cunostintelor fuzzy in date efentive( etapa de defizzificare).

Pentru obtinerea iesirii din regulatorul fuzzy sunt necesari urmatorii pași: fuzzificare, inferenta și defuzificare. In figura este prezentata schema generala a unui regulator de tip Mamdami.

Regulatorul fuzzy

Fig.9 Scema generala a unui regulator Mamdami

3.2.1.Fuzzificarea

Fuzzificarea este un process de descompunere a a sistemului de intrare și/sau iesire in unul sau mai multe grupuri fuzzy. Multe tipuri de curbe pot fi folosite, dar functiile asociate de forma triunghiulara sau trapezoidale sunt cele mai comune pentru ca ele sunt usor de reprezentat in controlerele integrate. Figura 1. arata un sistem de semnale fuzzy pentru o intrare cu functii asociate trapezoidale și triunghiulare. Fiecare semnal fuzzy acopera o regiune a valorii de intrare (sau iesire) reprezentata grafic printr-o asociere. Fiecare intrare din acest grup fuzzy este reprezentata și un grad de asociere este interpretat. Functiile asociate ar trebui sa se suprapuna partial pentru a permite reprezentarea grafica regulata a sistemului. Procesul de fuzzificare permite intrarilor și iesirilor sistemului sa fie exprimate in temeni lingvistici astfel incat regulile pot fi aplicate intr-o maniera simpla pemtru a exprima un sistem complex.

Sa presupunem o implementare pentru un sistem de aer conditionat cu un senzor de temperatura. Temperatura poate fi obtinuta de un microprocesor care are un algoritm fuzzy care proceseaza o ieșire cu un control continuu a vitezei unui motor ce mentine camera intr-o „temperatura buna”, poate, de asemenea, directiona o evacuare orientata in sus, sau in jos, dupa caz. Figura ilustreaza procesul de fuzzificare a temperaturii aerului. Sunt cinci reglaje fuzzy pentru temperatura: RECE, RACOARE, BINE, CALD și FIERBINTE.

Fig.10 Functiile de apartenenta trapezoidale și triunghiulare

Functiile asociate pentru reglajele fuzzy RACOARE și CALD sunt trapezoidale, functia asociata pentru BINE este triunghiulara si functiile asociate pentru RECE si FIERBINTE sunt pe jumatate triughiulare indicand la baze limitele fizice pentru un asemenea proces (a sta intr-o camera cu o temperatura sub 8 grade Celsius sau peste 32 grade Celsius ar fi cat se poate de incomfortabil).

Modul de a proiecta astfel de reglaje fuzzy este o problema de pregatire și depinde exclusiv de experienta și intuitia proiectantului. Mai mult ca sigur un eschimos și un locuitor din zona ecuatoriala ar trasa functii asociate foarte diferite pentru aceleasi reglaje fuzzy. Figura arata cateva reglaje fuzzy nesuprapuse partial, care pot indica orice neliniaritate in procesul de modelare. Acolo o temperatura de intrare de 18 grade Celsius ar fi considerata RACOARE cu o crestere de 0,75 grade și af fi considerata buna cu o crestere de 0,25 grade. Pentru a construi regulile care vor controla motorul instalatiei de aer conditionat, am putea urmari cum un expert ar regla viteza motorului astfel incat aceasta sa scada sau sa creasca, in concordanta cu temperatura, obtinand empiric regulile. Daca temperatura camerei este buna, mentine viteza motorului medie, daca este cald, roteste butonul de reglare a vitezei pe rapid, și daca este fierbinte, creste viteza. Pe de alta parte, daca temperatura este racoroasa, incetineste viteza și opreste motorul daca este rece. Aceasta este frumusetea logicii fuzzy: a transforma bunul simt, descrierile lingvistice intr-un sistem controlat de calculator. Asadar, este necesar sa intelegem cum sa folosim cateva operatii logice pentru a construi reguli.

Operatiile logice boolene trebuie sa fie extinse in logici fuzzy pentru a manevra notiunea de partial adevarat – valori adevarate intre intervalul „complet adevarat” și „complet fals”. Natura fuzzy a unei afirmatii de genul „X este JOS” poate fi combinata cu afirmatia fuzzy „Y este INALT” și o operatie logica tipica poate fi data astfel X este JOS și Y este INALT. Care este valoarea de adevar a acestei operatii? Operatiile logice cu reglaje fuzzy se executa cu functii asociate. Deși exista variate interpretari ale operatiilor logice fuzzy, urmatoarele definitii sunt foarte convenabile in aplicatiile cu controlere integrate:

Adevar(X și Y)=min(adevar(X), adevar(Y))

Adevar(X sau Y)=max(adevar(X), adevar(Y))

Adevar(nu X)=1,0-adevar(X)

3.2.2.Inferenta

Inferența max-min

Acest tip de inferență utilizează pentru implicație operatorul minimum, adică:

Mij=min(ai.bj). Dacă avem mulțimile A și B, se poate astfel afla M.

Să presupunem că avem următoarea regulă fuzzy: .Dacă presiunea este mare, atunci

volumul este mic., .Presiunea este mare. este reprezentată de mulțimea fuzzy A = 0/1 + 0,2/3 +0,7/6 + 1/10 iar .Volumul este mic. de mulțimea fuzzy B = 1/1 + 0,6/10 + 0/50.

În matricea Mij=min(ai.bj). :

(15)

Să considerăm în continuare o submulțime A’, cu un singur element în suport, adică o

singură valoare, strictă, obținută de exemplu printr-o măsurare: A’ = 0/1 + 0/3 + 0,7/6 + 0/10.

Submulțimea indusă în B, B’ se calculează astfel: bj’ max(min(ai ’ ,mij )).

(16)

Această mulțime este o variantă .retezată. a lui B, la înălțimea fixată de A’.

Inferența max-produs

Acest tip de inferență utilizează pentru implicație operatorul produs, adică: .ij i j m a b

Pentru exemplul de mai sus:

(17)

(18)

Această mulțime este o variantă scalată a lui B, în care înălțimea este fixată de A’.

Inferențe cu premise multiple

De multe ori în practică apar situații în care o concluzie trebuie extrasă din premise multiple, cum ar fi .Dacă A și B, atunci C.. Dacă știm A’ și B’, mulțimile induse de acestea în C se calculează mai întâi independent, prin max-min sau max-produs, și apoi se combină:

CA’=A’ MAC

CB’=B’ MBC (19)

C”=C’ ^ CB’

3.2.3.Defuzificarea

Dupa rationamentul fuzzy avem o variabila lingvistica de ieșire care trebuie sa fie transformata intr-o valoare fixa. Obiectivul este de a deriva o singura valoare numerica fixa care reprezinta cel mai bine valorile fuzzy inchise de variabilele lingvisice de ieșire. Defuzzificarea este transformarea inversa care arata ieșirea din domeniul fuzzy direct in domeniul fix. Unele metode de defuzzificare tind sa produca o ieșire integrala luand in considerare toate elementele rezltatelor reglajelor fuzzy cu importanta corespunzatoare. Alte metode iau in considerare doar elementele corespunzand punctajelor maxime in rezultatele functiilor asociate.

Urmatoarele metode de defuzzificare au o importanta practica:

● Center-of-Area (C-o-A) – aceasta metoda se refera la metoda Center-of-Gravity

(centrul de gravitate), pentru ca evalueaza centroidul ariei compuse reprezentand termenul fuzzy de ieșire.

● Center-of-Maximum (C-o-M) – in cadrul acestei metode sunt folosite doar varfurile functiilor asociate. Valoarea compromisa a defuzzificarii fixe este determinata de gasirea locului unde greutatile sunt in echilibru. Astfel aria functiilor asociate nu joaca nici un rol, doar varfurile sunt utilizate. Ieșirea fixa este evaluata ca un sens incarcat al temenului de asociere maxima, incarcat de implicatia rezultatelor.

● Mean-of-Maximum (M-o-M) – metoda este folosita in cateva cazuri in care abordarea C-o-M nu functioneaza. Acest lucru se intampla ori de cate ori maximul fumctiilor asociate nu sunt unice și intrebarea este care dintre alternativele egale ar trebui sa alegem.

Teoria mulțimilor fuzzy este cea mai generală teorie a incompletitudinii formulată până în prezent. Logica fuzzy oferă posibilitatea de a reprezenta și raționa cu cunoștințe comune, formulate în mod obișnuit și de aceea și-a găsit aplicabilitatea în numeroase domenii. Termenii și regulile vagi pot fi reprezentate și manipulate cu ajutorul calculatorului, caracteristică foarte valoroasă în domeniul ingineriei bazelor de cunoștințe, unde cunoștințele experților sunt formulate de obicei în limbaj obisnuit. Logica fuzzy are o valoare deosebită și în aplicațiile de control automat unde este dificil sau imposibil de dezvoltat un sistem de control tradițional.

CAPITOLUL IV. Conducerea inteligenta a proceselor cu ajutorul tehnicilor fuzzy.

Problematica proiectului

Vom prezenta in cele ce urmeaza cazul reglării temperaturii intr-o sera cu ajutorul tehnicilor fuzzy și a instrumentelor dedicate pe care Matlab-ul, prin Fuzzy System Toolbox le ofera. Intr-o prima faza, am utilizat un senzor de temperatura pentru a inregistra valorile temperaturii in interiorul serei de-a lungul unei anumite perioade de timp. In urma analizei datelor achizitionate s-a constatat faptul ca sistemul supus analizei este liniar și functionarea sa poate fi aproximata cu ajutorul functiei de transfer:

H(s) = (20)

și are o intarziere egala cu 1s. In scopul reglării temperaturii, avem ca și elemente de executie:un ventilator și un element de incalzire. Temperatura de referinta este de C.

Temperatura exterioara este de -C și are efect la nivelul elementului de integrare.

Parametrii sistemului supus simularii sunt:

intrarea de referinta reprezentant temperatura dorita in interiorul serei (de tip treapta) este de C.

Temperatura externa este de -C;

Conditia initiala de integrare a elementului de integrare este de 10;

Limita inferioara de saturatie a elementului de integrare este de 10;

Intarzierea sistemului este de 1s.

Scopul aplicatiei noastre este de a realiza un studiu comparativ al performantelor de reglare a regulatoarelor clasice de tip PID și a controlere fuzzy integrate in sisteme de reglare automata.

4.1. Reglare PID

4.1.1.Modelarea SRA cu regulator PID utilizand Simulink

4.1.2.Crearea modelelor SIMULINK

Tehnica de creare a unor modele SIMULINK poate fi ilustrată cel mai bine prin exemple.

Modelul prezentat în continuare integrează un sinus și afișează atât rezultatul cât și unda sinusoidală de la intrare. Schema bloc a modelului este următoarea:

Figura 11. Tehnica de creare a unor modele SIMULINK

Pentru a genera modelul se tastează mai întâi simulink în fereastra de comandă MATLAB. Pe sistemele de operare de tip Windows va apare Browser-ul bibliotecilor SIMULINK.

Figura 12. Browser-ul bibliotecilor SIMULINK

Pe sistemele UNIX, va apare fereastra bibliotecilor SIMULINK.

Figura 13. Browser-ul bibliotecilor SIMULINK- Unix

Pentru a genera un model nou pe sisteme UNIX se selectează Model din submeniul New al meniului File. Pe sisteme Windows se selectează butonul New Model din bara de instrumente a Browser-ului de Biblioteci. Simulink va deschide o fereastră pentru un model nou.

Pentru construcția modelului vor fi necesare blocuri din următoarele biblioteci Simulink:

Biblioteca de surse (blocul Sine Wave)

Biblioteca de receptoare (blocul Scope)

Biblioteca de sisteme continue (blocul Integrator)

Biblioteca Signals & Systems (blocul Mux)

Fereastra Browser-ului de biblioteci va arăta astfel:

Figura 14. Bibliotecile Simulink

Pentru copierea blocului Sine Wave se utilizează Browser-ul de bibiloteci: întâi se expandează arborele de biblioteci (prin click pe nodul Simulink și apoi click pe nodul surse) astfel încât să fie afișate blocurile din biblioteca de surse. Apoi se selectează blocul Sine Wave (click).

La pasul următor se trage (ținând apăsat butonul din stânga al mouse-ului) blocul Sine Wave din browser și i se dă drumul în fereastra modelului. Simulink va face o copie a blocului Sine Wave în punctul indicat.

Se poate proceda asemănător pentru copierea blocului Sine Wave din biblioteca de surse deschisă din fereastra de biblioteci Simulink (pe sisteme Windows se poate deschide fereastra de biblioteci din Browser prin click din butonul drept al mouse-ului și apoi click pe Open Library).

Figura 15. Selectarea blocului Sin Wave

Ca și în cazul utilizării browser-ului se trage blocul Sine Wave din biblioteca de surse în fereastra modelului (drag and drop). Se procedează în mod asemănător și cu copierea celorlalte blocuri din bibliotecile corespunzătoare în fereastra modelului. Se poate deplasa cu ușurință orice bloc prin tragerea cu mouse-ul sau prin selectare și deplasare cu tastele săgeți.

La o examinare atentă a simbolurilor de reprezentare a blocurilor se vor observa săgeți care indică intrările sau ieșirile din blocuri: dacă simbolul > este orientat spre ieșirea blocului atunci este un port de ieșire (output port) iar dacă simbolul este îndreptat spre bloc este un port de intrare (input port). Un semnal circulă de la un port de ieșire al unui bloc spre un port de intrare al altui bloc printr-o linie de conectare, Atunci când blocurile sunt conectate, simbolurile porturilor dispar.

Figura 16. Identificarea porturilor de intrare- ieșire a obiectelor din Simulink

Pentru conectarea blocurilor se trece întâi la conectarea blocului Sine Wave la prima intrare (de sus) a blocului Mux. Pentru aceasta se poziționează pointerul mouse-ului deasupra portului de ieșire al blocului Sine Wave. În acest moment forma pointerului se schimbă și devine de tip cruce (cursor).

Se ține apăsat butonul stânga al mouse-ului și se deplasează cursorul până la intrarea de sus a blocului Mux. Urmează eliberarea butonului mouse-ului și se observă cum blocurile au fost conectate.

În afara liniilor care conectează ieșirile unor blocuri la intrările altora există și linii de branșare a unor linii la intrările unor blocuri (se poate observa în modelul prezentat inițial). O astfel de linie este utilizată pentru conectarea ieșirii din blocul Sine Wave și la blocul Integrator (există deja conexiunea la blocul Mux).

Pentru a efectua această conexiune se procedează astfel:

1. Se poziționează pointerul pe linia dintre blocurile Sine Wave și Mux.

2. Se apasă și se ține apăsată tasta Ctrl. Se apasă butonul mouse-ului și apoi se trage până la intrarea în blocul Integrator sau până deasupra acestui bloc.

3. Se eliberează butonul mouse-ului și se observă cum apare o linie de branșare până la portul de intrare în blocul Integrator.

Se procedează conform indicațiilor și se efectuează toate conectările necesare. Modelul va trebui să arate în final astfel:

Figura 17. Modelul Simulink asociat problemei

4.1.3.Rularea simulărilor în SIMULINK

După încheierea procedurii de construcție a modelului, trebuie rulată o simulare pentru aprecierea corectitudinii modelului și pentru obținerea rezultatelor cerute.

Pentru aceasta se deschide mai întâi blocul osciloscopului (Scope), pentru a vizualiza evoluția mărimilor modelului. Păstrând fereastra osciloscopului deschisă se va seta Simulink pentru rularea unei simulări timp de 10 secunde. Pentru aceasta, parcurgem următorii pași:

1. Setăm parametrii simulării prin alegerea submeniului Parameters din meniul Simulation. În fereastra de dialog care apare vom seta parametrul Stop time la 10.0 (valoare implicită).

2. Închidem fereastra de dialog Simulation Parameters prin click pe butonul Ok. Simulink va aplica parametrii și va închide fereastra de dialog.

Figura 18. Stabilirea parametrilor simularii

3.Se selectează Start din meniul Simulation și se observă curbele afișate în fereastra osciloscopului.

Figura 19. Vizualizaea raspunsului sistemului simulat

4.Simularea se va opri atunci când se ajunge la finalul timpului de rulare indicat în fereastra de dialog Simulation Parameters sau la selectarea opțiunii Stop din meniul Simulation (sau din bara de instrumente).

Pentru salvarea modelului se alege Save din meniul File și se introduce un nume de fișier și se alege directorul unde dorim să salvăm modelul (fișierul va avea automat extensia .mdl).

Pentru încheierea lucrului se selectează Exit MATLAB sau se tastează quit în fereastra de comandă a MATLAB-ului.

4.1.4.Modul de lucru al unui program SIMULINK

Fiecare bloc dintr-un model Simulink are următoarele caracteristici generale: un vector de intrare, u, un vector de ieșire, y, și un vector de stare, x:

Vectorul de stare poate consta din stări continue, stări discrete sau combinații ale acestora. Relațiile matematice dintre aceste mărimi (intrări, ieșiri, stări) sunt exprimate prin ecuații de tipul:

Simularea constă în două faze: inițializare și simulare propriu-zisă.

Faza de inițializare înseamnă parcurgerea următoarelor etape:

1. Blocul parametrilor este trecut în MATLAB pentru evaluare. Valorile numerice rezultate sunt folosite ca parametri actuali (curenți).

2. Este parcursă ierarhia modelului. Fiecare subsistem care nu este un subsistem executat condiționat este înlocuit prin blocurile componente.

3. Blocurile sunt sortate în ordinea în care este necesară actualizarea lor. Algoritmul de sortare întocmește o listă astfel încât orice bloc nu este actualizat până când blocurile care furnizează intrările acestuia nu sunt actualizate. În timpul derulării acestei etape sunt detectate buclele algebrice.

4. Conexiunile dintre blocuri sunt verificate pentru asigurarea compatibilității ieșire-intrare.

Urmează faza de simulare propriu-zisă. Modelul este simulat prin integrare numerică. Calculul derivatelor se face în doi pași. Prima dată ieșirea fiecărui bloc este calculată în ordinea determinată de algoritmul de sortare. La al doilea pas, pentru fiecare bloc se calculează derivatele în funcție de timp, intrări și stări. Vectorul derivatelor rezultat este returnat algoritmului de rezolvare de tip ODE, care îl utilizează pentru calculul noului vector de stare pentru momentul de timp următor. O dată ce noul vector de stare este calculat, blocurile sunt actualizate.

4.2.Analiza și sinteza sistemului analizat

Pentru atingerea obiectivelor am implementat in Matlab, intr-un fisier cu extensia „.m” functia de transfer a partii fixe a sistemului studiat pentru observarea stabilitatii acesteia.

Mediul MATLAB dispune de funcții care permit analiza modelelor LTI atât în domeniul timp cât și în domeniul frecvenței.

Fig.20 Declararea functiei de transfer a sistemului analizat

LTIViewer reprezintă o interfață grafică cu utilizatorul (Graphical User Interface – GUI) ce permite vizualizarea răspunsurilor modelelor LTI atât în domeniul timp cât și în cel al frecvenței. Aceasta permite analiza a până la 6 răspunsuri ale unui sistem simultan. Se pot analiza răspunsurile mai multor sisteme simultan. Pașii urmați pentru a utiliza această interfață grafică sunt:

1. LTIViewer se inițializează cu comanda ltiview.

2. Din meniul File se alege comanda Import pentru a importa din spațiul de lucru sistemele dorite.

3. Se selectează comanda Viewer Configuration din meniul Tools pentru a alege numărul de regiuni (1 ÷ 6) ale ferestrei grafice și tipul răspunsului reprezentat în fiecare regiune (step, impulse, bode, nyquist, nichols, sigma, pzmap).

4. Cu un clic pe butonul din dreapta al mouse-ului în fiecare din regiunile ferestrei grafice se deschide un meniu care permite modificarea tipului răspunsului reprezentat, punerea în evidență a caracteristicilor răspunsului, aplicarea liniilor de grid sau magnificarea unei anumite regiuni (Zoom).

Funcțiile utilizate pentru investigarea răspunsurilor în domeniul timpului al modelelor LTI continue sau discrete pentru diferite semnale de intrare sunt:

– impulse – răspuns la impuls;

– initial – răspuns la condiții inițiale (numai pentru modele SS);

– gensig – generator de semnale de intrare;

– lsim – răspuns la semnal de intrare arbitrar;

– step – răspuns indicial (la semnal treaptă unitar).

Din diagrama obtinuta se poate observa stabilitatea sistemului la semnalul treapta a timpul de crestere(1,1sec), a timpului tranzitoriu (1,96s), cat si a timpului de stabilire a semnalului(3sec).

Pentru a aplica aceasta functie de transfer sistemului analizat, in urmatorul subcapitol, se introduce in bucla de reglare construita in simulink un bloc transfer fcn ce permite configurarea functiei de transfer:

H(s) =

Fig. 21 Raspunsul la semnal treapta a functiei de transfer a sistemului studiat

4.3.Simulare SRA cu regulator PID utilizand Simulink

Daca am folosi un regulator clasic de tip PID, intrarea sa ar fi fost diferenta (eroarea) dintre temperatura de referinta și ieșirea sistemului. Schema de reglare, in conditiile mai sus mentionate, este prezentata in figura .

Fig.22 Reglarea clasica a temperaturii

Constructia schemei de reglare:

Pentru realizarea schemei pentru reglarea clasica a temperaturii am folosit urmatoarele blocuri:

Step : am folosit doua blocuri cu semnal de tip treapta ; primul bloc l-am folosit pentru intrarea de referinta reprezentant temperatura dorita in interiorul serei ( C) , și cel de al doilea bloc pentru temperatura exterioara de -C;

Sum : am folosit pentru a aduna cele doua intrari și implicit pentru a realiza bucla de reactie;

PID Controller : am folosit acest bloc pentru a implementa parametrii pentru parametrii: proportional, integrativ și derivativ;

Transport Delay : am folositacest bloc pentru a introduce o intarziere de 1s ;

Transfer FCN : bloc ce l-am utilizat pentru a introduce functia de transfer a sistemului ce este supus analizei;

Sum1 : am folosit un al doilea bloc Sum pentru a introduce in bucla cel de al doilea Step ce reprezinta temperatura exterioara de -C; acesta are efect la nivelul elementului de integrare;

Integrator

Mux : am folosit acest bloc pentru a combina cele doua semnale de intrare inre-un singur semnal la ieșire;

Scope : folosit pentru a afisa rezultatele simularii

4.3.1.Rezultatele simularii

Rezultatul obtinut in urma simularii :

Fig.23 In figura este reprezentanta comanda cu galben și temperatura (raspunsul sistemului simulat) cu violet.

Raspunsul are o eroare semnificativa, deoarece un regulator PID nu este eficace in acest caz, deoarece sistemul este neliniar. Pentru a depăși aceste probleme, ne propunem să se reglementeze sistemul cu un controler fuzzy.

Introducand in bucla de reglare blocul „To Workspace” , pentru a salva semnalul in spațiul de lucru, se potate analiza răspunsul simularii cu . Se selecteaza forma de salvare array ce are ca intrare forma unui tablou de n dimensiuni, unde N este unul mai mult decât numărul de dimensiuni ale semnalului de intrare. De exemplu, daca semnalul este o matrice 1-D (un vector), rezulta ca matricea spatiului de lucru este de doua dimensiuni. În cazul în care semnalul de intrare este o matrice 2-D (de exemplu, o matrice), matrice este de trei dimensiuni.

Fig. 24 Bucla de reglaj cu blocurile To workspace

Pentru a observa mai bine rezultatul obtinut apelam functia plot ce ne genereaza un grafic selectand din fereastra Workspace-ului: „plot as multiple series” sau introducand urmatoarele comenzi:

>>plot(comanda,'DisplayName','comanda','YDataSource','comanda'); >>hold all;

>>plot(semnal_iesire,'DisplayName','semnal_iesire','YDataSource','semnal_iesire'); >>hold all;

>>hold off;

>>figure(gcf);

In figura de mai jos este reprezentanta comanda cu verde și raspunsul sistemului simulat (temperatura) cu albastru. Se poate observa actiunea controlerului PID prin mentinerea echilibrului asupra sistemului simulat.

Fig. 25 Graficul obtinut cu functia plot pentru sistemul analizat

4.4. Reglare Fuzzy

4.4.1. Modelarea SRA cu regulator PID utilizand Fuzzy Logic Toolbox

Logica fuzzy ofera instrumentele necesare pentrru reprezentarea in sistemele inteligente a unor concepte imprecise cum sunt „mare” , „mic”, „scump” , „ieftin”s.a.m.d concepte numite variabile lingvistice sau variabile fuzzy. Pentru reprezentarea acestora se folosesc seturile fuzzy care capteaza din punc de vedere cantitativ interpretarea calitativa a termenilor.

Toolbox-ul Fuzzy Logic al mediului de simulare Matlab reprezintă mediul software de simulare a sistemelor cu logica fuzzy oferit de acest program extrem de popular în lumea științifică. Construirea unui sistem cu logică fuzzy în Matlab este simplă datorită interfeței grafice prin care utilizatorul poate comunica cu mediul de simulare Matlab (componenta dedicată logicii fuzzy).

Această interfată permite construirea și, in final, analiza grafică a sistemului cu logică fuzzy dorit, folosind cele 5 instrumente grafice care formează componenta dedicată logicii fuzzy a mediului Matlab:

1) Editorul sistemului cu logică fuzzy, numit FIS Editor (=Fuzzy Inference System Editor);

2) Editorul functiilor de apartenentă, adică, al multimilor fuzzy peste universurile discursurilor variabilelor de intrare și de ieșire ale sistemului cu logică fuzzy, numit Membership Function Editor;

3) Editorul regulilor fuzzy, care vor forma baza de reguli a sistemului cu logică fuzzy, numit Rule Editor;

4) Fereastra de vizualizare a regulilor, in care se poate observa gradul de activare al fiecărei reguli și rezultatul (multimea fuzzy de ieșire) dat de fiecare regulă a bazei de reguli, pentru o anumită valoare transantă a intrării stabilite de către utilizator; această fereastră apare sub numele Rule Viewer;

5) Fereastra de vizualizare a suprafetei ieșire-intrare a sistemului cu logică fuzzy, care arată grafic dependenta ieșirii transante a sistemului cu logică fuzzy de intrările transante ale sistemului cu logică fuzzy, determinate de functionarea sistemului cu logică fuzzy; această dependentă este cunoscută in general sub numele de “suprafată de control a sistemului”, iar fereastra apare sub numele Surface Viewer.

Cele cinci instrumente grafice sunt legate dinamic intre ele, adică, o modificare a sistemului cu logică fuzzy făcută intr-una din ferestrele de editare va putea afecta ceea ce se vede in celelalte ferestre. La un moment dat, pentru un sistem cu logică fuzzy, putem avea oricate din cele cinci ferestre deschise simultan. Cele cinci instrumente grafice ale componentei dedicate sistemelor cu logică fuzzy din Matlab sunt prezentate simbolic in diagrama-bloc din Figura 26 :

.

Figura 26. Cele cinci instrumente de construire și analiză a unui sistem cu logică fuzzy, și legătura lor cu sistemul cu logică fuzzy

Pentru construirea unui sistem cu logică fuzzy in Matlab, primul pas dupălansarea in executie a programului Matlab.exe este scrierea de la tastatură, la prompterul programului, a comenzii:

>> fuzzy

urmată de apăsarea tastei Enter. Această comandă lansează in executie editorul sistemului cu logică fuzzy (FIS Editor); va apărea pe ecran fereastra grafică a editorului de sisteme cu logică fuzzy din Figura 27 .

Editorul sistemului cu logică fuzzy, numit FIS Editor (Fuzzy Inference System Editor)

Editorul sistemului cu logică fuzzy permite definirea informatiilor generale despre sistemul cu logică fuzzy pe care dorim să-l construim.

In diagrama simplă din partea de sus a ferestrei, de sub bara de meniuri, sunt afisate:

– in stanga, un dreptunghi in care apar generic trei functii de apartenentă de formă Gauss, și sub el, numele variabilei de intrare; in Figura, există (implicit) o singură variabilă de intrare in sistemul cu logică fuzzy, numită input1;

– in dreapta, un dreptunghi in care apar generic trei functii de apartenentă de formă triunghiulară, și sub el, numele variabilei de ieșire; in Figura 23 , există (implicit) o singură variabilă de ieșire din sistemul cu logică fuzzy, numită output1;

– in centru, un dreptunghi in care apare numele sistemului cu logică fuzzy și tipul

de inferentă folosit de către sistemul cu logică fuzzy; implicit, mecanismul de inferentă folosit este Mamdani, iar numele sistemului cu logică fuzzy este Untitled.

Functiile de apartenentă desenate in această fază a constructiei sistemului cu logică fuzzy in dreptunghiurile din stanga și din drepta din diagramă sunt doar niste simboluri, și de fapt nu există nici pentru variabila de intrare, nici pentru cea de ieșire din sistemul cu logică fuzzy; momentan, nu este definită nici o multime fuzzy peste universurile discursurilor variabilelor de intrare input1 și de ieșire output1.

Sub diagrama din partea de sus a ferestrei editorului sistemului cu logică fuzzy, in partea stangă a Figurii 27, este un sistem de meniuri de tip pop-up care ne permit să modificăm diferitele operatii folosite in cadrul procesului de inferentă:

– And method permite selectia expresiei matematice folosite pentru operatorul AND din premiza regulii fuzzy: aceasta poate fi min sau prod (produs), și implicit este min;

– Or method permite selectia expresiei matematice folosite pentru operatorul OR, care este implicit operatorul care leagă intre ele regulile din baza de reguli fuzzy: aceasta poate fi max sau probor (sau probabilistic), și implicit este max;

– Implication defineste operatia folosită pentru exprimarea relatiei de implicatie fuzzy dintre premiza și consecinta fiecărei reguli: aceasta poate fi min sau prod, și implicit este min;

– Aggregation defineste operatia folosită pentru combinarea multimilor fuzzy obtinute ca ieșire a fiecărei reguli fuzzy din baza de reguli, cunoscute sub numele de concluzii partiale, pentru a se obtine multimea fuzzy care reprezintă răspunsul sistemului cu logică fuzzy la o valoare dată a intrării transante: aceasta poate fi max, sum (sumă algebrică) sau probor, și implicit este max;

– Defuzzification defineste metoda de defuzzificare folosită: aceasta poate fi: centroid, bisector (bisectoarea ariei), lom (largest of maximum), mom (middle of

maximum), som (smallest of maximum);

Figura 27. Fereastra editorului de sisteme cu logică fuzzy

Sub diagrama din partea de sus a ferestrei editorului sistemului cu logică

fuzzy, in partea dreaptă a Figurii 27, se găseste o zonă in care sunt afisate:

– numele variabilei (de intrare sau ieșire) selectate;

– tipul functiilor de apartenentă asociate variabilei de intrare sau ieșire selectate;

– universul discutiei variabilei de intrare sau ieșire selectate;

Implicit, nici o variabilă nu este selectată. Selectia unei variabile de intrare sau ieșire a sistemului cu logică fuzzy se face printr-o simplă apăsare cu butonul stang al mouse-ului, atunci cand cursorul mouse-ului este pozitionat pe blocul din diagrama sistemului cu logică fuzzy corespunzător variabilei respective.

De exemplu, dacă vrem să selectăm variabila de intrare input1, ne pozitionăm pe dreptunghiul galben din stanga schemei-bloc din Figura 23, apăsăm pe butonul stang al mouse-ului și in acest moment dreptunghiul respectiv va fi marcat ca și activ prin inconjurarea sa cu o linie roșie. Simultan, in partea dreaptă jos a Figurii 23 apare numele variabilei: input1. Acest nume poate fi acum modificat prin stergerea campului Name și scrierea de la tastatură a noului nume pentru variabila de intrare. Celelalte două campuri răman in continuare nespecificate (ele au doar niste valori implicite), deoarece incă nu am specificat forma funcŃiilor de apartenentă și universul discutiei variabilelor sistemului cu logică fuzzy.

Bara de meniuri a editorului de sisteme cu logică fuzzy contine următoarele comenzi:

– Comanda File – de aici, putem crea un nou sistem cu logică fuzzy cu mecanism

de inferentă de tip Mamdani (New Mamdani FIS); un nou sistem cu logică fuzzy cu inferentă de tip Sugeno (New Sugeno FIS); putem deschide un sistem cu logică fuzzy deja creat fie de pe hard disc (Open from disk), fie din spaŃiul de lucru curent (workspace) (Open from workspace); putem salva sistemul cu logică fuzzy creat/modificat fie pe hard disc (Save to disk as/ Save to disk), fie in spatiul de lucru curent (Save to workspace as/ Save to workspace).

– Comanda Edit – cu subcomenzile de:

1) adăugare a unei noi variabile de intrare in sistemul cu logică fuzzy, Add input;

2) adăugare a unei noi variabile de ieșire din sistemul cu logică fuzzy, Add output;

3) stergere din sistemul cu logică fuzzy a variabilei de intrare sau ieșire selectate in momentul curent, Remove variable.

– Comanda View – cu subcomenzile de:

1) editare a multimilor fuzzy care acoperă universurile discursurilor variabilelor de intrare și ieșire, Edit membership functions; această comandă lansează in executie editorul functiilor de apartenentă;

2) editare a regulilor fuzzy din baza de reguli, Edit rules; această comandă lansează in executie editorul regulilor fuzzy;

3) vizualizare a regulilor fuzzy, View rules; această comandă lansează in executie fereastra de vizualizare a regulilor;

4) vizualizare a suprafetei de control a sistemului cu logică fuzzy, View surface; această comandă lansează in executie fereastra de vizualizare a suprafetei ieșireintrare a sistemului cu logică fuzzy.

Editorul functiilor de apartenentă adică, al mulțimilor fuzzy peste universurile discursurilor variabilelor de intrare și de ieșire ale sistemului cu logică fuzzy, numit Membership Function Editor;

Editorul functiilor de apartenentă permite afisarea și editarea tuturor functiilor de apartenentă asociate cu toate variabilele de intrare și de ieșire ale sistemului cu logică fuzzy. Fereastra grafică a editorului functiilor de apartenentă este foarte asemănătoare cu cea a editorului sistemului cu logică fuzzy (Figura 28).

Figura 28. Fereastra editorului functiilor de apartenentă

La deschiderea editorului functiilor de apartenentă pentru un sistem cu logică fuzzy nou creat, nu există incă nici o functie de apartenentă asociată variabilelor de intrare și ieșire definite anterior in editorul sistemului cu logică fuzzy.

 In coltul din stanga sus al ferestrei editorului functiilor de apartenentă există o “paletă a variabilelor”, in care apar listate toate variabilele de intrare și de ieșire ale sistemului, sub forma simbolului lor-bloc și cu numele variabilei scris sub blocul respectiv. De exemplu, pentru un sistem cu o singură intrare și o singură ieșire al căror nume a fost lăsat implicit, in listă apar variabilele: input1 și output1. Pentru a stabili functiile de apartenentă asociate cu o variabilă din listă, trebuie selectată variabila printr-o apăsare cu butonul stang al mouse-ului pe blocul care simbolizează variabila respectivă; in acest moment, atat blocul cat și numele variabilei sunt “colorate” cu rosu, iar sub ecranul din partea dreaptă a ferestrei editorului, “Membership function plots”, apare tipul și numele variabilei

respective.

 Sub “paleta variabilelor”, in partea stangă jos a ferestrei editorului, avem informatii despre tipul și numele variabilei selectate, in campurile: nume; tip (intrare sau ieșire); domeniu de variatie (adică, universul discursului variabilei respective); domeniul valorilor afisate (care poate fi un subdomeniu al universului discursului). In campul domeniu de variatie (range) vom specifica pentru fiecare variabilă universul discursului, sub forma unui interval de numere reale. Apăsand apoi tasta Enter, domeniul este setat la cel dorit, și implicit acesta va fi și domeniul la care se setează campul domeniului valorilor afisate (display range).

 Pentru definirea functiilor de apartenentă ale variabilei selectate, se foloseste componenta Edit a barei de meniuri a ferestrei editorului, din care se selectează comanda Add MFs (adaugă functii de apartenentă). Va apărea o nouă fereastră pe ecran, ca in Figura 29, care permite:

Figura 29. Fereastra de definire a functiilor de apartenentă pentru o variabilă

1) selectarea numărului de functii de apartenentă asociate variabilei selectate, intre 1 și 9 (implicit este 3);

2) selectarea tipului functiilor de apartenentă asociate variabilei selectate: triunghi (trimf), trapez (trapmf), clopot (gbellmf), Gauss (gaussmf, gauss2mf), PI (pimf), combinatii de două functii sigmoide (dsigmf, psigmf). Toate functiile de apartenenŃă implicite in Matlab sunt simetrice in raport cu axa y, iar dacă dorim de exemplu să definim un triunghi dreptunghic pe extremele universului discutiei, acesta se defineste ca și un triunghi isoscel al cărui suport se intinde și in afara universului discutiei.

 Odată stabilit tipul și numărul functiilor de apartenentă pentru variabila selectată (prin apăsarea tastei OK a ferestrei din Figura 29), aceste functii apar afisate pe ecranul din partea dreaptă sus a ferestrei editorului. Fiecare functie de apartenentă poate fi selectată prin apăsarea butonului stang al mouse-ului.

 In momentul cand o functie de apartenentă este selectată, ea va apărea desenată cu rosu, și simultan in partea dreaptă jos a ferestrei editorului, cu titlul “Current membership function”, apar afisate: numele, tipul (trimf, trapmf, etc) și parametrii functiei de apartenentă respective (de exemplu, pentru functiile triunghi și trapez, pe care le vom folosi. In acest moment, putem modifica: numele functiei de apartenentă; tipul său; parametrii care descriu functia de apartenentă.

 Odată definite toate functiile de apartenentă conform dorintei proiectantului sistemului cu logică fuzzy, putem edita baza de reguli fuzzy a sistemului. Pentru aceasta, din meniul ferestrei editorului, se selectează comanda View, urmată de Edit rules….

3)Editorul regulilor fuzzy

Editorul regulilor fuzzy permite editarea bazei de reguli fuzzy a sistemului cu logică fuzzy.

 Initial, campul de editare al ferestrei, de culoare albă, nu contine nici o regulă. Toate regulile din baza de reguli a sistemului cu logică fuzzy pe care dorim să-l proiectăm vor fi introduse de la tastatură.

 In partea de jos a ferestrei editorului de reguli fuzzy apare un buton de selectie a formatului de scriere a regulilor, Rule Format. Optiunea selectată in acest camp poate fi:

1) Format verbal (verbose), caz in care regulile se editează sub forma if… then; de exemplu, dacă atunci cand variabila de intrare input1 apartine multimii fuzzy mf1, dorim ca variabila de ieșire output1 să apartină multimii fuzzy mf3, regula va fi: If input1 is mf1 then output1 is mf3, și exact sub această formă este editată in spatiul editorului de reguli. După terminarea scrierii tuturor regulilor din bază sub această formă, se apasă consecutiv tastele Ctrl și Enter, ceea ce conduce la transformarea regulilor in formatul din Figura 26.

2) Format simbolic (symbolic), caz in care regula de mai sus devine: (input1==mf1)=>(output1=mf3); validarea regulilor se face tot cu tastele Ctrl și Enter.

3) Format indexat (indexed), caz in care regula de mai sus devine: 1,3 (1):1;ultimul “1” indică folosirea operatorului AND in premiza regulii, atunci cand este cazul. Modificarea unei reguli din baza de reguli se face ca in orice editor de texte, dar in final trebuie să validăm noua bază de reguli prin apăsarea consecutivă a tastelor Ctrl+Enter.

Figura 30. Fereastra editorului de reguli fuzzy

Fereastra de vizualizare a regulilor, în care se poate observa gradul de activare al fiecărei reguli și rezultatul (mulțimea fuzzy de ieșire) dat de fiecare regulă a bazei de reguli, pentru o anumită valoare tranșantă a intrării stabilite de către utilizator; aceasta fereastra apare sub numele Rule Viewer;

Fig.31 Fereastra de vizualizare a regulilor

Fereastra de vizualizare a suprafetei ieșire-intrare a sistemului cu logica fuzzy, care arata grafic dependenta ieșirii transante a sistemului cu logica fuzzy de intrarile transante ale sistemului cu logica fuzzy, determinate de functionarea și stemului cu logica fuzzy; aceasta dependenta este cunoscuta în general sub numele de “suprafata de control a sistemului”, iar fereastra apare sub numele Surface Viewer.

Fig.32 Fereastra de vizualizare a suprafetei ieșire-intrare

4.4.2. Configurare FLC

Pentru a construi controlerul fuzzy, in primul rand trebuie sa definim intrarile si iesirile, apoi vom defini intervalele de variație (seturi fuzzy) și funcțiile de apartenenta folosind interfata (Edit Memberschip function), pentru intrare cat și ieșire. 

Consideram ca intrare diferenta intre temperatura de referinta și ieisrea sistemului supus reglării, numita eroare și ca ieșire, comanda data de regulator. Intervalul de variatie al erorii este [-10 14], iar al comenzii este [-30 37]. Pentru a stabilii aceste lucruri, scriem comanda urmatoare in consola:

>> fuzzy

Se va deschide fereastra FIS Editor in care vom seta intrarile și ieșirile:

Fig.33 Definirea intrarilor și ieșirilor

● Definirea Funcțiilor de apartenență

Pentru fiecare dintre intrarile și ieșirile considerate, functiile de apartenenta sunt de tip trimf (triunghiulare), cate trei pentru fiecare și au urmatoarea semnificatie: daca temperatura de referinta este negativa, inseamna ca temperatura de ieșire este mai mare decat temperatura de referinta , deci in interiorul serei este cald și apare necesitatea unei ventilatii. Daca valoarea sa este pozitiva, Funcția de apartenență va indica frig in sera și necesitatea unui element de incalzire. In caz contrar, totul este bine și nimic nu se schimba la nivelul elementului de executie.

Sistemul de inferență fuzzy este de tipul Mamdani și defuzzificarea va fi cu metoda centrului de greutate.

Pentru a stabilii aceste lucruri, parcurgem urmatoarele etape:

View/ Edit Memberschip function

Edit/ Add Mfs (pentru intrare-eroare)

View/ Edit Memberschip function

Edit/ Add Mfs (pentru ieșire- comanda)

Fig.34 Definirea funcțiilor de apartenență pentru intrare

Fig.35 Definirea funcțiilor de apartenență pentru ieșire

● Definirea regulilor de inferenta

Stabilim regulile de inferenta și ponderea fiecareia dintre acestea , in stabilirea rezultatului final, cu ajutorul interfetei grafice Rule Editor și le vom vizualiza prin interfata grafica Rule Viewer:

Daca (eroare este cald), atunci (comanda este ventilatie) – (pondere 1)

Daca (eroare este Ok), atunci (comanda este nimic) – (pondere 1)

Daca (eroare este frig), atunci (comanda este incalzire) – (pondere 1)

In cazul interfetei, ele vor fi formulate, intr-o maniera interactiva, astfel:

IF (eroare is cald), THEN (comanda is ventilatie) .(1)

IF (eroare is Ok), THEN (comanda is nimic) .(1)

IF (eroare is frig), THEN (comanda is incalzire) .(1)

Pentru setarea sau vizualizarea acestor reguli, se dau urmatoarele comenzi:

View/ Edit Rule

View/ ViewRule

Fig.36 Definirea regulilor

Fig.37 Vizualizarea regulilor

● Simularea și vizualizarea rezultatelor

Vom vizualiza raspunsul regulatorului fuzzy cu ajutorul interfetei grafice Surface viewer . Sistemul de inferenta este de tip MAMDANI, iar regula de defuzzificare este metoda centroida.

View/ ViewSurface

In acest moment, avem construit un regulator fuzzy cu o singura intrare, a carui nume il vom stabilii prin salvarea sa sub forma de fișier cu extensia „fis” pe discul local sau sub forma de variabila in zona de lucru a Matlab-ului.

4.5.Simulare SRA cu FLC utilizand Simulink

Pentru a-l uitiza in scopul reglării temperaturii in interiorul serei, trebuie sa-l utilizam sub forma unui bloc, in cadrul unei scheme construite cu ajutorul Simulink-ului.

4.5.1.Reglare fuzzy cu ajutorul unui controller cu o intrare

Modelul sistemului supus reglării este prezentata mai jos:

Fig.38 Modelul sistemului

Blocul numit Fuzzy Logic Controller il gasim predefinit in Fuzzy Logic Toolbox, rolul nostru fiind acela de a-l personaliza (se deschide prin dublu-clic pe acest bloc) prin specificarea fișierului pe care il vom apela .

Aceasta fereastra de dialog este prezentata in continuare:

Fig.39 Specificarea parametrilor pentru Fuzzy Logic Controller

4.5.2.Reglare fuzzy cu ajutorul unui controller cu doua intrari

Daca raspunsul sistemului nu satisface exigentele utilizatorului, pot fi modificate intervalele de inferenta și in acest fel va fi crescuta eficacitatea regulatorului.

In aceeas masura, putem actiona asupra regulilor de inferenta sau a formelor Funcțiilor de apartenență utilizate.

Deoarece procesul de efectuare al acestor modificari a fost prezentat in sectiunea anterioara, vom prezenta doar modificarile efectoate la nivel de concept nu și al procedurii efective de modificare in cadrul inferentei grafice.

In cele ce urmeaza, ne propunem sa adaugam o noua intrare pentru regulatorul fuzzy utilizat in exemplul nostru , cu semnificatia variatiei in timp a erorii – derivata erorii , deroare. Funcția de apartenență asociata acesteia este una de tip trimf (triunghiulara) .

Intervalul de definitie al acestuia [-15;15] , este impartiti in trei parti disctinte, corespunzatoare procesului de : incalzire (I) , temperatura constanta – tconstant (TC) și racire(R).

Fig.40 Regulatorul fuzzy cu doua intrari

Funcția de apartenență a ieșirii va fi deasemenea modificata , fiind de data acesta impartita in cinci componente distincte : ventileaza mult (vm) , ventileaza (v) , bine (b) , incalzeste(I) și incalzeste mult(IM).

Fig.41 Definirea Funcțiilor de apartenență pentru cea de a doua intrare

Regulile care pun in legatura modul de variatie al intrarilor și reactia sistemului reprezentata prin formele ieșirii , tinand cont de prescurtariile asociate fiecaruia dintre acestea , sunt prezentate in tabelul de mai jos:

Raspunsul sistemului pentru intervalele : eroare [-10;14], deroare[-15;15] și comanda [-30;44] :

4.5.3.Rezultatele simularii la reglare cu FLC

Rezultatul simularii fuzzy cu ajutorul unui controller cu o intrare

In acest caz, raspunsul sistemului rezultat in urma simularii sistemului construit are urmatoarea forma:

Fig.42 Raspunsul sistemului simulat cu regulator fuzzy cu o intrare

Introducand in bucla de reglare blocul „To Workspace”, cum am procedat si la simularea cu controler PID, vom obtine urmatoarea schema bloc:

Fig.43 Bucla de reglaj cu blocurile To workspace

Putem observa rezultatul generat in graficul din figura 44, apeland functia plot selectata din fereastra Workspace-ului: „plot as multiple series” sau introducand urmatoarele comenzi:

>> plot(comanda,'DisplayName','comanda','YDataSource','comanda');

>> hold all;

>>plot(semnal_iesire,'DisplayName','semnal_iesire','YDataSource','semnal_iesire'); >>hold all;

>>hold off;

>>figure(gcf);

In figura de mai jos este reprezentanta comanda cu verde și raspunsul sistemului simulat (temperatura) cu albastru. Se poate observa actiunea regulatorului fuzzy prin mentinerea echilibrului asupra sistemului simulat

Fig.44 Graficul obtinut cu functia plot pentru sistemul analizat

Rezultatul simularii fuzzy cu ajutorul unui controller cu doua intrari

In acest caz, raspunsul sistemului rezultat in urma simularii sistemului construit are urmatoarea forma:

Fig.45 Raspunsul sistemului simulat cu regulator fuzzy cu doua intrari

Graficul sistemului simulat cu regulator fuzzy cu doua intrari din figura 46 se obtine, in mod similar ca la reglarea sistemului cu ajutorul unui controler FLC cu o intrare, apeland functia plot selectata din fereastra Workspace-ului: „plot as multiple series” sau introducand urmatoarele comenzi:

>> plot(comanda,'DisplayName','comanda','YDataSource','comanda');

>> hold all;

>>plot(semnal_iesire,'DisplayName','semnal_iesire','YDataSource','semnal_iesire'); >>hold all;

>>hold off;figure(gcf);

In figura 46 observam comanda reprezentata cu verde și raspunsul sistemului simulat cu albastru. Csa si la regulstorul fuzzy cu o intrare se poate observa actiunea regulatorului fuzzy pentru mentinerea echilibrului asupra sistemului simulat, insa acesta din urma nu ne satisface cerintele. Pentru a putea obtine un sistem simulat corespunzator cerintelor putem modifica numarul functiilor de apartenenta, tipul functiei de apartenenta folosita, universul de discurs, numarul regulilor de inferenta.

Folosind functia de apartenenta de tipul trampf (trapezoidala) rezultatul va fi asemanator cu cel din figura 46. pentru a imbunatatii performantele vom modifica numarul regulilor de inferenta (fig. 47).

Fig. 46 Graficul obtinut cu functia plot pentru sistemul analizat

Fig. 47 Cazul in care se modifica numarul regulilor de inferenta

Fig. 48 Raspunsul sistemului simulat cu regulator fuzzy

cu doua intrari si noua reguli de inferenta

Fig. 49 Graficul obtinut cu functia plot pentru sistemul cu regulator fuzzy

cu doua intrari si noua reguli de inferenta

Acest răspuns cu siguranță este depășit, dar viteza lui este mai buna: un timp de răspuns acestuia este mai mică decât in cazul al doilea. 

In continuare vom vizualiza suprafetele de control.

Fig.50 Suprafata de control al regulatorului fuzzy cu o intrare si 3 reguli de inferenta

Se poate observa ca numarul de intrari este insuficent pentru o descriere detaliata.Suprafata este uniforma dar nu are suficiente campuri.

Fig.51 Suprafata de control al regulatorului fuzzy cu doua intrari si 3 reguli de inferenta

Se observa ca suprafata este continua, uniforma si cu suficiente campuri.

Fig.52 Suprafata de control al regulatorului fuzzy cu doua intrari si 9 reguli de inferenta

Se observa ca suprafata nu este uniforma si liniara are salturi mari pe unele zone.

CONCLUZII

In urma analizei rezultatelor simularii și a functionarii sistemului realizat s-a desprins concluzia ca regulatorul fuzzy folosit necesita ajustari, in continuare, pentru marirea robustetei reglajului.

Prin analiza comparativa a celor doua raspunsuri , observam imbunatatiri din punct de vedere al vitezei : timpul de raspuns al sistemului cu regulator fuzzy cu doua intrari este inferior celui din cazul cu o singura intrare.

• Raspunsul are o eroare semnificativa, deoarece un regulator PID nu este eficace in acest caz, deoarece sistemul este neliniar.

-timp de stabilizare ~ 3 secunde

-suprareglaj < 5%

•Raspunsul sistemului cu regulator fuzzy din primul caz cand aveam trei reguli,o intrare(eroare) cu trei funcții de apartenență (cald, ok, frig) și o ieșire, sistemul este insuficient definit iar raspunsul nu este cel dorit :

-timp de stabilizare mare

-suprareglaj mare> 5%

•In cazul al doilea avem doua intrari(eroare și deroare) și trei reguli, aici sistemul se comporta mai bine are un timp de raspuns și un suprareglaj mai mic:

-timp de stabilizare ~ 5sec

-suprareglaj > 5%

Raspunsul sistemului cu regulator fuzzy astfel obtinut este mai bun decat cel din primul caz dar nu este foarte multumitor, suprareglajul și timpul de stabilizare sunt in continuare mari.

•In cazul al treilea avem doua intrari(eroare și deroare) și noua reguli, aici sistemul nu se comporta mai bine fata de sistemul cu doua intrari si trei reguli, are un timp de raspuns și un suprareglaj mai mare:

-timp de stabilizare mare

-suprareglaj mare

Prea multe reguli și o suprapunere a funcțiilor de apartenență nu cresc performantele sistemului .

Performantele sistemului cu regulator fuzzy nu sunt mai bune decat cu PID dar sunt in domeniul acceptabil deci sistemul poate functiona.

Regulatorul fuzzy este mai usor de proiectat deoarece lucreaza intr-o interfata grafica cu variabile lingvistice.

În urma executării simulărilor cu fișiere de tip *.fis se observă că în general simulările

necesită mult timp iar în unele cazuri se produc chiar blocaje, în funcție și de configura-

tia calculatorului, de parametrii aleși pentru simulare și de parametrii sistemului de reglare. O metodă eficace de înlăturare a acestui aspect, fără însă a renunță la avantajul fundamental al sistemelor fuzzy, adică la reprezentarea lingvistică, este utilizarea tabelelor de cautare Look-Up Table.

BIBLIOGRAFIE

1. C. Soare, S.St. Iliescu, V. Tudor, I. Fagarasan, O. Dragomir, F. Dragomir, Proiectarea asistata de calculator in Matlab și Simulink , Conducerea avansata a proceselor, Editura AGIR, Bucuresti 2006

2. Régulation de température , http://www.tn.refer.org/hebergement/cours/logique_floue/_we_hinfo/cas1.htm

3. Eugenia Minca, Utilizarea pachetelor soft Matlab Simulink, Editura Macarie

4. Dumitrache I., Tehnica reglării automate, Ed. Didactica și Pedagogica, Bucuresti, 1980

5. D.F.Lăzăroiu,Th.Boranglu, V.Coste, Dan Popescu, Cr.Constantinescu, M.Gudumsc, Teoria sistemelor și reglaj automat, Institutul Politehnic București, 1982

6. Vlad Ionescu, Corneliu Popeea, Conducerea structurală a sistemelor liniare, Editura Tehnică, București, 1986

7. Help Matlab

8. Mitica Temneanu, Tehnica reglării și control automat, Ed. PIM, 2009

INTRODUCERE

Tema proiectului: „Conducerea inteligenta a proceselor cu ajutorul tehnicilor fuzzy.Aplicație Matlab”

Am ales aceasta tema pentru lucrarea de licența pentru urmarirea performanțelor unui regulator clasic PID și a unuia FUZZY cat și pentru efectuarea unui studiu comparativ al performanțelor celor doua tipuri de regulatoare.

Obiectivul acestei lucrari este de a proiecta un regulator pentru evidențierea performațelor acestuia, construit pe baza logici FUZZY, vom implementa regulorul astfel obținut în modelul SIMULINK al serei , pentru a face comparație între rezultatele obținute la modelara serei cu regulator clasic PID și rezultatele obținute cu regulator PID Mamdani .

Pentru realizarea proiectului am folosit Matlab (editorul fuzzy) , cu ajutorul căruia am implementat un sistem cu o intrare și o singura ieșire, respectiv un sistem cu 2 intrari și o singura ieșire. Dupa definirea regulatorului fuzzy ne ramane de implementat o schema in Simulink care sa foloseasca noul fișier *.fis creat .

Pentru studierea metodelor de conducere a echipamentelor de condiționare a atmosferei din interiorul serei este necesara modelarea pe calculator a comportării evoluției principalilor parametri ,temperatura și influența diferitelor pertubații :temperatura exterioară .

Modelul Simulink prin ajutorul careia modelăm sera cuprinde un sitem pentru temperatura.

Pentru o mai bună înțelegere a acestei teme și pentru familiarizarea rapidă cu elemente și limbajele tehnice, am structurat această lucrare în 4 capitole, în care am încercat să fac o viziune uniformă și generală asupra acestei ramuri a automatici, deoarece această ramură este într-o continuă expansiune și modernizare, și de aceea eu am încercat să o simplific și să o fac mai pe înțelesul tuturor, și a celor mai puțin familiarizați cu acest domeniu:

În Cap.1 Conducerea clasica a proceselor vs. Conducerea inteligenta – am încercat să prezint metodele ce pot fi folosite in descrierea unui sisitem, cat și generallițati despre conducerea inteligenta.

În Cap. 2 Tehnici de control clasice – am prezentat elementele care intră în componența unui SRA și anume: traductoare, regulatoare, elemente de execuție și elemente de referință și programare, prin prezentarea schemei tipică a unui SRA și apoi cu a scurtă clasificare a celor mai utilizate tipuri de regulatoare.

În Cap. 3 Tehnici de control fuzzy – am prezentat elementele de logica fuzzy și cum se realizeaza funcționarea acestora.

În Cap.4 Conducerea inteligenta a proceselor cu ajutorul tehnicilor fuzzy – am prezentat problematica proiectului și anume cazul reglării temperaturii intr-o sera, felul în care se face reglarea clasica cat și cea fuzzy cat și rezultatele obtinute in urma simularilor.

Similar Posts

  • Stresul Organizational

    STRESUL ORGANIZAȚIONAL CUPRINS INTRODUCERE_____________________________________________________________ 4 CAPITOLUL I CADRUL TEORETIC PRIVIND CONCEPTUL DE STRES ORGANIZAȚIONAL ÎN FIRMĂ „X” _________________________________________________________________ 7 1.1. Aspecte generale cu privire la stresul organizațional ______________________________7 1.2. Principalele efecte ale stresului asupra sănătății _________________________________16 CAPITOLUL II PREZENTAREA FIRMEI CREDITEXPRESS / DOMENIUL CU STRES ORGANIZAȚIONAL ________________________________________________________ 20 2.1. Prezentarea generală a firmei CREDITEXPRESS_______________________________ 20…

  • Educatia Sexuala In Centrele DE Plasament

    CUPRINS INTRODUCERE CAPITOLUL I – Delimitări conceptuale. Definiții 1.1. Educația, rolul școlii în educație în cadrul centrelor de plasament 1.2. Sexualitatea 1.3. Adolescența 1.4. Educația sexuală CAPITOLUL II – Elemente deordin bio-pshio social al adolescenței 2.1. Elemente de ordin biologic referitoare la adolescență 2.2. Elemente de ordin psihologic referitoare la adolescență 2.3. Elemente de ordin…

  • Gandirea Critica

    Profilul de formare al absolventului de învățământ obligatoriu propus de către Consiliul Național pentru Curriculum și Evaluare include în lista celor opt seturi de abilități fundamentale așteptate de la absolvenții școlii obligatorii: abilitatea de a manifesta gândire creativă respectiv cea de a gândi critic asupra realității. Gândirea critică și gândirea creativă sunt considerate în literatura…

  • Procese Psihice Antrenate In Selectia Personalului

    CAPITOLUL I FUNDAMENTAREA TEORETICĂ A LUCRĂRII I.1.Scurt istoric Problematica selecției profesionale se identifică cu începuturile psihologiei aplicate,celelalte două componente ale psihologiei muncii ,orientarea și formarea profesională constituind dezvoltări care au luat amploare mai târziu.Antecedentele selecției stiințifice se originează în lucrările pionierilor psihologiei diferențiale, Fr. Galton, J.M. Cattell, A.Binet și alții. În deceniul al doilea, H….