0% found this document useful (0 votes)
180 views

Design Project

This document describes the design of an automatic pitch control system for an aircraft. It presents equations of motion for an aircraft's pitch dynamics and derives a third-order transfer function relating elevator deflection to pitch angle. Plots show the open-loop system is unstable for impulse and step inputs, while the closed-loop unity feedback system is stable but responds poorly to a step input. Frequency response plots like the Bode diagram are suggested to further analyze system performance.

Uploaded by

Robert T Kasumi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
180 views

Design Project

This document describes the design of an automatic pitch control system for an aircraft. It presents equations of motion for an aircraft's pitch dynamics and derives a third-order transfer function relating elevator deflection to pitch angle. Plots show the open-loop system is unstable for impulse and step inputs, while the closed-loop unity feedback system is stable but responds poorly to a step input. Frequency response plots like the Bode diagram are suggested to further analyze system performance.

Uploaded by

Robert T Kasumi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Robert Kasumi

ME 343 - 010

11/27/19

Control Systems Design Project

A classical example of a third-ordered control system seen in everyday life is the automatic pitch control

on an aircraft. Similar engineering principals are also used in designing an aircraft’s roll and yaw control,

however, an analysis of an aircraft’s response on one of its principal axis is sufficient to understand the theory

involved in designing systems to control motion about its other two principal axes.

Since this analysis only involves pitch, the aircraft will be modeled using the 𝑥 − 𝑧 coordinate plane and

a non-inertial reference frame, where the frame of reference is fixed on the aircraft’s center of gravity. The 𝑥

axis corresponds to horizontal translation of the center of gravity while 𝑧 axis corresponds to vertical translation

of the center of gravity. In this specific example, several assumptions will be made to simplify the dynamic

response of the aircraft. First, it will be assumed that the aircraft is cruising at a constant velocity and altitude

and therefore thrust, drag, lift, and weight forces balance each other in the 𝑥 − and 𝑧 − directions. This can be

mathematically represented with the following relationships:

𝑑𝑥̇ 𝑑𝑢 𝑑𝑧
= =0 =0 𝑇=𝐷 𝐿=𝑊
𝑑𝑡 𝑑𝑡 𝑑𝑡

Additionally, it will be assumed that changes in pitch angle will not affect the speed at which the aircraft is flying

at. Although this assumption is unrealistic, it simplified the relationships used to describe the motion of the

aircraft. With the use of these assumptions, the equations of motion for an aircraft can be mathematically

represented with the following equations:

1
𝛼̇ = 𝜇𝛺𝜎[−(𝐶𝐿 + 𝐶𝐷 )𝛼 + 𝑞 − (𝐶𝑊 sin 𝛾)𝜃 + 𝐶𝐿 ]
(𝜇 − 𝐶𝐿 )

