Skip to the lesson
FixTheRobot Explore Robotics / Guidance, Navigation and Control / M10 Aircraft GNC / M10-T5

Guidance, Navigation and Control · Theory · M10

M10-T5 — Handling Qualities, Margins and Envelope Protection

A control system is judged by numbers that someone else wrote down: margins, mode boundaries and envelope limits. Knowing what each measures is what lets you design to it, and argue with it.

  • Lesson 5 of 5
  • Advanced
  • Module 10: Aircraft GNC
  • Theory
  • About 13 minutes to read

The previous lessons designed loops and landed an aircraft. Whether the result is acceptable is decided against requirements: margins for the loops, boundaries on the modes that a pilot feels, and limits on how far a command may take the aircraft. This lesson computes each for the small aircraft: the control anticipation parameter and damping of the short period against example level-1 boundaries, the loop-at-a-time and disk margins of the pitch loop with servo and delay (and how fast a delay of 80 ms erodes them), and an angle-of-attack protection that keeps a hard pull-up from stalling.

Learning objectives

After this lesson, you should be able to:

  • Compute n/α, the control anticipation parameter and the short-period damping, and compare them with level-1 boundaries.
  • Compute the gain, phase and disk margins of a loop with a servo and a delay, and the effect of dispersions.
  • State the usual margin requirement and say why a disk margin is a better statement than two numbers.
  • Add angle-of-attack protection and show its effect on a hard pull-up.

The intuition

UAV M6-T3: PX4 architecture and UAV M6-T6: Flight modes show how a flight stack exposes limits and modes to a user. Here the question is where the limits come from: the standards and criteria by which a flight control system is judged, applied to an aircraft whose numbers we have computed in the previous lessons. Hopper has the same need: its gimbal limit of 0.15 rad plays the part of an angle-of-attack limit, and the pitch command limit of the lateral loop keeps the commanded gimbal inside it.

What handling-quality criteria measure

A pilot controlling pitch with the stick wants the aircraft to respond predictably: neither sluggish nor twitchy. Criteria quantify this from the short-period model. The load factor per unit angle of attack, n/α=−ZwU0/gn/\alpha = -Z_wU_0/g (10.2 per rad here), says how much the lift changes per degree. The control anticipation parameter CAP=ωsp2/(n/α)\mathrm{CAP} = \omega_{sp}^2/(n/\alpha) relates the initial angular acceleration to the eventual load factor, which is what a pilot anticipates; its level-1 range in the example boundaries is 0.28 to 3.6, with short-period damping between 0.35 and 1.30 (these are the usual example boundaries for a certain class of aircraft; the governing specification must be consulted). For the example aircraft CAP = 2.40 and the damping is 0.71, inside. Making the aircraft more stable (Mw=−1.5M_w = -1.5) raises CAP to 4.9 and the damping drops to 0.50: CAP is outside the boundary and the aircraft is too sharp. Making it much less stable (Mw=−0.1M_w = -0.1) gives CAP 1.42 and damping 0.92: fine.

Margin requirements

The loops must have margins against the modelling errors of the previous modules. The commonly quoted requirement, written as 6 dB gain margin and 45° phase margin at the nominal condition and about 4.5 dB and 30° at dispersed conditions, is a pair of numbers; each loop-at-a-time margin leaves the combinations uncovered, as the disk margin of M5-T7: Robustness Beyond Gain and Phase Margin showed. For the pitch-attitude loop of the autopilot cut at the elevator, with a servo at 20 rad/s and a 40 ms delay, the phase margin is 56°, the gain margin 11.4 dB and the disk margin 0.80 (gain ×0.43 to ×2.35 and ±44° together). Dispersions: half the static stability (52° and 0.79), a servo at 12 rad/s (49° and 0.70), a delay of 80 ms (39°, 5.8 dB and 0.48), the two together (33°, 5.3 dB and 0.42). The last two fail the 6 dB nominal requirement; a delay of 80 ms is enough to violate the specification.

Envelope protection

