Documente Academic
Documente Profesional
Documente Cultură
Fie procesul condus în timp continuu redat prin schema bloc informațională de mai jos, cu valorile
parametrilor Ra = 4.2 Ω, La = 14.28 mH, ke = km =0.33, J=0.71×10–3 kg·m2, kp=35 V/V.
Cerința 1: Pentru un model discretizat pe stare la o perioadă de eșantionare de 0.01 sec, în condiții de
perturbație nulă, să se calculeze regulatorul liniar după stare optimal (precum și valoarea FC aferente
acestuia) care din orice stare inițială minimizează FC de orizon infinit de timp
∞
J ( x k ) = ∑ x Ti Qx i + u iT Ru i , Q = I 2 , R = 0.1 , folosind algoritmul Policy Iteration în varianta bazată pe
i=k
model. Să se testeze prin simulare acest regulator.
1. Pentru PC aferent m.c.c. cunoscut prin H yu (s ) se obține f.d.t. discretizată H yu (z ) pentru Ts = 0.01 sec
folosind metoda r.i.s.t. (cu comanda c2d MATLAB).
2. Pentru H yu (z ) astfel obținut, se obține un model intrare-state-ieșire echivalent utilizând tf2ss din
MATLAB. Vor rezulta matricele MM-ISI de timp discret (ex. [Ad, Bd, Cd, Dd] = tf2ss(num, den)), unde
vectorii coeficienților polinoamelor de la numărătorul și respectiv numitorul f.d.t. H yu (z ) pot fi preluați de
la obiectul de tip f.d.t. de timp discret. Matricele Ad, ..., Dd vor caracteriza modelul pe stare al PC de timp
x k +1 = A d x k + B d u k ,
discret, de forma .
yk = C d x k
5. Se obține vectorul compensator după stare K 0 aferent unui un regulator inițial după stare admisibil
(stabilizant) de forma u k = K T0 x k , alocând polii sistemului închis A d + B d K T0 oriunde în domeniul stabil
aferent discului unitar. Sistemul autonom evoluează conform ecuației de stare x k +1 = ( A d + B d K T0 ) x k .
Pentru aceasta:
a) se aleg doi poli stabili de timp continuu, de exemplu s1 = −10, s 2 = −9 . Acești poli pot fi unii
oarecare atâta timp cât stabilizează sistemul autonom, rolul lor este doar de amorsare a
algoritmului.
b) se calculează polii echivalenți de timp discret z1 = e s1Ts , z 2 = e s2Ts .
c) se parametrizează K 0 = [k 01 , k 02 ]T și se calculează de mână valoarea sa din condiția
det( zI 2 − A d − B d K T0 ) = ( z − z1 )( z − z 2 ) .
d) se verifică soluția calculată de mână cu calculatorul utilizând “K0=place(Ad, Bd, P)”, unde
P = [ z1 , z 2 ]T .
8. Se va testa regulatorul optimal după stare folosind schema Simulink din Figura 1 de mai jos. Schema
prevede introducerea unei referințe în schema de reglare cu reacție după stare, ce corespunde
x k +1 = A d x k + B d ( rk + K Tj x k ) . În baza ecuației de ieșire y k = C d x k , deoarece sistemul închis rezultat nu
va avea coeficient de transfer unitar de la referință la ieșire în regim staționar constant, se introduce un
( (
factor de corecție eta, utilizat în schema Simulink la valoarea eta = 1 / C d I 2 − A d − B d K Tj )−1
)
Bd .
M.-B. Radac, UPT, 2020
Fig. 1. Testarea regulatorului liniar după stare proiectat cu algoritmul Policy Iteration.
Observație: Schema de reglare după stare nu mai permite introducerea facilă a perturbației originale din
schema bloc informațională, însă o perturbație echivalentă aditivă pe ieșire poate fi utilizată pentru a testa
capacitatea SRA-x de rejecție a perturbației.
Cerința 2: Pentru un model discretizat pe stare la o perioadă de eșantionare de 0.01 sec, în condiții de
perturbație nulă, să se calculeze regulatorul liniar după stare optimal (precum și valoarea FC aferente
acestuia) care din orice stare inițială minimizează FC de orizont infinit de timp
∞
J ( x k ) = ∑ x Ti Qx i + u iT Ru i , Q = I 2 , R = 0.1 , folosind algoritmul Value Iteration (VI) în varianta fără
i=k
model cunoscut al procesului. Să se testeze prin simulare acest regulator.
1–4. Pașii 1–4 sunt comuni celor de la Cerința 1, care solicită implementarea Policy Iteration.
6. Se vor genera/culege tranziții de stare, interacționând cu PC. Acestea vor fi de forma ( x (ki ) , u (ki ) , x (ki+)1 ) . În
acest sens, va fi utilizat modelul de tranziție pe stare x k +1 = A d x k + B d u k , ori în cadrul unui program (cod
.m) ori în Simulink (cu bloc de tip discrete state-space). Acest model nu va fi folosit la calculul propriu-zis
al regulatorului după stare cu algoritmul VI.
În acest sens, pot fi utilizate comenzi provenite dintr-o secvență de valori aleatorii {u 0 , u1 ,...} ce
vor genera –pornind dintr-o stare inițială oarecare (aleatorie) x 0 – un lanț de tranziții ale stării de forma
M.-B. Radac, UPT, 2020
7. Se inițializează un regulator K 0 la orice valoare (de exemplu vectorul paote fi completat cu valoarea 0
sau cu valoarea 1 peste tot, sau cu valori aleatorii). Acest regulator inițial nu trebuie să fie admisibil (spre
deosebire de cazul algoritmului PI). Se inițializează θ K 0 la orice valoare, similar cu K 0 .
, utilizând
K 2θ j
2θ 3
Kj
3
Kj
componentele vectorului θ calculat mai sus.
9. Se va testa regulatorul optimal după stare K j folosind aceeași schemă Simulink și aceleași considerente
de introducere a referinței (și a factorului de corecție al coeficientului de transfer) utilizate la Pasul 8 al
aplicării algoritmului PI (a se vedea și Fig. 1).