𝜇Ω
𝑞̇ = [[𝐶 − 𝜂(𝐶𝐿 + 𝐶𝐷 )]𝛼 + [𝐶𝑀 + 𝜎𝐶𝑀 (1 − 𝜇𝐶𝐿 )]𝑞 + (𝜂𝐶𝑊 sin 𝛾)𝛿
2𝑖𝑦𝑦 𝑀
𝜃̇ = 𝛺𝑞

where the elevator deflection angle, 𝛿, is the input and pitch angle, 𝜃, is the output of the aircraft. Using the

longitudinal stability characteristics from of a Boeing 747-200, these equations can be simplified as

𝛼̇ = −0.313𝛼 + 56.7𝑞 + 0.232𝛿

𝑞̇ = −0.0139𝛼 − 0.426𝑞 + 0.0203𝛿

𝜃̇ = 56.7𝑞

A transfer function relating the deflection angle to the pitch angle can be found by applying the Laplace

transform function with initial conditions of zero to the equations for 𝛼̇ , 𝑞̇ , 𝜃̇ , and 𝛿, or 𝐴(𝑠), 𝑄(𝑠), 𝜃(𝑠), and

∆(𝑠) respectively.

ℒ (𝛼̇ ) = 𝑠𝐴(𝑠) = −0.313𝐴(𝑠) + 56.7𝑄(𝑠) + 0.232∆(𝑠)

ℒ (𝑞̇ ) = 𝑠𝑄(𝑠) = −0.0139𝐴(𝑠) − 0.426𝑄(𝑠) + 0.232∆(𝑠)

ℒ(𝜃̇ ) = 𝜃𝑠(𝑠) = 56.7𝑄(𝑠)

𝜃(𝑠) 1.151𝑠 + 0.1774


𝑃(𝑠) = = 3
∆(𝑠) 𝑠 + 0.739𝑠2 + 0.921𝑠

It is evident that the transfer function relation the deflection angle to the pitch angle is a third order system

because the highest degree of the Laplace variable 𝑠 is three. Currently, the relationship between the input, the

aileron deflection angle, and the output, the pitch angle, is uncompensated. The uncompensated open loop

system can be seen below.

1.151𝑠 + 0.1774
∆(𝑠) 𝜃(𝑠)
𝑠 3 + 0.739𝑠2 + 0.921𝑠
The ailerons on a Boeing 747-200 have a maximum and minimum aileron deflection angle of 26° and -26°,

respectively. Additionally, the maximum and minimum pitch attitude for this aircraft is 40° and −10°,

respectively. The pitch of an aircraft is regulated by the Pitch Limit Indicator (PLI). As for angle of attack, most

wide-body commercial jet airliners have a critical angle of attack (the angle that produces the maximum lift

coefficient, anything above causes the aircraft to stall) of about 18°.

We can visualize the response of pitch angle as aileron deflection angle varies by plotting the open-loop

response of the transfer function shown above. The impulse function within MATLAB was used to simulate

an elevator impulse input of 26° (0.4538 radians). The following plot shows the pitch angle response to this

input with respect to time.

Here, we can see the peak amplitude of the response reaching 0.384 radians (22°) which is within the attitude

bounds for a Boeing 747-200. Additionally, the plot shows that it takes 10.3 seconds for the aircraft to settle

when experiencing an impulse input of this magnitude, indicating that the system is unstable when an impulse

input is applied.

The open-loop response for a step input can also be plotted to visualize how the system would respond

to a step input. In the plot below, the step function within MATLAB was used to simulate a step input of 26°

(0.4538 radians).
It is evident that the open-loop response is unstable, as it doesn’t settle at any point.

An evaluation of the system’s stability can be performed by analysis its corresponding root locus

diagram. A root locus diagram of the of the open-loop system is shown below.

The root locus plot is helpful in determining the stability of a system. The poles of the system, indicated by x’s on

the root locus plot, can be found using the pole function within MATLAB. Using this function, the poles were

evaluated to be located at 0, −0.3695 + 0.8857i, and −0.3695 − 0.8857i. When plotted on the complex s-

plane, one of the poles (0) falls on the imaginary axis, while the other two poles (−0.3695 + 0.8857i, and

−0.3695 − 0.8857i) reside in the left-hand plane. As evident by the response of the system to a step input, the

system will grow unbounded when an unbounded input is applied. This can be attributed to the pole at the
origin. The zero function within MATLAB was used to find the zeros of the system. The open-loop system

contains one zero located at 0.00 − 0.154i.

The performance of the system can be improved by adding a feedback controller to the open-loop

system, making it a closed loop system. The transfer function of the closed loop system was found by using the

feedback function within MATLAB. A block diagram of the closed-loop unity feedback system is shown

below.

𝐶𝑜𝑛𝑡𝑟𝑜𝑙𝑙𝑒𝑟 𝑃𝑙𝑎𝑛𝑡

1.151𝑠 + 0.1774
∆(𝑠) 1 𝜃(𝑠)
𝑠3 + 0.739𝑠2 + 0.921𝑠

The resulting transfer function of this block diagram is:

1.151𝑠 + 0.1774
𝜃(𝑠) 𝑃(𝑠) 𝑠 3 + 0.739𝑠 2 + 0.921𝑠 1.151𝑠 + 0.1774
𝑇(𝑠) = = = = 3
∆(𝑠) 1 + 𝑃(𝑠) 1 + 1.151𝑠 + 0.1774 𝑠 + 0.739𝑠2 + 2.072𝑠 + 0.1774
3 2
𝑠 + 0.739𝑠 + 0.921𝑠

To analyze the stability of the system, same impulse and step inputs (0.4538 or 26°) were that were

applied to the open-loop system will now be applied to the closed-loop unity feedback system using the

impulse and step functions, respectively. The system’s response to an impulse input is shown below.
As shown by the plot, the response of the system peaks at 1 second with an overshoot of.28 radians (16.04°).

This is well within the pitch bounds of -10° and 40°. Additionally, the system settles at zero with a settling time

of 15.6 seconds, indicating that the system is now stable when responding to an impulse input.

The system responds much more poorly to a step input of 0.4538 radians (26°) than an impulse input of

the same magnitude. A plot of the response is shown below.

An analysis of the closed-loop unity feedback to a step input shows that the system has a rise time of 1.74

seconds, however, the system undershoots the set point at this specific time. Additionally, the system has a

settling time of 35.1 seconds. Although the system is stable, as it converges on the set point of 0.4538 radians

(26°), it takes a long time to do so.

A root locus plot is helpful in determining the performance of the closed-loop unity feedback system

with varying gain. The root locus plot of the system is shown below.
The root locus plot of the closed-loop unity feedback system never crosses into the left-hand plane of the s-

plane, and therefore is stable at all gain values.

A Bode plot displays the frequency response of a system quickly and efficiently and is a useful tool for

control system design. This visual representation of a system plots the magnitude of a system’s response in

decibels (dB) using a logarithmic scale with respect to increasing frequencies, measured in radians/second,

which are plotted linearly. Additionally, a plot of a system’s phase with respect to frequency is plotted. When

compared, these plots of magnitude and phase can highlight important system characteristics such as gain and

phase margin, or the gain and phase perturbations that make the system marginally stable.

Using the Body plot of the open-loop system will illustrate the stability margins for its respective closed-

loop unity feedback system. The magnitude and phase plots for the open-loop system, in addition to its gain and

phase margins, are shown below.

As evident by the graph above, the system’s phase never crosses -180°, meaning that the gain margin is infinite.

This is supported by the system’s root locus plot never crossing into the left-hand plane. In this case, the phase

margin is much more useful in determining system stability. For this system, the gain crossover frequency occurs

at 1.27 radians/sec, yielding a phase margin of 46.9°.


The phase margin is also important in determining the system’s response to time delay. A time delay

greater than 𝑃𝑀/𝜔𝑔𝑐 , where 𝑃𝑀 is the system’s phase margin in radians and 𝜔𝑔𝑐 is the frequency where the

system’s magnitude equals zero, the system will experience instability in its closed-loop form. The time delay in

which this specific system experiences stability was found to be:

rad 𝜋 rad
𝑃𝑀 [ ] 46.9° ( )
s = 180° = .6445 seconds
𝜔𝑔𝑐 1.27 rad/s

Determining the bandwidth of a system is important in controller design as it indicates how a system

reacts to changing inputs. A system with a low bandwidth is not able to respond, or track, to changing inputs as

a system with high bandwidth. There are benefits and drawback to modifying a system’s bandwidth. A benefit to

increasing bandwidth, as previously mentioned, allows a system to better track changes in its input. The tradeoff

of increasing bandwidth is that systems with high bandwidth are more sensitive to noise in the commands they

are given and will not filter them out as a system with low bandwidth would. Because of this tradeoff, it is

important to find a balance between a systems ability to track changes and filter out noise that is appropriate

for its application.

Mathematically, the bandwidth is the frequency at which the system’s closed-loop gain drops below

70.79% (-3 dB) of its DC value. Since frequency response design involved predicting a system’s closed-loop

performance from its open-loop system, we are concerned with analyzing the bandwidth of the open-loop

system. A 70.79% drop of a closed-loop system’s DC value corresponds to a -6 dB to -7 dB drop in its open-loop

system. The bandwidth for the system’s open and closed-loop response are 1.73 rad/s and 0.155 rad/s,

respectively which are shown below.


Figure 1: Open-loop bandwidth frequency (1.73 rad/s).

Figure 2: Closed-loop bandwidth frequency (0.155 rad/s).

As previously mentioned, our closed-loop unity feedback system has a bandwidth of 0.155 rad/s. This

means that any input with a higher frequency will become marginally unstable at 0.644 seconds, according to its

time delay. A plot of the system’s closed-loop performance compared to a sinusoidal input with a frequency of

.155 rad/s and magnitude of .438 rad (the aileron’s maximum possible input) is shown below.
The ability of the closed-loop system to track an input with a frequency of .155 rad/s is poor, as predicted by its

bandwidth. Additionally, the system becomes marginally unstable almost immediately at 0.644 seconds. Since

the system is trailing behind the input its given, a lead compensator will add phase to the system, allowing it to

track more effectively. Conversely, adding a lead compensator will increase the bandwidth of the system, thus

decreasing its ability to filter out noise and other low-frequency disturbances. The general form of a lead

compensator is

𝑠+𝑎 𝑎
𝐶(𝑠) = ( > 1)
𝑠+𝑏 𝑏

The two parameters that will affect the system’s response are 𝑎, and 𝑏. Since the entire root locus plot of the

closed-loop unity feedback system resides in the left-hand plane of the s-plane, there is no need to introduce

other poles to the system. This would improve the response of a system with a root locus plot that enters the

right-hand plane. However, a compensator can be designed to increase the steady-state tracking error of a

sinusoidal input. An example of a compensator that would improve the steady state-tracking of a sinusoidal

input by a factor of five is:

𝑠 + .05
𝐶(𝑠) =
𝑠 + .01

A block diagram of the new system its response to a sinusoidal input is shown below.
1.151𝑠 + 0.1774
∆(𝑠) 1 𝜃(𝑠)
𝑠3 + 0.739𝑠 2 + 0.921𝑠

𝑠 + .05
𝑠 + .01

Clearly, the ability of the system to track an input has improved tremendously.

An analysis of the compensated closed-loop unity feedback system’s response to a step input of

maximum aileron deflection (.438 radians), it is evident that the system is not close to reaching the physical

limitations of its output variable, pitch, which has bounds of -10° to 40° (-0.175 rad to .698 rad). The gain value

of the lead compensator, 𝐾, is can be modified to reduce the system’s steady-state error by decreasing its rise

time. This is accomplished by setting the gain to a value greater than one. Doing so may increase the overshoot

of the system when a step input is applied, potentially surpassing the mechanical limits of the output variable.

The highest value of 𝐾 that reaches the limitations of the output variable is 5.25. A plot of the system’s response

to a step input of magnitude 0.438 rad and the compensated system with gain is shown below:
1.151𝑠 + 0.1774
∆(𝑠) 1 𝜃(𝑠)
𝑠3 + 0.739𝑠 2 + 0.921𝑠

𝑠 + .05
5.25
𝑠 + .01

The response of the open-loop system’s behavior can also be modeled using state-space representation.

A state-space representation is similar to a transfer function in that it also shows the relationship between an

input to its output in terms of state variables. A state variable is a set of one or more variables that describe the

behavior of a system. The state variables describing the system’s output are the angle of attack, pitch rate of the

aircraft, and the pitch angle, or 𝛼, 𝑞, and 𝜃, respectively, because these values change in time with different

inputs. The state-space representation can be easily found using the modeling equations for 𝛼̇ , 𝑞̇ , and 𝜃̇ that

were previously derived. The state-representation of the open-loop system is

𝛼̇ −0.313 56.7 0 𝛼 0.232


[ 𝑞̇ ] = [−0.0139 −0.426 0] [𝑞 ] + [0.0203] [𝛿]
𝜃̇ 0 56.7 0 𝜃 0

with the output


𝛼
𝑦 = [0 0 1] [ 𝑞 ] + [0][𝛿]
𝜃

Before attempting to control the system using a state-space approach, the controllability matrix of the

state-space model must first be determined. The controllability matrix is important in characterizing if a system

is controllable or not. A system is controllable when the degree of its controllability matrix equals the number of

state variables of the system. The controllability matrix can be found using the ctrb function within MATLAB.

The rank of the controllability matrix equals three, and since there are three state variables, the system

is controllable. Using the place function within MATLAB, we are able to place three zeros anywhere on the s-

plane, as the system is controllable. In order to achieve the same response as the compensated closed-loop

unity feedback system created when controlling the system using frequency response, the poles placed using

the state-feedback gain, 𝐾, should equal the poles of the compensated system. The four poles of the

compensated system are -0.235 + 2.6016i, -0.235 - 2.6016i, -0.159 + 0.04407i, and -0.159 - 0.04407i. We are only

able to place three of the four poles, since the input matrix, 𝐵, has a multiplicity of three. Therefore, the poles

are -0.235 + 2.6016i, -0.235 - 2.6016i, and -0.159 + 0.04407i were chosen to be placed in the system. The state-

feedback gain matrix 𝐾 that resulted is

𝐾 = [−0.869 + 1.5954𝑖 4.5514 − 20.4036𝑖 6.12418 − 1.695𝑖]

Which yielded the following response when a sinusoidal input of magnitude 0.438 rad and frequency .155 rad/s

was applied:
The system designed using state-space methods is able to track the input applied, however, it is not able to

reach the same magnitude of the sinusoidal input. This is due to the fact that only three poles were introduced

to the system, while the compensated closed-loop feedback system had four poles. The amplitude of the

compensated system is about 0.07128 radians (4.084°) which is well within the bounds of a Boeing 747-200

pitch angle.

Another useful tool in analyzing a system’s performance is modeling the system as a discrete controller

using z-transforms. Similar to a continuous controller, a discrete controller can be modeled as a transfer function

and as a state-space model. The c2d function within MATLAB can convert a continuous transfer function or

state-space representation into its respective discrete form. Assuming the system is modeled after a zero-order

hold circuit, the discretized transfer function of the compensated closed-loop feedback system at a sampling

rate of 1 second can be found and are shown below:

𝜃(𝑠) 6.043𝑠2 + 1.233𝑠 + 0.04657


𝑍(𝑃(𝑠)) = 𝑍 ( ) = 𝑍( 4 )
∆(𝑠) 𝑠 + 0.749𝑠3 + 6.971𝑠2 + 1.243𝑠 + 0.0466

1.427𝑧 3 − 1.461𝑧 2 − 0.8616𝑧 + 0.9132


=
𝑠4 − 0.5357𝑧 3 − 0.963𝑧 2 + 0.0436𝑧 + 0.4728

A plot of the open-loop discrete controller’s response to a unity step input is shown below:
It is evident that the sampling rate of 1 sec/sample is not enough to accurately characterize the system’s

behavior. An ideal sample rate is 20 times the closed loop bandwidth (0.155 rad/s). Therefore, a sample rate of

0.0155 sec/sample should be used to plot the discrete function. A plot sampling at .49338 sec/sample is shown

below.

The plot is still fairly discretized, but it illustrates the system’s performance much better than the plot that

sampled at 1 sec/sample. At any sampling rate greater than 1.5625 sec/sample causes the system’s performance

to degrade, as the maximum overshoot of the system with a sampling rate of 1.5625 sec/sample is significantly

less than the overshoot of a system with a proper sampling rate of .49338 sec/sample. This is shown by the plot

below.
Finally, a SIMULINK model of the compensated closed-loop unity feedback system was built to verify its

response to a step input of magnitude .438 radians (maximum aileron deflection angle). The block diagram and

response are shown below.

Figure 3: Plot of step input of magnitude .438 radians vs time.


Figure 4: Plot of compensated closed-loop system response vs time.
APPENDIX

a. Variables used

b. Stability parameters

c. Longitudinal stability characteristics


d. Boeing 747-200 Parameters

e. Code for Tracking Performance of a Closed-loop System


clc;
clear all;
close all;

s = tf('s');
G = (1.151*s+0.1774)/(s^3+0.739*s^2+.921*s);
C = 7.5*((s+1)/(1*s+1));
sys_cl = feedback(G,1);

t = 0:.1:100;
w = .155;
u = .438*sin(w*t);
[y,t] = lsim(sys_cl,u,t);
plot(t,y,t,u);
ylabel('Position [rad]');
xlabel('Time [sec]');
title('Tracking Performance of a Closed-loop System');
axis([0 100 -1 1]);
legend('Closed-loop System', 'Input (.438*sin(.155t)');
figure;

step(.438*sys_cl,t);
axis([0 25 0 1]);
xlabel('Time (sec)');
ylabel('Pitch Angle (rad)');

f. Code for Tracking Performance of a Compensated Closed-loop System

clc;
clear all;
close all;

s = tf('s');
G = (1.151*s+0.1774)/(s^3+0.739*s^2+.921*s);
C = 5.25*((s+.2)/(s+.05));
sys_cl = feedback(C*G,1);

t = 0:.1:100;
w = .155;
u = .438*sin(.155*t);
[y,t] = lsim(sys_cl,u,t);
axis([0 10 0 10]);
plot(t,y,t,u);

ylabel('Position [rad]');
xlabel('Time [sec]');
title('Tracking Performance of a Compensated Closed-loop System');
axis([0 100 -1 1]);
legend('Compensated Closed-loop System', 'Input (.438*sin(.155t)');
figure;

step(.438*sys_cl,t);
axis([0 100 0 .75]);
title('Response of Compensated System Exceeding Output Limitations');
xlabel('Time (sec)');
ylabel('Pitch Angle (rad)');
m = pole(sys_cl);

g. Code for determining controllability of state-space representation

A = [-.313 56.7 0;
-.0139 -.426 0;
0 56.7 0];
B = [.232; .0203; 0];
CM = ctrb(A,B);
n = rank(CM);
m = rank(obsv(A,C));

h. Code for improving system response using a state-space approach


clc;
clear all;
close all;

A = [-.313 56.7 0;
-.0139 -.426 0;
0 56.7 0];
B = [.232; .0203; 0];
C = [0 0 1];
D = [0];
x0 = [0 0 0];

p1 = -0.235264351456584 + 2.60157696395265i;
p2 = -0.235264351456584 - 2.60157696395265i;
p3 = -0.159235648543416 + 0.0440693483530050i;
p4 = -0.159235648543416 - 0.0440693483530050i;

K = place(A, B, [p1 p2 p3]);

t = 0:.1:100;
sys_cl = ss(A-B*K, B, C, 0);
u = .438*sin(.155*t);
[y,t] = lsim(sys_cl,u,t);

plot(t,y,t,u);
ylim([-.5 .5]);
xlim([0 100]);
title('Compensated Closed-Loop Response to Sinusoidal Input');
xlabel('Time (sec');
ylabel('Pitch Angle (radians)');
legend('System Response', '.438*sin(.155*t)');

i. Code for discretizing compensated close-loop feedback system


clc;
clear all;
close all;

s = tf('s');
G = (1.151*s+0.1774)/(s^3+0.739*s^2+.921*s);
C = 5.25*((s+.05)/(s+.01));
sys_cl = feedback(C*G,1);
sampling_time = 1.5625;
Hd = c2d(sys_cl,sampling_time);

step(Hd);
xlim([0 20]);
ylim([0 2]);
title('Compensated Closed-Loop Response to Unit Step Input (Discrete) (T =
1.5625)');
xlabel('Time (sec');
ylabel('Pitch Angle (radians)');

j. Code for discretizing state-space model


clc;
clear all;
close all;

A = [-.313 56.7 0;
-.0139 -.426 0;
0 56.7 0];
B = [.232; .0203; 0];
C = [0 0 1];
D = [0];

sys_ss = ss(A,B,C,D);

sampling_rate = 1;

sys_d = c2d(sys_ss, sampling_rate, 'zoh');

step(sys_d);
xlim([0 50]);
ylim([0 12]);
xlabel('Time (sec)');
ylabel('Pitch Angle (rad)');
title('Discrete Controller Response to Unit Step');

WORKS CITED
http://ctms.engin.umich.edu/CTMS/index.php?example=AircraftPitch&section=SystemModeling
https://pdfs.semanticscholar.org/089c/441e13653092ee6a271eba7adc96753230ac.pdf
https://courses.cit.cornell.edu/mae5070/B747_Data.pdf
http://www.tc.faa.gov/its/worldpac/techrpt/ar04-44.pdf

You might also like