An aircraft stalls at an angle of attack of 14.9° (CL_max/CL_α = 1.3/5 per rad). A pilot, or an outer loop, that holds a large nose-up command will drive the aircraft past it. A protection law watches the angle of attack and subtracts a nose-down term once it passes a threshold, here 75% of the stall angle (11.2°). With a held stick of 11.5°, 17.2° and 22.9° the peak angle of attack is 9.3°, 13.9° and 18.6° without protection (the last past the stall) and 9.3°, 11.6° and 12.1° with it. The peak load factor falls from 4.31 g to 3.15 g in the last case.

Peak angle of attack against stick input, with and without protectionPeak angle of attack against the held stick input. Without protection the angle of attack rises in proportion: 9.3 degrees at 11.5 degrees of stick, 13.9 degrees at 17.2 and 18.6 degrees at 22.9, passing the 14.9 degree stall angle shown as a dashed line. With protection it follows the same line to the threshold of 11.2 degrees and then flattens, reaching 11.6 and 12.1 degrees.811141720232668101214161820nose-up stick input held for 6 s (degrees of elevator)peak angle of attack (degrees)stall 14.9° protection threshold 11.2° no protection with protection
Peak angle of attack against held stick. Without protection the angle passes the stall at the largest input; with protection it flattens near the threshold.

Requirements are numbers on the modes, the margins and the envelope. Compute them in the same models you design with, include the servo and the delay, and check them at the dispersed conditions, where they fail first.

Definitions

Load factor per angle of attack n/αn/\alpha
n/α=−ZwU0/gn/\alpha = -Z_wU_0/g: the change of load factor per radian of angle of attack.
Control anticipation parameter (CAP)
CAP=ωsp2/(n/α)\mathrm{CAP} = \omega_{sp}^2/(n/\alpha): the ratio of the initial pitch acceleration per unit load factor.
Level 1
The best handling-quality category: satisfactory without pilot compensation.
Gain margin, phase margin
The factor by which the loop gain can rise, and the phase that can be added, before instability, one at a time.
Envelope protection
A control law that modifies or limits a command so that a quantity (angle of attack, load factor, bank) stays inside a limit.
The control anticipation parameter
CAP=ωsp2n/α,nα=−ZwU0g\mathrm{CAP} = \dfrac{\omega_{sp}^2}{n/\alpha},\qquad \dfrac{n}{\alpha} = \dfrac{-Z_wU_0}{g}
It compares how fast the nose accelerates with how much lift change the pilot will end up with: both too large and too small values are unsatisfactory. The numbers 0.28 and 3.6 are example level-1 limits.
Angle-of-attack protection
u=upilot−Kq q−Kα max⁡(0, α−αprot),αprot=f αstall, αstall=CLmax⁡CLαu = u_{\mathrm{pilot}} - K_q\,q - K_\alpha\,\max(0,\ \alpha - \alpha_{\mathrm{prot}}),\qquad \alpha_{\mathrm{prot}} = f\,\alpha_{\mathrm{stall}},\ \alpha_{\mathrm{stall}} = \dfrac{C_{L\max}}{C_{L\alpha}}
The nose-down term acts only above the threshold, so below it the pilot has the full authority of the unprotected aircraft; f is a fraction (0.75 here) of the stall angle.

Derivation: CAP, and the effect of a delay on the margins

Why the combination ωsp² over n/α is the quantity the pilot feels.

  1. q˙(0+)=Mδ δ(initial pitch acceleration per unit elevator)\dot{q}(0^+) = M_\delta\,\delta\quad(\text{initial pitch acceleration per unit elevator})

    At the instant of a stick input the pitch acceleration is the control effectiveness times the deflection; nothing else has had time to respond.

  2. nss=nα αssn_{ss} = \dfrac{n}{\alpha}\,\alpha_{ss}

    In the steady pull-up the elevator holds an angle of attack αss\alpha_{ss} and a load factor nss=(n/α)αssn_{ss} = (n/\alpha)\alpha_{ss} proportional to it.

  3. q˙(0+)nss=Mδδ(n/α) αss  ≈  ωsp2n/α\dfrac{\dot{q}(0^+)}{n_{ss}} = \dfrac{M_\delta\delta}{(n/\alpha)\,\alpha_{ss}} \;\approx\; \dfrac{\omega_{sp}^2}{n/\alpha}

    For the short-period approximation the steady angle of attack per unit elevator satisfies Mδ/αssδ≈ωsp2M_\delta/\alpha_{ss}\delta \approx \omega_{sp}^2 (the stiffness of the angle of attack in pitch), so the ratio is CAP.

