Skip to the lesson
FixTheRobot Explore Robotics / Guidance, Navigation and Control / M1 The GNC Problem / M1-T4

Guidance, Navigation and Control · Theory · M1

M1-T4 — From Mission Requirement to GNC Budget

A requirement is a number for the whole vehicle. A budget is that number cut into pieces that three teams can each meet.

  • Lesson 4 of 4
  • Beginner
  • Module 1: The GNC Problem
  • Theory
  • About 15 minutes to read

Nobody can build "a vehicle that lands within three metres". A team can build a navigation filter good to some size, a guidance law that ends its command within some tolerance, and a controller that follows it closely enough. The work of a GNC engineer starts by cutting the requirement into those pieces and checking that the pieces add up. This lesson shows how: write the requirement as a radius and a probability, convert it into an error per axis, split that among the three blocks of the identity from the first lesson, and find which block deserves the next hour of effort.

Learning objectives

After this lesson, you should be able to:

  • Write a mission requirement as a radius and a probability, and convert it to a one-sigma error per axis.
  • Combine independent error contributions by root-sum-square, and say when that rule does not hold.
  • Allocate a total error among navigation, guidance and control, and identify the dominant term.
  • Compute the probability that a given budget meets a requirement.

The intuition

Hopper's mission has a requirement written in one sentence: land within 3 m of the pad centre in at least 99 of 100 flights. Three things about this sentence are worth noticing.

  • It is statistical. No flight is exactly the same as another, so the requirement is a radius and a probability, not a single number. "Within 3 m, 99% of the time" is a very different promise from "within 3 m".
  • It belongs to the whole vehicle. No navigation engineer can test it alone, and neither can the guidance or control engineers.
  • It is two-dimensional. The pad is a point on a plane, and the miss has an east and a north component. The radius counts both.

From the first lesson, the miss along each axis is g+c−εg + c - \varepsilon: one guidance, one control and one navigation term. So the work is to give each term a size, such that the three together meet the requirement. That list of sizes is the error budget.

Why errors add in quadrature

If the three errors were certain to be at their worst at the same moment and in the same direction, they would add: 0.6 m of navigation error and 0.5 m of guidance error would give 1.1 m. But they come from different causes, and an error that is large by chance in one is not more likely to be large in another. When one error pushes the vehicle east, another is as likely to push it west. Combined, they spread less than the sum. Like the two short sides of a right triangle, the combination is the hypotenuse: errors of 3 and 4 combine to 5, not 7. This is the root-sum-square (RSS), and it holds for independent errors with zero mean.

It breaks down in two situations that matter in practice. A bias is an error that is the same every time, such as a survey error in the pad's coordinates: it does not average out, and it adds directly, not in quadrature. And correlated errors, such as two sensors that share a clock error, move together and add more than RSS says. Module 12 treats both. This lesson assumes independent, zero-mean errors and states the assumption in the answer.

A circle, not a line

The requirement is a radius, so the relevant question is what fraction of landings falls inside a circle. If the east and north errors are independent and have the same spread σ\sigma, the distance from the pad follows a known law: half of the landings lie within 1.18σ1.18\sigma of the pad (the circular error probable), 95% within 2.45σ2.45\sigma, and 99% within 3.03σ3.03\sigma. A "3 sigma" circle holds 98.9% of the landings in two dimensions, not the 99.7% of the one-dimensional rule that most engineers remember.

How much of the landing scatter lies within a radius, for a circular Gaussian missA curve rising from zero at radius zero to nearly one at four sigma. Three points are marked: half of the landings lie within 1.18 sigma, 95 percent within 2.45 sigma and 99 percent within 3.03 sigma. A dashed line at 3 sigma meets the curve at 98.9 percent.00.511.522.533.5400.20.40.60.81radius R in units of the per-axis spread σfraction of landings within R 3σ holds 98.9% 50%: 1.18σ95%: 2.45σ99%: 3.03σ
The fraction of landings within a radius R, for independent east and north errors of equal spread σ. Each marked point is the radius that contains the stated fraction.
Radius containing a given probability of landings, in units of the per-axis spread
Probability inside the circleRadius in units of σName or use
50%1.177circular error probable (CEP)
90%2.146
95%2.448a common acceptance level
99%3.035Hopper's requirement
99.7%3.409the one-dimensional "3 sigma" probability, in two dimensions

