Documente Academic
Documente Profesional
Documente Cultură
(9.1) u K x
x A B K x
(9.2)
y C x
Evoluţia stărilor sistemului rezultant este:
e A B K t x0 tR
(9.3) xt
A B K t x0 tZ
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
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, uR
(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.
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 xt 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)
(9.7) R b Ab
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.
(9.8) k T q T d A q T ( A n n 1 A n 1 ... 1 A 0 )
unde:
0
0
T
q T este soluţia ecuaţiei: R q , adică q T 0 0 ... 1R 1
...
1
unde: R este matricea de controlabilitate
R b Ab
A 2 b A n 1 b R nxn .
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
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:
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 n1 kn1 0 1 n1
având polinomul caracteristic :
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
1 0 1
matricea de controlabilitate R b Ab
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
1
k T 3 1
2
Verificarea soluţiei obţinute:
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 32 3 1
2 2
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:
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
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:
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
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.
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 .
Scope2
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