## Abstract

To achieve walking and push recovery successfully, a biped robot must be able to determine if it can maintain its current contact configuration or transition into another one without falling. In this study, the ability of a humanoid robot to maintain single support (SS) or double support (DS) contact and to achieve a step are represented by balanced and steppable regions, respectively, as proposed partitions of an augmented center-of-mass-state space. These regions are constructed with an optimization method that incorporates full-order system dynamics, system properties such as kinematic and actuation limits, and contact interactions with the environment in the two-dimensional sagittal plane. The SS balanced, DS balanced, and steppable regions are obtained for both experimental and simulated walking trajectories of the robot with and without the swing foot velocity constraint to evaluate the contribution of the swing leg momentum. A comparative analysis against one-step capturability, the ability of a biped to come to a stop after one step, demonstrates that the computed steppable region significantly exceeds the one-step capturability of an equivalent reduced-order model. The use of balanced regions to characterize the full balance capability criteria of the system and benchmark controllers is demonstrated with three push recovery controllers. The implemented hip–knee–ankle controller resulted in improved stabilization with respect to decreased foot tipping and time required to balance, relative to an existing hip–ankle controller and a gyro balance feedback controller.

## 1 Introduction

In comparison to non-legged robots, biped robots are able to perform a greater selection of tasks with increased versatility, such as navigating uneven terrain. However, the improved versatility provided by legs also introduces inherent instability into these systems. In addition, the combination of underactuated dynamics, high dimensionality, and mechanical redundancies in humanoid robots present additional challenges when designing balance controllers to stabilize their motion [1].

The notion of stability appears in various forms across a broad range of disciplines, ranging from structural [2,3] to dynamic [4] and control [5] stability. In this article, stability refers to the maintenance and recovery (or loss) of balance in a legged, specifically biped, system. It should be noted that, for example, an unstable controller does not always lead to the loss of balance of a biped robot, while a loss of balance may still result from a stable controller.

Simple proxies are often used as fall detection criteria in humanoid robots. These include upper body angular kinematics [6], center of mass (COM) acceleration [7], angular momentum [8], orbital energy [9], and other such state variables that can be directly measured or estimated. The goal of maintaining balance is then recast as the goal of keeping the proxy below a specified threshold. While there are analytic approaches to control based on inverted pendulums [10,11], these do not take into account the extremes of the balance capability of a given robot or provide accurate thresholds. At the other end of complexity are data-driven criteria [1214], typically based on machine learning techniques, which encompass empirical data from the real world or a simulation environment, without or accompanying the use of an explicit model.

More rigorous approaches to balance stability that use explicit models of the system to derive the relevant dynamics fall into the broad categories of limit cycle, point-centered, and partition-centered criteria. Limit cycle-based approaches to balance stability derived from nonlinear dynamical systems theory include, e.g., Poincare maps [15], Lyapunov exponents [16], and sensitivity norms [17]. Typically, local stability, i.e., the sensitivity of the biped system in response to infinitesimal perturbations [16], is evaluated for a periodic gait or other specified motions. While these approaches relate to the ability of a controller to track a desired limit cycle or designed trajectory, they do not inform a system's ability to balance itself. In general, the balance stability of a robot subject to non-infinitesimal perturbations must be considered not only for periodic tasks such as walking and running but also for general tasks (e.g., standing push recovery) and aperiodic or nonsteady gait.

### 1.1 Zero-Moment Point and Capture Point.

Point-centered approaches recast the problem of balance stability as keeping a reference point within a defined range corresponding to an existing region. In the case of ground reference points, such as the zero-moment point (ZMP) [18] or its extensions like the foot rotation indicator [18,19], typically the base of support (BOS) of the robot serves as the criterion for dynamic balance. Most such criteria lead to incomplete or inaccurate assessments and are neither necessary nor sufficient conditions for balance [20], because the system's kinematic and actuation limits, response to large perturbations, complete contact constraints, and other relevant physical components are typically not considered in their formulations. For example, when the ZMP criterion is satisfied (i.e., the ZMP is inside the BOS), the motion can still result in other elements of the system coming into contact with the ground (i.e., fallen). Even when the ZMP criterion is not satisfied, e.g., when the ZMP is at the edge of the BOS during foot tipping, the system may or may not be balanced depending on whether the tipped foot returns to full contact with the ground (rebalanced) or rolls over (fallen). Conventional ZMP-based controllers [21] allow a robot to walk without falling, but are overly restrictive in that they rely on feedback control that forces the ZMP to follow a specific planned trajectory mostly within a subset of the BOS selected by the designer, and thus, they do not explore the full range of available state space or even allow the ZMP to explore the complete BOS. These controllers are unable to adapt to an unexpected perturbation by pursuing another trajectory derived from some strategic control policy for active stabilization (i.e., maintaining or recovering balance). When the ZMP (or other reference points) is bounded to lie within the BOS or its subset selected by the designer, that limit does not reflect a fundamental demarcation between the system being balanced or falling. The satisfaction of ZMP at one moment in time merely implies that falling, if it is occurring, has not (yet) led to tipping of the foot. Recent efforts to make advancements in this regard include the mapping of the ZMP criterion to a partition of COM position space [22] and extension of the ZMP to 3D noncoplanar contacts [23].

The capture point is the point on the ground plane where the system can place its foot to bring itself to a complete stop (i.e., full static equilibrium where all joint velocities are zero), and the set of all capture points is the capture region [24]. The instantaneous capture point is such a point if the foot placement is assumed to occur instantaneously (without the effects of swing foot dynamics). In either notion, the stability of the system is determined by whether the point can eventually be brought within the BOS. For the case of the linear inverted pendulum model (LIPM), the instantaneous capture point is equivalent to the ground projection of the divergent component of motion (DCM) [25] and the extrapolated COM [26]. The need for more realistic bounds on the instantaneous capture point has led to the introduction of allowable offsets of the DCM for robust step timing and adjustment at a predefined walking speed [27]. Other variations of the capture point include the 3D extension of the DCM [25] and the corrected capture point, which incorporates a COM offset term to account for modeling error (i.e., non-LIPM effects) and external forces [28].

Reference points are often based on reduced-order models (e.g., LIPM or its variations) due to their computational simplicity that is beneficial within the scope of typical online control (e.g., COM trajectory planning with LIPM). While the use of reduced-order models can suffice for control within a certain limited scope, the few parameters that define these models, such as the total mass and total COM state of the actual system, cannot accurately capture the capabilities and limitations of a given robot. They do not reflect the full attributes of an actual robot's reachability, i.e., the satisfaction of kinematic, dynamic, and actuation limits. For instance, the ranges of motion and actuation limits of various joints in a full-order system cannot be projected into a LIPM with a flywheel.