A requirement is a radius and a probability. A budget is a list of errors per axis that combine, by root-sum-square, to a spread small enough to meet it.

Definitions

Requirement (R,P)(R, P)
The miss shall be at most RR metres with probability at least PP.
Per-axis spread σ\sigma
The standard deviation, in metres, of the miss along one horizontal axis. The east and north spreads are assumed equal and independent.
Contributions σn, σg, σc\sigma_n,\ \sigma_g,\ \sigma_c
The one-sigma sizes, per axis, of the navigation, guidance and control errors ε\varepsilon, gg and cc of the first lesson. Zero mean and independent of each other.
Budget
The list (σn, σg, σc)(\sigma_n,\ \sigma_g,\ \sigma_c) together with the assumption that they combine as below.
Margin
The ratio, or the difference, between what the requirement allows and what the budget uses.

The miss along one axis is the sum from the first lesson. For independent zero-mean errors the variances add, which is the root-sum-square rule:

Combining the three errors
m=g+c−ε⟹σm2=σg2+σc2+σn2m = g + c - \varepsilon \qquad\Longrightarrow\qquad \sigma_m^2 = \sigma_g^2 + \sigma_c^2 + \sigma_n^2
mm is the miss along one axis. The sign of ε\varepsilon drops out because variances are squares.

For a circular Gaussian error with spread σ\sigma on each axis, the probability that the landing is within a radius RR is:

Probability inside a circle
P(miss≤R)=1−exp⁡ ⁣(−R22σ2)P(\text{miss} \le R) = 1 - \exp\!\left(-\frac{R^2}{2\sigma^2}\right)
This is the two-dimensional case of the result derived in Probability for Robotics: the multivariate Gaussian and covariance ellipses, with R/σR/\sigma playing the role of the Mahalanobis distance.

Inverting it gives the radius that contains a probability PP, and the spread that a requirement allows:

Radius for a probability, and the spread a requirement allows
RP=σ −2ln⁡(1−P)⟺σreq=R−2ln⁡(1−P)R_P = \sigma\,\sqrt{-2\ln(1-P)} \qquad\Longleftrightarrow\qquad \sigma_{\text{req}} = \frac{R}{\sqrt{-2\ln(1-P)}}
For P=0.99P = 0.99 the square root is 3.035; for P=0.95P = 0.95 it is 2.448.

Derivation: variances add, and a budget has a dominant term

The RSS rule is not a convention. It follows from the algebra of variance, in four lines. The probability results above are quoted from the Probability course; what this lesson adds is the combination of the three errors and the use of the result for design.

  1. σm2=E ⁣[(g+c−ε)2]\sigma_m^2 = \mathbb{E}\!\left[(g + c - \varepsilon)^2\right]

    For zero-mean errors the variance of the miss is the average of its square. E[ ⋅ ]\mathbb{E}[\,\cdot\,] means the average over many flights.

  2. =E[g2]+E[c2]+E[ε2]+2 E[gc]−2 E[gε]−2 E[cε]= \mathbb{E}[g^2] + \mathbb{E}[c^2] + \mathbb{E}[\varepsilon^2] + 2\,\mathbb{E}[gc] - 2\,\mathbb{E}[g\varepsilon] - 2\,\mathbb{E}[c\varepsilon]

    Expand the square. It has three squares and three cross terms.

  3. E[gc]=E[g] E[c]=0,E[gε]=0,E[cε]=0\mathbb{E}[gc] = \mathbb{E}[g]\,\mathbb{E}[c] = 0, \quad \mathbb{E}[g\varepsilon] = 0, \quad \mathbb{E}[c\varepsilon] = 0

    For independent errors the average of a product is the product of the averages, and each average is zero. All three cross terms vanish. This is the step that fails for biased or correlated errors.

  4. σm2=σg2+σc2+σn2\sigma_m^2 = \sigma_g^2 + \sigma_c^2 + \sigma_n^2

    What is left is the sum of the three variances: root-sum-square for the standard deviations.

  5. Δ ⁣(σm2)=−34 σn2when σn is halved\Delta\!\left(\sigma_m^2\right) = -\tfrac34\,\sigma_n^2 \quad\text{when } \sigma_n \text{ is halved}

    Halving one term to σn/2\sigma_n/2 removes σn2−σn2/4\sigma_n^2 - \sigma_n^2/4 from the total variance. The saving is three quarters of that term's share of the variance, so the term with the biggest variance repays effort best.

