florin s. tudor, florin stoican, tudor c. ionescu,...
TRANSCRIPT
Florin S. Tudor, Florin Stoican, Tudor C. Ionescu,Cristian Oara, Radu Stefan
PROIECTAREA IN FRECVENTA A SISTEMELOR DE REGLAREAUTOMATA. INDRUMAR DE LABORATOR
Universitatea Politehnica BucurestiFacultatea de Automatica si Calculatoare
Departamentul de Automatica si Ingineria Sistemelor
Proiectarea ın Frecventa aSistemelor de Reglare Automata.
Indrumar de laborator
Florin S. Tudor, Florin Stoican, Tudor C. Ionescu,Cristian Oara, Radu Stefan
Bucuresti, 2019
Cuprins
1. Stabilizare si performante dinamice ale SRA 131.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.2. Sarcini de lucru . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.3. Sarcini aditionale . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2. Performantele si robustetea SRA 302.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.2. Sarcini de lucru . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.3. Sarcini aditionale . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3. Limitari fundamentale ale SRA 633.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.2. Sarcini de lucru . . . . . . . . . . . . . . . . . . . . . . . . . . . 733.3. Sarcini aditionale . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4. Tehnica de loopshaping 874.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . 874.2. Sarcini de lucru . . . . . . . . . . . . . . . . . . . . . . . . . . . 964.3. Sarcini aditionale . . . . . . . . . . . . . . . . . . . . . . . . . . 112
A. Anexa – laborator 1 119A.1. Introducere ın Simulink . . . . . . . . . . . . . . . . . . . . . . 119A.2. Algoritmul Euclid . . . . . . . . . . . . . . . . . . . . . . . . . . 122A.3. Listing-uri pentru problemele rezolvate . . . . . . . . . . . . . . 124
B. Anexa – laborator 2 127B.1. Robust Control Toolbox . . . . . . . . . . . . . . . . . . . . . . 127B.2. Datele problemei R2.6 – fisierul dateInterp.mat . . . . . . . . 128B.3. Listing-uri pentru problemele rezolvate . . . . . . . . . . . . . . 130
C. Anexa – laborator 3 136C.1. Listing-uri pentru problemele rezolvate . . . . . . . . . . . . . . 136
6 Teoria sistemelor automate. Indrumar de laborator
D. Anexa – laborator 4 139D.1. Listing-uri pentru problemele rezolvate . . . . . . . . . . . . . . 139D.2. Listing-uri pentru problemele rezolvate . . . . . . . . . . . . . . 144
Note bibliografice 146
Lista de listing-uri
A.1. Implementare a algoritmului lui Euclid . . . . . . . . . . . . . . 122A.2. Implementare factorizare coprima . . . . . . . . . . . . . . . . . 123A.3. Cod Matlab pentru Problema R1.1 . . . . . . . . . . . . . . . . 124A.4. Cod Matlab pentru Problema R1.2 . . . . . . . . . . . . . . . . 124A.5. Cod Matlab pentru Problema R1.3 . . . . . . . . . . . . . . . . 124A.6. Cod Matlab pentru Problema R1.4 . . . . . . . . . . . . . . . . 124A.7. Cod Matlab pentru Problema R1.4 partea 2 . . . . . . . . . . . 124A.8. Cod Matlab pentru Problema R1.5 . . . . . . . . . . . . . . . . 125A.9. Cod Matlab pentru Problema R1.6 . . . . . . . . . . . . . . . . 125
B.1. Cod Matlab pentru Problema R2.1 . . . . . . . . . . . . . . . . 130B.2. Cod Matlab pentru Problema R2.2 . . . . . . . . . . . . . . . . 130B.3. Cod Matlab pentru Problema R2.3 . . . . . . . . . . . . . . . . 130B.4. Cod Matlab pentru Problema R2.4 . . . . . . . . . . . . . . . . 131B.5. Cod Matlab pentru Problema R2.5 . . . . . . . . . . . . . . . . 131B.6. Cod Matlab pentru Problema R2.6 . . . . . . . . . . . . . . . . 132B.7. Cod Matlab pentru Problema R2.7 . . . . . . . . . . . . . . . . 135B.8. Cod Matlab pentru Problema R2.8 . . . . . . . . . . . . . . . . 135
C.1. Cod Matlab pentru Problema R3.1 . . . . . . . . . . . . . . . . 136C.2. Cod Matlab pentru Problema R3.2 . . . . . . . . . . . . . . . . 136C.3. Rutina stab inv.m . . . . . . . . . . . . . . . . . . . . . . . . . 136C.4. Cod Matlab pentru Problema R3.6, cazul (i) . . . . . . . . . . 137C.5. Cod Matlab pentru Problema R3.6, cazul (ii) . . . . . . . . . . 137C.6. Cod Matlab pentru Problema R3.6, cazul (iii) . . . . . . . . . . 138
D.1. Loopshaping satelit geostationar- cazul I . . . . . . . . . . . . . 139D.2. Loopshaping satelit geostationar- cazul II . . . . . . . . . . . . 141D.3. Cod Matlab pentru Problema R4.3 . . . . . . . . . . . . . . . . 144D.4. Cod Matlab pentru Problema R4.5 . . . . . . . . . . . . . . . . 144
Lista de figuri
1.1. Bucla de reactie elementara . . . . . . . . . . . . . . . . . . . . 131.2. Bucla cu reactie unitara . . . . . . . . . . . . . . . . . . . . . . 151.3. Diagrama (Simulink) pentru Problema R1.1. . . . . . . . . . . 181.4. Urmarirea referintei si rejectia perturbatiei pentru Problema R1.1. 181.5. Diagrama (Simulink) pentru Problema R1.2. . . . . . . . . . . 191.6. Urmarirea referintei si rejectia perturbatiei pentru Problema R1.2. 191.7. Urmarirea referintei pentru Problema R1.3. . . . . . . . . . . . 201.8. Urmarirea referintei si rejectia asimptotica a perturbatiei pentru
Problema P1.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . 231.9. Urmarirea referintei pentru Problema R1.5. . . . . . . . . . . . 24
2.1. Sistem de reglare automata cu bucla de reactie. . . . . . . . . . 322.2. Marginile de stabilitate ale sistemului L(s). . . . . . . . . . . . 372.3. Margini de stabilitate pentru Problema R2.1 . . . . . . . . . . 392.4. Locul Nyquist si Diagrama Bode Problema R2.2 . . . . . . . . 412.5. Raspunsul la perturbatii pentru Problema R2.3 . . . . . . . . . 432.6. Sistemul Ducted Fan - dinamica longitudinala a avionului. Ilustratie
pentru Problema P2.4. . . . . . . . . . . . . . . . . . . . . . . . 442.7. Functia de sensibilitate si functia pondere asociata pentru Pro-
blema R2.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462.8. Functia de urmarire a referintei si ponderea asociata pentru
Problema R2.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 472.9. Verificare robustete pentru Problema R2.4 . . . . . . . . . . . . 472.10. Caracteristicile frecventiale pentru Problema P2.5 . . . . . . . 492.11. Profilul de incertitudine WT din (2.17) satisfacand relatia (2.16)
(puncte stelate) si datele reale (puncte tip cruce) masuratorimediate (linie ıntrerupta) . . . . . . . . . . . . . . . . . . . . . 51
2.12. Diagramele de amplitudine a procesului nominal (linie continua),
a proceselor P1 incerte (linie ıntrerupta), P2 incerte (linie punc-
tata) si P3 incerte (linie stelata) . . . . . . . . . . . . . . . . . . 522.13. Locul Nyquist ınchis cu ω ∈ (−∞,∞) pentru Problema R2.7 . 532.14. Diagrama Bode pentru Problema R2.8 . . . . . . . . . . . . . . 542.15. Vehicul ın urcare. Ilustratie pentru Problema P2.14. . . . . . . 582.16. ACC Benchmark Problem. Ilustratie pentru Problema P2.16. . 602.17. Amplificatorul operational cu dinamica incerta si diagrama bloc.
Ilustratie pentru Problema P2.18. . . . . . . . . . . . . . . . . . 62
Lista de figuri 9
3.1. Sistem de reglare automata cu bucla de reactie. . . . . . . . . . 633.2. Raspunsul indicial al sistemului H(s) := −s+0.5
0.5(s+1)(0.5s+1) pre-
zinta”raspuns invers“. . . . . . . . . . . . . . . . . . . . . . . . 65
3.3. Efectul de”saltea de apa“ ın cazul existentei ın bucla deschisa
a unui exces poli-zerouri egal cu 2. . . . . . . . . . . . . . . . . 703.4. Graficul de amplificare al ponderii (3.19) pentru un zerou real z. 71
3.5. Graficul functiei ln coth |ν|2 . . . . . . . . . . . . . . . . . . . . . 733.6. Efectul
”Saltea cu apa“. Ilustratie Problema R3.1 . . . . . . . . 74
3.7. Sisteme de faza nonminima pentru Problema R3.2 . . . . . . . 753.8. Pendul fixat pe un carucior pentru Problema R3.6 . . . . . . . 783.9. Raspunsul la treapta pentru q variabil pentru Problema R3.6 . 803.10. Variatia raspunsului la treapta cu p pentru Problema R3.6 . . . 813.11. Diagramele Bode pentru S(jω) si T (jω) pentru Problema R3.6 823.12. Aeronava X-29 . . . . . . . . . . . . . . . . . . . . . . . . . . . 833.13. Dinamica sistemului de pozitionare pentru Problema P3.8 . . . 84
4.1. Sistem ın bucla de reactie unitara. . . . . . . . . . . . . . . . . 874.2. Zonele de joasa, medie si ınalta frecventa definite de functiile
pondere WS si WT . . . . . . . . . . . . . . . . . . . . . . . . . . 884.3. Marginile lui |L| pentru loopshaping. . . . . . . . . . . . . . . . 904.4. Diagramele Bode ale blocului cu ıntarziere de faza C(s) = b
as+as+b ,
a > b. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934.5. Diagramele Bode ale blocului cu avans de faza C(s) = b
as+as+b ,
b > a. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944.6. Diagramele Bode ale blocului cu ıntarziere si avans de faza
C(s) = bas+as+b
dcs+cs+d , a > b ≥ 0 si d > c ≥ 0. . . . . . . . . . . . . 95
4.7. Diagramele Bode ale blocului de tip notch C(s) =s2+2ξNωNs+ω
2N
s2+ωNs+ω2N
.
De notat ca amplificarea este ın unitati standard (nu ın decibeli). 954.8. Diagrama satelit geosincron pentru Problema R4.1 . . . . . . . 964.9. Loopshaping satelit – pasul 1 . . . . . . . . . . . . . . . . . . . 994.10. Loopshaping satelit – pasul 2 . . . . . . . . . . . . . . . . . . . 1004.11. Loopshaping satelit – pasul 3 . . . . . . . . . . . . . . . . . . . 1014.12. Loopshaping satelit – pasul 3 (verificare) . . . . . . . . . . . . . 1024.13. Loopshaping satelit – pasul 5 . . . . . . . . . . . . . . . . . . . 1034.14. Loopshaping satelit – pasul 6 . . . . . . . . . . . . . . . . . . . 1044.15. Loopshaping satelit – pasul 7 . . . . . . . . . . . . . . . . . . . 1054.16. Loopshaping satelit – pasul 8 . . . . . . . . . . . . . . . . . . . 1064.17. Loopshaping satelit – pasul 8 (verificare) . . . . . . . . . . . . . 1074.18. Diagramele Bode ale lui P (s) si marginile lui |L| pentru loop-
shaping din cadrul Problemei R4.2. . . . . . . . . . . . . . . . . 1084.19. Diagramele Bode ale sistemului L(s) = 14 29
2.15s+2.15s+29
1s(s+1) din
cadrul Problemei R4.2. . . . . . . . . . . . . . . . . . . . . . . . 1104.20. Diagramele Bode pentru Problema R4.3 . . . . . . . . . . . . . 111
10 Teoria sistemelor automate. Indrumar de laborator
4.21. Diagramele Bode pentru Problema R4.5 . . . . . . . . . . . . . 1134.22. Controlul unghiului de rostogolire θ pentru o aeronava cu pro-
pulsie vectoriala. Unghiul este controlat prin cele doua motoarepozitionate pe aripi, rezultand un moment generat de F1. Aici,F2 este propulsia vectoriala. . . . . . . . . . . . . . . . . . . . . 117
A.1. Diagrama Simulink pentru bucla de reactie unitara – cazul “hard-coded”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
A.2. Diagrama Simulink pentru bucla de reactie unitara – interactiunecu Matlab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Prefata
Prezenta lucrare se adreseaza ın primul rand studentilor de la facultatile deautomatica, dar se poate dovedi extrem de utila si pentru studentii altor fa-cultati, care urmeaza cursuri de Teoria Sistemelor Automate.
Aflata de multa vreme ın planul grupului de Sisteme Dinamice, Reglare,Optimizare si Algoritmi Numerici (DYSCONA) de la Facultatea de Auto-matica si Calculatoare a Universitatii Politehnica din Bucuresti, ındrumarulınglobeaza experienta didactica a unor autori din generatii diferite. Ne-ampropus sa punem la dispozitia studentilor un material care sa sprijine efortu-rile acestora de a ıntelege mai bine metodele moderne de sinteza ın frecventa aregulatoarelor automate, asa cum sunt acestea implementate astazi cu succesın domenii de varf precum industria spatiala si aeronautica, industria auto saubioinginerie, respectiv ın reglarea altor procese complexe. Speram ca proble-mele rezolvate propuse ın ındrumar, ale caror solutii sunt sustinute de fiecaredata de codurile-sursa scrise ın Matlab, sa compenseze, macar ın parte, rare-fierea cunostintelor fundamentale ale viitorilor ingineri automatisti datoratamai ales reducerii drastice a timpului alocat studiului stiintelor fundamentale.
Dealtfel, tinand cont de aceasta nefericita realitate, am decis ca fiecare ca-pitol sa ınceapa cu un scurt breviar teoretic ın care sunt recapitulate notiunilesi conceptele de baza, absolut necesare pentru ıntelegerea corecta si rezolvareaproblemelor propuse. Acest breviar se constituie ca o chintesenta a foliilor pebaza carora se face predarea la curs si care sunt actualizate si disponibile ın fi-ecare semestru pe platforma moodle a facultatii. In continuare, o selectie binealeasa de probleme rezolvate vine sa ilustreze aplicarea efectiva a notiunilorcu care se lucreaza la curs. Ultima parte a fiecarui capitol este dedicata obiec-tivelor de la laborator, care sa permita studentilor reproducerea tehnicilorasimilate, abordand cu ıncredere, ın registru propriu, rezolvarea problemelortrasate.
Primul capitol al ındrumarului este dedicat familiarizarii cu notiunile fun-damentale privind sinteza elementara pe baza buclei de reactie standard, farade care nu se poate merge mai departe: stabilitate interna, parametriza-rea Youla a tuturor compensatoarelor stabilizatoare, preformante specificede regim stationar (urmarirea referintelor si rejectia perturbatiilor). Esteaprofundata structura de baza a reglarii automate, extrem de utila viito-rului inginer automatist. In capitolul urmator este exersata utilizarea nor-melor sistemice (si ale semnalelor) pentru cuantificarea performantelor SRA.
12 Teoria sistemelor automate. Indrumar de laborator
Este evidentiata legatura directa dintre evaluarea acestor performante si re-prezentarile ın frecventa ale diverselor functii de transfer ale buclei de re-glare, subliniind rolul decisiv jucat de norma L∞ ın obtinerea stabilitatii siperformantelor robuste.
Capitolul 3 ilustreaza limitarile fundamentale intrinseci care pot afecta per-formantele SRA. Este extrem de important ca inginerul automatist sa fie avizatcu privire la ”capcanele” care pot sa aparaa ın limitarea drastica a obiectivelorstabilite prin specificatiile de proiectare, obiective care ın anumite situatii nupot fi atinse de catre nici un regulator. In acest caz, proiectantul este obligatsa gaseasca compromisul rezonabil ıntre relaxarea cerintelor de performanta siimplementarea unei solutii de reglare viabile.
Toate competentele asimilate ın urma parcurgerii primelor trei capitole suntpuse la lucru ın ultimul capitol al lucrarii. Acesta este dedicat procedurilor desinteza moderna ın frecventa, asa-numitele tehnici de loopshaping, consacrateastazi ca state-of-the-art ın automatizarea proceselor complexe.
O serie de lucrari fundamentale citate la sfarsitul Indrumarului si care austat la baza elaborarii acestui material pot constitui surse excelente de studiuaprofundat al conceptelor prezentate.
Dorim ca ın final sa-i adresam multumirile cele mai calduroase coleguluisi prietenului nostru Bogdan Ciubotaru, care, pe parcursul ultimilor ani, afost liantul care a unit experienta profesorilor coordonatori cu entuziasmul siputerea de lucru a colegilor mai tineri.
Bucuresti, aprilie 2019.
1. Sinteza elementara a SRA1
Scopul laboratorului
Laboratorul are ca scop sinteza (sau proiectarea) elementara a unui SRA liniarce vizeaza obtinerea stabilitatii si a performantelor dinamice cuantificate subforma unor specificatii de regim permanent (urmarire si rejectie a perturbatiei).Metoda generala de proiectare pentru obtinerea acestor proprietati este bazatape parametrizarea Youla.
Pentru ıntelegerea acestor concepte, laboratorul contine o serie de problemepropuse (sarcinile de laborator) cu caracter preponderent aplicativ.
1.1. Breviar teoretic
Consideram conexiunea (bucla) cu reactie negativa a sistemelor liniare cu ointrare si o iesire – single input, single output (SISO) din2 Fig. 1.1 unde P estefunctia de transfer a procesului, C este functia de transfer a compensatorului(regulatorului), iar F este functia de transfer pe calea de reactie (F corespundetipic traductorului). Presupunem ın continuare ca P , C si F sunt toate functiide transfer rationale proprii.
C P
F
r x1 u x2
dy
x3
n
v−
Figura 1.1.: Bucla de reactie elementara
Semnalele r, d, n sunt semnale exogene (sau externe), iar u, y, v, x1, x2, x3 suntsemnale interne cu r semnalul de referinta ce trebuie urmarit, iar n si d suntsemnale perturbatoare. Fiecarei perechi de semnale externe-interne ıi cores-punde o functie de transfer.
1SRA – Sistem de Reglare Automata.2Prin conventie, omitem semnul
”+“ la jonctiunile de ınsumare.
14 Teoria sistemelor automate. Indrumar de laborator
Definitia 1.1. Sistemul ın bucla ınchisa din Fig. 1.1 este bine definit ın sensstrict daca toate cele 9 functii de transfer de la semnalele externe r, d, n lasemnalele interne x1, x2, x3 exista si sunt proprii.
Teorema 1.2. Sistemul ın bucla ınchisa este bine definit ın sens strict dacasi numai daca 1 + PCF (∞) 6= 0.
Stabilitate interna
Definitia 1.3. Spunem ca sistemul ın bucla ınchisa din Fig. 1.1 este internstabil daca toate functiile de transfer din bucla sunt stabile.
Scriem functiile P , C, F ca un cat de doua polinoame coprime (adica farafactori comuni):
P =NPMP
; C =NCMC
; F =NFMF
.
Atunci au loc urmatoarele doua teoreme echivalente de stabilitate interna.
Teorema 1.4. Sistemul ın bucla ınchisa din Fig. 1.1 este intern stabil dacasi numai daca polinomul caracteristic χ = NPNCNF + MPMCMF are toateradacinile ın C−.
Teorema 1.5. Sistemul ın bucla ınchisa din Fig. 1.1 este intern stabil dacasi numai daca urmatoarele doua conditii sunt ındeplinite simultan:
(i) Functia de transfer 1 + PCF are toate zerourile ın C−;
(ii) Nu apar simplificari poli-zerouri ın C0∪C+ la formarea produsului PCF .
Problema fundamentala a reglarii
Fiind data functia de transfer a procesului P , se cere un compensator C a.ı.sistemul ın bucla ınchisa din Fig. 1.23:
(S) sa fie intern stabil;
(R) sa urmareasca (asimptotic) referinta si sa rejecteze (asimptotic) perturbatiile.
Solutia problemei reglarii se bazeaza pe parametrizarea Youla: se deter-mina mai ıntai clasa parametrizata a tuturor compensatoarelor stabilizatoareC (ce verifica (S)) iar apoi se cauta parametrii corespunzatori a.ı. (R) sa fieverificata.
3Pentru simplitate, consideram bucla ınchisa cu reactie unitara, i.e., F = 1.
Laboratorul 1. Stabilizare si performante dinamice ale SRA 15
C Pr e u
dy
n
−
Figura 1.2.: Bucla cu reactie unitara
Parametrizarea Youla
Urmatoarea teorema este centrala ın Automatica teoretica.
Teorema 1.6. Fie P =N
M, unde N , M sunt coprime peste4 S si ımpreuna
cu X, Y satisfac identitatea Bezout5 ın S, i.e., NX +MY = 1.Clasa compensatoarelor stabilizatoare este data de
C =X +MQ
Y −NQ : Q ∈ S.
Daca P ∈ S (P este stabil) atunci
C =Q
1− PQ : Q ∈ S.
Dam ın continuare principalii pasi ai algoritmului pentru obtinerea lui M ,N , X, Y .
Algoritmul 1. Rezolvarea identitatii Bezout peste S
Date initiale: Se da sistemul P .
Pasul 1: Daca P este stabil, N = P , M = 1, X = 0, Y = 1, stop. Altfel,continua.
Pasul 2: Transforma P (s) ın P (λ) folosind s =1− λλ
. P (λ) se va scrie ca
un raport de doua polinoame coprime:
P (λ) =n(λ)
m(λ).
Pasul 3: Gaseste cu algoritmul Euclid polinoamele x(λ), y(λ) care rezolvaidentitatea Bezout peste polinoame, i.e., nx+my = 1.
Pasul 4: Transforma n(λ),m(λ), x(λ), y(λ) ın N(s), M(s), X(s), Y (s) folo-
sind transformarea inversa λ =1
s+ 1.
4Notam cu S clasa functiilor de transfer proprii, stabile si rationale, cu coeficienti reali.5Detalii asupra identitatii Bezout si algoritmului Euclid se gasesc ın Anexa A.2.
16 Teoria sistemelor automate. Indrumar de laborator
Urmarirea asimptotica a referintei / rejectia perturbatiei
Considerand sistemul ın bucla ınchisa din Fig. 1.2 avem urmatoarele relatiiıntre semnalele externe r, d, n si iesirea y, respectiv eroarea de urmarire asistemului e = r − y:
y =P
1 + PC︸ ︷︷ ︸Hyd
d+PC
1 + PC︸ ︷︷ ︸Hyr
r +
(− PC
1 + PC
)
︸ ︷︷ ︸Hyn
n,
e =
(− P
1 + PC
)
︸ ︷︷ ︸Hed
d+1
1 + PC︸ ︷︷ ︸Her
r +PC
1 + PC︸ ︷︷ ︸Hen
n.
Aici Hzx denota functia de transfer de la semnalul x la semnalul z. Uzual,Her este numita functia de sensibilitate a sistemului si este notata cu S iarcomplementara sa, Hyr := 1 − Her este notata cu T si reprezinta functia detransfer ın bucla ınchisa de la referinta r la iesirea y.
Folosind parametrizarea Youla se observa ca toate functiile de transfer dinbucla ınchisa sunt functii afine de parametrul Q:
y = N(Y −NQ)d+N(X +MQ)r −N(X +MQ)n,
e = −N(Y −NQ)d+M(Y −NQ)r +N(X +MQ)n.
Presupunem ca sistemul ın bucla ınchisa este intern stabil si ca n = 0.Conditiile necesare si suficiente de satisfacere a conditiei de reglare (R) sebazeaza pe principiul modelului intern:
A) pentru urmarirea asimptotica, functia de transfer ın bucla deschisa PCtrebuie sa contina polii instabili ai lui r;
B) pentru rejectia asimptotica este necesar ca polii instabili ai lui d sa seregaseasca printre zerourile lui P si / sau polii lui C.
In practica ıntalnim urmatoarele cazuri uzuale de reglare si rejectie deperturbatii:
(i) Daca r(t) = 1(t) (semnalul treapta unitara) si d = 0, atunci are locreglarea daca si numai daca produsul PC are un pol ın origine (s = 0).
(ii) Daca r(t) = t1(t) (semnalul rampa unitara) si d = 0, atunci are locreglarea daca si numai daca produsul PC are doi poli ın origine (s = 0).
(iii) Daca d este o sinusoida d(t) = sin(ωt) 1(t) si r = 0, atunci are loc rejectiaperturbatiei daca si numai daca P are un zerou ın s = jω sau C are un polın s = jω (automat vor avea un zerou sau un pol si ın s = −jω deoarecesistemele au coeficienti reali).
Laboratorul 1. Stabilizare si performante dinamice ale SRA 17
1.2. Sarcini de lucru
Problema R1.1. Consideram bucla de reactie din Figura 1.1 cu
P =1
2s+ 1, C =
3
ssi F =
1
s+ 10.
(i) Determinati functia de transfer de la d la y, notata cu Hyd presupunandr = 0, n = 0. Este aceasta functie de transfer stabila ın sens BIBO?
(ii) Este sistemul ın bucla ınchisa intern stabil? Ilustrati iesirea si eroarea deurmarire la intrare treapta r(t) = 1(t) cu perturbatie d(t) = sin 2t1(t− 15)si zgomot de masura n(t) = cos 10t1(t− 30).
Solutie. (i) Pornim de la
y = Px2 = P (d+ u) = P (d+ Cx1)
si observam ca x1 = −v = −Fx3 si x3 = y, de unde rezulta ca x1 = −Fy.Inlocuind, obtinem:
y = P (d− CFy)⇒ (1 + PCF )y = Pd⇒ Hyd =y
d=
P
1 + PCF.
Folosind valorile numerice pentru blocurile schemei, obtinem
Hyd =1
2s+1
1 + 12s+1 · 3
s · 1s+10
=s(s+ 10)
2s3 + 21s2 + 10s+ 3.
Pentru a testa stabilitatea functiei de transfer Hyd verificam ca polii aces-teia (radacinile numitorului) sunt ın C−. Comanda Matlab
1 r e a l ( r oo t s ( [ 2 21 10 3 ] ) )
va returna partea reala a radacinilor numitorului,
1 ans =−10.0157
3 −0.2421−0.2421
si dupa cum se poate observa, acestea sunt ıntr-adevar ın C−.
(ii) Stabilitatea interna a sistemului ın bucla ınchisa este verificata cu ajutorulTeoremei 1.5: partea (i) este deja validata la punctul anterior, iar partea(ii) a teoremei se verifica observand ca nici unul din blocurile sistemului nucontine zerouri instabile si ın consecinta nu au loc simplificari poli-zerouriin Co ∪ C+ la formarea produsului PCF .
18 Teoria sistemelor automate. Indrumar de laborator
C(s) P(s)
F(s)
r
d
iesire
eroare
n
Figura 1.3.: Diagrama (Simulink) pentru Problema R1.1.
0 5 10 15 20 25 30 35 40 45 500
4
8
12
timp
iesi
re
0 5 10 15 20 25 30 35 40 45 50
0
0.5
1
timp
eroar
e
t = 15
t = 30
Figura 1.4.: Urmarirea referintei si rejectia perturbatiei pentru Problema R1.1.
Pentru testarea experimentala a stabilitatii interne a sistemului realizamdiagrama Simulink din Fig. 1.3. In Fig. 1.4 reprezentam iesirea si respec-tiv eroarea de urmarire a sistemului. Codul Matlab corespunzator acesteifiguri este implementat in Sursa A.3.
Se poate observa ca ın prezenta unor perturbatii (si zgomote de masura)marginite, marimile relevante ale sistemului raman de asemenea marginite(stabilitate ın sens BIBO), ınsa eroarea stationara e(∞) nu este zero (nusunt ındeplinite conditiile din Principiul Modelului Intern pentru in-trare treapta unitara).
Laboratorul 1. Stabilizare si performante dinamice ale SRA 19
Problema R1.2. Consideram bucla de reactie din Fig. 1.2 cu P =s− 1
s2 + 2s+ 1
si C =1
s− 1. Este sistemul intern stabil? Ilustrati iesirea si eroarea de
urmarire la o intrare treapta r(t) = 0, cu perturbatie d(t) = sin t1(t− 10) sizgomot de masura n(t) = sin 5t1(t− 20).
Solutie. Stabilitatea interna a sistemului ın bucla ınchisa nu are loc, cu toate ca
1 + PC =s2 + 2s+ 2
s2 + 2s+ 1are zerourile stabile (Re z1,2 = −1 < 0): ıntre termenii
P si C exista o simplificare poli-zerouri instabila (s = 1).
C(s) P(s)r iesire
eroared
n
Figura 1.5.: Diagrama (Simulink) pentru Problema R1.2.
0 10 20 30 40 50 60−10
0
10
20
30
timp
iesi
re
0 10 20 30 40 50 60−40
−20
0
20
timp
eroa
re
t = 20t = 10
Figura 1.6.: Urmarirea referintei si rejectia perturbatiei pentru Problema R1.2.
Pentru testarea experimentala a stabilitatii interne a sistemului realizam
20 Teoria sistemelor automate. Indrumar de laborator
diagrama Simulink din Fig. 1.5. In Fig. 1.6 reprezentam iesirea si respectiveroarea de urmarire a sistemului. Dupa cum se observa, ın prezenta unorperturbatii si zgomote de masura marginite, marimile relevante ale sistemuluinu raman marginite6.
Codul Matlab corespunzator acestei figuri este implementat in Sursa A.4.
Problema R1.3. Fie P =1
(s+ 2)(s+ 3). Se cere clasa compensatoarelor
care stabilizeaza intern si asigura urmarirea unei referinte treapta, r(t) = 1(t),cu d = n = 0. Calculam analitic (folosind Teorema 1.6) si verificam urmarireaasimptotica a referintei ın Matlab.
Solutie. Teorema 1.6 ne da clasa compensatoarelor stabilizatoare. Atunci,conform Principiului Modelului Intern y(t) urmareste asimptotic referintadaca S are cel putin un zerou ın origine.
S =1
1 + PC=
1
1 + P Q1−PQ
= 1− PQ, Q ∈ S.
Dar cum S(0) = 0 (impunem un zerou ın origine), avem ca
P (0)Q(0) = 1⇒ Q(0) =1
P (0)= 6.
0 1 2 3 4 5 6 7 80
0.2
0.4
0.6
0.8
1
timp
iesi
re
Figura 1.7.: Urmarirea referintei pentru Problema R1.3.
Putem alege asadar orice Q ∈ S, cu Q(0) = 6. Spre exemplu, Q(s) =6
s+ 1.
Pentru testare, folosim codul Matlab din Sursa A.5 ce conduce la Fig. 1.7 ıncare se observa ca referinta este urmarita asimptotic.
6Graficul unui semnal (functie de timp) trasat pe orizont finit poate doar sa sugereze unposibil comportament asimptotic al acestuia.
Laboratorul 1. Stabilizare si performante dinamice ale SRA 21
Problema R1.4. Se considera sistemul P =1
s− 1. Se cere clasa compen-
satoarelor care stabilizeaza intern. Calculati analitic (folosind Teorema 1.6)aceasta clasa si verificati apoi ın Matlab parametrizarea obtinuta anterior fo-losind Sursa A.2. Alte cerinte:
(i) Calculati parametrii Q ∈ S ce asigura urmarirea unei referinte treapta,r(t) = 1(t), d = n = 0;
(ii) Calculati parametrii Q ∈ S ce asigura rejectia unei perturbatii de formad(t) = sin t1(t− 10), r = n = 0;
(iii) Calculati parametrii Q ∈ S ce asigura ındeplinirea simultana a cerintelorde mai sus, cu n = 0.
Testati ın Matlab urmarirea si rejectia asimptotica a semnalelor externe pentrufiecare dintre cazurile enumerate mai sus.
Solutie. Observam ca procesul are un pol instabil. Trecem deci la pasul aldoilea din Algoritmul 1.1:
P (λ) =1
1−λλ − 1
=λ
1− 2λ=
n(λ)
m(λ).
Din algoritmul Euclid: n = mq1 + r1, cu q1 = − 12 , r1 = 1
2 . Deoarece r1 e oconstanta nenula, algoritmul se opreste. Obtinem:
n−mq1 = r1
/: r1 ⇒ n
(1
r1
)+m
(−q1
r1
)= 1 ⇒ x =
1
r1= 2 ; y = −q1
r1= 1.
In continuare, aplicam transformarea inversa (pasul 4 al Algoritmului 1.1):
N =1
s+ 1; M = 1− 2
1
s+ 1=s− 1
s+ 1; X = 2 ;Y = 1.
Observati ca N,M sunt functii coprime:
NX +MY =2
s+ 1+s− 1
s+ 1=s+ 1
s+ 1= 1.
Am obtinut astfel factorizarea coprima peste S a lui P .Pentru verificarea corectitudinii rationamentului de mai sus, consideram co-
dul Matlab din Sursa A.6 care apeleaza functia coprim.m si afiseaza:
N = 1/( s + 1)2 M = ( s − 1) /( s + 1)
X = 24 Y = 1
22 Teoria sistemelor automate. Indrumar de laborator
(i) Calculam functia de sensibilitate:
Her = S = M(Y −NQ) =s− 1
s+ 1
(1− 1
s+ 1·Q), Q ∈ S
si impunem Her(0) = S(0) = 0 (un zerou ın origine pentru urmarireaasimptotica a referintei treapta), ceea ce conduce la Q(0) = 1. Putem
alege asadar orice Q ∈ S cu Q(0) = 1. Spre exemplu, Q(s) =1
s+ 1.
(ii) Calculam functia Hed:
Hed = −N(Y −NQ) = − 1
s+ 1
(1− 1
s+ 1·Q), Q ∈ S
si impunem Hed(±j) = 0 (un zerou ın ±j pentru rejectia asimptotica a
perturbatiei), ceea ce conduce la − 1
1 + j
(1− 1
1 + j·Q(j)
)= 0. Putem
alege asadar oriceQ ∈ S cuQ(j) = 1+j. Spre exemplu, Q(s) = 2s− 1
(s+ 1)2.
(iii) Consideram simultan atat urmarirea referintei de la punctul (i) cat sirejectia perturbatiei de la punctul (ii) care impun ambele constrangeri
asupra lui Q: Q(0) = 1 si Q(j) = 1 + j. Alegem Q(s) =5s2 + 1
(s+ 1)3ce le
verifica pe ambele.
In continuare testam urmarirea referintei, respectiv rejectia asimptotica aperturbatei implementand codul Matlab din Sursa A.7 si ilustram rezultateleın Figurile 1.8a, 1.8b si respectiv 1.8c.
Nota: Datorita invariantei ın timp a sistemului, ıntarzierile aparute la sem-nalele externe nu influenteaza structura compensatoarelor determinata de pa-rametrizarea Youla si de Principiul Modelului Intern.
0 2 4 6 8 10 12 14 16 18 20 22 240
0.5
1
1.5
timp
iesi
re
referinta
iesire
(a) cazul i)
Laboratorul 1. Stabilizare si performante dinamice ale SRA 23
0 2 4 6 8 10 12 14 16 18 20 22 24−1
−0.5
0
0.5
1
timp
iesi
re
perturbatie
iesire
(b) cazul ii)
0 2 4 6 8 10 12 14 16 18 20 22 240
0.5
1
1.5
timp
iesi
re
(c) cazul iii)
Figura 1.8.: Urmarirea referintei si rejectia asimptotica a perturbatiei pentruProblema P1.4.
Problema R1.5. Fie bucla de reactie din Figura 1.2, cu P =1
2s+ 1, C =
k
s.
Gasiti intervalul admisibil pentru k a.ı.:
a) Sistemul sa fie intern stabil (folositi Teorema 1.5 pentru demonstratie).
b) Implementati bucla de reglare ın Simulink si ilustrati iesirea pentru diversevalori admisibile ale lui k la referinta treapta.
Solutie. Pentru verificarea stabilitatii interne recurgem la Teorema 1.5. Functiade transfer
1 + PC = 1 +k
s(2s+ 1)=
2s2 + s+ k
2s+s
are zerourile z1,2 =−1±
√1− 8k
4ın C− pentru k > 0. Aditional, observam
24 Teoria sistemelor automate. Indrumar de laborator
ca nu exista simplificari de zerouri / poli instabili. Asadar, 0 < k < ∞ esteintervalul admisibil pentru k.
0 2 4 6 8 10 12 14 16 18 200
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
k = 0.33
k = 1
k = 3
timp
iesi
re
Figura 1.9.: Urmarirea referintei pentru Problema R1.5.
Diagrama Simulink este implementata similar cu cea din Fig. 1.5 iar codulMatlab necesar pentru obtinerea iesirii sistemului la intrare treapta este datın Sursa A.8. Rezultatul este ilustrat ın Fig. 1.9.
Problema R1.6. Se da sistemul
P =r(s)
p(s)=
s− 1
s2 + 1.
Gasiti un compensator C care plaseaza toti polii ın bucla ınchisa ın -1.
Solutie. Consideram C =a+ bs
c+ ds. In continuare, selectam coeficientii a, b, c,
d a.ı. sa alocam zerourile lui 1 + PC ın -1 (echivalent cu a spune ca dorim saalocam polii sistemului ın bucla ınchisa ın -1). Conditia necesara si suficientaeste ca polinomul caracteristic ın bucla ınchisa
χ(s) = (c+ ds)(s2 + 1) + (a+ bs)(s− 1)
sa verifice identitatea:
(c+ ds)(s2 + 1) + (a+ bs)(s− 1) = (s+ 1)3 = s3 + 3s2 + 3s+ 1.
Laboratorul 1. Stabilizare si performante dinamice ale SRA 25
Identificand coeficientii polinoamelor din identitatea de mai sus, obtinem sis-temul de ecuatii liniare
[a b c d
]
−1 1 0 00 −1 1 01 0 1 00 1 0 1
︸ ︷︷ ︸M
=[1 3 3 1
]
a carui unica solutie este[a b c d
]=[2 0 3 1
]ceea ce conduce la
C =2
s+ 3.
Matricea M se numeste eliminantul polinoamelor r(s) si p(s) si este nesingu-lara daca si numai daca polinoamele r(s) si p(s) sunt coprime. Pentru codulMatlab corespunzator consultati Sursa A.9. Generalizare.
1.3. Sarcini aditionale
Problema P1.7. Consideram bucla de reactie unitara din Figura 1.2. Secunosc
C =s− 1
s+ 1, P =
1
s2 − 1.
i) Realizati diagrama Simulink pentru Figura 1.2. Pentru jonctiunile deınsumare folositi blocul Sum din biblioteca Math Operations.
ii) Fixati d = n = 0 si r(t) = 1(t). Vizualizati semnalul de iesire y(t). Esteacesta marginit? Calculati functia de transfer de la r la y, Hyr. Analizatistabilitatea lui Hyr.
iii) Reluati punctul ii) pentru r = n = 0 si d(t) = 1(t). Ne intereseaza stabi-litatea functiei de transfer de la d la y, Hyd. In urma acestor observatii,pronuntati-va asupra stabilitatii interne a sistemului ın bucla ınchisa folo-sind definitia.
iv) Calculati polinomul caracteristic ın bucla ınchisa χ = NPNC + MPMC .Folositi Teorema 1.4 pentru a decide daca sistemul ın bucla ınchisa esteintern stabil.
v) Analizati stabilitatea cu Teorema 1.5.
Problema P1.8. Fie bucla de reactie din Figura 1.2, cu P =1
10s+ 1, C = k.
Gasiti intervalul admisibil pentru k a.ı.:
i) Sistemul sa fie intern stabil (folositi Teorema 1.5).
26 Teoria sistemelor automate. Indrumar de laborator
ii) |e(∞)| ≤ 0.1, cu r(t) = 1(t) si d = n = 0. Folositi TVF (Teorema ValoriiFinale) impreuna cu expresia lui S (functia de sensibilitate).
iii) Implementati bucla ın Simulink. Verificati rezultatele de la punctele ante-rioare (se va baleia parametrul k admisibil).
iv) Alegeti un k care stabilizeaza (spre exemplu, k = 5). Gasiti un com-pensator C asa ıncat sistemul sa urmareasca o referinta treapta unitarar(t) = 1(t) si sa rejecteze un semnal sinusoidal de pulsatie ω = 10 rad/s,d(t) = sinωt1(t). Folositi principiul modelului intern. Verificati rezulta-tele cu Simulink.
Problema P1.9. Plasarea polilor ın bucla ınchisa. Se da sistemul
P =s− 2
s2 + 4.
Gasiti un compensator C care plaseaza toti polii ın bucla ınchisa ın -1. Se vaimplementa un script Matlab cu cerintele i), iv), v):
i) Reprezentati diagrama poli-zerouri (folositi functia Matlab pzmap) si ras-punsul la treapta pentru P .
ii) Fie un compensator de forma
C =b1s+ b0a1s+ a0
, a0, b0, a1, b1 ∈ R.
Calculati polinomul caracteristic ın bucla ınchisa χ. Care este gradul sau?
iii) Radacinile polinomului caracteristic sunt chiar polii sistemului ın buclaınschisa. Impuneti ca toate radacinile sale sa fie -2, adica,χ = χd = (s+ 1)n. Pentru n = 3, veti obtine un sistem de 4 ecuatii cu 4necunoscute. Poate fi n mai mic decat 3? Dar mai mare? Comentati.
iv) Scrieti sistemul de la punctul iii) ın forma matriceala, x>M = p>. Deter-minati x folosind Matlab.
v) Scrieti ın Matlab expresia compensatorului si gasiti sistemul ın bucla ınchisa(functia feedback). Verificati plasarea polilor si trasati raspunsul la treapta.
vi) Repetati procedura pentru P =3
(s+ 1)(s+ 3). Ne dorim ca poli dominanti
−3± j. Restul polilor (auxiliari) vor fi in -12.
vii) Incercati generalizarea rezultatelor pentru P oarecare (raport de doua po-linoame). Cand este matricea M inversabila?
Laboratorul 1. Stabilizare si performante dinamice ale SRA 27
Problema P1.10. Se da procesul stabil
P =1
(s+ 1)(s+ 2).
Sa se gaseasca un compensator C care stabilizeaza intern sistemul ın buclaınchisa si care asigura urmarirea asimptotica a unei referinte de tip rampa.Implementati sistemul ın Simulink.Indicatie. Se alege Q exprimat sub forma de mai jos si se determina a, b ∈ R.
Q =as+ b
s+ 1∈ S.
Problema P1.11. Fie sistemul
P =1
(s− 1)(s− 2).
Se cer urmatoarele:
i) Obtineti o factorizare coprima a lui P . Pentru aceasta, folositi functiaMatlab [N,M,X,Y] = coprim(P). Verificati ca NX + MY = 1 si ca
P =N
M.
ii) Verificati ın Simulink ca pentru Q = 0 compensatorul C =X
Ystabilizeaza
intern sistemul ın bucla ınchisa.
Am rezolvat la punctele anterioare problema stabilizarii (S). Ne propunemrezolvarea completa a problemei reglarii (R).
iii) Aratati ca, pentru ca sistemul sa urmareasca o referinta de tip treaptaunitara r(t) = 1(t), d = 0, conditia de interpolare pentru parametrul Qeste
N(0)[X(0) +M(0)Q(0)] = 1.
iv) Ne propunem rejectia unei perturbatii sinusoidale d(t) = sin(ωt) 1(t) cuω = 10 rad/s, cand r = 0. Verificati ca functia de transfer de la d la yeste N(Y −NQ).
Conditia de interpolare devine N(10j)[Y (10j) −N(10j)Q(10j)] = 0. Ar-gumentati.
v) Gasiti Q care satisface simultan constrangerile de la punctele iii) si iv).Sunt trei conditii de interpolare, prin urmare apar trei parametri libericare trebuie determinati. Se va lua astfel Q de forma
Q = x1 + x21
s+ 1+ x3
1
(s+ 1)2.
28 Teoria sistemelor automate. Indrumar de laborator
Indicatie. Pentru punctul v), se recomanda implementarea unei rutineMatlab care sa realizeze calculele. Symbolic Math Toolbox este in-strumentul principal. Folositi functia subs din aceasta librarie pentru ainlocui valori numerice ın expresii simbolice. Spre exemplu, subs(P,s,3)calculeaza P (3) pentru variabila simbolica P care depinde de s.
Problema P1.12. La problema anterioara se obtin
Q =−79s2 − 881s+ 6
(s+ 1)2, C =
−60s4 − 589s3 + 2515s2 − 1794s+ 1
s(s2 + 100)(s+ 9).
Implementati ın Simulink bucla de reglare din Figura 1.2 cu n = 0, r(t) = 1(t)si d(t) = sin(ωt)1(t). Verificati ca cele doua cerinte (S) si (R) ale problemeireglarii sunt satisfacute.
Problema P1.13. Compensatoare PID. Clasa compensatoarelor PID (pro-portional, integral, derivativ) este extrem de raspandita ın practica. Un com-pensator PID este de forma
C = kp +kis
+ kds, kp, ki, kd ≥ 0.
(i) Este functia de transfer a lui C proprie? Remediati aceasta situatie prinintroducerea unui pol suplimentar care sa nu afecteze considerabil di-namica sistemului. Indicatie. Constanta de timp a polului suplimentartrebuie sa fie mica. Argumentati.
(ii) Se considera
P =1
(s+ 1)3.
Implementati ın Simulink bucla standard cu reactie unitara. Se da refe-rinta r(t) de tip treapta unitara. Initial, valorile parametrilor sunt kp = 1,ki = 0, kd = 0. Vizualizati iesirea y(t).
(iii) Modificati valoarea lui kp (2, 4, 6, 8, 10, 12, ...) pana cand sistemul ajungela limita de stabilitate (la limita de stabilitate, iesirea sistemului intraıntr-un regim de oscilatii neamortizate). Retineti valoarea kp0 si perioadaoscilatiilor neamortizate T0.
(iv) Calculati parametrii regulatorului cu relatiile:
kp = 0.75kp0, ki =1
0.6T0, kd = 0.1T0.
(v) Implementati ın Simulink bucla de reglare. Dupa ce sistemul atinge regi-mul stationar, introduceti un zgomot n(t) = 1(t) (folositi blocul Trans-port Delay). Verificati ca cerintele reglarii sunt ındeplinite (urmarireareferintei si rejectia perturbatiilor). Modificati valoarea treptei de la in-trare ın timpul rularii simularii, e.g., r(t) = 2 · 1(t).
Laboratorul 1. Stabilizare si performante dinamice ale SRA 29
(vi) Metoda descrisa mai sus este metoda Ziegler-Nichols de acordare expe-rimentala a compensatoarelor pentru procese lente la care perturbatiileau o durata mare. Metoda asigura amortizarea ın sfert de amplitudine7.Confirmati acest fapt.
Problema P1.14. Stabilizarea pendulului invers utilizand criteriulNyquist. Dinamica liniarizata si normalizata pentru pendulul invers poate fireprezentata prin functia de transfer
P =1
s2 − 1.
Aici, intrarea este acceleratia pivotului, iar iesirea sistemului este pozitia un-ghiulara θ. Ne dorim stabilizarea pendulului invers cu un compensator PD,i.e., proportional - derivativ, cu functia de transfer C = k(s+ 2).
(i) Calculati L, precum si polii lui L. Schitati de mana locul Nyquist pentruL(jω), ω ≥ 0. Cat este L(0)? Dar L(∞)? Verificati rezultatele ın Matlab.
(ii) Alegem k = 1. Este sistemul ın bucla ınchisa intern stabil pentru acestk? Veti folosi criteriul de stabilitate al lui Nyquist8.
(iii) Gasiti k a.ı. sistemul sa se afle la limita de stabilitate, adica hodograful satreaca prin punctul critic. Desenati step(L) pentru acest k. Determinatiintervalul admisibil pentru k care asigura stabilitate interna.
(iv) Verificati rezultatele de la punctul anterior ın Matlab, trasand pe acelasigrafic locul Nyquist pentru k = 0.1 : 0.1 : 1.
(v) Compensatorul este impropriu. Introduceti un pol suplimentar rapid, cuconstanta de timp T = 0.001 sec9. Verificati stabilitatea noului sistem.
7Amortizarea ın sfert de amplitudine ınseamna ca raspunsul indicial are un raport de 1/4ıntre doua maxime succesive (i.e., factorul de amortizare este 1/4).
8Criteriul Nyquist. Presupunem ca L(s) are n+ poli instabili, i.e., ın C+. Atunci,sistemul ın bucla ınchisa este intern stabil numai si numai daca locul Nyquist cuω ∈ (−∞,∞) ınconjoara ın sens antiorar punctul critic (-1,0) de exact n+ ori.
9Procedura este cunoscuta ca filtrarea componentei derivative.
2. Performantele si robusteteaSRA
Scopul laboratorului
Laboratorul are ca scop cuantificarea sintetica a performantelor si a robusteteiSRA prin intermediul normelor sistemice care reprezinta principalul instru-ment utilizat ın proiectarea moderna a SRA.
2.1. Breviar teoretic
Norme pentru semnale si sisteme
Cele mai uzuale norme pentru semnale sunt normele p (cu p ≥ 1)
‖u‖p :=
(∫ ∞
−∞|u(t)|p dt
) 1p
, (2.1)
definite pentru toate semnalele u pentru care membrul drept din (2.1) are senssi este finit. Cele mai importante norme se obtin pentru p = 1, p = 2 si p =∞,avand expresiile explicite si semnificatia din paranteza
‖u‖1 =
∫ +∞
−∞|u(t)|dt (actiunea),
‖u‖2 =
(∫ +∞
−∞|u(t)|2 dt
) 12
(energia),
‖u‖∞ = supt|u(t)| (amplitudinea).
Introducem ın continuare normele sistemice. Fie un sistem de convolutiedescris de o functie pondere g(t), cu suport pozitiv, cu transformata LaplaceG(s), avand intrarea u(t) si iesirea y(t), cu transformatele Laplace u(s) sirespectiv y(s) si relatiile intrare-iesire
y(t) = (g ∗ u)(t) =
∫ ∞
−∞g(t− τ)u(τ) dτ, y(s) = G(s)u(s).
Folosim majuscula G pentru a indica sistemul atunci cand ne referim la nor-mele asociate acestuia.
Laboratorul 2. Performantele si robustetea SRA 31
La fel ca ın cazul semnalelor, normele sistemice releva sintetic proprietatisofisticate ale sistemelor. Cele mai importante norme sistemice sunt normeleinduse (de catre semnale), norma 2 si norma ∞.
Norme induse Pentru un p fixat, norma indusa p a unui sistem este definitaca
‖G‖pind:= sup
u∈Lpu 6=0
‖g ∗ u‖p‖u‖p
= supu∈Lpu 6=0
‖y‖p‖u‖p
= sup‖u‖p≤1
‖y‖p‖u‖p
= sup‖u‖p=1
‖y‖p
si are semnificatia de amplificare maxima (pana la iesire) a normelor p aletuturor semnalelor de intrare u aplicate sistemului.1
Norma 2 Norma 2 a unui sistem este prin definitie
‖G‖2 =
(1
2π
∫ +∞
−∞|G(jω)|2 dω
) 12
. (2.2)
Norma 2 este bine definita (finita) daca si numai daca functia de transfer Geste strict proprie si nu are poli pe axa imaginara. Norma 2 sistemica nu esteo norma indusa de o norma de semnale.2 Totusi, daca g ∈ L2 (i.e., functia detransfer G este strict proprie si stabila) este valida relatia lui Parseval
1
2π
∫ +∞
−∞|G(jω)|2 dω =
∫ +∞
−∞|g(t)|2 dt.
Norma ∞ Norma ∞ a unui sistem este prin definitie
‖G‖∞ = supω|G(jω)|. (2.3)
Norma ∞ este bine definita (finita) daca si numai daca functia de transfer Geste proprie si nu are poli pe axa imaginara. In plus, daca G este stabila atuncinorma∞ sistemica coincide cu norma indusa de norma 2 a semnalelor3,4, i.e.,
‖G‖∞ = ‖G‖2ind= sup
u 6=0
‖y‖2‖u‖2
. (2.4)
1Pentru fiecare norma Lp de semnal se defineste o norma sistemica indusa corespunzatoare.2Pentru un sistem norma 2 nu coincide cu norma 2 indusa.3 In acest caz este interesant de observat ca norma sistemica indusa ∞ coincide de fapt cu
norma 1 a functiei pondere (vazuta ca semnal)
‖G‖∞ind = sup‖u‖∞ 6=0
‖y‖∞‖u‖∞
= ‖g‖1.
4Acest fapt nu este valabil atunci cand G nu este stabila ıntrucat norma indusa 2 nu estefinita.
32 Teoria sistemelor automate. Indrumar de laborator
Sumar relatii intrare-iesire5 ıntre semnale si norme
u = δ(t) u = sin(ωt) ‖u‖2 = 1 ‖u‖∞ = 1
‖y‖2 ‖G‖2 ∞ ≤ ‖G‖∞ ∞‖y‖∞ ‖G‖∞ |G(jω)| ≤ ‖G‖2 ≤ ‖G‖1
Performantele si robustetea SRA ın termenii normelor
Consideram sistemul ın bucla de reactie din Fig. 2.1 ın care procesul P este dat,iar regulatorul C trebuie determinat astfel ıncat sistemul rezultant ın buclaınchisa sa atinga anumite performante impuse de specificatiile de proiectare.
C Pr e u
d
up
do
y
n
−
Figura 2.1.: Sistem de reglare automata cu bucla de reactie.
Semnalele de intrare ın sistem sunt referinta r, perturbatia pe intrare d,perturbatia pe iesire do si zgomotul n, iar semnalele de interes (iesire) sunteroarea e de urmarire a referintei, iesirea y a sistemului, comanda u (datade regulator) si comanda up efectiv aplicata procesului. Semnalele r, d si dosunt ın general semnificative la frecvente joase, ω ≤ ωr, ω ≤ ωd si respectivω ≤ ωdo, iar n este semnificativ la frecvente ınalte ω ≥ ωn. Aici ωr, ωd,ωdo sunt marginile superioare, iar ωn este marginea inferioara a intervalelor ıncare semnalele respective sunt considerate nenule. Tipic, procesul P este binemodelat la frecvente joase, iar incertitudinile inerente de modelare devin mariın special la frecvente ınalte (apare asa numita dinamica nemodelata).
Transferurile corespunzatoare intrare-iesire din Fig. 2.1 sunt
euyup
=
S −PS −S −STP −T −T
P −TP
T PS −T STP S −T
P −TP
rdndo
, (2.5)
unde S := 11+L , T := L
1+L , iar L := PC.
5Celulele din tabel ın care apare semnul ≤ indica faptul ca valoarea respectiva reprezintao margine superioara ce poate fi atinsa (pentru anumite sisteme, dar nu pentru toate)de norma semnalului de iesire y, pentru un semnal particular de intrare u de norma 1.
Laboratorul 2. Performantele si robustetea SRA 33
Cerintele de performanta si robustete se formuleaza ın termenii transferurilorın bucla ınchisa si cuprind tipic urmatoarele categorii:
1. Rejectia perturbatiilor;2. Rejectia zgomotului;3. Limitarea comenzii;4. Eroare mica de urmarire a referintei;5. Stabilitate robusta;6. Performanta robusta.
Primele patru tipuri de performanta 1–4 se obtin ın conditiile ın care trans-ferurile de la semnalele corespunzatoare de intrare la cele de iesire sunt
”mici“,
ceea ce tipic se reduce la a asigura ca norma ∞ a produsului ıntre o functiepondere si S sau T este marginita de o functie prescrisa (prin cerintele deproiectare).6 Vom vedea ca si cerintele de robustete 5 si 6 ce apar ca urmarea incertitudinilor de modelare se reduc tot la conditii asupra normelor ∞ aletransferurilor ın bucla ınchisa S si T .
Detaliem ın continuare fiecare dintre cerintele de performanta pe benzile defrecventa pe care semnalele sau incertitudinile de modelare sunt semnificative.
1. Rejectia perturbatiilor. Prin aceasta cerinta de performanta se ur-mareste reducerea influentei perturbatiilor d si d0 asupra intrarii up si a iesiriiy ale procesului P . Transferurile sunt:
y = PSd+ Sdo, up = Sd− T
Pdo.
Atunci:
• Pentru a rejecta do la iesirea y si d la intrarea up trebuie ca:
S :=1
1 + Lsa fie
”mic“ ⇔ L := PC sa fie
”mare“, ∀ω ≤ max{ωd, ωdo };
• Pentru a rejecta d la iesirea y trebuie ca (aici L este”mare“):
PS =L
C(1 + L)sa fie
”mic“ ⇔ C sa fie
”mare“, ∀ω ≤ ωd;
• Pentru a rejecta do la intrarea up trebuie ca (aici L este”mare“):
TP =
L
P (1 + L)sa fie
”mic“ ⇔ P sa fie
”mare“, ∀ω ≤ ωdo.
6Toate transferurile ın bucla ınchisa din (2.5) au fost scrise sub forma generica WS sauWT , unde functiile pondere W sunt ±1, ±P sau ± 1
P.
34 Teoria sistemelor automate. Indrumar de laborator
In concluzie, pentru rejectia perturbatiilor trebuie sa asiguram:
(i) Amplificare ın bucla deschisa |L(jω)| � 1, ∀ω ≤ max{ωd, ωdo };(ii) Amplificare a regulatorului |C(jω)| � 1, ∀ω ≤ ωd;(iii) Amplificare a sistemului |P (jω)| � 1, ∀ω ≤ ωd.2. Rejectia zgomotului. Prin aceasta cerinta de performanta se urmares-
te reducerea influentei zgomotului n asupra intrarii up si iesirii y ale procesuluiP . Transferurile sunt:
y = −Tn, up = −TPn.
Atunci:
• Pentru a rejecta n la iesirea y trebuie ca:
T :=L
1 + Lsa fie
”mic“ ⇔ L := PC sa fie
”mic“, ∀ω ≥ ωn;
• Pentru a rejecta n la intrarea up trebuie ca (aici L este”mic“):
T
P=
C
1 + Lsa fie
”mic“ ⇔ C sa fie
”mic“, ∀ω ≥ ωn.
In concluzie, pentru rejectia zgomotelor trebuie sa asiguram:
(i) Amplificare ın bucla deschisa |L(jω)| � 1, ∀ω ≥ ωn;(ii) Amplificare a regulatorului |C(jω)| � 1, ∀ω ≥ ωn.
Pentru a asigura simultan rejectia perturbatiilor d, do si zgomotelor n estenevoie ca cel putin ωn > max{ωd, ωdo }. De fapt, trebuie sa ne asiguram caωn � max{ωd, ωdo } pentru ca|L(jω)| nu poate varia prea rapid (de la � 1 la� 1) ıntr-o banda ıngusta de frecvente.7
3. Limitarea comenzii. Prin aceasta cerinta de performanta se urmarestemarginirea superioara a comenzii u pentru a preveni iesirea din zona de lini-aritate a procesului (de exemplu prin intrarea ın saturatie a elementului deexecutie). Marginile pentru comanda sunt tipic prescrise tehnologic si trebuiesatisfacute la orice frecventa ω ≥ 0. Transferurile sunt
u =T
P(r − n− do)− Td.
Distingem doua cazuri relevante:
• Acolo unde L este”mic“, trebuie ca
{CS sa fie
”mic“⇔ C sa fie
”mic“,
T sa fie”mic“;
7Acest fapt este o consecinta a primei teoreme Bode (vezi lucrarea de laborator urmatoare).
Laboratorul 2. Performantele si robustetea SRA 35
• Acolo unde L este”mare“, trebuie ca
CS =
L
P (1 + L)sa fie
”mic“⇔ P sa fie
”mare“,
T ≈ 1.
In concluzie, pentru limitarea comenzii trebuie ca:
(i) Pe banda de frecvente pe care |L(jω)| � 1 (de exemplu ω ≥ ωn) saavem |C(jω)| � 1. Acest lucru este ın acord cu rejectia zgomotelor pe bandaω ≥ ωn;
(ii) Sa asiguram |L(jω)|�1 doar ın banda de trecere a lui P , unde |P (jω)|>1.
In general comanda u nu se poate impune mai mica decat perturbatia d (avemu ≈ d, acolo unde |L(jω)| � 1, adica pentru frecvente joase unde d este mare).
4. Eroare mica de urmarire. Prin aceasta cerinta de performanta seurmareste obtinerea unei erori de urmarire a referintei cat mai mici. Transferuleste e = Sr. Pentru a avea eroare e mica trebuie ca:
S :=1
1 + Lsa fie
”mic“ ⇔ L := PC sa fie
”mare“, ∀ω ≤ ωr.
Cerintele de robustete 5 si 6 (stabilitate si performanta robusta) implica asi-gurarea stabilitatii interne si respectiv a performantelor specificate la punctele1–4 ın conditiile prezentei inerente a unei incertitudini ın modelul procesu-lui nominal P (modelul real P nu este cunoscut cu exactitate, doar se stieca apartine unei multimi de modele admisibile formalizate matematic ıntr-unanumit fel). In aceste conditii, stabilitatea si performantele sistemului de re-glare trebuie sa fie asigurate, prin proiectarea adecvata a regulatorului robustC, pentru toate sistemele din multimea admisibila (nu numai pentru P nomi-nal).
Descrierea matematica a multimii admisibile de modele se poate face ın maimulte feluri: aditiv, multiplicativ, sau pe factori coprimi. Pentru modelareamultiplicativa prezentata ın continuare multimea de modele admisibile estedescrisa de modelul nominal P si o functie de transfer data (o pondere) W cecuantifica profilul frecvential al amplitudinii incertitudinii, sub forma
P = (1 + ∆W )P, (2.6)
unde ∆ este o functie de transfer variabila ce descrie incertitudinea de faza siactioneaza ca un factor de scalare a amplitudinii, cu
‖∆‖∞ ≤ 1.
36 Teoria sistemelor automate. Indrumar de laborator
Folosim urmatoarele ipoteze8: ambele functii W si ∆ sunt stabile, W estetipic de faza minima si monoton crescatoare (incertitudinile de modelare crescodata cu cresterea frecventei) si nu au loc simplificari poli-zerouri la formarealui P .
Ideea din spatele clasei de modele (2.6) este ca ∆W este incertitudineanormalizata ın raport cu 1, i.e.,
P
P− 1 = ∆W.
Cum ‖∆‖∞ ≤ 1, rezulta
∣∣∣∣P (jω)
P (jω)− 1
∣∣∣∣ ≤ |W (jω)|, ∀ω. (2.7)
5. Stabilitate robusta. Stabilitatea interna a sistemului ın bucla dereactie din Fig. 2.1 este robusta daca se pastreaza pentru o ıntreaga vecinatatede procese ın jurul procesului nominal P . Pentru a masura robustetea stabi-litatii s-au introdus mai multi indicatori numiti sintetic margini de stabilitate:marginile de amplificare, marginea de faza si marginea vectoriala.
Margini de amplificare. Daca exista o frecventa ωπ astfel ıncatargL(jωπ) = −π si |L(jωπ)| ∈ (0, 1), se defineste marginea de amplificare su-perioara
MAs = 1/|L(jωπ)|. (2.8)
Daca o asemenea frecventa nu exista, se considera MAs =∞. Daca exista maimulte astfel de frecvente, se ia cea pentru care modulul este cel mai mare.
Daca exista o frecventa ωπ astfel ıncat argL(jωπ) = −π si |L(jωπ)| > 1, sedefineste marginea de amplificare inferioara
MAi = 1/|L(jωπ)|. (2.9)
Daca o asemenea frecventa nu exista, se considera MAi = 0. Daca existamai multe astfel de frecvente, se ia cea pentru care modulul este cel mai mic.
O interpretare uzuala a notiunii de margine de amplificare este ca ea repre-zinta factorul maxim cu care poate creste amplificarea ın bucla deschisa faraca sistemul ın bucla ınchisa sa-si piarda stabilitatea. Mai exact, sistemul kLeste stabil ın bucla ınchisa ∀k a.ı., 1 ≤ k < MA.
Marginea de faza. Fie ωt frecventa la care |L(jωt)| = 1 (daca exista maimulte astfel de frecvente, se ia cea pentru care argL(jωt) este cel mai aproapede −π). Marginea de faza este
MF = π + argL(jωt). (2.10)
8Ipotezele sunt de natura tehnica si nu limiteaza practic aplicabilitatea metodei.
Laboratorul 2. Performantele si robustetea SRA 37
O interpretare uzuala a notiunii de margine de faza este ca ea reprezintafaza negativa ce se poate adauga sistemului ın bucla deschisa fara ca sistemulın bucla ınchisa sa-si piarda stabilitatea. Mai exact, sistemul e−jθL este internstabil ın bucla ınchisa ∀θ a.ı. 0 ≤ θ < MF .
Marginea vectoriala. Marginea vectoriala este definita ca distanta de lapunctul critic la locul Nyquist:
MV = infω|1 + L(jω)| = ‖S‖−1
∞ . (2.11)
Marginile introduse mai sus sunt reprezentate ın Fig. 2.2. Conventional seconsidera ca sistemul este stabil robust daca
MAs > 2, MAi < 0.5, MF > 30◦, MV > 0.5. (2.12)
Marginea vectoriala este cel mai bun indicator al marginii de stabilitate ceınlocuieste cu succes marginile de amplitudine si de faza, eliminand toate ne-ajunsurile legate de punctele multiple de taiere.9
Im
ReMF
MV
1MAi
1MAs
ωπ
ωt
ωπ
1
Figura 2.2.: Marginile de stabilitate ale sistemului L(s).
9Se poate arata ca o margine buna vectoriala implica atat margini de amplitudine cat side faza bune, dar reciproca nu este ın general adevarata, cel putin pentru sisteme cucomplexitate mai ridicata.
38 Teoria sistemelor automate. Indrumar de laborator
In cazul ın care clasa de modele incerte este descrisa de (2.6), stabilitatearobusta se poate testa simplu folosind urmatorul rezultat necesar si suficientpentru stabilitate robusta:
Regulatorul C asigura stabilitate robusta sistemului din Fig. 2.1, cuincertitudinea de modelare descrisa ın (2.6), daca si numai daca
‖WT‖∞ < 1. (2.13)
Conditia (2.13) este ın forma ın care am cuantificat diversele tipuri de perfor-manta 1–4 (ın termenii lui T ). De aceea pentru profilul incertitudinii de modelse utilizeaza adesea notatia WT := W (folosita si ın continuare).
6. Performanta robusta. Notiunea de performanta robusta se refera lafaptul ca stabilitatea interna si performanta nominala (specificata de exemplude conditia ‖WSS‖∞ < 1, unde WS este o functie data prin cerintele deproiectare) sunt satisfacute pentru toate procesele incerte. In cazul modelariimultiplicative a proceselor incerte avem P = (1 + ∆WT )P , unde WT este ofunctie pondere ce cuantifica profilul frecvential al amplitudinii incertitudinii.Urmatorul rezultat contine un test de performanta robusta:
O conditie necesara si suficienta pentru performanta robusta este∥∥|WSS|+ |WTT |
∥∥∞ < 1. (2.14)
Daca apar simultan mai multe cerinte de performanta (ce implica diferiteponderi asupra lui S si T ) de forma
‖WSiS‖∞ < 1, i = 1, . . . , k, ‖WTjT‖∞ < 1, j = 1, . . . , l,
atunci definind
|WS(jω)| := maxi=1,...,k
|WSi(jω)|, |WT (jω)| := maxj=1,...,l
|WTj (jω)|
se poate arata ca toate cerintele de stabilitate si performanta (nominala sirobusta) pot fi sintetizate echivalent sub forma compacta din testul (2.14).
2.2. Sarcini de lucru
Problema R2.1. Fie sistemul de ordinul III, L =3
(s+ 1)3. Determinati
marginile MA si MF .
Solutie. Folosim functia Matlab margin. Marginile se pot citi de pe loculNyquist sau din diagramele Bode. In Fig. 2.3 se reprezinta locul Nyquistsi diagrama Bode obtinute prin codul Matlab din Sursa B.1 ce conduce laMA = 2.667 = 8.52 dB, ωπ = 1.73 rad/sec, MF = 41.7◦, ωc = 1.04 rad/sec.
Laboratorul 2. Performantele si robustetea SRA 39
−3 −2 −1 0 1 2 3 4
−2
−1
0
1
2
Re
Im
MF = 41.7◦
1
MA= 0.375
(a) locul Nyquist
10−1 100 101−60
−50
−40
−30
−20
−10
0
10
Am
pli
tud
ine
(dB
)
MA = 8.52 dB
ωc = 1.04 rad/sec
10−1 100 101−270
−225
−180
−135
−90
−45
0
MF = 41.7◦
ωπ = 1.73 rad/sec
Faz
a(g
rad
e)
Pulsatie (rad/sec)
(b) diagrama Bode
Figura 2.3.: Margini de stabilitate pentru Problema R2.1
40 Teoria sistemelor automate. Indrumar de laborator
Problema R2.2. Aceasta problema ilustreaza limitarile marginilor traditio-nale de faza si amplitudine ın raport cu marginea vectoriala. Fie
L =0.38(s2 + 0.1s+ 0.55)
s(s+ 1)(s2 + 0.06s+ 0.5).
Gasiti marginile de faza, amplitudine si vectoriala ale sistemului.
Solutie. Din diagramele Bode (vezi Fig. 2.4b), putem determina marginile deamplitudine si de faza. Conform cu Fig. 2.4, acest sistem are MA = ∞ siMF = 69.8◦, care satisfac conditiile generale asupra marginilor respective,vezi (2.12). Cu toate acestea, se observa ca locul Nyquist (vezi Fig. 2.4a)este extrem de aproape de punctul critic (−1, 0). O combinatie ıntre o micaamplificare si un mic defazaj poate duce sistemul ın instabilitate.
Fig. 2.4(a) ilustreaza marginea vectoriala a sistemului ın discutie. Pentruproiectare se impune tipicMV > 0.5. iar acest sistem areMV = 0.27. UtilizandMatlab, putem determina norma infinit ın doua moduri (pe baza careia amobtinut valorea numerica a MV ): cu functia norm sau direct din diagrameleBode. In acest caz,
‖S‖∞ = 3.6773 = 11.31 dB ⇒ MV = 0.27.
In consecinta pentru acest sistem marginile traditionale de robustete a sta-bilitatii, MA si MF , cu toate ca sunt ambele bune, sunt de fapt ınselatoareıntrucat sistemul este aproape de instabilitate, lucru evidentiat de MV mica.Codul MATLAB corespunzator este cel din Sursa B.2.
−2.25 −1.75 −1.25 −0.75 −0.25 0.25 0.75 1.25 1.75 2.25
−1
−0.5
0
0.5
1
Re
Im
MV = 0.27
(a) locul Nyquist
Laboratorul 2. Performantele si robustetea SRA 41
10−2 10−1 100 101 102−100
−80
−60
−40
−20
0
20
40A
mp
litu
din
e(d
B)
MA =∞ dB
10−2 10−1 100 101 102−225
−180
−135
−90
MF = 69.8◦
Faza
(gra
de)
Pulsatie (rad/sec)
(b) diagrama Bode
Figura 2.4.: Locul Nyquist si Diagrama Bode Problema R2.2
Problema R2.3. Consideram un sistem de ordinul III (vezi Fig. 2.1) cu
functia de transfer P =1
(s+ 1)3si un regulator de tip PID (proportional,
integral, derivativ) cu kp = 0.6, ki = 0.5 si kd = 2, C = kp +kis
+ kds.
Punem ın serie cu regulatorul un filtru de zgomot de ordinul II, avand functiade transfer
C =kds
2 + kps+ kis(s2 T 2
f /2 + sTf + 1),
cu Tf = 1.Analizati raspunsurile ın frecventa si timp ale iesirii la perturbatii d(t) = 1(t)
si raspunsurile ın frecventa si timp ale comenzii la zgomot n(t) = 1(t).
Solutie. Sa tratam primul caz. Raspunsul sistemului Hyd ın timp si frecventa
este dat ın Figurile 2.5a si 2.5b. Observati ca perturbatia este rejectata. In
42 Teoria sistemelor automate. Indrumar de laborator
plus, ymax = 0.4133 pentru tmax = 4.1044 sec. Raspunsul ın frecventa arataca amplificarea maxima este de −1.8249 dB la ωmax = 0.3511 rad/sec.
Figurile 2.5c si 2.5d prezinta raspunsul comenzii u la n(t) = 1(t). Amelio-rarea amplificarii la ınalta frecventa pentru functia Hun(jω) apare datoritafiltrarii; ın absenta acestui filtru, amplificarea ar fi continuat sa creasca chiarsi dupa valoarea ei maxima de la 25.9808 rad/sec.
0 5 10 15 20 25 30 35 40−0.2
0
0.2
0.4
0.6
Timp (sec)
Iesi
rey
tmax = 4.1044, ymax = 0.4133
(a) raspuns ın timp la treapta
10−2 10−1 100 101 102−150
−100
−50
0
Pulsatie (rad/sec)
|Hyd(jω
)|[d
B]
ωmax = 0.3511, |Hyd(jω)|max = −1.8249 dB
(b) diagrama Bode Hyd
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−15
−10
−5
0
5
Timp (sec)
Com
and
au
tmax = 0.4190, umax = 0.3930
(c) raspuns ın timp la treapta
Laboratorul 2. Performantele si robustetea SRA 43
10−2 10−1 100 101 102 103−10
0
10
20
30
Pulsatie (rad/sec)
|Hun(jω
)|[d
B]
ωmax = 13.0782, |Hun(jω)|max = 25.9808 dB
(d) diagrama Bode Hyd
Figura 2.5.: Raspunsul la perturbatii pentru Problema R2.3
Se mai poate observa ca umax = 0.3930 la tmax = 0.4190 sec. Raspunsul ınfrecventa are amplificarea maxima de 25.9808 dB la ωmax = 13.0782 rad/sec.
Ilustratiile din Fig. 2.5 sunt realizate cu codul Matlab din Sursa B.3.
Problema R2.4. Proiectare ın frecventa: ventilator pozitionat pe oaripa. (Ducted Fan, vezi http://www.cds.caltech.edu/~murray/papers/1998n_mm99-cca.html, echipament din dotarea unui laborator de la Caltech,Fig. 2.6). Sistemul replica dinamica longitudinala a unei aeronave (aripa simotor). Ecuatia diferentiala neliniara dintre unghiul θ si forta aerodinamicaf1 este
Jθ = rf1 − ζθ −mgl sin θ,unde J = 0.04754 kg·m2 este momentul de inertie, m = 1.5 kg este masamotorului, r = 0.25 m este distanta de la punctul de aplicatie al fortei f1 laflapsuri, g = 10 m/s2 este acceleratia gravitationala, ζ = 0.1 este coeficientulde frecare vascoasa, iar l = 0.05 m este pozitia centrului de masa.
Sistemul prezinta cateva incertitudini: parametrii r, ζ pot varia (nu pot fideterminati cu precizie), aerodinamica aripii este neglijata, dinamica supor-tului nu este luata ın considerare. De asemena, apar numeroase surse dezgomot de masura pentru x, y, θ. In aceste conditii, ne propunem realizareaurmatoarelor specificatii de performanta:
• eroare stationara sub 1% pentru raspunsul indicial, i.e., |εst| ≤ 0.1;
• eroare de urmarire de sub 5% pentru semnale armonice de frecventa depana la 2Hz, i.e. |εurm| ≤ 5%;
• incertitudini parametrice: r poate varia cu pana la 20%.
Pentru compensatorul
C = 4500s+ 25
s+ 300
rezolvati urmatoarele cerinte:
44 Teoria sistemelor automate. Indrumar de laborator
(a) (b)
Figura 2.6.: Sistemul Ducted Fan - dinamica longitudinala a avionului.Ilustratie pentru Problema P2.4.
(i) Determinati functia de transfer ıntre unghiul θ si forta f1, P =θ
f1;
(ii) Pe baza specificatiilor de performanta din enunt, gasiti functia pondereWS . Verificati grafic ca se respecta relatia ‖WSS‖∞ < 1;
(iii) Considerand incertitudinile parametrice r = r + δr, calculati functia detransfer P = P (1 + ∆WT ) unde ||∆||∞ ≤ 1 si functia pondere asociataWT ; Verificati grafic ca se respecta relatia ‖WTT‖∞ < 1.
(iv) Verificati conditia de performanta robusta, ‖ |WSS|+ |WTT | ‖∞ < 1.
Solutie. (i) Pentru variatii mici ale lui θ, folosim aproximarea liniara sin θ ≈ θ.In consecinta sistemul devine liniar si prin aplicarea transformatei Laplacese ajunge la relatia:
s2 · Jθ = rf1 − s · ζθ −mglθde unde se extrage functia de transfer ıntre unghiul θ si forta f1:
P =r
Js2 + sζ +mgl=
0.25
0.0475s2 + 0.1s+ 0.75.
(ii) Conform definitiei, obtinem functia de sensibilitate
S =1
1 + PC=
0.0475s3 + 14.35s2 + 30.75s+ 225
0.0475s3 + 14.35s2 + 1156s+ 28350,
iar specificatiile de performanta pot fi exprimate formal:
|S(0)| ≤ 0.01,
|S(jω)| ≤ 0.05, 0 < ω ≤ 4π ≈ 12 rad/sec.
Laboratorul 2. Performantele si robustetea SRA 45
Dupa cum se observa ın Fig. 2.7(a), specificatiile de performanta suntrespectate.
Cautam o functie pondere de forma
WS =K
(Ts+ 1)2
a.ı. sa rescriem sintetic specificatiile anterioare sub forma compacta‖WSS‖∞ < 1.
Deoarece
S(0) =225
28350= 0.0079
si WS(0) = K rezulta ca orice valoare K · 0.0079 ≤ 1, adica K < 126.58,este suficienta. Alegem K = 125.
Din grafic se observa ca functia S creste ıncepand cu ω ≈ 4 de la −50 dBpana la −25 dB ın ω = 12. Aceasta ınseamna o crestere de aproximativ
31 dB/decada. Un pol dublu cu pulsatia de rezonanta ın T =1
4va
contracara comportamentul lui S.
Cu valorile obtinute anterior obtinem
WS =125
(0.25s+ 1)2.
In Fig. 2.7(b) ilustram termenul |WSS|.
10−2 10−1 100 101 102 103 104
−40
−20
0
0.01 = −40 dB
0.01 = −26.02 dB
ω = 12
Pulsatie (rad/sec)
Am
pli
tud
ine
(dB
)
(a) |S|
46 Teoria sistemelor automate. Indrumar de laborator
10−2 10−1 100 101 102 103 104
−40
−20
0
1 = 0 dB
ω = 12
Pulsatie (rad/sec)
Am
pli
tud
ine
(dB
)
(b) |WSS|
Figura 2.7.: Functia de sensibilitate si functia pondere asociata pentru Pro-blema R2.4
(iii) Scriem P sub forma
P =
(1 +
δr
r
)P ,
∣∣∣∣δr
r
∣∣∣∣ = |∆WT | ≤ 0.2 ,∀ω , cu |∆| ≤ 1.
Prin urmare, putem alege WT = 0.2, i.e., o functie constanta care ınde-plineste specificatia de performanta |WTT | ≤ 1.
100 101 102 103 104
−60
−40
−20
0
Pulsatie
Am
pli
tud
ine
(dB
)
δr = 0
δr = −0.2
δr = 0.2
(a) |T |
Laboratorul 2. Performantele si robustetea SRA 47
100 101 102 103 104
−60
−40
−20
0
Pulsatie
Am
pli
tud
ine
(dB
)
δr = 0
δr = −0.2
δr = 0.2
(b) |WTT |
Figura 2.8.: Functia de urmarire a referintei si ponderea asociata pentru Pro-blema R2.4
In Fig. 2.8(a) ilustram functia T (pentru diverse valori ale parametruluiδr) iar ın Fig. 2.8(b) valorile termenului |WTT |.
(iv) Reprezentam pe acelasi grafic, ın Fig. 2.9, marimile |WSS| , |WTT | si|WSS|+ |WTT |.
10−1 100 101 102 103 104
−60
−40
−20
0
Pulsatie (rad/sec)
Am
pli
tud
ine
(dB
)
|WSS||WTT ||WSS|+ |WTT |
Figura 2.9.: Verificare robustete pentru Problema R2.4
Se observa ca nu se ındeplineste conditia de robustete (se depaseste va-loarea 1 = 0 dB ın jurul valorilor ω = 0.1 si ω = 10.
Ilustratiile sunt realizate cu codul Matlab din Sursa B.4.
48 Teoria sistemelor automate. Indrumar de laborator
Problema R2.5. Functia de transfer nominala P si functia pondere W ca-racterizeaza sistemul incert P , vezi relatia (2.6). Fie
P =1
s2, P = e−τs
1
s2, (2.15)
cu 0 ≤ τ ≤ 0.1. Cuantificati incertitudinea multiplicativa W introdusa deelementul de ıntarziere.
Solutie. Vrem sa gasim o multime P a.ı.
P ∈ P = {(1 + ∆W2)P : ‖∆‖∞ ≤ 1} .
Inegalitatea (2.7) devine
|e−jωτ − 1| ≤ |W2(jω)| , ∀ω, τ.Dupa cateva ıncercari, functia pondere de ordinul I a fost aleasa
W =0.21s
0.1s+ 1.
Fig. 2.10 reprezinta grafic diagrama Bode si locul Nyquist pentru τ = 0.1,cea mai mare valoare. Observati ca functia pondere margineste superior am-plitudinea |e−jωτ − 1|.
10−1 100 101 102 103
−300
−200
−100
0
Pulsatie (rad/sec)
Am
pli
tud
ine
(dB
)
e−τs − 1
W2(s)
(a) Diagrama Bode
Laboratorul 2. Performantele si robustetea SRA 49
−2 −1 0 1 2 3−1.25
−0.75
−0.25
0.25
0.75
1.25
Re
Im e−τs − 1
W2(s)
(b) Locul Nyquist
Figura 2.10.: Caracteristicile frecventiale pentru Problema P2.5
Codul Matlab folosit este detaliat ın Sursa B.5.
Problema R2.6. Se considera un proces al carui model se obtine prin identi-ficare experimentala ın frecventa. Amplitudinea si faza sunt masurate ıntr-unnumar de pulsatii ωi ∈ [0.01, 100], i = 1 : 61, repetand masuratorile de 10 orila fiecare pulsatie, rezultand punctele (Mik , φik), la experimentul k = 1 : 10.Valorile medii ale amplitudinii si ale fazei la fiecare pulsatie ın parte rezultaın 61 de perechi de date (M,φ). Datele sunt centralizate ın fisierul MatlabdateInterp.mat care contine valorile medii ale amplitudinii masurate ın vec-torul m si ale fazei masurate ın vectorul f, precum si pulsatiile ın care aufost efectuate masuratorile respective date ın vectorul interp, vezi Anexa B.2.Folosind aceste date experimentale, potriviti o functie de transfer P , de fazaminima. Mai mult, gasiti o functie pondere WT astfel ıncat
∣∣∣∣Mikε
jφik
Miεjφi− 1
∣∣∣∣ ≤ |WT (jωi)| , i = 1 : 121, k = 1 : 10. (2.16)
Solutie. Din definitia proceselor cu incertitudini multiplicative avem
P = P [1 + ∆WT ]⇔∣∣∣∣∣P
P− 1
∣∣∣∣∣ ,
de unde rezulta relatia (2.16).Folosind functia Matlab tfest calculam ın ordine crescatoare a preciziei mo-
delele
Pi =BiAi, Ai = a0 +a1s+ · · ·+ai+2s
i+2, Bi = b0 +b1s+ · · ·+bisi, i = 1 : 3,
50 Teoria sistemelor automate. Indrumar de laborator
i.e.,
• cu un zerou si doi poli,• cu doua zerouri si patru poli,• cu trei zerouri si cinci poli,
care sa interpoleze datele experimentale. Astfel, ın baza codului Matlab demai jos,
data=f rd (m.∗ exp (1 j ∗ f ∗ pi /180) , i n t e r p ) ; \% Se creeaza puncte l e din\\ \hspace ∗{8cm}\% planu l complex m i∗exp ( i ∗omega i ) .
2 np=[3 4 5 ] ;nz=[1 2 3 ] ;
4 f o r j =1:3P( j )=t f e s t ( data , np( j ) , nz ( j ) ) ; \% Functia Matlab care c reeaza\\ \hspace ∗{8 .6cm}\% f u n c t i i l e r a t i o n a l e complexe \\ \hspace∗{8 .6cm}\% care i n t e r p o l e a z a data .
6 end ,
rezulta cele trei functii de transfer care interpoleaza datele frecventiale aleprocesului nominal dat. In tabelul 2.1 sunt dati coeficientii funtiilor de transferPi rezultate, pentru i = 1 : 3. Interpoland cu tfest, se rezolva in sensul Celor
a0 a1 a2 a3 a4
i = 1 5.57 · 1016 4.07 · 1016 4.05 · 1013 0 0i = 2 1.303 · 108 1.011 · 1019 6.6 · 1018 8.077 · 1016 0i = 3 1.17 · 106 3.69 · 106 1.38 · 105 2865.8 79.749
b0 b1 b2 b3
i = 1 5.63 · 1015 3.54 · 1016 0 0i = 2 1.01 · 1016 1.359 · 1018 4.79 · 1018 0i = 3 1.75 · 105 1.34 · 106 6117.7 743.43
Tabelul 2.1.: Tabele cu coeficientii functiilor de transfer Pi, i = 1 : 3 careinterpoleaza datele experimentale
Mai Mici Patrate (CMMP) sisteme subdeterminate care au drept necunoscutecoeficientii numaratorilor si ai numitorilor functiilor de transfer. Functia tfestproduce sisteme de faza minima care potrivesc datele experimentale.
Incertitudinile sunt profilate cu WT care sa satisfaca relatia (2.16), ca unfiltru trece-sus
WT =s+ ωB/M
As+ ωB.
Alegand ωB = 0.3, A = 0.2 si M = 15 rezulta un profil
WT (s) =s+ 0.02
0.2s+ 0.3, (2.17)
Laboratorul 2. Performantele si robustetea SRA 51
care satisface relatia (2.16) vezi figura 2.11. Incertitudinea ∆, cu ‖∆‖∞ ≤ 1este creata astfel,
Delta=u l t idyn ( ’ DeltaP ’ , [ 1 1 ] )
Comanda de mai sus genereaza un sir de sisteme ∆ cu o intrare si o iesire,liniare si invariante ın timp, care modeleaza incertitudinile la ınalta frecventa.Functiile ∆ obtinute satisfac proprietatea ca |∆(jω)| ≤ 1. Astfel procesele
incerte vor fi Pi = Pi[1 + ∆WT ], i = 1 : 3.
10−2 10−1 100 101 102
−50
0
Pulsatie (rad/sec)
Am
pli
tud
ine
(dB
)
data
data p
data p1
WT
Figura 2.11.: Profilul de incertitudine WT din (2.17) satisfacand relatia (2.16)(puncte stelate) si datele reale (puncte tip cruce) masuratori me-diate (linie ıntrerupta)
Asa cum ne asteptam, se observa din Fig. 2.12 ca P3 este cea mai buna apro-ximare a datelor, ındepartandu-se de profilul de incertitudini ın zona de ınaltafrecventa. De asemenea, P3 este un proces de faza minima cu polii si zerouriledeterminate de functiile Matlab pole si, respectiv, zero:
1 >> po le (P3) ’ans =
3 Columns 1 through 3−39.714 − 23 .383 i −39.714 + 23.383 i −1.5324e−08 − 41 .428 i
5 Columns 4 through 5−1.5324e−08 + 41.428 i −0.32179
7 >> zero (P3) ’ans =
9 −4.0494 − 42 .312 i −4.0494 + 42.312 i −0.13028
52 Teoria sistemelor automate. Indrumar de laborator
10−2 10−1 100 101 102 103
−100
−50
0
50
Pulsatie (rad/sec)
Am
pli
tud
ine
(dB
)
Pn
P1t 1z3p
P2t 2z4p
P3t 3z5p
Figura 2.12.: Diagramele de amplitudine a procesului nominal (linie continua),
a proceselor P1 incerte (linie ıntrerupta), P2 incerte (linie punc-
tata) si P3 incerte (linie stelata)
Codul software Matlab cu care au fost obtinute rezultatele se regaseste ınSursa B.6.
Problema R2.7. Consideram un sistem perturbat dat de
P = [1 + ∆W ]P
(incertitudini multiplicative), unde
P =1
s− 1, W =
4
s+ 10.
Perturbatia stabila ∆ satisface conditia ‖∆‖∞ ≤ 1. Alegem un compensatorproportional de forma C = k. Gasiti intervalul admisibil pentru k a.ı. sistemulsa fie stabil ∀∆.
Solutie. Pentru stabilitatea nominala polinomul caracteristic χ(s) are toateradacinile ın C−:
χ = s− 1 + k ⇔ 1− k < 0 ⇔ k > 1.
Conditia pentru stabilitate robusta se scrie echivalent
‖WT‖∞ < 1 ⇔ |W (jω)T (jω)| < 1,∀ω ⇔∣∣∣∣
4k
(jω + 10)(jω − 1 + k)
∣∣∣∣ < 1,∀ω.
Laboratorul 2. Performantele si robustetea SRA 53
-120dB
-60dB
0dB
60dB
Figura 2.13.: Locul Nyquist ınchis cu ω ∈ (−∞,∞) pentru Problema R2.7
Observam din diagrama Bode a functei WT ca supremumul se atinge pentruω = 0.
Tinand cont ca k > 1, relatia de mai sus devine
∣∣∣∣4k
10(k − 1)
∣∣∣∣ < 1 ⇔ k >10
6> 1.
Fig. 2.13 reprezinta locul Nyquist cu k = 2 pentru L(jω) cu ω ∈ R (inclusivınchiderea sferei Riemann la infinit). Am folosit functia Matlab nyqlog(sys),pe care o puteti gasi ın Anexa. Observati ca hodograful ıncercuieste o singuradata punctul critic (exact cati poli instabili are L). Testam pentru catevafrecvente ca punctul critic se afla ın exteriorul discului de centru L si raza|W2L| cu ajutorul Sursei B.7.
54 Teoria sistemelor automate. Indrumar de laborator
Problema R2.8. Impuneti o specificatie de performanta nominala, mai exact,o eroare de urmarire de sub 5% pentru semnale armonice cu frecventa de panala 4 Hz. Formal:
|εurm| ≤ 0.05 ⇔ |S(jω)| ≤ 0.05 , 0 < ω ≤ 8π ≈ 25 rad/sec.
Solutie. Pentru a scrie specificatia de performanta sub forma ‖WS‖∞ < 1,trebuie sa impunem prin proiectare o pondere functie de frecventa W . Avem
|S(jω)| ≤ 1
|W (jω)| = 0.05 , 0 < ω ≤ 8π ≈ 25.
Prin urmare, |W (jω)| = 1/0.05 = 20, adica |W (jω)|dB = 26 dB. W esteasadar un filtru trece-jos, cu pulsatia de taiere ωr = 25 rad/s, de forma
Wa =20
s25 + 1
sau Wb =20
(s25 + 1
)2 .
Fig. 2.14 prezinta diagrama Bode ın amplitudine pentru W si 1/W (ambelevariante a si b). Se vede din grafic ca |Wb(jω)| are panta mai mare la pulsatiade taiere, fiind astfel mai buna. Observati ca functia de sensibilitate estemica la frecvente joase (i.e., atenueaza) si e marginita superior de 1/|W (jω)|.Fig. 2.14 a fost obtinuta cu ajutorul codului din Sursa B.8.
100 101 102 103−40
−20
0
20
40
Wb
Wa1
Wa
1
Wb
Figura 2.14.: Diagrama Bode pentru Problema R2.8
Laboratorul 2. Performantele si robustetea SRA 55
2.3. Sarcini aditionale
Problema P2.9. Studiul dinamic al pendulului invers. Consideramsistemul cu functia de transfer de la u la x a pendulului inversat Hxu si datelenumerice M = 9 kg, ` = 9/10 m, respectiv m = 1 kg, g = 10 m/s2. Se dispunede o functie care calculeaza compensatorul stabilizator, prin alocarea polilorın bucla ınchisa ın {−1,−2,−3,−4}. Apelul tipic al functiei este
1 [ Hxu ,C] = stab p inv (m,M, l ) ;
Cerinte:
(i) Gasiti un compensator stabilizator si desenati cu Matlab raspunsul latreapta. Observati daca C este propriu sau strict propriu. Determinatipolii sistemului ın bucla ınchisa. Care este valoarea de regim stationar?Justificati.
(ii) Realizati modelul Simulink al buclei de reglare. Sa se vizualizeze ras-punsurile la treapta respectiv rampa. Veti face un script *.m care vainteractiona cu diagrama Simulink. Cum justificati faptul ca oricare dincompensatoarele stabilizatoare alese de voi regleaza la referinte de tiptreapta sau rampa ?
(iii) Aceleasi cerinte ca la punctul (ii), pentru sistemul cu functia de transferde la u la x a pendulului direct, folosind rutina MATLAB stab pdir.mcare returneaza compensatorul stabilizator.
(iv) Probati ın Matlab ca regulatorul calculat la (ii) pentru sistemul liniarizatın jurul punctului de echilibru (x, θ) = (0, 0) (pendulul inversat) nu sta-bilizeaza sistemul liniarizat ın jurul punctului de echilibru (x, θ) = (0, π)(pendulul neinversat). In concluzie, comportamentul sistemului neliniardepinde esential de punctul de echilibru ın jurul caruia a fost liniarizat.
(v) Sa se localizeze marginea de amplitudine, de faza si vectoriala pentrufunctia de transfer ın bucla deschisa, pe diagramele Nyquist respectivBode. Analiza se va face pentru ambele sisteme, pendul invers si penduldirect.
Problema P2.10. Microscopul de putere atomica este un microscop curezolutie foarte fina, de ordinul fractiunilor de nanometru, 1nm = 10−9m,mult sub limita de difractie a sistemelor optice. Cautati pe Google sintagma”atomic force microscopy”.
Consideram aici sistemul de pozitionare a probei ın microscopul atomic.Sistemul are o dinamica puternic oscilatorie si poate fi aproximat cu un modelmasa - resort avand o amortizare mica, e.g., ζ = 0.01, ωn = 10 rad/sec,
56 Teoria sistemelor automate. Indrumar de laborator
P =ω2n
s2 + 2ζωns+ ω2n
.
Folosim un compensator cu actiune integrala, de forma C =kis
pentru satis-
facerea urmatoarelor cerinte:
(i) Determinati L si L(jωn). Verificati ca argL(jωn) = −π. Rezulta imediatca ωπ = ωn, valoare independenta de ki.
(ii) Aratati ca
MV = 1− ki2ζωn
.
Indicatie. Observati ca infimumul se atinge ın ωn din expresia lui MV .Puteti folosi Matlab ca sa desenati diagramele Bode si locul Nyquist pen-tru L: click dreapta, Characteristics - All stability margins.
(iii) Daca impunem pentru MV o valoare prestabilita prin proiectare, obtinem
ki = 2ζωn(1−MV ) .
Alegeti MV = 0.6. Trasati locul Nyquist si diagramele Bode pentru L cuacest ki. Determinati frecveta ωc, marginile de stabilitate si frecventa derezonanta.
(iv) Fie MV = 0.5 : 0.1 : 0.8. Cum se modifica diagramele Bode si loculNyquist pentru sistemul ın bucla deschisa L? Dar frecventa critica ωc?
Problema P2.11. Propagarea caldurii. Un model simplificat pentrupropagarea caldurii ın solide este dat de functia de transfer
P = ke√s.
(i) Aratati ca√j = ±
(√2
2 +√
22 j).
(ii) Desenati ın Matlab locul Nyquist pentru k = 1, cu ω = 0 : 0.1 : 500.Indicatie. Calculati U(ω) si V (ω), iar apoi apelati plot(U,V).
(iii) Pentru k = 1, gasiti ωπ pentru care argP (jωπ) = −π, amplificarea|P (jωπ)| si MA. Indicatie. Cautam practic intersectia cu axa reala, i.e.,V (ωπ) = 0. Asadar, se impune ın Matlab o conditie de tipul |V | ≤ 10−9.
(iv) Aratati ca pentru k = eπ sistemul se afla la limita de stabilitate, adicalocul Nyquist trece prin punctul critic (−1, 0). Verificati ın Matlab.
(v) Generalizati punctul (iii) pentru k oarecare.
Laboratorul 2. Performantele si robustetea SRA 57
Problema P2.12. Am vazut ca anumite specificatii de performanta se potscrie sub forma ‖WS‖∞ < 1. Dati o interpretare geometrica acestei relatiiın termenii locului Nyquist al sistemului L. Indicatie. Relatia se poate scrieechivalent
‖WS‖∞ < 1 ⇔∣∣∣∣W (jω)
1 + L(jω)
∣∣∣∣ < 1, ∀ω ⇔ |W (jω)| < |1 + L(jω)|, ∀ω.
Problema P2.13. Sistem cu ıntarziere. Fie functia de transfer pe caleadirecta
L =ke−τs
s+ 1.
(i) Pentru τ = 0.1 sec gasiti k a.ı. MF ≈ 45◦.
(ii) Desenati graficul luiMF (τ) pentru k de la punctul anterior si 0 ≤ τ ≤ 0.25.
Problema P2.14. Controlul vitezei de croaziera a unui vehicul. Consi-deram aici problema mentinerii vitezei unui vehicul care urca un deal. Sistemuldinamic simplificat pentru masina ın urcare este prezentat ın Fig. 2.15. Fiev(t) viteza masinii, m masa totala (inclusiv pasagerii), F (t) forta de tractiunegenerata de motor, iar Fd(t) forta perturbatoare cauzata de gravitatie, frecaresi rezistenta aerodinamica. Ecuatia de miscare a masinii este
mdv(t)
dt= F (t)− Fd(t).
Dupa analiza dinamica a sistemului - se scriu ecuatiile fizice detaliat si seliniarizeaza dinamica ın jurul unui punct stationar de echilibru (veti studiamai multe la cursul de Modelare si Simulare), se obtine ecuatia diferentiala
d
dt[v(t)− ve] = −a[v(t)− ve] + b[u(t)− ue]− gθ,
unde u(t) este comanda data de motor (intrarea sistemului), iar (ve, ue) estepunctul de echilibru ın care forta dezvoltata de motor echilibreaza forteleperturbatoare, cu ve = 20 m/s, ue = 0.1616 m/sec2. Se cunosc parametriia = 0.0101, b = 1.3203, g = 9.81 m/sec2.
(i) Gasiti functia de transfer Pvu de la variatia comenzii ∆u(t) = u(t) − uela variatia vitezei ∆v(t) = v(t) − ve pentru miscarea pe plan orizontal,adica θ = 0. Veti obtine o functie de transfer de ordinul I centrata.
(ii) Desenati raspunsul la treapta si la impuls pentru P . Determinati po-lii si zerourile. Care este timpul tranzitoriu? Dar timpul de crestere?Indicatie. Pe graficul returnat de functia Matlab step, dati click dreaptasi alegeti Characteristics. Observati dinamica lenta a sistemului.
58 Teoria sistemelor automate. Indrumar de laborator
F
Fg
mg
θ
Figura 2.15.: Vehicul ın urcare. Ilustratie pentru Problema P2.14.
(iii) Ne propunem ın continuare proiectarea unui compensator PI prin metodaplasarii polilor ın bucla ınchisa. Compensatorul este dat de relatia
C = kp +kis,
unde kp si ki trebuie determinati. Gasiti expresia polinomului caracteris-tic χ = NPNC +MPMC .
(iv) Aici vom impune (plasa) radacinile lui χ. Ne dorim un polinom caracte-ristic ın bucla ınchisa de forma χd = s2 +2ζωns+ω2
n cu ζ = 1 si ωn = 0.5rad/s. Calculati numeric compensatorul PI (constantele necunoscute).Implementati ın Simulink bucla de reactie cu r(t) = 1(t) si n = d = 0,cu un timp de simulare de 100 sec. Vizualizati semnalele ∆u(t) si ∆v(t).Indicatie. Egalati coeficientii polinoamelor χ si χd.
(v) Presupunem acum ca automobilul ıntalneste un deal cu θ = 4◦ la momen-tul t = 60 sec. Simulati acest lucru ın Simulink. Vizualizati semnalele∆u(t) si ∆v(t). Indicatie. Introduceti o perturbatie de tip treapta pecomanda cu intarzierea de 60 sec. Considerati ca r(t) = 1(t) si n = 0.
(vi) Analizati dinamica sistemului reglat cu ajutorul diagramei Simulink. Ob-servati cum se modifica performantele pentru diferite valori ale lui ωn siζ. Indicatie. Fixati ζ = 1 si alegeti ωn ∈ {0.2; 0.5; 1} rad/s. Apoi, fixatiωn = 1 si alegeti ζ ∈ {0.5; 0.8; 1}.
(vii) Analizam ın continuare efectul variatiei parametrilor a si b asupradinamicii sistemului P si a performantelor sistemului reglat (spre exempluvariaza masa vehiculului din cauza numarului de pasageri). Consideram
a′ = a± 30%a, b′ = b± 30%b.
Reprezentati pe acelasi grafic raspunsul indicial pentru diferite valori aleparametrilor. Verificati ın Simulink performantele reglarii.
Laboratorul 2. Performantele si robustetea SRA 59
Problema P2.15. Altfel de analiza de robustete. Consideram sistemulde control al regimului de croaziera pentru un vehicul ın viteza a IV-a cuve = 25 m/s:
P =1.38
s+ 0.0142, C = 0.72 +
0.18
s.
Compensatorul este PI. Tratam ın aceasta problema incertitudinile aditive deforma P = P + ∆. Pentru stabilitate robusta trebuie ca
|δ(jω)| =∣∣∣∣∆(jω)
P (jω)
∣∣∣∣ <1
|T (jω)| , ∀ω ≥ 0.
Numim ın continuare δ eroarea relativa si ∆ eroarea absoluta. Se cere:
(i) Reprezentati pe acelasi grafic
∣∣∣∣P (jω)
T (jω)
∣∣∣∣ si1
|T (jω)| pentru plaja de frecvente
ω ∈ [10−2, 102]. Indicatie. Folositi bodemag(sys1, sys2, {1e-2,1e2}).Observati ca
|∆(jω)| <∣∣∣∣P (jω)
T (jω)
∣∣∣∣ , |δ(jω)| < 1
|T (jω)| , ∀ω ≥ 0.
(ii) Calculati ‖T‖∞ si frecventa ωpeak la care se atinge supremumul. Desenatidiagrama Bode pentru sistemul T si observati ca supremumul se atingela joasa frecventa. Determinati numeric cele mai mici incertitudini admi-sibile ε1 si ε2, i.e.,
|∆(jω)| < ε1, |δ(jω)| < ε2, ω = ωpeak.
Indicatie. Folositi apelul [ninf,fpeak] = norm(SYS,inf). Pentru adetermina amplitudinea la o pulsatie precizata, se apeleaza, e.g.,Ppeak = bode(P,fpeak).
(iii) Studiem acum conditiile de stabilitate robusta la ınalta frecventa. Ale-gem spre exemplu ωıf = 10 rad/sec. Calculati ın Matlab incertitudinileadmisibile ε1 si ε2 pentru ωıf.
(iv) Ce puteti concluziona despre robustetea stabilitatii sistemului ın buclaınchisa studiat? Argumentati riguros. Reprezentati locul Nyquist pentruL. Analizati grafic conditia de stabilitate robusta.
Problema P2.16. ACC Benchmark Problem. Consideram aici problemacelor doua vagoane interconectate printr-un resort. Fig. 2.16a prezinta sistemulmecanic, iar Fig. 2.16b prezinta diagrama bloc a sistemului. Parametri m1,m2 si k sunt incerti, toti egali cu 1 plus sau minus 20%. Functia de transfer dela forta f1 la x1 este G1, iar de la f2 la x2 este G2. Observati ca sistemul are o
60 Teoria sistemelor automate. Indrumar de laborator
m1 m2
forta u
pozitia x1 pozitia x2
(a) Sistemul mecanic
G1(s)
m1
G2(s)
m2
k
arc
u1 + f1 x1
+
y1x2
−
y2
u2
f2
F (s)
P (s)
(b) Diagrama bloc a sistemului y1 = Pu1
Figura 2.16.: ACC Benchmark Problem. Ilustratie pentru Problema P2.16.
singura marime de comanda u1 si un singur senzor de pozitie y1. Ne propunemproiectarea unui compensator robust si analiza de robustete a sistemului reglat:
(i) Calculati G1 si G2. Indicatie. Se pleaca de la ecuatia dinamica f = mx.
(ii) Verificati algebric din diagrama bloc a sistemului ca are loc relatia
F =
[0G1
] [1 −1
]+
[1−1
] [0 G2
].
(iii) Creati ın Matlab parametrii reali incerti m1, m2 si k folosind functiaureal. Construiti de asemenea functiile de transfer F si P . Gasiti poliisi zerourile sistemului nominal.Indicatie. P se construieste apeland P = lft(F,k).
(iv) Compensatorul este dat de functia de transfer
C(s) =100(s+ 1)3
(0.001s+ 1)3.
Laboratorul 2. Performantele si robustetea SRA 61
Calculati sistemul ın bucla ınchisa T . Reprezentati raspunsul indicialal lui T pentru 5 valori aleatoare. Indicatie. Utilizati functiile Matlabfeedback, step, usample.
(v) Studiati robustetea stabilitatii cu functia robuststab. Afisati raportulsi combinatia de parametri care duce la instabilitate. Ce putem conclu-ziona?
(vi) Sistemul prezinta o stabilitate robusta confortabila, mult peste anticipatul± 20%. Dar cat de mult se deterioreaza performantele sistemului ın buclaınchisa T? Calculati numeric cea mai nefavorabila amplificare a lui Tsi frecventa corespunzatoare acestei situatii. Desenati pe acelasi graficdiagrama Bode pentru cea mai nefavorabila situatie si 4 valori aleatoareale lui T . Indicatie. Folositi wcgain(T), usample, usubs.
Problema P2.17. Pe langa incertitudinile multiplicative, pot aparea si altemodele de incertitudine. Consideram functiile de transfer de forma
P =1
s2 + as+ 1, 0.4 ≤ a ≤ 0.8.
(i) Gasiti α si β a.ı. a = α + β∆, unde ∆ este un scalar cu proprietatea|∆| ≤ 1.
(ii) Functiile de transfer P (s) pot fi aduse la forma
P =P
1 + ∆W2P.
Determinati numeric functia de transfer nominala P si ponderea W2.Indicatie. Observati ca P = P pentru ∆ = 0.
(iii) Gasiti expresia care este marginita superior de |W2(jω)|. Probati acestfapt - desenati diagrama Bode pentru a = 0.4 : 0.1 : 0.8.
(iv) Implementati analiza din Anexa B.1 pentru problema noastra.
Problema P2.18. Amplificatorul operational. Consideram acum am-plificatorul operational (AO) studiat la Electronica, aratat ın Fig. 2.17. Nepropunem analiza performantelor AO ın prezenta incertitudinilor parametricesi a variatiilor pe sarcina la iesire (rezistenta suplimentara Rl, load). Dacamodelam dinamica AO ca v2 = −Gv, atunci functia de transfer pentru totcircuitul este
Gv2v1 = αG
G+ α+ 1,
62 Teoria sistemelor automate. Indrumar de laborator
unde α = R2/R1 >> 1 este raspunsul ideal al amplificatorului. Functia detransfer a AO este data de relatia
G =kb
s+ b,
unde b este largimea de banda a AO, iar k este amplificarea. Valorile parame-trilor sunt cunoscute: α = 104, b = 10 rad/sec, k = 107. Se cer urmatoarele:
−
+G(s)
v
R2R1
v2
v1
Rl
(a) schema eletrica
R2
R1
R1
R1 +R2−G(s)
v1 e vdv2
(b) schema bloc
Figura 2.17.: Amplificatorul operational cu dinamica incerta si diagrama bloc.Ilustratie pentru Problema P2.18.
(i) Calculati ın Matlab T si S. Reprezentati diagramele Bode pentru celedoua functii. Pentru ce banda de frecvente semnalul perturbator d esteatenuat? Indicatie. Verificati ca functia de sensibilitate este transferulıntre d si v2.
(ii) Presupunem acum ca apar variatii de ±30% ale parametrilor k si b.Reprezentati raspunsul indicial si diagrama Bode pentru Gv2v1 pertur-bat. Comentati rezultatele.
(iii) Rl introduce perturbatii nestructurate. Determinati P si implicit tipulde perturbatii (aditive, multiplicative) pentru ‖∆‖∞ < 1. Indicatie. Rleste legat ın paralel cu R2.
3. Limitari fundamentale ale SRA
Scopul laboratorului
In acest laborator sunt puse ın evidenta principalele limitari ale sistemelor dereglare automata (SRA), limitari ce nu pot fi depasite prin constructia niciunuiregulator conectat ın bucla de reactie.
3.1. Breviar teoretic
Consideram sistemul ın bucla de reactie din Fig. 3.1 ın care procesul P este dat,iar regulatorul C trebuie determinat astfel ıncat sistemul rezultant ın buclaınchisa sa atinga anumite performante impuse de specificatiile de proiectare.Definim
L := PC, S :=1
1 + L, T :=
L
1 + L,
numite functia de transfer ın bucla deschisa, functia de sensibilitate si respectivfunctia complementara de sensibilitate. Scopul acestui capitol este evidentiereadiferitelor constrangeri (limitari) de proiectare impuse de ınsusi modelul pro-cesului P , constrangeri ce nu pot fi depasite de nici un regulator din clasacelor care stabilizeaza intern sistemul. Pentru realizarea unei sinteze proactivea regulatorului este deci importanta cuantificarea limitarilor fundamentale deperformanta ınca din faza preliminara de prescriere a cerintelor proiectarii.
Punem ın evidenta trei categorii principale de constrangeri de proiectare:
• Algebrice;• In domeniul timp;• Frecventiale (analitice).
C Pr e u
d
up
do
y
n
−
Figura 3.1.: Sistem de reglare automata cu bucla de reactie.
64 Teoria sistemelor automate. Indrumar de laborator
Constrangeri algebrice
S + T = 1. Aceasta este o consecinta imediata a definitiilor lui S si T . Inparticular, relatia este valabila pentru orice s = jω si arata ca nu se poate cafunctia de sensibilitate si functia complementara de sensibilitate sa fie simul-tan (la aceeasi frecventa) foarte mici. O consecinta imediata este ca pentruındeplinirea conditiei de performanta robusta (2.14) este necesar ca
min{ |WS(jω)|, |WT (jω)| } < 1, ∀ω. (3.1)
Pentru o performanta buna de urmarire a semnalelor la joasa frecventa |WS(jω)|trebuie sa fie
”mare“ la acele frecvente, fiind tipic o functie monoton des-
crescatoare (tip filtru trece-jos), iar deoarece incertitudinile sunt pronuntatela ınalta frecventa |WT (jω)| este mare la frecvente mari, fiind tipic o functiemonoton crescatoare (tip filtru trece-sus). Prin urmare, conditia (3.1) impunede fapt constrangeri ın zona de medie frecventa.
Constrangeri de interpolare. Daca P are un zerou z si/sau un pol p cuRe(z) ≥ 0 si Re(p) ≥ 0 atunci S si T satisfac conditiile de interpolare
T (p) = 1, S(p) = 0, (3.2)
T (z) = 0, S(z) = 1. (3.3)
Constrangeri ın domeniul timp
Prezentam ın continuare constrangeri ce se manifesta ın raspunsul ın timp alproceselor, constrangeri ce apar ın prezenta zerourilor instabile, ın prezentapolilor instabili si ın prezenta atat a zerourilor, cat si a polilor instabili.
Zerouri instabile. Pentru un sistem stabil cu nz+ zerouri instabile raspunsulindicial la treapta unitara y(t) intersecteaza abscisa (valoarea initiala y(0)) denz+ ori. Acest fenomen se numeste raspuns invers al sistemului (vezi Fig. 3.2).
Fie sistemul ın bucla deschisa L avand un zerou q cu Re(q) > 0. Dacasistemul ın bucla ınchisa (cu reactie negativa unitara) este intern stabil, iary(t) si e(t) sunt raspunsul si respectiv eroarea la treapta unitara atunci
∫ ∞
0
e−qte(t) dt =1
q, (3.4)
∫ ∞
0
e−qty(t) dt = 0. (3.5)
Mai mult, subreglajul yi satisface
yi ≥1− ε
eqtt − 1> 0, (3.6)
Laboratorul 3. Limitari fundamentale ale SRA 65
y(t)
t
1
Figura 3.2.: Raspunsul indicial al sistemului H(s) := −s+0.50.5(s+1)(0.5s+1) prezinta
”raspuns invers“.
unde tt este timpul tranzitoriu necesar pentru ca raspunsul sa intre ıntr-obanda de ±ε ın jurul raspunsului stationar.
Acest rezultat arata ca daca avem un zerou instabil, atunci raspunsul indicialy(t) si eroarea corespunzatoare e(t) trebuie sa satisfaca constrangeri integralece sunt valabile oricare ar fi regulatorul C. Mai mult, raspunsul tranzitoriupoate fi oricat de neplacut (depinzand doar de locatia polilor ın bucla ınchisaın raport cu q). Rezultatul are loc si pentru zerouri stabile atunci cand acestease gasesc ın dreapta polilor ın bucla ınchisa. Relatia (3.6) arata ca daca avemzerouri instabile atunci raspunsul la treapta va prezenta un subreglaj cu atatmai mare cu cat asiguram un timp tranzitoriu mai scurt (cu cat facem sistemulmai rapid prin alegerea regulatorului).
Poli instabili. Fie sistemul ın bucla deschisa L avand un pol p cu Re(p) > 0.Daca sistemul ın bucla ınchisa (cu reactie negativa unitara) este intern stabil,iar y(t) si e(t) sunt raspunsul si respectiv eroarea la treapta unitara atunci
∫ ∞
0
e−qty(t) dt =1
p> 0,
∫ ∞
0
e−pte(t) dt = 0. (3.7)
Mai mult, suprareglajul ys satisface
ys ≥(ptc − 1)eptc + 1
ptc≥ ptc
2
unde tc este timpul de crestere. Acest rezultat arata ca daca avem un polinstabil ın bucla deschisa si sistemul ın bucla ınchisa este relativ
”lent“ (i.e.,
tc este mare), atunci raspunsul la treapta va avea un suprareglaj mare. Acestlucru este ın contrast cu sistemele stabile ın bucla deschisa pentru care su-prareglajul mare apare la un timp de crestere mic. In cazul prezentei polilor
66 Teoria sistemelor automate. Indrumar de laborator
instabili pentru a avea performanta acceptabila trebuie sa proiectam un sistemın bucla ınchisa relativ rapid – sau, echivalent, cu o largime de banda mare.Situatia este din nou ın contrast cu cea corespunzatoare zerourilor instabilepentru care performanta buna implica o largime de banda mica si un sistemrelativ lent.
Poli si zerouri instabile. Fie un sistem ın bucla deschisa L avand un zerou qsi un pol p instabile (p 6= q). Daca sistemul ın bucla ınchisa este intern stabil,atunci daca p < q suprareglajul ys satisface ys ≥ p
q−p , iar daca q < p atunci
subreglajul yi satisface yi ≥ qp−q .
Constrangeri frecventiale (analitice)
Prezentam ın continuare cateva dintre constrangerile fundamentale ın dome-niul frecvential, pe care le clasificam ın mai multe categorii: datorate zerouri-lor instabile, datorate polilor instabili, datorate prezentei simultane a polilorsi zerourilor instabile, saltelele de apa si teorema lui Bode.
Zerouri instabile. Prezenta zerourilor instabile limiteaza amplificarea ın bucladeschisa si constrange largimea de banda.
Intr-adevar, considerand un sistem de reglare cu bucla de reactie negativa ıncare C = c, unde c este constant (regulator proportional), daca c→∞ atuncipolii sistemului ın bucla ınchisa migreaza spre zerourile sistemului ın bucladeschisa. Daca P are zerouri instabile acest lucru previne cresterea amplificariiın bucla deschisa peste un anumit nivel (pentru pastrarea stabilitatii interne) sideci limiteaza performantele de proiectare ce necesita L = cP
”mare“. Acelasi
fenomen (chiar mai drastic ın anumite cazuri) apare daca avem C rationala.Mai mult, daca P are un zerou instabil z, WS este o pondere oarecare stabila
si sistemul ın bucla ınchisa este intern stabil, atunci
‖WSS‖∞ ≥ |WS(z)|. (3.8)
Asa cum am vazut ın capitolul precedent, diverse cerinte de proiectare se potreformula sub forma
‖WSS‖∞ < 1⇔ |S(jω)| < 1
|WS(jω)| , ∀ω, (3.9)
unde WS este o functie pondere (stabila) aleasa ın functie de cerinta concretade proiectare. Combinand (3.8) cu (3.9) rezulta ca la fiecare zerou instabilponderea trebuie sa satisfaca
|WS(z)| < 1. (3.10)
Relatia (3.10) impune anumite constrangeri atat ın cazul unei ponderi WS cecuantifica performanta la frecvente joase (filtru trece-jos), cat si ın cazul uneifunctii pondere ce cuantifica performanta la frecvente ınalte (filtru trece-sus).
Laboratorul 3. Limitari fundamentale ale SRA 67
Consideram ponderea de tip filtru trece-jos
WS(s) =s/M + ωBs+ ωBA
,
cu ωB > 0, A > 0 si M > 0. Tipic M > 1 si A < 1. Aceasta pondere implica obanda de trecere de minim ωB , o valoare maxima a lui ‖S‖∞ mai mica decatM si o eroare stationara (la treapta) mai mica decat A. Daca presupunem caavem un zerou real z > 0 din conditia (3.10) rezulta ca
ωB(1−A) < z
(1− 1
M
), (3.11)
ceea ce ne arata ca largimea de banda este limitata de zeroul instabil ωB < z.Deasemenea, arata ca daca vrem largime de banda cat mai mare ωB ≈ z atuncitrebuie M � 1 (vezi si constrangerea de tip saltea de apa de la pagina 69).
Consideram acum ponderea de tip filtru trece-sus
WS(s) =s+ ωB/M
As+ ωB,
cu ωB > 0, A > 0 si M > 0. Tipic M > 1 si A < 1. Daca presupunem caavem un zerou real z > 0, din conditia (3.10) rezulta ca
ωB > z(1−A)
1− 1/M
ceea ce ne arata din nou ca avem o limitare (de data aceasta inferioara).
Poli instabili. Zerourile instabile impun margini superioare ale benzii de tre-cere. Intuitiv vorbind, prezenta polilor instabili implica necesitatea stabi-lizarii si deci a unei amplificari mari ceea ce impune margini inferioare pentrulargimea de banda.
Am vazut ca daca P are un pol instabil p, WT este o pondere oarecarestabila si sistemul ın bucla ınchisa este intern stabil atunci
‖WTT‖∞ ≥ |WT (p)|. (3.12)
Am vazut deasemenea ca diverse cerinte de proiectare se pot reformula subforma
‖WTT‖∞ < 1⇔ |T (jω)| < 1
|WT (jω)| , ∀ω, (3.13)
unde WT este o functie pondere (stabila) aleasa ın functie de cerinta concretade proiectare. Combinand (3.12) cu (3.13) rezulta ca la fiecare pol instabilponderea trebuie sa satisfaca
|WT (p)| < 1. (3.14)
68 Teoria sistemelor automate. Indrumar de laborator
Consideram ponderea
WT =s
ωBT+
1
M.
cu ωBT > 0 si M > 0. Tipic, M > 1. Daca presupunem ca avem un pol realp > 0 din conditia (3.14) rezulta ca
ωBT > pM
M − 1(3.15)
ceea ce ne arata ca un pol instabil impune o limita inferioara asupra largimiide banda ın termenii lui T . Mai precis, nu putem lasa sistemul sa aiba roll-off la frecvente mai mici decat p. Deci stabilizarea cu performante rezonabileimplica o largime de banda mai mare decat p.
Poli si zerouri instabile. Prezenta simultana a unui pol si a unui zerou impuneatat limitari superioare, cat si inferioare asupra benzii de trecere si marginiinferioare pentru ‖S‖∞ si ‖T‖∞, facand ın toate situatiile proiectarea extremde dificila.
Intr-adevar, pentru M = 2 si A = 0 ın (3.15) si (3.11) obtinem relatia2p < ωBT < 0.5z (avem ωB ≈ ωBT ) de unde concluzia ca daca un sistem areun pol si un zerou reale instabile pentru a obtine performante acceptabiletrebuie
z > 4p.
Mai mult, avem
‖S‖∞ ≥ c, ‖T‖∞ ≥ c, c =|z + p||z − p| .
Iar ın prezenta polilor si/sau zerourilor instabile constrangerile de inter-polare impun la randul lor anumite limite inferioare. Fie P cu nz+ zerouriinstabile zi si np+ poli instabili pj . Atunci pentru fiecare zerou zi avem
‖WSS‖∞ ≥ cSi |WS(zi)|, cSi := Πnp+j=1
|zi + pj ||zi − pj |
≥ 1, (3.16)
iar pentru fiecare pol pj avem
‖WTT‖∞ ≥ cTj |WT (pj)|, cTj := Πnz+i=1
|zi + pj ||zi − pj |
≥ 1. (3.17)
Daca nu exista poli instabili atunci ın (3.16) avem cSi := 1, iar daca nuexista zerouri instabile atunci ın (3.17) avem cTj := 1.
In particular, daca WS = WT = 1 obtinem ca
‖S‖∞ ≥ maxicSj , ‖T‖∞ ≥ max
jcTj ,
Laboratorul 3. Limitari fundamentale ale SRA 69
ceea ce arata ca nu putem evita extreme mari ın S si T daca avem un pollanga un zerou instabil. Pentru o proiectare buna se impun tipic
‖S‖∞ < 2 (aprox. 6 dB), ‖T‖∞ < 1.25 (aprox. 2 dB).
Valori mari pentru S sau T (mai mari decat 4) indica performante foarte slabesau respectiv robustete foarte scazuta. Daca ‖S‖∞ este
”mare“ atunci si ‖T‖∞
este”mare“ (si viceversa) ıntrucat S + T = 1 si la orice frecventa avem
∣∣|S| − |T |∣∣ ≤ |S + T | = 1.
Pin urmare ‖S‖∞ si ‖T‖∞ difera prin cel mult 1.Ratiunile pentru care dorim marginirea lui ‖S‖∞ si ‖T‖∞ sunt multiple.
De exemplu, pentru performanta buna la urmarirea referintelor si rejectareaperturbatiilor cerem |S(jω)| � 1 (
”mic“) la frecvente joase, tipic cu S(0) = 0.
Deoarece la frecvente ınalte avem o rata de roll-off superioara lui 1, rezultaS ≈ 1 (la aceste frecvente). La frecvente medii (intermediare) nu putem ıngeneral evita |S| > 1 (de exemplu din motive de saltele de apa). Acest lucrurezulta si din
L(jωπ) = − 1
MA⇒ S(jωπ) =
1
1− 1MA
> 1, T (jωπ) =−1
−1 +MA,
unde MA este marginea de amplitudine. In consecinta, la frecvente mediiefectul feedback-ului este de a degrada performanta si putem deci interpreta‖S‖∞ drept cea mai defavorabila degradare a performantelor.
Saltele de apa. Aceste constrangeri sunt consecinte directe ale formulelorintegrale ale lui Cauchy si arata ca putem asigura |S|
”mic“ pe un anumit in-
terval de frecventa (ceea ce este echivalent cu obtinerea performantelor — vezicapitolul anterior) doar daca acceptam |S|
”mare“ pe alt interval de frecventa.
Acest fapt este ın analogie cu o saltea de apa justificand numele dat acestorconstrangeri: daca apasam salteaua ıntr-o zona reducand local nivelul apei varezulta o crestere a nivelului apei ıntr-o alta zona a saltelei. Fenomenul aparechiar daca avem o singura cerinta de proiectare de tipul |S|
”mic“, independent
de faptul ca dorim simultan si reducerea lui |T | pe anumite benzi de frecventa(de exemplu pentru rejectie de zgomote, stabilitate robusta — vezi capitolulanterior). Fenomenul de saltea de apa poate fi descris relativ usor din punctde vedere analitic ın urmatoarele doua situatii:
• L are excesul poli-zerouri mai mare sau egal cu 2;• L are (macar) un zerou de faza neminima.
Efectul de saltea de apa cand excesul poli-zerouri este superior sau egal cu 2.Daca pi, unde i = 1, . . . , np+, sunt polii din C+ ai lui L, iar excesul poli-zerouri
70 Teoria sistemelor automate. Indrumar de laborator
(gradul relativ) al lui L este mai mare sau egal cu 2, atunci
∫ ∞
0
log |S(jω)|dω = (π log e)
np+∑
i=1
Re(pi) ≥ 0.
Formula spune ca aria totala marginita de graficul lui |S(jω)| este ıntotdeaunapozitiva, de unde rezulta ca eventuala arie negativa, necesara pentru urmarirecu suficienta precizie pe o anumita plaja de frecvente (si corespunzand decilui |S| < 1) este obligatoriu compensata pe o alta plaja de frecvente de o ariepozitiva corespunzand lui |S| > 1 (vezi Fig. 3.3).
1
ω (log)
|S(jω)|
−
+
Figura 3.3.: Efectul de”saltea de apa“ ın cazul existentei ın bucla deschisa a
unui exces poli-zerouri egal cu 2.
Aria pozitiva ce compenseaza aria negativa poate, teoretic vorbind, sa pro-vina dintr-o crestere a lui S
”foarte mica“ pe o banda de frecvente oricat
de larga, ω ∈ [ω1, ω2], unde ω2 poate fi facut oricat de mare. In realitate,cum L(∞) = 0, rezulta ca ω2 este limitat si deci (3.1) impune ıntr-adevarconstrangeri reale, ın sensul cresterii importante si cu necesitate a lui S laanumite frecvente.
Efectul de saltea de apa pentru procese cu zerouri instabile (de faza nemi-nima). Pentru simplitate ilustram fenomenul ın cazul unui proces L avand unsingur zerou real z > 0. Fie pi pentru i = 1, . . . , np+ polii din C+ ai lui L.Daca sistemul ın bucla ınchisa este intern stabil atunci
∫ ∞
0
ln|S(jω)|w(z, ω) dω = π ln Πnp+i=1
∣∣∣∣pi + z
pi − z
∣∣∣∣ (3.18)
unde
w(z, ω) =2
z
1
1 + (ω/z)2. (3.19)
Mai mult, daca
M1 := supω1≤ω≤ω2
|S(jω)|, M2 := supω|S(jω)| = ‖S‖∞,
Laboratorul 3. Limitari fundamentale ale SRA 71
atunci exista doua constante pozitive c1 si c2 (ce depind exclusiv de ω1, ω2 siz),
c1 :=1
π
∫
I
z
z2 + ω2dω si c2 :=
1
π
∫
R\I
z
z2 + ω2dω,
astfel ıncat
c1 logM1 + c2 logM2 ≥ 0, (3.20)
unde z = σ0 + jω0 si I = [−ω2,−ω1] ∪ [ω1, ω2].
Asa cum reiese din Fig. 3.4, functia pondere w(z, ω)”taie“ contributia lui
ln|S| pentru frecvente ω > z. Pentru un sistem ın bucla deschisa stabil, mem-brul drept al relatiei (3.18) este nul si presupunand ca la frecvente ınalte |S| ≈ 1rezulta ∫ z
0
ln|S(jω)|dω ≈ 0 (|S| ≈ 1 pentru ω > z). (3.21)
Relatia (3.21) arata ca avem un efect de tip saltea de apa ınsa ın care com-
−40 dB/dec
20 log 1z
z
20 log 2z
|w(z, ω)|[dB]
ω (log)
Figura 3.4.: Graficul de amplificare al ponderii (3.19) pentru un zerou real z.
promisul ıntre S mare si S mic se”negociaza“ pe un interval finit de frecvente.
Mai precis, salteaua de apa este finita si daca reducem S la frecvente joaseatunci trebuie neaparat sa avem un varf mare ın zona de medie frecventa.Efectul este agravat daca avem un pol ın apropierea unui zerou ın C+ ıntrucat
pi → z ⇒∣∣∣∣pi + z
pi − z
∣∣∣∣→∞.
Acest rezultat este ın acord cu practica inginereasca care arata ca procesele cuun pol si un zerou instabile si apropiate unul de celalalt sunt practic imposibilde reglat.
Acest efect de tip saltea de apa este specific doar sistemelor care au cel putinun zerou instabil. Mai precis, daca sistemul L ın bucla deschisa este de faza
72 Teoria sistemelor automate. Indrumar de laborator
minima atunci pentru orice ε > 0 si δ > 1 exista un regulator C astfel ıncatsistemul ın bucla ınchisa sa fie intern stabil si
M1 < ε, M2 < δ.
Relatia (3.20) pune ın evidenta un alt fenomen interesant: daca dorimurmarire buna a referintei si rejectie a perturbatiilor pe banda de frecvente[ω1, ω2], adica M1 � 1, atunci marginea de stabilitate masurata de 1
‖S‖∞ = 1M2
devine inevitabil mica.
Fenomene similare au loc pentru T ın prezenta polilor instabili.
Teorema lui Bode (relatia faza-amplitudine). Teorema lui Bode este o altaaplicatie directa a formulei integrale Cauchy si afirma ca, pentru orice sistem,faza (la orice pulsatie fixata ω0) se poate deduce din valoarea amplitudinii(cunoscuta la toate pulsatiile).
Fie L functia de transfer a unui sistem ın bucla deschisa ce este propriu,stabil si de faza minima (fara zerouri instabile), normalizat a.ı. L(0) > 0.Atunci la orice pulsatie ω0 faza φ(ω0) := argL(jω0) satisface
φ(ω0) =1
π
∫ ∞
−∞
d ln|L|dν
ln coth|ν|2
dν (3.22)
unde variabila de integrare este ν := ln ωω0
. Expresia d ln|L|dν da panta (con-
siderata adimensional) a diagramei Bode a amplitudinii. Ea este ın generalnegativa pentru majoritatea frecventelor (panta adimensionala este ` pentruo panta ın diagrama Bode de 20` dB/dec). Functia
ln coth|ν|2
= lne
|ν|2 + e−
|ν|2
e|ν|2 − e−
|ν|2
ia valori mari pentru ω ≈ ω0 si descreste rapid cand ω se departeaza de ω0 (veziFig. 3.5). Aceasta ınseamna ca faza la ω0 este de fapt determinata doar depanta amplitudinii ın apropierea lui ω0. Faza va fi mare daca |L| este atenuatlent si va fi mica daca este atenuat rapid (faza este considerata cu semn). Maiexact, faza va fi cu atat mai negativa cu cat panta amplitudinii ın jurul lui ω0
este mai abrupta. In consecinta, daca ıntr-o vecinatate suficient de larga a luiω0 panta este `, putem folosi aproximatia (relativ grosiera)
φ(ω0) =`
π
∫ ∞
−∞ln coth
|ν|2
dν =`
π
π2
2= `
π
2.
Deci o panta a amplitudinii de 20` dB/dec ın jurul lui ω0 implica o faza deaproximativ `π2 rad/s.
Laboratorul 3. Limitari fundamentale ale SRA 73
ν
ln coth |ν|2
−2 −1 0 1 2
Figura 3.5.: Graficul functiei ln coth |ν|2 .
Comportarea lui φ(ω) este esentiala ın zona de medie frecventa (ın zonafrecventei de taiere ωt) la care |L(jωt)| = 1 deoarece π + φ(ωt) este margineade faza a sistemului. Avem
|1 + L(jωt)| = |1 + L−1(jωt)| = 2
∣∣∣∣sinπ + φ(ωt)
2
∣∣∣∣
si aceasta trebuie sa nu fie prea mica pentru a avea stabilitate robusta. Dacaπ + φ(ωt) este fortat sa fie foarte mic printr-o atenuare rapida a amplificarii,sistemul ın bucla ınchisa va avea o margine foarte mica de stabilitate. Inconsecinta ın zona de medie frecventa panta maxima admisa este −1 (cu unmaxim teoretic de −2 pentru a avea stabilitate, chiar daca nerobusta). Aceastapanta trebuie mentinuta pentru un interval de frecvente suficient de mare ınjurul lui ωt.
Formula lui Bode se poate extinde si ın cazul sistemelor de faza neminimasi instabile. Pentru aceste sisteme necesitatea unei atenuari lente ın zona demedie frecventa este si mai stringenta ıntrucat polii/zerourile instabile con-tribuie cu faza negativa. Exista formule Bode similare care dau dependentareal-imaginar, imaginar-real, amplitudine-faza etc., dar ele au o importantamai restransa ın Teoria Sistemelor.
3.2. Sarcini de lucru
Problema R3.1. Se considera
L =10
(s− 1)(s+ 2).
Sa se ilustreze pe un grafic efectul de”saltea de apa“ pentru L.
Solutie. Graficul functiei |S(jω)| ın dB, versus ω ın scala liniara este dat ınFigura 3.6. Aria care se afla sub |S| = 1 (0 dB) este negativa, iar cea de
74 Teoria sistemelor automate. Indrumar de laborator
0 1 2 3 4 5 6 7 8 9 10
10−0.5
100
100.5
ω [rad/sec]
S(jω
)[d
B]
Figura 3.6.: Efectul”Saltea cu apa“. Ilustratie Problema R3.1
deasupra, pozitiva. Teorema spune ca suma ariilor este pozitiva (avem un polın C+), fiind egala cu π
∑pk = π.
Asadar, aria negativa, necesara pentru rejectia perturbatiilor si urmarireaasimptotica pentru o plaja de frecvente, este inevitabil ınsotita de o arie pozi-tiva. Aria neta se conserva.
Ilustratiile din Fig. 3.6 sunt realizate cu codul Matlab din Sursa C.1.
Problema R3.2. Consideram sistemul de faza minima G0(s) =1
s+ 1. Ne
propunem analiza comparativa a sistemelor de faza neminima tipice. Alegempentru studiu functiile
G1(s) = e−τsG0(s), G2(s) =s− as+ a
G0(s), G3(s) =s+ a
s− a G0(s), cu τ, a > 0.
Solutie. Observati ca toate cele 4 functii de transfer au acelasi modul,|G0,1,2,3(jω)| = |G0(jω)|. In particular, G1(s) este un sistem cu ıntarziere, iar|ejωτ | = 1 (cercul unitate). Sistemul este de faza neminima:
argG1(jω) = argG0(jω)− ωτ.
Sistemul H =s− as+ a
este un sistem de tip trece-tot, deoarece
|H(jω)| =∣∣∣∣jω − ajω + a
∣∣∣∣ = 1.
Laboratorul 3. Limitari fundamentale ale SRA 75
10−2 10−1 100 101 102−40
−20
0A
mp
litu
din
e(d
B)
10−2 10−1 100 101 102−270
−180
−90
0
90
180
G3
G2G
Faza
(gra
de)
Pulsatie (rad/sec)
(a) diagrame Bode pentru G0, G2 si G3
10−2 10−1 100 101 102−40
−30
−20
−10
0
Am
pli
tud
ine
(dB
)
10−2 10−1 100 101 102−540
−360
−180
0
180
G1
G
Faz
a(g
rad
e)
Pulsatie (rad/sec)
(b) diagrame Bode pentru G0 si G1
Figura 3.7.: Sisteme de faza nonminima pentru Problema R3.2
76 Teoria sistemelor automate. Indrumar de laborator
Se observa ca G2 are un zerou instabil ın s = a > 0. Sistemul G3 este instabil,din cauza polului ın s = a > 0. Deci toate cele 3 sisteme G1,2,3 sunt de faza
neminima. In Fig. 3.7 s-au reprezentat diagramele Bode pentru cele 4 sisteme,cu τ = 1 si a = 3. Desenati si voi diagramele Bode. Ce se ıntampla cu faza ?
Ilustratiile din Fig. 3.7 sunt realizate cu codul Matlab din Sursa C.2.
Problema R3.3. Zerou ın C+. Factorul de faza neminima pentru o functie
de transfer cu un zerou ın C+ este de forma Ptt =z − sz + s
, unde z > 0 este
zeroul ın C+.
Solutie. Faza este
− argPtt(jω) = 2 arctanω
z.
Pentru ω = ωc, cf. inegalitatii frecventei critice avem ca − argPtt(jωc) ≤MC .Rezulta succesiv:
arctanωcz≤ MC
2⇔ ωc
z≤ tan
MC
2⇒ ωc ≤ z tan
MC
2.
Pentru MC = π/3 obtinem ωc ≤ 0.5774 z. Zerourile lente din C+ (z mic) daurestrictii mai stranse pentru ωc fata de zerourile rapide.
Intarzierile impun limitari similare cu cele impuse de zerourile din C+. Pu-tem deduce acest fapt intuitiv din aproximarea lui Pade:
e−sτ ≈ 1− sτ2
1 + sτ2
=2τ − s2τ + s
.
O ıntarziere mare este asadar echivalenta cu zeroul lent z = 2τ din C+.
Problema R3.4. Pol ın C+. In acest caz, factorul de faza neminima (trece-tot) este
Ptt =s+ p
s− p , p > 0.
Solutie. Faza sistemului este
− argPtt(jω) = 2 arctanp
z⇒ ωc ≥
p
tan(MC/2).
Polii ın C+ impun asadar o largime de banda suficient de mare. PentruMC = π/3 obtinem ωc ≥ 1.7321 p. Prin urmare, polii rapizi (p mare) daurestrictii mai stranse asupra frecventei critice.
Problema R3.5. Fie sistemul L(s) =1
sq, q ∈ Z. Gasiti amplitudinea si
argumentul acestei functii folosind rezultatele prezentate anterior (cf. relatiei(3.22)).
Laboratorul 3. Limitari fundamentale ale SRA 77
Solutie. Amplitudinea este
|L(jω)| = 1
|(jω)q| =1
|ω|q ⇒ |L(jejν)| = 1
|eν |q = e−νq.
Din reguli elementare de derivare avem ca:
d
dνln |L(jejν)| = 1
|L(jejν)|d|L(jejν)|
deνdeν
dν= eνq
d|L(jejν)|deν
eν .
Calculam si termenul ramas:d|L(jejν)|
deν= −qe−ν(q+1). Prin urmare rezulta:
d
dνln |L(jejν)| = −eνq qe−ν(q+1) eν = −q.
Asadar, din formula lui Bode faza devine:
argL(jω0) = − qπ
∫ ∞
−∞ln coth
|ν|2dν = − q
π
π2
2= −q π
2,
unde am considerat ca se cunoaste integrala
∫ ∞
−∞ln coth
|ν|2dν =
π2
2.
In concluzie, pentru aceasta clasa de sisteme faza si amplitudinea sunt legateprin relatia
|L(jω)| = −20q dB/dec ⇔ argL(jω) = −q π2.
Observati ca acest rezultat este bine cunoscut din analiza Bode, tratatala cursul de Semnale si Sisteme. Testati ın Matlab aceasta concluzie printrasarea diagramelor Bode, pentru q = 1 (integratorul) si q = −1 (elementulde derivare).
Problema R3.6. Pendulul inversO problema interesanta si complexa de proiectare este pendulul fixat pe un
carucior. Schema de principiu a sistemului fizic este prezentata ın Fig. 3.8.Acesta este compus dintr-un carucior de masa M care aluneca unidimensionalde-a lungul axei x pe o suprafata orizontala, pendulul constand dintr-o bila demasa m la capatul rigid al unei tije de lungime l considerata rigida.
Caruciorul si bila sunt asimilate unor puncte materiale. Se presupune ca nuexista frecare la alunecare sau frecare cu aerul. De asemenea, presupunem capivotul este fixat de centrul caruciorului. Marimea de comanda (de intrare)este o forta orizontala u pe carucior. Marimea perturbatoare este forta d ceactioneaza direct asupra bilei, perpendicular pe pendul. Celelalte semnalefigurate sunt unghiul θ si respectiv pozitia bilei y = x+ l sin θ.
78 Teoria sistemelor automate. Indrumar de laborator
x1
x2
m
M`θ
d
u
y
x
`co
sθ
` sin θ
Figura 3.8.: Pendul fixat pe un carucior pentru Problema R3.6
Din legile fundamentale ale dinamicii deducem urmatorul sistem de ecuatiidiferentiale care descriu dinamica sistemului:
{u+ d cos θ = (M +m)x+ml(θ cos θ − θ 2
sin θ),
d = m(x cos θ + lθ − g sin θ).(3.23)
Acest sistem de ecuatii diferentiale ordinare, neliniar poate fi liniarizat ınjurul unui punct de echilibru. Sistemul de ecuatii diferentiale de mai sus aredoua astfel de puncte de echilibru: (x, θ) = (0, 0) si respectiv (x, θ) = (0, π),adica pendulul inversat, respectiv direct. In continuare, liniarizam ecuatiiledinamice ın jurul acestor puncte de echilibru.Liniarizarea pendulului inversat. Cele doua ecuatii liniarizate ın jurulpunctului de echilibru (x, θ) = (0, 0) sunt:
u+ d = (M +m)x+mlθ,1
md = x+ lθ − gθ.
Aplicand transformarea Laplace, dupa cateva calcule algebrice rezulta ca func-tiile de transfer de la u la x si respectiv de la u la y sunt:
Hxu =ls2 − g
s2[Mls2 − (M +m)g]respectiv Hyu =
−gs2[Mls2 − (M +m)g]
.
Ambele functii de transfer sunt instabile cu polii ın semiplanul complex dreptın punctele:
s = 0; 0;
√(M +m)g
Ml.
Laboratorul 3. Limitari fundamentale ale SRA 79
De asemenea, functia de transfer de la u la x are un zerou ın semiplanulcomplex drept (zerou de faza neminima) ın punctul:
s =√g/l.
Liniarizarea pendulului direct. Inlocuind θ cu π + θ ın ecuatiile (3.23) siliniarizand obtinem
u− d = (M +m)x−mlθ,1
md = −x+ lθ + gθ.
In acest caz functiile de transfer de la u la x si respectiv de la u la y sunt:
Hxu =ls2 + g
s2[Mls2 + (M +m)g]respectiv Hyu =
g
s2[Mls2 + (M +m)g].
Datele numerice se considera cunoscute: M = 9 kg, ` = 9/10 m, respectivm = 1 kg, g = 10 m/s2. Problema principala este stabilizarea pendululuiinversat, adica mentinerea masei suspendate ın echilibru, tratata pe larg ıncontinuare.
Se cer urmatoarele:
(i) Exemplificati limitarile fundamentale discutate anterior pentru exemplulpendulului inversat, considerand functia de transfer de la u la x.
(ii) Variati pozitia polilor (prin varierea raportului m/M) si observati rezul-tatele.
(iii) Pentru un raport m/M fixat, ilustrati caracteristicile de frecventa ampli-tudine-pulsatie pentru functiile T si S.
Solutie. (i) Consideram functia de transfer de la u la x
Hxu(s) =(s− q)(s+ q)
Ms2(s− p)(s+ p), q =
√g
l, p =
√(M +m)g
Ml.
In continuare, folosim rutina stab pinv ce se regaseste ın Sursa C.3 pen-tru a stabiliza functia de transfer de la u la x, i.e., Hxu. Rutina areapelul tipic de forma [Hxu,C] = stab pinv(m,M,l) unde Hxu repre-zinta functia de transfer a procesului iar C returneaza compensatorulstabilizant ce aloca polii ın bucla ınchisa ın {−1; −2; −3; −4}.Ilustram ın Fig. 3.9 limitarile fundamentale ın timp ce apar pentru acestsistem. Diagramele sunt obtinute cu ajutorul Sursa C.4.
80 Teoria sistemelor automate. Indrumar de laborator
0 2 4 6 8 10 12 14
−400
−200
0
200
q scade
timp [sec]
amp
litu
din
ey(t
)
(a) Variatie subreglaj (raspuns la treapta)
0 2 4 6 8 10 12 14
−200
0
200
400
q scade
timp [sec]
am
pli
tud
inee(t)
(b) Variatie suprareglaj (raspuns la treapta)
Figura 3.9.: Raspunsul la treapta pentru q variabil pentru Problema R3.6
(ii) Observam ca pendulul satisface automat conditia (3.6). Normalizam pen-tru simplitatea relatiilor, adica q = 1, considerand ca ` = 10 m. Astfel,rezulta ca
q
p− q > 20.
Laboratorul 3. Limitari fundamentale ale SRA 81
0 2 4 6 8 10 12 14
−100
0
100
200
m
Mscade
timp
am
pli
tud
iney(t
)
Figura 3.10.: Variatia raspunsului la treapta cu p pentru Problema R3.6
Observam cu catm
Mscade, adica
p =
√(M +m)g
Ml=
√(1 +
m
M
)gl≈ q ⇒ p
q − p creste ⇒ ysubr creste.
Variem pozitia polilor dand diverse valori raportului m/M si observamın Fig. 3.10 rezultatul (folosim Sursa C.5 pentru generarea figurii).
(iii) In continuare, alegem intervalul de frecventa [0, 102] pentru aceleasi valoriale raportului m/M si trasam ın Fig. 3.11 caracteristicile de frecventaamplitudine-pulsatie pentru T (jω) si respectiv S(jω) (folosim Sursa C.6pentru generarea figurilor).
82 Teoria sistemelor automate. Indrumar de laborator
10−1 100 101 102 103−180
0
180
360
540
Pulsatie (rad/sec)
Faz
a(g
rad
e)
10−1 100 101 102 103−20
0
20
40
60A
mp
litu
din
e(d
B)
(a) Variatie subreglaj
10−16 10−13 10−10 10−7 10−4 10−1 102 105−360
−180
0
180
360
540
Pulsatie (rad/sec)
Faz
a(g
rad
e)
10−16 10−13 10−10 10−7 10−4 10−1 102 105
−200
0
200
400
Am
pli
tud
ine
(dB
)
(b) Variatie suprareglaj
Figura 3.11.: Diagramele Bode pentru S(jω) si T (jω) pentru Problema R3.6
Laboratorul 3. Limitari fundamentale ale SRA 83
3.3. Sarcini aditionale
Problema P3.7. Aeronava X-29. Un exemplu de aplicare a formulei inte-grale a lui Bode este sistemul de comanda pentru aeronava X-29, vezi Figura3.12a. Dinamica longitudinala a avionului este similara cu cea a pendululuiinvers (ıl vom studia detaliat ın Problema R4.3 din laboratorul 4), si are doipoli p1,2 = ±6 si un zerou ın z = 26. Elementele de executie care stabilizeazaunghiul de tangaj al aeronavei (i.e. pitch angle) au o latime de banda ωa = 40rad/sec, iar latimea de banda dorita pentru bucla de reglare a tangajului esteω1 = 3 rad/sec. Observati ca z/p1 = 4.33 < 6. Specificatiile par greu deındeplinit.
Cautam o lege de reglare a.ı. functia de sensibilitate este mica pe latimeade banda dorita si nu mai mare de o valoare Ms. Ne propunem determinarealui celui mai mic Ms realizabil. Observati ca Ms ≡ ‖S‖∞ = M−1
V .
(i) Pentru a ındeplini specificatiile de proiectare, functia de sensibilitate tre-buie sa arate ca ın Fig. 3.12b. Cum trebuie sa fie Ms fata de 1? Mai maresau mai mic? Interpretati graficul. Indicatie. Folositi formula integrala alui Bode - efectul saltea cu apa.
(ii) Gasiti expresia functiei |S(jω)| din grafic. Punctul (0, 0) se afla pe grafic.Indicatie. Functia are trei ramuri. Calculati
∫ ∞
0
ln |S(jω)|dω .
Se cunoaste integrala nedefinita∫
ln(x)dx = x lnx− x.
(iii) Evaluand integrala de la punctul precedent obtinem −ω1 + ωa lnMs.Folositi formula integrala a lui Bode (salteua de apa) pentru a determinanumeric valoarea realizabila a lui Ms.
(iv) Vantul este o perturbatie de ınalta frecventa, ωvant > ω1. Ce efect arevantul asupra dinamicii aeronavei (amplificare/atenuare/trece-tot) ?
338 CHAPTER 11. FREQUENCY DOMAIN DESIGN
(a) X-29 aircraft
1
Ms
ω1 ωa
|S(iω
)|
Frequency ω [rad/s]
(b) Sensitivity analysis
Figure 11.15:X-29 flight control system. The aircraft makes use of forward swept wings anda set of canards on the fuselage to achieve high maneuverability (a). The desired sensitivityfor the closed loop system is shown in (b). We seek to use our control authority to shape thesensitivity curve so that we have low sensitivity (good performance) up to frequency ω1 bycreating higher sensitivity up to our actuator bandwidth ωa.
the sensitivity function is small up to the desired bandwidth and not greater thanMs beyond that frequency. Because of the Bode integral formula, we know thatMs must be greater than 1 at high frequencies to balance the small sensitivity atlow frequency. We thus ask if we can find a controller that has the shape shownin Figure 11.15b with the smallest value of Ms. Note that the sensitivity above thefrequency ωa is not specified since we have no actuator authority at that frequency.However, assuming that the process dynamics fall off at high frequency, the sen-sitivity at high frequency will approach 1. Thus, we desire to design a closed loopsystem that has low sensitivity at frequencies below ω1 and sensitivity that is nottoo large between ω1 and ωa.From Bode’s integral formula, we know that whatever controller we choose,
equation (11.19) must hold. We will assume that the sensitivity function is givenby
|S(iω)| =!
ωMsω1
ω ! ω1Ms ω1 ! ω ! ωa,
corresponding to Figure 11.15b. If we further assume that |L(s)| ! δ/ω2 for fre-quencies larger than the actuator bandwidth, Bode’s integral becomes
" ∞
0log |S(iω)|dω =
" ωa
0log |S(iω)|dω
=" ω1
0log
ωMsω1
dω+(ωa"ω1) logMs = π p.
Evaluation of the integral gives "ω1+ωa logMs = π p or
Ms = e(π p+ω1)/ωa .
This formula tells us what the achievable value of Ms will be for the given controlspecifications. In particular, using p = 6, ω1 = 3 and ωa = 40 rad/s, we find thatMs = 1.75, which means that in the range of frequencies between ω1 and ωa,disturbances at the input to the process dynamics (such as wind) will be amplified
Figura 3.12.: Aeronava X-29
84 Teoria sistemelor automate. Indrumar de laborator
(v) Supremumul functiei de sensibilitate apare uzual la frecventa critica ωc.Aici supremumul apare aproximativ la ωc = 3 rad/sec. Folosind relatia
|S(jωc)| =1
2 sin(MF /2),
determinati numeric marginea de faza MF . Se respecta MF > 45◦ ? Deunde credeti ca apare aceasta limitare fundamentala?
Problema P3.8. Pilotarea unui vehicul. Consideram sistemul de pilotare-pozitionare a unui vehicul, dat ın Fig. 3.13. Functia de transfer non-normali-zata de la directia unghiulara δ la viteza laterala v a vehiculului este
G(s) =av0s+ v2
0
bs(Ts+ 1),
unde v0 este viteza vehiculului, a, b > 0, iar T este constanta de timp co-respunzatoare dinamicii sistemului de actionare. Pentru pilotare normala,v0 > 0, iar pentru pilotare ın sens invers, v0 < 0. Aplicatie numerica:a = 1, b = 2, T = 0.1.
v α δ
a
b
x
yO
vα
δ
α
δ
Figura 3.13.: Dinamica sistemului de pozitionare pentru Problema P3.8
Se cer urmatoarele:
(i) Care sunt polii si zerourile sistemului? Desenati diagrama poli-zerouripentru ambele moduri de pilotare. Alegeti spre exemplu v0 = 5 sauv0 = −5. In ce caz sistemul este de faza neminima?
(ii) Desenati diagramele Bode pentru ambele cazuri pe acelasi grafic.
Laboratorul 3. Limitari fundamentale ale SRA 85
(iii) Reprezentati raspunsul indicial pentru ambele cazuri pe acelasi grafic.Pentru o vizualizare mai buna a raspunsului tranzitoriu, impuneti pentrusimulare tfinal = 1 sec. Se observa un fenomen reprezentativ pentru siste-mele de faza neminima, raspunsul invers. Comentati aceasta observatie.
(iv) Raspunsul invers apare din cauza zeroului −v0/a, care depinde de pozitiasenzorului de viteza (distanta a). In problema noastra, am presupus casenzorul este plasat ın centrul de masa. Unde trebuie plasat senzorul(a =?) a.ı. zeroul din G sa dispara? Reluati punctele b) si c) pentruaceasta valoare a parametrului a.
Problema P3.9. Pol si zerou ın C+ Consideram functia de transfer
P (s) =z − ss− p , z, p > 0.
Observati ca pentru p si z apropiati ca valoare, sistemul este extrem de dificilde controlat. Asadar, o limitare fundamentala este data de raportul z/p. Nepropunem determinarea unor conditii asupra raportului z/p a.ı. sistemul saaiba anumite performante.
(i) Determinati o factorizare de forma P = PttPfm unde Ptt este asimilarunui filtru trece-tot iar Pfm unui ....
(ii) Impunem o margine de faza deMF = 45◦ si pantamc = −1/2. Determinatinumeric MC . Scrieti inegalitatea frecventei critice pentru acest MC .
(iii) Desenati cu Matlab − argPtt(jω) pentru p = 1 si z ∈ {1, 2, 5, 20, 100}.Indicatie. Schimbati semnul functiei Ptt(s). Astfel, z − s de la numitordevine s− z.
(iv) Pentru ce valoare a raportului z/p inegalitatea frecventei critice este ve-rificata? Variati z oricat de fin. Ne dorim o conditie de forma
z
p> N, pentru un N dat.
(v) Refaceti punctele c) si d) pentru p = 1 si z ∈ {0.5, 0.2, 0.05, 0.01}. Cautamo conditie de forma z
p < N , pentru un N dat.
Problema P3.10. Limitari fundamentale pentru pendulul invers.
(i) Folosind rutina Matlab stab pinv.m care primeste ca parametrii M, `,respectiv m si returneaza un compensator stabilizator care aloca mereuaceiasi poli ın bucla ınchisa {−1; −2; −3; −4}, sa se studieze y(t) sirespectiv ε(t) atunci cand zeroul instabil al pendulului
q =
√g
l
86 Teoria sistemelor automate. Indrumar de laborator
este din ce ın ce mai aproape de axa imaginara. Cu alte cuvinte, variatiparametrul ` (din ce ın ce mai mare).
(ii) Se va relua punctul (i) pentru diverse valori ale raportului m/M , jus-tificand semnificatia raspunsurilor obtinute. Ceilalti parametrii ramanfixati.
(iii) Fie pendulul invers, cu functia de transfer de la u la x:
Hxu(s) =(s− q)(s+ q)
Ms2(s− p)(s+ p), q =
√g
l, p =
√(M +m)g
Ml
Consideram ` = 10 m, q = 1. Trasati caracteristicile Bode pentru |T (jω)|si respectiv |S(jω)| pentru diverse valori ale raportului m/M .
4. Tehnica de loopshaping
Scopul laboratorului
In acest laborator prezentam cea mai avansata tehnica de proiectare ın frecventaa SRA, numita loopshaping. Pentru aplicarea acestei tehnici sunt necesarenotiunile studiate ın precedentele trei laboratoare.
4.1. Breviar teoretic
Consideram sistemul ın bucla de reactie din Fig. 4.1 ın care procesul P este dat,iar regulatorul C trebuie proiectat. In acest capitol prezentam o metoda grafica— numita loopshaping — de gasire a regulatorului C astfel ıncat sistemulrezultant ın bucla ınchisa sa aiba performanta robusta, conditie exprimatasintetic sub forma (vezi Laboratorul 2)
∥∥|WSS|+ |WTT |∥∥∞ < 1, (4.1)
unde WS si WT sunt doua functii pondere ce se construiesc (sau sunt date) pebaza cerintelor de performanta si respectiv pe baza profilului de incertitudineasociat modelului procesului P (vezi Laboratorul 2),
S =1
1 + L
este functia de sensibilitate,
T =L
1 + L
este functia complementara de sensibilitate, iar L = PC este functia de trans-fer ın bucla deschisa.
C Pyr e u y
−
Figura 4.1.: Sistem ın bucla de reactie unitara.
Ideea intuitiva din spatele loopshaping-ului este explicitarea relatiei (4.1),la fiecare pulsatie ω, ın raport cu functia de transfer ın bucla deschisa L, sub
88 Teoria sistemelor automate. Indrumar de laborator
ω [rad/s]
[dB] |WS | |WT |
Joasafrecventa
Mediefrecventa
Inaltafrecventa
0 ωj ωi
Figura 4.2.: Zonele de joasa, medie si ınalta frecventa definite de functiile pon-dere WS si WT .
forma ∣∣∣∣WS(jω)
1 + L(jω)
∣∣∣∣+
∣∣∣∣WT (jω)L(jω)
1 + L(jω)
∣∣∣∣ < 1, ∀ω ∈ R (4.2)
si obtinerea expresiei potrivite pentru L folosind reprezentarea grafica ampli-tudine-pulsatie a acestei inegalitati.
Sub ipotezele ca procesul P este stabil si de faza minima1 regulatorul secalculeaza la final din expresia C = L
P . Pentru ca problema de constructiea regulatorului sa aiba solutie este necesar ca L gasit sa aiba un exces poli-zerouri mai mare sau egal cu P (pentru ca C rezultat sa fie propriu si deciimplementabil fizic), iar cele doua functii pondere sa ındeplineasca (la toatepulsatiile) conditia de buna definire
min{ |WS |, |WT | } < 1. (4.3)
Sub ipoteza de buna definire, cele doua functii pondere WS si WT ımpartdomeniul frecvential ın trei zone distincte de interes (vezi Fig. 4.2):
(i) Zona de joasa frecventa, caracterizata de |WS | > 1, ın care se obtineperformanta nominala. In aceasta zona tipic |WT | � 1;
(ii) Zona de ınalta frecventa, caracterizata de |WT | > 1, ın care se obtinestabilitatea robusta. In aceasta zona tipic |WS | � 1;
(iii) Zona de medie frecventa, caracterizata de |WS | ≤ 1 si |WT | ≤ 1,reprezentand o zona de tranzitie ın care nu domina niciuna dintre ponderi.
1 In cazul ın care P nu satisface aceasta ipoteza, i.e., are poli si/sau zerouri instabile, pentrua asigura stabilitatea interna a sistemului ın bucla ınchisa acestea nu se pot simplificala formarea produsului L = PC, aparand deci cu necesitate ca moduri ın L. Acest faptimplica ca L sa satisfaca conditii de interpolare, ceea ce complica considerabil procedurade loopshaping. Presupunem ın continuare ca aceasta ipoteza este satisfacuta si indicamla sfarsitul sectiunii o modalitate ın care se poate proceda ın caz contrar.
Laboratorul 4. Tehnica de loopshaping 89
Conditia de performanta robusta poate fi aproximata cu
|L| > |WS |1− |WT |
(> 1) cand |WS | � 1 (4.4)
si cu
|L| < 1− |WS ||WT |
(< 1) cand |WT | � 1. (4.5)
Dat fiind profilul tipic al functiilor pondere WS si WT (prima filtru trece-jos, adoua filtru trece-sus), conditia (4.4) defineste o constrangere ın zona de joasafrecventa (ω
”mic“), ın timp ce conditia (4.5) defineste o constrangere ın zona
de ınalta frecventa (ω”mare“), justificand astfel numele dat zonelor cores-
punzatoare de frecventa. Profilul lui |L| ın zona de tranzitie (medie frecventa)trebuie construit astfel ıncat sistemul ın bucla ınchisa sa rezulte stabil, ceeace conform teoremei lui Bode implica o panta a caracteristicii de amplificarea lui L mai lina de −40 dB/dec pe un interval suficient de mare (de preferatcel putin o decada) ın jurul pulsatiei de taiere a lui L (ın zona care definestemedia frecventa). In plus, pentru obtinerea unei margini de faza acceptabile serecomanda ca panta caracteristicii de amplificare a lui L sa nu fie mai abruptade −20 dB/dec. In zona de medie frecventa unde proiectarea este tipic dificilase folosesc valori mai precise pentru marginile inferioara si superioara ale lui|L|, folosindu-se macar la capetele intervalului de medie frecventa
|L(jωj)| >|WS(ωj)|+ 1
1− |WT (jωj)|, (4.6)
|L(jωi)| <1− |WS(jωi)||WT (jωi)|+ 1
, (4.7)
ın locul inegalitatilor corespunzatoare rezultate din (4.4) si respectiv (4.5).Din punct de vedere formal, zona de joasa frecventa este definita de interva-
lul [0, ωj), unde ωj este frecventa de taiere a functiei pondere WS (i.e., cea maimare frecventa pentru care |WS(jωj)| = 1 = 0 dB), zona de ınalta frecventaeste definita de intervalul (ωi,∞), unde ωi este frecventa de taiere a functieipondere WT (i.e., cea mai mica frecventa pentru care |WT (jωi)| = 1 = 0 dB),iar zona de medie frecventa este definita de intervalul [ωj , ωi].
In consecinta, pentru satisfacerea conditiei de performanta robusta trebuiesa asiguram ın zona de joasa frecventa ca graficul lui |L| este deasupra marginiidate ın (4.4), ın zona de ınalta frecventa ca graficul lui |L| este sub margineadata ın (4.5), iar ın zona de medie frecventa trebuie sa asiguram conditiile(4.6) si (4.7), simultan cu o panta cat mai lina (vezi Fig. 4.3). Descriem ıncontinuare procedura de loopshaping.
Procedura de loopshaping
Date initiale: Se da sistemul stabil si de faza minima P .
90 Teoria sistemelor automate. Indrumar de laborator
ω [rad/s]
[dB]
Joasafrecventa
Mediefrecventa
Inaltafrecventa
|WS |1−|WT |
1−|WS ||WT |
|L|
ωj
ωi0
(4.7)(4.6)
Figura 4.3.: Marginile lui |L| pentru loopshaping.
Pasul 0: Se construiesc functiile pondere WS si WT , WS cuantificand cerin-tele de performanta la frecvente joase siWT cerintele de performantasi profilul incertitudinii la frecvente ınalte2 (vezi Laboratorul 2).Se identifica zonele de joasa, medie si ınalta frecventa. Pentru caproblema sa aiba solutie trebuie sa fie verificata conditia de bunadefinire (4.3), iar functiile pondere trebuie sa satisfaca ın plus lafrecvente joase
|WT | � 1
si la frecvente ınalte|WS | � 1.
Pasul 1: Se traseaza grafic in dB la frecvente joase|WS |
1− |WT |si la frecvente
ınalte1− |WS ||WT |
(pulsatia de pe abscisa se reprezinta pe o scala
logaritmica).Pasul 2: Pe acest grafic se construieste diagrama de amplificare a unui sistem
(real-rational) L ce satisface simultan:
(i) La frecvente joase este deasupra diagramei|WS |
1− |WT |;
(ii) La frecvente ınalte este sub diagrama1− |WS ||WT |
;
(iii) La frecvente foarte ınalte are o panta superioara sau egala cupanta lui P (de preferat superioara cu cel putin 20 dB/dec);
(iv) In zona de medie frecventa, la pulsatia ωj este deasupra, darcat mai aproape de membrul drept din (4.6), iar la pulsatia
2Uneori functiile pondere sunt obtinute anterior fiind furnizate ca date de intrare ın pro-cedura, WS fiind construita ın faza de definire a cerintelor de proiectare, iar WT ın fazade identificare a modelului P .
Laboratorul 4. Tehnica de loopshaping 91
ωi este dedesubt, dar cat mai aproape de membrul drept din(4.7). In rest are o panta cat mai lina (tipic −20 dB/dec,maxim teoretic absolut −40 dB/dec).
Pasul 3: Se obtine functia de transfer L a carei diagrama Bode corespundecu diagrama construita la Pasul 2 si ın plus este stabila si de fazaminima, normalizand astfel ıncat L(0) > 0.
Pasul 4: Se valideaza proiectarea de mai sus verificand ca pentru C =L
Pobtinut sunt verificate cerintele de stabilitate interna si conditia deperformanta robusta(4.2) la toate frecventele.3 In caz ca una dintreaceste conditii nu este verificata se reia procedura de loopshaping,reıncepandu-se ın anumite situatii chiar cu Pasul 0 (faza de alegerea functiilor pondere).
In cazul ın care sistemul original nu este liniar, prezinta ıntarzieri, nu estestabil sau nu este de faza minima, se poate proceda la parcurgerea unor pasipreliminari ce reduc sistemul la unul care satisface ipotezele standard:
• Daca procesul nu este liniar, acesta se liniarizeaza si se trateaza termeniireziduali neliniari ca o incertitudine nestructurata care este inclusa ınWT . Similar, daca procesul are ıntarzieri acestea se considera ca incer-titudini de faza si se includ ın WT ;4
• Daca procesul nu este stabil, se construieste un compensator stabilizator(folosind de exemplu parametrizarea Youla) dupa care se aplica proce-dura de loopshaping sistemului rezultant ın bucla ınchisa ce acum estestabil;5
• Daca procesul nu este de faza minima se simetrizeaza zerourile instabileın raport cu axa imaginara prin extragerea unei componente serie de tiptrece-tot si se trateaza aceasta ca o incertitudine multiplicativa.6
3Acest lucru este necesar ıntrucat pentru obtinerea lui L s-au folosit aproximarile de joasafrecventa (4.4) si respectiv de ınalta frecventa (4.5) ale inegalitatii (4.2).
4Procedeul de ınlocuire a unui proces oarecare printr-un aproximant liniar, finit dimensio-nal, invariant ın timp si aplicarea tehnicilor de reglare robusta pentru aproximant repre-zinta astazi una dintre cele mai folosite tehnici de reglare ın Automatica, conducand lasolutii viabile din punct de vedere ingineresc.
5Desi logic simplu, acest procedeu nu este foarte agreat ın practica ıntrucat este vazutca o abordare de tip brute-force prin care dinamica instabila a sistemului original esteınlocuita cu (si deci profund alterata de) una stabila, ınca ınaintea ınceperii propriu-zisea proiectarii de detaliu. Procedeul poate fi evitat prin folosirea tehnicilor avansate deoptimizare H∞.
6Orice P (s) stabil avand zerourile reale instabile zi > 0, i = 1, . . . , k, se poate pune succesivsub formele
P (s) = P (s)Πis− zis+ zi
= P (s)(1 + ∆(s))
unde P (s) este stabil si de faza minima, Πis−zis+zi
are modulul egal cu 1, iar
∆(s) := Πis−zis+zi
− 1 functioneaza ca o incertitudine multiplicativa stabila. Extensia la
cazul zerourilor instabile complex conjugate se obtine prin analogie.
92 Teoria sistemelor automate. Indrumar de laborator
Blocuri elementare pentru loopshaping
Atunci cand functia de transfer a sistemului ın bucla deschisa gasita L nu areforma dorita este necesara compensarea acesteia. Compensarea functiei detransfer se poate face prin introducerea sistematica ın conexiune serie a unorblocuri elementare ce se construiesc astfel ıncat sa modifice forma lui L ın acelezone de frecventa ın care acest lucru este necesar, lasand (relativ) neschimbatL la frecventele la care forma deja corespunde cerintelor de proiectare.7 Blo-curile elementare ce sunt uzual folosite pentru compensarea serie a functiei detransfer sunt: de amplificare constanta, de avans si/sau ıntarziere de faza, deopreste-banda (Notch) si de panta (la ınalta frecventa).
Compensare proportionala. Functia de transfer a blocului proportional este
C = K,
unde K ∈ R. Alegand un compensator serie proportional cu K > 1 rezultaurmatoarele doua efecte complementare:• Creste largimea de banda a sistemului (asigurand un sistem cu raspuns
mai rapid) si amplificarea ın bucla deschisa la toate frecventele (asi-gurand o mai buna rejectie a perturbatiilor);
• Creste sensibilitatea sistemului la zgomote si la incertitudini de modelare.
Compensare cu ıntarziere de faza. Functia de transfer a blocului cu intarzierede faza este
C =b
a
s+ a
s+ b,
unde a > b ≥ 0, avand diagramele Bode din Fig. 4.4. Actiunea unui astfel debloc consta ın urmatoarele doua efecte complementare:• Scade amplificarea ın bucla la frecvente mai mari decat polul b (asigurand
o mai buna rejectie a zgomotelor);• Adauga faza negativa ın zona de tranzitie de medie frecventa (ıntre b sia) ceea ce poate destabiliza sistemul ın bucla ınchisa daca blocul nu estebine ales.
In consecinta, blocul cu ıntarziere de faza creste performanta (la zgomote)simultan cu diminuarea marginii de faza (ın zona de medie frecventa). Pentrua diminua efectul negativ al micsorarii marginii de faza compensarea trebuiesa fie facuta cu cel putin o decada distanta de frecventa de taiere.
Compensare cu avans de faza. Functia de transfer a blocului cu avans defaza este
C =b
a
s+ a
s+ b,
7Adesea se pleaca initial cu L = P , compensandu-se ulterior forma prin ınserierea unorblocuri potrivite.
Laboratorul 4. Tehnica de loopshaping 93
0ω [rad/s]
|C(jω)|[dB]
20 lg(ba
)
b a
0ω [rad/s]
argC(jω)[rad]
b a
Figura 4.4.: Diagramele Bode ale blocului cu ıntarziere de faza C(s) = bas+as+b ,
a > b.
unde b > a ≥ 0, avand diagramele Bode din Fig. 4.5. Actiunea unui astfel debloc consta ın urmatoarele efecte complementare:
• Creste amplificarea ın bucla la frecvente mai mari decat polul b (asi-gurand o banda de trecere mai larga si deci un sistem mai rapid) siadauga faza pozitiva ın zona de tranzitie de medie frecventa (ıntre b sia) ceea ce conduce la cresterea marginii de faza;
• Crescand amplificarea la frecvente ınalte sistemul devine mai sensibil lazgomote si la erorile de modelare (incertitudini).
In consecinta, blocul cu avans de faza creste marginea de faza si banda detrecere simultan cu cresterea nedorita a sensibilitatii la zgomote. Acest bloc— folosit ın principal pentru efectul dezirabil de marire a marginii de faza —se alege astfel ıncat frecventa de taiere a sistemului original sa fie ıntre a si b,maximizand astfel contributia sa benefica. Marginea de faza (maxima) φ+ cepoate fi adaugata se obtine din
sin(φ+) =ba − 1ba + 1
,
iar aceasta faza suplimentara este adaugata la pulsatia
ω+ =√ab.
Precedentele ecuatii definesc modul ın care sunt alesi parametrii blocului ınprocesul de proiectare.
94 Teoria sistemelor automate. Indrumar de laborator
0ω [rad/s]
|C(jω)|[dB]
20 lg(ba
)
a b
0ω [rad/s]
argC(jω)[rad]
φ+
a ω+ b
Figura 4.5.: Diagramele Bode ale blocului cu avans de faza C(s) = bas+as+b ,
b > a.
Compensare cu ıntarziere si avans de faza. Acest bloc de compensare lecombina pe precedentele doua, avand functia de transfer
C(s) =b
a
s+ a
s+ b
d
c
s+ c
s+ d,
unde a > b ≥ 0 si d > c ≥ 0, avand diagramele Bode din Fig. 4.6. Actiuneaunui astfel de bloc consta ın reducerea amplificarii ıntr-o anumita banda defrecvente simultan cu adaugarea de faza pozitiva respectiv negativa, cores-punzator celor doua blocuri din care este compus.
Compensare stop–banda (Notch). Acest bloc de compensare este imple-mentat printr-un filtru particular de tip stop-banda care plaseaza, la o anu-mita frecventa specificata ωN , o
”depresiune“ ın graficul amplificarii ın bucla
deschisa. Functia de transfer a blocului este
C =s2 + 2ξNωNs+ ω2
N
s2 + ωNs+ ω2N
,
unde ξN determina adancimea”depresiunii“ sub forma
|C(jωN )| = 2ξN ,
iar diagramele Bode sunt date ın Fig. 4.7. Acest bloc de compensare se fo-loseste ın special pentru situatia ın care sistemul ın bucla deschisa are anumitefrecvente de rezonanta (la care amplificarea devine foarte mare).
Laboratorul 4. Tehnica de loopshaping 95
ω [rad/s]0
20 lg(bdac
)|C(jω)|
[dB]b a c d
ω [rad/s]0
b a
c d
argC(jω)[rad]
Figura 4.6.: Diagramele Bode ale blocului cu ıntarziere si avans de faza C(s) =bas+as+b
dcs+cs+d , a > b ≥ 0 si d > c ≥ 0.
Compensare de panta (la frecvente ınalte). Compensarea de panta esteutila pentru reducerea rapida a amplificarii ın bucla deschisa, ıncepand de la
ξN = 0 ξN = 0.1
ξN = 0.3
ω [rad/s]ωN
|C(jω)|
0
1
ω [rad/s]
argC(jω)[rad]
−π/4
0
π/4
ξN = 0
ξN = 0.1
ξN = 0.3
Figura 4.7.: Diagramele Bode ale blocului de tip notch C(s) =s2+2ξNωNs+ω
2N
s2+ωNs+ω2N
.
De notat ca amplificarea este ın unitati standard (nu ın decibeli).
96 Teoria sistemelor automate. Indrumar de laborator
o frecventa data ωr ın sus. Functia de transfer a blocului este
ωNr(s+ ωr)N
,
proiectantul alegand numarul natural N si frecventa ωr (de la care pantaamplificarii se considera conventional ca a scazut cu 20N dB/dec).
4.2. Sarcini de lucru
Problema R4.1. Satelit geosincronConsideram un satelit aflat ın orbita geosincrona. Suntem interesati de
mentinerea unui unghi de tangaj de referinta (astfel ıncat antena sa pastrezeorientarea dorita). Sistemul este reprezentat ın Fig. 4.8.
bratul mom
entului
pres
iune
solara
θm – unghi tangaj
Figura 4.8.: Diagrama satelit geosincron pentru Problema R4.1
Orientarea satelitului este reglata prin roti de reactie (cf. legii conservariimomentului) si este afectata de o perturbatie periodica datorata presiunii so-lare (d(t) = 10−5 sin(7 · 10−5t)). Luand ın calcul aceste elemente, unghiulde tangaj masurat θm depinde de voltajul v aplicat rotilor de reactie si deperturbatia d:
θm(s) =1
102s(s+ 0.01)(s+ 10)︸ ︷︷ ︸P (s)
V (s) +−0.01
s2(s+ 10)D(s).
Functia de transfer P (s) reprezinta dinamica nominala a sistemului. In reali-tate, trebuie sa consideram perturbatii de model datorate flexibilitatii antenei:
P (s) = P (s)(1 + ∆m(s))
Laboratorul 4. Tehnica de loopshaping 97
unde
|∆m(jω)| < |WT (jω)| =∣∣∣∣(s/0.03 + 1)2
30
∣∣∣∣s=jω
=1 + ω2
0.0009
30.
Cerinta de performanta impusa este ca la frecventa perturbatiei (ωe = 7 ·10−5
rad/s) deviatia unghiului de tangaj fata de referinta sa fie mai mica de 0.01◦
(1.7 · 10−4 rad/s):
|θm(jωe)| =0.01
ω2e
√ω2e+100
10−5
|1 + C(jωe)P (jωe|< 1.7 · 10−4
unde C(s) este compensatorul ce trebuie aflat. Din ecuatia anterioara obtinem
|1 + C(jωe)P (jωe| ≥0.01 · 10−5
(7 · 10−5)210(1.7 · 10−4)= 12000
ceea ce ınseamna ca functia pondere a sensibilitatii respecta conditia
|WS(jωe)| = 12000.
Tinand cont de ecuatiile anterioare, putem scrie conditia de performantarobusta astfel:
∣∣∣∣P (jω)
1 + P (jω)
∣∣∣∣ · |WT (jω)|+∣∣∣∣
1
1 + P (jω)
∣∣∣∣ · |WS(jω)| < 1. (4.8)
Se cer umatoarele:
(i) Obtineti un compensator prin tehnici de loopshaping.
(ii) Rezultatele obtinute sunt satisfacatoare, dar sunt conservative datorita in-certidunii largi de model. In continuare presupunem ca avem la dispozitieun model ımbunatatit:
P (s) =0.01
s(s+ 0.01)(s+ 10)· (s+ 1)2
s2 + 0.04s+ 1
cu incertitudinile de model marginite de functia pondere WT (s):
|∆m(jω)| < |WT (s)| =∣∣∣∣(s/0.3 + 1)2(s+ 1)2
30(s/10 + 1)2
∣∣∣∣s=jω
=
∣∣∣∣∣∣
(1 + ω2
0.09
)(1 + ω2)
30(1 + ω2
100
)
∣∣∣∣∣∣.
Solutie. (i) Primul pas pentru obtinerea compensatorului robust este identi-ficarea domeniilor de frecventa:
• alegem intervalul de joasa frecventa (0, ωe ≈ 10−4);
98 Teoria sistemelor automate. Indrumar de laborator
• frecventa de taiere a lui WT (jω) este ≈ 0.1 rad/s, alegem (0.5,∞)ca interval de ınalta frecventa pentru ca la 0.5 rad/s, WT are −20dB.
Modelam WS ca un filtru trece-jos si tinem cont ca frecventa polului este≥ ωe = 10−4 rad/s si ca, la ω = 0.5 rad/s, [WT ]dB < 0 < [WS ]dB. Alegematunci
WT (s) =12 · 10−5
(s+ 10−4)2
ce scade ın 3.5 decade (ıntre 10−4 si 10−0.3 ≈ 0.5) cu ≈ 140 dB, ceea ceeste suficient, tinand cont ca 12000 ≈ 80 dB.
Pentru L = PC putem acum formula conditiile de loopshaping:
• la joasa frecventa:
|L(jω)| > |1 +WS(jω)|1− |WT (jω)| ≈ 80 dB;
• la ınalta frecventa:
|L(jω)| < 1− |WS(jω)||1 +WT (jω)| ≈
30
1 + ω2
0.0009
.
Determinarea compensatorului robust este un proces iterativ. Vom pornide la cea mai simpla formulare si vom itera pana la obtinerea rezultatuluidorit.
Pasul 1 – componenta proportionala
In Fig. 4.9a ilustram functia de transfer P (s) ımpreuna cu constrangerilede joasa si ınalta frecventa. Dupa cum se observa, nu este respectata con-strangerea de joasa frecventa. In consecinta, alegem Cp(s) = 10 ceea ceadauga 20 dB la amplitudinea lui L(s) si valideaza constrangerea. Pentrufrecventa de taiere ωg = 10−1 rad/s avem o margine de faza asa cumse observa ın Fig. 4.9b, de MF = 5◦. Aceasta conduce, la frecventa de
taiere ωg = 0.1 la un suprareglaj 2 sinMF
2= 0.09 ≈ 10%, ceea ce este
inacceptabil.
Pasul 2 – componenta avans de faza
Pentru a avea o margine de faza de 60◦ adaugam ınca 55◦ printr-uncompensator anticipativ (cu avans de faza)
Cld(s) =s+ 0.019
s+ 0.19.
Laboratorul 4. Tehnica de loopshaping 99
10−5 10−4 10−3 10−2 10−1 100 10110−6
10−4
10−2
100
102
104
|1 +WS |1− |WT |
1− |WS ||1 +WT |
|P |
|Cp · P |
|ωg = 10−1|
(a) amplitudine
10−5 10−4 10−3 10−2 10−1 100 101
−200
−150
−100
frecventa de taiere
marginea de faza
(b) faza
Figura 4.9.: Loopshaping satelit – pasul 1
Alegem frecventa de avans ωl = 0.06 ceea ce face ca frecventa de taiere alui Cld(s) · Cp(s) · P (s) sa ramana ωg = 0.1. Rezultatul aplicarii acestuitermen este ilustrat ın Fig. 4.10. Dupa cum se observa (Fig. 4.10b), avemmarginea de faza dorita, dar ıncalcam constrangerea de joasa frecventa(Fig. 4.10a).
Pasul 3 – componenta ıntarziere de faza
Pentru a ındeplini constrangerea de joasa frecventa adagam un termen deıntarziere
Clg(s) =s+ 0.005
s
ce va creste amplificarea la joasa frecventa si va scadea marginea de fazacu doar 6◦ (pentru ca am avut grija sa luam zero-ul ωlg = 0.005 cu o
100 Teoria sistemelor automate. Indrumar de laborator
10−5 10−4 10−3 10−2 10−1 100 10110−6
10−4
10−2
100
102
104
|1 +WS |1− |WT |
1− |WS ||1 +WT |
|Cl · Cp · P |
|Cp · P |
|ωg = 0.1||Cld · Cp · P |
(a) amplitudine
10−5 10−4 10−3 10−2 10−1 100 101
−200
−150
−100
frecventa de taiere
marginea de faza
|Cp · P |
|Cld · Cp · P |
(b) faza
Figura 4.10.: Loopshaping satelit – pasul 2
decada ınaintea frecventei de frangere ωg = 0.1). Rezultatul aplicariiacestui termen este ilustrat ın Fig. 4.11.
Considerand compensatorul obtinut,
C(s) = 10 · s+ 0.005
s· s+ 0.019
s+ 0.19,
putem acum ilustra functiile de transfer ın bucla ınchisa (T (s)) si de sen-sibilitate (S(s)) ımpreuna cu cerinta de performanta (4.8). Rezultatelesunt ilustrate ın Fig. 4.12. Observam ın Fig. 4.12a ca alegerea compen-satorului este conservativa deoarece coeficientul de performanta este cumult sub valoarea maxim admisa (� 1). In Fig. 4.12b ilustram raspunsul
la treapta cu si fara pre-filtrare (Pf (s) =0.019
s+ 0.019). Dupa cum se poate
observa, raspunsul este lent.
Laboratorul 4. Tehnica de loopshaping 101
10−5 10−4 10−3 10−2 10−1 100 10110−6
10−4
10−2
100
102
104
|1 +WS |1− |WT |
1− |WS ||1 +WT |
|ωg = 0.1||Cld · Cp · P |
|Clg · Cld · Cp · P |
(a) amplitudine
10−5 10−4 10−3 10−2 10−1 100 101
−200
−150
−100
frecventa de taiere
marginea de faza
|Clg · Cld · Cp · P |
|Cld · Cp · P |
(b) faza
Figura 4.11.: Loopshaping satelit – pasul 3
Figurile 4.9–4.12 au fost realizate cu Sursa D.1.
(ii) Pasul 4 – model ımbunatatit
Domeniile de frecventa se calculeaza similar cazului anterior. Intervalulde joasa frecventa ramane ω ∈ (0, ωe ≈ 10−4). In schimb, intervalul deınalta frecventa este acum (3,∞) pentru ca ıncepand cu ω = 3 rad/sincertitudinea de model devine semnificativa (WS(3j) ≈ −30 dB). Com-parativ cu cazul precedent am redus semnificativ eroarea de incertitudine(de la 0.3 la 3, o ıntreaga decada).
102 Teoria sistemelor automate. Indrumar de laborator
10−4 10−3 10−2 10−1 100 10110−3
10−2
10−1
100
101
S(s)T (s)
coeficient performanta
(a) amplitudine
0 40 80 120 160 2000
0.5
1
fara pre-filtrare
cu pre-filtrare
(b) faza
Figura 4.12.: Loopshaping satelit – pasul 3 (verificare)
Pasul 5 – componenta proportionala
In Fig. 4.13a ilustram functia de transfer P (s) ımpreuna cu constrangerilede joasa si ınalta frecventa. Dupa cum se observa, nu este respectata con-strangerea de joasa frecventa. In consecinta, alegem Cp(s) = 10 ceea ceadauga 20 dB la amplitudinea lui L(s) si valideaza constrangerea. Pentrufrecventa de taiere wg = 10−1 avem o margine de faza asa cum se observa
ın Fig. 4.9b, de MF = 15◦. Insa avem un varf de rezonanta la ωp = 1ceea ce conduce la o margine de amplitudine de 0 dB, deci sistemul ınbucla ınchisa este instabil.
Laboratorul 4. Tehnica de loopshaping 103
10−5 10−4 10−3 10−2 10−1 100 10110−6
10−4
10−2
100
102
104
106
|1 +WS |1− |WT |
1− |WS ||1 +WT |
|P |
|Cp · P |
|ωg = 0.1|
(a) amplitudine
10−5 10−4 10−3 10−2 10−1 100 101
−250
−200
−150
−100
frecventa de taiere
marginea de faza
(b) faza
Figura 4.13.: Loopshaping satelit – pasul 5
Pasul 6 – adaugare filtru notch
Nu putem proceda ca la Pasul 2 unde am marit marginea de faza prinadaugarea unui compensator de avans pentru ca astfel ridicam si varful derezonanta ceea ce ar conduce la margine de amplitudine negativa. Prinurmare trebuie solutionata mai ıntai problema acestui varf de rezonanta.Pentru aceasta, consideram
Cn(s) =s2 + 0.0316s+ 1
s2 + s+ 1
ce “netezeste” varful de amplitudine de la ωp = 1. Amplitudinea si fazanoului sistem sunt ilustrate ın Fig. 4.14.
Adagand filtrul notch, am introdus doua probleme aditionale: constran-gerea de ınalta frecventa este ıncalcata (Fig. 4.14a) iar marginea de faza
104 Teoria sistemelor automate. Indrumar de laborator
10−5 10−4 10−3 10−2 10−1 100 10110−6
10−4
10−2
100
102
104
106
|1 +W2|1− |W1|
1− |W2||1 +W1|
|ωg = 0.1|
|Cp · P |
|Cn · Cp · P |
(a) amplitudine
10−5 10−4 10−3 10−2 10−1 100 101
−250
−200
−150
−100
frecventa de taiere
marginea de faza
|Cn · Cp · P |
|Cp · P |
|ωg = 10−1|
(b) faza
Figura 4.14.: Loopshaping satelit – pasul 6
este redusa (Fig. 4.14b).
Laboratorul 4. Tehnica de loopshaping 105
Pasul 7 – rezolvare ıncalcare constrangere la ınalta frecventa:compensare de panta
Pentru a rezolva prima problema (ıncalcare constrangere la ınalta frecventa)adaugam un filtru de compensare de panta ce aduna ınca −40 dB/decıncepand cu ω = 3 rad/s:
Cr(s) =9
(s+ 3)2.
Amplitudinea si faza noului sistem sunt ilustrate ın Fig. 4.15.
10−5 10−4 10−3 10−2 10−1 100 10110−6
10−4
10−2
100
102
104
106
|1 +W2|1− |W1|
1− |W2||1 +W1|
|ωg = 0.1|
|Cr · Cn · Cp · P |
|Cn · Cp · P |
(a) amplitudine
10−5 10−4 10−3 10−2 10−1 100 101
−250
−200
−150
−100
frecventa de taiere
marginea de faza
|Cn · Cp · P |
|Cr · Cn · Cp · P |
|ωg = 10−1|
(b) faza
Figura 4.15.: Loopshaping satelit – pasul 7
106 Teoria sistemelor automate. Indrumar de laborator
Pasul 8 – adaugare margine de faza
In acest ultim pas adaugam faza la frecventa de taiere pentru a ajunge lao margine de faza de 60◦. Pentru aceasta, adaugam termenul de avans:
Cld(s) =s+ 0.063
s+ 0.63
9
(s+ 3)2.
Amplitudinea si faza noului sistem sunt ilustrate ın Fig. 4.16.
10−5 10−4 10−3 10−2 10−1 100 10110−6
10−4
10−2
100
102
104
106
|1 +W2|1− |W1|
1− |W2||1 +W1|
|ωg = 0.1|
|Cld · Cr · Cn · Cp · P |
|Cr · Cn · Cp · P |
(a) amplitudine
10−5 10−4 10−3 10−2 10−1 100 101
−250
−200
−150
−100
frecventa de taiere
marginea de faza
|Cld · Cr · Cn · Cp · P |
|Cr · Cn · Cp · P |
|ωg = 10−1|
(b) faza
Figura 4.16.: Loopshaping satelit – pasul 8
Considerand compensatorul obtinut,
C(s) = 10 · s+ 0.063
s+ 0.63
s2 + 0.0316s+ 1
s2 + s+ 1,
putem acum ilustra functiile de transfer ın bucla ınchisa T (s) si de sensi-bilitate S(s) ımpreuna cu cerinta de performanta (4.8). Rezultatele sunt
Laboratorul 4. Tehnica de loopshaping 107
ilustrate ın Fig. 4.17.
10−4 10−3 10−2 10−1 100 10110−3
10−2
10−1
100
101
S(s)T (s)
coeficient performanta
(a) amplitudine
0 20 40 60 80 100 120 140 160 180 2000
0.5
1
cazul anterior
cazul curent
(b) faza
Figura 4.17.: Loopshaping satelit – pasul 8 (verificare)
Figurile 4.13–4.17 au fost realizate cu Sursa D.2.
Problema R4.2. Se considera procesul P (s) =1
s(s+ 1). Obiectivul este ur-
marirea de referinte sinusoidale cu eroare de cel mult 10% ın banda de frecvente0 ≤ ω ≤ 1, ın conditiile existentei unor incertitudini multiplicative cu profil
dat de WT (s) =s+ 1
10(0.01s+ 1).
(i) Figurati pe acelasi grafic diagramele Bode ale restrictiilor la joasa si ınaltafrecventa si ale lui P (s);
108 Teoria sistemelor automate. Indrumar de laborator
(ii) Plecand de la L(s) = P (s), adaugati un bloc proportional pentru a satis-face performanta la joasa frecventa;
(iii) Ce margini de amplitudine si de faza s-au obtinut?
(iv) Folositi un bloc cu avans de faza pentru cresterea marginii de faza la celputin π/3 radiani;
(v) Verificati ca proiectarea propusa satisface cerintele.
Solutie. (i) Diagramele cerute sunt date ın Fig. 4.18.
|P |
|14P ||WS |
1− |WT |
1
|WT |
ω [rad/s]0.1 1 3.7 10 100
[dB]
0
20
40
ω [rad/s]
argP (jω)[rad]
0.1 1 3.7 10 100−π/2
−πMF
Figura 4.18.: Diagramele Bode ale lui P (s) si marginile lui |L| pentru loopsha-ping din cadrul Problemei R4.2.
(ii) Pentru a satisface restrictia la joasa frecventa se observa din grafice caeste necesara adaugarea a cel putin 20 dB prin intermediul unui blocproportional, obtinand L(s) = 14
s(s+1) . Pentru acest L(s) conditia la ınalta
frecventa este automat ındeplinita, singura problema provenind din zonade medie frecventa ın care panta este de −40 dB/dec (la limita absolutapermisa de teorema lui Bode) — vezi diagrama din Fig. 4.18.
(iii) Marginea de amplitudine si de faza se calculeaza gasind ıntai punctele ıncare hodograful intersecteaza axa reala ın intervalul (−1, 0) si respectiv
Laboratorul 4. Tehnica de loopshaping 109
cercul cu centrul ın zero si raza 1. Pentru L(s) =14
s(s+ 1)obtinem
MA = ∞ si respectiv MF = π/12, care se atinge pentru o pulsatie deωf = 3.7 rad/s. Observam ca marginea de faza este relativ mica, lucrudatorat pantei prea abrupte din zona de medie frecventa.
(iv) Pentru a atenua panta ın zona de medie frecventa si a mari ın consecintamarginea de faza proiectam un bloc cu avans de faza. Propunem un avansde faza egal cu π/4, pentru a obtine o margine totala de faza egala cuπ/3. Parametrii ce definesc blocul de avans de faza a si b satisfac
b
a=
1 + sin(π/4)
1− sin(π/4)≈ 6, ωf =
√ab,
obtinandu-se a ≈ 1.5 si b ≈ 9. Functia de transfer ın bucla deschisadevine
L(s) = 149
1.5
s+ 1.5
s+ 9
1
s(s+ 1),
iar regulatorul corespunzator este
C(s) = 149
1.5
s+ 1.5
s+ 9.
Calculand marginea de faza totala obtinuta cu noul regulator aceasta esteaproximativ π/4, mult sub valoarea prezisa de proiectare de π/3. Aceastase datoreaza faptului ca marginea de faza se obtine acum la pulsatia detaiere de aproximativ 7 rad/s, mult peste valoarea de proiectare de 3.7 ra-d/s. Pentru a creste marginea de faza ınspre valoarea dorita, adaugamfaza la o valoare apropiata, dar mai mare decat noua pulsatie de taiere,de exemplu la 8 rad/s. Valoarea pe care o adaugam este mai mare, ınparticular π/3, obtinand ın final un regulator de forma
C(s) = 1429
2.15
s+ 2.15
s+ 29.
Trasand diagrama Bode a amplitudinii lui
L(s) = 1429
2.15
s+ 2.15
s+ 29
1
s(s+ 1)
observam ca noul regulator obtinut nu ıncalca marginile impuse de pro-iectare (vezi Fig. 4.19). Ultima etapa consta ın validarea proiectarii prinverificarea stabilitatii ın bucla ınchisa si inegalitatii de performanta ro-busta (4.2).
110 Teoria sistemelor automate. Indrumar de laborator
|WS |1− |WT |
1
|WT |
ω [rad/s]
|L(jω)|[dB]
0.1 1 10 1000
20
ω [rad/s]
argL(jω)[rad]
0.1 1 10 100−π/2
−π
MF
Figura 4.19.: Diagramele Bode ale sistemului L(s) = 14 292.15
s+2.15s+29
1s(s+1) din
cadrul Problemei R4.2.
Problema R4.3. Analizam aici controlul vitezei unghiulare de tangaj θ(t)pentru o aeronava. O prima aproximare a sistemului este
P (s) =s+ 1
s2 + 2ζωns+ ω2n
.
Functia de transfer modeleaza dinamica rigida a aeronavei, ignorand torsiu-nea. Consideram factorul de amortizare ζ = 0.7 si frecventa naturala ωn = 5rad/sec. Uzual, se specifica o forma dorita a functiei pe calea directa L(s).Alegem simplu
L(s) =ωcs,
unde ωc > 0 este frecventa critica pentru care |L(jωc)| = 1. Aceasta formaextrem de simpla asigura cateva performante importante:
(i) Stabilitate interna;
(ii) Urmarire buna si rejectia perturbatiilor (i.e., |S(jω)|mic) la joasa frecventa;
Laboratorul 4. Tehnica de loopshaping 111
(iii) Robustete buna (i.e., |T (jω)| mic) la ınalta frecventa.
Rezulta din aceasta alegere a functiei L(s) ca
S(s) =s
s+ ωc, C(s) =
L(s)
P (s)= ωc
s2 + 2ζωns+ ω2n
s(s+ 1).
100 101−10
0
10
20
30
L(s)
(a) pentru L(s)
10−1 100 101 102 103−50
−30
−10
10
S(s) T (s)
(b) pentru S(s) si T (s)
Figura 4.20.: Diagramele Bode pentru Problema R4.3
Diagramele Bode pentru functiile L(s), S(s) si T (s) sunt date ın Fig. 4.20,unde am ales ωc = 10 rad/sec. Observati ca cerintele de proiectare (i) - (iii)sunt satisfacute.
In principiu, cu cat ωc este mai mare, cu atat performantele sunt mai bune- spre exemplu, |S| este mic pentru o banda mai larga de frecvente. Existaınsa o limitare la alegerea lui ωc din cauza incertitudinilor de model la ınaltafrecventa: P (s) modeleaza doar corpul rigid, fara torsiuni. Cunoastem caprimul mod de torsiune este la aproximativ ωn2 = 45 rad/sec. Daca inclu-dem acest mod ın P (s), apar doi poli foarte aproape de axa imaginara, ınvecinatatea punctelor ±45j. |P (jω)| devine mare ın jurul frecventei de 45
112 Teoria sistemelor automate. Indrumar de laborator
rad/sec. Pentru a rezolva aceasta situatie, impunem ca |L| sa fie mic pen-tru frecventele la care incertitudinea de model apare. Spre exemplu, vrem saasiguram
|L(jω)| ≤ 0.5 , ∀ω ≥ 45.
Avem succesiv:∣∣∣∣ωcjω
∣∣∣∣ ≤1
2, ∀ω ≥ 45 ⇔ 0 < ωc ≤
ω
2, ∀ω ≥ 45.
Cea mai mare valoare pentru ωc care satisface aceasta conditie este ωc = 45/2.Desenati si voi diagramele Bode pentru acest ωc.Fig. 4.20 este realizata cu ajutorul Sursa D.3.
4.3. Sarcini aditionale
Problema P4.4. Discutam aici despre filtrul Butterworth, un filtru largraspandit ın inginerie, ın domenii ca electronica, telecomunicatii, sisteme audios.a. Noi ıl vom folosi pentru impunerea specificatiilor nominale de performanta‖WSS‖∞ < 1, mai concret pentru determinarea functiei pondere WS(s).
Spre exemplu, ne dorim ca sistemul reglat sa urmareasca cu o eroare decel mult 10% = 0.1 semnale armonice din banda de frecvente [0, 1] rad/sec.O alegere uzuala pentru WS(s) este un filtru Butterworth de tip trece jos cufrecventa de taiere de 1 rad/sec. In Matlab, apelul
1 [ b , a ] = butte r (3 , 1 , ’ low ’ , ’ s ’ ) ;WS = 10∗ t f (b , a ) ;
determina functia dorita. Am ales un filtru analogic de ordinul N = 3 detip trece jos. Pentru detaliile necesare, apelati help butter. Observati caam introdus o amplificare care corespunde erorii de urmarire admise. Aceastaamplificare se calculeaza simplu ca 1/0.1 = 10. Desenati voi diagrama Bodeın amplitudine pentru |WS | si 1/|WS | cu functia Matlab bodemag.
Problema P4.5. Proiectam acum un compensator robust pentru sistemuldublu integrator cu o ıntarziere incerta. Alegem o aproximare stabila de forma
P (s) =1
(s+ 0.01)2.
Elementul de ıntarziere incert e−τs care apare ın expresia functiei de transfersub forma P (s) = e−τsP (s) este tratat ca o incertitudine multiplicativaP = (1 + ∆WS)P , unde ‖∆‖∞ < 1 si
WS(s) =0.1s
0.05s+ 1.
Laboratorul 4. Tehnica de loopshaping 113
Sa impunem acum cerintele de proiectare. Ne dorim ca sistemul reglat saurmareasca cu o eroare de cel mult 10% semnale armonice din banda defrecvente [0, 1] rad/sec, ca ın Problema R4.4. Functia pondere obtinuta este
WT (s) =10
s3 + 2s2 + 2s+ 1.
10−2 10−1 100 101 102 103−160
−130
−100
−70
−40
−10
20
W2(s) W1(s)
[W1]dB > 0 > [W2]dB [W1]dB < 0 < [W2]dB
(a) Functiile pondere
10−2 10−1 100 101 10210−1
100
101
102
|WT |1− |WS |
1− |WT ||WS |
L(s)
(b) Tehnica de loopshaping
Figura 4.21.: Diagramele Bode pentru Problema R4.5
Dam ın continuare pasii care trebuie urmati pentru proiectarea unui com-pensator robust prin tehnica de loopshaping (pentru o discutie detaliata vezicursul):
1. Reprezinta ın scala loglog amplitudine vs. frecventa graficele functiilor
|WT |1− |WS |
pentru banda de frecvente la care |WT | > 1 > |WS | si
114 Teoria sistemelor automate. Indrumar de laborator
1− |WT ||WS |
pentru banda de frecvente la care |WT | < 1 < |WS |.
2. Pe acest grafic potriviti o curba care reprezinta graficul lui |L|. La joasafrecventa curba se va afla deasupra primului grafic, cu |L| � 1. La ınaltafrecventa curba se va afla sub ce de-al doilea grafic, cu |L| � 1. Tranzitiade la ınalta la joasa frecventa se va face fara ruperi de derivata, cu atentiesporita ın vecinatatea lui 1 (adica 0 dB).
3. Gasiti o functie de transfer stabila, de faza minima L(s), a carei diagramaBode a fost proiectata anterior, cu L(0) > 0. Compensatorul robust seobtine din relatia C(s) = L(s)/P (s).
Fig. 4.21a prezinta diagramele Bode pentru cele doua functii pondere. De ase-menea, am proiectat un compensator robust pentru exemplul nostru. Fig. 4.21bilustreaza graficele aferente pasilor prezentati. Functia de transfer L(s) obtinutaprin mai multe ıncercari este
L(s) =20
2s+ 1.
Incercati sa obtineti o alta functie L(s). Calculati compensatorul C(s). Repre-zentati pe graficul din Fig. 4.21b functia P (s). Codul Matlab corespunzatorse gaseste ın Sursa D.4.
Problema P4.6. Consideram functia de transfer:
P (s) =s+ 1
s2 + 2× 0.7× 5s+ 52
s2 + 2× 0.05× 30s+ 302
s2 + 2× 0.01× 45s+ 452.
Problema este o extensie a Problemei R.4.3, cu modelul primului mod de tor-siune la 45 rad/sec inclus. Acest mod este slab amortizat, avand coeficientulde vascozitate 0.01. Frecventa si coeficientul de amortizare au tipic o incer-titudine asociata de 2 − 3%. De asemenea, ın P (s) a fost inclusa o perechede zerouri slab amortizate. Alegem functia de transfer pe calea directa ca ınProblema R4.3:
L(s) =ωcs
(i) Desenati caracteristica amplitudine-frecventa pentru P . Gasiti compen-satorul C = L/P si reprezentati grafic caracteristica amplitudine-frecventapentru ωc = 1 : 10. Observati ca C(s) este un filtru stop-banda (FSB).Cum se modifica “adancitura” filtrului (filter notch) cu ωc?
8
8 In electronica, se teoretizeaza ca filtrele SB se parametrizeaza dupa un Q, care este functiede frecventa de centru si de alti parametrii electrici. Cu cresterea lui Q, circuitul varaspunde cu sub- si suprareglaj care pot distruge integritatea ıntregului circuit.
Laboratorul 4. Tehnica de loopshaping 115
(ii) Numerele 45 si 0.01 sunt incerte. O alegere mai prudenta pentru L este
L(s) =ωcs
s2 + 2× 0.03× 45s+ 452
s2 + 2× 0.01× 45s+ 452.
Ne dorim maximizarea lui ωc a.ı.
|L(jω)| ≤ 0.5, ∀ω ≥ 45.
Gasiti valoarea lui ωc. Veti folosi rationamentul din Problema R4.3.
(iii) Calculati cu Matlab C(s). Desenati caracteristica amplitudine - frecventapentru L(jω), C(jω), S(jω) si T (jω). Ce puteti spune despre factorul Qal compensatorului? Interpretati rezultatele.
Problema P4.7. Microscopul de putere atomica ın tapping mode. Unmodel simplificat pentru dinamica verticala a microscopului de putere atomicaın modul de contact intermitent este dat de functia de transfer
P (s) =a(1− e−sτ )
sτ(s+ a),
unde a = 1 si τ = 0.25. Pasi de lucru:
(i) Pentru a ımbunatati atenuarea perturbatiilor pe comanda crestem ampli-ficarea de la joasa frecventa folosind un compensator integral. Atunci
L1(s) =kisP (s).
Desenati diagramele Bode pentru P si L1, pentru ω ∈ [10−2, 102] si ki = 1,pe acelasi grafic. Determinati marginea de amplitudine, respectiv margi-nea de faza pentru L(s). Indicatie. Pentru P veti utiliza functia Matlabbode, iar pentru L1, margin.
(ii) Gasiti valoarea lui ki la care marginea de faza a lui L1 este MF ≈ 0. Cese ıntampla cu amplificarea de la joasa frecventa? Indicatie. Veti repetapunctul (i). variind crescator valoarea lui ki. Observati ce se ıntamplapentru ki = 9.
(iii) Ne dorim ımbunatatirea marginii de faza prin introducerea unei actiuniproportionale. Functia de transfer pe calea directa devine
L2(s) =kps+ ki
sP (s).
Desenati diagramele Bode pentru P, L1 si L2 pe acelasi grafic, pentruω ∈ [10−2, 102], ki = 8.3 si kp = 1. Cum se modifica caracteristica faza -frecventa?
116 Teoria sistemelor automate. Indrumar de laborator
(iv) Il vom gasi aici pe acel kp care minimizeaza ‖S‖∞, i.e., supremumul depe diagrama Bode. Desenati pe acelasi grafic caracteristica amplitudine- frecventa pentru
S(s) :=1
1 + L2, cu kp = 1 : 5.
In ce interval se schimba monotonia functiei ‖S(kp)‖∞? Pentru a-l deter-mina pe kp, ajustati la o zecimala. Verificati ca ‖T‖∞ este mica pentruacest kp. Indicatie. Folositi rutinele bodemag si S = feedback(1,L2).Reamintim ca T = L2/(1 + L2).
(v) Desenati diagramele Bode pentru P, L1 si L2 pe acelasi grafic, pentruω ∈ [10−2, 102], ki = 8.3 si kp = 3.5. Concluzionati.
Problema P4.8. Consideram functia de transfer
P (s) =−s+ 16
(s− 6)(s+ 11).
Pasi de lucru:
(i) Desenati diagrama poli - zerouri pentru P (s). Care sunt polii si zerourile?Este sistemul stabil si de faza neminima?
(ii) Din cauza celor constatate anterior, loopshaping-ul este dificil de aplicat.In acest caz, functia de transfer pe calea directa trebuie sa contina polii sizerourile instabile ale sistemului nominal. O alegere potrivita este asadar
L1(s) =ωcs
−s+ 16
16
s+ 6
s− 6.
Calculati cu Matlab C1(s) = L1(s)/P (s). Este acest compensator pro-priu?
(iii) Constatam ca trebuie introdus un pol suplimentar, dorit extrem de rapid.Justificati aceasta afirmatie. Impuneti un pol suplimentar cu constantade timp T = 0.001 sec ın functia L1(s), pentru a obtine L(s) potrivit.
(iv) Il vom calcula iterativ pe acel ωc care minimizeaza ‖S‖∞. Desenatipe acelasi grafic caracteristica amplitudine - frecventa pentru S(jω), cuωc = 1 : 10 si observati supremum-ul. Care ωc este mai bun?
(v) Reluati punctul anterior pentru ωc = 0.1 : 0.1 : 1. Ce se observa? Putemrestrange si mai mult intervalul de cautare? Daca da, implementati acestlucru. Daca nu, determinati numeric ωc.
Laboratorul 4. Tehnica de loopshaping 117
x
y F2
r
F1
θ
simbol descriere valoarem masa vehicol 4.0 kgJ inertie vehicol 0.0475 kg m2
r bratul momentului 25.0 cmc coeficient amortizare 0.05 kg m/sg const. gravitationala 9.8 m/s2
Figura 4.22.: Controlul unghiului de rostogolire θ pentru o aeronava cu pro-pulsie vectoriala. Unghiul este controlat prin cele doua motoarepozitionate pe aripi, rezultand un moment generat de F1. Aici,F2 este propulsia vectoriala.
Problema P4.9. Roll control pentru o aeronava cu propulsie vec-toriala. Sistemul dinamic al aeronavei este prezentat ın Fig. 4.22. Modelulsimplificat este dat de
P (s) =r
Js2.
Modelul descrie transferul de la forta F1 la unghiul θ. Ne dorim ca eroarea ınregim stationar sa fie cel mult 1% si o eroare de urmarire de sub 10% pana la10 rad/sec.
(i) Pentru a atinge performantele impuse ne trebuie o amplificare de cel putin10=20 dB la 10 rad/sec. Prin urmare, frecventa de taiere este mare.Incercam un compensator proportional de forma C(s) = kp. Desenati peacelasi grafic diagramele Bode pentru P (s) si L(s), pentru diferite valoriale parametrului kp. Determinati marginea de faza si amplitudine pentruL(s). Ce puteti concluziona? Indicatie. Folositi instructiunea bode(P);hold on; margin(L).
(ii) O simpla amplificare duce la o margine de faza foarte mica. Scopul esteasadar cresterea marginii de faza. Pentru a atinge acest deziderat, intro-ducem un compensator cu avans (a < b) sau cu ıntarziere de faza(a > b) de forma
C(s) = ks+ a
s+ b.
Alegem a = 2, b = 50 si k = 1. Se observa modificarea fazei? Creste sauscade MF ? Justificati.
118 Teoria sistemelor automate. Indrumar de laborator
(iii) Reluati punctul anterior, pentru k crescator. Care este valoarea lui kpentru care MF ≥ 60◦ si frecventa de taiere9 ωc > 10?
9Frecventa la care amplitudinea este 1=0 dB. La ωc, hodograful taie cercul unitate dinplanul C.
A. Anexa – laborator 1
A.1. Introducere ın Simulink
Simulink este un pachet software pentru modelarea, simularea, analiza si regla-rea sistemelor dinamice. Simulink, extensie a pachetului de programe Matlab,permite atat analiza sistemelor liniare, cat si a celor neliniare, continue, dis-crete sau hibride. Accesul la mediul Simulink este posibil lansand urmatoareacomanda ın Matlab:
s imul ink
Va fi deschisa o fereastra de lucru (Simulink Library Browser), din caresunt accesibile cele 15 biblioteci Simulink. Aceste biblioteci contin toate ele-mentele necesare constructiei unui model grafic al sistemului dorit (operatiimatematice de baza, functii de transfer, generatoare de semnal etc.).
O sesiune de lucru ın Simulink se ımparte ın doua etape:
Definirea modelului este realizata prin crearea unei diagrame bloc, prin adu-cerea ın fereastra de lucru a unor blocuri grafice din bibliotecile existente.
Simularea modelului se poate face din meniul Simulation / Start (sau prinapasarea butonului Run, disponibil ın bara de meniu). Parametrii desimulare pot fi setati prin intermediul meniului Simulation / Confi-guration Parameters.
Simulink va utiliza informatia din diagrama bloc pentru a construi o functiesistem (S-function), ca reprezentare interna a modelului. Fiecare diagramabloc creata de utilizator are drept corespondent o functie sistem cu acelasinume ca si modelul, functie ce va fi utilizata pentru simularea si analiza siste-mului de catre rutinele de integrare, liniarizare, etc.
Simularea modelelor Simulink implica integrarea unor ecuatii diferentialeordinare. Sunt accesibile mai multe metode de integrare numerica; acesteapot fi setate din meniul Simulation / Configuration Parameters.
Ne propunem implementarea unui exemplu simplu ın Simulink. Consideram
functia de transfer P (s) =1
(s+ 2)(s+ 3)si compensatorul C(s) =
Q
1− PQ ,
unde Q(s) =1
s+ 1, legate ıntr-o bucla de reactie unitara. Acestui sistem ın
120 Teoria sistemelor automate. Indrumar de laborator
bucla ınchisa dorim sa ıi aplicam o intrare treapta si sa ıi vizualizam iesireacorespunzatoare.Deschidem mediul de lucru Simulink. Utilitatea fiecarui bloc folosit poate fivizualizata ın partea de sus a ferestrei Simulink Library Browser. Pasii deurmat sunt urmatorii:
1. Din fereastra Simulink Library Browser se selecteaza File / New /Model;
2. Din biblioteca Sources se selecteaza blocul Step si se aduce ın fereastrade lucru (aducerea blocului ın fereastra de lucru se face prin “drag anddrop” cu mouse-ul);
3. Din biblioteca Continuous se selecteaza doua blocuri Transfer Fcn;
4. Din Sinks se selecteaza Scope si se aduce ın fereasta de lucru;
5. Din Math Operations se selecteaza Subtract;
6. Se conecteaza blocurile conform Fig. A.1;
7. Se seteaza parametrii blocurilor: se selecteaza fiecare bloc ın parte si seface dublu-click. Pentru fiecare bloc va aparea o fereastra de dialog. Prinintermediul acesteia pot fi setati parametrii fiecarui bloc;
8. Se face dublu-click pe Scope pentru deschiderea ferestrei osciloscopului,prin intermediul careia poate fi urmarita evolutia simularii; se apasa buto-nul Run pentru pornirea simularii.
C(s) P(s)r
eroare
iesire
Figura A.1.: Diagrama Simulink pentru bucla de reactie unitara – cazul “hard-coded”.
In Fig. A.1 valorile numerice sunt scrise direct ın campurile blocurilor ce aparın model. O alternativa este definirea acestora in Matlab si apoi referirea ın di-agrama Simulink. De asemenea, prin folosirea blocurilor Simout este posibilatrimiterea rezultatelor catre mediul Matlab. Spre exemplificare, implementamurmatorul cod Matlab:
Laboratorul A. Anexa – laborator 1 121
1 c l c ; c l e a r a l l ; c l o s e a l l
3 s = t f ( ’ s ’ ) ;P = 1/( s+2)/( s+3) ;
5 Q = 6/( s+1) ;C = Q/(1−P∗Q) ; % compensator obt inut pr in parametr i zarea Youla
7 [numP, denP ] = t fda ta (P) ; %extragem c o e f i c i e n t i i numaratorului s inumitoru lu i pentru proces
[numC, denC ] = t fda ta (C) ; %extragem c o e f i c i e n t i i numaratorului s inumitoru lu i pentru compensator
9
%i e s i r i l e f u n c t i e i t f da ta sunt c e l l−arrray , t r e b u i e sa apelam informa numP{1} , denP{1}
11
l oad system ( ’ r1 anexa s im 2 ’ ) ; %incarcam in memorie modelulsymulink ( e roa r e daca e s t e de ja d e s c h i s )
13 sim ( ’ r1 anexa s im 2 ’ ) % rulam modelul symulink , l a terminareas i m u l a r i i avem s t o c a t e i e s i r e a s i e roarea de urmar ire inv a r i a b i l e l e e s i y
p l o t ( y . Time ( 1 : end ) , y . Data ( 1 : end ) ) %af i sam i e s i r e a s i s t e m u l u i
Diverse variante intermediare sunt posibile: putem prelua variabile din Matlab,din fisiere de tip *.mat, putem afisa raspunsul direct ın Simulink, sa ıl stocampentru prelucrare ulterioara; putem rula modelul din interfata Simulink saucu ajutorul functiei sim, etc.
P(s) C(s)r iesire
eroare
Figura A.2.: Diagrama Simulink pentru bucla de reactie unitara – interactiunecu Matlab.
Alte blocuri folosite ın mod uzual sunt:
• blocul Transport Delay din biblioteca Continuos introduce o ıntarziere;
• blocurile Compare To Constant si Logical Operator din bibliotecaLogic and Bit Operations;
• blocurile Mux si Demux ce permit concatenarea si extragerea de ele-mente se regasesc ın biblioteca Signal Routing;
• blocul To File din biblioteca Sinks permite salvarea unei variabileıntr=un fisier mat;
• blocurile Sine Wave, Constant, Random Number se afla ın biblio-teca Sources si permit introducerea de intrari de forme particulare.
122 Teoria sistemelor automate. Indrumar de laborator
A.2. Algoritmul Euclid
Algoritmul lui Euclid permite obtinerea catului si restului ımpartirii a douapolinoame date. Pseudo-codul este ilustrat ın Algoritm A.1 iar implementareaMatlab ın Sursa A.1.
Algorithm A.1: Algoritmul Euclid
Data: Polinoamele n,mResult: Polinoamele qk, rk
1 Initializari: Trebuie ca grad(n) ≥ grad(m). Daca e fals, interschimban si m.
2 while rk nu este o constanta nenula do
3 Imparte n la m pentru a obtine catul q1 si restul r1:
n = mq1 + r1 , grad(r1) < grad(m)
4 Imparte m la r1 pentru a obtine catul q2 si restul r2:
m = r1q2 + r2 , grad(r2) < grad(r1)
5 Imparte r1 la r2 pentru a obtine catul q3 si restul r3:
r1 = r2q3 + r3 , grad(r3) < grad(r2)
6 end
Sursa A.2 implementeaza ın Matlab un algoritm de factorizare coprima.
f unc t i on [ x , y ] = e u c l i d (n ,m)2
% Functia implementeaza a l go r i tmu l l u i Euc l id pentru polinoamecoprime n ,m.
4 % Date f i i n d n ,m, cu grad (n)>=grad (m) , f u n c t i a re turneaza x , y a . i .% nx+my = 1
6
syms lam8
[ q1 , r1 ] = quorem (n ,m, lam ) ;10 i f quorem ( r1 , lam )==0
x = 1/ r1 ;12 y = −q1/ r1 ;
r e turn14 e l s e
[ q2 , r2 ] = quorem (m, r1 , lam ) ;16 i f quorem ( r2 , lam )==0
x = −q2/ r2 ;18 y = (1+q1∗q2 ) / r2 ;
r e turn20 e l s e
Laboratorul A. Anexa – laborator 1 123
[ q3 , r3 ] = quorem ( r1 , r2 , lam ) ;22 x = (1+q2∗q3 ) / r3 ;
y = (−q3−q1∗(1+q2∗q3 ) ) / r3 ;24 end
end
Listingul A.1: Implementare a algoritmului lui Euclid
1 f unc t i on [N,M,X,Y] = coprim (P)
3 % Functia pr imeste ca parametru f c t i a de t f P s i r e turneaza of a c t o r i z a r e
% coprima P = N/M , NX + MY = 1 .5 %
% Exemplu in s p a t i u l de comanda :7 % syms s ;
% P = 1/( s−1)/( s−2) ;9 % [N,M,X,Y] = coprim (P)
11
syms s lam ;13 Pt = subs (P, s ,(1− lam ) /lam ) ;
[ n ,m]=numden( Pt ) ;15 [ x , y ] = e u c l i d (n ,m) ;
17 N = subs (n , lam , 1 / ( s+1) ) ;N = f a c t o r (N) ;
19
M = subs (m, lam , 1 / ( s+1) ) ;21 M = f a c t o r (M) ;
23 X = subs (x , lam , 1 / ( s+1) ) ;X = f a c t o r (X) ;
25
Y = subs (y , lam , 1 / ( s+1) ) ;27 Y = f a c t o r (Y) ;
Listingul A.2: Implementare factorizare coprima
124 Teoria sistemelor automate. Indrumar de laborator
A.3. Listing-uri pentru problemele rezolvate
1 c l e a r a l l ; c l o s e a l l ; c l c ;
3 l oad system ( ’ r1sim ’ ) ; sim ( ’ r1sim ’ ) % ru l eaza schema simul ink ,r e z u l t a t e l e sunt s a l v a t e in ’ e ’ s i ’ r ’
s t ep =5; % c o e f i c i e n t decimare5 f i g u r e
subplot ( 2 , 1 , 1 )7 g r id on ; hold on
p lo t ( y . Time ( 1 : s tep : end ) , y . Data ( 1 : s tep : end ) )9 subplot ( 2 , 1 , 2 )
g r id on ; hold on11 p lo t ( e . Time , e . Data )
Listingul A.3: Cod Matlab pentru Problema R1.1
1 c l e a r a l l ; c l o s e a l l ; c l c ;
3 l oad system ( ’ r2sim ’ ) ; sim ( ’ r2sim ’ ) % ru l eaza schema simul ink ,r e z u l t a t e l e sunt s a l v a t e in ’ e ’ s i ’ r ’
s t ep =5; % c o e f i c i e n t decimare5 f i g u r e
subplot ( 2 , 1 , 1 )7 g r id on ; hold on
p lo t ( y . Time ( 1 : s tep : end ) , y . Data ( 1 : s tep : end ) )9 subplot ( 2 , 1 , 2 )
g r id on ; hold on11 p lo t ( e . Time , e . Data )
Listingul A.4: Cod Matlab pentru Problema R1.2
1 c l c ; c l e a r a l l ; c l o s e a l lP=t f (1 , conv ( [ 1 2 ] , [ 1 3 ] ) )
3 Q=t f ( 6 , [ 1 1 ] )C=Q/(1−P∗Q)
5 s tep ( feedback ( s e r i e s (P,C) ,1 ) )g r id on
Listingul A.5: Cod Matlab pentru Problema R1.3
c l c ; c l e a r a l l2 syms s
P=1/(s−1) ;4 [N,M,X,Y]=coprim (P)
Listingul A.6: Cod Matlab pentru Problema R1.4
c l c ; c l e a r a l l ; c l o s e a l l2 t=l i n s p a c e (0 ,25 ,200) ;
4 P=t f ( 1 , [ 1 −1]) ; N=t f (−1 ,[1 1 ] ) ; M=t f (−[1 −1] , [1 1 ] ) ; X=−2; Y=−1;
Laboratorul A. Anexa – laborator 1 125
Q=t f ( 1 , [ 1 1 ] ) ; % pentru urmarirea r e f e r i n t e i t r eapta impunem Q(0)=1, cautam Q( s ) de forma a /( s+1)
6 C=(X+M∗Q) /(Y−N∗Q)ur=@( x ) (x>0) ;
8 f i g u r e ; l s im ( (P∗C) /(1+P∗C) , ur ( t ) , t ) ; g r i d on ; % af i sam raspunsu ll a r e f e r i n t a a l f u n c t i e i H yr
10 Q=t f ( [ 2 −2] , [1 2 1 ] ) ; % pentru urmarirea r e f e r i n t e i t r eaptaimpunem Q( j )=1+j , cautam Q( s ) de forma ( as+b) /( s+1)ˆ2
C=(X+M∗Q) /(Y−N∗Q)12 ud=@( x ) ( s i n ( x ) . ∗ ( x>10) ) ;
f i g u r e ; l s im (P/(1+P∗C) ,ud( t ) , t ) ; g r i d on ; % af i sam raspunsu l l ap e r t u r b a t i e a l f u n c t i e i H yd
14
Q=t f ( [ 5 0 1 ] , [ 1 3 3 1 ] ) ; % pentru urmarirea r e f e r i n t e i t r eaptaimpunem Q( j )=1+j , cautam Q( s ) de forma ( asˆ2+bs+c ) /( s+1)ˆ3
16 C=(X+M∗Q) /(Y−N∗Q)u=@( x ) ( s i n ( x ) . ∗ ( x>10) ) ;
18 yd=ls im (P/(1+P∗C) ,u( t ) , t ) % stocam raspunsu l l a p e r t u r b a t i e a lf u n c t i e i H yd
yr=ls im ( (P∗C) /(1+P∗C) , ur ( t ) , t ) % stocam raspunsu l l a p e r t u r b a t i ea l f u n c t i e i H yd
20 f i g u r e ; p l o t ( t , yr+yd ) ; g r i d on ; % af i sam raspunsu l combinat
Listingul A.7: Cod Matlab pentru Problema R1.4 partea 2
c l c ; c l e a r a l l ; c l o s e a l l2 t=l i n s p a c e (0 ,25 ,200) ;
s tep =1;4
P=t f ( 1 , [ 2 1 ] ) ;6 k a l l=l i n s p a c e (0 , 3 , 10 ) ;
8 f i g u r e ; hold on ; g r id on
10 l oad system ( ’ r5sim ’ ) ;f o r i =1: l ength ( k a l l )
12 k=k a l l ( i ) ;sim ( ’ r5sim ’ )
14 p lo t ( y . Time ( 1 : s tep : end ) , y . Data ( 1 : s tep : end ) )end
Listingul A.8: Cod Matlab pentru Problema R1.5
c l e a r a l l ; c l c ; c l o s e a l l2
syms s4 syms a b c d
6 % produs de termeni copr imiexpand ( ( c+d∗ s ) ∗( s ˆ2+1)+(a+b∗ s ) ∗( s−1) )
8 c o e f f s ( ( c+d∗ s ) ∗( s ˆ2+1)+(a+b∗ s ) ∗( s−1) , s )
10 %matr icea e l im inant a l po l inoamelor
126 Teoria sistemelor automate. Indrumar de laborator
M=[−1 0 1 0 ; . . .12 1 −1 0 1 ; . . .
0 1 1 0 ; . . .14 0 0 0 1 ] ’ ;
16 % s o l u t i e pentru c o e f i c i e n t i i compensatorulu is o l =[1 3 3 1 ]∗ inv (M)
18
% v e r i f i c a r e a s o l u t i e i20 P=t f ( [ 1 −1] , [1 0 1 ] ) ;
C=t f ( [ 0 2 ] , [ 1 3 ] ) ;22 [ num, den]= t fda ta (1+P∗C) ;
24 r oo t s (num{1})
Listingul A.9: Cod Matlab pentru Problema R1.6
B. Anexa – laborator 2
B.1. Robust Control Toolbox
Biblioteca Matlab Robust Control Toolbox este o colectie de functii siinstrumente utile pentru analiza si proiectarea sistemelor automate cu incer-titudini. Puteti construi sisteme LTI incerte care contin parametri incerti si/sau dinamici nemodelate. Exista o multitudine de instrumente pentru ana-liza robustetii stabilitatii si celei mai slabe performante. Luam ın continuarecateva exemple.
Sa consideram functia de transfer incerta
P (s) =a
s+ a, a = an ± 10% an,
unde valoarea nominala a parametrului variabil este an = 5. Cream un para-metru real incert a cu instructinea
a = ur ea l ( ’ a ’ , 5 , ’ Percentage ’ , 10)
Pentru a vizualiza proprietatile variabilei a, apelati get(a). Functia de transferse creeaza obisnuit, cu instructiunea:
1 P = t f ( a , [ 1 a ] )
De notat ca variabila P reprezinta un sistem incert. Valoarea nominalapoate fi gasita cu instructiunea tf(P.nominal). O alta precizare importantaeste ca majoritatea functiilor cunoscute merg pentru acest tip de variabila.Spre exemplu, apelati
1 bode (P,{1 e−1 1e2 }) ;f i g u r e ; s tep (P) ;
Vom crea ın cele ce urmeaza un sistem afectat de perturbatii multiplicative. Odescriere informala des folosita pentru diferentele dintre modelul unui sistem sisistemul real se face ın termenii largimii de banda. Spre exemplu, sistemulmodelat de P este bun pana la 9 rad/sec. Pentru frecvente mai mari, modelulpierde precizie, sa spunem erori relative de 5% pentru joasa frecventa, panala 1000% la ınalta frecventa. Obiectul incert ultidyn poate fi folosit pentru
128 Teoria sistemelor automate. Indrumar de laborator
a modela aceasta dinamica, ımpreuna cu functia makeweight (apelati helpnumefct pentru nelamuriri):
W = makeweight ( 0 . 0 5 , 9 , 1 0 ) ;2 Delta = u l t idyn ( ’ Delta ’ , [ 1 1 ] ) ;
Pt = P∗(1+W∗Delta )
Evident, amplitudinea variabilei Delta este marginita de 1. Observati carezultatul Pt este un sistem incert care depinde atat de a cat si de Delta.Vizualizati diagrama Bode pentru plaja de frecvente [0.1 ; 100] rad/sec, pentru20 de sample-uri aleatoare, apeland
1 f i g u r e ; bode ( usample (Pt , 2 0 ) , {1e−1,1 e2 })
B.2. Datele problemei R2.6 – fisieruldateInterp.mat
Valorile medii Mi, i = 1 : 61 ale amplitudinilor masurate sunt date in dB ınvectorul Matlab
1 m=Columns 1 through 7
3 0.00064145 0.00070268 0.00077756 0.00088921 0.00125790.0012112 0.0013239
Columns 8 through 145 0.0022087 0.0021623 0.0018958 0.0037936 0.0039541
0.0033603 0.0062512Columns 15 through 21
7 0.005165 0.0094253 0.0087357 0.015635 0.0184280.025589 0.031897
Columns 22 through 289 0.02701 0.06062 0.055324 0.09062 0.13157
0.17904 0.22234Columns 29 through 35
11 0 .22 0 .25145 0.40077 0.31317 0.505930.65516 0.58373
Columns 36 through 4213 0.79389 0.80561 0.82887 0.57309 1 .5491
0.88423 0.77866Columns 43 through 49
15 0.92633 0.87851 0.69377 0.61271 0.834770.96157 1 .6566
Columns 50 through 5617 0.88134 0.99899 0 .734 0.76294 1 .0408
1 .4717 0 .5896Columns 57 through 61
19 1 .2757 1 .0235 1 .2757 0.91669 0.88056
Laboratorul B. Anexa – laborator 2 129
Valorile medii φi, i = 1 : 121 ale fazelor masurate sunt date de vectorul Matlab
1 f=Columns 1 through 7
3 −3.0722 −3.0723 0.069192 0.068985 −3.073−3.0734 0.067784
Columns 8 through 145 0.06711 0.066197 −3.0769 −3.0785 −3.0804
0.059193 0.056436Columns 15 through 21
7 0.05322 −3.0925 0.045866 0.04224 −3.1045−3.1083 0.031164
Columns 22 through 289 0.02802 0.025849 −3.1205 −3.1234 −3.1256
0.018407 −3.1291Columns 29 through 35
11 0.016986 −3.1304 −3.1334 −3.1327 0.017310.019281 0.017322
Columns 36 through 4213 0.023268 −3.1388 −3.139 0.033218 0.035701
−3.1383 −3.1338Columns 43 through 49
15 −3.1391 −3.136 0.083673 0.096149 0.052095−3.1389 0.095554
Columns 50 through 5617 −3.1272 −3.1415 −3.0965 0.24746 0.28621
0.30916 0.30721Columns 57 through 61
19 0.39543 0 .4302 0.57367 −3.106 −3.0783
Cele 61 de pulsatii ın care masuratorile au fost efectuate compun vectorulMatlab interp,
1 in te rp ’ =Columns 1 through 7
3 0 .01 0 .01169 0.013664 0.015973 0.0186720.021826 0.025514
Columns 8 through 145 0.029825 0.034864 0.040754 0.047639 0.055688
0.065097 0.076095Columns 15 through 21
7 0.088951 0.10398 0.12155 0.14208 0.166090.19415 0.22695
Columns 22 through 289 0.26529 0.31012 0.36251 0.42376 0.49535
0.57904 0.67688Columns 29 through 35
11 0.79123 0.92491 1 .0812 1 .2638 1 .47741 .727 2 .0188
Columns 36 through 4213 2 .3598 2 .7585 3 .2246 3 .7694 4 .4062
5 .1507 6 .0209Columns 43 through 49
15 7 .0381 8 .2272 9 .6172 11 .242 13 .14115 .362 17 .957
130 Teoria sistemelor automate. Indrumar de laborator
Columns 50 through 5617 20 .991 24 .538 28 .334 28 .683 33 .529
39 .194 45 .816Columns 57 through 61
19 53 .557 62 .605 73 .182 85 .547 100
B.3. Listing-uri pentru problemele rezolvate
1 L=t f (3 , conv ( conv ( [ 1 1 ] , [ 1 1 ] ) , [ 1 1 ] ) ) ;margin (L) % pentru i l u s t r a r e a diagramei Bode impreuna cu marg in i l e
de ampl i tudine s i de faza3 f i g u r e
nyqui s t (L) % pentru i l u s t r a r e a l o c u l u i Nyquist
Listingul B.1: Cod Matlab pentru Problema R2.1
L=t f ( 0 . 3 8 ∗ [ 1 0 . 1 0 . 5 5 ] , [ conv ( [ 1 1 ] , [ 1 0 .06 0 . 5 ] ) 0 ] ) ;2 margin (L) % pentru i l u s t r a r e a diagramei Bode impreuna cu marg in i l e
de ampl i tudine s i de fazaf i g u r e
4 nyqui s t (L) % pentru i l u s t r a r e a l o c u l u i Nyquist
Listingul B.2: Cod Matlab pentru Problema R2.2
c l o s e a l l ; c l c ; c l e a r a l l2
kp =0.6; k i =0.5 ; kd=2; % v a l o r i PID4 Tf =0.1; % f i l t r u de zgomot
P=t f ( 1 , [ 1 3 3 1 ] ) ;6 C=t f ( [ kd kp k i ] , [ 0 . 5 ∗Tfˆ2 Tf 1 0 ] ) ;
Hyd=P/(1+P∗C) ;8 Hun=−C/(1+P∗C) ;
10 f i g u r esubplot ( 2 , 2 , 1 ) ; g r i d on ;
12 s tep (Hyd)g r id on ; y l a b e l ( ’ i e s i r e y ’ )
14
subplot ( 2 , 2 , 3 ) ; g r i d on ;16 bodemag (Hyd)
g r id on ; y l a b e l ( ’ |H {yd}( j \omega ) | ’ )18
subplot ( 2 , 2 , 2 ) ; g r i d on ;20 s tep (Hun)
g r id on ; y l a b e l ( ’ i n t r a r e u ’ )22
subplot ( 2 , 2 , 4 ) ; g r i d on ;24 bodemag (Hun)
g r id on ; y l a b e l ( ’ |H {un}( j \omega ) | ’ )
Listingul B.3: Cod Matlab pentru Problema R2.3
Laboratorul B. Anexa – laborator 2 131
1 c l e a r a l l ; c l o s e a l l ; c l c
3 % parametr i modelJ =0.0475;
5 m=1.5;r =0.25;
7 zeta =0.1 ;g=10;
9 l =0.05;
11 C=4500∗ t f ( [ 1 2 5 ] , [ 1 30 0 ] ) ;
13 %% punctul ( i )P=t f ( [ r ] , [ J ze ta m∗g∗ l ] )
15
%% punctul ( i i )17 S=1/(1+P∗C)
f i g u r e ; hold on ;19 bodemag (S)
g r id on ;21
K=125;23 T= [ 0 . 2 5 ] ;
WS=t f (K, [ T∗T 2∗T 1 ] ) ;25
f i g u r e ; hold on ;27 bodemag (WS∗S) ;
g r id on29
%% punctul ( i i i )31 Tn=(P∗C) /(1+P∗C) ;
Tmin=(0.8∗P∗C) /(1+0.8∗P∗C) ;33 Tmax=(1.2∗P∗C) /(1+1.2∗P∗C) ;
35 f i g u r e ; hold on ;bodemag (Tn, Tmin ,Tmax)
37 g r id on ;
39 WT=0.2;f i g u r e ; hold on ;
41 bodemag (WT∗Tn,WT∗Tmin ,WT∗Tmax) ;g r id on
43
%% punctul ( i v )45 f i g u r e ; hold on ;
bodemag (WS∗S ,WT∗Tn,WS∗S+WT∗Tn)47 g r id on ;
Listingul B.4: Cod Matlab pentru Problema R2.4
1 c l o s e a l l ; c l c ; c l e a r a l l
3 tau =0.1 ;
132 Teoria sistemelor automate. Indrumar de laborator
5 W2=t f ( [ 0 . 2 1 0 ] , [ 0 . 1 1 ] ) ;t f d e l a y=t f (1 , 1 , ’ ioDelay ’ , tau )−1;
7
f i g u r e9 bodemag ( t f d e l a y ,W2)
11 f i g u r enyqui s t (− t f d e l a y ,W2)
Listingul B.5: Cod Matlab pentru Problema R2.5
c l c ;2 c l f ;
c l e a r a l l ;4
s=t f ( ’ s ’ ) ;6 Pn=(s +1/2) ∗( s+2)∗( s +20) / ( ( s+1)ˆ2∗( s+5)∗( s +0.1) ∗( s +10) ) ;
8 [mp, fp , i n t e r p ]=bode (Pn,{1 e−2,1 e2 }) ;nu=length (mp) ;
10
dev =0.5;12 m= [ ] ; f = [ ] ;
norma=norm( i n t e r p ) ;14
md= [ ] ; fd = [ ] ;16 f o r i =1:nu
glp=i n t e r p ( i ) ∗ rand (10 ,1 ) ;18 md( : , i ) =[ mp( : , : , i )+dev∗ g lp ] ;
fd ( : , i ) =[ fp ( : , : , i )+dev∗ g lp ] ;20 end
22 f o r i =1:num( : , i ) =[mean(md( : , i ) ) ] ;
24 f ( : , i ) =[mean( fd ( : , i ) ) ] ;
26 end
28 k=7;data p1=f rd (md(k , : ) .∗ exp (1 j ∗ fd (k , : ) ∗ pi /180) , i n t e r p ) ;
30
data p=f rd (mp.∗ exp (1 j ∗ fp ∗ pi /180) , i n t e r p ) ;32 f o r i =1:nu
md( : , i )=md( : , i ) /m( i ) ;34 fd ( : , i )=fd ( : , i )−f ( i ) ;
end36
ddd=md.∗ exp (1 j ∗ fd ∗ pi /180)−ones (10 , nu) ;38
f o r i =1:nu40 ddd ( : , i )=s o r t (ddd ( : , i ) ) ;
m( i )=abs ( ddd (10 , i ) ) ;42 f ( i )=ang le ( ddd (10 , i ) ) ;
end44
Laboratorul B. Anexa – laborator 2 133
data=f rd (m.∗ exp (1 j ∗ f ∗ pi /180) , i n t e r p ) ;46
np=[3 4 5 ] ;48 nz=[1 2 3 ] ;
50 wb=.3;A=.2;M=15;WT=t f ( [ 1 wb/M] , [A wb ] )
52 wmin=10ˆ(−2) ;wmax=10ˆ3;Delta=u l t idyn ( ’ DeltaP ’ , [ 1 1 ] ) ;
54
%f o r j =1:356 P1=t f e s t ( data , np (1 ) , nz (1 ) ) ;
%P1=(2.239 e21∗ s + 1.079 e20 ) /( s ˆ3 + 2.668 e18∗ s ˆ2 + 2.469 e21∗ s +3.216 e21 ) ;
58 P1t=P1∗(1+ Delta ∗WT) ;P2=t f e s t ( data , np (2 ) , nz (2 ) ) ;
60 %P2=(3.192 e13∗ s ˆ2 + 6.146 e13∗ s + 1.238 e12 ) /( s ˆ4 + 5.058 e10∗ s ˆ3+ 3.356 e13∗ s ˆ2 + 1.302 e14∗ s + 5.743 e13 ) ;
P2t=P2∗(1+ Delta ∗WT) ;62 P3=t f e s t ( data , np (3 ) , nz (3 ) ) ;
%P3=(1256∗ s ˆ3 + 1.624 e04∗ s ˆ2 + 3.289 e06∗ s − 2 .47 e04 ) /( s ˆ5 +20.96∗ s ˆ4 + 5425∗ s ˆ3 + 6.929 e04∗ s ˆ2 + 7.011 e06∗ s + 3.868 e05 ) ;
64 P3t=P3∗(1+ Delta ∗WT) ;%end
66
opts = bodeopt ions ( ’ c s t p r e f s ’ ) ;68 opts . PhaseVi s ib l e = ’ o f f ’ ;
opts . FreqUnits = ’ rad / s ’ ;70 opts . T i t l e . S t r ing = ’ ’ ;
opts . XLabel . S t r ing = ’ P u l s a t i i ’ ;72 opts . T i t l e . FontSize = 10 ;
74 f i g u r e (1 )%l o g l o g ( abs ( data . r e sponse ( 1 , 1 , : ) ) , ’∗−blue ’ )
76 bodemag ( data , inte rp , ’ ∗blue ’ , opts )hold on
78 bodemag ( data p , inte rp , ’ xred ’ , opts )% bode cu d a t e l e s coa se din Pn( s)
bodemag ( data p1 , inte rp , ’−−green ’ , opts )% bode cu date s coase dinprima l i n i e a mat r i c e i cu a b a t e r i − poate f i i n l o c u i t cuo r i c a r e d i n t r e a b a t e r i
80 bodemag (WT, ’ black−o ’ ,{10ˆ(−2) , 1 0 ˆ ( 2 . 1 ) } , opts )%x l a b e l ( ’ P u l s a t i i ’ )
82 y l a b e l ( ’ Amplitudine ’ )g r id on
84 hold o f f
86 f i g u r e (2 )bodemag (Pn , ’ red ’ , P1t , ’−−green ’ , P2t , ’−. b lack ’ , P3t , ’−∗magenta ’ ,{wmin
,wmax} , opts )88 g r id on
%x l a b e l ( ’ P u l s a t i i ’ , opts )90 y l a b e l ( ’ Amplitudine ’ )
l egend ( ’Pn ’ , ’ P1t 1z3p ’ , ’ P2t 2z4p ’ , ’ P3t 3z5p ’ )92 hold o f f
134 Teoria sistemelor automate. Indrumar de laborator
94 r e turn
96 [ mag , phase ]=bode (P, i n t e r p ) ;%gr id on ;
98
m1=mag ( : , : , 1 ) ; m2=mag ( : , : , 2 ) ; m3=mag ( : , : , 3 ) ;100 f 1=phase ( : , : , 1 ) ; f 2=phase ( : , : , 2 ) ; f 3=phase ( : , : , 3 ) ;
102 b1=m1+0.5; a=0;r1 = ( b1−a ) .∗ rand (10 ,1 ) + a ;
104 b11=f1 +.2;s1 = ( b11−a ) .∗ rand (10 ,1 ) + a ;
106 mom1=mean( r1 , 1 ) ;f a z1=mean( s1 , 1 ) ;
108
b2=m2+0.5; a=0;110 r2 = ( b2−a ) .∗ rand (10 ,1 ) + a ;
b21=f2 +.2;112 s2 = ( b21−a ) .∗ rand (10 ,1 ) + a ;
mom2=mean( r2 , 1 ) ;114 f a z2=mean( s2 , 1 ) ;
116 b3=m3+0.5; a=0;r3 = ( b3−a ) .∗ rand (10 ,1 ) + a ;
118 b31=f3 +.2;s3 = ( b31−a ) .∗ rand (10 ,1 ) + a ;
120 mom3=mean( r3 , 1 ) ;f a z3=mean( s3 , 1 ) ;
122
S=diag ( i n t e r p ) ;124 L=ones (1 , 3 ) ;
126 G=place (S ’ , L’ , [−1 ,−5 , −10]) ’ ;
128 F=S−G∗L ;H=[mom1 mom2 mom3 ] ;
130
[ nPr , dPr]= s s 2 t f (F ,G,H, 0 ) ;132 Pr=t f ( nPr , dPr )
[ r ed ze ro ,G]= zero ( Pr )134 r e d p o l e=po le ( Pr )
[ mr , pr ]=bode (Pr , 0 . 0 1 : 1 0 0 ) ;136
y = [ ] ;138 f o r i =1:4
y=[y abs ( r1 ( i ) ∗exp ( j ∗ s1 ( i ) ) /(mom1∗exp ( j ∗ f a z1 ) )−1) ] ;140 end
142 z = [ ] ;f o r i =1:4
144 z=[z abs ( r2 ( i ) ∗exp ( j ∗ s2 ( i ) ) /(mom2∗exp ( j ∗ f a z2 ) )−1) ] ;end
146
x = [ ] ;
Laboratorul B. Anexa – laborator 2 135
148 f o r i =1:4x=[x abs ( r3 ( i ) ∗exp ( j ∗ s3 ( i ) ) /(mom3∗exp ( j ∗ f a z3 ) )−1) ] ;
150 end
152 WT=t f (60∗ [ 1 1 5 ] , [ 1 1 2 0 ] )[mw,pw]=bode (WT, 0 . 0 1 : 1 0 0 ) ;
154 [ mwi , pwi ]=bode (1/WT, 0 . 0 1 : 1 0 0 ) ;l o g l o g (2 0∗ [ z y x ] ) ;
156 hold on ;l o g l o g (mw( : , : ) , ’ red ’ )
158 l o g l o g (mr ( : , : ) , ’ ∗black ’ )l o g l o g (mp( : , : ) , ’ magenta ’ )
160 l o g l o g (mwi ( : , : ) , ’ green ’ )l egend ( ’ date ’ , ’WT’ , ’ i n t e r p o l a n t ’ , ’P ’ , ’ 1/WT’ )
162 g r id onhold o f f ;
Listingul B.6: Cod Matlab pentru Problema R2.6
1 c l o s e a l l ; c l c ; c l e a r a l l
3 k=2;P=t f ( 1 , [ 1 −1]) ;
5 C=k ;
7 nyqlog (P∗C)
Listingul B.7: Cod Matlab pentru Problema R2.7
1 c l o s e a l l ; c l c ; c l e a r a l l
3 W1a=t f (20 , [ 0 . 0 4 1 ] ) ;W1b=t f (20 , conv ( [ 0 . 0 4 1 ] , [ 0 . 0 4 1 ] ) ) ;
5
f i g u r e7 bodemag (W1a,W1b,1/W1a,1/W1b)
g r id on9 l egend ( ’W1a ’ , ’W1b ’ , ’ 1/W1a ’ , ’ 1/W1b ’ )
Listingul B.8: Cod Matlab pentru Problema R2.8
C. Anexa – laborator 3
C.1. Listing-uri pentru problemele rezolvate
1 c l o s e a l l ; c l c ; c l e a r a l l
3 L=t f (10 , conv ( [ 1 −1] , [ 1 2 ] ) ) ;S=1/(1+L) ;
5 [m, ˜ ,w]=bode (S ,{0 . 0 1 , 1 0} ) ; %obtinem magnitudinea s i domeniul def r e c v e n t a a s o c i a t a c e s t e i a
semi logy (w, reshape (m, 1 , numel (m) ) )7 g r id on
Listingul C.1: Cod Matlab pentru Problema R3.1
1 c l o s e a l l ; c l c ; c l e a r a l l
3 tau =1; a=3;
5 G=t f ( 1 , [ 1 1 ] ) ;G1=s e r i e s (G, t f (1 , ’ ioDelay ’ , tau ) ) ;
7 G2=s e r i e s ( t f ( [ 1 −a ] , [ 1 a ] ) , G) ;G3=s e r i e s ( t f ( [ 1 a ] , [ 1 −a ] ) , G) ;
9
f i g u r e11 bode (G, G2, G3)
g r id on ; l egend ( ’G’ , ’ G 2 ’ , ’ G 3 ’ )13
f i g u r e15 bode (G, G1)
g r id on ; l egend ( ’G’ , ’ G 1 ’ )
Listingul C.2: Cod Matlab pentru Problema R3.2
f unc t i on [P,C] = stab p inv (m,M, l )2
g = 10 ;4
num=[ l 0 −g ] ;6 den=[M∗ l 0 −(M+m) ∗g 0 0 ] ;
[A, b , c , d]= t f 2 s s (num, den ) ;8 P=ss (A, b , c , d ) ;
10 f = −p lace (A, b ,[−1 −2 −3 −4 ] ) ;h = place (A’ , c ’ , [−1 −2 −3 −4]) ;
12 h = −h ’ ;
Laboratorul C. Anexa – laborator 3 137
14 [Mnum, Mden]= s s 2 t f (A+b∗ f , b , f , 1 ) ;[Nnum, Nden]= s s 2 t f (A+b∗ f , b , c+d∗ f , d ) ;
16 [Xnum, Xden]= s s 2 t f (A+h∗c , h , f , 0 ) ;[Ynum, Yden]= s s 2 t f (A+h∗c ,−b−h∗d , f , 1 ) ;
18
20 Cnum=Xnum+Mnum;Cden=Ynum−Nnum;
22 C=t f (Cnum, Cden) ;
Listingul C.3: Rutina stab inv.m
%pendul i n v e r s − l i m i t a r i fundamentale in timp2 c l c ; c l e a r a l l ; c l o s e a l l
4 r e f=@( t ) ( t>=0) ; %r e f e r i n t a t r eaptat=l i n s p a c e (0 ,15 ,100) ;
6
M=9; m=1; g=10;8 l =[0 .5 0 .7 0 .9 1 .1 1 .2 2 ] ;
10 f i g u r e ; hold on ; g r id onf o r i =1: l ength ( l )
12 [ Hxu ,C] = stab p inv (m,M, l ( i ) ) ;y=ls im ( feedback ( s e r i e s (Hxu ,C) ,1 ) , r e f ( t ) , t ) ;
14 p lo t ( t , y )end
16
f i g u r e ; hold on ; g r id on18 f o r i =1: l ength ( l )
[ Hxu ,C] = stab p inv (m,M, l ( i ) ) ;20 y=ls im (1/(1+Hxu∗C) , r e f ( t ) , t ) ;
p l o t ( t , y )22 end
Listingul C.4: Cod Matlab pentru Problema R3.6, cazul (i)
%pendul i n v e r s − l i m i t a r i fundamentale in timp2 c l c ; c l e a r a l l ; c l o s e a l l
4 r e f=@( t ) ( t>=0) ; %r e f e r i n t a t r eaptat=l i n s p a c e (0 ,15 ,300) ;
6
M=9; l =10; g=10;8 m=[1 5 10 20 50 1 0 0 ] ;
10 f i g u r e ; hold on ; g r id onf o r i =1: l ength (m)
12 [ Hxu ,C] = stab p inv (m( i ) ,M, l ) ;y=ls im (1/(1+Hxu∗C) , r e f ( t ) , t ) ;
14 p lo t ( t , y )end
Listingul C.5: Cod Matlab pentru Problema R3.6, cazul (ii)
138 Teoria sistemelor automate. Indrumar de laborator
1 %pendul i n v e r s − l i m i t a r i fundamentale in f r e c v e n t ac l c ; c l e a r a l l ; c l o s e a l l
3
r e f=@( t ) ( t>=0) ; %r e f e r i n t a t r eapta5 w=[0.01 1 0 0 ] ;
7 M=9; l =10; g=10;m=[1 5 10 20 50 1 0 0 ] ;
9
f i g u r e ; hold on ; g r id on11 f o r i =1: l ength (m)
[ Hxu ,C] = stab p inv (m( i ) ,M, l ) ;13 bode (1/(1+Hxu∗C) ) ;
end15
f i g u r e ; hold on ; g r id on17 f o r i =1: l ength (m)
[ Hxu ,C] = stab p inv (m( i ) ,M, l ) ;19 bode ( (Hxu∗C) /(1+Hxu∗C) ) ;
end
Listingul C.6: Cod Matlab pentru Problema R3.6, cazul (iii)
D. Anexa – laborator 4
D.1. Listing-uri pentru problemele rezolvate
% s a t e l i t geo s inc ron loopshaping2 c l o s e a l l ; c l c ; c l e a r a l l
4 P=t f ( 0 . 0 1 , [ 1 10 .01 0 .1 0 ] ) ;Pd=t f (−0.01 ,[−10 0 0 ] ) ;
6 W1=t f ( poly ( [−0.03 −0.03]) ,27 e−3) ;W2=t f (12 e−5, poly ( [ 1 e−4 1e−04]) ) ;
8
%% c a l c u l magnitudini10 w=logspace (−5 ,1 ,200) ;
[ mag , ˜ ,w]=bode (P,w) ;12 magP=reshape (mag , l ength (w) ,1 ) ; %magnitudine proces in bucla
de s ch i s a
14 Cp=10;L=Cp∗P;
16 [ mag , phase ,˜ ]= bode (L ,w) ;magL=reshape (mag , l ength (w) ,1 ) ; %magnitudine proces+compensator
p r o po r t i o n a l18 phaseL=reshape ( phase , l ength (w) ,1 ) ; %faza proces+compensator
p r o po r t i o n a l
20 Cld=t f ( [ 1 0 . 0 1 9 ] , [ 1 0 . 1 9 ] ) ;L2=Cld∗Cp∗P;
22 [ mag , phase ,˜ ]= bode (L2 ,w) ;magL2=reshape (mag , l ength (w) ,1 ) ; %magnitudine proces+compensator
p r o po r t i o n a l+lead24 phaseL2=reshape ( phase , l ength (w) ,1 ) ; %faza proces+compensator
p r o po r t i o n a l+lead
26 Clg=t f ( [ 1 0 . 0 0 5 ] , [ 1 0 ] ) ;L3=Clg∗Cld∗Cp∗P;
28 [ mag , phase ,˜ ]= bode (L3 ,w) ;magL3=reshape (mag , l ength (w) ,1 ) ; %magnitudine proces+compensator
p r o po r t i o n a l+lead+lag30 phaseL3=reshape ( phase , l ength (w) ,1 ) ; %faza proces+compensator
p r o po r t i o n a l+lead+lag
32 T=L3/(1+L3) ; % f u n c t i a de t r a n s f e r in bucla i n c h i s aS=1/(1+L3) ; % f u n c t i a de s e n s i b i l i t a t e
34 mag=bode (T,w) ;magT=reshape (mag , l ength (w) ,1 ) ;
36 mag=bode (S ,w) ;
140 Teoria sistemelor automate. Indrumar de laborator
magS=reshape (mag , l ength (w) ,1 ) ;38
wa=1e−4;40 inda=w<=wa ; %reg iunea de joa sa f r e c v e n t a
wb=0.3;42 indb=w>=wb; % reg iunea de i n a l t a f r e c v e n t a
44 mag=bode (W1,w) ;magW1=reshape (mag , l ength (w) ,1 ) ; %magnitudine W1
46 mag=bode (W2,w) ;magW2=reshape (mag , l ength (w) ,1 ) ; %magnitudine W2
48
%% pasul 1 ( proces s i proces+compensator p r op o r t i o n a l )50 f i g u r e
l o g l o g (w,magP)52 hold on
l o g l o g (w, magL)54 l o g l o g (w( inda ) , abs(1+magW2( inda ) ) ./(1− abs (magW1( inda ) ) ) , ’ r ’ ) %
cons t range re de j oa sa f r e c v e n t al o g l o g (w( indb ) ,(1− abs (magW2( indb ) ) ) . / abs(1+magW1( indb ) ) , ’ r ’ ) %
cons t range re de i n a l t a f r e c v e n t a56
f i g u r e58 semi logx (w, phaseL )
60 %% pasul 2 ( proces s i proces+compensator p r op o r t i o n a l+lead )f i g u r e
62 l o g l o g (w, magL)hold on
64 l o g l o g (w, magL2)l o g l o g (w( inda ) , abs(1+magW2( inda ) ) ./(1− abs (magW1( inda ) ) ) , ’ r ’ ) %
cons t range re de j oa sa f r e c v e n t a66 l o g l o g (w( indb ) ,(1− abs (magW2( indb ) ) ) . / abs(1+magW1( indb ) ) , ’ r ’ ) %
cons t range re de i n a l t a f r e c v e n t a
68 f i g u r esemi logx (w, phaseL )
70 hold onsemi logx (w, phaseL2 )
72
%% pasul 3 ( proces s i proces+compensator p r op o r t i o n a l+lead+lag )74 f i g u r e
l o g l o g (w, magL2)76 hold on
l o g l o g (w, magL3)78 l o g l o g (w( inda ) , abs(1+magW2( inda ) ) ./(1− abs (magW1( inda ) ) ) , ’ r ’ ) %
cons t range re de j oa sa f r e c v e n t al o g l o g (w( indb ) ,(1− abs (magW2( indb ) ) ) . / abs(1+magW1( indb ) ) , ’ r ’ ) %
cons t range re de i n a l t a f r e c v e n t a80
f i g u r e82 semi logx (w, phaseL2 )
hold on84 semi logx (w, phaseL3 )
Laboratorul D. Anexa – laborator 4 141
86 %% pasul 3 ( v e r i f i c a r e )
88 f i g u r e ;l o g l o g (w, magS)
90 hold onl o g l o g (w,magT)
92 l o g l o g (w, abs (magT.∗magW1)+abs (magS .∗magW2) ) % c r i t e r i u deperformanta ( t r e b u i e <=1)
94 % raspuns l a t r eapta pentru s i s t emu l in bucla i n c h i s af i g u r e
96 t=l i n s p a c e (0 ,200 ,100) ;ur=@( t ) ( t>=0) ; % r e f e r i n t a t r eapta
98 yr=ls im (T, ur ( t ) , t ) ;p l o t ( t , yr , ’ r ’ )
100 hold on
102 Pf=t f ( 0 . 0 1 9 , [ 1 0 . 0 1 9 ] ) ;yr=ls im ( Pf∗T, ur ( t ) , t ) ;
104 p lo t ( t , yr )
Listingul D.1: Loopshaping satelit geostationar- cazul I
% s a t e l i t geo s inc ron loopshaping − model imbunatat i t2 c l o s e a l l ; c l c ; c l e a r a l l
4 P=t f ( 0 . 0 1 , [ 1 10 .01 0 .1 0 ] ) ∗ t f ( [ 1 2 1 ] , [ 1 0 .04 1 ] ) ;Pd=t f (−0.01 ,[−10 0 0 ] ) ;
6 W1=t f ( conv ( poly ( [−0.3 −0.3 ]) , poly ([−1 −1]) ) ,30∗ poly ([−10 −10]) ) ;W2=t f (12∗1 e−5, poly ( [ 1 e−4 1e−4]) ) ;
8 % W2=t f (12000) ;
10 %% c a l c u l magnitudiniw=logspace (−5 ,1 ,200) ;
12 [ mag , ˜ ,w]=bode (P,w) ;magP=reshape (mag , l ength (w) ,1 ) ; %magnitudine proces in bucla
de s ch i s a14
Cp=10;16 L=Cp∗P;
[ mag , phase ,˜ ]= bode (L ,w) ;18 magL=reshape (mag , l ength (w) ,1 ) ; %magnitudine proces+compensator
p r o po r t i o n a lphaseL=reshape ( phase , l ength (w) ,1 ) ; %faza proces+compensator
p r o po r t i o n a l20
Cn=t f ( [ 1 0 .0316 1 ] , [ 1 1 1 ] ) ;22 L2=Cn∗Cp∗P;
[ mag , phase ,˜ ]= bode (L2 ,w) ;24 magL2=reshape (mag , l ength (w) ,1 ) ; %magnitudine proces+compensator
p r o po r t i o n a l+notchphaseL2=reshape ( phase , l ength (w) ,1 ) ; %faza proces+compensator
p r o po r t i o n a l+notch26
Cr=t f ( 9 , [ 1 6 9 ] ) ;
142 Teoria sistemelor automate. Indrumar de laborator
28 L3=Cr∗Cn∗Cp∗P;[ mag , phase ,˜ ]= bode (L3 ,w) ;
30 magL3=reshape (mag , l ength (w) ,1 ) ; %magnitudine proces+compensatorp r o po r t i o n a l+notch
phaseL3=reshape ( phase , l ength (w) ,1 ) ; %faza proces+compensatorp r o po r t i o n a l+notch
32
Cld=t f ( [ 1 0 . 0 6 3 ] , [ 1 0 . 6 3 ] ) ;34 L4=Cld∗Cr∗Cn∗Cp∗P;
[ mag , phase ,˜ ]= bode (L4 ,w) ;36 magL4=reshape (mag , l ength (w) ,1 ) ; %magnitudine proces+compensator
p r o po r t i o n a l+notchphaseL4=reshape ( phase , l ength (w) ,1 ) ; %faza proces+compensator
p r o po r t i o n a l+notch38
T=L4/(1+L4) ; % f u n c t i a de t r a n s f e r in bucla i n c h i s a40 S=1/(1+L4) ; % f u n c t i a de s e n s i b i l i t a t e
mag=bode (T,w) ;42 magT=reshape (mag , l ength (w) ,1 ) ;
mag=bode (S ,w) ;44 magS=reshape (mag , l ength (w) ,1 ) ;
46 wa=1e−4;inda=w<wa ; %reg iunea de joa sa f r e c v e n t a
48 wb=3;indb=w>wb; % reg iunea de i n a l t a f r e c v e n t a
50
mag=bode (W1,w) ;52 magW1=reshape (mag , l ength (w) ,1 ) ; %magnitudine W1
mag=bode (W2,w) ;54 magW2=reshape (mag , l ength (w) ,1 ) ; %magnitudine W2
56 %% pasul 5 ( proces s i proces+compensator p r op o r t i o n a l )f i g u r e
58 l o g l o g (w,magP)hold on
60 l o g l o g (w, magL)l o g l o g (w( inda ) , abs(1+magW2( inda ) ) ./(1− abs (magW1( inda ) ) ) , ’ r ’ ) %
cons t range re de j oa sa f r e c v e n t a62 l o g l o g (w( indb ) ,(1− abs (magW2( indb ) ) ) . / abs(1+magW1( indb ) ) , ’ r ’ ) %
cons t range re de i n a l t a f r e c v e n t a
64 f i g u r esemi logx (w, phaseL )
66
%% pasul 6 ( proces s i proces+compensator p r op o r t i o n a l+notch )68 f i g u r e
l o g l o g (w, magL)70 hold on
l o g l o g (w, magL2)72 l o g l o g (w( inda ) , abs(1+magW2( inda ) ) ./(1− abs (magW1( inda ) ) ) , ’ r ’ ) %
cons t range re de j oa sa f r e c v e n t al o g l o g (w( indb ) ,(1− abs (magW2( indb ) ) ) . / abs(1+magW1( indb ) ) , ’ r ’ ) %
cons t range re de i n a l t a f r e c v e n t a74
Laboratorul D. Anexa – laborator 4 143
f i g u r e76 semi logx (w, phaseL )
hold on78 semi logx (w, phaseL2 )
80 %% pasul 7 ( proces s i proces+compensator p r op o r t i o n a l+notch+r o l l−o f f )
f i g u r e82 l o g l o g (w, magL2)
hold on84 l o g l o g (w, magL3)
l o g l o g (w( inda ) , abs(1+magW2( inda ) ) ./(1− abs (magW1( inda ) ) ) , ’ r ’ ) %cons t range re de j oa sa f r e c v e n t a
86 l o g l o g (w( indb ) ,(1− abs (magW2( indb ) ) ) . / abs(1+magW1( indb ) ) , ’ r ’ ) %cons t range re de i n a l t a f r e c v e n t a
88 f i g u r esemi logx (w, phaseL2 )
90 hold onsemi logx (w, phaseL3 )
92
%% pasul 8 ( proces s i proces+compensator p r op o r t i o n a l+notch+r o l l−o f f+lead )
94 f i g u r el o g l o g (w, magL3)
96 hold onl o g l o g (w, magL4)
98 l o g l o g (w( inda ) , abs(1+magW2( inda ) ) ./(1− abs (magW1( inda ) ) ) , ’ r ’ ) %cons t range re de j oa sa f r e c v e n t a
l o g l o g (w( indb ) ,(1− abs (magW2( indb ) ) ) . / abs(1+magW1( indb ) ) , ’ r ’ ) %cons t range re de i n a l t a f r e c v e n t a
100
f i g u r e102 semi logx (w, phaseL3 )
hold on104 semi logx (w, phaseL4 )
106
%% pasul 8 ( v e r i f i c a r e )108
f i g u r e ;110 l o g l o g (w, magS)
hold on112 l o g l o g (w,magT)
l o g l o g (w, abs (magT.∗magW1)+abs (magS .∗magW2) )114
% raspuns l a t r eapta pentru s i s t emu l in bucla i n c h i s a vs s i s t emu lde l a pasu l 3
116 f i g u r et=l i n s p a c e (0 ,200 ,100) ;
118 ur=@( t ) ( t>=0) ; % r e f e r i n t a t r eaptaud=@( t ) ( (1 e−5)∗ s i n ( (7 e−5)∗ t ) ) ; % pe r tu rba t i a s i n u s o i d a l a
120 yr=ls im (T, ur ( t ) , t ) ;yd=ls im (Pd/(1+L4) ,ud ( t ) , t ) ;
122 p lo t ( t , yr+yd , ’ r ’ )
144 Teoria sistemelor automate. Indrumar de laborator
hold on124
P=t f ( 0 . 0 1 , [ 1 10 .01 0 .1 0 ] ) ; Cp=10; Cld=t f ( [ 1 0 . 0 1 9 ] , [ 1 0 . 1 9 ] ) ; Clg=t f ( [ 1 0 . 0 0 5 ] , [ 1 0 ] ) ;
126 L3=Clg∗Cld∗Cp∗P;Told=L3/(1+L3) ;
128 yr=ls im ( Told , ur ( t ) , t ) ;yd=ls im (Pd/(1+L3) ,ud ( t ) , t ) ;
130 p lo t ( t , yr+yd )
Listingul D.2: Loopshaping satelit geostationar- cazul II
D.2. Listing-uri pentru problemele rezolvate
1 c l c ; c l o s e a l l ; c l e a r a l l
3 wc=10;L=t f (wc , [ 1 0 ] ) ;
5 S=1/(1+L) ;T=L/(1+L) ;
7
f i g u r e9 bodemag (L) ;
11 f i g u r ebodemag (S ,T) ;
Listingul D.3: Cod Matlab pentru Problema R4.3
c l e a r a l l ; c l o s e a l l ; c l c2
[B,A] = butte r (3 , 1 , ’ low ’ , ’ s ’ ) ;4 W1 = 10∗ t f (B,A) ;
W2 = t f ( [ . 1 0 ] , [ . 0 5 1 ] ) ;6 L = t f ( 2 0 , [ 2 1 ] ) ;
P = t f ( 1 , [ 1 0 . 0 1 ] ) ;8
f i g u r e ;10 bodemag (W1,W2) ;
g r id ; l egend ( ’W 1 ’ , ’W 2 ’ ) ;12
[ mag1 , ˜ , f 1 ] = bode (W1,{1 e−2,1 e2 }) ;14 [ mag2 , ˜ , f 2 ] = bode (W2,{1 e−2,1 e2 }) ;
[ mag3 , ˜ , f 3 ] = bode (L,{1 e−2,1 e2 }) ;16
mag1 = reshape (mag1 , l ength ( f 1 ) ,1 ) ;18 mag2 = reshape (mag2 , l ength ( f 2 ) ,1 ) ;
mag3 = reshape (mag3 , l ength ( f 3 ) ,1 ) ;20
f i g u r e ;22 l o g l o g ( f 1 ( 1 : end /2) ,mag1 ( 1 : end /2) ./(1−mag2 ( 1 : end /2) ) , ’ r−− ’ ) ; hold
on ;
Laboratorul D. Anexa – laborator 4 145
l o g l o g ( f 2 ( end / 1 . 3 : end ) ,(1−mag1( end / 1 . 3 : end ) ) . / mag2( end / 1 . 3 : end ) , ’ g−− ’ ) ;
24 l o g l o g ( f3 , mag3 , ’b− ’ ) ;t i t l e ( ’ Tehnica de loopshaping ’ ) ; g r i d
Listingul D.4: Cod Matlab pentru Problema R4.5
Note bibliografice
[1] Karl Johan Astrom and Richard M Murray. Feedback systems. In An in-troduction for Scientists and Engineers. Princeton Unvirsity Press, 2008.
[2] John C Doyle, Bruce A Francis, and Allen R Tannenbaum. Feedbackcontrol theory. Courier Corporation, 2013.
[3] Bruce Francis and George Zames. On h∞-optimal sensitivity theory forsiso feedback systems. IEEE Transactions on Automatic Control, 29(1):9–16, 1984.
[4] Bruce A Francis. A course in H [infinity] control theory. Berlin; NewYork: Springer-Verlag, 1987.
[5] Jan Marian Maciejowski. Multivariable feedback design. electronic sys-tems engineering series. Wokingham, England: Addison-Wesley, 6:85–90,1989.
[6] Duncan C McFarlane and Keith Glover. Robust controller design usingnormalized coprime factor plant descriptions, volume 138. Springer, 1990.
[7] Maria M Seron, Julio H Braslavsky, and Graham C Goodwin. Fundamen-tal limitations in filtering and control. Springer Science & Business Media,2012.
[8] Sigurd Skogestad and Ian Postlethwaite. Multivariable feedback control:analysis and design. Wiley, New Yok (2nd edition), 2007.
[9] M Vidyasagar. Control system synthesis: a coprime factorizationapproach. MIT Press, 9:1, 1985.
[10] D Youla, J Bongiorno, and Hamid Jabr. Modern wiener–hopf design ofoptimal controllers part i: The single-input-output case. IEEE Transac-tions on Automatic Control, 21(1):3–13, 1976.
[11] George Zames. Feedback and optimal sensitivity: Model reference trans-formations, multiplicative seminorms, and approximate inverses. IEEETransactions on automatic control, 26(2):301–320, 1981.
[12] Kemin Zhou and John Comstock Doyle. Essentials of robust control,volume 104. Prentice hall Upper Saddle River, NJ, 1998.