Sunteți pe pagina 1din 70

Proiect la Sisteme de

Comandă Automată a
Zborului și Sinteza Legilor de
Dirijare

Student: Alexe Andrei Lucian

Grupa: 945 EIA

Profesor întrumător: Prof.Dr.Ing. Stoica Adrian

Prof.Dr.Ing. Ene Costin


CUPRINS

Tema de proiectare

Cap.1 Proiectarea SAS

1.1 Analiza dinamicii longitudinale nereglate

1.2 Specificaţii MIL-STD 1797 privind calităţile de zbor

1.3 Proiectare SAS pentru scurta perioadă. Criteriul C* şi criteriul q/qst

1.4 Stabilizarea modurilor lente (fugoidă)

Cap.2 Proiectarea pilotului automat pentru unghiul de atitudine longitudinală

2.1 Proiectarea convenţională a pilotului automat cu filtru Kalman


2.2 Proiectarea pilotului automat prin metoda H
Tema de proiectare

Să se proiecteze SAS (Stability Augmentation System) pentru dinamica longitudinală şi


pilotul automat de menţinere constantă a unghiului de atitudine longitudinală pentru avionul
Ling-Temco-Vought A-7A Corsair II , la condițiile de zbor următoare:

15000 ft ( 4572 m )
 Altitudine -
M = 0,3 ( 317.48 m / s )
 Viteză -

Caracteristici aeronavă:

 Țara de origine: Statele Unite ale Americii


 Producător: Ling-Temco-Vought (LTV) – USA
 Data introducerii primei aeronave: 1967
 Producție: 1569
 Echipaj: 1
46,13 ft ( 11.06 m )
 Lungime:
38,71 ft ( 11,80 m )
 Lățime:
16, 08 ft ( 4,90 m )
 Înălțime:
18942 lbs ( 8592 kg )
 Masă aeronavă (goală) :
42000 lbs ( 19051 kg )
 Masă maximă la decolare:
 Sistem de propulsie: 1�Allison / Rolls - RoyceTF 41 - A - 1turbofan engine
659 mph ( 1060 km / h )
 Viteză maximă:
564 miles ( 908 km )
 Rază maximă de operare:
1.1 Analiza dinamicii longitudinale nereglate

Pentru analiza răspunsurilor în timp la comenzi treaptă unitate şi impuls se va liniariza


dinamica longitudinală a avionului Ling-Temco-Vought A-7A Corsair II pentru condiţiile
nominale de zbor:

h = 15000 ft
m
U 0 = 317.48
s 101\* MERGEFORMAT (.)

Se vor lua în considerare:

- viteza de-a lungul axei longitudinale (Ox) - u ;


- viteza ascensională - w ;
- viteza unghiulară de tangaj - q ;
- unghiul de atitudine longitudinală - q

Dinamica longitudinală se poate scrie ca un sistem liniar:

x&= Ax + Bd 202\* MERGEFORMAT (.)

în care x este vectorul de stare, A este matrice de stabilitate, B este matricea de comandă, iar d

este comanda (care se va considera ca fiind bracajul de profundor


d e ).

Relaţia 02 se mai poate scrie:

�u&� �X u Xw 0 - g cos ( g 0 ) ��u � �X d e �


� � � � �Z �
�w&�
�= �Z u Zw U0 - g sin ( g 0 ) ��
�w � � de �
� + de

�q&� � Mu Mw Mq Mq ��q� � M de �
�&� � �� � � �
�q � �0 0 1 0 ��q� � �0 � � 303\*
MERGEFORMAT (.)

Pentru condiţiile nominale de zbor 01, matricile A şi B au urmatoarele valori:


�-0.04225 -0.11421 0 -32.2 � �0.0038 �
�-0.20455 -0.49774 317.48 0 � � �-24.4568 �
A=� ; B=� �
�0.00003 -0.00790 -0.39499 0 � �-4.51576 �
� � � �
� 0 0 1 0 � � 0 � 404\*
MERGEFORMAT (.)

Valorile proprii ale matricei de stabilitate A se determină cu ajutorul eig(A), rezultând


valorile:

-0.4508 + 1.5704i
-0.4508 - 1.5704i
-0.0167 + 0.1393i
-0.0167 - 0.1393i

Ecuaţia 03 devine:

�u&� �-0.04225 -0.11421 0 -32.2 ��u � �0.0038 �


� �
w&� ��
-0.20455 -0.49774 317.48 0 ����w� � -24.4568�
� = � �+ � �
�de
�q&� �0.00003 -0.00790 -0.39499 0 �� q� � -4.51576 �
�&� � �� � � �
�q� � 0 0 1 0 �� q� � 0 � 505\*
MERGEFORMAT (.)

Trasarea răspunsurilor la comenzi treaptă şi impuls Dirac se va face pentru pentru scurta

perioadă (stările w şi q ), respectiv lunga perioadă (stările u şi q ).

( w, q ) sunt moduri rapide, dinamica lor determină scurta perioadă

( u, q ) sunt moduri rapide, dinamica lor determină fugoida (lunga perioadă)

Scurta perioadă se va decupla de dinamica longitudinală astfel:

x&sp = Asp xsp + Bspd e


606\* MERGEFORMAT (.)
w�
� �-0.49774 317.48 � �-24.4568�
xsp = � �, Asp = � �, Bsp = � �
unde q�
� �-0.0079 -0.3950 � �-4.5158 �

Codul Matlab prezentat mai jos realizează definirea matricelor sistemului,determinarea

stabilității precum și trasarea răspunsurilor la comenzi treaptă


( d ( t ) = 1( t ) ) folosind comanda
e

step. Se calculează funcțiile de transfer matricea starilor având starile u , w, q,q , dar și pentru

u, nz , q, q
starile u , a , q, q , respectiv după care se reprezintă răspunsul acestora la comanda
treaptă unitate.

Program Matlab

clear all;
close all;
clc;

%% Proiect SCAZSLD - avion Ling-Temco-Vought A-7A Corsair II Aircraft


A=[-0.04225 -0.11421 0 -32.2;
-0.20455 -0.49774 317.48 0;
0.00003 -0.00790 -0.39499 0;
0 0 1 0];
B=[0.00381;
-24.4568;
-4.51576;
0];
C=[1 0 0 0;
0 1 0 0;
0 0 1 0;
0 0 0 1];
D=[0; 0; 0; 0];

% Valorile proprii
Val_proprii=eig(A);
disp('Valorile proprii ale matricei A');
disp(Val_proprii);

% Intrucat sistemul are toate valorile cu partea reala negativa, obtinem ca


% sistemul este stabil.

% Functia de transfer
s=tf('s');
H=C(1,:)*(s*eye(4)-A)^(-1)*B+D;
figure(1); step(H); title('Raspunsul sistemului la comanda de tip treapta unitate');

%% Derivatele de stabilitate
Xu=A(1,1); Xw=A(1,2); Xq=A(1,3); Xtheta=A(1,4);
Zu=A(2,1); Zw=A(2,2); Zq=A(2,3); Ztheta=A(2,4);
Mu=A(3,1); Mw=A(3,2); Mq=A(3,3); Mtheta=A(3,4);
Xdelta_e=B(1); Zdelta_e=B(2); Mdelta_e=B(3);
U0=Zq; g=0.98100E+01;

%% Scurta perioada
Asp=[Zw U0;
Mw Mq];
Bsp=[Zdelta_e; Mdelta_e];
Csp=[0 1;
1 0];
Dsp=[0; 0];
% Valorile proprii
Val_proprii_sp=eig(Asp);
disp('Valorile proprii ale matricei Asp');
disp(Val_proprii_sp);
% Functia de transfer
Hsp=Csp(1,:)*(s*eye(2)-Asp)^(-1)*Bsp+Dsp;
figure(2); step(Hsp); title('Raspunsul dinamicii scurtei perioade la comanda de tip treapta unitate');

%% Scurta perioada - alpha


Asp_alpha=[Zw 1;
Mw*U0 Mq];
Bsp_alpha=[Zdelta_e/U0; Mdelta_e];
Csp_alpha=[0 1;
1 0];
Dsp_alpha=[0; 0];
Malpha=Mw*U0; Zalpha=Zw;
% Valorile proprii
Val_proprii_alpha=eig(Asp_alpha);
disp('Valorile proprii ale matricei Asp_alpha');
disp(Val_proprii_alpha);
% Functia de transfer
Hsp_alpha=Csp_alpha(1,:)*(s*eye(2)-Asp_alpha)^(-1)*Bsp_alpha+Dsp_alpha;
figure(3); step(Hsp_alpha); title('Raspunsul dinamicii scurtei perioade (alpha) la comanda de tip treapta unitate');

%% Scurta perioada - nz
Asp_nz=[Zw U0*Zw/g;
Mw*g/Zw Mq];
Bsp_nz=[Zdelta_e*Zw/g; Mdelta_e];
Csp_nz=Csp_alpha;
Dsp_nz=Dsp_alpha;
% Valorile proprii
Val_proprii_nz=eig(Asp_nz);
disp('Valorile proprii ale matricei Asp_nz');
disp(Val_proprii_nz);
% Functia de transfer
Hsp_nz=Csp_nz(1,:)*(s*eye(2)-Asp_nz)^(-1)*Bsp_nz+Dsp_nz;
figure(4); step(Hsp_nz); title('Raspunsul dinamicii scurtei perioade (nz) la comanda de tip treapta unitate');

%% Fugoida
Aph=[Xu Xtheta; 0 0]+[Zw 1; Mw*U0 Mq]^(-1)*[-Zu/U0 Ztheta/U0; -Mu -Mtheta];
Bph=[Zw 1; Mw*U0 Mq]^(-1)*[-Zdelta_e/U0; -Mdelta_e];
Cph=[1 0; 0 1];
Dph=[0; 0];
% Valorile proprii
Val_proprii_ph=eig(Aph);
disp('Valorile proprii ale matricei Aph');
disp(Val_proprii_ph);
% Functia de transfer
Hph=Cph(1,:)*(s*eye(2)-Aph)^(-1)*Bph+Dph;
figure(5); step(Hph); title('Raspunsul dinamicii fugoidei la comanda de tip treapta unitate');

