aircraft control tutorial

81
Aircraft Control Lectures Using the text: Stevens & Lewis, Aircraft Control & Simulation, 2 nd Ed. Steve Rogers 2011 1

Upload: steve-rogers

Post on 20-Mar-2016

245 views

Category:

Documents


2 download

DESCRIPTION

Classical & modern control as applied to aircraft performance improvement.

TRANSCRIPT

Page 1: Aircraft Control Tutorial

Aircraft Control LecturesUsing the text: Stevens & Lewis,

Aircraft Control & Simulation, 2nd Ed.

Steve Rogers2011

1

Page 2: Aircraft Control Tutorial

Overview• Control Engineer Challenges/Philosophy• Definition of Control System Functions• Transfer Functions – longitudinal & lateral• SAS (stability augmentation system) examples –

pitch damper and yaw damper• CAS ( control augmentation system) examples• Autopilot examples: Pitch attitude hold and

automatic lander• Modern control design: pole placement, LQR

state & output feedback, model reference design, inverse dynamics control

2

Page 3: Aircraft Control Tutorial

Control Engineer Challenges• Work output in terms of:

– guidance & control– Algorithms & simulations– Numerical methods or solutions– Software or digital implementation

• Utilize modern techniques including– Optimization– Sensitivity analyses– Robustness to parameter variations– Adaptive techniques– Multivariable control

• Interface to other disciplines– Structures– Thermal– Propulsion– Energy management & performance– Human factors– Mission operations– Failure modes & effects analyses

3

Page 4: Aircraft Control Tutorial

Aircraft Altitude-Mach Envelope for High-Performance

4

Altitude

Speed

Service ceiling

Prop

ulsio

n lim

it

Airs

peed

lim

itα-lim

it

• The α-limit is determined by the maximum lift that can be generated at low air speeds.• The high speed limit (composed of airspeed limit & propulsion limit) generally follows a constant dynamic pressure contour. At higher elevations the speed is limited by maximum engine thrust• Service ceiling exists due to a combination airframe and engine limitations.• The basic aerodynamic coefficients change with air speed and as functions of the α angle.

Page 5: Aircraft Control Tutorial

Control Philosophy• A flight condition that produces a stable dynamic mode may be unstable

or lightly damped in another flight condition. • Instability or lightly damped oscillations may be overcome by using

feedback control to stabilize aircraft dynamics.• The aircraft motion variables are sensed & utilized to generate signals fed

to the aircraft control-surfaces or propulsion systems to modify the dynamic behavior.

• Control signals from the sensor feedback must be adjusted according to the flight condition.

• A commonly used adjustment process is gain scheduling, which is adjusting control signals as a function of ‘scheduling’ variables. Most commonly used scheduling variables are measured dynamic pressure and/or air speed.

• For narrow envelopes gain scheduling may not be needed. In this case unsatisfactory dynamic modes must be corrected by modifying the aircraft design.

5

Page 6: Aircraft Control Tutorial

Control System FunctionsSAS CAS Autopilot

Roll Damper Roll Rate Pitch attitude hold

Pitch damper Pitch rate Altitude hold

Yaw damper Normal acceleration Speed hold

Lateral/directional Automatic landing

Roll-angle hold

Turn coordination

Heading hold/VOR hold

6

• SAS – stability augmentation systems. These are intended to provide proper damping and/or stability to given roll-pitch-yaw control modes.• CAS – control augmentation systems. These control systems are intended to not only control the mode but to provide the pilot with a particular type of response to the control inputs. • autopilots – these are to provide ‘pilot relief’ from controlling slower modes (phugoid and spiral). These also include special functions, such as automatic landing and other guidance features.

Page 7: Aircraft Control Tutorial

Longitudinal Transfer Functions (pitch)

7

• The pitch rate to elevator transfer function general function is shown above.

• The longitudinal state vector and input vector are shown.

• The following sheets have short-period approximations.

Page 8: Aircraft Control Tutorial

Longitudinal Short-Period Approximations

• Since the denominator is the same the two transfer function natural frequency and damping coefficient are the same.

• If either the pitch rate or angle-of-attack tracks a setpoint the other will have a bias.

• A pitch damper SAS or a pitch rate CAS will provide the same dynamics for the angle-of-attack.

• Above approximations valid for low Mach numbers. Also, these assume a damped, oscillatory short-period mode.

8

Page 9: Aircraft Control Tutorial

Phugoid Approximation

• Phugoid frequency is inversely ~ airspeed. Phugoid has lower frequency than the short period mode.

• For an example longitudinal characteristic equation: Δ(s) = (s2 + 0.033s + 0.020)(s2 + 0.902s + 2.666) = 0. The first pair of complex roots describes the phugoid stability mode, with characteristics:– Damping ratio ζp = 0.11 = 0.033/2/sqrt(0.02)– Undamped natural frequency ωp = 0.14 rad/s = sqrt(0.02)

• The second pair of complex roots describes the short period pitching oscillation, or short period stability mode, with characteristics:– Damping ratio ζs = 0.28 = 0.902/2/sqrt(2.666)– Undamped natural frequency ωs = 1.63 rad/s = sqrt(2.666)

9

Page 10: Aircraft Control Tutorial

Stability Augmentation• Modify natural aircraft modes by adjusting control

surfaces according to angular rate sensor signals.• Desirable as flight condition changes result in local

variations in airflows (laminar to turbulent or the reverse). These local variations cause large uncertainties in aerodynamic coefficients over the typical operational flight envelope of most aircraft.

• Large uncertainties or variations in aerodynamic coefficients create serious challenges for control systems. Control systems are either ‘gain scheduled’ or on-line adapted.

10

Page 11: Aircraft Control Tutorial

Longitudinal Model for F16 - 1

• In the above model from Stevens & Lewis, the elevator deflection is the input, and the outputs are alpha and pitch rate (q). The states are vT, alpha, theta, and q.

• There is an unstable exponential pole at 0.0976 with tc = 2*pi/0.0976 ~ 10 s (time constant)

• An oscillatory couple at damping 0.794 & freq 0.19 rad/s tc = 2*pi/0.19 ~ 33 s (time constant)

• The last pole will not cause a problem.• A control system must be designed to counter the effects of the

unstable pole, while providing good handling qualities.

11

A = [-0.019311 8.8157 -32.17 -0.57499 -0.00025389 -1.0189 0 0.90506 0 0 0 1 2.9465e-12 0.82225 0 -1.0774];B = [0.1737 -0.0021499 0 -0.17555]';C = [0 57.29578 0 0 0 0 0 57.29578];D = [0 0]';sys = ss(A,B,C,D);

Eigenvalue Damping Freq. (rad/s) 9.76e-002 -1.00e+000 9.76e-002 -1.51e-001 + 1.15e-001i 7.94e-001 1.90e-001 -1.51e-001 - 1.15e-001i 7.94e-001 1.90e-001 -1.91e+000 1.00e+000 1.91e+000

Page 12: Aircraft Control Tutorial

Longitudinal Model for F16 - 2

• The above configuration is a basic way of providing good handling qualities for the unstable & oscillatory system. This is called a pitch damper SAS (stability augmentation system).

• The pole-zero map shows the 4 poles excluding the actuator pole. The root locus shows the overall motion of the root locus at a large scale.

12

Σ actuator Aircraftmodel

AlphaSensor

Pitch rate

Sensor

NoiseFilter

NoiseFilter

ka

kq

α

q

-2 -1.5 -1 -0.5 0 0.5-0.2

-0.1

0

0.1

0.2Pole-Zero Map

Real Axis

Imag

inar

y Ax

is

-80 -70 -60 -50 -40 -30 -20 -10 0 10-10

-5

0

5

10Root Locus

Real Axis

Imag

inar

y Ax

is

Alpha-q SAS

Page 13: Aircraft Control Tutorial

Longitudinal Model for F16 - 3

• This is the root locus scale of most interest to us. The unstable pole increases in instability with increasing gain.

• The short period poles have been drawn closer to the origin.

13

-20 -18 -16 -14 -12 -10 -8 -6 -4 -2 0 2-10

-5

0

5

10Root Locus

Real Axis

Imag

inar

y Ax

is

-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5-0.5

0

0.5Root Locus

Real Axis

Imag

inar

y A

xis

Page 14: Aircraft Control Tutorial

Longitudinal Model for F16 - 4

• In the case ka = kq = 0.1, the minimum damping is 0.4, which is reasonable, for a short period.

• The matlab command to create the whole system is: sys = feedback(feedback(sys,-0.1,1,1),-0.1,1,2);

• The impulse responses show good stability.14

Eigenvalue Damping Freq. (rad/s) -1.03e-002 + 2.33e-002i 4.03e-001 2.55e-002 -1.03e-002 - 2.33e-002i 4.03e-001 2.55e-002 -1.29e+000 1.00e+000 1.29e+000 -1.89e+000 1.00e+000 1.89e+000 -1.00e+001 1.00e+000 1.00e+001 -1.00e+001 1.00e+000 1.00e+001 -1.91e+001 1.00e+000 1.91e+001

-4

-2

0From: elevator

To: a

lpha

-10

0

10

To: q

-4

-2

0

To: a

lph

filter

0 2 4 6 8 10 12 14 16 18 20-10

0

10

To: q

filte

r

Impulse Response

Time (sec)

Ampl

itude

Page 15: Aircraft Control Tutorial

Longitudinal Model for F16 - 5

• The alpha signal is noisy & may be unreliable, so it may be advantageous to reduce the gain (deemphasize) on it. At the same time we may increase the pitch rate gain as it is more reliable.

• With the matlab command of: sys = feedback(feedback(sys,-0.1,1,1),-0.2,1,2);• We now have ka = 0.1 & kp = 0.2 which produces a better damping of 0.495 for

the short period mode. • The impulse response shows that the system settles quickly following a

disturbance, which is due to the higher damping coefficient.15

Eigenvalue Damping Freq. (rad/s) -1.05e-002 + 1.84e-002i 4.95e-001 2.12e-002 -1.05e-002 - 1.84e-002i 4.95e-001 2.12e-002 -1.13e+000 1.00e+000 1.13e+000 -3.34e+000 1.00e+000 3.34e+000 -1.00e+001 1.00e+000 1.00e+001 -1.00e+001 1.00e+000 1.00e+001 -1.78e+001 1.00e+000 1.78e+001

-2

-1

0From: elevator

To:

alp

ha

0 2 4 6 8 10 12 14 16 18 20-10

0

10

To: q

Impulse Response

Time (sec)

Ampl

itude

-10

-5

0From: elevator

To: a

lpha

0 2 4 6 8 10 12 14 16 18 20-4

-2

0

To: q

Step Response

Time (sec)

Am

plitu

de

Page 16: Aircraft Control Tutorial

Longitudinal Model for F16 – 6 (pole placement)

• The previous control solutions were the classical approaches in Stevens & Lewis. We’ll now introduce ‘modern’ pole placement which is a commonly used multivariable approach. By using a state space pole placement method we can generate an observer which produces an estimated or smoothed state vector which is fed into the control law.

• By use of the ‘place’ command we can specify the observer (smoother) poles and the system poles with verifiable accuracy. Pole placement allows us to design very quickly as well as accurately.

• The pc vector is the desired system poles. The design results are shown under Controlled system. Note the Lcon values emphasize alpha & q with most emphasis on q, which is desirable since alpha is noisy & less reliable.

• The po vector is the desired observer poles. We arbitrarily offset them a reasonable distance from the pc vector so the observer poles would not interfere with the control law performance.

• The new damping coefficient for the system is 0.707, which will satisfy short period mode pilot handling qualities.

16

A = [-0.019311 8.8157 -32.17 -0.57499 -0.00025389 -1.0189 0 0.90506 0 0 0 1 2.9465e-12 0.82225 0 -1.0774];B = [0.1737 -0.0021499 0 -0.17555]';C = [0 57.29578 0 0 0 0 0 57.29578];D = [0 0]';sys = ss(A,B,C,D);

pc = [-1.5e-002+1.5e-002i,... -1.5e-002-1.5e-002i,... -1.13,-3.5];po = -10 + pc;Lobs = place(a',c',po).';Lcon = place(a,b,pc);Lcon =

