Escolar Documentos
Profissional Documentos
Cultura Documentos
Submitted by:
Andrew Cho
Daniel Boebinger
Minwoong Chae
Muhammad Khanqadri
Section 02
The stability and control of a Boeing 747 aircraft was studied and analyzed in order to
generate stable flight conditions and to examine its flying qualities. The aircraft’s
physical properties, flight data and control derivatives were utilized in order to create
multiple control systems at three flight conditions: climb, cruise and approach. The
project was mainly focused on the cruise condition, since it is at a higher altitude and
susceptible to external disturbances by the atmosphere. After determining the stability
and control coefficients, a MATLAB® program was utilized to find longitudinal and
lateral-directional dynamic models for each specific conditions. From these state-space
models, transfer functions generated responses for different flight controls (i.e. aileron,
rudder, elevator, or combination). Simulink ® was then used to generate the control
system block diagrams, in an attempt to augment the stability of the aircraft at cruise
condition. In general, Boeing 747 aircraft fell in the Level 1 and Level 2 rule for
longitudinal and lateral-directional flying qualities, and is classified as a Class I
aircraft.
1
Table of Contents
Executive Summary……………………………………….……………………………………….………………….Pg 1
Table of Contents………………………………………………………………………..…………………………….Pg 2
Objectives…………………………………………………….……………………………………….…………………..Pg 3
Summary…………………………………………………………………………………………………………………Pg 20
Appendix…………………………………………………………………………………………………………………Pg 21
2
Objective
The purpose of this project was to deal with analyzing the stability and control
system of a Boeing 747 aircraft as well as studying the methods to increase its
stability by designing models to meet certain requirements. Stability and control
derivatives were calculated after being given the aircraft’s geometry and flight data
for the following three conditions: climb, cruise and approach. Using MATLAB®
program, state space equations were found for longitudinal and lateral directional
modes that enabled to find various parameters such as their transfer functions.
After finding the transfer functions, Simulink models were designed for controllers
such as heading command, roll command and coordinated turn systems.
3
Results and Discussion
Data for the Boeing 747-200 is given on Appendix, and this data was inputted
into MATLAB as shown in the Appendix for each flight condition: approach, low cruise,
and low cruise. . With all these values inputted and verified, State Space Models were
built based on the attached document (Appendix B) written by Dr. Bhandari. The values
used in the State Space Models were the following values shown below.
𝑢̇ 𝑢
−0.0124 −0.0173 0 −0.1441 0
𝑢0 𝑢
−29.5041 −105.99 214.644 −4.7595] 0 −6.5565
𝛼̇ = [ 0.1578 −5.6812 −3.5493 0.0145 𝛼 + [−0.3997] 𝛿𝑒
𝑞̇ 𝑞
0 0 1 0 [𝜃] 0
[ 𝜃̇ ]
For the low cruise conditions, the state-space models were found to have the following
values:
𝑢̇ 𝑢
−0.0039 0.0012 0 −0.0478 0
𝑢0 𝑢0
−43.9415 −354.1522 662.3052 −1.4045 −25.5659
𝛼̇ = [ 0.0169 −1.3028 −.5417 0
] 𝛼 + [ −1.6937 ] 𝛿𝑒
𝑞̇ 𝑞
0 0 1 0 [ 𝜃]
0
[ 𝜃̇ ]
−0.1068 0 −1 0.0478 𝛽
𝑝
= [−2.7218 −0.8422 0.3220 0 ] [𝑟]
.9967 −0.0236 −0.2540 0
0 1 0 0 𝜙
0 0.0142
+[ 0.2211 0.1361 ] [𝛿𝑎 ]
0.0112 −0.6229 𝛿𝑟
0 0
4
Finally, the state-space models for the high cruise flight conditions were calculated to be
the following:
𝑢̇ 𝑢
−0.0200 −0.0149 0 −0.0369 0
𝑢0 𝑢
−21.6925 −344.6636 863.4238 −1.3484] 0 −18.5936
𝛼̇ = [ −0.0910 −1.6171 −0.4039 0 𝛼 + [ −1.2128 ] 𝛿𝑒
𝑞̇ 𝑞
0 0 1 0 [𝜃] 0
[ 𝜃̇ ]
The five dynamic modes, phugoid and short period for longitudinal, roll, spiral,
and Dutch- roll were determined. These modes are described by the corresponding
eigenvalue and the natural frequencies along with damping ratios were calculated for the
second-order modes (short period, phugoid, and Dutch-roll). For the first- order modes,
roll and spiral, the time constant was calculated. These values for the cruise condition are
Damping
Eigenvalue Natural Frequency (rad/s) Time Constant (s)
Ratio
The damping ratios, natural frequencies, and time constants were also calculated
for each dynamics mode in the low cruise and high cruise flight conditions. For both of
these flight conditions, however, the phugoid and spiral dynamics modes were found to
5
be unstable. Therefore, the time to double was then calculated instead of time constant for
the spiral mode. The dynamic mode attributes are presented in Table 2 for low cruise
conditions and in Table 3 for approach conditions.
Damping Ratio Natural Frequency (rad/s) Time Constant (s) Time to Double (s)
Table 3 – Attributes of the dynamics modes for high cruise flight conditions
Damping Ratio Natural Frequency (rad/s) Time Constant (s) Time to Double (s)
The open loop response of the aircraft in low cruise condition to step inputs in
elevator, aileron, and rudder were of our interest so that it could be determined where
stability augmentation systems would be required. The response to the elevator input can
be observed in Figure 1. The settling times get larger and there is a larger amount of
error. Figures below show the aircraft’s response to aileron and rudder steps. The slow
responses and large errors are apparent issues in the analysis when the plots are observed.
Figures/Plots
6
Figure 1: Open Loop Step response to elevator, aileron, and rudder for low cruise
flight
Condition
Six transfer functions at the cruise flight conditions were of particular interest for
the development of the command systems. From the longitudinal state-space model, the
the following:
7
𝜓 −0.03864𝑠 3 − 1.716𝑠 2 − 0.003087𝑠 + 0.005394
(𝑠) = 4
𝛿𝑒 𝑠 + 1.187𝑠 3 + 1.598𝑠 2 + 0.004608𝑠 + 0.004558
From the lateral-directional state-space model, the bank angle-to-aileron, heading angle-
Using the final value theorem, which associates the Laplace Transform to the
original time domain function, the steady state values were found to be 0.0789 for the
bank angle-to-aileron transfer function, where the input is a unit step. For both the
heading angle-to-rudder and heading angle-to-aileron transfer functions, the final value
approached infinity. These transfer functions also mapped onto their own respective root
locus plots. Figures show the root locus of each of the above transfer functions. In
addition to the root loci, bode plots were generated for each of the transfer functions. The
gain and phase margins are displayed on these Bode plots, where applicable.
8
Figure 2: Open Loop Root Locus Plots for low cruise flight condition
9
Figure 3: Bode Plots for low cruise flight condition
10
The Simulink models used to simulate each system can be found below along
with a table that shoes the zeros and poles for the Roll Command System. The steady
state error of 0% was met when observing the plots it is easy to see that.
Table 4 – Closed loop Zeros and Poles for Roll Command System
Below, the Simulink diagram and plots are given for roll command, climb, and
altitude hold, coordinate turn, heading angle hold, and also Yaw damper. The
longitudinal and lateral direrctional flying handling qualities for the aircraft were
determined during approach, low cruise, and high cruise flight conditions. The flying
handling qualities decided were based from Robert C. Nelson’s Flight Stability and
Automatic Control, Assuming that each flight condition was classified as category B. For
cruise, the phugoid and short period modes each met the criteria for level 1 performance.
The roll, spiral, and Dutch-roll modes all are characterized as level 1 as well and for
approach, the phugoid mode is again unstable. The phugoid mode has level 3
performance, but the short period, roll, spiral, and Dutch-roll modes all are level 1
performance.
11
Roll command
12
Climb: using Simulink
13
14
Altitude Hold
15
16
Coordinate Turn
17
Heading Angle Hold
18
Yaw Damper
19
Summary
The objective of this project was to analyze the stability and control parameters of
the Boeing 747-200. This was done using MATLAB and steady state models of the
longitudinal and lateral- directional dynamics of the aircraft in approach, low cruise, and
high cruise were developed. The transfer functions were then calculated for pitch angle to
elevator, altitude to elevator, bank angle to aileron, heading angle to aileron, heading
angle to rudder, and yaw rate to rudder. The satisfied PID gains for the roll command
system were 50, 10, and 10 for kp, ki, kd. The criteria for the system roll command system
were met with the selected PID gain values. The roll command system had a settling time
of 5.47 seconds, Rise time of 0.666 seconds and overshoot of 5.87%. The criteria for the
Climb were met with the selected PID gain values, for low cruise the rise time was 1.73
seconds with an overshoot of 6.28% and a settling time of 4.44 seconds. The criteria for
the altitude were met with the selected PID gain values ,for the altitude hold the rise time
was 1.7*10^3 seconds with an overshoot of 5.01% and a settling time of 5.8*10^3
seconds. For the designed altitude hold system, the gain values were -8, 0, and -5 for kp,
ki, and kd. Its feedback gain was -50,000. Based on the longitudinal and lateral-
directional results, the Boeing 747-200 was given flying handling qualities based from
Robert C. Nelson’s Flight Stability and Automatic Control. The aircraft was found to
have Level 1 flying qualities for all dynamics modes in cruise flight. For both low cruise
and high cruise flight conditions, every mode has Level 1 flight qualities except for the
20
Appendix
MATLAB Codes:
clear;
%ARO 405-02%
%Aircraft Stability and Control Project%
%Group15%
%Boeing 747-200%
%For Matrices:
% column 1 = Approach, column 2 = Cruise (low), column 3 = Cruise
(high)%
%Mass Data%
W=[564000 636636 636636];%Weight%
Ixx=[13700000 18200000 18200000];%Mass Moment of Inertia%
Iyy=[30500000 33100000 33100000];%Mass Moment of Inertia%
Izz=[43100000 49700000 49700000];%Mass Moment of Inertia%
Ixz=[830000 970000 970000];%Mass Moment of Inertia%
21
C_L_alpha=[5.67 4.4 5.5];
C_L_alphadot=[6.7 7.0 8.0];
C_L_q=[5.65 6.6 7.8];
C_m_0=[0 0 0];
C_m_u=[0.071 0.013 -0.09];
C_m_alpha=[-1.45 -1.00 -1.60];
C_m_alphadot=[-3.3 -4.0 -9.0];
C_m_q=[-21.4 -20.5 -25.5];
C_m_T_u=[0 0 0];
C_m_T_alpha=[0 0 0];
%PART 1%
LongA_A=zeros(4,4);%Longitidinal State-Space C Matrix for Approach%
LongB_A=zeros(4,1);%Longitidinal State-Space D Matrix for Approach%
LatA_A=zeros(4,4);%Lateral State-Space C Matrix for Approach%
LatB_A=zeros(4,2);%Lateral State-Space D Matrix for Approach%
LongA_L=zeros(4,4);%Longitidinal State-Space C Matrix for Low Cruise%
LongB_L=zeros(4,1);%Longitidinal State-Space D Matrix for Low Cruise%
LatA_L=zeros(4,4);%Lateral State-Space C Matrix for Low Cruise%
LatB_L=zeros(4,2);%Lateral State-Space D Matrix for Low Cruise%
LongA_H=zeros(4,4);%Longitidinal State-Space C Matrix for High Cruise%
22
LongB_H=zeros(4,1);%Longitidinal State-Space D Matrix for High Cruise%
LatA_H=zeros(4,4);%Lateral State-Space C Matrix for High Cruise%
LatB_H=zeros(4,2);%Lateral State-Space D Matrix for High Cruise%
for i=1:1:3
%Summary of Longitudinal Derivatives%
Xu(1,i)=-(C_D_u(1,i)+2*C_D_0(1,i))*qbar(1,i)*S/(W(1,i)/g*U1(1,i));
Xw(1,i)=-(C_D_alpha(1,i)-C_L_0(1,i))*qbar(1,i)*S/(W(1,i)/g*U1(1,i));
Xdeltae(1,i)=-C_D_delta_e(1,i)*qbar(1,i)*S/(W(1,i)/g);%Assumption%
Zu(1,i)=-(C_L_u(1,i)+2*C_L_0(1,i))*qbar(1,i)*S/(W(1,i)/g*U1(1,i));
Zw(1,i)=-(C_L_alpha(1,i)+2*C_D_0(1,i))*qbar(1,i)*S/(W(1,i)/g*U1(1,i));
Zwdot(1,i)=-C_L_alphadot(1,i)*cbar*qbar(1,i)*S/(2*U1(1,i)^2*W(1,i)/g);
%C_z_alphadot=-C_L_alphadot%
Zalpha(1,i)=U1(1,i)*Zw(1,i);
Zalphadot(1,i)=U1(1,i)*Zwdot(1,i);
Zq(1,i)=-C_L_q(1,i)*cbar*qbar(1,i)*S/(2*U1(1,i)*W(1,i)/g);%C_Z_q=-
C_L_q%
Zdeltae(1,i)=-C_L_delta_e(1,i)*qbar(1,i)*S/(W(1,i)/g);
%C_Z_delta_e=-C_L_delta_e%
Mu(1,i)=C_m_u(1,i)*qbar(1,i)*S*cbar/(U1(1,i)*Iyy(1,i));
Mw(1,i)=C_m_alpha(1,i)*qbar(1,i)*S*cbar/(U1(1,i)*Iyy(1,i));
Mwdot(1,i)=C_m_alphadot(1,i)*cbar^2*qbar(1,i)*S/(2*U1(1,i)^2*W(1,i)/g);
Malpha(1,i)=U1(1,i)*Mw(1,i);
Malphadot(1,i)=U1(1,i)*Mwdot(1,i);
Mq(1,i)=C_m_q(1,i)*cbar^2*qbar(1,i)*S/(2*U1(1,i)*Iyy(1,i));
Mdeltae(1,i)=C_m_delta_e(1,i)*qbar(1,i)*S*cbar/Iyy(1,i);
23
LongA_A(3,1)=U1(1,1)*Mu(1,1);
LongA_A(3,2)=Malpha(1,1);
LongA_A(3,3)=Mq(1,1);
LongA_A(4,3)=1;
LongB_A(1,1)=Xdeltae(1,1)/U1(1,1);
LongB_A(2,1)=Zdeltae(1,1);
LongB_A(3,1)=Mdeltae(1,1);
%Cruise (Low)%
LongA_L(1,1)=Xu(1,2);
LongA_L(1,2)=Xw(1,2);
LongA_L(1,4)=-g*cos(alpha1(1,2)*pi/180)/U1(1,2);
LongA_L(2,1)=U1(1,2)*Zu(1,2);
LongA_L(2,2)=Zalpha(1,2);
LongA_L(2,3)=U1(1,2)+Zq(1,2);
LongA_L(2,4)=-g*sin(alpha1(1,2)*pi/180);
LongA_L(3,1)=U1(1,2)*Mu(1,2);
LongA_L(3,2)=Malpha(1,2);
LongA_L(3,3)=Mq(1,2);
LongA_L(4,3)=1;
LongB_L(1,1)=Xdeltae(1,2)/U1(1,2);
LongB_L(2,1)=Zdeltae(1,2);
LongB_L(3,1)=Mdeltae(1,2);
%Cruise (High)%
LongA_H(1,1)=Xu(1,3);
LongA_H(1,2)=Xw(1,3);
LongA_H(1,4)=-g*cos(alpha1(1,3)*pi/180)/U1(1,3);
LongA_H(2,1)=U1(1,3)*Zu(1,3);
LongA_H(2,2)=Zalpha(1,3);
LongA_H(2,3)=U1(1,3)+Zq(1,3);
LongA_H(2,4)=-g*sin(alpha1(1,3)*pi/180);
LongA_H(3,1)=U1(1,3)*Mu(1,3);
LongA_H(3,2)=Malpha(1,3);
LongA_H(3,3)=Mq(1,3);
LongA_H(4,3)=1;
LongB_H(1,1)=Xdeltae(1,3)/U1(1,3);
LongB_H(2,1)=Zdeltae(1,3);
LongB_H(3,1)=Mdeltae(1,3);
24
LatB_A(2,2)=Ldeltar(1,1);
LatB_A(3,1)=Ndeltaa(1,1);
LatB_A(3,2)=Ndeltar(1,1);
%Cruise (Low)%
LatA_L(1,1)=Ybeta(1,2)/U1(1,2);
LatA_L(1,2)=Yp(1,2)/U1(1,2);
LatA_L(1,3)=-(1-Yr(1,2)/U1(1,2));
LatA_L(1,4)=g*cos(alpha1(1,2)*pi/180)/U1(1,2);
LatA_L(2,1)=Lbeta(1,2);
LatA_L(2,2)=Lp(1,2);
LatA_L(2,3)=Lr(1,2);
LatA_L(3,1)=Nbeta(1,2);
LatA_L(3,2)=Np(1,2);
LatA_L(3,3)=Nr(1,2);
LatA_L(4,2)=1;
LatB_L(1,2)=Ydeltar(1,2)/U1(1,2);
LatB_L(2,1)=Ldeltaa(1,2);
LatB_L(2,2)=Ldeltar(1,2);
LatB_L(3,1)=Ndeltaa(1,2);
LatB_L(3,2)=Ndeltar(1,2);
%Cruise (High)%
LatA_H(1,1)=Ybeta(1,3)/U1(1,3);
LatA_H(1,2)=Yp(1,3)/U1(1,3);
LatA_H(1,3)=-(1-Yr(1,3)/U1(1,3));
LatA_H(1,4)=g*cos(alpha1(1,3)*pi/180)/U1(1,3);
LatA_H(2,1)=Lbeta(1,3);
LatA_H(2,2)=Lp(1,3);
LatA_H(2,3)=Lr(1,3);
LatA_H(3,1)=Nbeta(1,3);
LatA_H(3,2)=Np(1,3);
LatA_H(3,3)=Nr(1,3);
LatA_H(4,2)=1;
LatB_H(1,2)=Ydeltar(1,3)/U1(1,3);
LatB_H(2,1)=Ldeltaa(1,3);
LatB_H(2,2)=Ldeltar(1,3);
LatB_H(3,1)=Ndeltaa(1,3);
LatB_H(3,2)=Ndeltar(1,3);
%PART 2%
eig(LatA_L)
eig(LongA_L)
%PART 3%
%Calculate Eigenvalues Damping Ratios, and Natural Frequencies%
damp(LatA_A)
damp(LatA_L)
damp(LatA_H)
damp(LongA_A)
damp(LongA_L)
damp(LongA_H)
%For Tau (Time constant) use graphical results%
25
%Part 4%
C=eye(4);
D1=zeros(4,1);
D2=zeros(4,2);
figure(1)
subplot(1,3,1)
step(LongA_L,LongB_L,C,D1,1)
subplot(1,3,2)
step(LatA_L,LatB_L,C,D2,1)
subplot(1,3,3)
step(LatA_L,LatB_L,C,D2,2)
%Part 5%
[numLong,denLong]=ss2tf(LongA_L,LongB_L,C,D1,1);
[numLat1,denLat1]=ss2tf(LatA_L,LatB_L,C,D2,1);
[numLat2,denLat2]=ss2tf(LatA_L,LatB_L,C,D2,2);
%Part 6%
fvBankAileron=numLat1(4,4)/denLat1(1,4);
fvHeadAileron=0;%numLat1(3,4)/denLat1(1,4);
fvHeadrudder=0;%numLat2(3,4)/denLat2(1,4);
%Part 7%
j=1;
for i=1:3:10
figure(2)
subplot(4,3,i)
rlocus(tf(numLong(j,:),denLong))
subplot(4,3,i+1)
rlocus(tf(numLat1(j,:),denLat1))
subplot(4,3,i+2)
rlocus(tf(numLat2(j,:),denLat2))
j=j+1;
hold
end
%Part 8%
j=1;
for i=1:3:10
figure(3)
subplot(4,3,i)
bodeplot(tf(numLong(j,:),denLong))
subplot(4,3,i+1)
bodeplot(tf(numLat1(j,:),denLat1))
subplot(4,3,i+2)
bodeplot(tf(numLat2(j,:),denLat2))
j=j+1;
hold
end
26
Simulink Diagrams:
Roll command
27
Climb
28
Altitude Hold
29
Coordinate Turn
30
Heading Angle Hold
31
Yaw Damper
32
33