Module 08 · Humanoids
A humanoid is the hardest ordinary robot you can build. It stands on two small feet, so it is always one mistake away from a fall. It has dozens of joints that must move together. And it is expected to do something useful with its hands while it stays upright. Everything you learned about frames, kinematics, dynamics, control and learning in earlier modules shows up here at the same time.
This module takes the humanoid apart in five steps: the body and its actuators, the physics of balance, the methods that make it walk, the control tricks that coordinate the whole body, and finally the hands. Each lesson keeps one foot in classical theory (inverted pendulums, quadratic programs) and one in modern learning (reinforcement-learned policies that run on real hardware). By the end you will know which tool to reach for, and why.
By the end of this module you can…
- Describe the main parts of a humanoid: joints, actuators, sensors and compute, and explain the trade-offs between them.
- Model balance with the linear inverted pendulum, compute a capture point and decide where a foot must land to recover from a push.
- Explain how model-predictive walking and reinforcement-learned walking differ, and what sim-to-real work each needs.
- Read a whole-body controller written as a prioritized optimization problem.
- Compare robot hand designs and write a simple tactile slip detector.
Lessons
| Lesson | What you build | Time |
|---|---|---|
| Humanoid anatomy | A joint budget and an actuator trade-off calculator | 30 min |
| Balance and the ZMP | A linear inverted pendulum simulator with capture-point recovery | 40 min |
| Locomotion | A gait clock and a walking reward function | 40 min |
| Whole-body control | A prioritized inverse-kinematics solver | 40 min |
| Hands and dexterity | A tactile slip detector with a grip controller | 35 min |
Module project: push-recovery biped
You will extend the simulator from lesson 2 into a small push-recovery demo. A point-mass biped stands still. A random shove arrives, the controller computes the capture point, picks a foot placement within a step-length limit, and takes as many steps as it needs. You then plot how recovery success changes as the push gets bigger. It runs in pure Python in a few seconds, and it is the same idea real humanoids use when someone bumps into them.
Stuck at any point? Ask Rivet, the course assistant, bottom-right.