-0.0002 -6.2655 -0.1963 -14.4173State vector: vT, alpha, theta, q

sysobs = ss(a-Lobs*c,Lobs,Lcon,0);

ObserverEigenvalue Damping Freq. (rad/s) -1.00e+001 + 1.50e-002i 1.00e+000 1.00e+001 -1.00e+001 - 1.50e-002i 1.00e+000 1.00e+001 -1.11e+001 1.00e+000 1.11e+001 -1.35e+001 1.00e+000 1.35e+001Controlled system -1.50e-002 + 1.50e-002i 7.07e-001 2.12e-002 -1.50e-002 - 1.50e-002i 7.07e-001 2.12e-002 -1.13e+000 1.00e+000 1.13e+000 -3.50e+000 1.00e+000 3.50e+000

Model

Page 17: Aircraft Control Tutorial

Longitudinal Model for F16 – 7 (lqr)

• The previous control solution was pole placement. We’ll now introduce ‘modern’ linear quadratic regulator (lqr) which is a commonly used multivariable approach. By using a state space lqr method we can generate an observer which produces an estimated or smoothed state vector which is fed into the control law.

• By use of the ‘lqr’ command we can specify the observer (smoother) state and output weights . lqr allows us to design very quickly, however we cannot specify the system performance as in pole placement. This becomes an important factor regarding pilot handling qualities.

• The Q matrix diagonal is the desired state weights. It is modified for both the observer and the controller. Note the Lcon values emphasize theta & q with most emphasis on theta (pitch angle), which is desirable since alpha is noisy & less reliable.

• The new damping coefficient for the system is 0.258, which does not satisfy short period mode pilot handling qualities.

• We can see from this quick comparison of two multivariable approaches the great advantage of being able to precisely specify poles.

17

A = [-0.019311 8.8157 -32.17 -0.57499 -0.00025389 -1.0189 0 0.90506 0 0 0 1 2.9465e-12 0.82225 0 -1.0774];B = [0.1737 -0.0021499 0 -0.17555]';C = [0 57.29578 0 0 0 0 0 57.29578];D = [0 0]';sys = ss(A,B,C,D);

Q = diag([1e6 0.05 1e6 10]);R = c*c'*1e-3;N = c'/100;Lobs = lqr(a',c',Q,R,N).';Q = Q*1e-6;R = b'*b;N = b;Lcon = lqr(a,b,Q,R,N);Lcon =

1.2575 4.2588 -33.4686 -13.1625State vector: vT, alpha, theta, q

sysobs = ss(a-Lobs*c,Lobs,Lcon,0);syscon = ss(a-b*Lcon,b,c,d);

Observer Eigenvalue Damping Freq. (rad/s) -3.46e+000 + 4.08e+000i 6.47e-001 5.35e+000 -3.46e+000 - 4.08e+000i 6.47e-001 5.35e+000 -9.03e+000 1.00e+000 9.03e+000 -1.00e+002 1.00e+000 1.00e+002 Controlled system -1.14e+000 1.00e+000 1.14e+000 -4.02e-001 + 1.50e+000i 2.58e-001 1.55e+000 -4.02e-001 - 1.50e+000i 2.58e-001 1.55e+000 -2.69e+000 1.00e+000 2.69e+000

Model

Page 18: Aircraft Control Tutorial

Dutch Roll• Dutch roll is a type of aircraft motion, consisting of an out-of-phase

combination of "tail-wagging" and rocking from side to side. This yaw-roll coupling is one of the basic flight dynamic modes (others include phugoid, short period, and spiral divergence).

• This motion is normally well damped in most light aircraft, though some aircraft with well-damped Dutch roll modes can experience a degradation in damping as airspeed decreases and altitude increases.

• Dutch roll stability can be artificially increased by the installation of a yaw damper.

• Wings placed well above the center of mass, sweepback (swept wings) and dihedral wings tend to increase the roll restoring force, and therefore increase the Dutch roll tendencies; this is why high-winged aircraft often are slightly anhedral, and transport category swept wing aircraft are equipped with yaw dampers.

• A case study of a yaw damper for a jet transport follows.

18

Page 19: Aircraft Control Tutorial

Yaw Damper for a Jet Transport - 1

• The state-space model is taken from matlab’s control system toolbox user’s guide.

• The 1st eigenvalue (slow real) is the spiral mode. It should be made faster. • The 2nd eigenvalue (real) is the roll subsidence mode. It’s OK as is.• The last two eigenvalues are due to the dutch roll mode. They are lightly

damped (0.0348) & require a higher dampening (for example, >0.35) to attenuate or decrease the oscillatory effects.

• The dutch roll oscillation involves all of the variables.

19

A = [-0.0558 -0.9968 0.0802 0.0415 0.598 -0.115 -0.0318 0 -3.05 0.388 -0.465 0 0 0.0805 1 0];B = [0.0729 0.0001 -4.75 1.23 1.53 10.63 0 0];C = [0 1 0 0 0 0 0 1];D = [0 0 0 0];

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

Page 20: Aircraft Control Tutorial

Yaw Damper for a Jet Transport - 2

• The impulse response plot shows reason for concern for the dutch roll oscillation. Note that the oscillation is mainly due to the rudder input.

• The oscillation appears to be about a -25 degree bank angle & a -1 degree yaw rate due to the rudder input. The aileron input causes a turn by creating a ~1 degree bias in the yaw rate & ~18 degree bias in the bank angle. The impulse response shows the complexity of the dutch roll oscillation.

• The root locus (from rudder to yaw rate) shows that the jet transport may quickly become unstable if we are not careful.

• The bode plot (from rudder to yaw rate) shows significant action due to the rudder between 0.5 & 1.0 rad/sec, which is near the Dutch roll mode.

20

-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 1.2-1

-0.5

0

0.5

1Root Locus

Real Axis

Imag

inar

y Ax

is

-50

0

50From: rudder To: yaw rate

Mag

nitu

de (d

B)

10-4

10-3

10-2

10-1

100

101

0

180

360

Phas

e (d

eg)

Bode Diagram

Frequency (rad/sec)

-6

-4

-2

0

2From: rudder

To: y

aw ra

te

0 5 10 15 20-40

-30

-20

-10

0

10

20

To: b

ank

angl

e

From: aileron

0 5 10 15 20

Impulse Response

Time (sec)

Ampl

itude

Page 21: Aircraft Control Tutorial

Yaw Damper for a Jet Transport - 3

• By using a feedback gain of -0.27 we ensure the overall stability of the system as shown in the root locus. The impulse plot shows the reduction in oscillation. The trial feedback gain may be obtained by using rlocfind graphically.

• damp(feedback(sys(1,1),-0.27)) produces the eigenvalue results shown. This command creates a simple feedback system with a gain. Now the damping is much better, while maintaining the natural frequency < 1 rad/sec.

21

damp(feedback(sys(1,1),-0.27)) Eigenvalue Damping Freq. (rad/s) -3.27e-001 1.00e+000 3.27e-001 -3.07e-001 + 6.27e-001i 4.40e-001 6.98e-001 -3.07e-001 - 6.27e-001i 4.40e-001 6.98e-001 -9.77e-001 1.00e+000 9.77e-001

-1.2 -1 -0.8 -0.6 -0.4 -0.2 0 0.2-1

-0.5

0

0.5

1Root Locus

Real Axis

Imag

inar

y A

xis

0 2 4 6 8 10 12 14 16 18 20-6

-4

-2

0

2From: rudder To: yaw rate

Impulse Response

Time (sec)

Ampl

itude

Page 22: Aircraft Control Tutorial

Yaw Damper for a Jet Transport - 4

• The impulse response plots show the original response with the simple feedback gain in green. The bias has been removed along with most of the oscillation.

• However, notice the aileron to bank angle. It no longer has a bias, which is desirable. It has been over-stabilized and removed from the system. The control system must regain the banking feature of the jet.

• The pole-zero map shows the original system in blue and the new system in green. The dutch roll poles are in a much better location now, but the spiral mode pole has been relocated way too far from the origin (see the green poles). In order to fix this a washout filter is designed to keep the spiral mode pole from moving too far from the origin.

22

-6

-4

-2

0

2From: rudder

To: y

aw r

ate

0 5 10 15 20-40

-30

-20

-10

0

10

20

To: b

ank

angl

e

From: aileron

0 5 10 15 20

Impulse Response

Time (sec)

Am

plitu

de

-1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real Axis

Imag

inar

y A

xis

Page 23: Aircraft Control Tutorial

Yaw Damper for a Jet Transport - 5• A washout filter has a zero at

the origen, while the pole is farther away from the origen so as to not interfere with the spiral mode pole. A matlab command of ‘H = zpk(0,-0.33,1)’ will give us such a filter.

• Now, the max damping is ~0.25, as shown in the root locus plot.

• The impulse response shows less damping than before. See also the eigenvalues below.

23

-1.2 -1 -0.8 -0.6 -0.4 -0.2 0 0.2-1

-0.5

0

0.5

10.120.240.380.50.640.76

0.88

0.97

0.120.240.380.50.640.760.88

0.97

0.20.40.60.811.2

Root Locus

Real Axis

Imag

inar

y Ax

is

0 2 4 6 8 10 12 14 16 18 20-6

-4

-2

0

2From: rudder To: Out(1)

Impulse Response

Time (sec)

Ampl

itude

damp(feedback(H*sys(1,1),-0.27)) Eigenvalue Damping Freq. (rad/s) -3.79e-003 1.00e+000 3.79e-003 -4.74e-001 1.00e+000 4.74e-001 -1.74e-001 + 6.67e-001i 2.53e-001 6.89e-001 -1.74e-001 - 6.67e-001i 2.53e-001 6.89e-001 -1.42e+000 1.00e+000 1.42e+000

Page 24: Aircraft Control Tutorial

Yaw Damper for a Jet Transport - 6• The above impulse response

shows the desired constant behavior over the 20 sec. time frame.

• Even though the system is improved the damping specification was not met. 0.25 < 0.35

• We may try different combinations of washout filter lags and feedback gains. The present combination is:

• kk = -0.27;• H = zpk(0,-0.33,1);• clsys11 =

feedback(sys,kk*H,1,1); is the closed loop system.

• We can manipulate both kk and -0.33 (washout filter lag) to achieve our goals.

24

-6

-4

-2

0

2From: rudder

To: y

aw r

ate

0 5 10 15 20-40

-30

-20

-10

0

10

20

To: b

ank

angl

e

From: aileron

0 5 10 15 20

Impulse Response

Time (sec)

Ampl

itude

Page 25: Aircraft Control Tutorial

Yaw Damper for a Jet Transport - 7

• We can manipulate both kk and -0.33 (washout filter lag):• kk = -0.27; (no change)• H = zpk(0,-0.33,1); H = zpk(0,-0.13,1); • The blue in the impulse response is the uncompensated system. The red is the 1st

attempt at compensation. The green is the 2nd and successful attempt at compensation.

• With the washout lag at -0.13 the damping is 0.351 which is acceptable. 25

-6

-4

-2

0

2From: rudder

To: y

aw ra

te

0 5 10 15 20-40

-30

-20

-10

0

10

20

To: b

ank

angl

e

From: aileron

0 5 10 15 20

Impulse Response

Time (sec)

Ampl

itude

damp(feedback(sys,kk*H,1,1)) Eigenvalue Damping Freq. (rad/s) -2.17e-003 1.00e+000 2.17e-003 -4.14e-001 1.00e+000 4.14e-001 -2.38e-001 + 6.35e-001i 3.51e-001 6.79e-001 -2.38e-001 - 6.35e-001i 3.51e-001 6.79e-001 -1.16e+000 1.00e+000 1.16e+000

Page 26: Aircraft Control Tutorial

F-16 Yaw Damper - 1

• The state-space model is taken from the F16 models in Steven & Lewis.• The state vector is: 'beta' 'roll' 'yaw' 'roll rate' 'yaw rate‘.• The 1st eigenvalue is an integrator and is associated with the roll angle. • The 2nd eigenvalue (slow real) is the spiral mode. This is probably OK as is.• The 3rd eigenvalue (real) is the roll subsidence mode. It’s OK as is.• The last two eigenvalues are due to the dutch roll mode. They are lightly damped (0.196) & require

