The inverted pendulum that refuses to fall
Model a humanoid as a point mass (center of mass, CoM) on a massless leg: the linear inverted pendulum. Standing is an unstable equilibrium — like balancing a broom — and the controller's whole life is choosing where to push against the ground so the pendulum stays catchable.
The zero-moment point
The ZMP is the point on the ground where the contact forces produce zero tipping moment. The classic condition: as long as the ZMP stays inside the support polygon (the foot, or both feet), the robot is dynamically balanced.
For motion in the sagittal plane: x_ZMP = x_CoM − (z_CoM / g) · ẍ_CoM. Accelerate the body forward and the ZMP shifts backward — which is why a robot leans into a sprint start exactly like a human does. When a push drives the predicted ZMP outside the foot, no ankle torque can save you; the only valid response is a capture step: place the next foot where the pendulum can be caught.
Why actuators are the second half of the story
Balance math is useless if joints can't deliver torque fast. Two design schools: high-gear harmonic drives (precise, but reflected inertia makes impacts harsh) versus quasi-direct-drive with low gearing (transparent, impact-tolerant — the reason modern humanoids survive being shoved). Series-elastic actuators put a spring in the chain: torque becomes a position measurement across the spring, and the leg gains a passive suspension.
The 1 kHz reality
The full loop — IMU fusion, contact estimation, whole-body torque distribution via quadratic programming — runs at ~1,000 Hz. A QP solves, every millisecond: minimize tracking error subject to friction cones, torque limits and the ZMP constraint. Modern learned policies (trained in simulation) increasingly replace pieces of this stack, but they're trained against this same physics — the pendulum doesn't care whether the controller was written or learned.
One number to remember
Cost of transport — energy per weight per distance. Humans: ~0.2. The best humanoids: 0.4–1.0. That gap is gearbox losses, heat in motor windings and conservative gaits, and it sets the battery, which sets the mass, which sets the torque budget. Locomotion engineering is a loop of consequences, solved 1,000 times a second.
Localized AI fine-tunes small open models on your data and deploys them on your hardware — GDPR by architecture, zero per-token costs. Average setup: 72 hours.
Plan my deployment