Part 01 / Software & machine learning
02 / 09Move it classically, then break it
Find where textbook control stops being enough.
Solve inverse kinematics, put PID and gravity feedforward on top of the servos’ own loops, and score them with bench.py, the harness every later module reruns. Then reproduce the sim-to-real gap on purpose and explain each failure.
The goal for this build
What you’ll be able to do.
- Solve inverse kinematics for the arm and use the Jacobian to relate joint motion, gripper motion and forces.
- Predict how far a position servo sags under a payload from its stiffness.
- Build an outer PID and gravity feedforward on the fixed goal-angle interface, and explain where each fails.
- Score every controller on bench.py’s matrix and write a cause for each result.
What to have ready
- Module 1 sim with its four checks passing
- The BAM-based firmware layer, not Menagerie’s gains
- Trigonometry: atan2 and the law of cosines
- Partial derivatives of a vector function, for the Jacobian
Free account
Read the lesson, run the lab, pass the gate.
The whole course is free. Create an account to unlock the lesson, the build lab, the task and the gate command for this module, and to download the starter kit.
03 / Prove it
Keep the evidence.
Then run the gate.
What you ship
- controllers/ with inverse kinematics, the stock baseline, the outer PID and gravity feedforward, each with a versioned config
- The benchmark’s sim perturbations, implemented in sim/
- A first bench.py results table: mean ± std per controller and cell, with commit, config and seed on every row
- A written cause for each result, plus a stress sweep if no perturbation broke a controller
- Sim drawings of the figure-eight and your name, with and without 150 g
- The best classical controller keeps the nominal RMS error on the slow figure-eight under 2 mm.
- At least one perturbation pushes the maximum error past 10 mm or trips an overload.
- A baseline that survives them all documents a separate stress sweep instead of being weakened.
- A written cause for each result.
With a free account: the gate command and how to record your evidence.
The story behind the build
Episode companions.
Written companions are available now. Recordings and customer access are forthcoming.
Made it through the lesson?
Save your reading progress here. Record your gate result in your project.