%% Stabilizarea fugoidei
t=0:0.1:100;
var=0;
for Ktheta=-1:0.1:1
for Ku=0:0.1:0
Aph_st=Aph-Bph*[Ku Ktheta];
Val_proprii_Aph_st=eig(Aph_st);
if real(Val_proprii_Aph_st(1))<-0.01 && real(Val_proprii_Aph_st(2))<-0.01 &&
abs(imag(Val_proprii_Aph_st(1)))==abs(imag(Val_proprii_Aph_st(2)))
disp('Ku'); disp(Ku);
disp('Ktheta'); disp(Ktheta);
var=1;
break;
end
end
if var==1
break;
end
end
% Verificare grafica
% Raspunsul la comanda treapta unitate
u=step(Aph_st,Bph,[1 0],0,1,t);
theta=step(Aph_st,Bph,[0 1],0,1,t);
figure(6);
plot(t,u);
title('\bf Raspunsul sistemului la comanda treapta unitate-u');
xlabel('t[s]');
ylabel('u[rad/s]');
grid on;
figure(7);
plot(t,theta);
title('\bf Raspunsul sistemului la comanda treapta unitate-theta');
xlabel('t[s]');
ylabel('theta[rad]');
grid on;
% Raspunsul la comanda impuls Dirac
u_i=impulse(Aph_st,Bph,[1 0],0,1,t);
theta_i=impulse(Aph_st,Bph,[0 1],0,1,t);
figure(8);
plot(t,u_i);
title('\bf Raspunsul sistemului la comanda impuls Direc-u_i');
xlabel('t[s]');
ylabel('u_i[rad/s]');
grid on;
figure(9);
plot(t,theta_i);
title('\bf Raspunsul sistemului la comanda impuls Dirac-theta_i');
xlabel('t[s]');
ylabel('theta_i[rad]');
grid on;
%% Stabilizarea scurtei perioade
for Kq=-1:0.1:1
Asp_st=Asp-Bsp*[Kq 0];
Val_proprii_sp_st=eig(Asp_st);
if real(Val_proprii_sp_st(1))<0 && real(Val_proprii_sp_st(2))<0 && imag(Val_proprii_sp_st(1))~=0 && real(Val_proprii_sp_st(1))>-3 &&
real(Val_proprii_sp_st(2))>-3 && abs(imag(Val_proprii_sp_st(1)))>4
Kq_sp=Kq;
disp('Kq');
disp(Kq);
var=1;
break;
end
end
% Verificare grafica
% Raspunsul la comanda treapta unitate
alpha=step(Asp_st,Bsp,[1 0],0,1,t);
q=step(Asp_st,Bsp,[0 1],0,1,t);
figure(10);
plot(t,alpha);
title('\bf Raspunsul sistemului la comanda treapta unitate-alpha');
xlabel('t(s)');
ylabel('alfa[rad]');
grid on;
figure(11);
plot(t,q);
title('\bf Raspunsul sistemului la comanda treapta unitate-q');
xlabel('t(s)');
ylabel('q[rad/s]');
grid on;
% Raspunsul sistemului
alpha_i=impulse(Asp_st,Bsp,[0 1],0,1,t);
q_i=impulse(Asp_st,Bsp,[0 1],0,1,t);
figure(12);
plot(t,alpha_i);
title('\bf Raspunsul sistemului la comanda impuls Dirac-alfa_i');
xlabel('t(s)');
ylabel('alfa_i[rad]');
grid on;
figure(13);
plot(t,q_i);
title('\bf Raspunsul sistemului la comanda impuls Dirac-q_i');
xlabel('t(s)');
ylabel('q[rad/s]');
grid on;
Rezultate program

Valorile proprii ale matricei A


-0.4508 + 1.5704i
-0.4508 - 1.5704i
-0.0167 + 0.1393i
-0.0167 - 0.1393i

Valorile proprii ale matricei Asp


-0.4464 + 1.5829i
-0.4464 - 1.5829i

Valorile proprii ale matricei Asp_alpha


-0.4464 + 1.5829i
-0.4464 - 1.5829i

Valorile proprii ale matricei Asp_nz


-0.4464 + 1.5829i
-0.4464 - 1.5829i

Valorile proprii ale matricei Aph


-0.0212 + 0.1377i
-0.0212 - 0.1377i

Ku
0

Ktheta
-1

Kq
-0.2000

Notații:
 A, B, C , D - matricile ce definesc dinamica longitudinală a aeronavei (cu stările u , w, q,q )
Asp , Bsp , Csp , Dsp
 - matricile ce definesc scurta perioadă (cu starile w, q )
Asp _ alpha , Bsp _ alpha , Csp _ alpha , Dsp _ alpha
 - matricile ce definesc scurta perioadă (cu starile a , q )
Asp _ nz , Bsp _ nz , Csp _ nz , Dsp _ nz nz , q
 - matricile ce definesc scurta perioadă (cu starile )
Aph , Bph , C ph , D ph
 - maticile ce definesc fugoida (cu starile u, q )
Ku , K q , K theta
 - amplificările determinate pentru stabilizarea dinamicii
Fig.1 Răspunsul sistemului principal la comanda treaptă

În grafic se observă răspunsul sistemului principal


( A, B, C, D ) la comanda treapta
unitate. Cele patru stări afișate sunt u , w, q, q (avem corespondența: u � 1, w � 2, q � 3, q � 4 ).
Graficele confirmă faptul că sistemul este stabil, după cum reiese și din valorile proprii ale
matricii A (au partea reală negativă). Toate stările se stabilizează într-un interval de timp de
aproximativ 250 s .

Funcția de transfer (notată în program cu H ) corespunzătoare este:


0.00381s11 + 2.804s10 + 315.5s 9 + 664s 8 + 2097s 7 + 2083s 6 + 2741s 5 + 721.3s 4 + 137.2s 3 + 23.15s 2 + 1.6s + 0.1824
H ( s) =
s + 2.805s11 + 10.78s10 + 16.39 s 9 + 30.07 s8 + 23.06 s 7 + 22.77 s 6 + 3.242 s 5 + 1.298s 4 + 0.1007 s 3 + 0.0243s 2 + 0.0008861s + 0.0001448
12
Fig.2 Răspunsul scurtei perioade la comanda treaptă

În grafic se observă răspunsul scurtei perioade


(A sp , Bsp , Csp , Dsp )
la comanda treapta
unitate. Cele două stări afișate sunt w, q (avem corespondența: w � 1, q � 2 ). Graficele
A
confirmă faptul că sistemul este stabil, după cum reiese și din valorile proprii ale matricii sp ,
respectiv -0.4464 + 1.5829i și -0.4464 - 1.5829i (au partea reală negativă). Toate stările se
stabilizează într-un interval de timp de aproximativ 15 s .

Funcția de transfer (notată în program cu Hsp ) corespunzătoare este:

-4.516 s 3 - 6.086 s 2 - 14.05s - 5.557


H sp ( s) =
s 4 + 1.785s 3 + 6.206s 2 + 4.829s + 7.315
Fig.3 Răspunsul scurtei perioade la comanda treaptă

În grafic se observă răspunsul scurtei perioade


(A sp , Bsp , Csp , Dsp )
la comanda treapta
unitate. Cele două stări afișate sunt a , q (avem corespondența: a � 1, q � 2 ). Graficele
A
confirmă faptul că sistemul este stabil, după cum reiese și din valorile proprii ale matricii sp ,
respectiv -0.4464 + 1.5829i și -0.4464 - 1.5829i (au partea reală negativă). Se obțin aceleași
Asp , Bsp Asp ( 1, 2 ) = U 0
valori proprii deoarece prima linie a matricilor a fost împărțită cu valoarea ,
Asp ( 1, 2 ) = U 0
respectiv prima coloană a fost înmulțită cu valoarea . Toate stările se stabilizează
într-un interval de timp de aproximativ 15 s .

Funcția de transfer (notată în program cu Hsp_alpha ) corespunzătoare este:

-4.516 s 3 - 6.086 s 2 - 14.05s - 5.557


H sp ( s) =
s 4 + 1.785s 3 + 6.206s 2 + 4.829s + 7.315
Fig.4 Răspunsul scurtei perioade la comanda treaptă

nz , q nz � 1, q � 2
În mod analog se procedează și pentru stările (avem corespondența: ).
Funcția de transfer este notată în program cu Hsp_nz .

Fig.5 Răspunsul fugoidei la comanda treaptă


În figura 5 este afișat raspunsul fugoidei la comanda treaptă. Fugoida s-a determinat în
mod similar scurtei perioade și este detaliat modul de obținere (teorie, dar și programul aferent
din MATLAB folosit) mai jos în capitolul 1.4. Cele două stari componente ale fugoidei și anume
u, q ( u � 1,q � 2 )
se stabilizează într-un interval de aproximativ 300 s .

Fig.6 Răspunsul componentei vitezei pe axa X la comanda treaptă

În figura 6 este prezentat raspunsul starii u la comanda treapta unitate. Starea se


stabilizeaza în aproximativ 100 s . Diferența față de figura 5 apare deoarece, în acest caz s-a
facut și stabilizarea fugoidei.

În figura următoare, figura 7 este prezentat raspunsul aceleiași stări modificate la

comanda impuls Dirac. Se obsevă o crestere exponențiala pe intervalul


[ 0,0.5] s urmată de o
ui = 0 m / s
revenire a graficului pe valoarea .
Fig.7 Răspunsul componentei vitezei pe axa X la comanda impuls Dirac

Fig.8 Răspunsul unghiului de tangaj la comanda treaptă


Fig.9 Răspunsul unghiului de tangaj la comanda impuls

În figurile 8, respectiv 9 sunt prezentate comportările stării q la comanda treapta unitate


(figura 8), respectiv impuls Dirac (figura 9). În primul caz se observa o creștere a amplitudinii în
modul până la valoarea aproximativă t = 0.5 s urmată de o stabilizare pe valoarea
q ; -0.63[rad ] . Timpul de stabilizare este același ca și în cazul starii u de aproximativ 100 s .

În cazul celălalt, amplitudinea în modul crește explonențial stabilizându-se după


aproximativ 40 s pe valoarea q ; 0[rad ] .
1.2 Specificaţii MIL-STD 1797 privind calităţile de zbor

Standardele privind calităţile de zbor includ toate cerinţele impuse din punct de vedere al
pilotului uman pentru siguranţa zborului şi pentru eficienţa comenzilor în vederea realizării
misiunii pentru care avionul a fost proiectat.

Unul dintre standardele militare foarte cunoscute propus la începutul anilor 1980 este
MIL-STD-1797 care este periodic revizuit în scopul realizării unor specificaţii cât mai bine
orientate către realizarea în condiiţii optime a misiunii de zbor. Pentru interpretarea acestor
specificaţii este necesară o clasificare a misiunilor de zbor. Astfel, avioanele sunt împărţite în
următoarele categorii:

 Clasa I – Avioane mici, uşoare: utilitare, antrenament uşor, avioane de observaţie.


 Clasa II – Avioane de greutate medie, cu manevrabilitate scăzută-medie: avioane de
