Sunteți pe pagina 1din 13

Curs 9

Stabilizarea sistemelor utilizând o lege de comandă


după stare

1. Legea de comandă după stare


1.1. Definiţie
O lege de comandă după stare este o relaţie de forma:

(9.1) u  K  x

unde:u  R m este comanda sistemului, x  R n este starea sistemului, iar


K  R mxn este legătura dintre ele.
A determina o lege de comandă însemnă a calcula coeficienţii lui K .
În urma aplicării unei legi de comandă după stare, sistemul rezultant este descris
de relaţiile (9.2) şi (9.3). Matricea mărimilor de stare a sistemului rezultant
este A1  A  BK , valorile ei proprii depinzând de K .

 x   A  B  K  x
(9.2) 
y  C x
Evoluţia stărilor sistemului rezultant este:

 e  A  B  K   t x0 tR
(9.3) xt   
  A  B  K  t x0 tZ

unde x0  x(t ) t  0 este starea iniţială.

Scopul unei legi de comandă după stare este de-a impune care să fie valorile
proprii ale sistemului rezultant, adică ale matricei A1  A  BK .

115
Stabilizarea sistemelor utilizând o lege de comandă după stare

În cazul particular al sistemelor cu o singură mărime de comandă, adică cu m=1,


T 1 n
legea de comandă după stare devine u   k  x , k  R , adică o relaţie
de forma:

 x1 
 
 x2 
(9.4) u  k1 k2  k n    ; u  k1  x1    k n  x n 

 
 xn 

u y
_  __ A, B, C 
x1 x 2 xn
K1
...
K2

Kn

Figura 9.1 Legea de comandă după stare pentru cazul m=1, uR

şi sistemul rezultant va fi:

(9.5)
 
 x  A  b  k T x

 y  c T x
Prin aplicarea unei legi de comandă după stare se poate obţine atât stabilizarea
sistemelor (dacă erau iniţial instabile) cât şi îmbunătăţirea performanţelor
sistemului rezultant prin alegerea valorilor corespunzătoare a proprii ale acestuia.

1.2. Controlabilitate. Alocabilitate


Pentru a putea plasa valorile proprii printr-o lege de comandă după stare, sistemul
comandat trebuie să fie este controlabil.

116
Un sistem este controlabil dacă pentru orice stare x1 dată, există o comandă
u (t ) care conduce la o evoluţie a stării de la valoarea iniţială x0  x(t ) t  0 la
valoarea xt   x1 .
Din punct de vedere practic, testarea controlabilităţii unui sistem se face astfel:
 se construieşte matricea de controlabilitate

(9.6) R B  A B 
A 2  B  A n 1  B  R nx ( n  m)

 dacă rang ( R )  n , unde n este dimensiunea sistemului ( A  R nxn ),


sistemul este controlabil

În cazul particular al unui sistem cu o singură mărime de comandă, adică cu


m  1, matricea de controlabilitate devine o matrice pătratică:

(9.7) R b  Ab 
A 2  b  A n 1  b  R nxn
Notă: În Matlab, matricea de controlabilitate se obţine cu funcţia ctrb şi rangul
unei matrice cu funcţia rank.
Exemplu:
>>A=[0 1 0;0 0 1;2 1 2];
>>b=[0;0;1];
>>R=ctrb(A,b)
R =
0 0 1
0 1 2
1 2 5
>> rank(R)
ans =
3
Dacă un sistem este controlabil, atunci el este şi alocabil, adică pentru orice
 
mulţime de valori proprii dorite   1 ,  2 , ...,  n se poate determina o lege de
comandă după stare u   K  x , astfel încât,  A  BK   
Notă: Prin  A  BK  s-a notat spectrul matricei sistemului rezultant, adică
mulţimea valorilor ei proprii. Mulţimea  este formată din elemente reale sau
complex conjugate.

1 Cadru didactic Conf.dr.ing. S.Paturca


Stabilizarea sistemelor utilizând o lege de comandă după stare

1.3. Algoritmul Ackemann


Ackermann a fost cel care a demonstrat şi indicat cum se poate calcula o lege de
comandă după stare şi din acest motiv procedura prezentată în continuare îi poartă
numele.

