METODE DE PROIECTARE ASISTATĂ DE CALCULATOR A SISTEMELOR DE CONDUCERE 1 Proiectarea sistemelor liniare invariante în timp monovariabile în MATLAB cu instrumentul de proiectare SISO Design Tool 1.1 Componentele şi opţiunile de proiectare SISO Design Tool Instrumentul de proiectare SISO Design Tool (pe scurt SISO Tool) este alcătuit din trei componente principale: • Interfaţa grafică SISO Design Task din Control and Estimation Tools Manager, care facilitează proiectarea regulatoarelor pentru sisteme în circuit închis cu o singură intrare şi o singură ieşire prin intermediul unor ferestre interactive. • Fereastra grafică de acordare Graphical Tuning, care reprezintă de asemenea o interfaţă grafică, utilizată pentru afişarea şi manipularea caracteristicilor Bode, Nichols şi a locului rădăcinilor pentru controllerul care este proiectat în mod curent. Această fereastră este denumită SISO Design pentru Design Name. • Interfaţa LTI Viewer asociată cu SISO Design Task SISO Design Tool este destinat proiectării compensatoarelor (numite şi regulatoare sau controllere) pentru sisteme în circuit închis de tip SISO, prin metode interactive care permit următoarele opţiuni de proiectare: • Manipularea dinamicilor în buclă închisă utilizând locul rădăcinilor. • Modelarea răspunsului Bode în circuit deschis. • Adăugarea de poli şi zerouri controllerului. • Adăugarea şi acordarea unor reţele de tip lead/lag şi a unor filtre. • Inspectarea răspunsurilor în circuit închis cu LTI Viewer. • Ajustarea marginilor de fază şi de amplitudine. • Convertirea modelelor din discret în continuu şi viceversa. • Proiectarea automată a controllerelor. Pentru ilustrarea modului în care se deschide SISO Design Tool va fi utilizat modelul motorului de c.c. din capitolele precedente. Dacă modelul motorului nu a fost încă implementat, se introduce la prompterul MATLAB comanda load ltiexamples care încarcă o colecţie de modele liniare, inclusiv modelul motorului de c.c. Pentru deschiderea SISO Design Tool şi importarea modelului, se introduce comanda: sisotool(sys_dc) Această comandă deschide nodul SISO Design Task din Control and Estimation Tools Manager, precum şi fereastra Graphical Tuning cu locul rădăcinilor şi caracteristicile Bode în circuit deschis (setări implicite) pentru motorul de c.c. 1
Arhitectura SISO Design Task
Click dreapta în orice zonă pentru vizualizarea opţiunilor de proiectare
Bara de stare oferă informaţii despre modul de utilizare a ferestrei şi despre starea curentă a procedurii de proiectare
Fereastra Graphical Tuning pentru motorul de c.c. 2
1.2 Utilizarea SISO Design Task Node şi importul de modele în SISO Tool Nodul SISO Design Task din Control and Estimation Tools Manager conţine următoarele pagini (ferestre) pentru specificarea proiectării şi comportamentului controllerului: • Arhitecture (arhitectura): - Modifică structura cu reacţie şi etichetează semnalele şi blocurile. - Configurează buclele pentru proiectarea multi-buclă prin asignarea semnalelor pentru eliminarea efectelor altor bucle cu reacţie. - Importă modelele în sistem. - Converteşte perioada de eşantionare a sistemului sau comută între diferite perioade de eşantionare pentru proiectarea unor controllere diferite. • Compensator Editor (editorul controllerului): - Editează în mod direct polii, zerourile şi amplificarea compensatorului. - Adaugă sau elimină poli şi/sau zerouri ale compensatorului. • Graphical Tuning (acordarea grafică): - Configurează graficele din fereastra Graphical Tuning. - Utilizează graficele de proiectare pentru manipularea grafică a răspunsului sistemului. • Analysis Plots (grafice de analiză): - Configurează graficele de analiză în LTI Viewer. - Utilizează aceste grafice pentru vizualizarea răspunsului sistemului în circuit deschis sau închis. • Automated Tuning (acordarea automată): - Generează regulatoarele în mod automat prin utilizarea unor metode de tip control optimal, PID (Proporţional-Integrator-Derivator), control bazat pe model intern (IMC - internal model control), control linear-quadratic-Gaussian (LQG), sau metode de tip loop shaping (modelarea buclei). - Utilizează un instrument de optimizare a răspunsului pentru acordarea automată a sistemului astfel încât acesta să satisfacă cerinţele de proiectare (disponibil numai cu Simulink® Response Optimization™). Importarea modelelor în SISO Design Tool Prin introducerea comenzii sisotool la prompterul MATLAB, the Control and Estimation Tools Manager deschide simultan nodul SISO Design Task şi o fereastră Graphical Tuning (necompletată). Modelul motorului de c.c. poate fi importat prin efectuarea unui click pe meniul System Data din pagina Architecture a SISO Design Task. Această manevră deschide fereastra de dialog System Data, prezentată în figura următoare:
3
Pentru importarea modelului motorului de c.c. se parcurg următorii paşi: 1. Se selectează G şi se face click pe Browse. Ca rezultat se deschide fereastra de dialog Model Import, prezentată în continuare.
2. Se selectează sys_dc din lista de modele disponibile. Se face click pe Import, apoi Close. Acum se poate observa sys_dc încărcat în zona G din meniul System Data.
4
3. Se face click pe OK. În acest moment fereastra Graphical Tuning este actualizată cu modelul motorului de c.c. după cum se poate observa din figura următoare:
1.3 Structuri cu reacţie în SISO Tool Configuraţia implicită utilizată de SISO Design Tool este cea cu regulatorul pe calea directă a buclei de reglare, ceea ce înseamnă că structura cu reacţie a sistemului este cea din figura următoare:
Blocurile din buclă au următoarea semnificaţie: • G – proces (instalaţie) • H – dinamica traductorului • F – filtru de intrare (pre-filtru) • C – compensator (regulator, controller) 5
Valorile implicite pentru F, H, şi C sunt toate setate la 1. Acest lucru înseamnă că în mod implicit regulatorul are amplificare unitară. Blocul G conţine modelul motorului de c.c., sys_dc. Pe lângă arhitectura cu reacţie standard prezentată anterior, există şi alte structuri cu reacţie. Pentru implementarea acestor alternative, în fereastra Architecture se face click pe Control Architecture, ceea ce are ca efect deschiderea unei ferestre de dialog.
Click pentru selectarea configuraţiei dorite
Meniurile Signs şi Blocks and Signals pot fi utilizate pentru schimbarea semnului semnalului de reacţie la sumatoare şi respectiv pentru redenumirea blocurilor şi semnalelor din diagramă. Pe oricare din paginile nodului SISO Design Task din Control and Estimation Tools Manager, se poate efectua click pe Show Architecture pentru afişarea arhitecturii curente a sistemului cu reacţie şi a unei liste cu identificatorii şi denumirile asociate componentelor sistemului.
6
Analiza răspunsul sistemelor cu reacţie În funcţie de compensatorul proiectat, este utilă examinarea diferitelor răspunsuri ale sistemului în circuit închis pentru respectivul compensator (răspuns la intrare treaptă, impuls etc.). De exemplu, pentru vizualizarea răspunsului la intrare treaptă al sistemului în buclă închisă, se face click pe meniul Analysis Plots. Această manevră deschide pagina Analysis Plots care conţine o listă cu tipul răspunsurilor disponibile, din care iniţial nu este selectat nici-unul. Se selectează tipul plot-ului pentru fiecare răspuns din Analysis Plots group box, după care se selectează răspunsurile în Contents of Plots table:
După selectarea unui răspuns, se va deschide LTI Viewer care va afişa răspunsul respectiv. De asemenea, se poate efectua click pe Show Analysis Plot pentru deschiderea LTI Viewer. În figura următoare este prezentat graficul pentru răspunsul la intrare treaptă în circuit închis pentru motorul de c.c. Aşa cum se observă din grafic, timpul de răspuns al motorului de c.c. la o intrare de tip treaptă este de aproximativ 1.5 secunde, ceea ce este destul de mult pentru majoritatea aplicaţiilor. De asemenea, există o eroare staţionară de poziţie foarte mare. Pentru îmbunătăţirea performanţelor, se pot folosi diverse tehnici de proiectare (cum ar fi de exemplu tehnicile Bode).
7
În funcţie de selectarea diverselor metode de proiectare a regulatorului, interfaţa LTI Viewer asociată cu SISO Design Task va actualiza în mod automat răspunsurile alese pentru respectiva procedură de proiectare. 1.4 Fereastra Graphical Tuning Fereastra Graphical Tuning este o interfaţă grafică destinată afişării şi manipulării caracteristicilor Bode, Nichols şi a locului rădăcinilor pentru controllerul în curs de proiectare. Majoritatea sarcinilor de proiectare pot fi realizate în cadrul nodului SISO Design Task din Control and Estimation Tools Manager. Multe din aceste sarcini pot fi realizate de asemenea în fereastra Graphical Tuning, deşi ferestrele din SISO Design Task sunt mai uşor de utilizat. Totuşi, există o serie de operaţiuni, cum ar fi ajustarea benzii de frecvenţă, care pot fi efectuate numai cu fereastra Graphical Tuning. În modul implicit, fereastra Graphical Tuning reprezintă: • Polii ca x-uri. • Zerourile ca o-uri. • Marginile de amplitudine şi de fază în colţul din stânga-jos a caracteristicilor Bode amplitudine-frecvenţă şi respectiv fază-frecvenţă. SISO Design Tool furnizează editoare pentru setarea opţiunilor de plotare din fereastra Graphical Tuning. Pentru schimbarea unităţilor de frecvenţă, de exemplu, pe toate caracteristicile Bode create în SISO Design Tool din rad/sec în herţi, se selectează SISO Tool Preferences din meniul Edit al nodului SISO Design Task, aşa cum se observă în continuare.
8
Această manevră deschide fereastra de dialog SISO Tool Preferences:
Pentru realizarea modificării respective se utilizează opţiunile din zona Units. Această schimbare a unităţilor va fi valabilă întreaga sesiune de lucru. SISO Design Tool are meniuri de tip click-dreapta în oricare din zonele de plotare. Dacă se deschide de exemplu meniul caracteristicii Bode de amplitudine prin efectuarea unui click dreapta în zona albă a graficului va apărea următoarea fereastră: 9
Deşi meniurile pentru fiecare plot conţin în general aceleaşi opţiuni, există opţiuni specifice pentru fiecare tip de plot; de exemplu, acolo unde meniul click-dreapta al editorului Closed-Loop Bode Editor are opţiunea Select Compensator, meniul editorului Open-Loop Bode Editor are opţiunea Gain Target. 2 Proiectarea sistemelor în domeniul frecvenţă utilizând diagramele Bode 2.1 Tehnica de proiectare bazată pe diagramele Bode Una dintre tehnicile de proiectare a sistemelor de conducere pentru sisteme liniare este cea bazată pe caracteristicile de frecvenţă (diagramele) Bode în circuit deschis (aşa-numita tehnică “loop shaping”). Prin utilizarea diagramelor Bode, este posibilă: • Proiectarea specificaţiilor pentru marginile de amplitudine şi de fază • Ajustarea lărgimii de bandă • Adăugarea de filtre pentru rejecţia perturbaţiilor Pentru exemplificarea tehnicii de proiectare a unui controller utilizând diagramele Bode, în paragrafele următoare va fi utilizat modelul motorului de c.c. Funcţia de transfer a motorului de c.c., obţinută anterior, are forma: Transfer function: 1.5 -----------------s^2 + 14 s + 40.02 În cazul acestui exemplu, cerinţele de proiectare (performanţele) pentru indicatorii de calitate ai evoluţiei sistemului în circuit închis sunt următoarele: • Timp de creştere mai mic de 0.5 secunde • Eroarea staţionară de poziţie mai mică de 5% • Suprareglaj mai mic de 10% • Marginea de amplitudine mai mare de 20 dB • Marginea de fază mai mare de 40 de grade 2.2 Ajustarea factorului de amplificare al regulatorului Răspunsul la intrare treaptă obţinut cu LTI Viewer arată că sistemul în circuit închis obţinut în paragraful 1.3 este prea lent: 10
Cea mai simplă abordare pentru creşterea vitezei de răspuns este creşterea factorului de amplificare al regulatorului. Pentru aceasta, se procedează astfel: 1. Se face click pe Compensator Editor pentru deschiderea editorului. 2. Se selectează C din lista controllerelor. 3. În caseta de dialog din dreapta semnului “=” în zona compensatorului se introduce de exemplu valoarea 38 şi se apasă Enter.
11
După aceasta, SISO Design Tool va calcula amplificarea controllerului, iar diagramele Bode şi locul rădăcinilor din Graphical Tuning vor fi actualizate. O procedură alternativă constă în setarea amplificării direct în Graphical Tuning prin “agăţarea” liniei graficului Bode al amplitudinii şi deplasarea acestuia în sus (pentru creşterea amplificării). Prin urmare, amplificarea şi polii se modifică, iar noile valori ale compensatorului sunt actualizate în pagina Compensator Editor. 2.3 Ajustarea lărgimii (lăţimii) de bandă Deoarece una dintre cerinţele de proiectare este un timp de creştere sub 0.5 secunde, trebuie încercată setarea amplificării astfel încât frecvenţa de tăiere de c.c. (la 0 dB) să fie aproximativ 3 rad/sec. Motivul pentru care se setează lărgimea de bandă la 3 rad/sec este acela că pentru o aproximare de ordinul unu, aceasta corespunde la o constantă de timp de aproximativ 0.33 secunde. Pentru vizualizarea mai bună a frecvenţei de tăiere se poate selecta opţiunea Grid din meniul tip click-dreapta. Prin efectuarea unui click stânga pe diagrama Bode de amplitudine se poate agăţa curba şi se trage de aceasta până când intersectează linia de 0 dB (pe axa y) la 3 rad/sec. Aceasta modifică atât afişajul SISO Design Tool cât şi răspunsul la intrare treaptă furnizat de LTI Viewer. Pentru o frecvenţă de tăiere de 3 rad/sec, amplificarea controllerului trebuie să fie de aproximativ 38. În mod implicit, fereastra Graphical Tuning afişează valorile marginilor de amplitudine şi de fază în colţurile din stânga jos ale diagramelor Bode. În cazul diagramei Bode de amplitudine, se specifică şi faptul dacă sistemul în circuit închis este stabil sau nu. În figura următoare este prezentată fereastra Graphical Tuning în cazul analizat. Curba corespunzătoare caracteristicii Bode de amplitudine poate fi deplasată în sus sau în jos. Fereastra Graphical Tuning recalculează amplificarea compensatorului pe măsură ce curba este deplasată.
Creşterea amplificării regulatorului modifică marginea de fază la 119 grade. Fereastra Graphical Tuning adaugă un marker pentru indicarea noii margini de fază.
12
În figura de mai jos este prezentat răspunsul la intrare treaptă pentru sistemul în circuit închis, obţinut cu LTI Viewer.
Răspunsul la intrare treaptă (funcţia indicială) arată faptul că eroarea staţionară şi timpul de creştere s-au îmbunătăţit într-o oarecare măsură, dar trebuie proiectat un regulator mai sofisticat pentru îndeplinirea tuturor specificaţiilor de proiectare, şi în special cea legată de eroarea staţionară. 2.4 Adăugarea unui integrator După cum se ştie, pentru anularea erorii de regim staţionar este necesară adăugarea unui integrator (unui pol în origine) în controller. Pentru aceasta, se poate proceda astfel: 1. Se face click pe Compensator Editor pentru deschiderea editorului pentru controller. 2. Se face click dreapta oriunde în tabelul Dynamics, apoi se selectează Add Pole/Zero > Integrator. Procesul de adăugare a integratorului este ilustrat în figurile următoare:
13
14
Adăugarea integratorului modifică frecvenţa de tăiere a sistemului. Prin urmare, trebuie reajustată amplificarea regulatorului pentru a readuce frecvenţa de tăiere la valoarea de 3 rad/sec; factorul de amplificare ar trebui să fie acum în jur de 100. După adăugarea integratorului şi reajustarea amplificării, fereastra Graphical Tuning afişează un ‘x’ roşu în origine pe locul rădăcinilor (corespunzător polului în origine al integratorului).
Adăugarea unui integrator modifică marginea de amplitudine de la infinit la 11.5 dB. Fereastra Graphical Tuning afişează markere colorate pentru marginile de amplitudine şi de fază.
Răspunsul la intrare treaptă al sistemului în circuit închis devine cel din figura de mai jos. Prin utilizarea pe grafic a meniului click-dreapta se pot pune în evidenţă valoarea suprareglajului şi timpul de creştere (listate în meniul Characteristics). Răspunsul la intrare treaptă se stabilizează în jurul lui 1, ceea ce conduce la satisfacerea cerinţei de eroare staţionară. Acest lucru se datorează integratorului, care forţează sistemul spre o eroare staţionară de poziţie nulă. Cu toate acestea, din figură se observă că valoarea maximă a răspunsului este de cca. 1.3, ceea ce înseamnă un suprareglaj de aproximativ 30%; timpul de creştere este de aproximativ 0.4 secunde. Deoarece suprareglajul este peste valoarea impusă de 10%, regulatorul cu un integrator şi cu un factor de amplificare (regulator de tip I) nu este suficient pentru satisfacerea tuturor cerinţelor de proiectare.
15
2.5 Implementarea unui element cu avans de fază O parte dintre cerinţele de proiectare impun o margine de amplitudine de peste 20 dB şi o margine de fază de peste 40°. Regulatorul obţinut până acum asigură o margine de amplitudine de 1.5 dB şi o margine de fază de 38.1°, ceea ce înseamnă că ambii indicatori nu îndeplinesc cerinţele. Timpul de creştere trebuie să fie micşorat pentru îmbunătăţirea performanţelor de stabilitate. O abordare posibilă este creşterea factorului de amplificare (care după cum s-a văzut conduce la creşterea vitezei de răspuns), dar sistemul este deja oscilant, iar creşterea amplificării va conduce la micşorarea marginilor de stabilitate (acest lucru se poate experimenta în SISO Tool prin creşterea amplificării şi verificarea valorilor marginilor de stabilitate). Prin urmare, singura posibilitate este aceea de a adăuga regulatorului anumite dinamici suplimentare. O soluţie posibilă este aceea de a adăuga o reţea (un element) cu avans de fază (lead network). Acestei reţele îi corespunde o funcţie de transfer cu un zero şi un pol, ambele reale şi negative, cu zeroul mai mare decât polul (constanta de timp de la numărător mai mare decât constanta de timp de la numitor, adică o funcţie de tip PD real). Pentru adăugarea reţelei cu avans de fază se procedează astfel: 1. Se face click pe Compensator Editor pentru deschiderea editorului compensatorului. 2. În zona tabelului Dynamics se face click dreapta şi apoi se selectează Add Pole/Zero > Lead. În figurile următoare este prezentat procesul de adăugare a unui element cu avans de fază la regulatorul sistemului. 16
17
Câmpurile editabile pot fi vizualizate în grupul Edit Selected Dynamics în partea dreaptă a paginii atunci când este selectat un item din tabelul Dynamics, aşa cum se poate observa în continuare.
În acest exemplu, zeroul real este setat la -7.38 şi polul real la -11.1. Reţeaua cu avans de fază poate fi adăugată şi direct în fereastra Graphical Tuning, prin efectuarea unui click dreapta în diagrama Bode, selectarea câmpului Add Pole/Zero > Lead, plasarea unui ‘x’ pe plot în locul în care se doreşte adăugarea reţelei, şi efectuarea unui click stânga pentru plasarea acesteia. Pagina Compensator Editor va fi actualizată pentru includerea noii reţele cu avans de fază în tabelul Dynamics. Ferestrele Graphical Tuning şi LTI Viewer vor fi cele din figurile următoare.
18
19
Din răspunsul la intrare treaptă se poate observa că timpul de creştere este acum de aproximativ 25%. Suprareglajul este în continuare prea mare, iar marginile de stabilitate sunt în continuare inacceptabile, ceea ce înseamnă că parametrii reţelei cu avans de fază trebuie acordaţi. 2.6 Deplasarea polilor şi zerourilor compensatorului Pentru îmbunătăţirea vitezei răspunsului se pot modifica polii şi zerourile compensatorului, prin editarea dinamicilor reţelei cu avans de fază în caseta Edit Selected Dynamics din pagina Compensator Editor: 1. Se modifică valoarea zeroului real al reţelei pentru deplasarea acestuia cât mai aproape de cel mai din stânga pol al instalaţiei - motorul de c.c. (marcat printr-un ‘x’ albastru). 2. Se modifică valoarea polului real al reţelei pentru deplasarea acestuia la dreapta. Se observă cum marginea de amplitudine creşte pe măsură ce polul se deplasează. Pe măsură ce se setează parametrii, se poate vizualiza cu LTI Viewer răspunsul la intrare treaptă corespunzător. În figura următoare sunt prezentate valorile finale de proiectare care satisfac cerinţele impuse.
20
Valorile finale de proiectare sunt următoarele: • Polii la 0 şi -28 • Zeroul la -4.3 • Factorul de amplificare = 84 Aceste valori se pot introduce direct în caseta Edit Selected Dynamics, aşa cum se prezintă în continuare.
Răspunsul la intrare treaptă al sistemului în circuit închis este prezentat în continuare. În meniul click-dreapta al LTI Viewer, se poate selecta Characteristics > Peak Response şi Characteristics > Rise Time pentru vizualizarea valorii maxime a răspunsului (şi a suprareglajului) precum şi a timpului de creştere. Prin plasarea mouse-ului deasupra punctelor albastre se vizualizează markerele de date cu valorile respective. Răspunsul la intrare treaptă arată că timpul de creştere este de 0.45 secunde, iar valoarea maximă a răspunsului este de 1.03 rad/sec, ceea ce corespunde unui suprareglaj de 3%. Prin urmare, aceste rezultate satisfac cerinţele de proiectare.
21
2.7 Implementarea unui filtru de rejecţie Dacă se cunosc perturbaţiile care acţionează asupra sistemului la o anumită frecvenţă, atunci se poate utiliza un filtru de rejecţie de tip opreşte-bandă (notch filter) pentru atenuarea amplificării sistemului la acea frecvenţă. Pentru adăugarea filtrului, se efectuează click pe Compensator Editor şi apoi în pagina editorului click dreapta în tabelul Dynamics, după care se selectează Add Pole/Zero > Notch.
22
Valorile implicite sunt furnizate ca în figura de mai jos:
Rezultatele obţinute prin implementarea filtrului se pot observa în continuare:
23
Pentru vizualizarea detaliată a parametrilor filtrului, se poate face click pe iconul Zoom In din fereastra Graphical Tuning. În editorul Open-Loop Bode Editor, se apasă butonul stânga al mouse-ului şi se deplasează mouse-ul pentru desenarea unei casete în jurul filtrului. La eliberarea mouse-ului, fereastra Graphical Tuning va face un zoom al regiunii selectate. Pentru a înţelege modul în care ajustarea parametrilor afectează filtrul, se consideră funcţia de transfer a filtrului de forma:
H f (s ) =
s 2 + 2ξ1ωn s + ωn2
s 2 + 2ξ 2ωn s + ωn2
Cei trei parametri ajustabili sunt ξ1, ξ 2 , ωn . Raportul ξ1 / ξ 2 setează adâncimea filtrului, iar ωn este frecvenţa naturală a filtrului. În diagrama următoare se observă cum prin deplasarea markerelor roşii şi negre se modifică parametrii, şi prin urmare şi funcţia de transfer a filtrului.
Ajustarea lui ξ pentru raportul ξ1 / ξ 2 constant (setarea lăţimii filtrului cu păstrarea constantă a adâncimii) Ajustarea frecvenţei ωn
Ajustarea raportului ξ1 / ξ 2
În tabelul Dynamics se poate selecta linia cu filtrul de rejecţie adăugat. Câmpurile editabile apar în caseta Edit Selected Dynamics:
24
Observaţie. SISO Design Tool poate fi utilizat şi pentru modificarea filtrului de la intrarea sistemului în circuit închis. Aplicaţiile tipice care necesită utilizarea unui prefiltru sunt: realizarea unei structuri de urmărire tip feedforward pentru reducerea sarcinii buclei de reacţie atunci când marginile de stabilitate sunt mici; filtrarea conţinutului de înaltă frecvenţă din semnalul de referinţă în scopul limitării suprareglajului sau pentru evitarea excitării modurilor rezonante instalaţiei. Filtrele uzuale sunt de tip trece-jos şi au rolul de a reduce zgomotul din semnalul de intrare. Pentru implementarea unui filtru de intrare se utilizează meniul click-dreapta în Closed-Loop Bode Editor din fereastra Graphical Tuning, după care se selectează Select Compensators > F(F). 3 Proiectarea sistemelor de conducere cu metoda locului rădăcinilor
Una dintre tehnicile uzuale de proiectare a sistemelor de conducere este locul rădăcinilor. Această abordare presupune un proces iterativ de proiectare ce constă în manipularea amplificării, polilor şi zerourilor regulatorului în diagrama ce reprezintă locul rădăcinilor. Pe măsură ce parametrul k al locului rădăcinilor variază într-o gamă continuă de valori, locul rădăcinilor indică traiectoriile polilor sistemului în circuit închis. În mod tipic, metoda locului rădăcinilor este utilizată pentru acordarea amplificării de buclă a unui sistem de conducere monovariabil (SISO) prin specificarea unui set de locaţii pentru polii sistemului în circuit închis. Să considerăm bucla de urmărire de mai jos:
În acest sistem, P(s ) este procesul (instalaţia), H (s ) reprezintă dinamica traductorului, iar k este un factor de amplificare (scalar) care poate fi ajustat. Polii sistemului în circuit închis sunt rădăcinile ecuaţiei: q(s ) = 1 + k P(s ) H (s ) . Tehnica locului rădăcinilor constă în plotarea traiectoriilor polilor sistemului în circuit închis în planul complex. Graficul obţinut se poate folosi pentru identificarea valorii factorului de amplificare asociat cu setul dorit de poli în circuit închis. Exemplul de proiectare pentru motorul de c.c. prezentat în capitolul anterior s-a bazat pe diagramele Bode obţinute cu SISO Design Tool. Fiecare dintre facilităţile de proiectare disponibile pe diagramele Bode are o variantă corespondentă în locul rădăcinilor. Prin urmare, locul rădăcinilor şi diagramele Bode disponibile în SISO Design Tool furnizează perspective complementare privind aceleaşi probleme de proiectare. Deorece SISO Tool poate afişa simultan şi locul rădăcinilor şi diagramele Bode, se pot combina ambele metode pentru luarea deciziilor de proiectare. 25
4 Proiectarea sistemelor de conducere în SISO Design Tool cu metoda de acordare automată 4.1 Metode de acordare automată
Interfaţa SISO Design Tool a softului MATLAB dispune de o metodă de acordare automată (automated tunning) care simplifică operaţiunea de proiectare şi acordare a compensatoarelor. În total există cinci metode de acordare automată disponibile în SISO Design Tool, metode care permit proiectarea “on-the-fly” a unui controller stabilizator pentru o buclă de reglare SISO, precum şi rafinarea unui compensator deja proiectat, astfel încât să fie satisfăcute cerinţele de proiectare ale utilizatorului. Metodele de acordare automată disponibile sunt următoarele: • Acordarea optimizată – optimizează parametrii regulatorului • Acordarea PID (Proporţional-Integator-Derivator) • Acordarea de tip IMC (Internal Model Control). Permite obţinerea unui controller stabilizator cu reacţie de ordin complet utilizând metoda de control bazată pe model intern. • Sinteza LQG (Linear Quadratic Gaussian). Proiectează un controller stabilizator cu reacţie de ordin complet de tip LQG. • Metoda de tip loop shaping (modelarea buclei). Permite găsirea unui regulator stabilizator cu reacţie de ordin complet cu lărgime de bandă sau formă dorită. Dacă o anumită metodă de acordare nu se aplică sau nu dă rezultate, se încearcă alte specificaţii de proiectare sau se alege o altă metodă de acordare automată.
26
Pentru alegerea unei anumite metode de acordare automată, trebuie analizată stabilitatea părţii fixe a sistemului de reglare automată. Anumite metode de acordare nu se pot aplica dacă aşa-numita parte fixă efectivă (sau instalaţie efectivă) este instabilă. Mai precis, sistemul în circuit deschis L = C Pˆ trebuie să aibă partea fixă efectivă Pˆ stabilă. Partea fixă a unui sistem de reglare automată conţine de regulă procesul (instalaţia), elementul de execuţie şi traductorul. Prin parte fixă efectivă (sau instalaţie efectivă) se înţelege sistemul controlat de regulator (care este în curs de proiectare) şi conţine toate elementele din sistem, altele decât regulatorul propriu-zis. În figurile următoare se prezintă două situaţii posibile. Parte fixă efectivă care conţine procesul propriuzis, un regulator şi două bucle de reacţie
Parte fixă efectivă care conţine procesul propriu-zis şi bucla de reacţie
Fluxul de lucru în procesul de proiectare a regulatorului cu o metodă de acordare automată presupune parcurgerea următoarelor etape: 1. Se selectează o metodă de acordare automată din meniul Design method. 2. Dacă se selectează Optimization-Based Tuning, se procedează conform indicaţiilor din paragraful 4.2. (Acordarea optimizată). 3. Se selectează un compensator din meniul derulant al metodei alese. 4. Se determină modul de lucru al compensatorului şi se setează specificaţiile (cerinţele) de proiectare. 5. Se efectuează click pe Update Compensator şi se analizează modificările apărute în graficele asociate. Dacă în acest proces apare un buton Update Compensator dezactivat, atunci se încearcă alte specificaţii de proiectare (pasul 4) sau se alege o altă metodă de acordare automată (pasul 1). Dacă butonul este dezactivat, acest lucru înseamnă că metoda aleasă nu funcţionează pentru respectivul model. 4.2 Metoda de acordare optimizată
Accesarea metodei de acordare optimizată creează o sarcină de proiectare în cadrul procedurii Automated tuning care are rolul de asistent în procesul de acordare şi optimizare a sistemului de conducere. Dacă pachetul software Simulink® Response Optimization™ este instalat o dată cu MATLAB, atunci se poate utiliza această metodă pentru: 27
• Acordarea directă a semnalelor de ieşire în cadrul modelelor Simulink®. • Acordarea răspunsurilor sistemelor LTI cu SISO Design Task.
4.3 Metoda de acordare PID
Legile de reglare PID (proporţional-integrator-derivator) sunt cele mai uzuale metode de reglare folosite în industria modernă. SISO Design Tool furnizează patru metode de acordare PID, inclusiv o metodă pentru sisteme (procese) instabile (Singular frequency based tuning). În majoritatea aplicaţiilor, regulatoarele PID rezultate în urma procesului de acordare furnizează performanţe acceptabile. Pentru acordarea unui regulator PID, se parcurg următoarele etape: 1. Se selectează un regulator dintre opţiunile de mai jos: • P – regulator de tip proporţional ( C = K p ) • PI – regulator de tip proporţional-integrator ( C = K p +
KI ) s
KI + Kd s ) s K s K • PIDF – regulator de tip PID cu filtru trece-jos ( C = K p + I + d ) s s +1 N Dacă se alege acest ultim regulator, atunci trebuie specificată frecvenţa N în rad/sec. • PID – regulator de tip proporţional-integrator-derivator ( C = K p +
28
2. Se selectează un algoritm de acordare din lista Tuning algorithm: • Singular frequency based tuning – acordare bazată pe frecvenţele singulare. Această metodă implementează tehnici de control robust pentru localizarea regiunilor PID stabilizatoare din spaţiul parametrilor. Această metodă se poate aplica şi proceselor instabile. • Ziegler-Nichols în circuit deschis. Setările regulatorului se bazează pe un model de aproximare al procesului de ordinul unu cu timp de întârziere. Metoda utilizează acordarea Chien-Hrones-Resnick (CHR) cu suprareglaj de 20%. • Ziegler-Nichols în circuit închis. Setările controllerului sunt obţinute dintr-un tabel de tip Ziegler-Nichols modificat, bazat pe amplificarea limită şi frecvenţa de oscilaţie ale sistemului. Metoda Ziegler-Nichols în circuit închis nu se aplică pentru modele ale procesului de ordinul unu sau doi cu timp mort (de întârziere). Dacă se selectează totuşi această metodă pentru astfel de sisteme, algoritmul de acordare este comutat automat pe metoda Ziegler-Nichols în circuit deschis. • Acordarea bazată pe model intern IMC (Internal Model Control). Setările regulatorului sunt derivate dintr-un regulator IMC de ordin complet (de notat faptul că metoda PID cu algoritm IMC este diferită de acordarea IMC, obţinută prin selectarea metodei “Internal Model Control (IMC) Tuning”). 29
3. Se setează opţiunile de acordare disponibile pentru algoritmul de acordare selectat: • Dacă a fost aleasă metoda Singular frequency based tuning, se poate selecta una dintre următoarele opţiuni din lista Performance metric: – Integral Absolute Error (IAE) – criteriul erorii integrale absolute – Integral Square Error (ISE) – criteriul erorii integrale pătratice – Integral Time Absolute Error (ITAE) – criteriul erorii integrale absolute de timp – Integral Time Square Error (ITSE) – criteriul erorii integrale pătratice de timp Toate acestea sunt criterii de performanţă uzuale bazate pe răspunsul în domeniul timp al sistemului.
• Dacă se alege algoritmul Ziegler-Nichols în circuit deschis, se poate selecta o opţiune de acordare prin apăsarea unuia dintre butoanele: – Setpoint tracking – urmărirea referinţei – Load disturbance rejection – rejectarea perturbaţiilor • Dacă se alege algoritmul Ziegler-Nichols în circuit închis, se poate selecta o opţiune de acordare prin apăsarea unuia dintre butoanele: – Ziegler-Nichols – Tyreus-Luyben – Astrom-Hagglund 30
31
• Dacă se alege algoritmul Internal Model Control (IMC) based tuning, se utilizează indicatorul de tip slider pentru setarea constantei de timp dominante a sistemului în circuit închis (Dominant closed-loop time constant). 4. Se efectuează click pe Update Compensator. 4.4 Acordarea automată de tip PID. Exemplu pentru motorul de c.c.
Pentru încărcarea modelului motorului de c.c. se procedează astfel: 1. Dacă modelul nu este încă în workspace, se introduce comanda load ltiexamples
2. Pentru deschiderea SISO Design Tool şi importarea modelului, se tipăreşte sisotool(sys_dc)
la prompterul MATLAB. Această manevră deschide atât nodul SISO Design Task din Control and Estimation Tools Manager, cât şi fereastra Graphical Tuning. 3. Se efectuează click pe Analysis Plots şi apoi se selectează tipul graficului Step pentru Plot 1. După aceea, se bifează căsuţa aferentă pentru Closed-Loop r to y, aşa cum se observă din figura următoare, pentru deschiderea interfeţei asociate LTI Viewer cu răspunsul la intrare treaptă pentru sistemul în circuit închis (de la semnalul de referinţă r la ieşirea y). 4. În fereastra LTI Viewer care apare, se poate utiliza meniul tip click-dreapta pentru vizualizarea timpului de creştere şi a valorii de regim staţionar pe grafic.
32
În mod implicit, compensatorul este de tip proporţional cu factorul de proporţionalitate egal cu 1, iar reacţia negativă este unitară. Atunci când se aplică o treaptă unitară la intrare (la referinţă), valoarea de regim staţionar a ieşirii sistemului este de 0.0361, ceea ce este foarte departe de valoarea unitară a referinţei, iar timpul de creştere este de 0.589 secunde.
Pentru aplicarea metodei de acordare automată de tip PID se procedează astfel: 1. Se efectuează click pe meniul Automated Tuning. 2. Se selectează acordarea PID din lista Design method. 3. Se păstrează C în calitate de compensator implicit.
33
Se poate alege dintre următoarele tipuri de regulatoare: P, PI, PID Proiectarea unui regulator de tip proporţional - P 1. Se alege opţiunea P din linia Controller type, ceea ce înseamnă C = K p . 2. Se selectează o metodă de acordare, de exemplu Ziegler-Nichols în circuit deschis, din lista Tuning algorithm. 3. Se efectuează click pe opţiunea Set-Point Tracking. 4. Se efectuează click pe Update Compensator. Ca urmare a acestor manevre, LTI Viewer este actualizat prin aplicarea metodei de acordare automată PID cu compensator de tip P, iar valoarea factorului de proporţionalitate al compensatorului este acum de 205.49. Din răspunsul la intrare treaptă se observă că timpul de creştere a ajuns la doar 0.0774 secunde, faţă de 0.589 secunde pentru C = 1. Cu toate acestea, valoarea de regim staţionar de 0.885 poate fi îmbunătăţită prin alegerea unui controller de tip PI.
Proiectarea unui regulator de tip PI - proporţional-integrator KI . s 2. Se selectează o metodă de acordare, de exemplu Ziegler-Nichols în circuit deschis, din lista Tuning algorithm. 3. Se efectuează click pe opţiunea Set-Point Tracking. 4. Se efectuează click pe Update Compensator. Ca urmare a acestor manevre, LTI Viewer este actualizat prin aplicarea metodei de acordare automată PID cu compensator de tip PI, iar funcţia de transfer a regulatorului este acum (1 + 0.36s ) . 487.64 × s 1. Se alege opţiunea PI din linia Controller type, adică C = K p +
34
Deşi timpul de creştere a crescut puţin faţă de cazul anterior (0.0876 secunde), se poate observa că valoarea de regim staţionar a ieşirii este 1. Prin urmare, aplicarea metodei de acordare automată PID cu controller de tip PI va garanta o eroare staţionară de poziţie nulă.
4.5 Acordarea automată de tip IMC (Internal Model Control)
Proiectarea bazată pe model intern generează un controller cu reacţie e ordin complet care garantează stabilitatea în circuit închis atunci când eroarea de modelare este nulă. Regulatorul conţine şi un integrator, care garantează eroare de poziţie de regim staţionar nulă pentru procesele fără derivator (fără zerou în origine). Metoda de acordare bazată pe model intern poate fi utilizată atât pentru procese stabile cât şi pentru procese instabile. Pentru proiectarea unui regulator de tip IMC se procedează astfel: 1. Se specifică o valoare în câmpul Dominant closed-loop time constant (constanta de timp dominantă a sistemului în circuit închis). Valoarea iniţială a acestei constante este setată la 5% din valoarea duratei de regim tranzitoriu pentru sistemul în circuit deschis. În general, creşterea acestei valori conduce la micşorarea vitezei de răspuns a sistemului în circuit închis şi îl face mai robust. 2. Se specifică o valoare în câmpul Desired controller order (ordinul regulatorului) utilizând indicatorul de tip slider. După ce se obţine un regulator de ordin complet, se poate încerca reducerea ordinului acestuia. Prin reducerea ordinului controllerului, performanţele sistemului se pot înrăutăţi şi se poate pierde chiar şi stabilitatea sistemului în circuit închis. 3. Se efectuează click pe Update Compensator. 35
4.6 Acordarea automată pe baza sintezei LQG
Proiectarea prin metoda LQG (Linear Quadratic Gaussian) conduce la un regulator cu reacţie de ordin complet care garantează stabilitatea sistemului în circuit închis. Regulatorul conţine şi un integrator suplimentar, care garantează eroare staţionară nulă (pentru procese fără derivator). Detalii despre metoda LQG sunt prezentate în capitolul următor. Pentru proiectarea automată a unui regulator LQG se procedează astfel: 1. Se specifică preferinţele pentru răspunsul controllerului utilizând indicatorul de tip slider Controller response. • Se deplasează sliderul spre stânga pentru un răspuns mai agresiv al controllerului. Acest lucru înseamnă faptul că un suprareglaj mare este penalizat mai tare, astfel încât controllerul acţionează mai puternic. Dacă se consideră că modelul este precis şi că mărimea reglată are un domeniu de variaţie admisibil destul de larg, atunci un controller mai agresiv este de dorit. • Se deplasează sliderul spre dreapta pentru un răspuns robust al controllerului. 2. Se specifică estimarea nivelului zgomotului de măsurare utilizând indicatorul de tip slider Measurement noise. • Se deplasează sliderul spre stânga pentru cazul în care zgomotul de măsurare este considerat mic. Acest lucru înseamnă că se aşteaptă un nivel mic al zgomotului ce apare la măsurătorile ieşirii procesului. Deoarece aceste măsurători sunt utilizate de către estimatorul Kalman înglobat în controller, perturbaţiile ce acţionează asupra procesului vor fi preluate cu mai mare 36
acurateţe în estimările stărilor. În acest caz, controllerul este mai puţin robust dacă eventualele zgomote sunt de nivel mare. • Se deplasează sliderul spre dreapta dacă zgomotele provenite din măsurători sunt considerate de nivel mare. Această setare are ca rezultat un controller mai robust la zgomotul de măsurare. 3. Se setează preferinţa legată de ordinul controllerului prin utilizarea indicatorului de tip slider Desired controller order. 4. Se face click pe Update Compensator.
4.7 Acordarea automată cu metoda Loop Shaping
Metoda de tip loop shaping (modelarea buclei) permite proiectarea unui regulator stabilizator cu reacţie de ordin complet cu lărgime de bandă sau formă dorită. Prin urmare, forma dorită a buclei poate fi specificată prin alegerea unei lărgimi de bandă dorite sau prin modelarea răspunsului în frecvenţă a sistemului în circuit deschis. În cazul în care este instalat toolboxul Robust Control al MATLAB, se poate utiliza metoda loop shaping pentru sisteme SISO (informaţii suplimentare se pot obţine prin studierea secţiunii H-Infinity Loop Shaping din Robust Control Toolbox User’s Guide). Pentru proiectarea unui controller cu metoda de acordare automată loop shaping se procedează astfel: 37
1. Se selectează o preferinţă de acordare prin acţionarea următoarelor butoane de opţiuni: • Target bandwidth – permite specificarea unei „ţinte” pentru lărgimea de bandă ωb . De aici rezultă o anumită formă a buclei în funcţie de valoarea aleasă pentru lărgimea de bandă, cuplată cu un integrator:
ωb
. s • Target loop shape – permte specificarea unei „ţinte” pentru forma buclei întruna din următoarele reprezentări: spaţiul stărilor, amplificare-poli-zerouri sau funcţie de transfer. 2. Se setează opţiunile de acordare disponibile pentru una dintre cele două preferinţe setate mai sus, după cum urmează: • Dacă a fost aleasă Target bandwidth, trebuie specificată lărgimea de bandă dorită (Target open-loop bandwidth) în câmpul editabil corespunzător.
• Dacă a fost aleasă Target loop shape, se procedează astfel: – Se introduce forma dorită pentru sistemul în circuit deschis (Target open-loop shape). Această formă poate fi o reprezentare de stare, o reprezentare amplificare-poli-zerouri sau o funcţie de transfer. – Se introduce domeniul de frecvenţă dorit pentru modelarea buclei [wmin,wmax]. 38
3. Se specifică ordinul controllerului cu ajutorul indicatorului Desired controller order. 4. Se efectuează click pe Update Compensator. 5 Funcţii MATLAB pentru proiectarea sistemelor de conducere 5.1 Proiectarea în spaţiul stărilor bazată pe alocarea polilor
Prin proiectarea unui sistem de conducere se poate înţelege în sens larg procesul de selectare a factorilor de amplificare de pe reacţie astfel încât sistemul de reglare în circuit închis să satisfacă specificaţiile de proiectare. Majoritatea metodelor de proiectare deja prezentate, bazate pe interfaţa SISO Design Tool, sunt iterative, combină selecţia parametrilor cu analiza şi simularea dinamicilor procesului. Suplimentar faţă de utilizarea SISO Design Tool, se pot utiliza funcţii puternice MATLAB pentru o gamă largă de aplicaţii de conducere, incluzând aici: • Proiectarea sistemelor SISO clasică • Proiectarea modernă a sistemelor multivariabile (MIMO), cum ar fi alocarea poli-zerouri şi metodele de tip LQG De exemplu, în tabelul următor sunt prezentate funcţiile MATLAB care permit proiectarea bazată pe locul rădăcinilor:
39
Funcţie pzmap rlocus sgrid sisotool zgrid
Descriere Trasează harta poli-zerouri Trasează locul rădăcinilor Evans Trasează graficul cu caroiaj şi parametrizat după ωn şi ξ al locului rădăcinilor pentru sisteme continue Interfaţa grafică de tip GUI pentru locul rădăcinilor Trasează graficul cu caroiaj şi parametrizat după ωn şi ξ al locului rădăcinilor pentru sisteme discrete
Locaţiile polilor şi zerourilor sistemului în circuit închis au un impact direct asupra unor caracteristici ale sistemului precum timpul de creştere, durata regimului tranzitoriu, oscilaţiile din regimul tranzitoriu etc. Locul rădăcinilor utilizează factorii de amplificare ai controllerului pentru deplasarea polilor sistemului în circuit închis pentru ca acesta să satisfacă specificaţiile de proiectare. Pe de altă parte, se pot utiliza tehnicile de proiectare din spaţiul stărilor pentru alocarea acestor poli ai sistemului în circuit închis. Aceste tehnici sunt cunoscute generic sub numele de metode de alocare poli-zerouri, care diferă de tehnicile bazate pe locul rădăcinilor prin următoarele: • Prin utilizarea tehnicilor de alocare a polilor se pot proiecta compensatoare dinamice. • Tehnicile de alocare a polilor se pot aplica la sisteme multivariabile (MIMO). Alocarea polilor necesită un model de stare al sistemului (se poate folosi funcţia MATLAB ss pentru conversia altor modele în formatul de stare). În domeniul continuu, modelele de stare sunt de forma: dx = x& = Ax + Bu dt y = Cx + Du unde A, B, C, şi D sunt matrice de dimensiuni corespunzătoare, x este vectorul de stare, iar u şi y sunt vectorii de intrare şi de ieşire. Proiectarea legii de reglare după stare (setarea factorilor de amplificare de reacţie) Prin proiectarea unei legi de reglare după stare de forma u = − Kx , dinamica sistemului în circuit închis devine x& = ( A − BK )x , şi prin urmare polii sistemului în circuit închis sunt de fapt valorile proprii ale matricei A − BK . 40
Dacă se foloseşte funcţia place, se poate calcula o matrice de amplificare K , matrice care permite asignarea polii sistemului în circuit închis în locaţii dorite din planul complex (dacă bineînţeles sistemul este controlabil, adică perechea ( A, B ) este controlabilă). De exemplu, dacă vectorul p conţine locaţiile dorite pentru polii sistemului în circuit închis, comanda: K = place(A,B,p);
calculează matricea de amplificare corespunzătoare K. Proiectarea estimatorului de stare Legea cu reacţie după stare u = − Kx prezentată mai sus poate fi implementată doar dacă toate variabilele de stare x sunt cunoscute (măsurabile). Cu toate acestea, dacă există variabile de stare care nu se pot măsura, se poate construi un estimator de stare (observer) care furnizează estimaţii on-line ale variabilelor de stare xˆ . Legea de reglare u = − Kxˆ , care foloseşte estimaţiile variabilelor de stare, conduce la o alocare a polilor şi la obţinerea unor performanţe în circuit închis similare cu cele care s-ar fi obţinut dacă toate stările erau măsurabile. Acest lucru se poate realiza prin proiectarea unui estimator (observer) de stare de forma:
x&ˆ = Axˆ + Bu + L( y − Cxˆ − Du ) . Polii estimatorului de stare sunt valorile proprii ale matricei A − LC , care pot fi alocate arbitrar printr-o alegere potrivită a matricei de amplificare L a estimatorului, cu condiţia ca sistemul să fie observabil (perechea (C, A) să fie observabilă). În general, dinamicile estimatorului trebuie să fie mai rapide decât dinamicile controllerului (valorile proprii ale matricei A − BK ). Funcţia place se poate folosi pentru calculul matricei L : L = place(A',C',q)
unde q este vectorul care conţine valorile dorite pentru polii în circuit închis ai observerului. Prin înlocuirea vectorului x cu estimaţia acestuia xˆ în legea de reglare u = − Kx obţinem o lege dinamică de reglare cu reacţie după ieşire: xˆ& = [ A − LC − (B − LD )K ]xˆ + Ly u = − Kxˆ Sistemul în circuit închis rezultat are următoarea dinamică: x& A − BK e& = 0
BK x , A _ LC e
e = x − xˆ 41
De aici rezultă că se pot asigna toţi polii sistemului în circuit închis prin alocarea independentă a valorilor proprii ale controllerului A − BK şi respectiv ale estimatorului de stare A − LC (principiul separării). Exemplu Se consideră un model continuu în spaţiul stărilor de forma sys_pp = ss(A,B,C,D)
cu şapte ieşiri şi patru intrări. Să presupunem că au fost proiectate: • O lege de reglare cu reacţie după stare, adică o matrice de amplificare K, utilizând intrările 1, 2, şi 4 ale procesului ca mărimi de comandă • Un observer de stare cu matricea L folosind ieşirile 4, 7, şi 1 ale procesului ca mărimi măsurate (provenind de la traductoare) • Intrarea 3 a procesului ca mărime de intrare adiţională cunoscută Atunci se pot conecta legea de reglare (controllerul) şi estimatorul, şi se obţine legea dinamică de reglare cu reacţie prin introducerea următorului cod: controls = [1,2,4]; sensors = [4,7,1]; known = [3]; regulator = reg(sys_pp,K,L,sensors,known,controls)
Instrumente software pentru plasarea polilor Funcţiile specializate MATLAB pot fi utilizate pentru: • Calculul matricelor de amplificare K şi L şi prin urmare obţinerea locaţiilor dorite pentru polii în circuit închis. • Construirea estimatorului de stare şi a controllerului folosind aceste matrice de amplificare. În tabelul următor sunt prezentate funcţiile MATLAB care permit proiectarea bazată pe alocarea polilor: Funcţie acker estim place reg
Descriere Alocarea polilor pentru sisteme SISO (algoritmul Ackermann) Formează estimatorul de stare pe baza matricei de amplificare a estimatorului Alocarea polilor pentru sisteme MIMO Formează regulatorul cu reacţie după ieşire pe baza matricelor de amplificare ale controllerului şi estimatorului
Observaţii. Funcţia acker este limitată la sisteme monovariabile şi trebuie utilizată pentru sisteme cu număr mic de variabile de stare. Funcţia place este mai generală şi este mai robustă din punct de vedere numeric decât acker. 42
Procedura de alocare a polilor poate fi rău condiţionată din punct de vedere numeric dacă se aleg locaţii nerealiste ale polilor. În particular, trebuie evitată: • Plasarea mai multor poli în aceeaşi locaţie. • Mutarea polilor care sunt slab controlabili sau observabili. Acest lucru necesită în mod uzual amplificări mari, ceea ce conduce la o structură a valorilor proprii ale circuitului închis foarte sensibilă la perturbaţii. 5.2 Proiectarea cu metoda LQG (Linear-Quadratic-Gaussian)
Metoda LQG este o tehnică modernă de proiectare în spaţiul stărilor a legilor de reglare dinamice optimale. Metoda permite realizarea unui compromis între performanţele obţinute şi efortul de reglare, şi ia în considerare perturbaţiile care acţionează asupra procesului, precum şi zgomotul de măsurare. Ca şi metoda de alocare a polilor, proiectarea LQG necesită un model de stare al procesului ((se poate folosi funcţia MATLAB ss pentru conversia altor modele în formatul de stare). În continuare va fi prezentată pe scurt metoda LQG pentru sisteme continue (se pot consulta informaţiile disponibile în manuale şi prin help pentru funcţiile dlqr şi kalman pentru proiectarea LQG discretă). Proiectarea prin metoda LQG se referă la următoarea problemă de reglare: perturbaţie
Proces
Regulator zgomot
Scopul conducerii este reglarea ieşirii y a sistemului la zero. Asupra procesului acţionează perturbaţiile w , iar vectorul mărimilor de comandă este u . Mărimile de comandă sunt generate de către regulator pe baza măsurătorilor ieşirii y = y + v , afectate de zgomotul v . Ecuaţiile de stare şi ale ieşirii sunt de forma: x& = Ax + Bu + Gw y = Cx + Du + Hw + v unde atât w cât şi v sunt modelate ca zgomote albe. Regulatorul LQG constă dintr-o lege de reglare optimală cu reacţie după stare şi dintr-un estimator de stare de tip Kalman. Cele două componente ale legii de reglare LQG se pot proiecta în mod independent. Legea de reglare optimală cu reacţie după stare (Optimal State-Feedback Gain) În reglarea LQG, performanţele de reglare sunt măsurate printr-un criteriu integral pătratic de performanţă de forma: 43
J (u ) =
∫ {x
∞
T
}
Qx + 2 xT Nu + u T Ru dt
0
Matricele de ponderare Q, N şi R sunt specificate de proiectant şi definesc compromisul dintre performanţele de reglare (rapiditatea cu care ieşirea tinde la zero) şi efortul de reglare. Primul pas al procedurii de proiectare constă în găsirea unei legi de reglare cu reacţie după stare u = − Kx care minimizează criteriul J (u ) (numit şi funcţie cost). Matricea de amplificare K care satisface acest criteriu se obţine prin rezolvarea unei ecuaţii Riccati algebrice. Această amplificare este denumită matrice de amplificare LQ-optimală. În MATLAB, sintaxa de implementare a metodei este simplă. Dacă se dă sistemul (A,B,C,D) şi matricele de ponderare Q, R şi N, se utilizează funcţia lqr pentru construirea legii de reglare LQ-optimale, şi anume K. K= lqr(A,B,Q,R,N)
Dacă N este omis, atunci valoarea sa implicită este 0. Estimatorul de stare de tip Kalman Ca şi în cazul metodei de alocare a polilor, legea de reglare LQ-optimală cu reacţie după stare u = − Kx nu poate fi implementată dacă nu se cunosc (nu se măsoară) variabilele de stare. Este posibilă însă proiectarea unui estimator de stare care furnizează estimaţiile xˆ , astfel încât legea de reglare u = − Kxˆ să rămână optimală în cazul reacţiei după ieşire. Estimaţiile variabilelor de stare sunt generate de către un filtru Kalman x&ˆ = Axˆ + Bu + L( y − Cxˆ − Du ) având ca intrări mărimile de comandă u şi măsurătorile corupte de zgomot y . Funcţiile de covarianţă ale zgomotelor:
( )
( )
( )
E wwT = Qn , E vvT = Rn , E wvT = N n permit obţinerea matricei de amplificare Kalman L prin intermediul unei ecuaţii algebrice Riccati. Filtrul Kalman este un estimator optimal atunci când lucrează cu zgomot alb de tip Gaussian. În mod specific, el minimizează matricea de covarianţă asimptotică
lim E ((x − xˆ )(x − xˆ )
T
t →∞
)
a erorii de estimare x − xˆ . 44
Estimatorul Kalman
Sintaxa de implementare a filtrului Kalman în MATLAB se bazează pe funcţia kalman. Comanda [kest,L,P] = kalman(sys_kf,Qn,Rn,Nn);
returnează modelul de stare kest al estimatorului Kalman atunci când se dă modelul procesului sys_kf şi matricele de covarianţă ale zgomotelor Qn , Rn şi N n . L este matricea de amplificare Kalman şi P este matricea de covarianţă. Matricea Qn are dimensiunea egală cu (dimensiunea lui w ) × (dimensiunea lui w ), Rn : (dimensiunea lui y ) × (dimensiunea lui y ), iar N n : (dimensiunea lui w ) × (dimensiunea lui y ). Legea de reglare LQG Pentru construirea regulatorului LQG trebuie realizată conectarea filtrului Kalman cu legea de reglare LQ-optimală, aşa cum se observă în figura următoare. Proces
Filtrul Kalman
Regulatorul LQG
Regulatorul LQG are următoarele ecuaţii: x&ˆ = [ A − LC − (B − LD )K ]xˆ + Ly u = − Kxˆ Dacă au fost deja construite filtrul Kalman, kest, şi legea de reglare, K, atunci se utilizează funcţia lqgreg pentru implementarea regulatorului LQG. regulator = lqgreg(kest, K);
45
Instrumente software pentru proiectarea LQG Funcţiile specializate MATLAB acoperă atât proiectarea regulatoarelor LQG pentru procese continue cât şi a regulatoarelor LQG pentru procese discrete. Tabelul următor descrie funcţiile de proiectare LQG. Funcţie care dare dlqr kalman kalmd lqgreg lqr lqrd lqry
Descriere Rezolvă ecuaţii algebrice Riccati în domeniul timp continuu Rezolvă ecuaţii algebrice Riccati în domeniul timp discret Legea de reglare LQ-optimală pentru sisteme discrete Estimatorul Kalman Estimatorul discret Kalman pentru procese continue Formează regulatorul LQG atunci când sunt disponibile amplificarea LQ şi filtrul Kalman Legea de reglare LQ-optimală pentru sisteme continue Legea de reglare LQ-optimală discretă pentru procese continue Legea de reglare LQ-optimală fără ponderarea ieşirii
Exemplu de proiectare LQG Se consideră următoarea problemă de reglare. Proces
Regulatorul LQG
Scopul conducerii este reglarea ieşirii procesului la zero. Perturbaţia de la intrare d este de frecvenţă joasă cu densitatea spectrală de putere (PSD – power spectral density) concentrată sub 10 rad/sec. În scopul proiectării LQG, perturbaţia este modelată ca un zgomot alb furnizat de un filtru trece jos cu frecvenţa de tăiere de 10 rad/sec, aşa cum se observă în continuare. (zgomot colorat)
(zgomot alb)
Filtru trece jos
În figura următoare este prezentată caracteristica amplitudine-frecvenţă a filtrului trece jos.
46
Markerul verifică frecvenţa de tăiere a filtrului de 10 rad/sec în punctul de – 3 dB.
Măsurătorile sunt influenţate de un zgomot n, a cărui intensitate este dată de
( )
E n 2 = 0.01 Se utilizează funcţia cost: ∞
(
)
J (u ) = ∫ 10 y 2 + u 2 dt 0
pentru specificarea compromisului performanţe / cost reglare. Modelul de stare în circuit deschis este: x& = Ax + Bu + Bd y = Cx + n unde ( A, B, C ) este o realizare de stare a funcţiei de transfer
100
. s 2 + s + 100 Următoarele comenzi MATLAB realizează proiectarea unui regulator LQG optimal F (s ) pentru problema de reglare considerată. sys = ss(tf(100,[1 1 100])) % Model de stare proces % Proiectarea legii LQ-optimal (amplificarea K) 47
K = lqry(sys,10,1) % u = -Kx minimizeaza J(u) % Se separa intrarea de comanda u si perturbatia d P = sys(:,[1 1]); % input [u;d], output y % Proiectarea estimatorului de stare Kalman: Kest Kest = kalman(P,1,0.01) % Formarea regulatorului LQG =legea LQ+filtrul Kalman F = lqgreg(Kest,K)
Ultima comandă returnează un model de stare F al regulatorului LQG F (s ) . Observaţie. Funcţiile lqry, kalman, şi lqgreg realizează o proiectare LQG discretă atunci când sunt aplicate unor procese discrete. Pentru validarea proiectării, se închide bucla cu ajutorul comenzii feedback, apoi se creează şi se adaugă filtrul trece jos în serie cu sistemul în circuit închis, apoi se compară răspunsul la impuls în circuit deschis cu răspunsul la impuls în circuit închis, folosind funcţia impulse. % Inchiderea buclei clsys = feedback(sys,F,+1) % Observati reactia pozitiva % Crearea FTJ si conectarea lui in serie cu clsys s = tf('s'); lpf= 10/(s+10) ; clsys_fin = lpf*clsys; % Raspunsurile in circuit deschis vs. circuit inchis impulse(sys,'r--',clsys_fin,'b-')
În figura de mai jos se observă răspunsurile la impuls în circuit deschis (linie roşie întreruptă) versus circuit închis (linie albastră continuă). Observaţie. Problema de proiectare LQG standard se referă la reglarea ieşirii procesului la o valoare nulă (referinţă nulă). Tehnica LQG se poate aplica şi în cazul problemelor de urmărire, unde scopul de conducere este ca ieşirea să urmărească un semnal de intrare impus r (dacă acesta este constant, atunci se numeşte referinţă). În acest caz, pentru reformularea problemei, trebuie comparată ieşirea y a sistemului cu semnalul impus. Prin urmare, scopul este acum de a forţa eroarea dintre ieşire şi referinţă să tindă către zero. O practică uzuală în această situaţie este de a adăuga un integrator pentru eroarea e = y - r, în scopul anulării acesteia.
48
6 Proiectarea în MATLAB a sistemelor de reglare în cascadă (multi-buclă)
În numeroase aplicaţii de conducere, proiectarea unei singure bucle de reglare nu este fezabilă. În aceste situaţii se poate proiecta un sistem de reglare în cascadă, cu două (în mod uzual) sau mai multe bucle de reglare concentrice. Interfaţa de proiectare SISO Design Tool poate fi utilizată şi în acest caz pentru proiectarea compensatoarelor sistemului de reglare în cascadă. Fluxul de proiectare a sistemelor de reglare în cascadă (multi-loop) Procedura tipică constă în proiectarea de la interior spre exterior: mai întâi se realizează o proiectare de sine-stătătoare a buclei de reglare interioare, şi apoi proiectarea buclei exterioare. SISO Design Tool se poate seta astfel încât să se “izoleze” buclele individuale. Interfaţa va ignora dinamica buclei exterioare. După proiectarea buclei interioare, se continuă proiectarea compensatorului pentru bucla externă (bucla principală), astfel încât să fie îndeplinite specificaţiile de proiectare în circuit închis. Exemplu de proiectare a sistemelor de reglare în cascadă: motorul de c.c. Sistemul de reglare studiat în continuare are ca scop reglarea poziţiei (unghiului) la arborele motorului de c.c., spre deosebire de exemplele discutate anterior, la care se dorea reglarea vitezei unghiulare. Schema de reglare în cascadă a motorului de c.c. este prezentată în continuare. Din figură se pot observa cele două bucle de reglare, una interioară, de reglare a vitezei unghiulare, prevăzută cu controllerul (regulatorul) C2 , şi una exterioară, cu regulatorul C1 . Poziţia unghiulară se obţine din turaţie prin aplicarea unui integrator. 49
Scopul reglării pentru acest exemplu este micşorarea duratei regimului tranzitoriu pentru întreg sistemul în circuit închis, precum şi menţinerea simultană a unei margini de fază de cel puţin 65º cu lărgime de bandă maximă, pentru bucla interioară. Proiectarea sistemului de reglare în cascadă pentru motorul de c.c. implică următoarele etape: • Dezvoltarea modelului matematic al motorului de c.c. • Selectarea arhitecturii de conducere şi importarea modelului • Proiectarea buclei interioare • Acordarea buclei exterioare • Validarea proiectării cu LTI Viewer/SISO Design Dezvoltarea modelului matematic al motorului de c.c. Parametrii fizici esenţiali sunt următorii: R=2.0 L = 0.5 Km=0.1; Kb = 0.1 Kf= 0.2; J = 0.02
% % % % % %
Ohms Henrys Constanta de cuplu Constanta electromotoare Nms kg.m^2/s^2
În primul rând se construieşte un model de stare al motorului de c.c., considerând ca intrare tensiunea aplicată Va , iar ca ieşire viteza unghiulară ω . h1 = tf(Km,[L,R]); % h2 = tf(1,[J, Kf]) % dcm = ss(h2) *h1; % dcm = feedback(dcm, Kb,
Armature Ecuatia miscarii w = h2 in serie cu h1 1, 1);% Inchiderea buclei
Pentru a adapta acest model la arhitecturile posibile din SISO Tool, se alege aşanumita configuraţie multi-buclă:
50
Prin compararea acestei arhitecturi cu diagrama bloc a sistemului de reglare în cascadă, se observă că acestea nu se potrivesc. Cu toate acestea, folosind regulile de transformare a schemelor bloc, se poate manipula schema originală pentru ca aceasta să se încadreze în arhitectura disponibilă în SISO Design Tool. Schema obţinută este prezentată mai jos.
Pentru obţinerea acestei reprezentări, se adaugă un derivator ideal în bucla interioară pentru păstrarea echivalenţei celor două scheme. Canalul intrare-ieşire de la Va la ω este dcm(1), la care se va adăuga un integrator pentru obţinerea poziţiei unghiulare θ . G = dcm*tf(1,[1,0])%Motor cu integrator; iesire theta C2 = tf('s') % Derivatorul
Selectarea arhitecturii de conducere şi importarea modelului Se deschide SISO Design Tool cu comanda sisotool la prompterul MATLAB. După deschiderea Controls & Estimation Tools Manager, se face click pe Control Architecture în pagina Architecture. Se selectează configuraţia multi-buclă cu două compensatoare, C1 în bucla principală (exterioară) şi C2 în bucla interioară.
51
În continuare se importă parametrii modelului prin efectuarea unui click pe System Data din meniul Architecture. Se deschide caseta de dialog System Data. Se setează G la valoarea G din workspace. Se presupune că avem un traductor ideal şi se setează H la 1. C1 şi C2 sunt factorii de proporţionalitate ai controllerelor ce vor fi proiectate. Se setează C1 la 1 şi C2 la valoarea C2 din workspace. Caseta de dialog System Data trebuie să arate ca cea din figura următoare.
După selectarea arhitecturii multi-buclă, se efectuează click pe meniul Graphical Tuning. Se setează tipurile de grafice astfel: 1. Open-Loop 1 la "Root-Locus" 2. Open-Loop 2 la "Open-Loop Bode" Pagina Graphical Tuning va trebui să arate astfel:
52
Se face click pe Show Design Plot pentru vizualizarea editorului SISO Design.
Proiectarea buclei interioare Pentru proiectarea buclei interioare se merge în pagina Architecture unde se elimină efectele buclei externe prin parcurgerea următorilor paşi: 1. Click pe Loop Configuration. Se deschide caseta de dialog Open-Loop Configuration. 2. Din meniul derulant se selectează Open-Loop Output pentru C2 . 3. Click pe Highlight feedback loop. Acestă manevră deschide o figură cu arhitectura sistemului de conducere care prezintă configuraţia buclelor.
53
Se observă că regulatorul C1 şi bucla externă sunt marcate cu gri, ceea ce înseamnă că acestea nu vor avea efect asupra buclei interioare în acest stadiu al proiectării. După aceasta, se revine la SISO Design Graphical editor, şi se utilizează diagrama Bode pentru bucla 2 (bucla interioară) în circuit deschis (open loop 2) pentru creşterea amplificării în scopul obţinerii unei lărgimi de bandă maxime la o margine de fază de peste 65º. În mod normal se obţine un factor de proporţionalitate de aproximativ 16.1 pentru C2 .
Prin aceasta se încheie procedura de proiectare a buclei interioare. Acordarea buclei exterioare Scopul proiectării pentru bucla externă este acela de minimizare a duratei regimului tranzitoriu. Trebuie remarcat faptul că bucla externă “poate vedea” bucla interioară, şi prin urmare acordarea va afecta întregul sistem. Se parcurg următorii paşi: 1. În meniul Analysis Plot din Controls & Estimation Tools Manager se selectează caseta Closed-Loop r to y. 2. Se selectează step din meniul derulant pentru Plot 1. Această manevră va deschide LTI Viewer pentru SISO Design. 54
3. Se efectuează click dreapta în zona răspunsului la intrare treaptă selectează Characteristics>Settling Time. LTI Viewer ar trebui să arate astfel:
şi se
Se observă că durata regimului tranzitoriu este de aproximativ 79 sec. Se revine în SISO Design Graphical editor şi se creşte amplificarea lui C1 în locul rădăcinilor. La o amplificare de aproximativ 90.2, se va observa cum perechea de poli complecşi se deplasează către o constantă de timp mai lentă, în timp ce al treilea pol se deplasează către o constantă de timp mai rapidă. Acest compromis se poate vizualiza în LTI Viewer pentru SISO Design. Pe măsură ce amplificarea se modifică, se schimbă şi răspunsul sistemului în circuit închis. Factorul de amplificare de 90.2 pare să realizeze un bun compromis între timpul de creştere şi durata regimului tranzitoriu. Validarea proiectării cu LTI Viewer/SISO Design Dacă se revine la interfaţa LTI Viewer pentru SISO Design, este evident faptul că durata regimului tranzitoriu este mult mai mică decât valoarea iniţială de 78.9 sec. Aşa cum se observă din răspunsul la intrare treaptă, durata regimului tranzitoriu este de aproximativ 0.8 sec, iar marginea de fază este de peste 65º în bucla interioară, ceea ce înseamnă că procesul de proiectare a sistemului de reglare în cascadă este încheiat.
55
56