trasnport uşor/mediu, avioane antisubmarine, avioane de recunoaştere, avioane de
bombardament tactic, avioane de atac, avioane de antrenament pentru clasa II.
 Clasa III – Avioane cu manevrabilitate ridicată: de vânătoare şi intercepţie, atac, de
recunoaştere tactică, antrenament clasa IV.

Un alt factor impotant în definirea cerinţelor calităţilor de zbor este faza zborului.
Categoriile fazelor de zbor împart condiţiile de zbor şi misiunile în grupuri de acţiuni care
necesită răspunsuri asemanătoare ale avionului şi cer eforturi similare din partea pilotului.

Categorii ale fazelor de zbor:

 neterminale
A - acele faze de zbor care necesită manevre rapide, precizie în urmărirea
traiectoriei
- faze de luptă aeriană
- atac la sol
- lansare de armament
- recunoaştere
- alimentarea în zbor
- căutare antisubmarin
- zbor în formaţie strânsă
B - faze realizate prin manevre graduale fără precizie deosebită
- urcare
- croazieră
- coborâre
- coborâre de urgenţă

 terminale - realizate cu urmarirea precisă a traiectoriei

- decolarea

- apropierea

- aterizarea

Nivele ale calităţilor de zbor

Gradul de acceptabilitate a caliăţilor de zbor se exprimă în nivele. Acestea specifică cât


de adecvat este răspunsul avionului pentru îndeplinirea misiunii de zbor şi stabilirea lor se
realizează prin evaluarea opiniei piloţilor prin scări Cooper-Harper.

Nivelul 1 – Calităţi de zbor clar adecvate pentru fazele de zbor ale misiunii.

Nivelul 2 – Calităţi de zbor adecvate îndeplinirii misiunii de zbor, dar este necesar un efort
suplimentar din partea pilotului.

Nivelul 3 – valităţile de zbor permit controlul în siguranţă al avionului, dar cu un efort


considerabil din partea pilotului.

Asigurarea calităţilor de zbor prezentate mai sus revine la modificarea dinamicii


avionului, adică la o anumită alocare predefinită a polilor acesteia. În etapele următoare ale
proiectului se prezintă metode de proiectare ale sistemelor de comandă automată în vederea
asigurării calităţilor de zbor în conformitate cu standardele MIL-STD-1797, atât pentru scurta
perioadă, cât şi pentru fugoidă.

1.3 Proiectare SAS pentru scurta perioadă. Criteriul C*


şi criteriul q/qst
Pentru a stabiliza scurta perioadă conform principiului sistemului SAS, sistemului
dinamic al avionului i se aplică o amplificare, în reacţie pe una dintre ieşiri. S-a ales să se

amplifice componenta care dă viteza unghiulară de tangaj ( q ).

Scurta perioadă este extrasă din sistemul dinamic original după cum urmează:

A ( 2, 2 )
� A ( 2, 3) � B ( 2) �

Asp = � ; Bsp = �
� �
�A ( 3, 2 ) A ( 3,3 ) � B ( 3) �

Pentru a verifica eficacitatea aplicării se va determina răspunsul scurtei perioade la


impuls şi treaptă.

Scurta n
+ perioa z
- dă
q

SAS

Fig 10 S.A.S

Dinamica longitudinală a avionului este reprezentată de relaţiile următoare:

�u&= X u �
u + Xw �w - g cos g 0 �
q + X de � de

�w&= Z u � w + U 0q - g sin g 0 + Z d e �
u + Zw � de

�q&= M u �u + Mw �
w+ Mq � q + Mq � q + M de � de
�&
�q =q
707\* MERGEFORMAT
(.)

Scurta perioadă este descrisă de ecuaţiile:


�w&= Z w �
� de
w + U 0 q + Zd e �

�q&= M w �w + Mq � de
q + M de �
808\* MERGEFORMAT (.)

U0
Împărțim prin prima ecuaţie a sistemului 08 şi obţinem:

Zd e
a&= Za a + q + de
U0 909\* MERGEFORMAT (.)

de
Zd e �
Dacă termenul care conţine expresia se neglijeză, atunci se poate scrie:

a&= Zaa + q

w w&
w = U 0a � a = ; a&=
deoarece: U0 Uo

Acceleraţia normală se poate scrie:

U0 U U
nz = ( a&- q ) = 0 ( Zaa + q - q ) = 0 Za a
g g g

Din această ecuaţie se obţine:

nz U 0
= Za
a g 10010\* MERGEFORMAT (.)

Se consideră:

�U �� U �
n z � � 0 Z a a � � 0 Za
� 0 ��a�
sp = � �
x% = g = g �

q
�� � � � ��q�
� q ��0 1� �
11011\* MERGEFORMAT
(.)

Se face schimbarea de stări:


Aspn = Tsp � inv ( Tsp )
Asp �
Bspn = Tsp �
Bsp

Pentru scurta perioadă se mai poate scrie:

x&sp = Asp � de
xsp + Bsp �
12012\* MERGEFORMAT (.)

w�
� �Z w 1 � �Zd e �
xsp = � �, Asp = � �, Bsp = � � .
q�
� �Mw Mq � �M de �
unde :

Polinomul caracteristic al matricei de stabilitate al scurtei perioade este:

�s - Zw -1 �
c Asp ( s) = det( sI - Asp ) = det � = ( s - Z w )( s - M q ) - M w =
�- M w s - Mq �

= s 2 + s(- Z w - M q ) + Z w M q - M w
13013\*
MERGEFORMAT (.)

Iar dacă se face notația:

wsp 2 = Z w M q - M w


� Zw + M q
z
� sp = -
� 2 ZwM q - M w
14014\* MERGEFORMAT (.)

Relația 013 se mai poate scrie:

c Asp ( s ) = s 2 + 2 �
z sp �
wsp �
s + wsp 2
15015\* MERGEFORMAT (.)

Specificațiile MIL-STD-1797 prevăd ca, pentru scurta perioadă:

�wa �wsp �wb



�z sp θ [ 0.35 1]
16016\* MERGEFORMAT (.)
,unde
wa și wb se determină la intersecția curbelor cu dreapta:

nz U 0
= � Za = 16.1083
a g 17017\* MERGEFORMAT (.)

U0 nz a
În ecuația de mai sus este viteza avionului și are o valoare cunoscută, se citește

Za
pe grafic, iar se ia din matricea A.

Se determină:

wa = 3.45 rad s


wb = 11.5 rad s
� 18018\* MERGEFORMAT (.)

Deoarece viteza asecensională nu se poate măsura cu o acuratețe foarte mare la bordul

w � nz nz
avionului, facem schimbarea de variabilă , unde este accelerația verticală - folosind
relațiile:

U0
nz = (a&- q)
g 19019\* MERGEFORMAT (.)

w w&
a= ; a&= ;
U0 U0 20020\* MERGEFORMAT (.)

U 0 �w& � w&- U 0 q
nz = � - q �=
g � U0 � g
21021\* MERGEFORMAT (.)

Din relația 07 rezultă:

w&- U 0 q = Zu u + Z w w + Zde d e
22022\* MERGEFORMAT (.)
Z u u + Z w w + Zd e d e Zu Z
nz = @ u+ w w
g g g 23023\* MERGEFORMAT (.)

Zd e d e @ 0
, unde s-a ținut cont de faptul că .

Tsp
Matricea de transformare a vectorului de stare,

u�
� �u �

w� Tsp �
� n�
� ��� �z �

q� �q �
�� ��
q�
� �q�

este:

�1 0 0 0�
�Z Zw �
�w 0 0�
Tsp = �g g �
�0 0 1 0�
� �

�0 0 0 1�
� 24024\* MERGEFORMAT (.)

Matricea de transformare a vectorului de stare, T

�u � u�

� � �
a�
nz � T �
� ��� �
�q � �
q�
�� ��
�q� q�

este:
1
� 0 0 0�
� U �

0 0
Za 0 0�
Tsp = � g �

0 0 1 0�
� �

0
� 0 0 1�
� 25025\* MERGEFORMAT (.)

După transformare, sistemul inițial


( A, b, c ) va deveni:

( A, b, c ) : ( TAT -1
, Tb, cT -1 ) ,

iar vectorul de stare x%= Tx .

1
� 0 0 0�
�u � � ��u�
� � � U0
n 0 Z 0 0 �a �

� �= � g a
z
�� �
�q � � �q�
�� � 0 0 1 0��q �

�q� ��

0
� 0 0 1�� 26026\* MERGEFORMAT (.)

Din ecuația:

s 2 + 2z spwsp s + w sp 2 = 0
27027\* MERGEFORMAT (.)

rezultă:

s1,2 = -z spwsp �jwsp 1 - z sp 2


s1,2 = wsp

1 - z sp 2
arg s1,2 = �arctg
z sp
28028\* MERGEFORMAT (.)

Alocarea polilor
Pentru ca un avion să poată îndeplini criteriile impuse de MIL, polii scurtei perioade
trebuie să se afle într-un domeniu bine stabilit conform specificațiilor MIL.

Programul de alocare a polilor realizează acest lucru după cum urmează:

- se consideră viteza avionului

- în funcție de viteză, se determină domeniul în care vor fi alocați polii scurtei perioade, conform
specificațiilor MIL

- pentru acest domeniu se generează un patrulater în interiorul căruia se află valorile unor
amplificări care vor fi folosite pentru verificarea criteriului C*.

Polii scurtei perioade trebuie să aparțină unei coroane circulare care are drept raze două
valori ce se determină din specificațiile MIL. Din punct de vedere geometric acest fapt poate fi
reprezentat astfel:

Imaginar

w = wb
Real

w = wa

Domeniu de
alocabilitate MIL

Fig.11 Alocarea polilor pentru scurta perioadă

În figură este reprezentată dependența soluțiilor ecuației 027 în funcție de wsp și z sp

atunci când acestea variază între valorile permise de specificațiile MIL (relațiile 016 și 017).
Fig.12 Domeniul de alegere al polilor

Observație:

wsp = wa ; z θ [ 0,35 1] ;
- ramura (1) -

wsp = wb ; z θ [ 0.35 1] ;
- ramura (2) -

z sp = 0.35; wsp �[ wa ; wb ] ;
- ramura (3) -

z sp = 1; wsp �[ wa ; wb ] .
- ramura (4) -

L( Asp + Bsp K ) = { s1 , s2 }
Se rezolvă problema de alocare:

K =�
ka
� kq �
�și se trasează curba k q = kq ( k a ) (ka , kq )
unde . Orice punct din domeniul delimitat
de acestă curbă are proprietatea:

L ( Asp + Bsp �
ka
� kq �
) �D |
� 29029\* MERGEFORMAT (.)