The last line is the design rule hidden in the algebra. Because squares dominate, a term that is twice as large as another contributes four times as much variance, and a term that is three times as large contributes nine times. Once one term is dominant, improving the others buys almost nothing: if navigation is 33 times larger than guidance and control, they together account for only 18% of the variance. The first job of a budget review is to find the dominant term. The second is to ask whether it is cheaper to reduce that one or to relax the requirement.

Errors add as squares, so a budget is dominated by its largest line. Effort spent on the smaller lines is mostly wasted until the largest has been brought down.

A worked example

Hopper must land within R=3.0R = 3.0 m of the pad centre in at least P=99%P = 99\% of flights. Build the budget and check it.

  1. Convert the requirement. −2ln⁡(1−0.99)=3.035\sqrt{-2\ln(1-0.99)} = 3.035, so the total spread must satisfy σ≤3.0/3.035=0.989\sigma \le 3.0/3.035 = 0.989 m per axis.
  2. Propose an allocation. Navigation 0.60 m (the beacon ranges and the filter), guidance 0.50 m (the terminal conditions the law can reach) and control 0.50 m (the tracking of the final command). These are the one-sigma values per axis.
  3. Combine. σ=0.602+0.502+0.502=0.86=0.927\sigma = \sqrt{0.60^2 + 0.50^2 + 0.50^2} = \sqrt{0.86} = 0.927 m. It is below 0.989 m, so the allocation meets the requirement, with a margin of 6%.
  4. Compute the probability. P=1−exp⁡(−9/(2×0.86))=0.9947P = 1 - \exp(-9 / (2 \times 0.86)) = 0.9947. So 99.47% of the flights land within 3 m, against the 99% required.
  5. Find the dominant term. Navigation carries 0.36/0.86=41.9%0.36/0.86 = 41.9\% of the variance, guidance and control 29.1% each. Halving navigation raises the probability to 0.9995; halving either of the others only to 0.9988. Navigation is the line to work on, but only slightly: this is a balanced budget.
  6. Check the 3 sigma folk rule. A circle of radius 3σ3\sigma contains 98.9% of the landings in two dimensions. A team that sizes by "3 sigma means 99.7%" is misled by about one percentage point, which is a factor of four in the number of misses.

The same arithmetic as a program (standard library only):

import math

R, P = 3.0, 0.99                          # land within R metres of the pad with probability P
k = math.sqrt(-2.0 * math.log(1.0 - P))   # radius containing probability P, in units of sigma
sigma_req = R / k
print(f'a {P:.0%} circle has radius {k:.3f} sigma, so the total error must be sigma <= {sigma_req:.3f} m per axis')
print(f'a 3 sigma circle holds {1 - math.exp(-4.5):.4f} of the flights, not 0.9973')

budget = {'navigation': 0.60, 'guidance': 0.50, 'control': 0.50}   # one-sigma errors per axis (m)

def rss(terms):
    return math.sqrt(sum(s * s for s in terms.values()))

def p_within(R, sigma):
    return 1.0 - math.exp(-R * R / (2.0 * sigma * sigma))

