ROBOTIC.INDUSTRIES

Humanoids and Legged Robots

How Bipedal Robots Stay Upright: From ZMP to MPC

Balance control explained without the maths: what the zero moment point actually is, why capture point changed the field, and what model predictive control added on top.

Humanoid robot standing in an industrial workspace holding a tote
Humanoid robot standing in an industrial workspace holding a tote

A biped stays upright by keeping the ground reaction force where it can still generate a correcting moment. The classical answer keeps the zero moment point inside the support polygon, which produces the flat-footed shuffle of early humanoids. Modern controllers plan several steps ahead at 200 to 1,000 Hz and treat stepping as part of the balance strategy rather than as a failure of it.

200 to 1,000 Hztypical balance control loop rate
0.3 to 0.8 sduration of a single step
2 to 4steps a modern planner looks ahead
≈ 0.02 m²support polygon on one foot

The zero moment point, plainly

The zero moment point is the location on the ground where the horizontal moment of the ground reaction force is zero. If it lies strictly inside the area covered by the feet, the support polygon, the foot does not rotate and the robot is dynamically stable. If it reaches the edge, the foot begins to tip and the robot is falling unless it does something.

The classical control strategy is therefore: plan a trajectory that keeps the zero moment point comfortably inside the polygon at all times. It works, and it produces the recognisable early humanoid gait, with knees bent, feet flat and small steps, because those choices maximise the polygon and minimise the moment.

The limitation is that the strategy is defined by what it forbids. A human walking does allow the equivalent point to leave the support area, recovers with the next footfall, and that is why human gait is efficient and robot gait historically was not.

Capture point and the shift to stepping

The capture point reframes the problem. Instead of asking whether the robot is stable now, it asks where the foot would have to be placed to bring the robot to a stop. If that location is reachable, the robot is recoverable even though it is currently falling.

This single change turns stepping from a locomotion primitive into a balance action. A push that the classical formulation treats as a failure becomes a step in the direction of the push, which is what humans do and what modern robots visibly do in demonstration videos.

Balance approaches compared
ApproachCore ideaLook-aheadResulting gait
Zero moment point trackingKeep the point inside the polygonCurrent stepFlat-footed, bent knees, conservative
Linear inverted pendulumModel the body as a point mass on a massless leg1 stepSmoother, still conservative
Capture pointWhere must the foot land to stop1 to 2 stepsPush recovery, reactive stepping
Whole-body controlSolve for all joint torques against multiple objectivesInstantaneousCompliant, uses arms and torso
Model predictive controlOptimise a horizon of future states each cycle2 to 4 stepsNatural, terrain-adaptive
Learned policyNeural controller trained in simulationImplicitRobust to disturbance, harder to certify

What model predictive control adds

Model predictive control solves an optimisation problem at every control cycle: given the current state, a model of the dynamics and a set of constraints, find the sequence of actions over the next horizon that minimises a cost, then execute only the first action and repeat. Running that at 200 Hz to 1,000 Hz over a horizon of two to four steps is what produces gait that adapts to terrain rather than following a pre-planned trajectory.

The practical cost is compute and model fidelity. The optimisation must complete within one control period, which forces simplified dynamics models, and any mismatch between the model and the real robot shows up as a limp, a drift or a fall on unmodelled ground.

The arms are part of the balance system. Whole-body controllers use arm and torso momentum to generate correcting moments, which is why a humanoid carrying a heavy object in both hands balances worse. Payload does not merely load the legs, it removes a control authority the robot was relying on.

The numbers a balance controller works with

Typical quantities in a full-size bipedal controller
QuantityTypical valueWhy it matters
Balance loop rate200 to 1,000 HzSets the optimisation time budget per cycle
Joint torque loop rate1,000 to 10,000 HzRuns beneath the balance loop
State estimation rate200 to 1,000 HzFuses inertial data with joint encoders
Step duration0.3 to 0.8 sShorter steps recover faster from a push
Foot length200 to 280 mmDefines the support polygon in the sagittal plane
Foot width80 to 130 mmDefines lateral stability, the tighter constraint
Walking speed0.5 to 1.6 m/sBelow a brisk human walk of about 1.8 m/s
Centre of mass height0.8 to 1.0 mSets the pendulum time constant
Push recovery window100 to 300 msTime available to place a recovery step
Actuator latency budget1 to 5 msDelay directly erodes the recovery window

Foot width is the constraint that surprises people. A 100 mm wide foot gives a lateral support polygon of roughly 100 mm while standing on one leg, against 240 mm fore and aft, so sideways pushes are far harder to absorb than forward ones. That asymmetry is why robots step sideways more readily than they step forward when disturbed.

Where learned control sits

Reinforcement learning in simulation now produces walking controllers with disturbance rejection that is hard to match analytically, and transfer to hardware works when the simulation randomises mass, friction, latency and terrain sufficiently. Two honest caveats belong alongside the demonstration videos.

  • Failure modes are hard to characterise. An analytical controller has provable regions of stability. A learned policy has an empirical one, which complicates any safety argument.
  • Hybrid is the production answer. Most deployed systems use a learned or optimised policy for gait with analytical safety layers underneath, such as joint limit enforcement and a fall-protection behaviour.

Frequently asked questions

What is the zero moment point?

The point on the ground where the horizontal moment of the ground reaction force is zero. Keeping it inside the area covered by the feet means the foot does not rotate, which is the classical condition for dynamic stability in walking robots.

Why did early humanoids walk with bent knees?

Because keeping the zero moment point safely inside the support polygon favours flat feet, low centre of mass and short steps. It is a conservative strategy that avoids the region where the robot would have to step to recover.

What changed with capture point?

It reframed balance as a question of where the next foot must land to stop the fall, which makes stepping a balance action rather than a failure. That is what enables the push recovery behaviour seen in modern demonstrations.

How fast does a balance controller run?

Typically 200 Hz to 1,000 Hz for the balance loop, with joint-level torque control often faster. Model predictive controllers must complete their optimisation within one control period, which limits model complexity.

Why does carrying something make balancing harder?

Because whole-body controllers use arm and torso momentum to generate correcting moments. A payload held in both hands adds mass and removes that control authority at the same time.

Are learned controllers used in production?

Increasingly, but usually in hybrid form: a learned or optimised policy for gait with analytical safety layers underneath for joint limits and fall behaviour, because a learned policy has an empirical rather than provable stability region.

Sources

  1. ROBOTS guide, legged robot profilesIEEE Spectrum, published control rates and gait characteristics
  2. arXiv robotics preprints, legged locomotion controlPrimary literature on capture point, whole-body and predictive control
  3. ISO 13482, safety requirements for personal care robotsInternational Organization for Standardization, fall hazard provisions for legged machines