Se alege unul din aceste puncte, de exemplu:


�kq = -1.9960

�knz = -0.0501 30030\* MERGEFORMAT (.)

Fig.13 Răspunsul vitezei de tangaj la comanda treaptă


Fig.14 Răspunsul unghiului de incidență la comanda treaptă

q, a ( q � 1, a � 2 )
În figurile 13, respectiv 14 este prezentat raspunsul stărilor la
comanda impuls Dirac. Acestea au o comportare bună deoarece se stabilizează într-un interval de

aproximativ 3 s ținând cont că sunt stări ale scurtei perioade.

Criteriul C*

În continuare se va aplica criteriul C* pentru analiza SAS-ului. Criteriul C* ne permite


determinarea comportării scurtei perioade a dinamicii avionului. Dacă un avion se află într-un
domeniu care este considerat acceptabil de către piloți, înseamnă că avionul răspunde conform
cerințelor.

q ( t ) + nz ( t )
12.43 �
C * (t ) =
C� 31031\* MERGEFORMAT (.)

Unde:

C� = lim ( 12.43 �
q ( t ) + nz ( t ) ) q( t) nz ( t )
t �� , iar și sunt răspusurile scurtei perioade la comanda
treaptă unitate.

U0
nz =
A ( 2, 2 )
g�
fiind accelerația longitudinală a avionului.

Pentru a putea modifica curba determinată, astfel încât aceasta să se afle în domeniul
criteriului C*, dinamicii scurtei perioade i se aplică un element de întârziere de forma:

1
s + c , unde c �[ 2;5]
H=
.

Dacă SAS-ul nu respectă specificațiile MIL atunci se va adăuga un prefiltru ca în figura


următoare:
1 nz
s+c
+ Scurta
perioadă
- - q

kq

k nz

Fig.15 Schema bloc pentru S.A.S

*
Fig.16 Analiza C
*
Fig.17 Analiza C cu prefiltru

Din figură se observă că avionul (linia mediană) se încadrează în limitele dictate de


criteriul C* (liniile punctate), ceea ce înseamnă că avionul are o comportare foarte bună în timpul
zborului.

Programul Matlab pentru stabilizarea scurtei perioade

%% Stabilizarea scurtei perioade


for Kq=-1:0.1:1
Asp_st=Asp-Bsp*[Kq 0];
Val_proprii_sp_st=eig(Asp_st);
if real(Val_proprii_sp_st(1))<0 && real(Val_proprii_sp_st(2))<0 &&
imag(Val_proprii_sp_st(1))~=0 && real(Val_proprii_sp_st(1))>-3 && real(Val_proprii_sp_st(2))>-3
&& abs(imag(Val_proprii_sp_st(1)))>4
Kq_sp=Kq;
disp('Kq');
disp(Kq);
var=1;
break;
end
end

% Verificare grafica
% Raspunsul la comanda treapta unitate
alpha=step(Asp_st,Bsp,[1 0],0,1,t);
q=step(Asp_st,Bsp,[0 1],0,1,t);
figure(10);
plot(t,alpha);
title('\bf Raspunsul sistemului la comanda treapta unitate-alpha');
xlabel('t(s)');
ylabel('alfa[rad]');
grid on;

figure(11);
plot(t,q);
title('\bf Raspunsul sistemului la comanda treapta unitate-q');
xlabel('t(s)');
ylabel('q[rad/s]');
grid on;

% Raspunsul sistemului
alpha_i=impulse(Asp_st,Bsp,[0 1],0,1,t);
q_i=impulse(Asp_st,Bsp,[0 1],0,1,t);

figure(12);
plot(t,alpha_i);
title('\bf Raspunsul sistemului la comanda impuls Dirac-alfa_i');
xlabel('t(s)');
ylabel('alfa_i[rad]');
grid on;

figure(13);
plot(t,q_i);
title('\bf Raspunsul sistemului la comanda impuls Dirac-q_i');
xlabel('t(s)');
ylabel('q[rad/s]');
grid on;

Programul Matlab pentru alocarea polilor

%% Alocarea polilor
disp('Alocarea polilor'); disp(' ');
% Valorile omega_a si omega_b (nz/alpha=34.6248)
nz_alpha=Zw*U0/g;
disp('nz/alpha=');
disp(nz_alpha);
omega_a=3.45;
omega_b=11.5;
j=sqrt(-1);
% Matricea de transformare T
T=eye(4);
T(2,1)=A(2,1)/g;
T(2,2)=A(2,2)/g;
% Se face schimbarea de stare folosind matricea T
A=T*A*inv(T);
B=T*B;
C=C*inv(T);

% Ramura 1
omega=omega_a;
k=0;
for zeta=0.35:0.01:1
k=k+1;
s1(k)=-zeta*omega+j*omega*sqrt(1-zeta^2);
s2(k)=-zeta*omega-j*omega*sqrt(1-zeta^2);
% Lambda(Asp-Bsp [Kalpha Kq])={s1 s2};
K_poli=acker(Asp,Bsp,[s1(k) s2(k)]);
K_nz=K_poli(1);
Kq=K_poli(2);
K1(k,1)=K_nz;
K1(k,2)=Kq;
end
figure(4);
plot(s1); hold on; plot(s2); hold on; clear s1 s2;

% Ramura 2
omega=omega_b;
k=0;
for zeta=0.35:0.01:1
k=k+1;
s1(k)=-zeta*omega+j*omega*sqrt(1-zeta^2);
s2(k)=-zeta*omega-j*omega*sqrt(1-zeta^2);
% Lambda(Asp-Bsp [Kalpha Kq])={s1 s2};
K_poli=acker(Asp,Bsp,[s1(k) s2(k)]);
K_nz=K_poli(1);
Kq=K_poli(2);
K2(k,1)=K_nz;
K2(k,2)=Kq;
end
plot(s1); hold on; plot(s2); hold on; clear s1 s2;

% Ramura 3
zeta=0.35;
k=0;
for omega=omega_a:0.1:omega_b
k=k+1;
s1(k)=-zeta*omega+j*omega*sqrt(1-zeta^2);
s2(k)=-zeta*omega-j*omega*sqrt(1-zeta^2);
K_poli=acker(Asp,Bsp,[s1(k) s2(k)]);
K_nz=K_poli(1);
Kq=K_poli(2);
K3(k,1)=K_nz;
K3(k,2)=Kq;
end
plot(s1); hold on; plot(s2); axis([-15 15 -15 15]);
title('\bf Alocarea polilor scurtei perioade');
xlabel('Re{s}');
ylabel('Im{s}');
grid on;
hold off;
clear s1 s2;

% Ramura 4
zeta=1;
k=0;
for omega=omega_a:0.1:omega_b
k=k+1;
s1(k)=-zeta*omega+j*omega*sqrt(1-zeta^2);
s2(k)=-zeta*omega-j*omega*sqrt(1-zeta^2);
K_poli=acker(Asp,Bsp,[s1(k) s2(k)]);
K_nz=K_poli(1);
Kq=K_poli(2);
K4(k,1)=K_nz;
K4(k,2)=Kq;
end

% Afisarea graficului Kalpha=Kalpha(Kq)


figure(5);
plot(K1(:,2),K1(:,1),'b',K2(:,2),K2(:,1),'b',K3(:,2),K3(:,1),'b',K4(:,2),K4(:,1),'b');
title('\bf Domeniul de alocare a polilor');
xlabel('Kq');
ylabel('Kalpha');
grid on;

%% Analiza C*(t)
load cstar;
t=0:0.01:3;
disp('Se alege un punct (Kq,Kalpha) din interiorul domeniului');
[Kq,K_nz]=ginput(1);
Kq
K_nz
nz=step((Asp-Bsp*[K_nz Kq]),Bsp,[1 0],0,1,t);
q=step((Asp-Bsp*[K_nz Kq]),Bsp,[0 1],0,1,t);
cstar=(nz+12.43*q)/(nz(length(t))+12.43*q(length(t)));

% Trasarea graficului C*
figure(6);
plot(xcl,cl,xcu,cu,t,cstar);
% axis([0 3 0 2]);
title('\bf Analiza C*(t)');
xlabel('t [s]');
ylabel('C*');
grid on;

% Varianta cu prefiltru
disp('Varianta cu prefiltru');
c=4;
clear nz q cstar;
[Ap,Bp,Cp,Dp]=tf2ss(1,[1 c]);
[Aspr,Bspr,Cspr,Dspr]=series(Ap,Bp,Cp,Dp,Asp-Bsp*[K_nz Kq],Bsp,eye(2),zeros(2,1));
nz=step(Aspr,Bspr,Cspr(1,:),Dspr(1,:),1,t);
q=step(Aspr,Bspr,Cspr(2,:),Dspr(2,:),1,t);
cstar=(nz+12.43*q)/(nz(length(t))+12.43*q(length(t)));

% Trasarea graficului C*
figure(7);
plot(xcl,cl,xcu,cu,t,cstar);
title('\bf Analiza C*(t) (varianta cu prefiltru)');
xlabel('t [s]');
ylabel('C*');
grid on;

Rezultatele Matlab

Alocarea polilor

nz/alpha=

-16.1083

Se alege un punct (Kq,Kalpha) din interiorul domeniului

Kq =

-1.9960

K_nz =

-0.0501

Notațiile:
 nz / alpha - raportul starilor nz, alpha folosit la alegerea limitelor wa , wb , z a , z b
K q , K nz q, nz
 - amplificările corespunzătoare starilor

Ka = f ( K q )
Fig.18 Domeniul de alocare al polilor

1.4 Stabilizarea modurilor lente (fugoida)

După determinarea completă a scurtei perioade, aici incluzând și verificarea celor două
criterii de calitate, se trece la determinarea fugoidei care la rândul ei va fi stabilizată prin
amplificare.

Pentru a obține ecuațiile modurilor lente ale dinamicii longitudinale (fugoida), membrul
drept al ecuațiilor corespunzătoare scurtei perioade se anulează, ceea ce înseamnă că în ecuațiile
032 impunem condițiile 033.
�u&= X u �
u + Xa �a - g cos g 0 �
q + X de �
de

�a&= Z u � a + q - g sin g 0 �
u + Za � q + Zd e �
de

�q&= M u �u + Ma �a + Mq � q + Mq � q + M de �de
�&
�q =q
32032\*
MERGEFORMAT (.)

�a&= 0

�q&= 0 33033\* MERGEFORMAT (.)

Rezultă sistemul:

� Zu �
� a + q - g sin g 0 �
u + Za � q + Zd e �
de = 0