As a result, the corresponding criteria may be overly restrictive or insufficient and thus require the imposition of additional conditions (e.g., torso tilt angles) to enable a robot to perform a task without falling. For example, robot controllers typically use constant or sinusoidally varying COM height and predetermined foot trajectories to convert walking ZMP trajectories into joint-level motion [6]. The use of task-oriented desired trajectories (e.g., joint, COM, or foot placement) and conditions, along with the associated feedback control efforts, are usually sufficient for fall prevention under manageably small disturbances, but do not encompass the full balance capability of the robot in general tasks and cannot be easily applied to other systems.

### 1.2 Partitioned Space for Stability.

Partition-centered approaches consider stability through the perspective of keeping a point within a derived region of some space, which is often a projection of the system's state space, commonly COM states (positions and velocities) or their extensions [29,30]. One such partition is the viability kernel of a system, the set of all its initial states from which there exists at least one evolution that never results in a failed or nonviable (unbalanced) state [31]. By definition, the state of a humanoid robot is viable (balanced) if and only if it lies within its viability kernel. However, the evaluation of the viability kernel is a computationally intractable problem for typical robots of interest due to the common issues of high dimensionality, nonlinearity, and the redundancy in system dynamics and constraints [24,31]. As an alternative partition-based method, a viable-capture basin can be computed, based not on viability but a similar concept of one-step capturability, defined as the ability of the humanoid robot to arrive at full static equilibrium by taking at most one step [1,24].

The evaluation of capture basins is computationally tractable when approximate centroidal dynamics or equivalent reduced-order models are used as an alternative to the full nonlinear dynamics of the robot. Analytic capture basins have been derived for the LIPM [32], along with necessary conditions for balance of a planar variable-height inverted pendulum with a point foot [33]. Recently, robust walking was demonstrated with a framework based on the capture point for a LIPM [34].

### 1.3 Rationale and Contributions.

Studies of push recovery tend to apply stability criteria more explicitly and extensively, while studies of walking tend to apply stability criteria implicitly and restrictively. Push recovery studies seek to fully explore and exploit a system's balancing capability, testing the extremes of its behavior with few or no priors on what a nominal push recovery motion should look like. Conversely, although walking does require some degree of push recovery, robotic walking control usually begins from a set of nominal motions (e.g., representative step cycles that are tuned or scaled to generate varying gaits) or parameters (e.g., a ZMP trajectory based on a series of pre-planned footsteps), where stability criteria are applied as a guardrail to ensure that a specified gait is stable. The history of humanoid robot locomotion began with conservative gait where the ZMP or the ground projection of the COM is kept close to the centroid of the BOS [35]. With the adoption of new criteria, advanced platforms and controllers for dynamic gait have been developed where the ground projection of the COM is no longer restricted to the BOS [34,3642].

In this article, a framework is established for the bipedal balance stability of the single support (SS) and double support (DS) contact configurations of a humanoid robot and the feasibility of stepping as the contact transitions. The approach is demonstrated for the analysis of walking and push recovery control for the robot in the 2D sagittal plane. Unlike previous methods that rely on reduced-order models [30] or only consider the lower body [43,44], the proposed approach explicitly characterizes and quantifies the full balancing capabilities of a humanoid robot by including the effect of full-order, nonlinear system dynamics, and the system-specific kinematic and actuation limits. The computed stability regions with and without the swing foot velocity constraint are compared to other existing criteria and with results from experiments and simulations, in addition to being used to evaluate existing controllers.

## 2 Definitions and Concepts

The proposed partition is based on mutually exclusive and collectively exhaustive definitions that are consistent with an intuitive sense of balance stability and can be formulated and incorporated into computational algorithms.

For the purpose of this study, a humanoid robot's foot–ground interaction can only be through SS or DS, which are defined by the set of all possible contact points such that exactly one foot and two feet are in contact with the ground, respectively. Building on prior notions [20,24,44], the complete and general definitions of stability states (i.e., points within the partitioned space) used in this study for a given robot and specified current and desired contact configurations (excluding flight phase) are as follows:

• Definition: Balanced state. There exists a (controlled) trajectory starting from the state such that the system does not ever need to alter its contacts.

• Definition: Unbalanced state. All (controlled) trajectories starting from the state will lead to an inevitable change in the system's contacts.

The set of all unbalanced states can be further partitioned into the following states:

• Definition: Steppable state (in SS). There exists a (controlled) trajectory starting from the state, such that the non-stance foot can reach the desired step before an undesired contact is made.

• Definition: Falling state. All (controlled) trajectories starting from the state will lead to an undesired contact before the nonstance foot can reach the desired step in SS or without detaching the existing contacts in DS.

In this study, the term stability region is used to refer to both balanced and steppable (unbalanced) regions. While the whole-body dynamics in this framework includes both joint and Cartesian spaces, the partitioned space is obtained by augmenting the COM states, the dimensionality of which has been shown to be computationally and analytically tractable for both reduced-order [30,45] and lower-body models with joint kinematic and actuation limits [43,44], with the contact status (SS/DS) and relative feet position and velocity (current/desired). Each boundary in this augmented COM-state space is obtained as the set of maximum COM velocities in a desired direction across a range of COM positions, subject to relevant constraints (Fig. 1).

Fig. 1
Fig. 1
Close modal

The boundary of the balanced region is the set of all states with maximum allowable velocity perturbations a humanoid robot can sustain while remaining in a specified contact configuration. The boundary of the steppable region is the set of all maximum allowable velocity perturbations, such that the robot can make a contact transition from the current SS to a DS with a desired step configuration. The magnitude of the allowable velocity perturbation increases as the initial swing foot position approaches the desired step and, in theory, goes to infinity right before the SS to DS transition when the desired step can be made almost instantaneously. The steppable region represents the reachability of the SS to DS transition, a complementary concept to one-step capturability criteria that incorporates effects such as swing leg dynamics, and any kinematic or actuation constraints related to foot placement. By definition, all one-step capturable states must be steppable for a given step length.

A currently balanced SS and DS state can transition to a DS (by stepping) and SS (by intended lifting of a foot) state, respectively, that are either balanced or unbalanced. If the desired transitions occur between two balanced states (e.g., static gait [46] by some humanoid robots that can be halted at any instant without becoming unbalanced), the robot, with possible additional balancing actions, can remain in its original contact configuration at any time during the transition process. Since balanced regions only guarantee the existence of a balanced trajectory, it is possible for a robot to evolve from a balanced to an unbalanced state as a result of its own internal control or external perturbations. It should be noted that the proposed definition also allows for balanced states that avoid a fall only by remaining in a certain motion (e.g., as in a spinning top) and so cannot attain a final static equilibrium.

An unbalanced DS state may result in a fall in DS or transition to a SS state (by unavoidable lifting of a foot) that may be balanced, falling, or steppable. Note that stepping does not always indicate immediate balance recovery. From the steppable state, balance may be recovered (with respect to the new contacts) if the DS state immediately after stepping is within the new contacts’ balanced region. Otherwise, if the DS state immediately after stepping is unbalanced, the aforementioned evaluations can be applied recursively. A robot that is in a falling SS state with respect to some desired step may still be able to make a different step (e.g., with a shorter step length).

