Glossary · Robotics and control

Push recovery

Also called shove recovery, perturbation, balance recovery

Staying on your feet after an unexpected shove, by leaning, stepping or hopping.

Push recovery is a classic test of balance in humanoid robotics, and a classic test of a stance in a gym. A body has three main strategies, roughly in order of how big a push they can handle:

  1. Ankle strategy. Keep the body stiff and push with the ankles, shifting pressure across the feet. Small pushes only.
  2. Hip strategy. Bend at the hips to swing the upper body against the push, moving the centre of mass back over the feet. Medium pushes.
  3. Stepping strategy. Move the feet to a new spot under the capture point. Large pushes. A hop counts too.

A good controller picks between these automatically. The capture point says which is needed: if it stays inside the support polygon, no step is required.

How big is a shove?

A shove’s effect depends on its impulse, force times duration. For a force FF lasting Δt\Delta t on a body of mass mm, the change in velocity is

Δv=F Δtm\Delta v = \frac{F\,\Delta t}{m}

An 860 N shove lasting 0.15 s on a 77 kg body gives Δv≈1.7\Delta v \approx 1.7 m/s: like being shoved into a brisk walk sideways from standing.

In this project

Shoves come every 2–4 s, last 0.10–0.20 s and come from any direction, mostly on the chest. Their top force rises with the curriculum level, up to 860 N. Two approaches were tested: scripted recovery moves (a sideways hop, forward and backward steps) and a free “survive” mode where the legs may do anything as long as the guard stays up. The survive policy on the simple body holds all 16 shoves of an 8-direction test at 860 N.

Related terms

Used in

← All terms