u + Ma �
�M u � a + Mq � q + Mq � q + M de �
de = 0
34034\*
MERGEFORMAT (.)

a ( u,q , d e ) q ( u,q , d e )
care se rezolvă în raport cu variabilele și .

�a = a ( u,q , d e )

�q = q ( u , q , d e ) 35035\* MERGEFORMAT (.)

Relațiile 034 se introduc în celelalte două ecuații ale dinamicii longitudinale:


�u&= X u �u + Xa � a ( u,q , d e ) + X q �
q ( u, q , d e ) - g cos g 0 �
q + X de �
de
�&
�q = q ( u,q , d e )
36036\*
MERGEFORMAT (.)

rezultând ecuațiile fugoidei care se mai pot scrie:

x&ph = Aph � de
x ph + B ph �
37037\* MERGEFORMAT (.)
u
+
Fugoida
- q

Kq

Fig.19 Schema bloc pentru fugoidă

Valorile proprii ale fugoidei trebuie să fie foarte apropiate de valorile proprii din
dinamica longitudinală totală (fugoidă + scurtă perioadă).

Ku Kq
Pentru a stabiliza comportarea fugoidei se vor aplica amplificările și astfel:

u
+ Dinamica
fugoidei
- -
q

Kq

Ku
Fig.20 Schema bloc pentru stabilizarea fugoidei

Se poate aplica numai o singură amplificare pe q , dar pentru determinarea unei fugoide
stabile se va aplica o amplificare și pe u .
După determinarea amplificărilor și a valorilor proprii se poate spune că fugoida a fost
stabilizată ceea ce ne poate permite să determinăm răspunsul stabilizat al fugoidei.

Pentru aceasta se consideră:

�u&� �a11 a12 a13 a14 ��u� � b1 �


� �
a&� ��a a22 a23 ��
a24 �a � �
b�
� = 21 � �+ �2 ��d
�q&� �a31 a32 a33 a34 ��q� �b3 � e
�&� � �� � � �
�q� � a41 a42 a43 q� �
a44 �� b4 �
38038\* MERGEFORMAT
(.)

Condiția necesară este:

�a&= 0

�q&= 0 39039\* MERGEFORMAT (.)

care se transcrie astfel:

�a21u + a22a + a23 q + a24q + b2d e = 0



�a31u + a32a + a33q + a34q + b3d e = 0 40040\* MERGEFORMAT (.)

Se știe că:

�a = a ( u,q , d e )

�q = q ( u , q , d e ) 41041\* MERGEFORMAT (.)

Relațiile se transcriu astfel:

�a22a + a23 q = -a21u - a24q - b2d e



�a32a + a33q = -a31u - a34q - b3d e 42042\* MERGEFORMAT (.)

-1
a� �
� a22 a23 � ��
a21 a24 ���
u � b2 � �
= - � � �� � + � de �


q�
� � � a31 a34 ���
a32 a33 � �� q �
�� b3 �
� � 43043\*
MERGEFORMAT (.)
� u&= a11u + a12a + a13q + a14q + b1d e
�&
�q = u = a41u + a42a + a43 q + a44q + b4d e
44044\* MERGEFORMAT
(.)

Altfel scris:

u& �
�� a11 a14 ���
u �a a� �
a13 �� b�
��= � ���+ �12 �� �+ �1 �d

q& �
�� a41 q
a44 ��� a42
� a43 ��q� �b4 � e
45045\*
MERGEFORMAT (.)

-1
u& ��
�� a a �� a a13 ��
a22 a23 � �a21 a24 ����
u
��
& = ��11 14 �- �12 �� � � ����+
q ��
�� a a a a43 ��
a32 a33 � � q
a31 a34 ����
� 41 44 � �42 �
-1
��b�� a a13 ��
a22 a23 � �b2 ��
+ ��1 �- �12 ��
�de
��
b a a43 ��
a32 a33 � �
� �3 ��
b
� 4 � �42 �� � 46046\*
MERGEFORMAT (.)

Identificăm astfel matricea de stabilitate și matricea de comandă:

-1
��a a14 � � a a13 ��
a22 a23 � �
a21 a24 ��
Aph = ��11 �- �12 �� � � ��
��
a a44 � �a42 a43 ��
a32 a33 � �
a31 a34 ��
� 41 � 47047\*
MERGEFORMAT (.)

-1
��b�� a a13 ��
a22 a23 � �b2 ��
B ph = ��1 �- �12 �� � � ��
��
b a a43 ��
a32 a33 � �b3 ��
� 4 � �42 �48048\* MERGEFORMAT

(.)

În general se poate scrie relația:

x&= Aph x + B phd e


49049\* MERGEFORMAT (.)

În concluzie, pentru a determina fugoida se folosesc matricea de stabilitate și matricea de


comandă a dinamicii longitudinale a avionului astfel:
-1
��A(1,1) A(1, 4) � �A(1, 2) A(1,3) ��A(2, 2) A(2,3) � �
A(2,1) A(2, 4) ��
Aph = �� -� �
��A(4,1) A(4, 4) �
�� A(4, 2) A(4,3) ��
��A(3, 2) A(3,3) �
��
�A(3,1) A(3, 4) �
��
� �

-1
��B (1) � �A(1, 2) A(1,3) ��A(2, 2) A(2,3) � �B(2) � �
B ph = �� -� �
��B(4) ��� A(4, 2) ��
A(4,3) ��A(3, 2) A(3,3) �
��

B (3) �
��
� �

După prelucrarea numerică a matricelor se obțin matricele de stabilitate și de comandă


ale dinamicii fugoidei stabilizate.

Specificațiile MIL pentru modurile lente prevăd ca pentru:

 nivelul 1 - x ph �0, 04;

 nivelul 2 - x ph �0

T2 �55s
 nivelul 3 -

kq
Se caută astfel încât:
L ( Aph - Bph [ 0 kq ] ) �C -
50050\* MERGEFORMAT (.)

Determinarea sistemului SAS

Aplicarea sistemului SAS la dinamica longitudinală a unui avion va duce la o


îmbunătățire a stabilității acestuia, dar nu neapărat la îmbunătățirea calității zborului. Sistemul
SAS are menirea de a menține stabil sistemul dinamic al avionului atunci când acesta este supus
unor mici variații ale diferiților parametri ai săi.

Sistemul SAS are ca metodă de aplicare generarea unor amplificări pe anumite ieșiri ale
sistemului dinamic nestabilizat al avionului și apoi trimiterea acestor amplificări pe intrările
sistemului dinamic, deci este vorba de amplificare în reacție.
u
Dinamica
+ a
longitudinală q

- a avionului q

kq

kq

ku

Fig.21 S.A.S.

Valorile amplificărilor care trebuiesc aplicate sunt cele determinate pentru stabilizarea
scurtei perioade și respectiv a fugoidei. Matricea de stabilitate longitudinală va fi modificată
astfel:

� U �
Asas = A - B0 �
�0, K u � 0 �
A(2, 2), K q , Kq �
� g �

Se observă că matricea s-a schimbat semnificativ față de matricea inițială, iar valorile
proprii ale matricei sunt apropiate de valorile proprii ale matricelor de stabilitate dictate de MIL.

Pentru sistemul dinamic al avionului cuplat cu sistemul SAS se pot determina


răspunsurile sistemului la treaptă și impuls.

Programul Matlab pentru stabilizarea fugoidei

%% Fugoida

Aph=[Xu Xtheta; 0 0]+[Zw 1; Mw*U0 Mq]^(-1)*[-Zu/U0 Ztheta/U0; -Mu -Mtheta];


Bph=[Zw 1; Mw*U0 Mq]^(-1)*[-Zdelta_e/U0; -Mdelta_e];
Cph=[1 0; 0 1];
Dph=[0; 0];

% Valorile proprii
Val_proprii_ph=eig(Aph);
disp('Valorile proprii ale matricei Aph');
disp(Val_proprii_ph);

% Functia de transfer
Hph=Cph(1,:)*(s*eye(2)-Aph)^(-1)*Bph+Dph;
figure(5); step(Hph); title('Raspunsul dinamicii fugoidei la comanda de tip treapta unitate');
%% Stabilizarea fugoidei
t=0:0.1:100;
var=0;
for Ktheta=0:0.1:1
for Ku=-2:0.1:2
Aph_st=Aph-Bph*[Ku Ktheta];
Val_proprii_Aph_st=eig(Aph_st);
if real(Val_proprii_Aph_st(1))<-0.01 && real(Val_proprii_Aph_st(2))<-0.01 &&
abs(imag(Val_proprii_Aph_st(1)))==abs(imag(Val_proprii_Aph_st(2)))
disp('Ku'); disp(Ku);
disp('Ktheta'); disp(Ktheta);
var=1;
break;
end
end
if var==1
break;
end
end

Program Matlab de proiectare pentru SAS


Asas=A-B*[0 K_nz Kq Ktheta];
Bsas=B;
Csas=[0 1 0 0; 0 0 1 0; 0 0 0 1];
Dsas=[0; 0; 0];
Af=-c;
Bf=1;
Cf=1;
Df=0;
[Ar,Br,Cr,Dr]=series(Af,Bf,Cf,Df,Asas,Bsas,Csas,Dsas);
figure(8);
step(Ar,Br,[0 0 0 1 0],0);

În care s-au notat matricile sistemului augmentat de stabilizare (SAS) cu


Asas , Bsas , Csas , Dsas
.
Fig.22 Răspunsul sistemului SAS la comanda treaptă unitate

CAPITOLUL 2

Proiectarea pilotului automat pentru unghiul de atitudine longitudinală

Ar , Br , Cr , Dr
Sistemul rezultant ( ) este prezentat în Figura 2.1.
1
h +
de Dinamica nz
s+c longitudinală q
- - a avionului q
-

kq
kq
knz
Fig.23 - Sistemul rezultant

Dacă explicităm comanda


d e în funcție de h atunci rezultă:5112Equation Chapter 2
Section 1522Equation Section (Next)

d e = h - kqq - kq q - k nz nz = h - ( kq Cq + kqCq + k nz Cnz ) �


x
53253\*
MERGEFORMAT (.)

unde:

�Cq = [ 0 0 0 1]

�Cq = [ 0 0 1 0]
�Cn z = [ 0 1 0 0 ]
� 54254\* MERGEFORMAT (.)

Iar:
x&= A � de = A �
x + B� x + B �h - kq �( (
Cq + kq �
Cq + k nz � x =
Cnz � ) )
(
= A - kq �
Cq - kq �
C q - k nz � x+ B�
Cnz � )
h = Ar � h
x + Br �
55255\*
MERGEFORMAT (.)

Am notat:

�Ar = A - kq Cq - k qCq - knz Cnz