a higher dampening (for example, >0.35) to attenuate or decrease the oscillatory effects. • The dutch roll oscillation involves all of the variables. • In a steady state coordinated turn the yaw rate has a constant nonzero value, which the yaw rate

feedback will try to oppose. A simple control systems solution is to apply a 1st order high-pass filter to the yaw rate feedback. This is called a washout filter.

26

A = [-0.1315 0.14858 0 0.32434 -0.93964 0 0 0 1 0.33976 0 0 0 0 1.0561 -10.614 0 0 -1.1793 1.0023 0.99655 0 0 -0.0018174 -0.25855];B = [0.00012049 0.00032897 0 0 0 0 -0.1031578 0.020987 -0.002133 -0.010715];C = [0 0 0 57.29578 0 0 0 0 0 57.29578];D = [0 0 0 0];

Eigenvalue Damping Freq. (rad/s) 0.00e+000 -1.00e+000 0.00e+000 -6.79e-002 1.00e+000 6.79e-002 -6.96e-001 1.00e+000 6.96e-001 -4.03e-001 + 2.01e+000i 1.96e-001 2.05e+000 -4.03e-001 - 2.01e+000i 1.96e-001 2.05e+000

Page 27: Aircraft Control Tutorial

F-16 Yaw Damper - 2

• The impulse response plot shows reason for concern for the dutch roll oscillation. Note that the oscillation is due to both the rudder & the aileron inputs.

• The oscillation appears to be about a 0 degree roll rate & a -0.3 degree yaw rate due to both inputs. The impulse response shows the complexity of the dutch roll oscillation.

• The root locus (from aileron to yaw rate) shows that the jet transport may quickly become unstable if we are not careful.

• The bode plot (from aileron to yaw rate) shows significant action due to the aileron between 1.0 & 5.0 rad/sec.

27

-6

-4

-2

0

2From: aileron

To: r

oll r

ate

0 5 10 15 20-0.8

-0.6

-0.4

-0.2

0

To: y

aw ra

te

From: rudder

0 5 10 15 20

Impulse Response

Time (sec)

Ampl

itude

-1 -0.5 0 0.5 1 1.5 2 2.5-4

-2

0

2

4Root Locus

Real Axis

Imag

inar

y Ax

is

-50

0

50From: aileron To: roll rate

Mag

nitu

de (d

B)

10-3

10-2

10-1

100

101

102

0

180

360

Pha

se (

deg)

Bode Diagram

Frequency (rad/sec)

-1.5 -1 -0.5 0 0.5 1 1.5 2 2.5-5

0

5Root Locus

Real Axis

Imag

inar

y A

xis

-100

0

100From: aileron To: yaw rate

Mag

nitu

de (

dB)

10-3

10-2

10-1

100

101

102

-180

0

180

Phas

e (d

eg)

Bode Diagram

Frequency (rad/sec)

Page 28: Aircraft Control Tutorial

F-16 Yaw Damper - 3

• By using a feedback gain of -0.4 we ensure the overall stability of the system as shown in the root locus. The impulse plot shows the reduction in oscillation.

• damp(feedback(sys(1,1),-0.4)) produces the eigenvalue results shown. This command creates a simple feedback system with a gain. Now the damping is much better, while maintaining the natural frequency < 2 rad/sec.

• Note the non-minimum phase zero (right-half plane). This will cause a tendency to roll in the opposite direction initially.

28

damp(feedback(sys(1,1),-0.4)) Eigenvalue Damping Freq. (rad/s) 0.00e+000 -1.00e+000 0.00e+000 -8.99e-003 1.00e+000 8.99e-003 -6.83e-001 + 1.37e+000i 4.46e-001 1.53e+000 -6.83e-001 - 1.37e+000i 4.46e-001 1.53e+000 -2.56e+000 1.00e+000 2.56e+000

-1.8 -1.6 -1.4 -1.2 -1 -0.8 -0.6 -0.4 -0.2 0 0.2-4

-2

0

2

4Root Locus

Real Axis

Imag

inar

y Ax

is

0 2 4 6 8 10 12 14 16 18 20-6

-4

-2

0

2From: aileron To: roll rate

Impulse Response

Time (sec)

Ampl

itude

Page 29: Aircraft Control Tutorial

F-16 Yaw Damper - 4

• The impulse response plots show the original response in blue and the simple feedback gain (roll/yaw damper) in green. Most of the oscillation has been removed. The yaw rate now oscillates around a bias. This is as a result of the gain only. No washout filter was installed. Now the pilot will feel a fixed yaw rate during coordinated turns.

• The pole-zero map shows the original system in blue and the new system in green. The dutch roll poles are in a much better location now (more damping), and the spiral pole is closer to the origin. One of the zeros moved to the left. 29

-6

-4

-2

0

2From: aileron

To:

roll r

ate

0 5 10 15 20-0.8

-0.6

-0.4

-0.2

0

To:

yaw

rat

e

From: rudder

0 5 10 15 20

Impulse Response

Time (sec)

Ampl

itude

-3 -2.5 -2 -1.5 -1 -0.5 0-4

-2

0

2

4Pole-Zero Map

Real Axis

Imag

inar

y Ax

is

-0.2 -0.18 -0.16 -0.14 -0.12 -0.1 -0.08 -0.06 -0.04 -0.02 0-0.2

-0.1

0

0.1

0.2Pole-Zero Map

Real Axis

Imag

inar

y A

xis

Page 30: Aircraft Control Tutorial

F-16 Yaw Damper – 5 (pole placement)

30

pc = [-0.02 -0.2+0.2i,... -0.2-0.2i,-3.5];po = -10 + pc;Lobs = place(a',c',po).';Lcon = place(a,b,pc);sysobs = ss(a-Lobs*c,Lobs,Lcon,0);Lcon = 'beta' 'roll‘ 'roll rate' 'yaw rate‘ 81.1827 -0.5088 -61.6549 -33.1050 -105.6235 1.6612 -232.9054 -77.7229

Eigenvalue Damping Freq. (rad/s) Observer dynamics -1.00e+001 1.00e+000 1.00e+001 -1.02e+001 + 2.00e-001i 1.00e+000 1.02e+001 -1.02e+001 - 2.00e-001i 1.00e+000 1.02e+001 -1.35e+001 1.00e+000 1.35e+001 Controlled system (roll/yaw damper) -2.00e-002 1.00e+000 2.00e-002 -2.00e-001 + 2.00e-001i 7.07e-001 2.83e-001 -2.00e-001 - 2.00e-001i 7.07e-001 2.83e-001 -3.50e+000 1.00e+000 3.50e+000

• The previous control solution is the classical approach in Stevens & Lewis. We’ll now introduce ‘modern’ pole placement which is a commonly used multivariable approach. By using a state space pole placement method we can generate an observer which produces an estimated or smoothed state vector which is fed into the control law. Thus, we have more degrees of freedom to achieve the control objectives.

• By use of the ‘place’ command we can specify the observer (smoother) poles and the system poles with verifiable accuracy. Pole placement allows us to design very quickly as well as accurately. Note that we had to remove the yaw angle state as the state must be controllable or accessible.

• The po vector is the desired observer poles. We arbitrarily offset them a reasonable distance from the pc vector so the observer poles would not interfere with the control law performance.

• The pc vector is the desired system poles. The design results are shown under Controlled system. Note the Lcon values emphasize beta, roll rate, & yaw rate with most emphasis on beta & roll rate.

• The new damping coefficient for the system is 0.707, which will satisfy short period mode pilot handling qualities.

Page 31: Aircraft Control Tutorial

CAS Examples

• CAS – control augmentation systems. These control systems are intended to not only control the mode but to provide the pilot with a particular type of response to the control inputs.

• CAS examples: pitch-rate & normal acceleration.

31

Page 32: Aircraft Control Tutorial

Pitch-Rate CAS - 1

The zeros of the above model are z =

-75.0002 -10.0000 -0.0098 + 0.0938i -1.0265 -0.0098 - 0.0938i -0.0217 Inf -0.0000The poles of the above model are

p = -10.0000 -1.9118 -0.1507 + 0.1153i -0.1507 - 0.1153i 0.0976 -20.1000

We have an unstable pole @ ~0.1. We begin with the pitch-SAS design for stability.

32

A = [-0.019311 8.8157 -32.17 -0.57499 -0.00025389 -1.0189 0 0.90506 0 0 0 1 2.9465e-12 0.82225 0 -1.0774];B = [0.1737 -0.0021499 0 -0.17555]';C = [0 57.29578 0 0 0 0 0 57.29578];D = [0 0]';sys = ss(A,B,C,D);

Model-25 -20 -15 -10 -5 0 5

-0.2

-0.1

0

0.1

0.2Pole-Zero Map

Real Axis

Imag

inar

y Ax

is

-80 -70 -60 -50 -40 -30 -20 -10 0 10-20

-10

0

10

20Root Locus

Real Axis

Imag

inar

y Ax

is

-12 -10 -8 -6 -4 -2 0 2-2

-1

0

1

2Root Locus

Real Axis

Imag

inar

y Ax

is

-0.4 -0.35 -0.3 -0.25 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1-0.2

-0.1

0

0.1

0.2Root Locus

Real Axis

Imag

inar

y Ax

is

The command creates the pitch-SAS design discussed previously:clsys = feedback(feedback(sys,-0.1,1,1),-0.2,1,2);From the root locus below we see that the unstable pole is no longer an issue. The new zeros are:-75.0002 -0.0000 -0.0098 + 0.0938i -0.0217 -0.0098 - 0.0938i -1.0265 -10.0000 -10.0000 -10.0000 -10.0000The new poles are: -10.0000 -10.0000 -17.8184 -0.0105 + 0.0184i -0.0105 - 0.0184i -1.1336 -3.3426The phugoid damping coefficient is ~0.495.

Page 33: Aircraft Control Tutorial

Pitch-Rate CAS - 1

• The plot at right shows the pitch rate SAS without a CAS to force it to track commands. The simulink and overall block diagram are above.

• The SAS at the given values provides a stable response. The alpha angle appears to respond the most to ‘des’ inputs.

• The next step following the SAS inner loop is to design a useful CAS outer loop. 33

Σ actuator Aircraftmodel

AlphaSensor

Pitch rate

Sensor

NoiseFilter

NoiseFilter

ka

kq

α

q

SAS

PI

CAS

Σ

0 100 200 300 400 500 600 700 800 900 1000-0.04

-0.03

-0.02

-0.01

0

0.01

0.02

0.03

0.04

0.05

time (sec)

angl

e (d

egre

es)

SAS (CAS=1) with [ka kq] = [0.2 0.6]

set pointalphaq

des

s+10

10

q fi lter

s+10

10

alpha fi lter

alph-q0.6

SAS kq

0.2

SAS ka

f16_long

F16 long mdlBand-LimitedWhite Noise

-20.2

s+20.2Actuator mdl

Page 34: Aircraft Control Tutorial

Pitch-Rate CAS - 2

• The diagram on the left is the CAS simulink code that includes the alpha/q SAS controller.

• The two plots above show the q desired versus the q output. The tracking of the PI CAS is reasonably good.

• The bottom plot shows the faster short-period mode as well as the slower phugoid mode.

34

0 200 400 600 800 1000 1200-5

0

5

10x 10

-3

angl

e (d

egre

es)

SAS/CAS with [ka kq kp z] = [0.2 0.6 0.4 3]

set pointq

592 594 596 598 600 602 604 606-3

-2.5

-2

-1.5

-1x 10

-3

time (sec)

angl

e (d

egre

es)

s+10

10

q fil ter

s+10

10

alpha fi lter

alph-q

0.6

SAS kq

0.2

SAS ka

f16_long

F16 long mdl

0.4

CASkp

s+3

sCAS_PIBand-Limited

White Noise

-20.2

s+20.2Actuator mdl

-25 -20 -15 -10 -5 0-2

-1

0

1

2Pole-Zero Map

Real AxisIm

agin

ary

Axi

s

-25 -20 -15 -10 -5 0 5-20

-10

0

10

20Root Locus

Real Axis

Imag

inar

y Ax

is

Page 35: Aircraft Control Tutorial