A delay against the margins

  1. L(jω)=L0(jω) e−jωτdL(j\omega) = L_0(j\omega)\,e^{-j\omega\tau_d}

    A delay τd\tau_d leaves the gain unchanged and subtracts ωτd\omega\tau_d radians of phase.

  2. ΔPM=ωcτd (rad) ⇒ ΔPM(40→80 ms)=7.57×0.04=0.30 rad=17∘\Delta\mathrm{PM} = \omega_c\tau_d\ \text{(rad)}\ \Rightarrow\ \Delta\mathrm{PM}(40\to80\ \mathrm{ms}) = 7.57\times0.04 = 0.30\ \mathrm{rad} = 17^\circ

    At the gain crossover 7.57 rad/s an extra 40 ms of delay subtracts about 17° of phase margin: from 56° to 39° in the example, as computed.

  3. DM=PM/ωc=56∘/7.57=0.13 s\mathrm{DM} = \mathrm{PM}/\omega_c = 56^\circ/7.57 = 0.13\ \mathrm{s}

    The delay margin of the loop with the 40 ms already in it: 130 ms beyond it before instability, which a requirement of 6 dB and 45° does not state directly.

CAP and short-period damping measure what the pilot feels in pitch; the loop margins measure robustness. A delay costs ωc times its length in radians of phase, so a faster loop is more sensitive to it. Protection laws leave full authority below the threshold and take it away above.

A worked example

The small aircraft of the earlier lessons: Zw=−4, Mq=−3, U0=25Z_w = -4,\ M_q = -3,\ U_0 = 25 m/s, CLα=5, CLmax⁡=1.3C_{L\alpha} = 5,\ C_{L\max} = 1.3; the pitch-attitude autopilot with Kq=0.5, Kθ=2K_q = 0.5,\ K_\theta = 2.

  1. CAP. n/αn/\alpha = 10.19 per rad. For MwM_w = −0.1, −0.5, −1.5, −3.0: ωsp\omega_{sp} = 3.81, 4.95, 7.04, 9.33 rad/s; damping 0.92, 0.71, 0.50, 0.38; CAP 1.42, 2.40, 4.86, 8.53. The first two are inside the example boundaries (CAP 0.28 to 3.6, damping 0.35 to 1.30), the last two outside.
  2. Nominal margins. The pitch loop cut at the elevator with a 20 rad/s servo and a 40 ms delay: crossover 7.57 rad/s, phase margin 56°, gain margin 11.4 dB at 19.4 rad/s, disk margin 0.80 (gain ×0.43 to ×2.35, ±44° together).
  3. Dispersions. Half the static stability: PM 52°, disk 0.79. 1.5× the static stability: 60°, 0.82. 20% less lift slope: 55°, 0.80. Servo at 12 rad/s: 49°, 11.0 dB, 0.70. Delay of 80 ms: 39°, 5.8 dB, 0.48. Servo at 12 rad/s and 80 ms together: 33°, 5.3 dB, 0.42.
  4. Against the requirement. The nominal case passes 6 dB and 45°; the 80 ms delay cases fail the 6 dB nominal requirement (5.8 and 5.3 dB) but pass 4.5 dB and 30° at dispersed conditions.
  5. Protection. Stall angle 14.9°; threshold 11.2° (75%). A held stick of 11.5°, 17.2°, 22.9°: peak α 9.3°, 13.9°, 18.6° without protection (62%, 94%, 125% of stall; the last stalls, load factor 4.31 g) and 9.3°, 11.6°, 12.1° with it (62%, 78%, 81%; 3.15 g).
import math, cmath
import gnckit as g

