freerobotics
← all months

Month 4 · ~15.5 h of video + practice

Planning and control

Your goal this month: learn how a robot decides what to do next, mathematically, when it knows how the world works.

This is the classical half of the stack: the part that still runs the lowest, safety-critical layer of real robots and cars.

Even the most end-to-end companies don't let learning touch that bottom layer.

month 40/8 · 0%

Watch

Marco Pavone and Daniele Gammelli, Stanford

The newest course on the path and the most direct line to how autonomous vehicles are built today. Pavone runs autonomous vehicle research at NVIDIA.

  • Lecture 1: course overview
  • Lectures 2 to 6: optimization, and the two families of methods for computing the best trajectory
  • Lecture 7: dynamic programming, the idea underneath all of reinforcement learning
  • Lecture 8: LQR, the most famous controller in robotics
  • Lecture 9: what happens when the world is random
  • Lecture 10: reachability analysis, how you prove a robot never enters a dangerous state
  • Lectures 11 and 12: Model Predictive Control, which drives most real autonomous systems today

What to focus on

  • →The cost function: every behavior you want becomes a number to minimize
  • →Dynamic programming and the Bellman equation, because Month 5 is built on it
  • →LQR, until you can implement it from memory
  • →MPC: plan ahead, take one step, re-plan. Robots and cars do this dozens of times per second

Practice task

Colab notebook coming soon
Warm up in the playground: tune a drone's controller →Turn Kp, Ki and Kd, hit it with wind, and see why every robot runs a feedback loop.

Use the MuJoCo cart-pole (a pole balanced on a moving cart), or write a simple one in Python yourself. Then:

If you can balance a pole with LQR and then with MPC, you understand classical control better than most people who apply for robot learning jobs.

Milestone: by the end of this month you can

Get the next checkpoint by email

One topic, one task and one new resource every week.