Pitch-Rate CAS matlab code - 3close_system('f16Long_CAS_mdl',1)A = [-0.019311 8.8157 -32.17 -0.57499 -0.00025389 -1.0189 0 0.90506 0 0 0 1 2.9465e-12 0.82225 0 -1.0774];B = [0.1737 -0.0021499 0 -0.17555]';C = [0 57.29578 0 0 0 0 0 57.29578];D = [0 0]';ka = 0.2;% ka = 0.08;kq = 0.6;

kp = 0.3;z1 = 3; open_system('f16Long_CAS_mdl') set_param('f16Long_CAS_mdl/SAS kq','Gain',num2str(kq)) set_param('f16Long_CAS_mdl/SAS ka','Gain',num2str(ka)) set_param('f16Long_CAS_mdl/CASkp','Gain',num2str(kp)) set_param('f16Long_CAS_mdl/CAS_PI','Numerator',... ['[',num2str(1),' ',num2str(z1),']']) CAS_mdl_io(1) = linio('f16Long_CAS_mdl/Add1',1,'in','on'); CAS_mdl_io(2) = linio('f16Long_CAS_mdl/Demux',2,'out','on'); setlinio('f16Long_CAS_mdl',CAS_mdl_io) CAS_lin_mdl = linearize('f16Long_CAS_mdl',CAS_mdl_io); sim('f16Long_CAS_mdl',1200)

35

s+10

10

q fi l ter

s+10

10

alpha fi l ter

alph-q

0.6

SAS kq

0.2

SAS ka

f16_long

F16 long mdl

0.4

CASkp

s+3

sCAS_PIBand-Limited

White Noise

-20.2

s+20.2Actuator mdl

Page 36: Aircraft Control Tutorial

Normal Acceleration CAS - 1

• The diagram on the left is the normal acceleration (an) CAS simulink code that includes an alpha/q SAS controller.

• The two plots above show the an desired versus the an output. The tracking of the PI CAS is good with nominal overshoot. The bottom plot shows typical response along with a small non-minimum phase response.

• The pole-zero map and root locus show the compensated system pole locations. The RHP zero is the source of the non-minimum phase response.

36

s+10

10

q fil ter

s+10

10

alpha fi lter

alph-q

0.4

SAS kq

0.08

SAS ka

f16_long

F16 long mdl

1.2

CASkp

s+2.2

sCAS_PI

Band-LimitedWhite Noise

-20.2

s+20.2Actuator mdl

alph

q

an

0 200 400 600 800 1000 1200-5

0

5

10x 10

-3

angl

e (d

egre

es)

SAS/CAS with [ka kq kp z] = [0.08 0.4 1.2 2.2]

set pointnormal accel

592 594 596 598 600 602 604 606-4

-3

-2

-1x 10

-3

time (sec), sum error = 0.47193

angl

e (d

egre

es)

-25 -20 -15 -10 -5 0 5 10-10

-5

0

5

10Pole-Zero Map

Real AxisIm

agin

ary

Axis

-30 -20 -10 0 10 20 30 40 50 60-20

-10

0

10

20Root Locus

Real Axis

Imag

inar

y Ax

is

Page 37: Aircraft Control Tutorial

s+10

10

q fi l ter

s+10

10

alpha fi l ter

alph-q

0.4

SAS kq

0.08

SAS ka

f16_long

F16 long mdl

1.2

CASkp

s+2.2

sCAS_PI

Band-LimitedWhite Noise

-20.2

s+20.2Actuator mdl

alph

q

an

Normal Acceleration CAS matlab code -2close_system('f16Long_normAccel_CAS_mdl',1)% states = {'vT' 'alpha' 'theta' 'q'};A = [-0.019311 8.8157 -32.17 -0.57499 -0.00025389 -1.0189 0 0.90506 0 0 0 1 2.9465e-12 0.82225 0 -1.0774];B = [0.1737 -0.0021499 0 -0.17555]';C = [0 57.29578 0 0 0 0 0 57.29578 0.0039813 16.262 0 0.97877];% D = [0 0 -0.048523]';D = [0 0 0.048523]';% ka = 0.1;ka = 0.08;kq = 0.4;A = A - B*[0 ka 0 kq];f16_long = ss(A,B,C,D);%sys1 = sys;kp = 1.2;z1 = 2.2;open_system('f16Long_normAccel_CAS_mdl')set_param('f16Long_normAccel_CAS_mdl/SAS kq','Gain',num2str(kq))set_param('f16Long_normAccel_CAS_mdl/SAS ka','Gain',num2str(ka))set_param('f16Long_normAccel_CAS_mdl/CASkp','Gain',num2str(kp))set_param('f16Long_normAccel_CAS_mdl/CAS_PI','Numerator',... ['[',num2str(1),' ',num2str(z1),']'])CAS_mdl_io(1) = linio('f16Long_normAccel_CAS_mdl/Add1',1,'in','on');CAS_mdl_io(2) = linio('f16Long_normAccel_CAS_mdl/Demux',3,'out','on');setlinio('f16Long_normAccel_CAS_mdl',CAS_mdl_io)CAS_lin_mdl = linearize('f16Long_normAccel_CAS_mdl',CAS_mdl_io)sim('f16Long_normAccel_CAS_mdl',1200)an_err = sum(abs(alpha_q.signals.values(:,[1]) - ... alpha_q.signals.values(:,[4])));

37

Page 38: Aircraft Control Tutorial

Autopilot – Pitch Att. Hold with Lead - 1

• The diagram on the left is the Pitch attitude hold AP simulink code that includes an alpha/q SAS controller, CAS PI controller, as well as the AP theta hold.

• The two upper plots show the theta desired versus the theta output. The tracking of the AP theta hold is good with nominal overshoot. The bottom plot shows typical response.

• The pole-zero map and root locus show the compensated system pole locations.

38

s+10

10

q fi l ter

s+10

10

alpha fi lter

alph-q

0.6

SAS kq

0.08

SAS ka

JET_long

JET long mdl

1.2

CASkp

s+0.2

sCAS_PI

Band-LimitedWhite Noise

-20.2

s+20.2Actuator mdl

s+1.4

s+14AP_lead

40

APKld

-25 -20 -15 -10 -5 0-1

-0.5

0

0.5

1Pole-Zero Map

Real AxisIm

agin

ary

Axis

-70 -60 -50 -40 -30 -20 -10 0 10 20-50

0

50Root Locus

Real Axis

Imag

inar

y Ax

is

0 200 400 600 800 1000 1200-5

0

5

10x 10

-3

angl

e (d

egre

es)

SAS/CAS with [ka kq kp z] = [0.08 0.6 1.2 0.2]AP [gain lead lag] = [40 1.4 14]

set pointtheta

295 300 305 310 315 320 325 330-5

0

5x 10

-3

time (sec), sum error = 0.53487

angl

e (d

egre

es)

Page 39: Aircraft Control Tutorial

Autopilot – Pitch Att. Hold with Lead - 2

• Phase and gain margins are for the theta loop.

• With a GM = 22.7 & a PM = 62.5 we are doing well with this system as is.

39

-150

-100

-50

0

50

100From: Add1 To: Demux/3

Mag

nitu

de (d

B)

10-3

10-2

10-1

100

101

102

103

-270

-180

-90

0

Phas

e (d

eg)

Bode DiagramGm = 22.7 dB (at 15.7 rad/sec) , Pm = 62.5 deg (at 2.63 rad/sec)

Frequency (rad/sec)

Page 40: Aircraft Control Tutorial

Autopilot matlab code – Pitch Att. Hold with Lead - 3% states = {'vT' 'alpha' 'theta' 'q'};A = [-0.038916 18.992 -32.149 0.0 -0.0010285 -0.64537 0.0056129 1.0 0 0 0 1 8.0847e-5 -0.77287 -8.0979e-4 -0.529];B = [0 0 0 -0.010992]';C = [0 57.29578 0 0 0 0 0 57.29578 0 0 57.29578 0];% D = [0 0 -0.048523]';D = [0 0 0]';% ka = 0.1;ka = 0.08;% SASkq = 0.6;%SASJET_long = ss(A,B,C,D);%sys1 = sys;kp = 1.2;z1 = 0.2;% CASz2 = 1.4;p2 = 14;klead = 40;% APopen_system('JETLong_Pitch_Hold_AP_mdl')set_param('JETLong_Pitch_Hold_AP_mdl/SAS kq','Gain',num2str(kq))set_param('JETLong_Pitch_Hold_AP_mdl/SAS ka','Gain',num2str(ka))set_param('JETLong_Pitch_Hold_AP_mdl/CASkp','Gain',num2str(kp))set_param('JETLong_Pitch_Hold_AP_mdl/CAS_PI','Numerator',... ['[',num2str(1),' ',num2str(z1),']'])set_param('JETLong_Pitch_Hold_AP_mdl/AP_lead','Numerator',... ['[',num2str(1),' ',num2str(z2),']'])set_param('JETLong_Pitch_Hold_AP_mdl/AP_lead','Denominator',... ['[',num2str(1),' ',num2str(p2),']'])set_param('JETLong_Pitch_Hold_AP_mdl/APKld','Gain',num2str(klead))AP_mdl_io(1) = linio('JETLong_Pitch_Hold_AP_mdl/Add1',1,'in','on');AP_mdl_io(2) = linio('JETLong_Pitch_Hold_AP_mdl/Demux',3,'out','on');setlinio('JETLong_Pitch_Hold_AP_mdl',AP_mdl_io)AP_lin_mdl = linearize('JETLong_Pitch_Hold_AP_mdl',AP_mdl_io);sim('JETLong_Pitch_Hold_AP_mdl',1200)

40

s+10

10

q fi l ter

s+10

10

alpha fi lter

alph-q

0.6

SAS kq

0.08

SAS ka

JET_long

JET long mdl

1.2

CASkp

s+0.2

sCAS_PI

Band-LimitedWhite Noise

-20.2

s+20.2Actuator mdl

s+1.4

s+14AP_lead

40

APKld

Page 41: Aircraft Control Tutorial

Autopilot for Automatic Landing - 1• Automatic landing may be necessary when controlling

the trajectory of an aircraft may be too difficult for the pilot. Cases may include bad weather or limited visibility.

• Automatic control of the longitudinal trajectory requires simultaneously controlling engine thrust and pitch attitude. This may be done by regulating airspeed (vT) and deviation from glide-path (d).

• This system has 2 inputs (throttle & elevator) and 2 outputs (vT & d). A multivariable system may be designed according to the classical approach by decoupling airspeed & deviation from glide-path.

• The 1st step is to take the theta-hold autopilot previously developed & augment it to incorporate the 2x2 system described above.

41

Page 42: Aircraft Control Tutorial

Autopilot for Automatic Landing - 2

• Above is the simulink code for the autolander. It is based on the Stevens and Lewis cp 4 example.

• For the pitch portion it includes the alpha-q SAS, the pitch rate CAS, the pitch attitude hold autopilot, and the ‘d’ tracking autopilot.

• It includes an airspeed regulation on the other channel.• Due to the sluggish response of the throttle lag a 6-sec lag low pass

filter was added to the set point to reduce the overshoot.

42

s+10

10

q fil ter

6s+1

1

dsp_fi lt

s+10

10

alpha fi lter

alph-q

1.2

VTgain

s+0.5

s+5VT_lead

0.2

s+0.2Throt_lag

0.6

SAS kq

0.08

SAS ka

JET_long

JET long mdl

s+0.2

sCAS_PI

Band-LimitedWhite Noise1

Band-LimitedWhite Noise

-20.2

s+20.2Actuator mdl

s+1.4

s+14AP_lead

40

APKld

(s+0.18)(s+0.5)

s(s+5)AL_lead

Page 43: Aircraft Control Tutorial

Autopilot for Automatic Landing - 3• The pole-zero map at

right indicates all loops have been stabilized.

• The top root locus is for the vT-throttle loop. The bottom root locus is for the glide path-elevator loop.

43

-25 -20 -15 -10 -5 0-2

-1.5

-1

-0.5

0

0.5

1

1.5

2Pole-Zero Map

Real Axis

Imag

inar

y Ax

is

-25 -20 -15 -10 -5 0 5-10

-5

0

5

10Root Locus

Real AxisIm

agin

ary

Axis

-60 -50 -40 -30 -20 -10 0 10 20 30-40

-20

0

20