�Br = B 56256\* MERGEFORMAT (.)

L( Ar ) �C , L ( Ar ) Ar
Se verifică dacă unde sunt valorile proprii ale matricei .

2.1 Metoda de proiectare convențională

K
Etapa I - Determinarea constantelor K și 0 în cazul în care toate stările sunt
măsurabile.

Fig. 24 Pilotul automat pentru unghiul de atitudine longitudinală

Sistemul � este:
x&= Ar x + Brd e
57257\* MERGEFORMAT (.)

Efectul elementului integrator este:

h&= e = q c - q 58258\* MERGEFORMAT (.)

iar comanda
d e se poate scrie:

d e = K 0h + Kx 59259\* MERGEFORMAT (.)

Rezultă sistemul:

�x&= Ar x + Br ( K 0h + Kx) = ( Ar + Br K ) x + Br K 0h

�h&= q c - Cq x
60260\*
MERGEFORMAT (.)

echivalent cu:

0
��
��
0
x& �
�� A + Br K x ��
Br K 0 ���
= �r 0 q
+ ��
��
h& � -Cq
�� 0 � ��
h ��c
���
0
��
��
1 61261\* MERGEFORMAT (.)
��

Ar + Br K
� Br K 0 � �Ar 0� � B�
� -C 0 �
=�
-Cq �
0 � �0 �
[K
+ �r � K 0 ] = Arond + Brond K rond
� q � � 62262\*
MERGEFORMAT (.)

Am făcut notațiile:
� �Ar 0 �
�Arond = �
� � -Cq 0 �


� � Br �
�Brond = � �
� �0 �
�K = [ K K0 ]
� rond

� 63263\* MERGEFORMAT (.)

Dacă se consideră:

�u �
�n�
�z �
xrond = �q �
��
�q�

�h�� 64264\* MERGEFORMAT (.)

atunci relația 261 devine:

0
��
��
0
��
x&= ( Arond + Brond K rond ) xrond 0 qc
+ ��
��
0
��
��
1
�� 65265\* MERGEFORMAT (.)

K
Constantele K și 0 se calculează tratând problema ca una liniar - pătratică cu indicele
de performanță:

( xrond T (t )Qxrond (t ) + qcT (t )Rqc (t ) ) dt


J =�
0 66266\* MERGEFORMAT
(.)

unde ponderile Q și R se aleg ca fiind:


1
� 0 0 0 0�

0 1 0 0 0�
� �
Q=�
0 0 0 0 0�; R =1
� �
0
� 0 0 1 0�

0
� 0 0 0 1�
� 67267\* MERGEFORMAT (.)

O regulă empirică, dar frecvent utilizată în proiectare este alegerea ponderilor în forma:

� �1 1 �
�Q = diag � 2 ,..., 2 �
� �xi xnmax �
� max �

� �1 1 �
�R = diag �
�ui
2
,..., 2 �
unmax �
� � max � 68268\* MERGEFORMAT (.)

unde:

ximax xi
reprezintă valoarea maximă dorită a stării

uimax ui
reprezintă valoarea maximă dorită a comenzii

Se trasează răspunsul la comanda treaptă unitate și impuls Dirac și se verifică dacă


valorile proprii ale matricei de stabilitate satisfac relația:

L ( Arond + Brond K rond ) �C -


69269\* MERGEFORMAT (.)

Etapa II - Calculul filtrului Kalman


Fig. 25 - Pilotul automat pentru unghiul de atitudine longitudinală

În cazul în care nu toate stările sunt măsurabile se va folosi un filtru Kalman:

�x&= Ar x + Brd e + Gw

�y = Cr x + Drd e + v
�& &
�xˆ = ( Ar - LCr ) xˆ + Br d e + Ly 70270\* MERGEFORMAT (.)

unde:

0 1 0 0 0�
� 0
��
Cr = �
0 0 1 0 0�
� ;
� Dr = ��
0
��

0 0 0 1 0�
� � ��
0
��71271\* MERGEFORMAT (.)

Se pot scrie relațiile:

( )
�x&= Ar x + Br d e + dd
� e

�&
( )
�xˆ = ( Ar - LCr ) xˆ + Br d e + dde d e + Ly

�h&= e = qc - ( q + dq ) = qc - Cq x - dq
� 72272\* MERGEFORMAT (.)

Se consideră:
�nz + d nz �
� �
y = �q + d q �
�q + dq �
� � 73273\* MERGEFORMAT (.)

Relațiile se pot scrie astfel:


( )
�x&= Ar x + Br K 0h + Kxˆ + dd = Ar x + Br K 0h + Br Kxˆ + Br dd
e e

�&
�xˆ = ( Ar - LCr ) xˆ + Br Kxˆ + Br K 0h + Br dd e + L ( Cr x + d )
�&
�h = q c - Cq x - dq
� 74274\*
MERGEFORMAT (.)

S-au considerat zgomotele asupra ieșirilor:

d nz �

� �
d=�dq �
�dq �
� � 75275\* MERGEFORMAT (.)

x& �Ar
�� Br K Br K 0 ���
x �� 0 �Br 0 �
�� � ��dd e �
��ˆ =�
x& LCr Ar - LCr + Br K ���
Br K 0 ��� ��
0 qc + �
xˆ + �� Br L �
� d �


��
h& � -Cq
� 0 0 � h ��
���
�� ��
1 � [ 0 0 -1] �� �
�� �0 � 76276\*
MERGEFORMAT (.)

Se identifică:

�Ar Br K Br K 0 �
A _ pa = �
�LCr Ar - LCr + Br K Br K 0 �


�-Cq 0 0 � �77277\* MERGEFORMAT

(.)

0
��
B _ pa = ��
0
��
��
1
�� 78278\* MERGEFORMAT (.)
�Br 0 �
� �
D _ pa = �Br L �

�0 [ 0 0 -1] �
� 79279\* MERGEFORMAT (.)

Se consideră:

Cq = [ 0 0 0 1]
Cq ' = [ 0 0 1]

Se calculează filtrul Kalman, verificându-se dacă:

L ( Ar - LCr ) �C -

Se testează pilotul automat în diferite condiții de turbulență atmosferică:

- simulare fără zgomote;

- simulare cu zgomote asupra ieșirilor;

- simulare cu zgomote atât asupra ieșirilor cât și a comenzii.


2.2 Metoda de proiectare H

Metodele clasice de proiectare a reacțiilor după stare (feedback) au pus la dispoziție


proiectanților, timp de mulți ani, metodologii robuste de proiectare, dar care nu au fost extinse
bine și în cazul sistemelor multivariabile.

Tehnicile moderne de proiectare prezintă soluții și în cazul proiectării compensatoarelor



robuste multivariabile. Teoria de control H a fost dezvoltată de la începuturile anilor 80.
Metoda se bazează pe minimizarea după frecvență a valorilor maxime a unor funcții de transfer
alese de către proiectant astfel încât să reprezinte obiectivele de proiectare. O calitate importantă
a metodei este aceea că permite obținerea stabilității și robusteței sistemului în prezența erorilor
de modelare, a incertitudinilor și perturbațiilor (provenite de la disturbații sau zgomote).
Semnalelor de ieșire li se pot atașa ponderi dependente de frecvență (ponderi dinamice) pentru a
se obține un sistem mai robust sau pentru a îndeplini cerințele de proiectare.

Un sistem este considerat a fi robust stabil, dacă, în orice stare (din domeniul prestabilit)
s-ar afla, pentru orice incertitudine definită în jurul condițiilor nominale și în domeniul
prestabilit, compensatorul este capabil să îl stabilizeze. Același sistem deține performanțe robuste
dacă, în aceleași condiții, compensatorul este capabil să garanteze sistemului real performanțele
cerute.

H � este un memebru al familiei de spații numite Hardy, introduse de matematicianul


Hardy. Este un spațiu de funcții în planul complex, care sunt analitice și mărginite în semiplanul

drept. Importanța teoriei H în stabilitatea robustă a fost prezentată de Glover în 1986.

� �
Metodele de proiectare H funcționează prin minimizarea unei norme H a unei
funcții de transfer în buclă închisă astfel aleasă încât să reflecte stabilitatea și performanța
robustă a sistemului. Norma poate fi privită ca o măsură a performanței unui sistem în funcție de
mărimea semnalelor, funcțiilor de transfer și a incertitudinilor.

Forma generală a sistemului generalizat T cu două intrări și două ieșiri:

u1 T y1

u2 k y2
Fig.26

Intrările și ieșirile au următoarele semnificații:

u1
este intrarea exogenă de tip zgomot alb;
u2
reprezintă variabila de comandă;

y1
este ieșirea de calitate;

y2
este ieșirea măsurată.

Fig. 27 - Pilotul automat pentru unghiul de atitudine longitudinală

�q c �
�dd e �
� �
�d nz �
u1 = � � ; u2 = d e ;
�d q �
� �
�dq �

�dh � � 80280\* MERGEFORMAT (.)

� qc �
�h + d �
w ( qc - q ) �
� � h �

y1 = � �
; y2 = z
� n + d nz

� e d � � �
�q + d q �
�q + d �
� q �
81281\* MERGEFORMAT (.)
� (
�x&= Ar x + Br d e + dd e

)
h&= e = q c - q = q c - Cq x
� 82282\* MERGEFORMAT (.)

Relația 282 se mai poate scrie:

x& �Ar
�� 0 ���
x �
0 Br 0 0 0 0� � B�
= +� u1 + �r �u
h& �
��
�� -Cq

���
h �
0 ��� 1 0 �
0 0 0 0 � �0 �2
83283\*
MERGEFORMAT (.)

sau

x&PA = AxPA + B1u1 + B2u2 ,


84284\* MERGEFORMAT (.)

unde s-au făcut notațiile:

x
�� �A 0� 0 Br
� 0 0 0 0� �B �
xPA = ��; A=� r ; B1 = �
� ; B2 = �r �
� .
h
�� �-Cq 0� 1 0
� 0 0 0 0� �0 � 85285\*
MERGEFORMAT (.)

0 0 0 -w 0 0�
� w 0 0 0 0 0 � ��
� 0
y1 = � �xPA + � �u1 + ��u2
0 0 0 0 0 0�
� 0 0 0 0 0 0 � ��
� 1 86286\*
MERGEFORMAT (.)

Dacă notez

0 0 0 -w 0 0�
� w 0 0 0 0 0�
� 0
��
C1 = � ; D11 = �
� ; D12 = ��
� ,
0 0 0 0 0 0�
� 0 0 0 0 0 0�
� 1
�� 87287\*
MERGEFORMAT (.)

atunci

y1 = C1 xPA + D11u1 + D13u2