## 3 Kinematic and Dynamic Models

The stability boundaries of a DARwIn-OP humanoid robot (ROBOTIS Co., Ltd, Seoul, South Korea) are computed from a series of constrained optimization problems given its state and its current and future (if any) desired contacts. Each optimization problem includes the full-order dynamics of the robot and its interaction with the environment through contact(s). The full-order dynamics is modeled under rigid body assumptions in both the joint and Cartesian spaces. The joint-space dynamics [44] is used for whole-body joint trajectories, the Cartesian-space dynamics is used to formulate the COM states and linear and angular momenta, and both are used to model the contact wrench applied to each foot–ground interaction.

### 3.1 Tree-Structure Robot Model With Floating Base.

The DARwIn-OP humanoid robot is modeled using the Denavit–Hartenberg (DH) convention in the sagittal plane as a planar kinematic tree structure attached to the global reference frame {X, Y} with a floating base at the pelvis. The total degrees-of-freedom (DOFs) of the tree structure include the joint variables {q1, , q11} of the system, which are all in-plane rotational DOFs (flexion/extension), and the additional fictitious joint variables {qf1, qf2, qf3}, which are the two translational and one rotational DOFs, respectively, that represent translation and rotation of the floating base in the sagittal plane (Fig. 2). The tree structure model comprises 5 branches and 12 links. The mass, COM, and inertia tensor of each link are modeled based on data from the manufacturer (ROBOTIS Co., Ltd.) [47]. Under the assumption of full contact, the BOS of each contact spans the full foot length fl. For the case of DS contact, both feet remain in contact with the ground, separated by the step length sldesired, and the DS BOS is the convex hull of both the front and rear feet. The index p = 1, 2 indicates the (stance or swing) foot located at and away from the origin, respectively (Fig. 2).

Fig. 2
Fig. 2
Close modal

Each joint angle limit was directly measured with the motor encoder from its most extreme positions. The joint actuator torque and velocity limits of the robot are modeled based on the performance parameters of the MX-28 servomotor [48], with a refined linear approximation of the torque–speed curve [44]. In each direction, the maximum joint velocity and actuation torque limits are the no-load speed and the stall torque, respectively, where the latter corresponds to continuous operation at zero angular velocity [49].

### 3.2 Resultant Moment for 2D Contact Wrench Distribution in Sagittal Plane.

A complete full-order dynamics in Cartesian space is modeled, which is used in this study for the formulations of the COM-state dynamics, linear and angular momenta, and contact wrenches. The resultant moment Mc about the total COM is equal to the total rate of change of the centroidal angular momentum Hc of the system about the total COM:
$Mc=H˙c=∑k(ρk×mkρ¨k+Ikω˙k+ωk×Ikωk)$
(1)
where dot indicates time-derivative, k is the link index, mk is the link mass, $ρk$ is the link COM position vector with respect to the total system COM, $ωk$ is the link absolute angular velocity, and Ik is the link inertia tensor with respect to the link COM frame. Since the whole-body kinematic structure is represented using the DH convention, the components of $ωk$ and $ω˙k$ can be extracted from the angular velocity matrix $ω~k$ and angular acceleration matrix $ω˙~k$ [50], which are their respective duals, using the following relationships:
$ω~k=R˙kRkT;ω˙~k=R¨kRkT−ω~k2$
(2)
where the rotation matrix Rk and its time-derivatives can be obtained from the first 3 × 3 submatrices of the 4 × 4 homogenous transformation matrix and its time-derivatives, which transform the global reference frame to the kth link local frame and are used for joint-space formulations. The link inertia tensor is obtained from $Ik=RkIk′RkT$, where $Ik′$ is the time-invariant inertia tensor with respect to a local frame, which is attached at the link COM and has the same orientation as the DH local frame of the link, from the manufacturer data.
The time-dependent contact wrenches are computed at each optimization iteration. Each pth contact wrench is applied at rp = (rp,x, rp,y), the X- and Y-position of the center of the pth foot sole, which is coincident with the origin of the local frame of each foot link (Fig. 2). For SS, the contact wrench at the stance foot is computed directly from the COM and centroidal angular momentum dynamics [44]:
$F1,x=mx¨;F1,y=m(y¨+g);M1,z=H˙c,z+xF1,y−yF1,x$
(3)
where $H˙c,z$ is the in-plane (Z) component of $H˙c$; Fp,x, Fp,y, and Mp,z are the friction force, normal force, and ground reaction moment, respectively, applied at rp; m is the total system mass; (x, y) are the COM X- and Y-positions, respectively; and g is the gravitational acceleration as in g = [0, −g].
For DS, the mechanical indeterminacy in the reaction distributions under the no-slip condition is resolved within the optimization problem by using an additional set of optimization variables {α(t), β(t), γ(t)} that determine the relative scaling of the contact wrenches across both feet, as follows [44]:
$F1,x=(2β−1)μF1,y;F1,y=αm(y¨+g);M1,z=F1,y(γ−1/2)fl$
(4)
$F2,x=mx¨−F1,x;F2,y=(1−α)m(y¨+g);M2,z=H˙c,z−(sldesired−x)F2,y−yF2,x+xF1,y−yF1,x−M1,z$
(5)
where μ is the friction coefficient and {α(t), β(t), γ(t)} are normalized variables within the interval [0,1] that are time-discretized to be determined from optimization.

These Cartesian-space contact wrenches are exerted on the humanoid robot and incorporated into the full-order joint-space dynamics. This approach allows for the mutual dynamic (time-varying) interactions between the whole-body motion and the contact wrenches while addressing the problem of mechanical indeterminacy. Furthermore, the combination of the two distinct formulations (recursive Lagrangian for joint space and Newton–Euler for Cartesian space) of dynamics allows for rigorous evaluation of the accuracy of the dynamic model and the associated computations. Accurate computations of the contact wrenches will result in floating-base forces and torques that are zero or within a numerical tolerance ɛ, which is used to monitor the errors in the computations.

## 4 Optimization Problems Formulation

The stability boundaries are evaluated over a partitioned space of augmented system states. For fore-aft perturbation analysis, the partitioned space is the COM-state space (x, y, $x˙$) augmented by (r2,x, r2,y, $r˙2,x$). The stability boundaries are evaluated over a discretized domain of the system state: the set of points (ix, iy, ir2,x, ir2,y, $ir˙2,x$), where the index i identifies each point. Any method of discretization can be used, such as general schemes (e.g., sampling points on a defined grid) or task-specific schemes (e.g., sampling points along a specific trajectory or within its vicinity) to sample the state space. For the analysis of walking, the discretized points are sampled along the COM and swing foot trajectories during walking. For push recovery, they are sampled from the COM workspace at a constant COM Y-position.