40Root Locus

Real Axis

Imag

inar

y Ax

is

Page 44: Aircraft Control Tutorial

Autopilot for Automatic Landing - 4

• The vT appears to track well as shown.

• The glide path deviation (d) has large overshoots & is subject to disturbances.

• The vT set point filter seemed to help reduce the overshoot.

44

0 200 400 600 800 1000 1200-0.02

0

0.02

0.04

angl

e (d

egre

es)

autolander with [kvt zvt pvt] = [1.2 0.5 5]autolander glide-slope

vT spd spvTd

195 200 205 210 215 220-0.01

-0.005

0

0.005

0.01

time (sec), sum error = 6.4916

angl

e (d

egre

es)

Page 45: Aircraft Control Tutorial

Autopilot for Automatic Landing - 5• The gain & phase

margin of the two parallel loops are shown at right along with the bode plots.

• Both loops have good phase margins for good performance.

45

-200

0

200From: Add2 To: Demux/1

Mag

nitu

de (d

B)

10-4

10-2

100

102

-180

-90

0

Phas

e (d

eg)

Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 68.1 deg (at 0.605 rad/sec)

Frequency (rad/sec)

-500

0

500From: Add3 To: Demux/2

Mag

nitu

de (d

B)

10-4

10-2

100

102

-540-360

-1800

Phas

e (d

eg)

Bode DiagramGm = 14.9 dB (at 2.45 rad/sec) , Pm = 60.1 deg (at 0.507 rad/sec)

Frequency (rad/sec)

Page 46: Aircraft Control Tutorial

Matlab code for Automatic Landing - 6close_system('JET_Pitch_autoLand_AP_mdl',1)% states = {'vT' 'alpha' 'theta' 'q' 'h' 'd'};% h is the altitude, d is the positive glide path deviationA = [-0.03858 18.984 -32.139 0.0 1.3233e-4 0 -0.001028 -0.63253 0.0056129 1.0 3.7553e-6 0 0 0 0 1 0 0 7.8601e-5 -0.75905 -0.00079341 -0.5183 -3.0808e-7 0 -0.043622 -249.76 249.76 0 0 0 0 -250 250 0 0 0];B = [10.1 -1.5446e-4 0 0.024656 0 0;0 0 0 -0.01077 0 0]';C = [1 0 0 0 0 0 0 0 0 0 0 1 0 0 57.29578 0 0 0 0 57.29578 0 0 0 0 0 0 0 57.29578 0 0];% D = [0 0 -0.048523]';D = [0 0 0 0 0;0 0 0 0 0]';% ka = 0.1;% A = A - B*[0 ka 0 kq];JET_long = ss(A,B,C,D);%sys1 = sys;ka = 0.08;% SASkq = 0.6;%SASz1 = 0.2;% CASz2 = 1.4;p2 = 14;klead = 40;% AP thetazthr = 0.2;zvt = 0.5;kvt = 1.2;pvt = 5;% airspeed autopilotzAL = [-0.18 -0.5];pAL = [0 -5];kAL = 1;open_system('JET_Pitch_autoLand_AP_mdl')

46

set_param('JET_Pitch_autoLand_AP_mdl/SAS kq','Gain',num2str(kq))set_param('JET_Pitch_autoLand_AP_mdl/SAS ka','Gain',num2str(ka))set_param('JET_Pitch_autoLand_AP_mdl/CAS_PI','Numerator',... ['[',num2str(1),' ',num2str(z1),']'])set_param('JET_Pitch_autoLand_AP_mdl/AP_lead','Numerator',... ['[',num2str(1),' ',num2str(z2),']'])set_param('JET_Pitch_autoLand_AP_mdl/AP_lead','Denominator',... ['[',num2str(1),' ',num2str(p2),']'])set_param('JET_Pitch_autoLand_AP_mdl/APKld','Gain',num2str(klead))set_param('JET_Pitch_autoLand_AP_mdl/Throt_lag','Numerator',... ['[',num2str(zthr),']'])set_param('JET_Pitch_autoLand_AP_mdl/Throt_lag','Denominator',... ['[',num2str(1),' ',num2str(zthr),']'])set_param('JET_Pitch_autoLand_AP_mdl/VT_lead','Numerator',... ['[',num2str(1),' ',num2str(zvt),']'])set_param('JET_Pitch_autoLand_AP_mdl/VT_lead','Denominator',... ['[',num2str(1),' ',num2str(pvt),']'])set_param('JET_Pitch_autoLand_AP_mdl/VTgain','Gain',num2str(kvt))set_param('JET_Pitch_autoLand_AP_mdl/AL_lead','Zeros',... ['[',num2str(zAL),']'],'Poles',... ['[',num2str(pAL),']'],'Gain',... ['[',num2str(kAL),']'])AP_mdl_io(1) = linio('JET_Pitch_autoLand_AP_mdl/Add2',1,'in','on');AP_mdl_io(2) = linio('JET_Pitch_autoLand_AP_mdl/Demux',1,'out','on');AP_mdl_io(3) = linio('JET_Pitch_autoLand_AP_mdl/Add3',1,'in','on');AP_mdl_io(4) = linio('JET_Pitch_autoLand_AP_mdl/Demux',2,'out','on');set_param('JET_Pitch_autoLand_AP_mdl/dsp_filt','Denominator',... ['[',num2str(6),' ',num2str(1),']'])setlinio('JET_Pitch_autoLand_AP_mdl',AP_mdl_io)AP_lin_mdl = linearize('JET_Pitch_autoLand_AP_mdl',AP_mdl_io);sim('JET_Pitch_autoLand_AP_mdl',1200)

Page 47: Aircraft Control Tutorial

Modern Control Design• Based directly on state variable models• Specifications in terms of mathematically determined performance

criteria yield matrix equations for the control gains.• Matrix equations allow all the control gains to computed simultaneously,

which closes all the loops at the same time. • More quick and direct than equivalent classical design methods. • Design features or problems include:

– Pole-placement/eigenvector assignment– Regulator problem, – Tracker problem (tracking a command signal)– Model following– Dynamic inversion– Robust design– Observers, Kalman filters– Digital control

47

Page 48: Aircraft Control Tutorial

F-16 Yaw Damper – 1 (pole placement)

48

pc = [-0.02 -0.2+0.2i,... -0.2-0.2i,-3.5];po = -10 + pc;Lobs = place(a',c',po).';Lcon = place(a,b,pc);sysobs = ss(a-Lobs*c,Lobs,Lcon,0);Lcon = 'beta' 'roll‘ 'roll rate' 'yaw rate‘ 81.1827 -0.5088 -61.6549 -33.1050 -105.6235 1.6612 -232.9054 -77.7229

Eigenvalue Damping Freq. (rad/s) Observer dynamics -1.00e+001 1.00e+000 1.00e+001 -1.02e+001 + 2.00e-001i 1.00e+000 1.02e+001 -1.02e+001 - 2.00e-001i 1.00e+000 1.02e+001 -1.35e+001 1.00e+000 1.35e+001 Controlled system (roll/yaw damper) -2.00e-002 1.00e+000 2.00e-002 -2.00e-001 + 2.00e-001i 7.07e-001 2.83e-001 -2.00e-001 - 2.00e-001i 7.07e-001 2.83e-001 -3.50e+000 1.00e+000 3.50e+000

• We’ll now introduce ‘modern’ pole placement which is a commonly used multivariable approach. By using a state space pole placement method we can generate an observer which produces an estimated or smoothed state vector which is fed into the control law. Thus, we have more degrees of freedom (length of the state vector) to achieve the control objectives.

• By use of the matlab ‘place’ command we can specify the observer (state space smoother) poles and the control system poles with verifiable accuracy. Pole placement allows us to design very quickly as well as accurately. Note that we had to remove the yaw angle state as the state must be controllable or accessible.

• The po vector is the desired observer poles. We arbitrarily offset them a reasonable distance from the pc vector so the observer poles will not interfere with the control law performance.

• The pc vector is the desired system poles. The design results are shown under Controlled system. Note the Lcon values emphasize beta, roll rate, & yaw rate with most emphasis on beta & roll rate. Therefore, pole placement may also be used as a sensitivity analysis tool.

• The new damping coefficient for the system is 0.707, which will satisfy short period mode pilot handling qualities.

A = [-0.1315 0.14858 0 0.32434 -0.93964 0 0 0 1 0.33976 0 0 0 0 1.0561 -10.614 0 0 -1.1793 1.0023 0.99655 0 0 -0.0018174 -0.25855];B = [0.00012049 0.00032897 0 0 0 0 -0.1031578 0.020987 -0.002133 -0.010715];C = [0 0 0 57.29578 0 0 0 0 0 57.29578];D = [0 0 0 0];

Starting model. Yaw angle was removed for ‘place’ to work.

Page 49: Aircraft Control Tutorial

F-16 Yaw Damper – 2 (pole placement)• Pp1 uses the following

commands: a1 = 0.75;b1 = 0.9;pc = [-0.01 -a1+b1*1i,... -a1-b1*1i,-5];po = -10 + pc;Lobs = place(a',c',po).';Lcon = place(a,b,pc);sysobs = ss(a-

Lobs*c,Lobs,Lcon,0);syscon = ss(a-

b*Lcon,b,c,d);• Pp1 is based on the

original plant

49

-6

-4

-2

0

2From: aileron

To: r

oll r

ate

0 5 10 15 20-1

-0.5

0

0.5

To: y

aw ra

te

From: rudder

0 5 10 15 20

Impulse Response

Time (sec)

Ampl

itude

orig f16classicalpp1

state vector = 'beta' 'roll‘ 'roll rate' 'yaw rate‘Control vector = ‘aileron’ ‘rudder’Lcon = 66.2803 -11.8009 -10.7259 -96.9482 -163.8392 5.1284 -34.7423 -410.4016For the above specified poles beta & yaw rate are emphasized, that is, the control system is more sensitive to beta & yaw rate values than roll & roll rate values.

Page 50: Aircraft Control Tutorial

Pole Placement for CCV fighter Pitch Pointing - 1states = {'alpha''q' 'gamma' 'elev''flap'}A = [-1.341 0.9933 0 -0.1689 -0.2518 43.223 -0.8693 0 -17.251 -1.5766 1.341 0.0067 0 0.1689 0.2518 0 0 0 -20 0 0 0 0 0 -20];B = [0 0 0 20 0;0 0 0 0 20]';C = [0 1 0 0 0 47.76 -0.268 0 -4.56 4.45 zeros(3,2) eye(3)]; D = zeros(5,2);JET_long = ss(A,B,C,D);%sys1 = sys; % pole placementa = A;b = B;c = C;d = D;a1 = 5.6;b1 = 4.2;pc = [-1.0 -a1+b1*1i,... -a1-b1*1i,-19 -19.5];po = -20 + pc;Lobs = place(a',c',po).';Lcon = place(a,b,pc);sysobs = -ss(a-Lobs*c,Lobs,Lcon,0);syscon = ss(a-b*Lcon,b,c,d);

• The control law improves the pole locations. Note that the movement desired is small. This way the gain magnitudes are relatively small.

• Sysobs is the complete compensator & is used to check the observer pole locations. Syscon is used to check the pole locations.

50

Lcon = -5.6052 -0.7355 -1.3926 0.4634 0.0864 -0.3858 -0.0219 0.3983 0.0063 -0.0389

Eigenvalue Damping Freq. (rad/s) Observer dynamics -2.10e+001 1.00e+000 2.10e+001 -2.56e+001 + 4.20e+000i 9.87e-001 2.59e+001 -2.56e+001 - 4.20e+000i 9.87e-001 2.59e+001 -3.90e+001 1.00e+000 3.90e+001 -3.95e+001 1.00e+000 3.95e+001 Controlled system (roll/yaw damper) -1.00e+000 1.00e+000 1.00e+000 -5.60e+000 + 4.20e+000i 8.00e-001 7.00e+000 -5.60e+000 - 4.20e+000i 8.00e-001 7.00e+000 -1.90e+001 1.00e+000 1.90e+001 -1.95e+001 1.00e+000 1.95e+001

Pole-Zero Map

Real Axis

Imag

inar

y Ax

is

-20 -18 -16 -14 -12 -10 -8 -6 -4 -2 0-5

-4