88288\* MERGEFORMAT (.)

Dacă notez
0
� 0 0 0 0 0� 1
� 0 0 0 0 0� 0
��

0 0 0 0 0 1 � �
0 0 0 0 0 1 � ��
0
� � � � ��
C2 = �
0 1 0 0 0 0�; D21 = �
0 0 1 0 0 0�; D22 = ��
0
� � � � ��
0
� 0 1 0 0 0� 0
� 0 0 1 0 0� 0
��

0
� 0 0 1 0 0�� �
0
� 0 0 0 1 0�� ��
0
�� 89289\*
MERGEFORMAT (.)

atunci

y2 = C2 xPA + D21u1 + D22u2


90290\* MERGEFORMAT (.)

Fig.28 Răspunsul pilotului automat pentru unghiul de tangaj la comanda treaptă

Programul Matlab
%% Proiectarea pilotului automat pentru unghiul de atitudine longitudinala

disp('Proiectarea pilotului automat pentru unghiul de atitudine longitudinala');


disp(' ');
Zalpha=A(2,2);
% K_nz=Kalpha*g/(U0*Zalpha);
disp('Kq');
disp(Kq);
disp('Ktheta');
disp(Ktheta);

Asas=A-B*[0 K_nz Kq Ktheta];


Bsas=B;
Csas=[0 1 0 0; 0 0 1 0; 0 0 0 1];
Dsas=[0; 0; 0];
Af=-c;
Bf=1;
Cf=1;
Df=0;
[Ar,Br,Cr,Dr]=series(Af,Bf,Cf,Df,Asas,Bsas,Csas,Dsas);
figure(8);
step(Ar,Br,[0 0 0 1 0],0);

% Verificare Re{Lambda(Ar)}<0
disp('Re{Lambda(Ar)}');
disp(real(eig(Ar)));

%% METODA CONVENTIONALA

disp('METODA CONVENTIONALA');
disp(' ');

% Etapa I
% Determinarea K si K0 in cazul in care toate starile sunt masurabile
% (filtrul Kalman lipseste)

disp('Etapa I');
disp('Determinarea K si K0 in cazul in care toate starile sunt masurabile');
disp('(filtrul Kalman lipseste)');
disp(' ');

Ctheta=[0 0 0 1 0];
Arond=[Ar zeros(5,1); -Ctheta 0];
Brond=[Br; 0];
disp('Ponderile se aleg ca fiind:');
% Q=eye(6);
% R=1;
Q=eye(6);
R=1;
[Krond,x]=lqr(Arond,Brond,Q,R);
K=-Krond(:,1:5);
K0=-Krond(:,6);
disp('K='); disp(K);
disp('K0='); disp(K0);

% Verificare Re(Lambda(Arond+Brond*Krond))<0
disp('Re(Lambda(Arond-Brond*Krond))');
disp(real(eig(Arond-Brond*Krond)));

% Raspunsul sistemului la comanda treapta unitate