U0, G = 25.0, 9.81
Xu, Zu, Zw, Mw, Mq = -0.06, -0.80, -4.0, -0.5, -3.0
Kq, Kth = 0.5, 2.0

print('Short-period handling qualities: n/alpha = -Zw U0 / g (load factor per radian of angle of attack), CAP = wsp^2 / (n/alpha)')
nalpha = -Zw * U0 / G
print(f'  n/alpha = {nalpha:.2f} per rad')
for mw in (-0.1, -0.5, -1.5, -3.0):
    w2 = Zw * Mq - U0 * mw
    wsp = math.sqrt(w2); zsp = -(Zw + Mq) / (2 * wsp)
    cap = w2 / nalpha
    ok = (0.28 <= cap <= 3.6) and (0.35 <= zsp <= 1.30)
    print(f'  M_w = {mw:5.2f}: wsp = {wsp:5.2f} rad/s, zeta = {zsp:4.2f}, CAP = {cap:5.2f}  ' + ('inside the example boundaries (CAP 0.28 to 3.6, zeta 0.35 to 1.30)' if ok else 'OUTSIDE the example boundaries'))

# margins of the pitch-attitude autopilot (rate and angle loops, as in the previous lesson), cut at the actuator, with a servo and a delay
A5 = [[Xu - 0.3, 0.0, 0.0, -G, 0.0], [Zu, Zw, U0, 0.0, 0.0], [0.0, Mw, Mq, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0], [0.0, -1.0, 0.0, U0, 0.0]]
B5 = [0.0, 9.0, 14.0, 0.0, 0.0]
def loop(w, servo=20.0, delay=0.04, mw=Mw, zw=Zw):
    A = [row[:] for row in A5]; A[2][1] = mw; A[1][1] = zw
    gq = g.ss_freq(A, B5, [0, 0, 1, 0, 0], 0.0, w)
    gt = g.ss_freq(A, B5, [0, 0, 0, 1, 0], 0.0, w)
    s = 1j * w
    return (Kq * gq + Kth * gt) * servo / (s + servo) * cmath.exp(-s * delay)
ws = g.logspace(-2, 2.3, 6000)
def margins(**kw):
    prev = None; ph = None; last = None; unw = 0.0
    pm = wc = None; gm = None; wpc = None
    for w in ws:
        v = loop(w, **kw); a = math.degrees(cmath.phase(v))
        if last is None: unw = a
        else:
            d = a - last
            while d > 180: d -= 360
            while d < -180: d += 360
            unw += d
        last = a
        if prev is not None:
            if abs(prev[0]) > 1 >= abs(v): wc = w; pm = 180 + unw
            if prev[1] > -180 >= unw and gm is None: wpc = w; gm = 1 / abs(v)
        prev = (abs(v), unw)
    peak = max(abs(1 - 2 / (1 + loop(w, **kw))) for w in ws)
    alpha = 2 / peak
    return wc, pm, gm, wpc, alpha
wc, pm, gm, wpc, alpha = margins()
print(f'pitch-attitude loop cut at the elevator, servo 20 rad/s and a 40 ms delay: gain crossover {wc:.2f} rad/s, phase margin {pm:.0f} deg, gain margin {20 * math.log10(gm):.1f} dB at {wpc:.1f} rad/s, disk margin alpha = {alpha:.2f}')
print(f'  disk margin gives gain x{(2 - alpha) / (2 + alpha):.2f} to x{(2 + alpha) / (2 - alpha):.2f} and phase +-{math.degrees(2 * math.atan(alpha / 2)):.0f} deg together')
print('  requirement used in the example: 6 dB and 45 deg nominal; 4.5 dB and 30 deg at dispersed conditions (commonly quoted values; the governing specification must be consulted)')
print('dispersions (all with the same gains):')
for label, kw in (('nominal', {}), ('Mw = -0.25 (half the static stability)', {'mw': -0.25}), ('Mw = -0.75 (1.5x)', {'mw': -0.75}), ('Zw = -3.2 (20% less lift slope)', {'zw': -3.2}), ('servo 12 rad/s', {'servo': 12.0}), ('delay 80 ms', {'delay': 0.08}), ('servo 12 rad/s and delay 80 ms', {'servo': 12.0, 'delay': 0.08})):
    wc_, pm_, gm_, wpc_, al_ = margins(**kw)
    print(f'  {label:40s}: phase margin {pm_:5.1f} deg, gain margin {20 * math.log10(gm_):5.1f} dB, disk margin {al_:.2f}')