1.3.1. Sisteme cu o singură mărime de comandă


Date de intrare:

 perechea A  R nxn , b  R nx1 a sistemului comandat


   {1 ,  2 , ...,  n } – mulţimea valorilor proprii dorite pentru sistemul
rezultant .
Legea de comandă după stare se obţine cu relaţia:

(9.8) k T  q T  d  A  q T ( A n   n 1 A n 1  ...  1 A   0 )
unde:

  n 1 ,..., 1 ,  0 sunt coeficienţii polinomului caracteristic dorit pentru


sistemul rezultant. Polinomul caracteristic dorit se obţine cu relaţia:

(9.9)  d      1     2      n   n   n 1n 1  ...  1   0

0
0
T
 q T este soluţia ecuaţiei: R q  , adică q T  0 0 ... 1R 1
...
 
1 
unde: R este matricea de controlabilitate

R b  Ab 
A 2  b  A n 1  b  R nxn .

Din punct de vedere practic, se recomandă aplicarea următorului algoritm pentru a


calcula legea de comandă cu relaţia (9.8)

1) Se obţine polinomului caracteristic dorit pentru sistemul rezultant  d  


conform (9.9)

2
Stabilizarea sistemelor utilizând o lege de comandă după stare

0
0
T
2) Se rezolvă sistemul de ecuaţii: R q  având drept necunoscute

 
1 
elementele q T  q1 q2  q n  . De notat că acest sistem are o soluţie
unică numai dacă matricea R este inversabilă ceea ce implică rang ( R )  n
adică sistemul comandat trebuie să fie controlabil.
T T 2 T n
3) Se calculează prin înmulţiri succesive produsele q A , q A ,..., q A .
Vectorii linie obţinuţi se aranjează unul sub altul şi apoi se înmulţesc fiecare cu
un coeficient al polinomului caracteristic (9.9) astfel:

q T  q1 q2 ... q n   0

qT A     1

qT A2     2

 
q T A n 1      n 1

qT An    1

4) kT se obţine însumând vectorii după înmulţirea cu coeficienţii  i , i  1,..., n ,


adică:

n
(9.10) kT    k 1qT Ak 1  qT An
k 1

Notă: În cazul când perechea (A, b) a sistemului comandat este în formă standard
controlabilă, prin aplicarea unei legi de comandă după stare matricea
A1  A  bk T a sistemului rezultant devine:

3 Cadru didactic Conf.dr.ing. S.Paturca


Stabilizarea sistemelor utilizând o lege de comandă după stare

 0 1 0
 0 
     0 
A1    -  k0 k1 ... k n - 1 
 0  1  
   
  0  1    n 1  1
(9.11)

 0 1 0   0 1 0 
         
A1      
 0  1   0  1 
   ' ' ' 
 0  k0  1  k1   n1  kn1   0  1   n1 
având polinomul caracteristic :

(9.12)  d    n   'n 1n 1  ...  1'    '0

În acest caz particular, determinarea k T se poate face imediat cu formula:


(9.13) 
k T   0' ...  n' 1   0 ...  n 1 

unde  i' , i  0,..., n  1 sunt coeficienţii polinomului caracteristic dorit şi


 i , i  0,..., n  1 sunt coeficienţii polinomului caracteristic al sistemului
controlat, adică coeficienţii ultimei linii ai matricei A cu semn schimbat.
Notă: În Matlab, calculul unei legi de comandă după stare se poate face cu funcţia
acker care aplică algoritmul Ackermann.

1.3.2. Sisteme cu mai multe mărimi de comandă

În cazul sistemelor cu m mărimi de comandă, K  R mxn se poate calcula astfel:


a) Se aleg aleator matricea K 0  R mxn şi vectorul g  Rm . Se poate
demonstra că dacă perechea (A,B) este controlabilă şi
perechea ( A  BK 0 , Bg ) este controlabilă

b) Se calculează k T astfel încât ( A1  b1k T )   dorit,


unde A1  A  BK 0 şi b1  Bg

