Documente Academic
Documente Profesional
Documente Cultură
1. CHESTIUNI TEORETICE
în care x(n 1) este vectorul de stare, u * (m 1) vectorul de comandă, p(n 1) vecto-
rul perturbaţiilor exterioare deterministe, A(n n) matricea sistemului, B(n m) ma-
tricea de comandă, E (n n) matrice. A şi B sunt continue şi satisfac condiţiile de
controlabilitate. Pentru evaluarea performanţelor sistemului, în cazul p(t ) 0, se defi-
neşte un indicator de performanţă
t1
J
1 T
2
11
x (t1 ) Mx(t1 ) x T (t )Q(t ) x(t ) u T (t ) R(t )u (t ) dt
2 t0
(1.4)
să ia cea mai mică valoare posibilă; M şi Q(n n) sunt matrice simetrice şi pozitiv se-
midefinite ( Q (t ) matricea ponderilor variabilelor de stare), iar R(m m) matrice si-
metrică, pozitiv definită şi nesingulară pe tot intervalul t 0 , t1 ; R(t ) matricea ponde-
rilor variabilelor de comandă.
Impunând ca vectorul de stare să tindă către zero, adică x(t1 ) 0, atunci,
alegând momentul iniţial t0 0, indicatorul de performanţă (1.4) devine
J
1
2 0
x T (t )Q(t ) x(t ) u T (t ) R(t )u (t ) dt. (1.5)
u * (t ) u (t ) u p (t ); (1.6)
x A x B u, u K x , K R 1 B T P , (1.9)
unde x este noul vector de stare care verifică relaţia
118
x Tx , A T 1 AT , B T 1 B I m 0 ;
T
(1.10)
T este o transformare nesingulară (n n) , I m matrice unitate (m m) .
Matricea de transformare T se alege astfel încât [3]
~
T B T , (1.11)
~
unde T este o matrice aleasă arbitrar astfel încât rangT n.
Matricea P soluţia EMAR aferentă sistemului (1.9)
PA AT P PBK Q 0 (1.12)
P P12
P 11
, K K1 K 2 , P12 P21 , P22 P22 ,
T T
(1.13)
P21 P22
unde P11 şi K1 sunt submatrice de dimensiuni (m m), iar P22 nu intervine în calcule
pentru obţinerea lui K ; înlocuind B de forma (1.10) în ecuaţia K R 1 B T P , se obţi-
ne succesiv
P P12 P P12
K 1
K 2 R 1 I m 0 11 R
1
0 11
R P11 R P12 ; (1.14)
1 1
P21 P22 P21 P22
rezultă
RK 1 RK 2
P , (1.16)
RK 2
T
I n m
unde s-a ales, pentru simplitate, P22 I nm matrice unitate; P22 poate fi aleasă în mod
aleatoriu deoarece nu contează în calculul lui K .
k1 k 21 k 22 k 23
P11 k1 , P12 P21T k 21 k 22 k 23 , P k 21 1 0 0 . (1.18)
k 0 1 0
22
k 23 0 0 1
Pentru m 2 (cazul mişcării laterale a aparatului de zbor),
119
p p12 r r12 k k12
P11 11 , R 11 , K1 11 , (1.19)
p21 p22 r21 r22 k 21 k 22
pentru r11 r22 1, exprimând din aceasta p12 şi p21 şi egalându-le, rezultă
k12 k 21 1 r
r r12 r21 ;R . (1.21)
k11 k 22 r 1
În continuare se deduc relaţii de calcul pentru P , P , K , K , Q şi Q . Acestea veri-
fică, respectiv, ecuaţiile algebrice Riccati aferente sistemului (1.8) şi sistemului (1.9)
PA AT P PBK Q 0, (1.22)
P A A T P P B K Q 0. (1.23)
Pentru deducerea relaţiilor menţionate, se înmulţeşte succesiv ecuaţia (1.23) la stânga
cu T 1 T şi la drepata cu T 1 . Identificând termenii ecuaţiei (1.22), respectiv cu ter-
menii ecuaţiei obţinute din (1.22), se obţin relaţiile căutate. În primul rând, rezultă e-
cuaţia
Q T 1 T Q T 1 . (1.24)
Din egalitatea primului termen al ecuaţiei (1.22) şi al celei rezultate din (1.23) şi,
respectiv, al celui de-al doilea termen din aceleaşi ecuaţii, ţinând seama că A T 1 AT
şi că T 1 T T TT 1 I T I , rezultă
T T
P T 1 T P T 1 . (1.25)
Egalând termenul al treilea din ecuaţia (1.22) cu termenul al treilea din ecuaţia
obţinută prin înmulţirea ecuaţiei (1.23) la stânga cu T 1 T şi la dreapta cu T 1 şi ţi-
nând seama că B T 1 B, precum şi de relaţia (1.25), se obţine
K K T 1 . (1.26)
Algoritmul ALGLX
Pasul 1: se aduce sistemul descris de perechea A, B , An n , Bn m, la for-
ma canonică Jordan A , B , folosind transformarea x Tx , T transformare liniară ne-
singulară;
A T 1 AT , B T 1 B I m 0, (1.27)
~
~
unde T se alege de forma T B T , cu T matrice aleasă aleatoriu, n n m,
120
astfel încât rang T n.
P P12
K K1 K 2 , P 11 , P12 P21 , P22 P22 ;
T T
(1.28)
P21 P22
K1 şi P11 sunt submatrice m m ; submatricele P11 , P12 , P22 şi R se obţin în funcţie de
submatricele matricei K şi de matricea pondere R R astfel
k k12 k k12 1 r k k 21
K K1 K 2 , K1 11 , K 2 11
,R , r 12
k11 k 22
. (1.31)
k 21 k 22 k 21 k 22 r 1
Prin urmare, pentru m 1, respectiv m 2
k1 k 21 k 22 k 23
P k 21 1 0 0 , (1.32)
k 22 0 1 0
k 23 0 0 1
RK1 RK 2
P , (1.33)
RK 2
T
I2
Q PA AT P PBK , (1.34)
Q T 1 Q T 1 ;
T
(1.35)
apoi, având cunoscute matricele A, B, Q şi R, se rezolvă EMAR în raport cu necunos-
cuta P
121
PA AT P PBR 1 B T P Q 0; (1.36)
se calculează matricea de amplificare
K R 1 B T P. (1.37)
Varianta 2
Folosind relaţia (1.32) sau (1.33), se calculează P şi K astfel
P T 1 P T 1 , K R 1 B T P.
T
(1.38)
unde
V t b
ˆ y * y , ˆ , ˆ ;
Vˆ * , tˆ , (1.40)
V a V
K PLACE A, B, S . (1.42)
Instrucţiunea LQR rezolvă ecuaţia Riccati
PA AT P PB N R 1 B T P N T Q 0 . (1.43)
Indicatorul de performanţă are forma
J 0 x T Qx u T Ru 2 x T Nu dt . (1.44)
123
Fig.1.2 Modelul Matlab/Simulink al sistemului de comandă optimală
a mişcării longitudinale folosind algoritmul ALGLX
124
0.0558 0.9968 0.0802 0.0415 0.0073 0
0.475 0.123
z
0.598 0 .115 0.0318 0 z d .
(1.46)
x 0.305 0.388 0.465 0 x 0.153 1.063 e
0 0.0805 1 0 0 0
Paşii algoritmului sunt parcurşi de 7 ori. Valorile proprii impuse ale matricei
A B K sunt
13.25, 1.43 1.598 j , 0.318. (1.47)
Programul de calcul numeric pentru cazul mişcării laterale este dat în anexa 2 şi
foloseşte aceleaşi instrucţiuni PLACE şi LQR ca şi în programul din anexa 1.
Pentru trasarea caracteristicilor (t ), z (t ), x (t ), (t ), d (t ) şi e (t ) s-a folo-
sit modelul Matlab/Simulink din fig.1.3. Valorile inţiale ale variabilelor de stare sunt
(0) 4.583grd, z (0) 1.145grd/s, x (0) 1.718grd/s, (0) 17.188grd.
125
Prin intermediul programului Matlab din anexa 2 se obţin:
- matricele T , A , B , K , R, P , Q ;
- matricea P soluţia ecuaţiei Riccati;
- matricea de amplificare K ;
- evoluţia în timp a variaţiei unghiului de derapaj ;
- evoluţia în timp a variaţiei vitezei unghiulare de giraţie z ;
- evoluţia în timp a variaţiei vitezei unghiulare de ruliu x ;
- evoluţia în timp a variaţiei unghiului de ruliu ;
- variaţia în timp a bracajului direcţiei d ;
- variaţia în timp a bracajului eleroanelor e .
3. CHESTIUNI DE STUDIAT
Anexă 1
126
T(i,j+1)=N3(i,j);
end
end
Ab=(inv(T))*A*T;Bb=(inv(T)*B);
Kb=place(Ab,Bb,E);
e=eig(Ab-Bb*Kb);
k1=Kb(1);k21=Kb(2);k22=Kb(3); k23=Kb(4); r1=5;Rb=[r1];R=Rb;
Pb=r1*[k1 k21 k22 k23;k21 1 0 0;k22 0 1 0;k23 0 0 1];
ee=eig(Rb);
Qb=-(Pb*Ab+(transpose(Ab))*Pb-Pb*Bb*Kb);
% Varianta 2
PPP=transpose(inv(T))*Pb*inv(T);KKK=inv(R)*transpose(B)*PPP;
EEE=eig(A-B*KKK);m=rank(T);
end % sfarsitul ciclului while
contor
% Varianta 1
Q=transpose(inv(T))*Qb*inv(T);R=Rb;[KK,PP,EE] = LQR(A,B,Q,R);
K=KK;sim('L14_1_sch');
subplot(321);plot(t,var1);grid;hold on;subplot(322);plot(t,var2);grid;hold on;
subplot(323);plot(t,var3);grid;hold on;subplot(324);plot(t,var4);grid; hold on;
subplot(325);plot(t,u);grid;hold on;
K=KKK;sim('L14_1_sch');
subplot(321);plot(t,var1,'r');subplot(322);plot(t,var2,'r');
subplot(323);plot(t,var3,'r');subplot(324);plot(t,var4,'r');
subplot(325);plot(t,u,'r');
Anexă 2
127
N1=Rb*K20;N2=transpose(N1);Pb=[Rb*K10 Rb*K20;N2 I2];
R=Rb;
Qb=-(Pb*Ab+(transpose(Ab))*Pb-Pb*Bb*Kb);
% Varianta 2
PPP=transpose(inv(T))*Pb*inv(T);KKK=inv(R)*transpose(B)*PPP;
EEE=eig(A-B*KKK);m=rank(T);
while real(ee(1))<0 | real(ee(2))<0 | real(EEE(1))>0 | real(EEE(2))>0 | real(EEE(3))>0 |
real(EEE(4))>0 | m<4
% Declararea lui T
N3=randn(4,2);contor=contor+1;
for i=1:4
for j=1:2
T(i,j)=B(i,j); T(i,j+2)=N3(i,j);
end
end
% Aflarea Ab,Bb,Kb,Rb
Ab=(inv(T))*A*T;Bb=(inv(T)*B);Kb=place(Ab,Bb,E);
e=eig(Ab-Bb*Kb);
for i=1:2
for j=1:2
K10(i,j)=Kb(i,j);K20(i,j)=Kb(i,j+2);
end
end
k11=K10(1,1);k12=K10(1,2);k21=K10(2,1);k22=K10(2,2);
Rb=[1 (k12-k21)/(k11-k22);(k12-k21)/(k11-k22) 1];
ee=eig(Rb);
N1=Rb*K20;N2=transpose(N1);Pb=[Rb*K10 Rb*K20;N2 I2];R=Rb;
Qb=-(Pb*Ab+(transpose(Ab))*Pb-Pb*Bb*Kb);
% Varianta 2
PPP=transpose(inv(T))*Pb*inv(T);KKK=inv(R)*transpose(B)*PPP;
EEE=eig(A-B*KKK);m=rank(T);
end % sfarsitul ciclului while
% Varianta 1
Q=transpose(inv(T))*Qb*inv(T);R=Rb;
[KK,PP,EE] = LQR(A,B,Q,R);K=KK;
sim('L14_2_sch');
subplot(321);plot(t,var1);grid;hold on;subplot(322);plot(t,var2);grid;hold on;
subplot(323);plot(t,var3);grid;hold on;subplot(324);plot(t,var4);grid;hold on;
subplot(325);plot(t,u1);grid;hold on;subplot(326);plot(t,u2);grid;hold on;
K=KKK;sim('L14_2_sch');
subplot(321);plot(t,var1,'r');subplot(322);plot(t,var2,'r');
subplot(323);plot(t,var3,'r');subplot(324);plot(t,var4,'r');
subplot(325);plot(t,u1,'r');subplot(326);plot(t,u2,'r');
128
BIBLIOGRAFIE
129