Guidance, Navigation and Control · Theory · M1
M1-T3 — One Block Diagram, Four Vehicles
The boxes are the same on every vehicle. What differs is what the vehicle does when you take your hands off.
A rover, a multirotor, an aircraft and a satellite have almost nothing in common as machines, and yet each is flown by the same four blocks of the same diagram. This lesson walks the diagram over all four, block by block, and then asks the question that decides most of the engineering: if the controller stopped working this instant, what would the vehicle do? The answer ranges from "nothing" to "diverge within a second", and it sets how fast, and how carefully, every other block has to work.
Learning objectives
After this lesson, you should be able to:
- Map the sensors, navigation, guidance, control and actuators of a rover, a multirotor, an aircraft and a spacecraft onto one diagram.
- Classify a vehicle channel as stable, neutral or unstable from its open-loop behaviour.
- Compute how long an uncontrolled vehicle takes to leave an attitude limit, and how much an error grows during a control delay.
- Say which block changes most between vehicle classes, and why.
The intuition
Return to the loop of M1-T1: Three Questions: Where Am I, Where Should I Go, How Do I Get There. Nothing in it mentions wheels, rotors, wings or thrusters. It names five roles: sensors, navigation, guidance, control, and the vehicle with its actuators. Every vehicle fills those roles. The table shows how, for the four classes this course covers.
| Wheeled rover | Multirotor | Fixed-wing aircraft | Spacecraft in orbit | |
|---|---|---|---|---|
| Sensors | Wheel encoders, IMU, LiDAR or camera | IMU, barometer, magnetometer, GNSS (camera or LiDAR indoors) | IMU, GNSS, air data (pitot and static pressure), magnetometer | Gyros, star trackers, sun sensors, GNSS in low orbit |
| Navigation estimates | Pose in a map frame | Position, velocity, attitude, sometimes wind | Attitude, position, velocity, airspeed, wind | Attitude and rates, orbit position and velocity |
| Guidance asks for | Velocity and turn rate along a path | Position, velocity or trajectory setpoints | A path, a glide slope, altitude and speed | Pointing directions, burns, approach paths |
| Control loops | Wheel-speed loops | Rate, attitude, velocity and position cascade | Rate and attitude loops, then path, with throttle for speed | Attitude loops; the orbit by timed burns |
| Actuators | Wheel motors, brakes | Four or more rotors | Elevator, ailerons, rudder, throttle | Reaction wheels, magnetic torquers, thrusters |
| Main disturbances | Wheel slip, slopes, payload | Wind gusts, payload, battery voltage | Wind, turbulence, icing | Tiny torques: gravity gradient, solar pressure, drag in low orbit |
| If control stops | It coasts to a halt | Attitude drifts away: two integrators in series. It tilts, accelerates and falls | Depends on the design: fast modes usually recover, slow ones may drift or diverge | It keeps tumbling or drifting |
| Speed limits | None, it can stop | None, it can hover | A minimum (stall) and a maximum | None to choose: orbital speed is fixed by the orbit |
| Time scales | Seconds | Tens of milliseconds to minutes | Fractions of a second to hours | Seconds (attitude) to hours (orbit) |
Read the table by rows. The first four rows are about information, and they change in detail but not in kind: some sensors, an estimate, a thing to ask for, some loops. The last five rows are about physics, and they change a great deal. The sensors of a rover and of a spacecraft are different, but the idea of navigation is the same. The behaviour of the two vehicles when nobody is steering is completely different.
What differs: three things
- The open-loop behaviour. Push the vehicle once and let go. A rover slows and stops. A multirotor's tilt keeps growing, because nothing in it pulls a tilted body back. An aircraft with a stable airframe settles. An aircraft or rocket with an unstable airframe diverges. This single property decides how fast the controller must react and how little delay is tolerable.
- The limits. A rover can stop and a multirotor can hover. An aircraft cannot: below a minimum speed it stalls, and above a maximum its structure is at risk. A spacecraft cannot stop at all, since its speed is fixed by its orbit, and changing it costs propellant that cannot be replaced. Guidance has to respect limits that the vehicle has, not limits it wishes it had.
- The disturbances, and the authority to answer them. A multirotor in wind and a satellite in orbit are both disturbed, but by forces that differ by many orders of magnitude, and their actuators differ accordingly. A wheel can add a little torque forever. A thruster can add a lot, once.
Hopper, the unstable one
The course vehicle is chosen to sit at the demanding end of the first property. In this course Hopper is defined to be unstable in pitch: its designers put the centre of mass behind the aerodynamic centre of the body, as some agile aircraft do (the usual name is relaxed static stability), and the price is a pitch axis that diverges by itself. A small error doubles in about a second. It makes Hopper agile, and it means the pitch loop is not optional: without it, the vehicle is out of its envelope in seconds. Every loop in modules 2 to 5 has to keep it in hand.
The figure below shows the three classes of behaviour on one scale. Each curve is the attitude error of a vehicle that receives a 2 degrees per second kick (a gust, a thruster blip) with no controller acting. The stable vehicle settles at 3 degrees. The neutral one drifts steadily and reaches 10 degrees at 5.0 s. Hopper reaches the same limit at 2.8 s, and the curve is still accelerating.
The blocks of the diagram are common to all vehicles. The open-loop behaviour of the vehicle block is not, and it is the first thing to find out about any new machine.
Definitions
- Open-loop behaviour
- What the vehicle does with its control input held fixed (usually at zero). It describes the vehicle alone, without the controller.
- Pole
- A number, with units of 1/s, that sets how one mode of the vehicle grows or decays: the mode behaves as . Module 3 defines poles properly; here a real pole is enough.
- Stable, neutral, unstable
- : the mode dies away. : it neither grows nor decays (an integrator). : it grows.
- Time to double
- For an unstable pole, the time in which an error doubles: .
- Attitude error and rate
- The angle between the vehicle's axis and the desired one, and its rate of change. Here a single axis (pitch), in degrees and degrees per second.
A single growing or decaying mode is the simplest possible vehicle:
An attitude axis has two states, the angle and the rate. The three behaviours in the figure come from three different second-order models with the controller off:
Starting from zero angle with a rate kick , the responses are:
Derivation: how long does an unstable vehicle give you?
The question that matters for design is time. How long can a vehicle be left alone before it is out of its envelope, and how much does a delay in the control loop cost? Derive both for the unstable axis, since it is the demanding case.
With no control, try a solution and substitute. The two poles are (growing) and (decaying). One of the two modes grows, so the vehicle is unstable.
The general solution is a combination of the two modes. The constants and are set by the initial conditions.
A kick from rest means zero starting angle and a starting rate . The two conditions give and , and the pair of exponentials combine into a hyperbolic sine.
Invert the response to find when the error reaches the limit . For the neutral axis the same question gives the simpler .
Once the growing mode dominates, any error is multiplied by this factor in every interval of length during which nothing corrects it. A delay in the loop is exactly such an interval.
The last line is the useful one for design. Sensing, estimating, computing and moving an actuator take a total delay , and during it the error grows by before the first correction takes effect. If is much less than 1, the growth is negligible, and a controller can hold the vehicle. If is around 1, the error has grown by a factor of 2.7 before anything happens, and the actuator must then provide enough authority to undo it. If it is well above 1, there is no controller that can hold the vehicle with that delay. Module 3 turns this argument into a bound on the loop's bandwidth, and shows in M3-T6: Limits of Performance: Delay, Right-Half-Plane Zeros and the Bode Integral that delay and unstable poles together limit what any controller can do.
Stable vehicles forgive delay. Unstable vehicles charge compound interest on it, at the rate of their own pole.
A worked example
Compare the three behaviours with numbers. A 2 degrees per second kick hits an attitude axis, and the attitude limit is 10 degrees. Hopper has . The stable vehicle has a rate-damping time constant .
- Stable vehicle. The angle levels off at degrees. It never reaches the 10 degree limit, with or without a controller.
- Neutral vehicle. s.
- Hopper. s. Hopper has just over half of the neutral vehicle's time, and the time to double is s.
- Delay. The growth factor is 1.04 for a 50 ms delay, 1.07 for 100 ms, 1.42 for 500 ms and 2.01 for a full second. A control loop with a total delay of 100 ms costs Hopper 7% of error growth. One with a 1 s delay lets the error double before it acts.
- Read it. The stable vehicle needs a controller only for accuracy, not for survival. The neutral one needs a controller within about a few seconds. Hopper needs one that reacts in a fraction of its 1 s doubling time, with a total delay of a small fraction of a second. That requirement flows down into the loop bandwidths of M1-T2: Nested Loops and Separation of Timescales and into the navigation filter's latency.
The same numbers from a short program (standard library only):
import math
LIMIT, KICK = 10.0, 2.0 # attitude limit (deg) and a rate disturbance (deg/s)
lam = 0.7 # Hopper's divergence rate (1/s)
tau = 1.5 # rate-damping time constant of the stable vehicle (s)
settle = KICK * tau # stable: theta' = KICK * exp(-t / tau)
t_neutral = LIMIT / KICK # neutral: theta = KICK * t
t_unstable = math.asinh(lam * LIMIT / KICK) / lam # unstable: theta = (KICK / lam) * sinh(lam * t)
print('time to leave +/-10 deg after a 2 deg/s kick, controller off')
print(f' stable (rate damps, tau = 1.5 s): never, settles at {settle:.1f} deg')
print(f' neutral (double integrator): {t_neutral:.1f} s')
print(f' Hopper (unstable, lambda = 0.7): {t_unstable:.1f} s')
print(f'Hopper doubles an error every {math.log(2) / lam:.2f} s; growth during a control delay T:')
for T in (0.05, 0.1, 0.5, 1.0):
print(f' T = {T:4.2f} s -> error x {math.exp(lam * T):.3f}')time to leave +/-10 deg after a 2 deg/s kick, controller off stable (rate damps, tau = 1.5 s): never, settles at 3.0 deg neutral (double integrator): 5.0 s Hopper (unstable, lambda = 0.7): 2.8 s Hopper doubles an error every 0.99 s; growth during a control delay T: T = 0.05 s -> error x 1.036 T = 0.10 s -> error x 1.073 T = 0.50 s -> error x 1.419 T = 1.00 s -> error x 2.014
In robotics
The classification explains design choices that look arbitrary from outside.
- Safe states differ. A rover has a free safe state: stop. A multirotor has none, because stopping the motors is a crash, so its failsafe is to land (see UAV M8-T14: Communication loss and failsafes). An aircraft cannot stop either, and its failsafe is to keep flying: return, loiter or glide. What the failsafe can be depends on the open-loop behaviour and the limits, not on the software.
- Unstable on purpose. Many modern fighter aircraft are designed with relaxed static stability and are flown by computers, because an unstable airframe turns faster. They accept the price this lesson computes: the flight control loop cannot be allowed to fail, and it is duplicated several times over. Many launch vehicles are aerodynamically unstable during part of their ascent and are held by thrust-vector control.
- Stable is not the same as controlled. A stable airframe returns to level flight, but it still needs a guidance loop to go anywhere, and a control loop to do it accurately and to reject wind. Stability buys forgiveness, not performance.
- Spacecraft disturbances are small but never stop. Gravity-gradient torque and solar pressure add momentum to a satellite continuously, and the reaction wheels that absorb it eventually saturate. The control problem becomes a bookkeeping of momentum over weeks (module 11), not a fight against a diverging mode.
The same three-way classification returns throughout the course. Module 3 sorts it by poles in the complex plane, module 4 by the eigenvalues of a state matrix, and module 10 meets the aircraft modes, some stable, some slowly unstable. For the multirotor case, UAV M5-T2: Quadrotor dynamic modelling writes the model whose attitude axes are the double integrators of this lesson.
Common misconceptions
“A spacecraft is easy to control because nothing disturbs it.”
The disturbances are tiny, but so are the actuators, and there is no air to damp anything. An attitude axis is a double integrator: once it is rotating it keeps rotating, and a small torque for a long time adds up to a large momentum. Control authority, momentum storage and propellant, not divergence, are the difficulties.
“Unstable means it crashes immediately.”
It means a mode grows exponentially, at a rate set by the pole. Hopper doubles an error in about a second, so a controller with a 50 ms delay copes easily, and one with a 1 s delay does not. The number that matters is , the pole times the delay.
“A stable vehicle does not need a controller.”
It needs no controller to avoid diverging, but it still needs one to go to a target, to track a path accurately and to reject disturbances. Stable aircraft are flown by autopilots all the time, and so are stable rovers.
“Aircraft and rovers just differ in their speed.”
The difference is structural. A rover can stop, so every error can be cured by waiting. An aircraft has a minimum speed below which it cannot fly at all, and guidance for it has to respect that limit in every command, including during turns, when the stall speed rises.
“Each vehicle class needs a different control architecture.”
The architecture, the five roles in the diagram, is common. The vehicle-specific part is the model in the vehicle block, the actuator limits and the numbers in the loops. The same engineers move between rovers, drones and spacecraft by learning the model of the new vehicle, not a new theory of control.
Key takeaways
- The same five roles (sensors, navigation, guidance, control, vehicle with actuators) appear on every vehicle. The details differ, the structure does not.
- The vehicle block is where classes differ most: open-loop behaviour, speed limits, disturbances and actuator authority.
- A mode with pole behaves as : it decays if , stays if and grows if .
- An unstable pole doubles an error in seconds, and any delay in the loop multiplies the error by .
- Stable vehicles forgive delay and errors, neutral ones accumulate them, and unstable ones amplify them. The controller's speed requirement follows.
- What a vehicle does when control stops decides what its failsafe can be.
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.
- J. How, MIT 16.333 Aircraft Stability and Control (OpenCourseWare) , the lectures on the aircraft modes. Free; licence CC BY-NC-SA 4.0.
- K. J. Åström and R. M. Murray, Feedback Systems, 2nd edition, Princeton University Press, 2021 , the chapter on dynamic behaviour, for stability of linear systems. Free to read as the authors' PDF; the book is copyrighted.
- NASA, “Attitude Determination and Control Systems” (NTRS 20110007876) , a survey of spacecraft sensors, actuators and control modes. Free; public use permitted.
- B. Etkin and L. D. Reid, Dynamics of Flight: Stability and Control, 3rd edition, Wiley, 1996, the chapters on the longitudinal and lateral motions. The classic text on aircraft modes. Paid book.
- B. Wie, Space Vehicle Dynamics and Control, 2nd edition, AIAA, 2008, the introduction and the chapters on rigid-body attitude dynamics. Paid book.
Knowledge check
Three questions. Write an answer, then reveal the explanation. Your answers stay in your browser.
Question 1
A quadrotor is hovering when a gust gives it a 5 degrees per second roll rate. Its roll channel is a double integrator and the roll limit is 30 degrees. How long until it exceeds the limit with no control, and what does the answer tell you about the roll controller?
Explanation
t = θmax / θ̇₀ = 30 / 5 = 6 s, ignoring rotor drag and the change in thrust as the vehicle tilts, which are small over this time. The multirotor is neutral in roll, so there is plenty of time to react, but any controller must act within a small fraction of that, and an actuator limit that prevents it from stopping the rotation (for example saturated motors) turns a harmless kick into a flip. This is why the roll rate loop of a multirotor runs at hundreds of hertz even though 6 s is long.
Question 2
Hopper's state estimator adds a 0.3 s lag between a true attitude change and the estimate that the pitch controller uses. With λ = 0.7 per second, by what factor can an attitude error grow during that lag, and is it a problem?
Explanation
e^(λT) = e^(0.7 × 0.3) = e^0.21 = 1.23, so an error can grow by about 23% before the controller even sees it. Compared with a time to double of 0.99 s the lag is 30% of the doubling time, which is a significant fraction of the vehicle's patience: the controller must then be strong enough to undo the extra growth, and the loop has less phase margin to spare. A 30 ms lag would cost 2%. The right response is a faster estimator or a faster sensor path, since the physics of the vehicle cannot change.
Question 3
Which block of the loop changes least between a wheeled rover and a satellite, and which changes most? Give one reason for each.
Explanation
Navigation is structurally the most alike: both estimate a state from noisy sensors, with a motion model and measurement updates (the sensors differ, the estimator's idea does not). The vehicle block changes most: a rover stops by itself and has a safe state, a satellite cannot stop, has no aerodynamic damping and has actuators with tiny, rationed authority. Guidance also changes strongly in what it asks for (a path versus a burn or a pointing direction), but the greatest difference is in the dynamics, because they decide what control must do.
What’s next
Related content
Nothing below is required to finish this lesson.
- BeforeM1-T2: Nested Loops and Separation of Timescales
Order the loops of a vehicle by bandwidth, state the rule of thumb for their separation, and predict what fails when an outer loop is as fast as an inner one.
Other courses on this site treat neighbouring topics from their own angle:
- UAV M5-T15: Guidance and control integration
- UAV M1-T12: Complete UAV system architecture and data flow
- Navigation M1-T2: The Navigation Stack at a Glance
- Physical AI: The Physical AI stack
This course leaves the following to the pages that already teach them:
Get notified when the next lesson and new labs are released.
One email per new lesson or lab.