At each discretized point in the partitioned space, the objective of the optimization problem is to maximize the X-component of initial COM velocity $x˙(0)$ in both forward and backward directions, subject to general and partition-specific (balanced or steppable) constraints. In general, COM velocities in any direction may be considered. The general constraints are those related to the system properties, contact interactions with the environment, initial conditions, and boundary conditions that are common for balanced and steppable states. Each discretized point (ix, iy, ir2,x, ir2,y, $ir˙2,x$) in the partitioned space is imposed as initial conditions.
$x(0)=ix;y(0)=iy$
(6)
$r2,x(0)=ir2,x;r2,y(0)=ir2,y$
(7)
$r˙2,x(0)=ir˙2,x$
(8)

### 4.1 General Constraints.

For the construction of the balanced and steppable boundaries, the system-specific and dynamics constraints [44] are imposed over the entire solution time interval [0, T], where T is the terminal time, as follows:
$qLB≤q≤qUB;q˙LB≤q˙≤q˙UB;τLB(q,q˙)≤τ≤τUB(q,q˙)$
(9)
$|τf3|≤ε(floating-base actuation)$
(10)
$|Fp,x|≤μFp,y(friction cone)$
(11)
$Fp,y≥0(unilateral normal contact force)$
(12)
$−fl/2≤Mp,z/Fp,y≤fl/2(individual foot BOS)$
(13)
$Φ1,z(t)=0for∀t(stance foot orientation)$
(14)
$(r1,x(t),r1,y(t))=(0,0)for∀t(stance foot position)$
(15)
where q, $q˙$, and $τ$ are the joint variable, velocity, and actuation torque vectors, respectively; τf3 is the torque of the out-of-plane fictitious rotational DOF of the floating base; ɛ is a numerical tolerance that is either explicitly imposed (for walking) or monitored (for push recovery); and Φp,z is the relative angle between the foot and the ground in the sagittal plane. The upper and lower bounds are indicated by the superscripts UB and LB, respectively. For the SS and DS contact configurations, the constraints are applied for p = 1 and p = 1, 2, respectively. The explicit floating-base actuation limits bound the errors of the inverse dynamics and contact wrench computations, which are sensitive to the numerical tolerances of stance feet kinematic constraints. In addition, according to the proposed definitions of balanced and steppable states, any non-foot contact forces are set to zero at all times.

### 4.2 Partition-Specific Constraints.

The swing foot Y-position is constrained to remain above the ground when generating the SS balanced and steppable boundaries.
(16)
For the steppable boundary, the swing foot orientation is constrained within an allowable range.
(17)
The front stance foot is constrained when generating the DS balanced boundary.
(18)
(19)
The COM and static equilibrium constraints are imposed at t = T as final conditions that represent the corresponding SS or DS balanced states’ reachability for a typical fully actuated robot:
$x(T)=xf;y(T)=yf$
(20)
$x˙(T)=y˙(T)=x¨(T)=y¨(T)=0$
(21)
where xf and yf are the COM X- and Y-positions, respectively, of a specified balanced final pose in SS or DS contact.
For the steppable boundary, the time when the step is made is not known a priori. To determine the time instant when such a condition is satisfied within the framework of the direct collocation scheme in the proposed optimization, an if-else structure is nested in each iteration with the following terminal-time constraints:
$r2,xankle(T)−r1,xankle(0)≥sldesired$
(22)
$r2,yankle(T)−r1,yankle(0)≤0.1m$
(23)
where rp,xankle and rp,yankle are the X- and Y-positions of the swing foot ankle, respectively, which are used instead of rp to avoid extreme ankle angles during optimization. These constraints drive the relative feet position to have at least the desired step length in the desired direction, and their satisfaction within a sufficient T indicates that the desired step can be made before any other undesired contact occurs from a SS unbalanced state. The desired step conditions are evaluated at each time step, and, through the if-else structure within each optimization iteration, all constraints are imposed only until the first time instant, identified as tstep ∈ [0, T], when they are satisfied, i.e., $r2,xankle(tstep)−r1,xankle(0)≥sldesired$ and $r2,yankle(tstep)−r1,yankle(0)≤0.1m$. This approach allows for a flexible solution interval [0, tstep] within the fixed terminal time T that is assigned for the collocation scheme.

### 4.3 Numerical Optimization and Initial Solution Scheme.

The solution to the optimization problem at each discretized point of the partitioned space includes the maximized $x˙(0)$, the corresponding joint kinematic and actuation trajectories, and the time-varying contact wrenches applied at the stance foot/feet over the time interval. The optimization variables in the direct collocation scheme [44] include the control vertices of the third order B-splines that are used to parameterize the joint kinematics and the normalized variables for the contact wrenches. The terminal time is chosen based on numerical experiments. The constrained nonlinear trajectory optimization problems corresponding to the discretized points are solved as a sequence of subproblems by using the sequential quadratic programming algorithm [51]. All the analytical gradients for the cost and constraint functions are implemented into the algorithm.

Each optimization problem for balanced states is solved repeatedly within an initial solution generation algorithm to achieve improved optimality (Algorithm 1). Before optimization, the feasibility of each discretized point is evaluated according to the constraints imposed. The stability region is then generated through multiple rounds of optimization, where the previous optimal or feasible solutions are used as initial solutions to obtain the new ones in the next round. This algorithm was applied to the discretized points of walking trajectories.

## 5 Push Recovery Control

To demonstrate the utility of the computed stability regions with simple push recovery strategies, two existing controllers from prior work and an improved implementation of an existing controller are tested in a simulation environment. The strategies considered include the ankle strategy, which maintains balance only by modulating the center of pressure without directly regulating angular momentum, and the hip strategy, which does both [29,52].

The default balance controller of the DARwIn-OP humanoid robot regulates its torso angular velocity with proportional control by adjusting the knee angle biases $Δq7,10=KP,kneegyroωgyro$ and ankle angle biases $Δq8,11=KP,anklegyroωgyro$, where $KP,kneegyro$ and $KP,anklegyro$ are the proportional gains of the knee and ankle, respectively, and ωgyro is the torso angular velocity measured by an attached gyro sensor [6].

An existing hip–ankle controller was previously implemented for the DARwIn-OP humanoid robot in the simulation environment to respond to large perturbations without stepping [53]. The ankle subcontroller regulates the COM state with PD control by adjusting $Δq8,11=KP,ankleCOMx+KD,ankleCOMx˙$, where $KP,ankleCOM$ and $KD,ankleCOM$ are the proportional and derivative gains, respectively. The hip subcontroller employs a bang-bang-like control strategy that sets the hip angle biases as follows:
$Δq6,9(t)=Δqhipbb{2TH1+TH2−(t−tbb)}/TH2for2TH1≤t−tbb<2TH1+TH2$
(24)
where $Δqhipbb$ is the user-defined maximum value of Δq6,9, tbb is the time when the COM X-velocity reaches a user-defined threshold to trigger the bang-bang control, and 2TH1 and TH2 are the durations of pelvis motion away from and then back to its initial position, respectively [53]. At all other times, the biases are zero.

