This 2D companion is the same Linear Inverted Pendulum (LIPM) model as the 3D version, seen from directly above: the robot's centre of mass is a point mass of height h pivoting over whichever foot is on the ground, and its horizontal acceleration is set entirely by where the Zero Moment Point (ZMP), p, sits under that foot:
ẍ = (g / h) · (x − p) [LIPM equation]
ξ = x + ẋ·√(h / g) [Capture Point — where a step would fully stop the fall]
- Ankle strategy — for small disturbances the controller aims the ZMP at the capture point ξ, but clamps it inside the physical foot sole (11 cm × 6 cm, drawn as the blue rectangle). This is the yellow marker; while it stays off the sole's edge, gravity alone rebalances the pendulum.
- Stepping strategy — once the ZMP saturates at the sole edge, or the capture point drifts too far from the stance foot, the controller plans a new footstep at the capture point (cyan ring) plus the nominal stride. If that landing point is farther than the leg can reach, the robot cannot arrest its fall in time and falls.
- Push forward / sideways — injects an instant CoM velocity impulse, exactly like a real push-recovery test on a humanoid (Atlas, Optimus, Digit). Watch how a longer leg reach or a wider stance buys a larger recovery margin.
- View — the robot is drawn top-down (forward is up the screen, sideways is across it); drag to pan and scroll/pinch to zoom, independent of the camera that keeps following the robot.
This ZMP / capture-point formulation is the same walking-pattern-generator math used on real bipedal humanoids, distinct from a fixed pre-recorded gait cycle: every step here is planned online, in reaction to the pendulum's own state — identical physics to the 3D version, just viewed from above instead of from a following chase camera.