-3

-2

-1

0

1

2

3

4

5

System: sysconPole : -1Damping: 1Overshoot (%): 0Frequency (rad/sec): 1

System: sysconPole : -5.6 - 4.2iDamping: 0.8Overshoot (%): 1.52Frequency (rad/sec): 7

Page 51: Aircraft Control Tutorial

Pole Placement for CCV fighter Pitch Pointing - 2• The root loci is organized so that

the 1st column is due to elevator action. The 2nd column is due to flaperon action.

• The rows are: 1st – q (pitch rate), 2nd – nzp (normal acceleration), 3rd – gamma (flight path angle).

• The phugoid mode has been moved to a -1 pole location.

• The short-period dynamics are now at -5.6 +- 4.2i, which has a damping coefficient of 0.8.

• The matlab code follows:

subplot(321)rlocus(syscon(1,1)),%grid onsubplot(322)rlocus(syscon(1,2)),%grid onsubplot(323)rlocus(syscon(2,1)),%grid onsubplot(324)rlocus(syscon(2,2)),%grid onsubplot(325)rlocus(syscon(3,1)),%grid onsubplot(326)rlocus(syscon(3,2)),%grid on

51

-100 -50 0 50-10

0

10Root Locus

Real Axis

Imag

inar

y Ax

is

-100 -50 0 50-10

0

10Root Locus

Real Axis

Imag

inar

y Ax

is

-40 -20 0 20-20

0

20Root Locus

Real AxisIm

agin

ary

Axis

-40 -20 0 20-5

0

5Root Locus

Real Axis

Imag

inar

y Ax

is

-40 -20 0 20-200

0

200Root Locus

Real Axis

Imag

inar

y Ax

is

-20 -10 0 10-50

0

50Root Locus

Real Axis

Imag

inar

y Ax

is

Page 52: Aircraft Control Tutorial

Pole Placement for CCV fighter Pitch Pointing - 3• The impulse responses are

organized so that the 1st column is due to elevator action. The 2nd column is due to flaperon action.

• The rows are: 1st – q, 2nd – nzp, 3rd – gamma.

• The impulse show that the outputs are more sensitive to elevator disturbances than flaperon disturbances. Also, there are no biases due to impulse disturbances.

• The matlab code follows:

impulse(syscon(1:3,:)),grid on

52

-10

-5

0

5From: In(1)

To: O

ut(1

)

-100

0

100

To: O

ut(2

)

0 2 4 6-1

-0.5

0

0.5To

: Out

(3)

From: In(2)

0 2 4 6

Impulse Response

Time (sec)

Ampl

itude

Page 53: Aircraft Control Tutorial

Pole Placement for CCV fighter Pitch Pointing - 4• The step responses are

organized so that the 1st column is due to elevator action. The 2nd column is due to flaperon action.

• The rows are: 1st – q, 2nd – nzp, 3rd – gamma.

• The steps show that the outputs are more sensitive to elevator disturbances than flaperon disturbances. The only ‘normal’ step response is in the gamma channel.

• The matlab code follows:

step(syscon(1:3,:)),grid on

53

-1.5

-1

-0.5

0

From: In(1)

To: O

ut(1

)

-10

-5

0To

: Out

(2)

0 2 4 6-1

-0.5

0

0.5

To: O

ut(3

)

From: In(2)

0 2 4 6

Step Response

Time (sec)

Ampl

itude

Page 54: Aircraft Control Tutorial

LQR state feedback for F16 - 1A = [-0.322 0.064 0.0364 -0.9917 0.0003 0.0008 0 0 0 1 0.0037 0 0 0 -30.6492 0 -3.6784 0.6646 -0.7333 0.1315 0 8.5396 0 -0.0254 -0.4764 -0.0319 -0.062 0 0 0 0 0 -20.2 0 0 0 0 0 0 0 -20.2 0 0 0 0 180/pi 0 0 -1];B = [0 0 0 0 20.2 0 0;0 0 0 0 0 20.2 0]';C = 180/pi*[0 0 0 1 0 0 -pi/180 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0];D = zeros(4,2);JET_long = ss(A,B,C,D);

Q = eye(size(A))*100;R = c*c'*1e-3;N = c';Lobs = lqr(a',c',Q,R).';qdr = 50;qp = 100;Q = diag([qdr qp qp qdr 0 0 1]);R = 0.1*eye(2);N = b;Lcon = lqr(a,b,Q,R);sysobs_state = ss(a-Lobs*c,Lobs,Lcon,0);syscon_state = ss(a-b*Lcon,b,c,d);

• The control law improves the pole locations. Note that the movement is small. This way the gain magnitudes are relatively small.

• Sysobs is the complete compensator & is used to check the observer pole locations. Syscon is used to check the pole locations.

• Most of the observer poles are larger in magnitude than the controlled system poles. All have high damping.

54

-25 -20 -15 -10 -5 0-15

-10

-5

0

5

10

15Pole-Zero Map

Real Axis

Imag

inar

y Ax

is

Eigenvalue Damping Freq. (rad/s) Observer dynamics -2.28e-002 1.00e+000 2.28e-002 -2.02e+001 1.00e+000 2.02e+001 -2.02e+001 1.00e+000 2.02e+001 -3.16e+002 + 1.49e-001i 1.00e+000 3.16e+002 -3.16e+002 - 1.49e-001i 1.00e+000 3.16e+002 -3.17e+002 + 1.61e+001i 9.99e-001 3.17e+002 -3.17e+002 - 1.61e+001i 9.99e-001 3.17e+002 Controlled system (F16 long. SAS) -7.72e-001 1.00e+000 7.72e-001 -9.12e-001 1.00e+000 9.12e-001 -1.93e+000 + 3.42e+000i 4.91e-001 3.92e+000 -1.93e+000 - 3.42e+000i 4.91e-001 3.92e+000 -2.02e+001 1.00e+000 2.02e+001 -1.86e+001 + 1.16e+001i 8.48e-001 2.19e+001 -1.86e+001 - 1.16e+001i 8.48e-001 2.19e+001

Page 55: Aircraft Control Tutorial

LQR state feedback for F16 - 2

55

• The root loci is organized so that the 1st column is due to rudder action. The 2nd column is due to aileron action.

• The rows are: 1st – r (yaw rate), 2nd – p (roll rate), 3rd - β (side slip angle), 4th – φ (roll angle).

• The phugoid mode has been moved to a -0.77 pole location.

• The short-period dynamics are now at -1.93 +- 3.42i, which has a damping coefficient of 0.491.

55

-100 -50 0 50-20

0

20Root Locus

Real Axis

Imag

inar

y Ax

is

-100 -50 0 50-20

0

20Root Locus

Real Axis

Imag

inar

y Ax

is

-100 -50 0 50-20

0

20Root Locus

Real AxisIm

agin

ary

Axis

-30 -20 -10 0 10-50

0

50Root Locus

Real Axis

Imag

inar

y Ax

is

-30 -20 -10 0 10-200

0

200Root Locus

Real Axis

Imag

inar

y Ax

is

-100 -50 0 50-1000

0

1000Root Locus

Real Axis

Imag

inar

y Ax

is

-40 -20 0 20 40-50

0

50Root Locus

Real Axis

Imag

inar

y Ax

is

-40 -20 0 20-50

0

50Root Locus

Real Axis

Imag

inar

y Ax

is

Page 56: Aircraft Control Tutorial

LQR state feedback for F16 - 3

56

• The impulse responses are organized so that the 1st column is due to rudder action. The 2nd column is due to aileron action.

• The rows are: 1st – r (yaw rate), 2nd – p (roll rate), 3rd - β (side slip angle), 4th – φ (roll angle).

• The impulse show that the roll outputs are more sensitive to rudder disturbances than aileron disturbances. Also, r / β are more sensitive to aileron disturbances.

• A non-minimum phase response is shown from the yaw rate response to aileron action.

• The matlab code follows:

impulse(syscon),grid on

-5

0

5From: In(1)

To: O

ut(1

)

-20

0

20

To: O

ut(2

)

-1

0

1

To: O

ut(3

)

0 2 4 6 8 10-2

0

2

To: O

ut(4

)

From: In(2)

0 2 4 6 8 10

Impulse Response

Time (sec)

Ampl

itude

Page 57: Aircraft Control Tutorial

LQR state feedback for F16 - 4

57

• The step responses are organized so that the 1st column is due to rudder action. The 2nd column is due to aileron action.

• The rows are: 1st – r (yaw rate), 2nd – p (roll rate), 3rd - β (side slip angle), 4th – φ (roll angle).

• The steps as well as impulses show that the roll outputs are more sensitive to rudder disturbances than aileron disturbances. Also, r / β are more sensitive to aileron disturbances.

• Only roll angle shows a true step response from rudder action. Only side slip angle shows a true step response from aileron action.

-0.5

0

0.5From: In(1)

To: O

ut(1

)

-2

0

2

To: O

ut(2

)

0

0.2

0.4

To: O

ut(3

)

0 2 4 6 8 10-2

-1

0

To: O

ut(4

)

From: In(2)

0 2 4 6 8 10

Step Response

Time (sec)

Ampl

itude

Page 58: Aircraft Control Tutorial

LQR state feedback for F16 - 4

58

• The step responses are organized so that the 1st column is due to rudder action. The 2nd column is due to aileron action.

• The rows are: 1st – r (yaw rate), 2nd – p (roll rate), 3rd - β (side slip angle), 4th – φ (roll angle).

• The steps as well as impulses show that the roll outputs are more sensitive to rudder disturbances than aileron disturbances. Also, r / β are more sensitive to aileron disturbances.

• Only roll angle shows a true step response from rudder action. Only side slip angle shows a true step response from aileron action.

-0.5

0

0.5From: In(1)

To: O

ut(1

)

-2

0

2

To: O

ut(2

)

0

0.2

0.4

To: O

ut(3

)

0 2 4 6 8 10-2

-1

0

To: O

ut(4

)

From: In(2)

0 2 4 6 8 10

Step Response

Time (sec)

Ampl

itude

Page 59: Aircraft Control Tutorial

LQR output feedback for F16 - 1A = [-0.322 0.064 0.0364 -0.9917 0.0003 0.0008 0 0 0 1 0.0037 0 0 0 -30.6492 0 -3.6784 0.6646 -0.7333 0.1315 0 8.5396 0 -0.0254 -0.4764 -0.0319 -0.062 0 0 0 0 0 -20.2 0 0 0 0 0 0 0 -20.2 0 0 0 0 180/pi 0 0 -1];B = [0 0 0 0 20.2 0 0;0 0 0 0 0 20.2 0]';C = 180/pi*[0 0 0 1 0 0 -pi/180 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0];D = zeros(4,2);JET_long = ss(A,B,C,D);qdr = 50;qp = 100;Q = diag([qdr qp qp qdr]);R = 0.1*eye(2);Lcon = lqry(JET_long,Q,R);sysobs_out = ss(a-Lobs*c,Lobs,Lcon,0);syscon_out = ss(a-b*Lcon,b,c,d);damp(sysobs_out)damp(syscon_out)

• The control law improves the pole locations. Note that the movement is small. This way the gain magnitudes are relatively small.

• Sysobs_out is the complete compensator & is used to check the observer pole locations. Syscon_out is used to check the controlled system pole locations.

• Most of the observer poles are larger in magnitude than the controlled system poles. All have high damping.

59

Eigenvalue Damping Freq. (rad/s) Observer dynamics -2.28e-002 1.00e+000 2.28e-002 -2.02e+001 1.00e+000 2.02e+001 -2.02e+001 1.00e+000 2.02e+001 -3.16e+002 + 1.49e-001i 1.00e+000 3.16e+002 -3.16e+002 - 1.49e-001i 1.00e+000 3.16e+002 -3.17e+002 + 1.61e+001i 9.99e-001 3.17e+002 -3.17e+002 - 1.61e+001i 9.99e-001 3.17e+002 Controlled system (F16 long. SAS)-7.06e-001 1.00e+000 7.06e-001 -1.11e+000 + 4.43e-001i 9.28e-001 1.19e+000 -1.11e+000 - 4.43e-001i 9.28e-001 1.19e+000 -3.10e+001 + 2.76e+001i 7.46e-001 4.15e+001 -3.10e+001 - 2.76e+001i 7.46e-001 4.15e+001 -1.17e+002 + 1.16e+002i 7.10e-001 1.65e+002 -1.17e+002 - 1.16e+002i 7.10e-001 1.65e+002