# angle-of-attack protection in a hard pull-up
CLa, CLmax = 5.0, 1.3
a_stall = CLmax / CLa
a_prot = 0.75 * a_stall
print(f'envelope protection: stall angle of attack {math.degrees(a_stall):.1f} deg (CLmax {CLmax} / CL_alpha {CLa}); protection engages at {math.degrees(a_prot):.1f} deg (75%)')
def pull(protect, stick, T=6.0, dt=0.005, Kalpha=20.0):
    """The pilot holds a nose-up stick (elevator-equivalent, rad) with only the pitch damper in the loop; protection subtracts Kalpha (alpha - alpha_prot) above the threshold."""
    x = [0.0] * 5; amax = 0.0; nmax = 0.0
    for i in range(int(T / dt)):
        alpha = x[1] / U0
        u = stick - Kq * x[2]
        if protect and alpha > a_prot:
            u -= Kalpha * (alpha - a_prot)
        d = g.mat_vec(A5, x)
        x = [x[k] + dt * (d[k] + B5[k] * u) for k in range(5)]
        amax = max(amax, x[1] / U0)
        nmax = max(nmax, 1 + (-Zw * x[1]) / G)
    return amax, nmax
for stick in (0.2, 0.3, 0.4):
    for protect in (False, True):
        am, nm = pull(protect, stick)
        print(f'  stick {math.degrees(stick):4.1f} deg nose-up, {"with protection" if protect else "no protection  "}: peak angle of attack {math.degrees(am):5.1f} deg ({100 * am / a_stall:3.0f}% of stall), peak load factor {nm:.2f} g' + ('  STALL' if am > a_stall else ''))
Short-period handling qualities: n/alpha = -Zw U0 / g (load factor per radian of angle of attack), CAP = wsp^2 / (n/alpha)
  n/alpha = 10.19 per rad
  M_w = -0.10: wsp =  3.81 rad/s, zeta = 0.92, CAP =  1.42  inside the example boundaries (CAP 0.28 to 3.6, zeta 0.35 to 1.30)
  M_w = -0.50: wsp =  4.95 rad/s, zeta = 0.71, CAP =  2.40  inside the example boundaries (CAP 0.28 to 3.6, zeta 0.35 to 1.30)
  M_w = -1.50: wsp =  7.04 rad/s, zeta = 0.50, CAP =  4.86  OUTSIDE the example boundaries
  M_w = -3.00: wsp =  9.33 rad/s, zeta = 0.38, CAP =  8.53  OUTSIDE the example boundaries
pitch-attitude loop cut at the elevator, servo 20 rad/s and a 40 ms delay: gain crossover 7.57 rad/s, phase margin 56 deg, gain margin 11.4 dB at 19.4 rad/s, disk margin alpha = 0.80
  disk margin gives gain x0.43 to x2.35 and phase +-44 deg together
  requirement used in the example: 6 dB and 45 deg nominal; 4.5 dB and 30 deg at dispersed conditions (commonly quoted values; the governing specification must be consulted)
dispersions (all with the same gains):
  nominal                                 : phase margin  56.3 deg, gain margin  11.4 dB, disk margin 0.80
  Mw = -0.25 (half the static stability)  : phase margin  52.3 deg, gain margin  11.4 dB, disk margin 0.79
  Mw = -0.75 (1.5x)                       : phase margin  60.1 deg, gain margin  11.5 dB, disk margin 0.82
  Zw = -3.2 (20% less lift slope)         : phase margin  55.4 deg, gain margin  11.4 dB, disk margin 0.80
  servo 12 rad/s                          : phase margin  49.3 deg, gain margin  11.0 dB, disk margin 0.70
  delay 80 ms                             : phase margin  38.9 deg, gain margin   5.8 dB, disk margin 0.48
  servo 12 rad/s and delay 80 ms          : phase margin  33.2 deg, gain margin   5.3 dB, disk margin 0.42