total = rss(budget)
print(f'budget: total {total:.3f} m per axis, P(miss <= {R} m) = {p_within(R, total):.4f}')
for name, s in budget.items():
    halved = dict(budget, **{name: s / 2})
    print(f'  {name:<10} {s:.2f} m = {s * s / total ** 2:5.1%} of the variance; halve it and P = {p_within(R, rss(halved)):.4f}')
a 99% circle has radius 3.035 sigma, so the total error must be sigma <= 0.989 m per axis
a 3 sigma circle holds 0.9889 of the flights, not 0.9973
budget: total 0.927 m per axis, P(miss <= 3.0 m) = 0.9947
  navigation 0.60 m = 41.9% of the variance; halve it and P = 0.9995
  guidance   0.50 m = 29.1% of the variance; halve it and P = 0.9988
  control    0.50 m = 29.1% of the variance; halve it and P = 0.9988
The budget is a calculation, not a proof: it holds only if the errors are as independent and as zero-mean as assumed. Module 12 checks it by simulating thousands of dispersed flights.

In robotics

Every programme that has a landing, a pointing or a rendezvous requirement keeps a budget of this kind, and its structure is the one in the example.

  • Planetary landers. Mission requirements are expressed as a landing ellipse, the region that contains the landing with a stated probability. Narrowing it has meant working on each line of the budget: guided entry reduced the guidance and control terms, and terrain-relative navigation, used by the Mars 2020 lander, reduced the navigation term by letting the vehicle see where it actually is.
  • Delivery drones. Consumer GNSS receivers are typically accurate to a few metres horizontally, which would consume the whole budget of a pad one metre wide. Precision landing therefore replaces the navigation term with a camera that looks at a marker on the pad. The change is a change of the navigation line, not of the controller.
  • Pointing. A satellite that must keep a camera within 0.1 degrees of a target budgets the attitude determination error, the control error and the alignment error between the camera and the star tracker in the same way.
  • Requirements flow-down. The same logic appears in systems engineering generally. UAV M8-T1: System requirements engineering and UAV M8-T2: Requirements decomposition describe how a requirement is broken down; this lesson gives the quantitative rule for a requirement on an error.

For the underlying probability, Probability M4-T1: Expectation and Variance proves that variances of independent errors add, Probability M4-T4: Propagating Uncertainty Through Transformations extends it to covariances through a linear map, and Probability M1-T3: Simulating Randomness is the way to check a budget by simulation.

Common misconceptions

“Add the errors.”

Adding gives the worst case, and it is too pessimistic for independent random errors: 0.6 + 0.5 + 0.5 = 1.6 m, against the root-sum-square of 0.93 m. It is the right rule for biases, which do not average out. A real budget separates the two: random terms combine in quadrature, and biases are added on top.

“3 sigma always means 99.7%.”

That number is for one dimension. Landings are two-dimensional, and a 3 sigma circle holds 98.9% of them, so about 1.1% of landings fall outside, nearly four times more than the 0.3% the folk rule suggests. Use the radius for the probability you need: 3.03 sigma for 99% in two dimensions.

“Split the allowance equally among the three blocks.”

An equal split ignores what each reduction costs. Halving a sensor's noise might need a new sensor, while halving a controller's tracking error might need a gain change. The right split puts the effort where the next unit of error reduction is cheapest, and the squares in the algebra mean the largest line is usually the best place to look first.

“If the budget meets the requirement, the vehicle does.”

The budget holds only if the errors are independent, zero-mean and Gaussian, and if the three sizes are what the real subsystems deliver. Real errors have biases, correlations and heavy tails. A budget is where design starts. A Monte Carlo campaign of dispersed flights, as in module 12, is how it is checked.

“The navigation error is the accuracy of the sensor.”

It is the accuracy of the estimate, which depends on the sensor and on the filter, its model, its tuning, its latency and the geometry of the measurements. A sensor with 0.5 m noise can produce an estimate with an error well above or well below 0.5 m, depending on how it is used.