-120 -100 -80 -60 -40 -20 0-150

-100

-50

0

50

100

150Pole-Zero Map

Real Axis

Imag

inar

y Ax

is

Page 60: Aircraft Control Tutorial

LQR output feedback for F16 - 2

60

• The root loci is organized so that the 1st column is due to rudder action. The 2nd column is due to aileron action.

• The rows are: 1st – r (yaw rate), 2nd – p (roll rate), 3rd - β (side slip angle), 4th – φ (roll angle).

• The phugoid mode has been moved to a -0.706 pole location.

• The short-period dynamics are now at -1.11 +- 0.443i, which has a damping coefficient of 0.928. This performance is superior to the LQR state feedback using identical weightings.

60

-200 -100 0 100 200-200

0

200Root Locus

Real Axis

Imag

inar

y A

xis

-200 -100 0 100 200-200

0

200Root Locus

Real Axis

Imag

inar

y A

xis

-400 -200 0 200-200

0

200Root Locus

Real Axis

Imag

inar

y A

xis

-150 -100 -50 0 50-500

0

500Root Locus

Real Axis

Imag

inar

y A

xis

-150 -100 -50 0 50-1000

0

1000Root Locus

Real Axis

Imag

inar

y Ax

is

-150 -100 -50 0 50-500

0

500Root Locus

Real Axis

Imag

inar

y A

xis

-400 -200 0 200 400-500

0

500Root Locus

Real Axis

Imag

inar

y A

xis

-1000 -500 0 500-1000

0

1000Root Locus

Real Axis

Imag

inar

y Ax

is

Page 61: Aircraft Control Tutorial

LQR output feedback for F16 - 3

61

• The impulse responses are organized so that the 1st column is due to rudder action. The 2nd column is due to aileron action.

• The rows are: 1st – r (yaw rate), 2nd – p (roll rate), 3rd - β (side slip angle), 4th – φ (roll angle).

• The impulse show that the roll outputs are more sensitive to rudder disturbances than aileron disturbances. Also, r - β are more sensitive to aileron disturbances.

• A non-minimum phase response is shown from the yaw rate response to aileron action.

• Responses are significantly reduced due to the improved short-period damping.

-1

0

1From: In(1)

To: O

ut(1

)

0

0.1

0.2

To: O

ut(2

)

-0.05

0

0.05

To: O

ut(3

)

0 2 4 6 8-0.04

-0.02

0

To: O

ut(4

)

From: In(2)

0 2 4 6 8

Impulse Response

Time (sec)

Ampl

itude

Page 62: Aircraft Control Tutorial

LQR output feedback for F16 - 4

62

• The step responses are organized so that the 1st column is due to rudder action. The 2nd column is due to aileron action.

• The rows are: 1st – r (yaw rate), 2nd – p (roll rate), 3rd - β (side slip angle), 4th – φ (roll angle).

• The steps as well as impulses show that the roll outputs are more sensitive to rudder disturbances than aileron disturbances. Also, r / β are more sensitive to aileron disturbances.

• Only roll angle shows a true step response from rudder action. Only side slip angle shows a true step response from aileron action.

• Step responses are much reduced due to the improved short-period damping.

-0.05

0

0.05From: In(1)

To: O

ut(1

)

-0.04

-0.02

0

To: O

ut(2

)

0

0.02

0.04

To: O

ut(3

)

0 2 4 6 8

-0.04

-0.02

0

To: O

ut(4

)

From: In(2)

0 2 4 6 8

Step Response

Time (sec)

Ampl

itude

Page 63: Aircraft Control Tutorial

LQR Summary

• For implementation on an aircraft, the control gains (Lcon) should be gain-scheduled. To do this the nonlinear aircraft equations are linearized at several equilibrium flight conditions over the desired flight envelope to obtain A & B matrices. The LQR design is repeated for those different systems.

• Since the Q & R matrices can be the same throughout the flight conditions, the control gain matrices may be obtained in a few minutes for each flight conditions.

63

Page 64: Aircraft Control Tutorial

Tracking a Command

• The objective is to design a control system that will track a reference signal.

• An example is to shape the system response based on a desired reference model, which is called model reference control. This is also called servodesign and is important in CAS design.

• A pole placement & an LQG tracker design will be presented using matlab commands, as has been the demonstration approach all along. In this modern control approach all the gains are determined at the same time. All the loops are closed at once.

• A major disadvantage of LQG design is tuning the Q & R matrices. Although some intuition is involved usually there is no straight forward means to derive the Q&R matrices. Generally, when pole placement is used we try to minimally adjust the original poles.

• Model reference control is based on a feedback performance signal that is used to determine the control system quality. LQG may be used for model reference control design.

64

Page 65: Aircraft Control Tutorial

Command Tracker – 1 – F16 model (pole placement)A = [-1.01887 0.90506 -0.00215 0 0 0.82225 -1.07741 -0.17555 0 0 0 0 -20.2 0 0 10 0 0 -10 0 -16.26 -0.9788 0.04852 0 0];B = [0 0 20.2 0 0]';G = [0 0 0 0 1]';r2d = 180/pi;C = [0 0 0 r2d 0 0 r2d 0 0 0 -16.26 -0.9788 0.048522 0 0 0 0 0 0 1];D = zeros(4,1);F = [0 0 1 0]';H = [16.26 0.9788 -0.048522 0 0];JET_long = ss(A,[B,G],C,[D,F]);Pole placement matlab design follows:% pole placement[a,b,c,d] = ssdata(JET_long);pc = -[3e-2 .18 2 10 20];po = -15 + pc;Lobs = place(a',c',po).';Lcon = place(a,b,pc);sysobs_PP = ss(a-Lobs*c,Lobs,Lcon,zeros(2,4));

65

The original plant characteristics are shown below.damp(JET_long) Eigenvalue Damping Freq. (rad/s) 0.00e+000 -1.00e+000 0.00e+000 -1.85e-001 1.00e+000 1.85e-001 -1.91e+000 1.00e+000 1.91e+000 -1.00e+001 1.00e+000 1.00e+001 -2.02e+001 1.00e+000 2.02e+001

Eigenvalue Damping Freq. (rad/s) Observer dynamics -1.50e+001 1.00e+000 1.50e+001 -1.52e+001 1.00e+000 1.52e+001 -1.70e+001 1.00e+000 1.70e+001 -2.50e+001 1.00e+000 2.50e+001 -3.50e+001 1.00e+000 3.50e+001 Controlled system (F16 long. SAS) -3.00e-002 1.00e+000 3.00e-002 -1.80e-001 1.00e+000 1.80e-001 -2.00e+000 1.00e+000 2.00e+000 -1.00e+001 1.00e+000 1.00e+001 -2.00e+001 1.00e+000 2.00e+001

Page 66: Aircraft Control Tutorial

Command Tracker – 2 – root locus (pole placement)

66

• The root loci is organized so that the 1st column is due to elevator action. The 2nd column is due to command signal.

• The rows are: 1st – α (angle of attack), 2nd – q (pitch rate), 3rd - δe (elevator actuator), 4th – α (α filter), 5th – ε (performance index).

• The phugoid mode has been moved from 0 to -0.03. This gives ~30 sec time constant.

• The short-period was moved slightly from -0.185 to -0.18.

• No root loci exists in some channels because they are based on the performance index.

66

-200 0 200 400-500

0

500Root Locus

Real Axis

Imag

inar

y Ax

is

-1 -0.5 0 0.5 1-1

0

1Root Locus

Real Axis

Imag

inar

y Ax

is

-100 -50 0 50-5

0

5Root Locus

Real AxisIm

agin

ary

Axis

-1 -0.5 0 0.5 1-1

0

1Root Locus

Real Axis

Imag

inar

y Ax

is

-40 -20 0 20-10

0

10Root Locus

Real Axis

Imag

inar

y Ax

is

-1 -0.5 0 0.5 1-1

0

1Root Locus

Real Axis

Imag

inar

y Ax

is

-1 -0.5 0 0.5 1-1

0

1Root Locus

Real Axis

Imag

inar

y Ax

is

-0.15 -0.1 -0.05 0 0.05-5

0

5x 10

-3 Root Locus

Real Axis

Imag

inar

y Ax

is

Page 67: Aircraft Control Tutorial

Command Tracker – step (pole placement) - 3

67

• The step responses are organized so that the 1st column is due to elevator action. The 2nd column is due to command signal.

• The rows are: 1st – α (angle of attack), 2nd – q (pitch rate), 3rd - δe (elevator actuator), 4th – α (α filter), 5th – ε (performance index).

• The steps show that the lateral outputs have a rise time of ~ 12 sec. The performance index has a rise time of ~ 73 sec.

-40

-20

0From: In(1)

To: O

ut(1

)

-40

-20

0

To: O

ut(2

)

0

5

10

To: O

ut(3

)

0 50 100 1500

20

40

To: O

ut(4

)

From: In(2)

0 50 100 150

Step Response

Time (sec)

Ampl

itude

Page 68: Aircraft Control Tutorial

Command Tracker – F16 model (LQG state feedback) – 1 % LQR state feedbackQ = H'*H + diag([100 100 100 0 2]);R = c*c'*1e-3;Lobs = lqr(a',c',Q,R).';Q = H'*H;Q(end,end) = 0.5;R = 5*eye(2);Lcon = lqr(a,b,Q,R);sysobs_state = ss(a-Lobs*c,Lobs,Lcon,0);syscon_state = ss(a-b*Lcon,b,c,d);damp(sysobs_state)damp(syscon_state)

• The control law improves the pole locations. The original pole near the origin is slightly unstable. This phugoid mode under the control has a good damping of 0.866 & has good distance from the origin.

• Sysobs_out is the complete compensator (controller plus observer) & is used to check the observer pole locations. Syscon_out is used to check the controlled system pole locations.

• Most of the observer poles (not shown) are larger in magnitude than the controlled system poles. All have high damping.

68

Eigenvalue Damping Freq. (rad/s) Original dynamics 0.00e+000 -1.00e+000 0.00e+000 -1.85e-001 1.00e+000 1.85e-001 -1.91e+000 1.00e+000 1.91e+000 -1.00e+001 1.00e+000 1.00e+001 -2.02e+001 1.00e+000 2.02e+001 Controlled system (F16 long)-6.41e-001 + 3.71e-001i 8.66e-001 7.41e-001 -6.41e-001 - 3.71e-001i 8.66e-001 7.41e-001 -1.79e+000 1.00e+000 1.79e+000 -1.00e+001 1.00e+000 1.00e+001 -2.02e+001 1.00e+000 2.02e+001

-25 -20 -15 -10 -5 0-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4Pole-Zero Map

Real Axis

Imag

inar

y Ax

is

Page 69: Aircraft Control Tutorial

Command Tracker – F16 model (LQG state feedback) – 2

69

• The root loci is organized so that the 1st column is due to elevator action. The 2nd column is due to command signal.

• The rows are: 1st – α (angle of attack), 2nd – q (pitch rate), 3rd - δe (elevator actuator), 4th – α (α filter), 5th – ε (performance index).

• The phugoid mode has been moved to a -0.641 +- 0.371i pole location. The damping coefficient is 0.866.

• The short-period dynamics are now at -1.93. These dynamics must be viewed at the appropriate scales. This view gives an overall view of the system dynamics.

69

-200 0 200 400-500

0

500Root Locus

Real Axis

Imag

inar

y Ax

is

-200 -100 0 100 200-200

0

200Root Locus

Real Axis

Imag

inar

y Ax

is

-40 -20 0 20-5

0

5Root Locus

Real AxisIm

agin

ary

Axis

-100 -50 0 50-50

0

50Root Locus

Real Axis

Imag

inar

y Ax

is

-40 -20 0 20-10

0

10Root Locus

Real Axis

Imag

inar

y Ax

is

-30 -20 -10 0 10-2

0

2Root Locus

Real Axis

Imag

inar

y Ax

is

-30 -20 -10 0 10-100

0

100Root Locus

Real Axis

Imag

inar

y Ax

is

