L1 — Classical PID

Every controller level in Robavionix runs on the same standard fault library, injected live through the same STM32 hardware. L1 is where that story starts: a classical cascaded PID attitude controller, tuned by hand, pushed until it breaks.

Why start here

Most control-education failures aren’t about content depth — they’re about students crossing a math threshold without ever touching hardware. L1 assumes only transfer functions and frequency response. No state space, no Lyapunov functions. The goal is a working controller on real motors inside the first lab session, and a precise, felt answer to the question: how far can a PID controller be pushed before it gives up?

What you build

A rate-loop PID on each axis, then an outer attitude loop cascaded on top, deployed to the STM32 flight controller board and exercised against the physical quadrotor testbed inside the HIL rig — not a pure simulation.

The fault story

Every experiment in this level ends the same way: inject a standard fault (motor thrust degraded to 60%, then an IMU noise burst) and record what happens. The point isn’t to make PID fail dramatically — it’s to give students a precise, hands-on baseline for the phrase “robustness margin,” so that when L3 introduces sliding mode control against the same fault, the improvement is something they measured themselves, not something a lecture slide told them was true.

Bring fault-tolerant control into your course

From a single Core kit for self-study to a full Classroom set for ten students, we'll help you find the right fit for your syllabus.

Buy Pro VersionDownload Now