envelope protection: stall angle of attack 14.9 deg (CLmax 1.3 / CL_alpha 5.0); protection engages at 11.2 deg (75%)
  stick 11.5 deg nose-up, no protection  : peak angle of attack   9.3 deg ( 62% of stall), peak load factor 2.65 g
  stick 11.5 deg nose-up, with protection: peak angle of attack   9.3 deg ( 62% of stall), peak load factor 2.65 g
  stick 17.2 deg nose-up, no protection  : peak angle of attack  13.9 deg ( 94% of stall), peak load factor 3.48 g
  stick 17.2 deg nose-up, with protection: peak angle of attack  11.6 deg ( 78% of stall), peak load factor 3.06 g
  stick 22.9 deg nose-up, no protection  : peak angle of attack  18.6 deg (125% of stall), peak load factor 4.31 g  STALL
  stick 22.9 deg nose-up, with protection: peak angle of attack  12.1 deg ( 81% of stall), peak load factor 3.15 g
The loop with servo and delay is evaluated from state-space frequency responses; margins are found by scanning with unwrapped phase; the disk margin uses the peak of |1 − 2S|; the pull-up is simulated with and without the protection term.

In robotics

These numbers are the interface between the designer and the certification authority.

  • Requirements documents. Military and civil standards give boundaries for short-period frequency and damping, CAP, Dutch-roll damping, spiral time to double, and the minimum margins of the flight control system, by flight phase and aircraft class. The values in this lesson are examples to compute with; the governing specification supplies the real ones.
  • Latency is margin. A common finding of reviews is that the delay of the digital system (sampling, computation, actuator) consumes the phase margin: 80 ms against 40 ms took the phase margin from 56° to 39° and the gain margin from 11.4 to 5.8 dB. Latency budgets (module 12) are part of the margin budget.
  • Protection philosophies. Modern fly-by-wire aircraft protect angle of attack, load factor, bank and speed with laws like this one, with different rules about whether the pilot can override. Small unmanned aircraft use simpler rules (limit pitch and bank commands) for the same purpose.
  • Dispersed conditions. Nominal margins are not enough: the requirement applies across the envelope (speed, mass, centre of gravity, altitude) and with uncertain derivatives. The Monte Carlo and stability-margin policy of module 12 organize this.
  • Hopper. The analogue for the rocket is the gimbal and rate limit (0.15 rad, 3 rad/s): the lateral loop commands pitch within a limit so that the gimbal stays inside its own, and the margin requirements apply to the same loop with the servo and its delay.

The margin methods are those of M3-T4: The Nyquist Criterion and Stability Margins and M5-T7: Robustness Beyond Gain and Phase Margin; the autopilot is M10-T2: The Autopilot by Successive Loop Closure. The stability-margin policy that turns these numbers into a verification plan is M12-T2: Monte Carlo Dispersion Analysis.

Common misconceptions

“More static stability is always better handling.”

It raises CAP: at Mw=−1.5M_w = -1.5 the CAP is 4.9, outside the example boundary and too sharp; damping drops to 0.50. Handling qualities have an upper bound as well as a lower one.

“Margins at the nominal condition are what is required.”

They are checked also at dispersed conditions, where they are lower: a servo of 12 rad/s and a delay of 80 ms took the phase margin to 33° and the disk margin to 0.42.

“A pair of margins (6 dB, 45°) guarantees robustness.”

Each is measured with the other quantity at its nominal value. The disk margin covers combined variations, and the example's disk margin of 0.80 corresponds to ±44° of phase together with a gain range of ×0.43 to ×2.35.

“Protection only limits the pilot.”

Below the threshold it has no effect; above, it trades some of the command for safety. In the example it cut the peak angle of attack of a held 22.9° stick from 125% of stall to 81%.

“A little extra delay is harmless in a fast loop.”

