FixTheRobot Explore Robotics / Guidance, Navigation and Control / M12 / M12-L1

This lab works on phones, but writing code is much easier on a laptop.

Guidance, Navigation and Control · GNC Systems Engineering and Capstone · M12-L1 · Intermediate

How Many Runs Are Enough?

Bench log · Hopper on the test range

14:05. The error budget for Hopper says 97% to 99% of flights will land within 3 m of the pad. The review board wants a campaign of simulated flights to show it is 99%, with 95% confidence, and the project manager asks one question: how many flights do we buy?

You will fly a campaign and see why the observed fraction is not what counts, write the exact bound that the acceptance rule uses, and write the planning function that turns a design margin into a campaign size.

Your task

    Simulation
    solution.pyLoading Python…
    Ctrl+Enter runs
    What Python can I use?

    Plain Python 3 with the standard library and the course library gnckit (import gnckit as g: transfer functions and margins, state space and LQR, the Hopper model, quaternions, a convex solver). NumPy is not available in the browser. Your code runs in a background worker: an endless loop is stopped after a few seconds and the page stays usable. It runs in your browser and is never sent anywhere.

    Hints

    What this lab teaches

    Stage 1 shows that a campaign proves a confidence bound, not a fraction: the observed success rate can exceed 99% while the requirement is not demonstrated. Stage 2 implements the exact binomial bound, whose zero-failure case a formula built on the observed fraction gets wrong. Stage 3 writes the planning function: the smallest campaign that passes with 90% probability for a design with a given true success probability.

    Grading compares your bounds with the exact binomial bound to 1e-5 and your campaign sizes with the exact smallest size, on hidden cases.

    Theory for this lab

    GNC Systems Engineering and Capstone labs

    1. M12-L1: How Many Runs Are Enough?: this lab.
    2. M12-L2: Capstone: Land Hopper

    Educational simplification: the landing miss is a circular Gaussian with a per-axis spread, plus a 0.4% population of flights with a 2.5 m offset. A real campaign flies the closed-loop simulation with wind, sensor errors, mass and fault draws, and the requirement is stated on its own list of failures.

    Get the next lab

    Get notified when new robotics labs are released. One email per new lab, nothing else.