figure(9);
step(Arond-Brond*Krond,[0 0 0 0 0 1]',[0 0 0 1 0 0],0);
title('Raspunsul sistemului la comanda treapta unitate');

% Raspunsul sistemului la impuls Dirac


figure(10);
impulse(Arond-Brond*Krond,[0 0 0 0 0 1]',[0 0 0 1 0 0],0);

% Etapa II
% Determinarea K si K0 in cazul in care nu toate starile sunt masurabile
% (filtrul Kalman)

disp('Etapa II');
disp('Calculul filtrului Kalman');
disp(' ');

Cr=[zeros(3,1) eye(3) zeros(3,1)];


Dr=zeros(3,1);
disp('Ponderile se aleg ca fiind:');
Q=1e-3;
R=eye(3)*1e-3;

% Calculul filtrului Kalman


[L,P,E]=lqe(Ar,Br,Cr,Q,R);
AFK=Ar-L*Cr;
disp('Filtrul Kalman este (Ar-L*Cr)');
disp(AFK);
disp(L);

% Verificare Re(Lambda(Ar-L*Cr))<0
disp('Re(Lambda(Ar-L*Cr))');
disp(real(eig(Ar-L*Cr)));

t=0:1:200;

% Zgomote:
d1=sqrt(1e-3)*randn(201,1);
d2=sqrt(1e-3)*randn(201,1);
d3=sqrt(1e-3)*randn(201,1);
d4=sqrt(1e-3)*randn(201,1);
figure(10);
plot(t,d1);
title('\bf Zgomotul d_1=d_1(t)');
xlabel('t [s]');
ylabel('d_1');
grid on;

% Alocam o comanda treapta-unitate inainte de zgomot


u=ones(201,1)+d1;
figure(11);
plot(t,u);
axis([0 200 0 2]);
title('\bf Comanda treapta unitate');
xlabel('t [s]');
ylabel('u [m/s]');
grid on;

% Calculul iesirilor u, nz, q si theta


V=lsim(Ar,Br,[1 0 0 0 0],0,u,t);
nz=lsim(Ar,Br,[0 1 0 0 0],0,u,t);
q=lsim(Ar,Br,[0 0 1 0 0],0,u,t);
theta=lsim(Ar,Br,[0 0 0 1 0],0,u,t);

% Iesiri murdarite
nzm=nz+d2;
qm=q+d3;
thetam=theta+d4;

% Viteza estimata
Ve=lsim(AFK,[Br L],[1 0 0 0 0],0,[u nzm qm thetam],t);
figure(12);
plot(t,V,t,Ve);
title('\bf Viteza estimata vs. viteza reala');
xlabel('t [s]');
ylabel('V [m/s]; V_e [m/s]');
grid on;

% Comparatie intre q real, q perturbat si q estimat


% q estimat
qe=lsim(AFK,[Br L],[0 0 1 0 0],0,[u nzm qm thetam],t);
figure(13);
plot(t,q,t,qm,t,qe);
title('\bf q real vs. q perturbat vs. q estimat');
xlabel('t [s]');
ylabel('q [rad/s]; q_m [rad/s]; q_e [rad/s]');
grid on;

%% Masurarea lui theta pentru diferite cazuri

% Simulare fara zgomote


u=ones(201,1);
V=lsim(Ar,Br,[1 0 0 0 0],0,u,t);
nz=lsim(Ar,Br,[0 1 0 0 0],0,u,t);
q=lsim(Ar,Br,[0 0 1 0 0],0,u,t);
theta=lsim(Ar,Br,[0 0 0 1 0],0,u,t);

theta_e1=lsim(AFK,[Br L],[0 0 0 1 0],0,[u nz q theta],t);

% Simulare cu zgomote asupra iesirilor


nzm=nz+d2;
qm=q+d3;
thetam=theta+d4;

theta_e2=lsim(AFK,[Br L],[0 0 0 1 0],0,[u nzm qm thetam],t);

% Simulare cu zgomote asupra iesirilor masurate si comenzii


um=u+d1;

theta_e3=lsim(AFK,[Br L],[0 0 0 1 0],0,[um nzm qm thetam],t);

figure(14);
plot(t,theta_e1,t,theta_e2,t,theta_e3);
title('\bf Simulare cu/fara existenta zgomotelor');
xlabel('t [s]');
ylabel('\Theta_e [rad]');
legend('theta_e_1','theta_e_2','theta_e_3');
grid on;

%% Raspunsul pilotului automat la comanda treapta unitate si impuls Dirac


% Matricea de stabilitate a pilotului automat
disp('Matricea de stabilitate a pilotului automat');
A_pa=[Ar Br*K Br*K0;
L*Cr Ar-L*Cr+Br*K Br*K0;
-Ctheta zeros(1,5) 0];

% Matricea de comanda a pilotului automat


disp('Matricea de comanda a pilotului automat');
B_pa=zeros(11,1); B_pa(11,1)=1; B_pa

% Verificare Re(Lambda(Ar-L*Cr))<0
disp('Re(Lambda(A_pa))');
disp(real(eig(A_pa)));

% Comanda treapta unitate


figure(15);
step(A_pa,B_pa,[Ctheta zeros(1,6)],0);

% Impuls Dirac
figure(16);
impulse(A_pa,B_pa,[Ctheta zeros(1,6)],0);

% Comanda delta_e
figure(17);
step(A_pa,B_pa,[zeros(1,5) K K0],0);

%% Metoda H-infinit
disp('Metoda H-infinit'); disp(' ');
w=100; % ponderea erorii (theta_c-theta)

% x=A*x+B_1*u_1+B_2*u_2
A_1=[Ar zeros(5,1);
-Ctheta 0];
B_1=[Br*[0 1 0 0 0 0];
1 0 0 0 0 0];
B_2=[Br;0];

% y_1=C_1*x+D_11*u_1+D_12*u_2
C_1=[-w*Ctheta 0;
0 0 0 0 0 1];
D_11=zeros(2,6); D_11(1,1)=w;
D_12=[0;1];

% y_2=C_2*x+D_21*u_1+D_22*u_2
C_2=[zeros(2,6);zeros(3,1) eye(3) zeros(3,2)];
C_2(2,6)=1;
D_21=[zeros(2,6);zeros(3,2) eye(3) zeros(3,1)];
D_21(1,1)=1;
D_21(2,6)=1;
D_22=zeros(5,1);

% Aplicarea procedurii 'hinfsyn'


% hinfsyn(p,nmeas,ncon,gmin,gmax,tol,ricmethd,epr,epp);
p=[A_1 B_1 B_2;
C_1 D_11 D_12;
C_2 D_21 D_22];
nmeas=5; % numarul de linii al matricei C_2
ncon=1; % numarul de coloane al matricei B_2
gmin=1; % valoarea minima a lui gamma
gmax=1000; % valoarea maxima a lui gamma
tol=.1; % diferenta relativa intre valorile gamma finale
ric=2; % Ecuatia Riccati rezolvata cu metoda Schur
p=pss2sys(p,6);
minfo(p);
seesys(p);
[k,g]=hinfsyn(p,nmeas,ncon,gmin,gmax,tol,ric);

[A_H,B_H,C_H,D_H]=unpck(g);
disp('Pilotul automat');
A_H
B_H
C_H
D_H

% Raspunsul in timp la comanda treapta


figure(18);
sistem_Hinfinit=ss(A_H,B_H(:,1),C_H(1,:),D_H(1,1));
[theta,t]=step(sistem_Hinfinit);
theta=theta/w;
theta=1-theta;
plot(t,theta);
title('\bf Raspunsul pilotului automat la comanda treapta unitate');
xlabel('t [s]');
ylabel('\Theta [rad]');
grid on;

figure(19);
[theta,t]=impulse(sistem_Hinfinit);
% theta=theta/w; theta=1-theta;
plot(t,theta);
title('\bf Raspunsul pilotului automat la impuls Dirac');
xlabel('t [s]');
ylabel('\Theta [rad]');
grid on;

disp('Valorile proprii ale sistemului rezultant');


disp(eig(A_H));

Rezultate Matlab

Proiectarea pilotului automat pentru unghiul de atitudine longitudinala

Kq

-1.9960

Ktheta

Re{Lambda(Ar)}

-9.5178

-0.3378

-0.0152

-0.0152

-4.0000

METODA CONVENTIONALA

Etapa I

Determinarea K si K0 in cazul in care toate starile sunt masurabile (filtrul Kalman lipseste)

Ponderile se aleg ca fiind:

K=

-1.0337 -1.8239 4.5073 23.6450 -3.8893

K0=

1.0000

Re(Lambda(Arond-Brond*Krond))

-9.5362

-4.1691

-1.9279

-1.9279
-0.0003

-0.2140

Etapa II

Calculul filtrului Kalman

Filtrul Kalman este (Ar-L*Cr)

0.0047 23.3457 -2.5974 -23.9320 0.0038

-0.0001 -1.7278 -13.5384 0.7361 1.2408

0.0033 0.0227 -9.4291 -0.0031 -4.5158

0 0.0647 0.9969 -0.0438 0

0 -0.1223 0.0409 0.0081 -4.0000

-21.0945 2.6050 -8.2680

1.2454 -0.0933 -0.0647

-0.0933 0.0208 0.0031

-0.0647 0.0031 0.0438

0.1223 -0.0409 -0.0081

Re(Lambda(Ar-L*Cr))

-9.5439

-2.8564

-2.7260

-0.0348

-0.0348

Matricea de stabilitate a pilotului automat

Matricea de comanda a pilotului automat


B_pa =

Re(Lambda(A_pa))

-9.5439

-9.5362

-4.1691

-1.9279

-1.9279

-2.8564

-2.7260

-0.2140

-0.0003

-0.0348

-0.0348

Metoda H-infinit

system: 6 states 7 outputs 7 inputs


4.7e-03 2.3e+00 7.6e-03 -3.2e+01 3.8e-03 0.0e+00 | 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00
0.0e+00

-9.8e-05 -4.8e-01 -1.4e+01 6.7e-01 1.2e+00 0.0e+00 | 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00
0.0e+00

3.3e-03 -7.1e-02 -9.4e+00 0.0e+00 -4.5e+00 0.0e+00 | 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00
0.0e+00

0.0e+00 0.0e+00 1.0e+00 0.0e+00 0.0e+00 0.0e+00 | 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00
0.0e+00

0.0e+00 0.0e+00 0.0e+00 0.0e+00 -4.0e+00 0.0e+00 | 0.0e+00 1.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00
1.0e+00

0.0e+00 0.0e+00 0.0e+00 -1.0e+00 0.0e+00 0.0e+00 | 1.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00
0.0e+00

-------------------------------------------------------|---------------------------------------------------------------

0.0e+00 0.0e+00 0.0e+00 -1.0e+02 0.0e+00 0.0e+00 | 1.0e+02 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00
0.0e+00

0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 1.0e+00 | 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00
1.0e+00

0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 | 1.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00
0.0e+00

0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 1.0e+00 | 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 1.0e+00
0.0e+00

0.0e+00 1.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 | 0.0e+00 0.0e+00 1.0e+00 0.0e+00 0.0e+00 0.0e+00
0.0e+00

0.0e+00 0.0e+00 1.0e+00 0.0e+00 0.0e+00 0.0e+00 | 0.0e+00 0.0e+00 0.0e+00 1.0e+00 0.0e+00 0.0e+00
0.0e+00

0.0e+00 0.0e+00 0.0e+00 1.0e+00 0.0e+00 0.0e+00 | 0.0e+00 0.0e+00 0.0e+00 0.0e+00 1.0e+00 0.0e+00
0.0e+00

Resetting value of Gamma min based on D_11, D_12, D_21 terms

Test bounds: 100.0000 < gamma <= 1000.0000

gamma hamx_eig xinf_eig hamy_eig yinf_eig nrho_xy p/f

1.000e+03 7.1e-03 3.0e-06 8.2e-03 1.2e-01 0.0016 p

550.000 7.1e-03 3.0e-06 8.2e-03 1.2e-01 0.0062 p


325.000 7.1e-03 3.0e-06 8.2e-03 1.2e-01 0.0287 p

212.500 7.1e-03 -6.0e+02# 8.2e-03 1.2e-01 0.2408 f

268.750 7.1e-03 3.0e-06 8.2e-03 1.2e-01 0.0752 p

240.625 7.1e-03 3.0e-06 8.2e-03 1.2e-01 0.2462 p

226.563 7.1e-03 -1.8e+04# 8.2e-03 1.2e-01 5.7798# f

233.594 7.1e-03 3.0e-06 8.2e-03 1.2e-01 0.5229 p

230.078 7.1e-03 3.0e-06 8.2e-03 1.2e-01 1.1604# f

230.811 7.1e-03 3.0e-06 8.2e-03 1.2e-01 0.9263 p

230.562 7.1e-03 3.0e-06 8.2e-03 1.2e-01 0.9947 p

230.465 7.1e-03 3.0e-06 8.2e-03 1.2e-01 1.0239# f

230.542 7.1e-03 3.0e-06 8.2e-03 1.2e-01 1.0004# f

Gamma value achieved: 230.5616

Pilotul automat

A_H =

1.0e+04 *

Columns 1 through 12

0.0000 0.0002 0.0000 -0.0032 0.0000 0 0 0 0 0 0 0

-0.0000 -0.0000 -0.0014 0.0001 0.0001 0 0 0 0 0 0 0

0.0000 -0.0000 -0.0009 0 -0.0005 0 0 0 0 0 0 0

0 0 0.0001 0 0 0 0 0 0 0 0 0

0 0 0 0 -0.0004 0 -0.0069 -0.0305 -0.0069 -0.4747 -0.0007 0.1151

0 0 0 -0.0001 0 0 0 0 0 0 0 0

0 -0.0008 0.0004 -0.0005 0 0.0052 -0.0000 0.0003 -0.0001 -0.0036 -0.0000 -0.0006

0 0.0008 -0.0001 -0.0001 0 0.0000 -0.0000 -0.0002 -0.0014 0.0001 0.0001 -0.0000

0 -0.0001 0.0000 0.0000 0 0.0000 0.0000 0.0000 -0.0009 -0.0000 -0.0005 -0.0000

0 -0.0001 0.0000 0.0000 0 -0.0000 0.0000 0.0000 0.0001 0.0000 0.0000 0.0000

0 0.0001 -0.0000 -0.0000 0 0.0000 -0.0489 -0.2158 -0.0489 -3.3568 -0.0051 0.8138

0 0.0000 0.0000 -0.0000 0 0.0002 -0.0000 -0.0000 -0.0000 -0.0001 -0.0000 -0.0000
B_H =

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 1.0000 0 0 0 0

1.0000 0 0 0 0 0

0.9211 0 -7.8553 3.5807 -4.8965 52.2655

0.1235 0 8.3872 -0.6180 -0.6564 0.1544

-0.0070 0 -0.6180 0.1424 0.0370 0.0108

-0.0205 0 -0.6564 0.0370 0.1087 -0.2851

0.0097 0 0.8780 -0.2907 -0.0517 0.0073

7.1247 0 0.1544 0.0108 -0.2851 1.9856

C_H =

1.0e+03 *

Columns 1 through 12

0 0 0 -0.1000 0 0 0 0 0 0 0 0

0 0 0 0 0 0.0010 -0.0691 -0.3051 -0.0691 -4.7472 -0.0066 1.1509

D_H =

100 0 0 0 0 0

0 0 0 0 0 0

Valorile proprii ale sistemului rezultant

-39.6638
-13.7109

-9.5442

-3.2586 + 6.4822i

-3.2586 - 6.4822i

-2.7936 + 0.1020i

-2.7936 - 0.1020i

-0.0082

-0.0104

-0.1272 + 0.1221i

-0.1272 - 0.1221i

-0.5057

Fig.29 Răspunsul sistemului la comanda treaptă după aplicarea ponderilor


În figura 29 este prezentat răspunsul sistemului la comanda treaptă după ce au fost
K, K 0 , matricea de stabilitate a sistemului fiind notată cu Around
introduse ponderile . Ponderile
s-au introdus matricilor obtinute în cadrul programului SAS.

După cum se observă, sistemul se stabilizează intr-un interval de timp de aproximativ


25000 s . Pentru determinarea ponderilor s-a folosit metoda regulatorului liniar pătratic, funcția

Matlab aplicată pentru acestă metodă este lqr (Linear-quadratic regulator design) . În acest caz nu
a fost folosit un Filtru Kalman.

Fig.30 Zgomot alb


Fig.31Raspunsul zgomotului alb la treapta unitate

Fig.32 Evoluția vitezei reale și estimate

În figura 32 sunt prezentate evoluțiile în timp pentru viteza reală și pentru viteza estimată.
V ,Ve
Au fost notate cu și folosită procedura lsim (simulează timpul de răspuns al sistemelor
dinamice la intrări arbitrare). Se observă că cele două grafice se stabilizează la valoarea
m
U 0 = 317.48
s .

Fig.33 Evoluția vitezei unghiulare de tangaj reale, cu zgomot si estimate

În figura 33 sunt prezentate comportările vitezei unghiulare de tangaj reală, cu zgomot


q, qm , qe
alb și estimată (reală,”murdărită”,estimată). Graficele se stabilizează în jurul valorii de
0 m / s (valoarea medie a fiecărui grafic în parte – datorita zgomotelor și a altor petrurbații).
Fig.34 Evoluția unghiului de tangaj reale, cu zgomot și estimate

În mod analog, graficele ce reprezintă evoluția unghiului de tangaj, în timp se stabilizează


0 [ rad ]
în jurul valorii .

Fig.35 Răspunsul sistemului la comanda treaptă – H-infinit


Fig.36 Răspunsul sistemului la comanda impuls Dirac – H-infinit

Figurile 35, respectiv 36 prezintă raspunsul sistemului la comanda traptă și impuls Dirac
Ah , Bh , Ch , Dh
după aplicarea metodei H-infinit . În program matricile rezultante s-au notat cu . Se
observă că pilotul automat stabilizează sistemul îmtr-un interval de aproximativ 600 s (figura
35), iar în cazul raspunsului la comanda impulse, dupa un interval de aproximativ 2 s valoarea
0 [ rad ]
unghiului de tangaj devine .

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