A delay costs ωc times its length in phase, so a loop crossing at 7.6 rad/s loses 17° for an extra 40 ms. The faster the loop, the less delay it can tolerate.

Key takeaways

  1. n/α = −Zw U₀/g = 10.2 per rad; CAP = ωsp²/(n/α) = 2.40 for the example, inside the example level-1 boundaries 0.28 to 3.6.
  2. More static stability raises CAP and lowers the damping: at Mw = −1.5, CAP 4.9 and ζ 0.50.
  3. The pitch loop with a 20 rad/s servo and 40 ms delay has PM 56°, GM 11.4 dB and disk margin 0.80.
  4. An 80 ms delay brings these to 39°, 5.8 dB and 0.48; with a slower servo 33°, 5.3 dB and 0.42.
  5. A delay costs ωc τ radians of phase: 17° for an extra 40 ms at 7.57 rad/s.
  6. Angle-of-attack protection (threshold 75% of 14.9° stall) held a 22.9° stick to 12.1° instead of 18.6°.

References and further reading

Each source is marked free or paid. Free to read does not mean free to reuse: the course resources page lists every source with its licence.

  • MIL-STD-1797A, Flying Qualities of Piloted Aircraft, US Department of Defense, 1990, the source of the CAP and damping boundaries. Free to read from public document archives; US government work.
  • R. P. Harper and G. E. Cooper, "Handling qualities and pilot evaluation", Journal of Guidance, Control, and Dynamics 9(5), 1986, the Wright Brothers lecture. Paid (AIAA).
  • P. Seiler, A. Packard and P. Gahinet, "An introduction to disk margins", IEEE Control Systems Magazine 40(5), 2020. Paid (IEEE); the authors' pre-print is on arXiv.
  • MIT 16.333 Aircraft Stability and Control (OpenCourseWare) , the lectures on handling qualities. Free; licence CC BY-NC-SA 4.0.

Knowledge check

Three questions. Write an answer, then reveal the explanation. Your answers stay in your browser.

Question 1

An aircraft has ωsp = 6 rad/s, Zw = −3 per second and U₀ = 30 m/s. Compute n/α and CAP, and say whether CAP is inside 0.28 to 3.6.

Explanation

n/α = −Zw U₀/g = 3 × 30/9.81 = 9.17 per rad. CAP = ωsp²/(n/α) = 36/9.17 = 3.93, which is above 3.6, so it is outside the example boundary: the aircraft would feel too sharp, with a large initial pitch acceleration for the load factor it ends up with. Reducing static stability (lowering ωsp to about 5.5 rad/s gives CAP 3.3) would bring it inside.

Question 2

A loop crosses over at 7.6 rad/s with a phase margin of 56°. What phase margin remains after an extra delay of 60 ms, and what is its delay margin?

Explanation

The extra delay costs ωc τ = 7.6 × 0.06 = 0.456 rad = 26°, so the phase margin falls to 30°. The delay margin of the loop before the extra delay is PM/ωc = (56° in radians = 0.977)/7.6 = 0.129 s, so 60 ms is about 47% of it. With 30° of phase margin the loop is below the 45° nominal requirement, though it still meets the 30° requirement for dispersed conditions, and only just.

Question 3

Why is the threshold of the angle-of-attack protection set below the stall angle, and what does the gain Kα control?

Explanation

The aircraft has a delay and a rate of rise: by the time the nose-down term acts, the angle of attack has continued to rise. Setting the threshold at 75% of the stall angle (11.2° for 14.9°) leaves room for that overshoot, which is why the peak was 12.1° and not at the threshold. Kα sets how strongly the angle of attack is pushed back above the threshold: a larger gain gives a lower peak and a stiffer limit, at the price of a harder transition and less pilot authority near the limit.

What’s next

Next lesson

M11-T1 — Orbits for Guidance: Elements, Energy and Delta-v

Describe an orbit by its elements, use the vis-viva equation, and compute the delta-v of a Hohmann transfer and of a plane change.

Nothing below is required to finish this lesson.

Other courses on this site treat neighbouring topics from their own angle:

This course leaves the following to the pages that already teach them: