Reachability-based push recovery for humanoid robots with variable-height inverted pendulum