The science
Linear inverted pendulum (LIPM). Treat the whole robot as a point mass at height zc on massless legs, with the pivot (the centre of pressure, called ZMP when it is the point where the net ground-reaction moment is horizontal-zero) at p. Keeping the height constant gives a linear equation:
x'' = w2 (x - p) , w = sqrt(g / zc) , p = x - (zc/g) x''
With p fixed the motion is x(t) = p + (x0-p) cosh wt + (v0/w) sinh wt: the mass falls away from the pivot with time constant 1/w (0.31 s at 1 m). Balance means keeping p inside the support polygon, the convex hull of the soles in contact; if the controller asks for more, the ZMP saturates at the edge and the surplus becomes tipping (the foot rotates). The ZMP margin slider limits how much of the sole may be used.
Preview control (Kajita et al. 2003). Take jerk u as the input of the triple integrator (x, x', x''), output p. Minimising sum( Qe (p - p_ref)2 + R u2 ) gives a servo law with a feedback part and a feed-forward part over the next N planned ZMP samples:
u(k) = -Ks sum(e) - Kx [x x' x'']T - sumj=1..N f(j) p_ref(k+j)
Here Qe = 1, R = 1e-6, sample 5 ms, preview 1.6 s (N = 320); the gains come from the discrete Riccati equation solved at load (the readout shows Ks and f(1)). The reference ZMP sits under the stance foot in single support and slides to the next foot during double support. The CoM starts moving before the ZMP does, which is why the ZMP first goes backward when starting to walk.
Capture point (Pratt et al. 2006; divergent component of motion, Englsberger et al. 2015).
xi = x + x'/w , xi' = w (xi - p)
The unstable part of the pendulum is exactly xi: if p stays at a point q, xi moves away from q exponentially and the mass comes to rest over q only if xi = q. So a robot can stop without stepping if xi is inside the (margin-reduced) support polygon: that is the ankle strategy. If not, it must step; putting the foot where xi will be at touchdown captures the motion. Here the recovery uses a capture-point law p = xi_ref + (1 + k)(xi - xi_ref), k = 2, clipped to the polygon.
Hip strategy. Accelerating the trunk (a flywheel of inertia I) shifts the centroidal moment pivot to CMP = p + I th''/(m g); torque and angle limits (I = 2.5 kg m2, 30 rad/s2, 0.6 rad) make it a short-lived help of up to about 0.13 m.
Stepping and the push limit. Starting from rest above the stance foot, with the ZMP held at the toe limit m a (a = half sole length) for the step time T, then touchdown at the reach limit Lmax and the new toe limit, the largest forward velocity change that can still be absorbed by one step is
dvmax = w ( Lmax e-wT + m a ) , Jmax = M dvmax
Longer step times cost an exponential factor: the capture point runs away at ewT. Experiment 2 checks this against the simulated bisection.
Slopes and bumps. If the CoM keeps a constant vertical clearance above a ground line of any slope, the torque balance about the ZMP reduces exactly to x'' = w2(x - p) with the same w, so a slope changes the energy bill, not the stability model. For a bump the clearance is not constant: vertical acceleration enters as x'' = (g + z'') (x - p)/(z - zp), which the simulation evaluates exactly while the preview controller still assumes the constant-height model (the mismatch is a disturbance it has to reject).
Energetics. Each foot strike removes the CoM velocity component along the new leg, E = 1/2 m (v . u)2 (Kuo 2002; Ruina), which the actuators must replace; add the work to swing a lumped 10 kg leg (accelerate, decelerate, lift) and m g times the height gained. Cost of transport = energy / (m g distance). The graph also shows an illustrative electrical figure with 30 % drive efficiency and 40 W of holding power.
Simplifications. Point-mass pendulum with massless legs; constant CoM height over level or sloped ground; instantaneous weight transfer at touchdown; flat rigid feet with no yaw, no joint torque or speed limits, no sensing delay or noise; swing legs, arms and trunk follow kinematics (2-link analytic leg IK from hip and ankle positions) and do not feed back into the dynamics except the trunk flywheel. A fall is declared when the lean from the ZMP exceeds 20 degrees and keeps growing, and is then drawn as a rigid tip-over. This is a teaching model of the idea behind many humanoid controllers, not the controller of any product.
References. Kajita et al., Biped walking pattern generation by using preview control of zero-moment point, IEEE ICRA 2003. Kajita et al., The 3D linear inverted pendulum mode, IROS 2001. Vukobratovic and Borovac, Zero-moment point: thirty five years of its life, 2004. Pratt et al., Capture point: a step toward humanoid push recovery, Humanoids 2006. Englsberger, Ott and Albu-Schaeffer, Three-dimensional bipedal walking control based on divergent component of motion, IEEE T-RO 2015. Kuo, Energetics of actively powered locomotion using the simplest walking model, J. Biomech. Eng. 2002.