Key takeaways

  1. A mission requirement is a radius and a probability. For a circular Gaussian miss the radius that holds probability PP is σ−2ln⁡(1−P)\sigma\sqrt{-2\ln(1-P)}.
  2. In two dimensions, 50%, 95% and 99% of landings fall within 1.18, 2.45 and 3.03 sigma, and a 3 sigma circle holds 98.9%.
  3. Independent zero-mean errors combine by root-sum-square: σ2=σg2+σc2+σn2\sigma^2 = \sigma_g^2 + \sigma_c^2 + \sigma_n^2. Biases add directly, and correlated errors add more.
  4. A budget is dominated by its largest line, because variance goes as the square. Halving the largest line saves three quarters of its share.
  5. Navigation, guidance and control each get a line from the identity of the first lesson, so a budget can be checked against a flight log.
  6. A budget is a design tool, not a proof. Module 12 verifies it by dispersed simulation.

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.

Knowledge check

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

Question 1

A satellite must point a camera within 5 m of a target on the ground, 95% of the time, and its footprint error is circular and Gaussian. What per-axis spread σ may the total error have?

Explanation

The 95% radius is 2.448σ, so σ ≤ R / 2.448 = 5 / 2.448 = 2.04 m per axis. Notice that a naive "2σ is 95%" rule from one dimension would have allowed σ = 2.5 m and understated the risk: in two dimensions a 2σ circle holds only 1 − e^(−2) = 86.5% of the cases.

Question 2

A budget for Hopper gives navigation 1.2 m, guidance 0.8 m and control 0.5 m, all one-sigma per axis. What is the probability of landing within 3.0 m, and which line would you work on first?

Explanation

The variance is 1.44 + 0.64 + 0.25 = 2.33 m², so σ = 1.53 m. The probability is 1 − exp(−9 / (2 × 2.33)) = 1 − exp(−1.931) = 0.855, far below the 99% required. Navigation carries 1.44 / 2.33 = 62% of the variance, so it is the line to work on first. Halving it to 0.6 m gives a variance of 1.25 m² and a probability of 1 − exp(−9 / 2.5) = 0.973, while halving control to 0.25 m would reach only 0.878. Even the best single halving falls short of 99%, so this budget needs more than one change.

Question 3

The pad coordinates were surveyed with a constant error of 0.8 m, and the random part of the landing error is σ = 0.5 m per axis. A colleague treats the bias as one more random term, √(0.8² + 0.5²) = 0.94 m, and compares it with the 0.989 m allowed for 99% within 3 m. Is the method sound, and what simple bound would you use instead?

Explanation

No. A constant offset is a bias: it shifts the whole cloud of landings by 0.8 m instead of widening it, and the root-sum-square rule assumes zero-mean independent errors. Treating the bias as a spread happens to give a safe answer here (3.035 × 0.94 = 2.86 m, below 3.0 m) but for the wrong reason, and it wastes margin: it would reject a 2.5 m requirement that the vehicle in fact meets. A simple safe bound comes from the triangle inequality: the miss is at most the bias plus the random radius, so the 99% radius is at most 0.8 + 3.035 × 0.5 = 2.32 m, which passes. A numerical calculation for an offset circular Gaussian gives about 2.06 m, so the bound is safe and not far off.

What’s next

Practice this lesson

Who Missed the Pad?

Hopper lands 4 m from its pad in three different flights. From the logged truth, estimate and command signals, decide in each flight whether navigation, guidance or control is responsible.

Next lesson

M2-T1 — Frames for Flight: ECI, ECEF, Geodetic, NED, Body and Wind

Convert a position between geodetic, ECEF and local NED coordinates, and state when the rotation of the Earth and the variation of gravity may be neglected.

Nothing below is required to finish this lesson.

  • Before
    M1-T3: One Block Diagram, Four Vehicles

    Map the same GNC diagram onto a rover, a multirotor, an aircraft and a spacecraft, and say which blocks change and why.

  • Lab
    M1-L1: Who Missed the Pad?

    Hopper lands 4 m from its pad in three different flights. From the logged truth, estimate and command signals, decide in each flight whether navigation, guidance or control is responsible.

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

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