The hip–knee–ankle controller (Fig. 3) is an improved version of the existing hip–ankle controller that adds proportional control of the knee to assist hip motion for additional stabilization capability. The knee subcontroller adjusts $Δq7,10=KP,kneehip(q6,9desired−q6,9measured)$, where $KP,kneehip$ is the proportional gain, which is approximated from the average hip and knee motion of the optimal solution trajectories of the computed stability regions. The superscripts desired and measured denote the joint angles of the desired final DS pose and measured by the motor encoders, respectively.

Fig. 3
Fig. 3
Close modal

## 6 Experiments and Simulations

Walking experiments were conducted with the DARwIn-OP humanoid robot at an intermediate walking speed of 0.096 m/s [44]. The robot's default gait generation algorithm, walk_tuner (ROBOTIS Co., Ltd.), consists of a walking pattern generator based on coupled sinusoidal trajectories and a gyro balance feedback controller based on a proportional control, where the angle biases of the knee pitch, ankle pitch, hip roll, and ankle roll DOFs are proportional to the torso angular velocity (measured by a gyro sensor) by their respective control gains [6]. Each joint is controlled by PID feedback. All control gains were set to their default values, including the arm swing gains for walking pattern generation. The SS and DS phases were segmented based on sensor data from force sensing resistors embedded in the foot soles of the robot. One representative step cycle, from a complete SS to the following complete DS, was selected from the walking trials. The COM and swing foot trajectories and contact phases were estimated using forward kinematics from the motor encoder data obtained at each DOF. The step length, step duration, step height, and the ratio of DS to SS durations of the selected step cycle were 0.057 m, 0.533 s, 0.03 m, and 0.1, respectively.

The Webots (Cyberbotics Ltd., Switzerland) simulation environment was used to obtain a walking trajectory with the same gait parameters as those of the walking experiment. Due to differences between the experiment and simulation setups, the step length of the simulated trajectory was slightly adjusted to 0.054 m. Perturbation experiments were also conducted in simulations to test the push recovery capability of the evaluated controllers in response to forward velocity perturbations from an upright DS pose without stepping. To simulate only sagittal planar dynamics, self-collision was disabled, the lateral widths of the bounding objects of the feet were increased, and large torque limits and zero velocity limits were imposed on out-of-plane DOFs (e.g., hip roll and ankle roll) such that lateral stability was not a concern. The step length, controller step time, $KP,kneegyro$, $KP,anklegyro$, $KP,ankleCOM$, $KD,ankleCOM$, $Δqhipbb$, 2TH1, TH2, and $KP,kneehip$ were 0.057 m, 8 ms, 0.25, 0.75, 0, 0.2, 40 deg, 0.3 s, 0.3 s, and 0.5, respectively. All gains except for $KP,kneehip$ were tuned manually.

## 7 Results and Discussion

Stability regions are constructed for the analysis of both experimental and simulated walking trajectories and the comparison of the three push recovery controllers tested. In this study, only the X-components of COM-state space are considered. The SS balanced and steppable (only for forward perturbations) regions and DS balanced regions for walking were obtained for the SS and DS phases of gait, respectively. The experimental walking COM trajectory was sampled at equally spaced COM X-positions to obtain the discretized domain for the space partitions. The DS balanced region for push recovery was obtained at all COM X-positions corresponding to the sldesired and constant COM Y-position of 0.057 m and 0.2081 m, respectively. When computing the regions, ɛ ranged from 0.01 to 0.2 Nm. Comparative analyses with other balance criteria such as the instantaneous capture velocity, ZMP, and upper body tilt angle are also presented.

### 7.1 Walking Trajectory Analysis.

The contribution of the linear and angular momenta of the swing leg, which is critical in balancing during SS, is confirmed by the reduction in the area of the SS balanced region when the constraint on initial swing foot velocity $r˙2,x(0)$ is imposed (Fig. 4). Constraining $r˙2,x(0)$ to match that of the walking trajectory leads to a more reasonable estimate of the balanced states during gait. The reduction in the backward and forward COM X-velocities is greatest during the beginning and end of SS, respectively, when the COM X-velocity direction and the swing leg position relative to the stance leg (backward or forward) are the same.

Fig. 4
Fig. 4
Close modal

The computed stability regions are compared with one-step capturability [24] (Fig. 4) using the instantaneous capture velocity $x˙cap=(sldesired+fl/2−x)g/y$, which is based on the instantaneous capture point of the LIPM representing the humanoid robot. The velocity corresponds to when the X-position of the instantaneous capture point is coincident with the leading edge of the desired DS BOS (sldesired + fl/2; Fig. 2). The boundary is an approximation of the maximum capability of the system to capture itself within one step. The instantaneous capture velocity decreases as the COM X-position increases and goes to zero as the COM X-position approaches sldesired + fl/2. The situation of this boundary between those of the balanced and steppable regions is physically plausible from the respective definitions of the proposed and existing concepts and indicates their validity. When the COM X-position is at the instantaneous capture point, an infinitesimal forward velocity perturbation will cause the equivalent LIPM to become unbalanced [30]. It should be noted that the LIPM does not take into account the actual system's kinematic and actuation limits or swing leg dynamics.

The steppable boundary velocity increases with increasing COM X-position because the reachability of the step length is greater when the swing foot position nears the final footstep location (Fig. 4). The comparative analysis with capturability also demonstrates that the computed steppable region significantly exceeds the instantaneous capture velocity boundary. This combined analysis integrates the reachability information provided by the steppable region with the capturability of an approximate equivalent reduced-order model to provide a fuller picture of the entire system that cannot be obtained with either component alone.

The DS balanced region lies almost entirely within the instantaneous capture velocity boundary. At the end of the walking COM trajectory, the two boundaries are similar, suggesting that the reduced-order model approximates the full-order system well with respect to comparing balance stability and one-step capturability at that point.

The location of the different balanced regions relative to each other, such as the discontinuity between the SS and DS balanced regions at the SS to DS transition, offer potential insights into the range of possible gaits in response to forward perturbations that increase the COM X-velocity.

Although both the simulation and walking experiments used the same gait parameters, the different dynamics of the simulation environment and the real world led to different COM trajectories (Fig. 5). In the simulation, the COM X-position was shifted forward and the COM Y-position variation was reduced relative to that of the real world. Despite these differences, both trajectories have similar SS balanced regions over their overlapping range of COM X-positions.

Fig. 5
Fig. 5
Close modal

### 7.2 Comparison of Push Recovery Controllers.

