Push Recovery and Online Gait Generation for 3D Bipeds with the Foot Placement Estimator Brandon J DeHart and Dana Kuli´ c Abstract— Humanoid robots have many potential applica- tions in man-made environments, including performing haz- ardous tasks, assisting the elderly, and as a replacement for our aging workforce. However, generating a reliable gait for biped robots is challenging, particularly for dynamic gait and in the presence of unknown external disturbances, such as a bump from someone walking by. In this work, a 3D formulation of the Foot Placement Estimator is used with a high-level control strategy to achieve a dynamic gait capable of handling external disturbances. A key benefit of this approach is that the robot is able to respond in real time to external disturbances regardless of whether it is at rest or in motion. This strategy is implemented in simulation to control a 14-DOF lower-body humanoid robot being subjected to unknown external forces, both when at rest and while walking, and shown to generate stabilizing stepping actions. I. I NTRODUCTION In the realm of humanoid robotics, one of the major chal- lenges is the ability for bipedal robots to maintain balance during gait. This is especially difficult when the biped is subject to some form of external disturbance, which may move it away from any precomputed trajectories or planned motions. This problem is of critical importance if bipeds are to be useful as part of our regular daily lives, where they may experience random external disturbances frequently. Currently, a number of different approaches exist when generating and carrying out biped gait, with the vast majority using the Zero Moment Point (ZMP) [1] as a control refer- ence to generate trajectories either offline [2] or online [3]. The desired ZMP trajectory can be modified in response to external disturbances [4]. The ZMP is the Center of Pressure (COP) of a biped: the point within the convex support polygon at which the vertical ground reaction force acts [5]. Although it is used in many humanoid control applications, the ZMP is only useful and valid when a robot is statically stable, leading to a reliance on a static gait, where the biped is able to stop at any time during the gait cycle without falling over. This requires the introduction of measures of stability, such as the Foot Rotation Indicator [5], to measure the level of stability and attempt to maintain it continuously. In this work, the ZMP (referred to hereafter as the COP) is used only during static portions of dynamic gait generation. An alternative formulation to the gait generation problem is to focus on where the robot needs to step next to restore balance. An example of this approach is the instantaneous *This work was supported by the Natural Sciences and Engineering Research Council and the Ontario Graduate Scholarship Program. Brandon J DeHart and Dana Kuli´ c are with the Department of Elec- trical & Computer Engineering, University of Waterloo, Ontario, Canada {bjdehart, dana.kulic}@uwaterloo.ca Capture Point [6], and a later extension to the Capturability regions [7], [8]. For a hopping or running robot, energy conservation can be used to find a desired foot placement [9]. Another approach in this vein is the Foot Placement Estimator (FPE), originally proposed in [10], and extended in [11]–[14]. The FPE is a point on the ground where a biped would place a swinging foot in order to come to rest above that point, having converted all of its kinetic energy into potential energy. The FPE is computed using the conservation of angular momentum, finding the location where the total energy of the biped after swing foot impact is equal to the peak potential energy. The ’Capture’ methods use the 3D Linear Inverted Pendulum Model [15], which assumes that the Center of Mass (COM) of the biped remains at a fixed height and the impact of foot placement does not affect the COM position and velocity. The errors introduced by these assumptions must be actively controlled, requiring a more complex control strategy than the approach in this work based on the FPE and its extensions. Both the 2D FPE [10] and the Foot Placement Indicator (FPI) [11] are only defined for planar bipeds, with the FPI including the dynamics of articulated legs to extend the original single point mass model of the 2D FPE. The other three extensions of the 2D FPE are all developed in 3D, each with a different approach. A fixed plane is chosen, requiring separate out-of-plane control of balance, in [12]. In [13], the ”3D FPE” is defined, based on an ”Euler pendulum” monoped model with a disc foot, such that their model is a direct 3D extension of the planar compass biped in [10]. Finally, [14] defines the Generalized FPE (GFPE) using a rimless spoked wheel model, which includes interesting predictive aspects and can handle non-level ground, but is only used to recover from external disturbances while at rest with no discussion of its use while walking. In this work, the methods in [13] to calculate the 3D FPE are used to determine the FPE point for a 14-DOF lower-body humanoid robot. This point is then used as a control reference to inform both a high-level state machine and its associated task-level trajectory generator. The task- level trajectories are used as control inputs to a prioritized Jacobian-based feedback loop [12] and a simple low-level PD joint controller to drive a simulated robot. The goal of this overall control strategy is to allow the robot to respond directly to external disturbances by stepping onto the FPE, either while standing still or walking. One of the key benefits of this strategy is that recovery from external disturbances is simply a subset of the elements required for dynamic gait. To walk, the robot needs only to push itself