4
Stabilizarea sistemelor utilizând o lege de comandă după stare

T T T
c) Cum ( A1  b1k )  ( A  B ( K 0  gk )) , rezultă K  K 0  gk .

1.4. Exemple
1) Să se calculeze o lege de comandă după stare care plasează valorile proprii
ale următorului sistem:

 0  1 0 1

A 1 0 0 , b  0 , cT  0 1 0
 în    1,  1,  1.
 2  2 0 0

Soluţia 1) Se calculează kT aplicând algoritmul Ackermann pentru perechea


( A, b) cu valorile proprii dorite    1,1,1
3 3 2
 polinomul caracteristic dorit este:  d    (  1)    3  3  1

1 0  1 
 matricea de controlabilitate R b Ab 
A 2 b  0 1 0 
0  2  2

0   1 0 0   q1  0

T  
soluţia ecuaţiei R q  0 =>
 0 1  2    q   0  =>
     2  
1  1 0  2  q3  1
1
q1  0, q 2  1, q3  
2
 1
 q T  0  1   1
 2

q T  A  0 1 0 3

q T  A 2  1 0 0 3

q T  A3  0  1 0 1

5 Cadru didactic Conf.dr.ing. S.Paturca


Stabilizarea sistemelor utilizând o lege de comandă după stare

 1
k T  3 1  
 2
Verificarea soluţiei obţinute:

 Calculul matricei echivalente: Aech  A  bkT

 1
 0  1 0 1   3  2
     1  2
Aech  1 0 0  0  3 1    1 0 0
 2   
 2  2 0 0  2  2 0 
 
1
 3 2 
2
 det I  Aech    1  0  3  32  3  1
2 2 

S-a obţinut polinomul caracteristic dorit, respectiv valorile proprii dorite


   1,1,1.
Soluţia 2) Utilizând Matlab
>>A=[0 -1 0;1 0 0;-2 -2 0];
>>b=[1 ;0;0];
>>R=ctrb(A,b);
>>rang=rank(R);
>>P=[-1 -1 -1]; % Valorile proprii dorite
>>k=acker(A,b,P) % Apelare algoritm Ackermann
k =
3.0000 1.0000 -0.5000

2) Să se calculeze o lege de comandă după stare care plasează valorile proprii


ale următorului sistem:

6
Stabilizarea sistemelor utilizând o lege de comandă după stare

0 1 0   0
 
 
A  0 0 1 , b   0  , cT  0 1 0 în    2,  2,  2 .
 
1 2 3 1
 
Soluţia 1) Polinomul caracteristic dorit este:

 d      2  2   2    2 3  3  62  12  8


Perechea (A,b) este în formă standard controlabilă, deci se poate aplica direct
relaţia (9.13):

k T  6 12 8   3  2  1  9 14 9
Soluţia 2) Utilizând Matlab
>>A=[0 1 0;0 0 1;1 2 3]
>>b=[0 ;0;1]
>>R=ctrb(A,b);
>>rang=rank(R);
>>P=[-2 -2 -2]; % Valorile proprii dorite
>>k=acker(A,b,P) % Apelare algoritm Ackermann

k =

9 14 9

3) Să se calculeze o lege de comandă după stare care plasează valorile proprii


ale sistemului discretizat:

 0 1 0 0
Ad   1 0 0, bd  1, c d  [0 0 1]
  în   0, 0, 0.
 1 0 1 0
3
Soluţia 1) Polinomul caracteristic dorit este:  d     .
Se construieşte matricea de controlabilitate:

7 Cadru didactic Conf.dr.ing. S.Paturca


Stabilizarea sistemelor utilizând o lege de comandă după stare

0 1 0 

R  bd Ad bd Ad2 bd   1 0 1 
0 0  1
şi se rezolvă ecuaţia:

0  0 1 0   q1  0 q1  0
R T q  0 =>
1 0 0   q   0
   2   => q2  0
1 0 1  1  q3  1 q3  1
T T 2 T
Se construiesc produsele q A , q A şi q A3 , se înmulţesc cu coeficienţii
polinomului caracteristic dorit şi se însumează:

q T  0 0  1 0

