Design Case Studies | ![]() ![]() |
Yaw Damper for a 747 Jet Transport
This case study demonstrates the tools for classical control design by stepping through the design of a yaw damper for a 747 jet transport aircraft.
The jet model during cruise flight at MACH = 0.8 and H = 40,000 ft. is
A = [-0.0558 -0.9968 0.0802 0.0415 0.5980 -0.1150 -0.0318 0 -3.0500 0.3880 -0.4650 0 0 0.0805 1.0000 0]; B = [ 0.0729 0.0000 -4.7500 0.00775 .15300 0.1430 0 0]; C = [0 1 0 0 0 0 0 1]; D = [0 0 0 0];
The following commands specify this state-space model as an LTI object and attach names to the states, inputs, and outputs.
states = {'beta' 'yaw' 'roll' 'phi'}; inputs = {'rudder' 'aileron'}; outputs = {'yaw' 'bank angle'}; sys = ss(A,B,C,D,'statename',states,... 'inputname',inputs,... 'outputname',outputs);
You can display the LTI model sys
by typing sys
. MATLAB responds with
a = beta yaw roll phi beta -0.0558 -0.9968 0.0802 0.0415 yaw 0.598 -0.115 -0.0318 0 roll -3.05 0.388 -0.465 0 phi 0 0.0805 1 0 b = rudder aileron beta 0.0729 0 yaw -4.75 0.00775 roll 0.153 0.143 phi 0 0 c = beta yaw roll phi yaw 0 1 0 0 bank angle 0 0 0 1 d = rudder aileron yaw 0 0 bank angle 0 0 Continuous-time model.
The model has two inputs and two outputs. The units are radians for beta
(sideslip angle) and phi
(bank angle) and radians/sec for yaw
(yaw rate) and roll
(roll rate). The rudder and aileron deflections are in radians as well.
Compute the open-loop eigenvalues and plot them in the -plane.
damp(sys) Eigenvalue Damping Freq. (rad/s) -7.28e-003 1.00e+000 7.28e-003 -5.63e-001 1.00e+000 5.63e-001 -3.29e-002 + 9.47e-001i 3.48e-002 9.47e-001 -3.29e-002 - 9.47e-001i 3.48e-002 9.47e-001 pzmap(sys)
![]()
This model has one pair of lightly damped poles. They correspond to what is called the "Dutch roll mode."
Suppose you want to design a compensator that increases the damping of these poles, so that the resulting complex poles have a damping ratio with natural frequency
rad/sec. You can do this using the Control System toolbox analysis tools.
![]() | Design Case Studies | Open-Loop Analysis | ![]() |