AI + Uncrewed Aircraft
Autonomy for drones, sim-first and NDAA-clean: build the whole stack (control, perception, estimation, planning, and the multi-agent swarm, where the code you write is the code that flies the aircraft) on-device, so the boundary is the aircraft's own, and staying aloft under wind and GPS-loss is viability held under disturbance.
▶ Start the course ← All coursesWhere this sits, and what moves it.
Binding constraint · Staying aloft under disturbance with a bounded energy budget. Wind and GPS loss are not edge cases; they are the operating envelope, and every layer of the stack is judged by whether viability holds through them.
Flight autonomy meant a ground station and a link. An aircraft that had to think for itself with the link gone was a research programme, not a build.
The whole stack -- control, perception, estimation, planning, swarm -- runs on-device, and the code you write here is the code that flies. What remains hard is the same thing that is hard everywhere in this curriculum: proving beforehand that a learned layer will hold when the disturbance is one it never saw.
The near frontier is a swarm with no leader holding formation on local information alone, which this course already reaches, extended to hold it under loss. The physics is favourable -- consensus over a connected graph converges at a rate set by algebraic connectivity -- and that rate is measurable, which makes the guarantee an engineering quantity rather than a hope.
Every hard thing was impossible until the constraint that made it impossible was named. How we read a frontier →
Flight & Control
Model a quadrotor as a rigid body with four thrusters, size it to hover, and close a control loop that holds an altitude, the foundation every later module stands on.
- L1Hover a QuadrotorA quadrotor's four rotors don't all spin the same way, two clockwise, two counter-clockwise. If instead all four spun the SAME direction at hover thrust, what happens?Size the four rotor speeds so total thrust exactly cancels weight, holding a hover to machine precision.→
- L2Close the LoopYour PD altitude controller never reaches 5 m and settles low. Which gain is wrong?Add a PD controller on altitude that drives the quad from the ground to a target height and holds it with no steady-state drift.→
Perception
Turn raw pixels into things an aircraft can act on, detect a target in a frame and estimate motion between frames, the onboard-vision half of autonomy.
- L2Find the TargetYour centroid drifts off a bright target in a noisy image. What is the most likely cause?Detect a bright target in a noisy image and report its pixel centroid, the input a tracker or a controller acts on.→
- L3Estimate MotionYour optical flow returns the wrong shift between two frames. What do you check first?Estimate how far the scene shifted between two frames, optical flow, the GPS-free motion cue behind position hold and VIO.→
State Estimation
Fuse noisy, partial measurements into one trustworthy estimate of where the aircraft is and how fast, from the linear Kalman filter to the nonlinear EKF that real autopilots (PX4's EKF2) run.
- L3Fuse the SensorsYou have two noisy altitude estimates, a drifting barometer and a jittery accelerometer. Can fusing two imperfect sensors beat the BETTER of the two alone?Fuse a noisy altitude sensor with an accelerometer through a Kalman filter that beats either sensor alone.→
- L4Track Through a TurnYour EKF tracks a turning aircraft no better than dead reckoning. Where is the bug?Estimate a turning aircraft's 2-D position from noisy range fixes with an Extended Kalman Filter, linearizing a nonlinear measurement, the way a real autopilot's EKF2 does.→
Planning & Learned Control
Decide where to go and how to get there, plan a mission over a map, and let a policy learn control a hand-tuned gain can't match.
- L2Plan a MissionYour greedy tour of survey waypoints barely beats the original order. What went wrong?Order a set of survey waypoints into a short tour so the aircraft covers the area without wasting battery on backtracking.→
- L3Learn to FlyYou search over a control gain by scoring rollouts and nothing beats the baseline. What are the two candidate causes?Tune a control gain by trying and scoring rollouts, beating a fixed baseline, the seed of learned control.→
The Multi-Agent Swarm
Make many aircraft act as one, hold a formation with no leader, and see the whole fleet flown by the real deterministic solver.
- L3Formation Without a LeaderA swarm of drones holds formation with no leader and no central computer, each drone reacts only to its nearest neighbors. Can that produce stable global formation?Drive a group of drones into an even line using only local averaging, leaderless consensus that survives a dropout.→
- L4The Swarm BenchThe same controller flies the whole fleet through a deterministic WGSL solver on your GPU. Why is determinism the point?Fly the whole fleet through the real deterministic WGSL solver, and understand why the same controller flies the aircraft.→
Anatomy demonstrations
The machines behind this course, taken apart three ways, the body, the one rule, and the small learned brain. Guess before you look; an open core proves every number on the page.
From the interactive textbook
The ideas under this course as live explorables, each runs the real Rust library and re-derives its own result.