-40 -20 0 20-2

0

2Root Locus

Real Axis

Imag

inar

y Ax

is

Page 70: Aircraft Control Tutorial

Command Tracker – F16 model (LQG state feedback) – 3

70

• The impulse responses are organized so that the 1st column is due to elevator action. The 2nd column is due to command signal.

• The rows are: 1st – α (angle of attack), 2nd – q (pitch rate), 3rd - δe (elevator actuator), 4th – α (α filter), 5th – ε (performance index).

• The impulse show that the longitudinal outputs are sensitive to elevator disturbances at these control gains. In order to reduce the disturbance sensitivity we must modify the Q & R matrices, or, at least the R(1,1) element.

-5

0

5From: In(1)

To: O

ut(1

)

-10

0

10

To: O

ut(2

)

-1

0

1

To: O

ut(3

)

0 5 10-1

0

1

To: O

ut(4

)

From: In(2)

0 5 10

Impulse Response

Time (sec)

Ampl

itude

Page 71: Aircraft Control Tutorial

Command Tracker – F16 model (LQG state feedback) – 4

71

-4-2024

From: In(1)

To: O

ut(1

)

-4-2024

To: O

ut(2

)

0

1

2To

: Out

(3)

0 2 4 6 8 10 120

2

4

To: O

ut(4

)

From: In(2)

0 2 4 6 8 10 12

Step Response

Time (sec)

Ampl

itude

• The step responses are organized so that the 1st column is due to elevator action. The 2nd column is due to command signal.

• The rows are: 1st – α (angle of attack), 2nd – q (pitch rate), 3rd - δe (elevator actuator), 4th – α (α filter), 5th – ε (performance index).

• The steps show that the longitudinal outputs are sensitive to elevator disturbances at these control gains. There is significant overshoot the angle of attack and pitch rate. In order to reduce the overshoot we must modify the Q & R matrices, or, at least the R(1,1) element.

Page 72: Aircraft Control Tutorial

Command Tracker – F16 model (LQG Output feedback) – 1 % LQR output feedback

Q = H'*H;Q(end,end) = 0.5;R = 3*eye(2);Lcon = lqr(a,b,Q,R);sysobs_out = ss(a-Lobs*c,Lobs,Lcon,0);syscon_out = ss(a-b*Lcon,b,c,d);damp(sysobs_out)damp(syscon_out)

• The control law improves the pole locations. The original pole near the origin is slightly unstable. This phugoid mode under the control has a good damping of 0.866 & has good distance from the origin.

• Sysobs_out is the complete compensator (controller plus observer) & is used to check the observer pole locations. Syscon_out is used to check the controlled system pole locations.

• Most of the observer poles (not shown) are larger in magnitude than the controlled system poles. All have high damping.

• This shows slightly higher damping than the equivalent state feedback LQG method.

72

Eigenvalue Damping Freq. (rad/s) Original dynamics 0.00e+000 -1.00e+000 0.00e+000 -1.85e-001 1.00e+000 1.85e-001 -1.91e+000 1.00e+000 1.91e+000 -1.00e+001 1.00e+000 1.00e+001 -2.02e+001 1.00e+000 2.02e+001 Controlled system (F16 long)-7.97e-001 + 3.97e-001i 8.95e-001 8.91e-001 -7.97e-001 - 3.97e-001i 8.95e-001 8.91e-001 -1.68e+000 1.00e+000 1.68e+000 -1.00e+001 1.00e+000 1.00e+001 -2.02e+001 1.00e+000 2.02e+001

-4

-2

0

2From: In(1)

To: O

ut(1

)

-4

-2

0

2

To: O

ut(2

)

0

0.5

1

To: O

ut(3

)

0 2 4 6 8 100

1

2

To: O

ut(4

)

From: In(2)

0 2 4 6 8 10

Step Response

Time (sec)

Ampl

itude

Page 73: Aircraft Control Tutorial

MIMO Wing Leveler Pole Placement - 1• This is a two-input two-output roll/yaw damper. Note in this case we will close the loops

simultaneously. • Step 1 is to set up the augmented state space formulation. We’ll add integrators to generate

performance indices for both roll & yaw. • The two performance indices are roll angle & yaw rate.• The matlab model set up follows.r2d = 180/pi;A = [-0.322 0.064 0.0364 -0.9917 0.0003 0.0008 0 0 0 0 1 0.0037 0 0 0 0 -30.6492 0 -3.6784 0.6646 -0.7333 0.1315 0 0 8.5395 0 -0.0254 -0.4764 -0.0319 -0.062 0 0 0 0 0 0 -20.2 0 0 0 0 0 0 0 0 -20.2 0 0 0 0 0 r2d 0 0 -1 0 0 -1 0 0 0 0 0 0];B = [0 0 0 0 20.2 0 0 0;0 0 0 0 0 20.2 0 0]';G = zeros(8,2);G(8,1) = 1;C = [0 0 0 0 0 0 0 1 0 0 0 -r2d 0 0 1 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 0];D = zeros(4,2);F = [0 0 0 1;0 1 0 0]';H = [0 1 0 0 0 0 0 0;0 0 0 r2d 0 0 -1 0];JET_long = ss(A,[B,G],C,[D,F]);

73

Page 74: Aircraft Control Tutorial

MIMO Wing Leveler– F16 model (Pole Placement) – 2 % pole placement[a,b,c,d] = ssdata(JET_long);a1 = sqrt(3);b1 = a1;pc = -[3e-2 .18 1 a1+b1*1i a1-b1*1i 3.6 20 20.5];po = -10 + pc;Lobs = place(a',c',po).';Lcon = place(a,b,pc);sysobs_PP = ss(a-Lobs*c,Lobs,Lcon,zeros(4,4));syscon_PP = ss(a-b*Lcon,b,c,d);

• The control law improves the pole locations. The original pole near the origin is slightly unstable. This short-period mode under the controlled system has a good damping of 0.707 & has good distance from the origin. The original damping was 0.137, which is too low.

• Sysobs_PP is the complete compensator (controller plus observer) & is used to check the observer pole locations. Syscon_PP is used to check the controlled system pole locations.

• Most of the observer poles (not shown) are larger in magnitude than the controlled system poles. All have high damping.

74

Eigenvalue Damping Freq. (rad/s) Original dynamics 0.00e+000 -1.00e+000 0.00e+000 -1.63e-002 1.00e+000 1.63e-002 -1.00e+000 1.00e+000 1.00e+000 -4.23e-001 + 3.06e+000i 1.37e-001 3.09e+000 -4.23e-001 - 3.06e+000i 1.37e-001 3.09e+000 -3.62e+000 1.00e+000 3.62e+000 -2.02e+001 1.00e+000 2.02e+001 -2.02e+001 1.00e+000 2.02e+001 Controlled system (F16 long)-3.00e-002 1.00e+000 3.00e-002 -1.80e-001 1.00e+000 1.80e-001 -1.00e+000 1.00e+000 1.00e+000 -1.73e+000 + 1.73e+000i 7.07e-001 2.45e+000 -1.73e+000 - 1.73e+000i 7.07e-001 2.45e+000 -3.60e+000 1.00e+000 3.60e+000 -2.00e+001 1.00e+000 2.00e+001 -2.05e+001 1.00e+000 2.05e+001

-1 -0.5 0 0.5 1-1

0

1Root Locus

Real Axis

Imag

inar

y Ax

is

-1 -0.5 0 0.5 1-1

0

1Root Locus

Real Axis

Imag

inar

y Ax

is

-30 -20 -10 0 10-10

0

10Root Locus

Real Axis

Imag

inar

y Ax

is

-30 -20 -10 0 10-10

0

10Root Locus

Real Axis

Imag

inar

y Ax

is

-60 -40 -20 0 20-5

0

5Root Locus

Real Axis

Imag

inar

y Ax

is

-30 -20 -10 0 10-50

0

50Root Locus

Real Axis

Imag

inar

y Ax

is

-100 -50 0 50-50

0

50Root Locus

Real Axis

Imag

inar

y Ax

is

-50 0 50-50

0

50Root Locus

Real Axis

Imag

inar

y Ax

is

Page 75: Aircraft Control Tutorial

MIMO Wing Leveler– F16 model (Pole Placement) – 3

75

• The step responses are organized so that the 1st column is due to the aileron. The 2nd column is due to the rudder. The 3rd column is from the phi reference input. The 4th column is from the yaw rate reference input.

• The rows are: 1st – roll angle integral error, 2nd – washed out yaw rate, 3rd - p (roll rate), 4th – φ (roll angle).

• φ is sensitive to aileron & φ PI disturbances at these control gains. Φ integral error (performance index) is sensitive to φ reference. The washed out yaw rate is sensitive to the yaw rate reference input. The roll rate does not appear to be sensitive to any input.

0

20

40From: In(1)

To: O

ut(1

)

-1

0

1

2

To: O

ut(2

)

-1

0

1

To: O

ut(3

)

0 100 200-1

0

1

2

To: O

ut(4

)

From: In(2)

0 100 200

From: In(3)

0 100 200

From: In(4)

0 100 200

Step Response

Time (sec)

Ampl

itude

Page 76: Aircraft Control Tutorial

76

Model-Following Design - 1• The objective of model-following is to design controllers

that force the aircraft to behave like a desired model.• A longitudinal model is based on phugoid and short-period

specifications. • A lateral model is based on roll mode, spiral mode, & dutch

roll mode specifications. • A typical longitudinal model is:

The subscripts p & sp in the equation represent the phugoid and the short-period modes. The transfer function units are rad/s/lb. Tθ1 & Tθ2 are the zeros associated with the phugoid and short-period modes respectively.

Page 77: Aircraft Control Tutorial

Model-Following Design - 2

• There are two general methods of model-following design: explicit and implicit. They result in controllers of differing structures. They are both performed using modern control techniques.

• The explicit approach involves a linear transfer function in a state space formulation that contains the desired characteristics. This model is incorporated into the overall design.

• The implicit approach involves modification of the performance index.

77

Page 78: Aircraft Control Tutorial

Regulator Explicit Model-Following - 1The objective of a regulator model-following design is to

drive all the states to zero. If we have a linearized plant model such as:

78

A regulator model is prescribed with dynamics. This should have the desired behaviors, such as speed of response, overshoot, etc. Note that there is no input for the desired model, since the regulator model is under consideration here.

In order to derive a performance index we must try to minimize the model mismatch error: e = zm – z = Hmxm – Hx. The performance index is now written below. Q & R are both positive definite.

Page 79: Aircraft Control Tutorial

Regulator Explicit Model-Following - 2We incorporate the model into the design process by defining an augmented state

and an augmented system.

79

With the above we may define the model mismatch error and performance index. The model mismatch error is e = -z + zm = -Hz + Hmzm = Haxa . The PI is now written as

With the above formulation we may use the standard LQG design approaches for state feedback or output feedback as discussed previously. We merely must substitute the augmented parameters and states into the design process. In this fashion the performance output z will follow the model output zm.

Page 80: Aircraft Control Tutorial

Regulator Implicit Model-Following - 1• In the explicit approach the model appeared in the controller as a

feedforward compensator. • In the implicit approach, however, the model does not appear in

the control structure. The implicit approach is more of a guide to selecting the weighting matrices in the performance index.

• For a model given as below we may define an error.

80

or

The solution u=-Ky is to solve the Lyapunov equation & then the Riccati equation shown below.

Page 81: Aircraft Control Tutorial

Dynamic Inversion Design• Dynamic Inversion is a control method that attempts to incorporate known

nonlinearities of the aircraft dynamics in the controller to improve system performance.

• For a square system (same number of inputs & outputs) we can follow the input-output linearization approach:

81

We then define the tracking error as e(t) = r(t) – y(t). The desired reference trajectory is r(t). In dynamic inversion the output y(t) is differentiated until the control u(t) appears in the expression for the derivative. Taking the 1st derivative we get:

If CB is non-singular, we are done. For aircraft CB is generally non-singular. We then define an auxiliary input v(t) as

We can now solve for u (control input). With an equation for u we can now solve for the output derivative & then the error dynamics.

A simple choice for v is v = Ke, where K is a matrix containing the desired error dynamics given by:

The overall dynamic inversion control input is given below. It requires full-state feedback.