Both the hip–ankle and hip–knee–ankle controllers recovered from larger force perturbations than did the gyro balance feedback controller (Fig. 6). While the additional knee motion of the hip–knee–ankle controller did not increase its balance capability in terms of sustaining larger perturbations, it reduced both the balancing time, defined as the time elapsed for $x˙$ to reach 5% of its post-perturbation magnitude, and the tipping of the stance feet relative to the ground. For the 115-N perturbation, the balancing time and maximum foot tipping angle were 1.66 s and 13.98 deg, respectively, for the hip–ankle controller and 0.96 s and 0.000024 deg, respectively, for the hip–knee–ankle controller. For the 115-N perturbation with the gyro balance feedback controller, the proposed stability region was able to determine that the robot was unbalanced before other criteria, such as the violation of the ZMP criterion and the onset of extreme upper body tilt angles, could detect the fall (Fig. 7).

Fig. 6
Fig. 6
Close modal
Fig. 7
Fig. 7
Close modal

Other than the gyro balance feedback controller, the push recovery controllers were able to reach states near but not beyond the stability region boundary. These results demonstrate that the stability regions characterize the full balance capability of the system and can be used to benchmark controllers. Typically, individual controllers cannot approach the boundary because of the extreme nature of the optimal trajectory solutions that correspond to the maximized (or minimized) initial COM X-velocities. However, the trajectories shown were able to do so because the simulation allowed for a limited degree of foot tipping while the computation of the balanced regions did not, due to the assumption of complete and full contact for both feet.

## 8 Conclusions

The proposed stability regions were computed with the consideration of full-order system dynamics, capabilities, and limitations in the sagittal plane. The regions obtained for walking were used to confirm and assess the contribution of swing leg momentum to balancing, and demonstrated that the steppable region significantly exceeds the instantaneous capture velocity boundary. The use of stability regions to represent the complete balance capability of a humanoid robot and to benchmark controllers was demonstrated for simple push recovery controllers. The computed stability regions also identified falling states earlier than did other criteria, such as the ZMP and torso tilt angle profile. While the addition of a knee subcontroller to an existing hip–ankle controller did not expand the balance capability of the robot, it improved balance performance by reducing balancing time and foot tipping.

## Acknowledgment

This work was supported in part by the U.S. National Science Foundation (CMMI-1436636 and IIS-1427193). The authors would like to thank Hyun Seok Shin for his help in data acquisition and processing.

## Conflict of Interest

There are no conflicts of interest.

## Data Availability Statement

The datasets generated and supporting the findings of this article are obtainable from the corresponding author upon reasonable request. The authors attest that all data for this study are included in the paper.

## References