q T  Ad  1 0  1 0

qT  Ad2  1  1  1 0

q T  Ad3  2 1  1 1

k T  2 1  1
Soluţia 2) Utilizând Matlab
>>A=[0 1 0;1 0 0;-1 0 1];
>>b=[0;1;0];
>>R=ctrb(A,b)
>>rang=rank(R)
>>P=[0 0 0]; % Valorile proprii dorite
>>k=acker(A,b,P) % Apelare algoritm Ackermann
k =
2 1 -1

8
Stabilizarea sistemelor utilizând o lege de comandă după stare

2. Aplicatii - Cerinţele lucrării de laborator


1. Să se stabilizeze un sistem cu timp continuu, oscilant, descris prin funcţia de
transfer:

1
(9.14) H s  
s2 1
aplicând o lege de comandă după stare care plasează toate valorile proprii ale
sistemului rezultant în -1.
Cerinte:
A) Calculul se va face prin:
a) aplicare celor 4 paşi ai algoritmului Ackermann;
b) utilizând funcţia acker din Matlab;
B) Se va simula evoluţia liberă a sistemului original utilizând o schemă similară cu

cea din figura 9.2 unde comanda u = 0 şi stările iniţiale sunt x1 0  1, x 2 0  2
C) Se va simula evoluţia sistemului rezultant prin aplicarea legii de comandă
calculate la punctele a)-b) utilizând o schemă similară cu cea din figura 9.4.
2. Să se aplice cerinţele de la punctul 1, pentru cazul când sistemul descris prin

(9.14) este comandat discret cu pasul de eşantionare T= . În acest caz:
3
z  1  H s   1  cos T  z  1
H z   Z 
z  s  z 2  2 cos Tz  1 T  
3
(9.15)
1
 z  1
2
 2
z  z 1
Legea de comandă după stare se va calcula astfel încât să plaseze valorile proprii
ale sistemului rezultant în   0, 0

T)
3. Utilizând Matlab, să se calculeze pentru fiecare din cele 3 triplete ( A, b, c o
lege de comandă după stare, care plasează valorile proprii ale sistemului rezultant
în   {1,2,3} . Pentru fiecare sistem se va simula comportamentul lui înainte
şi după aplicarea legii de comandă după stare utilizând schemele din figura 9.2 şi
figura 9.4. Figura 9.3 prezintă modalitatea de-a obţine la ieşirea unui bloc „state-
space” mărimile de stare.

9 Cadru didactic Conf.dr.ing. S.Paturca


Stabilizarea sistemelor utilizând o lege de comandă după stare

0 1 0  0 
a) A  0 0 1 , b  0 c T  0 1 0
 
2 1  2 1

 0  1 0 1
b)

A 1 0 0 , b  0 c T  0 0 1

 2  2 0 0

1 2 3  0
   
c) A  1 1 1 , b   0  , c T  0 0 1 ,
   
1 0 1 1
 
În toate cazurile se va considera comanda sistemului original u = 0 şi condiţiile
iniţiale x1 (0)  x 2 (0)  x3 (0)  1 .

x' = Ax+Bu Demux


y = Cx+Du Scope
Step Input Demux
sistemul original
Scope1

Scope2

Figura 9.2 Simularea regimului liber al sistemului original

u x '  Ax  bu
x1
x2
Osciloscop

 DMX x3
Osciloscop

y  Cx  Du Osciloscop

1 0 0 0 
C  0 1 0 , D  0 
 
   
0 0 1 0
k 3
k3
k 2 
k2
k 1
k1

Figura 9.3 Obţinerea mărimilor de stare la ieşirea unui bloc „state space”
10
Stabilizarea sistemelor utilizând o lege de comandă după stare

- x' = Ax+Bu
- Demux
- y = Cx+Du sc ope
Sum1 Demux1
lege de c omanda
dupa stare
sc ope1

-K- sc ope2

K(3)
-K-
K(2)
-K-
K(1)

Figura 9.4 Simularea sistemului comandat printr-o lege de comandă după stare

11 Cadru didactic Conf.dr.ing. S.Paturca

S-ar putea să vă placă și