1.
Zaytsev
,
P.
,
Wolfslag
,
W.
, and
Ruina
,
A.
,
2018
, “
The Boundaries of Walking Stability: Viability and Controllability of Simple Models
,”
IEEE Trans. Rob.
,
34
(
2
), pp.
336
352
.
2.
Beer
,
F. P.
,
Johnston
,
E. R.
, Jr.
,
Mazurek
,
D. F.
, and
Eisenberg
,
E.
,
2009
,
Vector Mechanics for Engineers: Statics
, 9th ed.,
McGraw-Hill Science/Engineering/Math
,
New York
.
3.
Crandall
,
S. H.
,
Dahl
,
N. C.
, and
Lardner
,
T. J.
,
1999
,
An Introduction to the Mechanics of Solids: Second Edition With SI Units
, 2nd ed.,
McGraw-Hill Science/Engineering/Math
,
New York
.
4.
Greenwood
,
D. T.
,
1988
,
Principles of Dynamics
, 2nd ed.,
Prentice Hall
,
NJ
.
5.
Ogata
,
K.
,
2001
,
Modern Control Engineering
, 4th ed.,
Prentice Hall
.
6.
Ha
,
I.
,
Tamura
,
Y.
, and
Asama
,
H.
,
2011
, “
Gait Pattern Generation and Stabilization for Humanoid Robot Based on Coupled Oscillators
,”
Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems
,
San Francisco, CA
,
Sept. 25–30
, pp.
3207
3212
.
7.
Fujimoto
,
M.
, and
Chou
,
L. S.
,
2012
, “
Dynamic Balance Control During Sit-to-Stand Movement: An Examination With the Center of Mass Acceleration
,”
J. Biomech.
,
45
(
3
), pp.
543
548
.
8.
Goswami
,
A.
, and
Kallem
,
V.
,
2004
, “
Rate of Change of Angular Momentum and Balance Maintenance of Biped Robots
,”
IEEE International Conference on Robotics and Automation
,
New Orleans, LA
,
Apr. 26–May 1
, pp.
3785
3790
.
9.
Wang
,
S.
, and
Hauser
,
K.
,
2018
, “
Realization of a Real-Time Optimal Control Strategy to Stabilize a Falling Humanoid Robot With Hand Contact
,”
IEEE International Conference on Robotics and Automation
,
Brisbane, QLD, Australia
,
May 21–25
, pp.
3092
3098
.
10.
Featherstone
,
R.
,
2017
, “
A Simple Model of Balancing in the Plane and a Simple Preview Balance Controller
,”
Int. J. Rob. Res.
,
36
(
13–14
), pp.
1489
1507
.
11.
Driessen
,
J. J. M.
,
Gkikakis
,
A. E.
,
Featherstone
,
R.
, and
Singh
,
B. R. P.
,
2019
, “
Experimental Demonstration of High-Performance Robotic Balancing
,”
IEEE International Conference on Robotics and Automation
,
Montreal, QC
,
May 20–24
, pp.
9459
9465
.
12.
Yi
,
S.-J.
,
Zhang
,
B.-T.
,
Hong
,
D.
, and
Lee
,
D. D.
,
2011
, “
Learning Full Body Push Recovery Control for Small Humanoid Robots
,”
2011 IEEE International Conference on Robotics and Automation
,
Shanghai, China
,
May 9–13
, pp.
2047
2052
.
13.
Yi
,
S.-J.
,
Zhang
,
B.-T.
,
Hong
,
D.
, and
Lee
,
D. D.
, “
Whole-Body Balancing Walk Controller for Position Controlled Humanoid Robots
,”
Int. J. Humanoid Robot.
,
13
(
1
), pp.
1650011/1
1650011/28
.
14.
Yi
,
S.-J.
,
Zhang
,
B.-T.
,
Hong
,
D.
, and
Lee
,
D. D.
,
2011
, “
Practical Bipedal Walking Control on Uneven Terrain Using Surface Learning and Push Recovery
,”
Proceedings of the IEEE International Conference on Intelligent Robots and Systems
,
San Francisco, CA
,
Sept. 25–30
, pp.
3963
3968
.
15.
Hurmuzlu
,
Y.
, and
Basdogan
,
C.
,
1994
, “
On the Measurement of Dynamic Stability of Human Locomotion
,”
ASME J. Biomech. Eng.
,
116
(
1
), pp.
30
36
.
16.
Dingwell
,
J. B.
,
Cusumano
,
J. P.
,
,
D.
, and
Cavanagh
,
P. R.
,
2000
, “
Slower Speeds in Patients With Diabetic Neuropathy Lead to Improved Local Dynamic Stability of Continuous Overground Walking
,”
J. Biomech.
,
33
(
10
), pp.
1269
1277
.
17.
Hobbelen
,
D. G.
, and
Wisse
,
M.
,
2007
, “
A Disturbance Rejection Measure for Limit Cycle Walkers: The Gait Sensitivity Norm
,”
IEEE Trans. Robot.
,
23
(
6
), pp.
1213
1224
.
18.
Vukobratović
,
M.
, and
Borovac
,
B.
,
2004
, “
Zero-Moment Point—Thirty Five Years of Its Life
,”
Int. J. Humanoid Robot.
,
1
(
1
), pp.
157
173
.
19.
Hirukawa
,
H.
,
Hattori
,
S.
,
,
K.
,
Kajita
,
S.
,
Kaneko
,
K.
,
Kanehiro
,
F.
,
Fujiwara
,
K.
, and
Morisawa
,
M.
,
2006
, “
A Universal Stability Criterion of the Foot Contact of Legged Robots-Adios ZMP
,”
Proceedings 2006 IEEE International Conference on Robotics and Automation, 2006. ICRA 2006
,
Orlando, FL
,
Sept. 14–19
, pp.
1976
1983
.
20.
Pratt
,
J. E.
, and
Tedrake
,
R.
,
2006
, “Chapter: Velocity-Based Stability Margins for Fast Bipedal Walking,”
Fast Motions in Biomechanics and Robotics Lecture Notes in Control and Information Sciences
,
M.
Diehl
and
K.
Mombaur
,
Springer
,
Berlin/Heidelberg
, pp.
299
324
.
21.
Kajita
,
S.
,
Kanehiro
,
F.
,
Kaneko
,
K.
,
Fujiwara
,
K.
,
,
K.
,
Yokoi
,
K.
, and
Hirukawa
,
H.
,
2003
, “
Biped Walking Pattern Generation by Using Preview Control of Zero-Moment Point
,”
IEEE International Conference on Robotics and Automation
,
Taipei, Taiwan
,
Sept. 14–19
, Vol.
2
, pp.
1620
1626
.
22.
Kim
,
J. H.
,
Lee
,
J.
, and
Oh
,
Y.
,
2018
, “
A Theoretical Framework for Stability Regions for Standing Balance of Humanoids Based on Their LIPM Treatment
,”
IEEE Trans. Syst. Man, Cybern. Syst.
,
50
(
11
), pp.
1
18
.
23.
Caron
,
S.
,
Pham
,
Q.-C.
, and
Nakamura
,
Y.
,
2017
, “
ZMP Support Areas for Multi-Contact Mobility Under Frictional Constraints
,”
IEEE Trans. Robot.
,
33
(
1
), pp.
67
80
.
24.
Koolen
,
T.
,
De Boer
,
T.
,
Rebula
,
J.
,
Goswami
,
A.
, and
Pratt
,
J.
, “
Capturability-Based Analysis and Control of Legged Locomotion, Part 1: Theory and Application to Three Simple Gait Models
,”
Int. J. Robot. Res.
,
31
(
9
), pp.
1094
1113
.
25.
Englsberger
,
J.
,
Ott
,
C.
, and
Albu-Schäffer
,
A.
,
2015
, “
Three-Dimensional Bipedal Walking Control Based on Divergent Component of Motion
,”
IEEE Trans. Robot.
,
31
(
2
), pp.
355
368
.
26.
Hof
,
A. L.
,
2008
, “
The ‘Extrapolated Center of Mass’ Concept Suggests a Simple Control of Balance in Walking
,”
Hum. Mov. Sci.
,
27
(
1
), pp.
112
125
.
27.
,
M.
,
Herzog
,
A.
,
Moosavian
,
S. A. A.
, and
Righetti
,
L.
,
2016
, “
Step Timing Adjustment: A Step Toward Generating Robust Gaits
,”
IEEE-RAS International Conference on Humanoid Robots
,
Cancun, Mexico
,
Nov. 15–17
, pp.
35
42
.
28.
Xinjilefu
,
X.
,
Feng
,
S.
, and
Atkeson
,
C. G.
,
2015
, “
Center of Mass Estimator for Humanoids and Its Application in Modelling Error Compensation, Fall Detection and Prevention
,”
IEEE-RAS International Conference on Humanoid Robots
,
Seoul, South Korea
,
Nov. 3–5
, pp.
67
73
.
29.
Stephens
,
B.
,
2007
, “
Humanoid Push Recovery
,”
7th IEEE-RAS International Conference on Humanoid Robots
,
Pittsburgh, PA
,
Nov. 29–Dec. 1
, pp.
589
595
.
30.
Mummolo
,
C.
,
Mangialardi
,
L.
, and
Kim
,
J. H.
,
2017
, “
Numerical Estimation of Balanced and Falling States for Constrained Legged Systems
,”
J. Nonlinear Sci.
,
27
(
4
), pp.
1291
1323
.
31.
Wieber
,
P. B.
,
2002
, “
On the Stability of Walking Systems
,”
Proceedings of the International Workshop on Humanoid and Human Friendly Robotics
,
Tsukuba, Japan
.
32.
Lanari
,
L.
,
Hutchinson
,
S.
, and
Marchionni
,
L.
,
2014
, “
Boundedness Issues in Planning of Locomotion Trajectories for Biped Robots
,”
Proceedings of the 14th IEEE-RAS International Conference on Humanoid Robots (Humanoids)
,
,
Nov. 18–20
, pp.
951
958
.
33.
Koolen
,
T.
,
Posa
,
M.
, and
Tedrake
,
R.
,
2016
, “
Balance Control Using Center of Mass Height Variation: Limitations Imposed by Unilateral Contact
,”
Proceedings of the 2016 IEEE-RAS 16th International Conference on Humanoid Robots (Humanoids)
,
Cancun, Mexico
,
Nov. 15–17
, pp.
8
15
.
34.
Missura
,
M.
,
Bennewitz
,
M.
, and
Behnke
,
S.
, “
Capture Steps: Robust Walking for Humanoid Robots
,”
Int. J. Humanoid Robot.
,
16
(
6
), pp.
1
28
.
35.
Stephens
,
B. J.
, and
Atkeson
,
C. G.
,
2010
, “
Push Recovery by Stepping for Humanoid Robots With Force Controlled Joints
,”
10th IEEE-RAS International Conference on Humanoid Robots
,
Nashville, TN
,
Dec. 6–8
, pp.
52
59
.
36.
Feng
,
S.
,
Xinjilefu
,
X.
,
Atkeson
,
C. G.
, and
Kim
,
J.
,
2016
, “
Robust Dynamic Walking Using Online Foot Step Optimization
,”
IEEE International Conference on Intelligent Robots and Systems
,
Daejeon, South Korea
,
Oct. 9–14
, pp.
5373
5378
.
37.
Reher
,
J.
,
Cousineau
,
E. A.
,
Hereid
,
A.
,
Hubicki
,
C. M.
, and
Ames
,
A. D.
,
2016
, “
Realizing Dynamic and Efficient Bipedal Locomotion on the Humanoid Robot DURUS
,”
IEEE International Conference on Robotics and Automation
,
Stockholm, Sweden
,
May 16–21
, pp.
1794
1801
.
38.
,
N. A.
,
Strawser
,
P.
,
Hambuchen
,
K.
,
Mehling
,
J. S.
,
Verdeyen
,
W. K.
,
Donnan
,
A. S.
,
Holley
,
J.
,
Sanchez
,
J.
,
Nguyen
,
V.
,
Bridgwater
,
L.
,
Berka
,
R.
,
Ambrose
,
R.
,
Myles Markee
,
M.
,
Fraser-Chanpong
,
N. J.
,
McQuin
,
C.
,
Yamokoski
,
J. D.
,
Hart
,
S.
,
Guo
,
R.
,
Parsons
,
A.
,
Wightman
,
B.
,
Dinh
,
P.
,
Ames
,
B.
,
Blakely
,
C.
,
Edmondson
,
C.
,
Sommers
,
B.
,
Rea
,
R.
,
Tobler
,
C.
,
Bibby
,
H.
,
Howard
,
B.
,
Niu
,
L.
,
Lee
,
A.
,
Conover
,
M.
,
Truong
,
L.
,
Reed
,
R.
,
Chesney
,
D.
,
Platt
,
R.
,
Johnson
,
G.
,
Fok
,
C.-L.
,
Paine
,
N.
,
Sentis
,
L.
,
Cousineau
,
E.
,
Sinnet
,
R.
,
Lack
,
J.
,
Powell
,
M.
,
Morris
,
B.
,
Ames
,
A.
, and
Akinyode
,
J.
,
2015
, “
Valkyrie: NASA’s First Bipedal Humanoid Robot
,”
J. F. Robot.
,
32
(
3
), pp.
397
419
.
39.
Reher
,
J.
,
Ma
,
W. L.
, and
Ames
,
A. D.
,
2019
, “
Dynamic Walking With Compliance on a Cassie Bipedal Robot
,”
2019 18th European Control Conference, ECC 2019
,
Naples, Italy
,
June 25–28
, pp.
2589
2595
.
40.
Hubicki
,
C.
,
Abate
,
A.
,
Clary
,
P.
,
,
S.
,
Jones
,
M.
,
Peekema
,
A.
,
Van Why
,
J.
,
Domres
,
R.
,
Wu
,
A.
,
Martin
,
W.
,
Geyer
,
H.
, and
Hurst
,
J.
,
2018
, “
Walking and Running With Passive Compliance
,”
IEEE Robot. Autom. Mag.
,
25
(
3
), pp.
23
29
.
41.
Kim
,
D.
,
Jorgensen
,
S. J.
,
Lee
,
J.
,
Ahn
,
J.
,
Luo
,
J.
, and
Sentis
,
L.
,
2020
, “
Dynamic Locomotion for Passive-Ankle Biped Robots and Humanoids Using Whole-Body Locomotion Control
,”
Int. J. Rob. Res.
,
39
(
8
), pp.
936
956
.
42.
Hurst
,
J.
,
2019
, “
Walk This way: To Be Useful Around People, Robots Need to Learn How to Move Like We Do
,”
IEEE Spectr.
,
56
(
3
), pp.
30
51
.
43.
Mummolo
,
C.
,
Peng
,
W. Z.
,
Agarwal
,
S.
,
Griffin
,
R.
,
Neuhaus
,
P. D.
, and
Kim
,
J. H.
,
2018
, “
Stability of Mina V2 for Robot-Assisted Balance and Locomotion
,”
Front. Neurorobot.
,
12
(
1
), pp.
1
16
.
44.
Mummolo
,
C.
,
Peng
,
W. Z.
,
Gonzalez
,
C.
, and
Kim
,
J. H.
,
2018
, “
Contact-Dependent Balance Stability of Biped Robots
,”
J. Mech. Robot.
,
10
(
1
), pp.
1
13
.
45.
Mummolo
,
C.
,
Mangialardi
,
L.
, and
Kim
,
J. H.
,
2015
, “
Identification of Balanced States for Multi-Segmental Legged Robots Using Reduced-Order Model
,”
Proceedings of 15th IEEE-RAS International Conference on Humanoid Robots
,
Seoul, Korea
,
Nov. 3–5
, pp.
914
919
.
46.
Mummolo
,
C.
, and
Kim
,
J. H.
,
2013
, “
Passive and Dynamic Gait Measures for Biped Mechanism: Formulation and Simulation Analysis
,”
Robotica
,
31
(
4
), pp.
555
572
.
47.
Robotis
, “ROBOTIS-OP (a.k.a. DARWIN-OP) project,” Sourceforge Project, https://sourceforge.net/projects/darwinop/, Accessed January 30, 2018.
48.
Robotis
, “ROBOTIS e-Manual v1.31.01,” http://support.robotis.com/en/product/actuator/dynamixel/mx_series/mx-28at_ar.htm, Accessed March 9, 2017.
49.
Tong
,
W.
,
2014
, “Introduction to Electric Motors,”
Mechanical Design of Electric Motors
,
CRC Press
,
Boca Raton, FL
, pp.
1
82
.
50.
Haug
,
E. J.
,
1989
,
Computer-Aided Kinematics and Dynamics of Mechanical Systems, Vol. I: Basic Methods
,
Allyn and Bacon
,
Boston, MA
.
51.
Gill
,
P. E.
,
Murray
,
W.
, and
Saunders
,
M. A.
,
2002
, “
SNOPT: An SQP Algorithm for Large-Scale Constrained Optimization
,”
SIAM J. Optim.
,
12
(
4
), pp.
979
1006
.
52.
Maki
,
B. E.
, and
McIlroy
,
W. E.
,
1997
, “
The Role of Limb Movements in Maintaining Upright Stance: The ‘Change-in-Support’ Strategy
,”
Phys. Ther.
,
77
(
5
), pp.
488
507
.
53.
Yi
,
S.-J.
,
Zhang
,
B.-T.
,
Hong
,
D.
, and
Lee
,
D. D.
,
2013
, “
Online Learning of Low Dimensional Strategies for High-Level Push Recovery in Bipedal Humanoid Robots
,”
Proceedings of the IEEE International Conference on Robotics and Automation (ICTA)
,
Karlsruhe, Germany
,
May 6–10
, pp.
1649
1655
.