## Abstract

Low-dimensional models are ubiquitous in the bipedal robotics literature. On the one hand is the community of researchers that bases feedback control design on pendulum models selected to capture the center of mass dynamics of the robot during walking. On the other hand is the community that bases feedback control design on virtual constraints, which induce an exact low-dimensional model in the closed-loop system. In the first case, the low-dimensional model is valued for its physical insight and analytical tractability. In the second case, the low-dimensional model is integral to a rigorous analysis of the stability of walking gaits in the full-dimensional model of the robot. This paper seeks to clarify the commonalities and differences in the two perspectives for using low-dimensional models. In the process of doing so, we argue that angular momentum about the contact point is a better indicator of robot state than linear velocity. Concretely, we show that an approximate (pendulum and zero dynamics) model parameterized by angular momentum provides better predictions for foot placement on a physical robot (e.g., legs with mass) than does a related approximate model parameterized in terms of linear velocity. We implement an associated angular-momentum-based controller on Cassie, a 3D robot, and demonstrate high agility and robustness in experiments.

## 1 Introduction

Models of realistic bipedal robots tend to be high-dimensional, hybrid, nonlinear systems. This paper is concerned with two major themes in the literature for “getting around” the analytical and computational obstructions posed by realistic models of bipeds.

On the one hand are the broadly used, simplified pendulum models [1–7] that provide a computationally attractive model for the center of mass dynamics of a robot. When used for control design, the fact that they ignore the remaining dynamics of the robot generally makes it impossible to prove stability properties of the closed-loop system. Despite the lack of analytical backing, the resulting controllers often work in practice when the center of mass is well regulated to match the assumptions underlying the model. Within this context, the dominant low-dimensional pendulum model by far is the so-called linear inverted pendulum model, or LIP model for short, which captures the center of mass dynamics of a real robot correctly when, throughout a step, the following conditions hold: (i) the center of mass (CoM) moves in a straight line and (ii) the robot's angular momentum about the center of mass (*L _{c}*) is zero (or constant). This latter condition can be met by designing a robot to have light legs, such as the Cassie robot by Agility Robotics , or by deliberately regulating

*L*(close) to zero [8]. When

_{c}*L*cannot be regulated to a small value, a model predictive control (MPC) law based on the LIP model has been proposed to minimize zero moment point (ZMP) tracking error and CoM jerk [9–11]. The effects of

_{c}*L*can be compensated with ZMP, making a real robot's CoM dynamics the same as those of a LIP [12]. Alternatively,

_{c}*L*can be approximately predicted and used for planning [5,13].

_{c}On the other hand, the control-centric approach called the hybrid zero dynamics provides a mathematically rigorous gait design and stabilization method for realistic bipedal models [15–22] without restrictions on robot or gait design. In this approach, the links/joints of the robot are synchronized via the imposition of “virtual constraints,” meaning the constraints are achieved through the action of a feedback controller instead of contact forces. As opposed to physical constraints, virtual constraints can be reprogrammed on the fly. Like physical constraints, imposing a set of virtual constraints results in a reduced-dimensional model. The term “zero dynamics” for this reduced dynamics comes from the original work of Ref. [23]. The term “hybrid zero dynamics” or HZD comes from the extension of zero dynamics to (hybrid) robot models in Ref. [24]. A downside of this approach, however, has been that it lacked the “analytical tractability” provided by the pendulum models^{1}, and it requires nontrivial time to find optimal virtual constraints for a realistic model.

While CoM velocity is the most widely used variable “to summarize the state” of a bipedal robot, angular momentum about the contact point has also been valued by multiple researchers. In Ref. [29], angular momentum is chosen to represent a biped's state and it is regulated by stance ankle torque. In Ref. [30], the relative degree of three property of angular momentum motivated its use as a state variable in the zero dynamics. In Refs. [31,32], control laws for robots with an unactuated contact point were proposed to exponentially stabilize them about an equilibrium. In Ref. [20], angular momentum is explicitly used for designing nonholonomic virtual constraints. In Ref. [33], angular momentum is combined with the LIP model to yield a controller that stabilizes the transfer of angular momentum from one leg to the next through continuous-time (single-support phase) control coupled with a hybrid model that captures impacts that occur at foot strike. In Ref. [34], the accuracy of the angular-momentum-based LIP model during the continuous phase is emphasized; as opposed to Ref. [33], angular momentum is allowed to passively evolve according to gravity during each single-support phase, and foot placement is used to regulate the angular momentum at the end of the ensuing step.

### 1.1 Objectives.

The objectives of this paper are twofold. First, we seek to contribute insight on how pendulum models relate among one another and to the dynamics of a physical robot. We demonstrate that even when two pendulum models originate from the same (correct) dynamical principles, the approximations made in different coordinate representations lead to nonequivalent approximations of the dynamics of a (realistic) bipedal robot. Second, we seek a rapprochement of the most common pendulum models and the hybrid zero dynamics of a bipedal robot. Both of these objectives are addressed for planar robot models. The extension to 3D is not attempted here, primarily to keep the arguments as transparent as possible.

The first point that approximations made in different coordinate representations lead to nonequivalent approximations of the dynamics of a real robot is important in practice; hence, we elaborate a bit more here, with details given in Sec. 6. Let us only consider trajectories of a robot where the center of mass height is constant, and therefore, the velocity and acceleration of the center of mass height are both zero. In a realistic robot, the angular momentum about the center of mass, denoted by *L _{c}*, contributes to the longitudinal evolution of the center of mass, though it is routinely dropped in the most commonly used pendulum models. Can dropping

*L*have a larger effect in one simplified model than another?

_{c}In the standard 2D LIP model, the coordinates are taken as the horizontal position and velocity of the center of mass and the time derivative of *L _{c}* is dropped from the differential equation for the velocity. It follows that the term being dropped is a high-pass filtered version of

*L*, due to the derivative. Moreover, the derivative of

_{c}*L*is directly affected by the motor torques, which are typically “noisy” (have high variance) in a realistic robot. On the other hand, in a less frequently used representation of a 2D inverted pendulum [20,33–35], the coordinates are taken as angular momentum about the contact point and the horizontal position of the center of mass, and

_{c}*L*is dropped from the differential equation for the position. In this model,

_{c}*L*(and not $L\u02d9c$) shows up in the second derivative of the angular momentum about the contact point. It follows that variations in

_{c}*L*are low-pass filtered in the second representation as opposed to high-pass filtered in the first, and thus, speaking intuitively, neglecting

_{c}*L*should induce less approximation error in the second model. More quantitative results are shown in the main body of the paper.

_{c}In this paper, we focus on the underactuated single-support phase dynamics and assume an instantaneous double-support phase. The reader is referred to existing literature on how pendulum models [9,36] and hybrid zero dynamics [37–39] handle noninstantaneous double-support phases; the topic is not discussed in this paper. We provide models for a robot with nontrivial feet. While most of the results are demonstrated for robots with point feet, we briefly show that the conclusions we obtained for robots with point feet still apply to robots with nontrivial feet. Further studies of how pendulum models and hybrid zero dynamics handle nontrivial feet can be found in Refs. [9,40–42].

### 1.2 Summary of Main Contributions.

This paper makes the following contributions to pendulum models and zero dynamics:

Starting from a common physically correct set of equations for real robots, we sequentially enumerate the approximations made to arrive at various reduced order pendulum models. This is done for bipedal robots with and without ankle torque.

Several advantages of using angular momentum about the contact point as a key variable to summarize the dynamics of a bipedal robot are discussed and demonstrated.

We show that a pendulum model parameterized by the center of mass horizontal position and angular momentum about the contact point provides a higher fidelity representation of a physical robot than does the standard LIP model, which is a pendulum model parameterized by center of mass horizontal position and velocity. We identify the source of improvement as how the angular momentum about the center of mass is treated in the two models.

For a set of non-holonomic virtual constraints, we derive the zero dynamics in a set of coordinates compatible with an angular-momentum-based pendulum model. We provide a precise sense in which the pendulum model is an approximation to the zero dynamics and demonstrate what this means for closed-loop stability of the full-order robot model.

We formulate a foot placement strategy based on a high fidelity, one-step-ahead prediction of angular momentum about the contact point.

We show that foot placement planned on the basis of angular momentum provides improved speed control over a policy based on the standard LIP model and longitudinal velocity.

We demonstrate experimentally that our proposed controller achieves highly dynamic gaits on a Cassie-series bipedal robot.

The fifth and the last contributions were introduced in Ref. [34] and are used here to demonstrate the utility of the proposed results. We will use both Rabbit [43] and Cassie Blue, shown in Fig. 1, to illustrate the developments in the paper. Experiments will be conducted exclusively on Cassie.

Rabbit is a 2D biped with five links, four actuated joints, and a mass of 32 kg; see Fig. 2. Each leg weighs 10 kg, with 6.8 kg on each thigh and 3.2 kg on each shin. The Cassie robot designed and built by Agility Robotics weighs 32 kg. It has 7 deg of freedom on each leg, 5 of which are actuated by motors and 2 are constrained by springs; see Fig. 2. A floating base model of Cassie has 20 degrees-of-freedom. Each foot of the robot is blade-shaped and provides five holonomic constraints when firmly in contact with the ground. Though each of Cassie's legs has approximately 10 kg of mass, most of the mass is concentrated on the upper part of the leg. In this regard, the mass distribution of Rabbit is more typical of current bipedal robots seen in labs, which is why we include the Rabbit model in the paper.

### 1.3 Organization.

The remainder of the paper is organized as follows: Section 2 introduces the full hybrid model of a bipedal robot with instantaneous double-support phases. It also provides the robot's center of mass dynamics in different coordinates. Section 3 summarizes several desirable properties of angular momentum about contact point. Section 4 goes through the approximations that must be made to the center of mass dynamics in order to arrive at the most popular pendulum models. The approximation errors of the resulting pendulum models are analyzed and compared. Section 5 uses a one-step-ahead prediction of angular momentum to decide foot placement. This provides a feedback controller based on predicted angular momentum that will stabilize a 3D pendulum. Section 6 provides background on a feedback control paradigm based on virtual constraints and the attendant zero dynamics. One of the pendulum models is shown to be a clear approximation to the zero dynamics, and the implications for stability analysis are discussed and illustrated by numerical computation. In Sec. 7, we design the virtual constraints for a Cassie-series bipedal robot. In Sec. 8, we provide our path to implementing the controller on Cassie Blue. Additional virtual constraints are required beyond a path for the swing foot, and we provide “an intuitive” method for their design. Section 9 shows the results of experiments. Conclusion is given in Sec. 10.

## 2 Swing Phase and Hybrid Model

This section introduces the full-dimensional swing-phase model that describes the mechanical model when the robot is supported on one leg and a hybrid representation used for walking that captures the transition of support legs. The section concludes with a summary of a few model properties that are ubiquitous when discussing low-dimensional pendulum models of walking.

### 2.1 Full-Dimensional Single-Support Model.

We assume a planar bipedal robot satisfying the specific assumptions in Ref. [15, Chap. 3.2] and [30], which can be summarized as a revolute point contact with the ground, no slipping, all other joints are independently actuated, and all links are rigid and have mass. The gait is assumed to consist of alternating phases of single-support (one “foot” on the ground), separated by instantaneous double-support phases (both feet in contact with the ground), with the impact between the swing leg and the ground obeying the noncompliant, algebraic contact model in Ref. [44] (see also [15, Chap. 3.2]).

The contact point with the ground, which we refer to as the stance ankle, can be passive or actuated. Even when actuated, the stance ankle is “effectively weak” in the sense that only limited ankle torque can be applied by the motor before the foot rotates about one of its extremities. Of course, the swing ankle torque is not limited by foot rotation and hence it is not “weak.” To accommodate both actuation scenarios, we will routinely separate the stance ankle actuation from other actuators on the robot so that it can be either set to zero or appropriately exploited.

We assume a world frame (*x*, *z*) with the right-hand rule. We assume the swing-phase (pinned) Lagrangian model is derived in coordinates $q:=(q0,q1,\u2026,qn)\u2208Q$, where *q*_{0} is an absolute angle (referenced to the *z*-axis of the world frame) and $qb:=(q1,\u2026,qn)$ are body coordinates^{2}. Furthermore, we reference the contact point (i.e., stance ankle) to the origin of the world frame.

*q*

_{0}is a cyclic variable, meaning that the kinetic energy and the inertia matrix are independent of

*q*

_{0}. It follows that the dynamic model can be expressed in the form

where $x:=(q;q\u02d9)$. The state space of the model is $X=TQ$. For each $x\u2208X$, *g*(*x*) is a $2(n+1)\xd7(n+1)$ matrix when the robot is fully actuated or $2(n+1)\xd7n$ matrix when the robot has one degree of underactuation. In natural coordinates $(q;q\u02d9)$ for $TQ$, *g* is independent of $q\u02d9$.

### 2.2 Full Dimensional Hybrid Model.

In the above, we implicitly assumed left-right symmetry in the robot so that we could avoid the use of two single-support models—one for each leg playing the role of the stance leg—by relabeling the robot's coordinates at impact, thereby swapping their roles. Immediately after swapping, the former swing leg is in contact with the ground and is poised to take on the role of the stance leg.

A detailed derivation of the impact map is given in Ref. [15], showing that it is linear in the generalized velocities.

It is emphasized that the guard condition for resetting the “hybrid time variable,” *τ*, is determined by foot contact.

### 2.3 Center of Mass Dynamics in Single Support.

While Eq. (2) is typically high dimensional and nonlinear, standard mechanics yields simpler equations for the evolution of the center of mass. For succinctness, we only consider the planar case and define the following variables:

$(xc,zc)$: CoM position in the frame of the contact point, which is aligned to the sagittal plane.

$vc$: CoM velocity in

*x*-direction. The velocity in*z*-direction is denoted by $z\u02d9c$$Lc$:

*y*-component of Angular momentum about CoM.*L*:*y*-component of Angular momentum about contact point.*u*: ankle torque at the contact point._{a}

We refer to Eq. (7) as the *angular momentum transfer formula* because it relates angular momentum determined about two different points.^{3}

and we assume that $zc>0$. We will subsequently dedicate Sec. 4 to establishing connections between pendulum models and zero dynamics, which will allow the zero dynamics to be intuitively grounded in physics.

*Case 1:*(

*x*,

_{c}*v*) horizontal position and velocity—differentiating Eq. (7) and using $vc=x\u02d9c$ results in

_{c}In general, *z _{c}* depends on

*q*, $z\u02d9c$ and

*L*depend on both

_{c}*q*and $q\u02d9$. While $L\u02d9c$ and $z\xa8c$ depend on

*q*, $q\u02d9$, and the motor torques

*u*, it is more typical to replace the motor torques by the ground reaction forces. In particular, one uses $z\xa8c=g\u22121mFz$ and $L\u02d9c:=ddtLc=xcFz\u2212zcFx+ua$, where

*F*and

_{x}*F*are the horizontal and vertical components of the ground reaction forces. In turn, the ground reaction forces can be expressed as functions of

_{z}*q*, $q\u02d9$, and the motor torques,

*u*.

*Case 2:*$(xc,L)$ angular momentum and horizontal position—manipulating Eq. (7) and using $L\u02d9=mgxc+ua$ results in

The remarks made above on *z _{c}*, $z\u02d9c$, and

*L*apply here as well.

_{c}*Case 3:*$(\theta c,L)$ alternative absolute angle (cyclic variable)—Differentiating Eq. (8) yields

## 3 Angular Momentum About Contact Point

In this paper, we are focusing on the angular momentum about the contact point, *L*, as a replacement for the center of mass velocity, $vc$, which is used as an indicator of walking status in many other papers [7,22,46,47]. Specific to this paper, *L* is also a state of the zero dynamics. Before we proceed to that, it is beneficial to explain why *L* can replace $vc$, summarize some general properties of *L*, and highlight some of its advantages versus $vc$. More specific advantages of using *L* in the zero dynamics and the LIP model will be discussed in Secs. 4 and 6.

*L*can replace $vc$ as an indicator of walking. The relationship between angular momentum and linear momentum for a bipedal robot in its sagittal plane is

where $Lc$ is the angular momentum about the center of mass, $vc=[vc,\u2009z\u02d9c]$ is the linear velocity of the center of mass, *m* is the total mass of the robot, and $pc=[xc,\u2009zc]$ is the vector emanating from the contact point to the center of mass.

*L*and $pc\u2227mvc$ also oscillates about zero, which we will write as

From Eq. (14), we see that we approximately obtain a desired linear velocity by regulating *L*.^{4} Hence, in walking robots without a flywheel, one can replace the control of linear velocity with control of angular momentum about the contact point.

What are the advantages to using *L*?

The first advantage of controlling

*L*is that it provides a more comprehensive representation of current walking status because it is the sum of angular momentum about the center of mass, $Lc$, and linear momentum, $pc\u2227mvc$; see Fig. 3. From Eq. (9), we see that there exists momentum transfer between these two quantities. If $Lc$ increases, it must “take” some momentum away from $vc$, and vice versa. For normal bipedal walking, $Lc$ oscillates about zero. $Lc$ functions to store momentum [50], but importantly it can only store it for a short amount of time. When designing a foot placement strategy, it is important to take the “stored” momentum into account.When balancing on one foot for example, some researchers plan $Lc$ and $vc$ separately [51], or use $Lc$ as an input to regulate balance by waving the torso, arms, or swing leg [52,53] or even a flywheel [54]. Here, instead of moving limbs to generate a certain value of $Lc$, we view $Lc$ as a result of the legs and torso moving to fulfill other tasks. In this paper, we observe $Lc$ and take it into consideration through

*L*and do not seek to regulate it directly as an independent quantity.- Second, because $L\u02d9=mgxc+ua$ depends only on the CoM position, it follows that
*L*has relative degree three with respect to all inputs except the stance ankle torque, where it has relative degree one. Here, relative degree is the number of times we need to take the time derivative of the output to see the input. For example, when ankle torque is zeroand we know that the (body motor) torques show up in $x\xa8c$; hence$L\u20db=mgx\xa8c$*L*has relative degree three with respect to the motor torques. Consequently, the evolution*L*is only weakly affected by motor torques of the body, that is*u*, during a step. In Figs. 4(a), 4(d), and 5(a) we see that the trajectory of_{b}*L*consistently has a convex shape when stance ankle torque is zero, irrespective of model or speed. We'll see later the same property in experimental data. - The discussion so far has focused on the single-support phase of a walking gait. Bipedal walking is characterized by the transition between left and right legs as they alternately take on the role of stance leg (aka support leg) and swing leg (aka non-stance leg). In double support, the transfer of angular momentum between the two contact points satisfieswhere $p2\u21921$ is the vector from point 2 (the new stance leg position) to point 1 (the previous stance leg position). Hence, the change of angular momentum between two contact points depends only on the vector defined by the two contact points and the center of mass velocity. In particular, angular momentum about a given contact point is invariant under the impulsive force generated at that contact point. Consequently, we can easily determine the angular momentum about the new contact point by Eq. (15) when impact happens without resorting to approximating assumptions about the impact model. Moreover, if $z\u02d9c$ is zero and the ground is level, then $p2\u21921\u2227mvc=0$, and hence(15)$L2=L1+p2\u21921\u2227mvc$
*L*_{2}=*L*_{1}. We note that pendulum models parameterized with CoM velocity often assume continuity at impact, which is not generally true for real robots.

Figure 4 shows the evolution of *L*, *v*_{c}*L*_{c} and $L\u02d9c$ during a step for both Cassie and Rabbit, when walking speed is about 2 m/s, $z\u02d9c=0$, and no stance ankle torque is applied. Figure 5 shows the evolution of *L*, $vc,\u2009Lc$ for Rabbit walking at a range of speeds from −1.8 m/s to 2.0 m/s. Figures 4 and 5 also show the continuity property of *L* at impact.

## 4 Comparison of Approximate Models for Center of Mass Dynamics

Each of the dynamical models (9), (10), and (12) is valid along all trajectories of the full-dimensional model. This section systematically goes through the models in Sec. 2.3 and looks for connections with low-dimensional pendulum models. Subsequently, Sec. 6 makes connections between pendulum models and the zero dynamics.

### 4.1 Constant Pendulum Height.

where $vp=LmH$, which is more directly comparable to Eq. (16). In this paper we frequently plot *L* scaled by the coefficient $1mH$ so that it can be more directly compared to $vc$ (same units and similar magnitudes).

At this point, no approximations have been made and both models are valid everywhere that $zc(q)\u2261H$. Hence, the two models are still *equivalent* representations of the center of mass dynamics for all trajectories satisfying $zc(q)\u2261H$. We'll next argue that the models are not equivalent when it comes to approximations.

This is the well-known LIP model proposed by Kajita and Tani [46].

which is used in Refs. [33,34]. In Ref. [33], Eq. (20) is used instead of Eq. (19) so that the easy “update” property of *L* at impact can be used. In this paper, we demonstrate that during the continuous phase, the states of Eq. (20) much more accurately capture the evolution of $(xc,L)$ in a real robot than the states of Eq. (19) capture the evolution of $(xc,vc)$. Moreover, we will make use of this improved accuracy in the design of a feedback controller. To distinguish the model (20) from (19), we will denote it by ALIP, where A stands for Angular Momentum.

For a robot with a point mass, the two models (19) and (20) are equivalent, because $Lc$ is then identically zero. For a real robot with $Lc$ and $L\u02d9c$ that are non-negligible, however, we argue that Eq. (20) is more accurate than Eq. (19) primarily because of two properties,

Relative amplitude: Based on our observations, the ratio of $L\u02d9c/mgxc$ is much larger than $Lc/L$ over a wide range of walking velocities; thus the simplification (Eq. (20)) introduces relatively less error than Eq. (19).

Relative degree:

*L*has relative degree two with respect to $Lc$ and three with respect to $L\u02d9c$, whereas $vc$ has relative degree one with respect to $L\u02d9c$. Because integration is a form of low-pass filtering, the lower relative degree makes $vc$ more sensitive to the omission of the $Lc$ term.

In Fig. 6, we have used the models (19) and (20) to predict the values of $vc$ and *L* at the end of a step. We plot $LmH$ instead of *L* to make the scale and units comparable. The blue line is the true trajectory of *L* (resp. $vc$) during a step. The red line shows the predicted value of *L* (resp. *v _{c}*) at the end of the step as evaluated instantaneously at each point in time (as it would be by a predictor running online). The red line would be perfectly flat if Eqs. (20) and (19) perfectly captured the evolution of

*L*(resp. $vc$), in the full simulation model, and the flatter the prediction, the more faithful is the representation.

*x*,

_{e}*L*) are the differences in the trajectories of Eqs. (20) and (17); similarly, (

_{e}*x*,

_{e}*v*) are the differences in the trajectories of Eqs. (19) and (16). Direct solution of these two sets of differential equations for zero initial conditions leads to

_{e}Figure 7 shows the (relative) sizes of these error terms.

### 4.2 Simulation Comparison.

We compare controllers designed on the basis of the ALIP and LIP models in simulation. (The controller design is discussed in Sec. 5.) The results shown in Fig. 9 demonstrate the advantage of using ALIP over LIP for controller design. The initial hip velocity is set to 0.5 m/s and hip position is centered over the contact point. The goal of each controller is to regulate $vc$ (resp., *L*) to zero, with foot placement as the decision variable and step duration constant. In the plots, we observe that the ALIP-based controller regulates *L* closely to zero and thus has an average $vc$ close to zero, while the LIP-based controller is unable to regulate $vc$ effectively. The reason is that, at the end of a step, the linear momentum was transferred to centroidal angular momentum $Lc$ due to the movement of Rabbit's heavy legs (see Eq. (18)), resulting in a small $vc$, which misleads the LIP controller into choosing a small foot displacement. In the ALIP model, *L* is less affected by momentum transfer between $vc$ and $Lc$ because *L* captures their sum, and thus the ALIP model suggests better foot placement. Though with a LIP controller it is possible to regulate velocity through ZMP (ankle torque) during continuous phase, we argue that with an ALIP controller, the capability of ZMP can be reserved for better purposes than compensating for model error.

### 4.3 Non-Zero Ankle Torque.

In Secs. 4.1 and 4.2, we have demonstrated the accuracy of a pendulum model parameterized with *L* when ankle torque is zero. According to Eq. (10), the effect of $Lc$ and *u _{a}* on the system are independent due to the superposition property. So if dropping the $Lc$ term has little effect on the model accuracy when

*u*is zero, it should still have little effect on the model accuracy when

_{a}*u*is nonzero. Though the $Lc$ trajectory itself will be changed when

_{a}*u*is nonzero, its pattern is still similar.

_{a}## 5 Stabilizing the ALIP Model

In this section, we provide a means to regulate angular momentum about the contact point to approximately achieve a desired walking speed. Specifically, the ALIP model (20) is used to form a one-step ahead prediction of angular momentum, *L*. In combination with the angular momentum transfer formula (15), a feedback law results for where to place the swing foot at the end of the current step so as to achieve a desired angular momentum at the end of the ensuing step. In robot locomotion, this is typically called “foot placement control” [4,7,55,56].

*L* can also can be controlled through vertical CoM velocity at the end of a step [33], adjusting the step duration [46,57], ankle torque during continuous phase [29], which has a relative degree one relation to *L*, or by other torques applied at the body coordinates during the continuous single-support phase [31,32,58], which have a relative degree three relation to *L*. We summarize these general methods^{5} to regulate *L* in Table 1.

Continuous phase | |
---|---|

Relative degree three | L , _{c}z_{c} |

Relative degree one | u_{a} |

Transition event | |

Initial condition for next continuous phase | $xc(0)$, L(0) |

Phase duration | Step time |

Continuous phase | |
---|---|

Relative degree three | L , _{c}z_{c} |

Relative degree one | u_{a} |

Transition event | |

Initial condition for next continuous phase | $xc(0)$, L(0) |

Phase duration | Step time |

### 5.1 Gait Assumptions.

When designing the foot placement controller, we assume the gait of the robot is controlled such that:

the height of the center of mass is constant, that is $zc\u2261H>0$;

each step has constant duration

*T*> 0; anda desired swing leg horizontal position, $psw\u2192CoMx\u200ades$, can be achieved at the end of the step.

### 5.2 Notation.

We distinguish among the following time instances when specifying the control variables.

*T*is the step time.*T*is the time of the_{k}*k*th impact and thus equals $kT$.$Tk\u2212$ is the end time of step

*k*, so that$Tk+$ is the beginning time of step

*k*+ 1 and $Tk+1\u2212$ is the end time of step*k*+ 1.$(Tk\u2212\u2212t)=(T\u2212\tau (t))$ is the time until the end of step

*k*.

The superscripts + and – on *T _{k}* are necessary because of the (potential) jump in a trajectory's values from the impact map; see Ref. [15]. As shown in Fig. 10, $x(Tk\u2212)$ is the limit from the left of the model's solution at the time of impact, in other words its value “just before” impact, while $x(TK+)$ is the limit from the right of the model's solution at the time of impact, in other words its value “just after” impact.

after noting that Eq. (15) simplifies to *L* being constant across impacts when the ground is level and the vertical velocity of the center of mass is zero.

We remind the reader that:

$pst\u2192CoM,\u2009psw\u2192CoM$ are the vectors emanating from stance/swing foot to the robot's center of mass. The stance foot defines the current contact point, while the swing foot is defining the point of contact for the next impact and is therefore a control variable.

Also, for the implementation of the control law on the 3D biped Cassie in Sec. 7, we need to distinguish between

*L*and*L*, the^{x}*y*and*x*components of the angular momentum (sagittal and frontal planes), respectively.

### 5.3 Foot Placement in Longitudinal Direction.

The control objective will be to place the swing foot at the end of the current step so as to achieve a desired value of angular momentum at the end of the ensuing step. The need to regulate the angular momentum one-step ahead of the current step, instead of during the current step, is because in Eq. (20)*L* is passive when stance ankle torque is set to zero; in other words, it is not affected by the actions of the other actuators during the current step. The only way to act on its states is through the transition events.

*T*and initial time

*t*

_{0}is

and $\u2113=gH$.

In the following, we break down the evolution of *L* from *t* to $Tk+1\u2212$, for three key time intervals or instances with the aim of forming a one-step-ahead prediction of angular momentum about the contact point.

#### 5.3.1 From t to $Tk\u2212$.

*prediction*for the angular momentum about the contact point at the end of current step, $L\u0302(Tk\u2212,t)$, can be continuously updated by

Forming the running prediction in Eq. (27), versus a fixed prediction based on the values of *x _{c}* and

*L*at the beginning of the step, allows disturbances to be taken into account.

#### 5.3.2 From $Tk\u2212$*to*$Tk+$.

#### 5.3.3 From $Tk+$*to*$Tk+1\u2212$.

*Remark.*Instead of the deadbeat control (31), it is possible to asymptotically approach a desired value of $Ldes$ with the control law

### 5.4 Stability Analysis of the ALIP for $Ldes$.

*u*, as an input, yields

_{fp}independent of *α* and the eigenvalues of the Poincaré map are $(\alpha ,0)$. Hence, for all $0\u2264\alpha <1$, the fixed point is exponentially stable and moreover, Eq. (35) is bounded-input bounded-state stable with respect to the command, $Ldes$.

### 5.5 Lateral Control and Turning.

From Eq. (17), the time evolution of the angular momentum about the contact point is decoupled about the *x*- and *y*-axes. Therefore, once a desired angular momentum at the end of the next step is given, lateral control is essentially identical to longitudinal control and Eq. (31) can be applied equally well in the lateral direction.^{6} We add a superscript *x* to *L ^{x}* to make it clear that we are working in the frontal plane. The question becomes how to decide on $Lx\u2009des(Tk+1\u2212)$, since it cannot be simply set to zero for walking with a nonzero stance width.

where *W* is the desired step width. The sign is positive if next stance is left stance and negative if next stance is right stance. Lateral walking can be achieved by adding an offset to $Lx\u2009des$.

To enable turning, we assume a target direction is commanded and associate a frame to it by aligning the *x*-axis with the target direction while keeping the *z*-axis vertical. To achieve turning, we then define the desired angular momentum $Ly\u2009des$ and $Lx\u2009des$ in the new frame and use the hip yaw-motors to align the robot in that direction.

## 6 Pendulum Models, Zero Dynamics, and Overall System Stability

This section establishes connections between the pendulum models of Sec. 2.3 and the swing phase zero dynamics as developed in Ref. [15], or more precisely, approximations of the zero dynamics. This is accomplished by analyzing how the zero dynamics are driven by the states of a bipedal robot's full-order model and its feedback controller when the closed-loop system is evolving off the zero dynamics manifold. As a main contribution, the analysis will yield conditions under which the driving terms are small and hence do not adversely affect the stability predictions associated with the exact zero dynamics. A secondary contribution of the section will be a presentation of the swing phase zero dynamics for a more general set of “virtual constraints” than those developed in Refs. [15,20,59].

### 6.1 Intuitive Background.

An initial sense of the meaning and mathematical foundation of the swing phase zero dynamics can be gained by considering a floating-base model of a bipedal robot, and then its pinned model, that is, the model with a point or link of the robot, such as a leg end or foot, constrained to maintain a constant position respect to the ground. The given contact constraint is holonomic and constant rank, and thus using Lagrange multipliers (from the principle of virtual work), a reduced-order model compatible with the (holonomic) contact constraint is easily computed. When computing the reduced-order model, no approximations are involved, and solutions of the reduced-order model are solutions of the original floating-base model, with inputs (ground reaction forces and moments) determined by the Lagrange multiplier.

Virtual constraints are relations (i.e., constraints) on the state variables of a robot's model that are achieved through the action of actuators and feedback control instead of physical contact forces. They are called *virtual* because they can be reprogrammed on the fly without modifying any physical connections among the links of the robot or its environment. We use virtual constraints to synchronize the evolution of a robot's links, so as to create exponentially stable motions. Like physical constraints, under certain regularity conditions, they induce an exact low-dimensional invariant model, called the *zero dynamics*, due to the highly influential paper [23].

Each virtual constraint imposes a relation between joint variables, and by differentiation with respect to time, a relation between joint velocities. As a consequence, for the virtual constraints studied in this paper, the dimension of the zero dynamics is the number of states in the robot's (pinned) model minus twice the number of virtual constraints (which can be at most the number of independent actuators). As explained in Ref. [60], the computation of the motor torques to impose virtual constraints parallels the Jacobian computations for the ground reaction forces in a pinned model.

### 6.2 Allowing Non-Holonomic, Time-Varying Virtual Constraints.

*L*as one of the states of the zero dynamics so that fully actuated and underactuated biped models can be addressed simultaneously; we suppose that the torque distribution matrix

*B*(

*q*) in Eq. (1) can be split so that

where *u _{a}* is the torque affecting the stance ankle as in Sec. 2.3, and $ub\u2208\mathbb{R}n$ are actuators affecting the body coordinates,

*q*. When the robot is underactuated, $Ba(q)$ is an empty column vector.

_{b}*n*virtual constraints as an output zeroing problem of the form

*τ*captures time dependence. Note that we are abusing notation and using

*y*in a second sense for compatibility with numerous other publications on HZD methods. As in Sec. 2.3, we use

*L*instead of other functions of $q\u02d9$ because

*L*has relative degree three with respect to all actuators except stance ankle torque, while $q\u02d9$ has relative degree one. Hence, the relative degree of

*y*is determined by

*q*once

*u*is fixed. Indeed, while

_{a}*u*is used for imposing the virtual constraints,

_{b}*u*can be used for shaping the evolution of

_{a}*x*and

_{c}*L*directly. We assume a feedback law,

*u*, of the form

_{a}and note that *u _{a}* should respect relevant ankle torque limits and ZMP constraints when $y\u22610$.

Following Refs. [15,23,61], we make the following specific *regularity assumptions* for the virtual constraints:

*h*is at least twice continuously differentiable and*u*is at least once differentiable._{a}- The virtual constraints (39) are designed to identically vanish on a desired nominal solution (gait) $(q\xaf(t),q\xaf\u02d9(t),u\xaf(t))$ of the dynamical model (6) with $\tau (t)=t$, where the solution meets relevant constraints on motor torque, motor power, ground reaction forces, and work space. To be clear,
*y*vanishing meansfor $0\u2264t\u2264T$, where $L\xaf(t)$ is the angular momentum about the contact point, evaluated along the trajectory.(41)$h0(q\xaf)\u2212hd(x\xafc,L\xaf,\tau )\u22610$ - The decoupling matrixis square and invertible along the nominal trajectory, so that, from Refs. [61] and [62], by treating(42)$A(q):=\u2202h(q,L,t)\u2202qD\u22121(q)Bb(q)$
*u*as a known signal, there exists a feedback controller of the form_{a}resulting in the closed-loop dynamics(43)$ub=:\gamma (q,q\u02d9,\tau )+\gamma a(q,L,\tau )ua$with $Kd>0$ and $Kp>0$ positive definite.(44)$y\xa8+Kdy\u02d9+Kpy=0,$ - The functionis full rank and injective in an open neighborhood of the nominal solution $(q\xaf(t),q\xaf\u02d9(t))\u2009\u2200t$.(45)$[yy\u02d9xcL]$

From Refs. [15,23,61], the above assumptions imply that $(y,y\u02d9,xc,L)$ is a valid set of coordinates for the full-order swing phase model (2). In particular,

- there exists an invertible differentiable function $\Phi $ such that(46)$[qq\u02d9\tau ]=\Phi (y,y\u02d9,xc,L,\tau ),\u2009and$
the swing-phase zero dynamics, that is, the dynamics of the robot compatible with $y\u22610$, exists and can be parameterized by $(xc,L)$.

### 6.3 Zero Dynamics and Approximate Zero Dynamics.

when $y\u22610$. As with the popular pendulum models, the dimension of Eq. (47) is low; it has two states plus time. Unlike the pendulum models, Eq. (47) is exact. Moreover, tools are known for relating periodic orbits of the hybrid version of Eq. (47) to corresponding orbits in the full-order model (6), including their stability properties; see Sec. 6.4.

The state $\tau \u02d9=1$ is included in Eq. (48) because, at hybrid transitions, *τ* is reset to zero, that is, $\tau +:=0$. As discussed above, this reduced-order model is exact along all trajectories of the full-order model for which $y\u22610$.

This model is nonlinear and time-varying through *L _{c}* and possibly, the feedback control policy chosen for the stance ankle torque,

*u*. We've argued in Sec. 4 that

_{a}*L*can be dropped from the model. Doing so results in the ALIP model, (20). Hence, the ALIP model is an approximate swing-phase zero dynamics when the center of mass height is controlled to a constant.

_{c}### 6.4 Consequences for Closed-Loop Stability of the Full-Order Model.

When the foot placement policy (32) is applied to Eq. (49) with the reset map (25), the resulting closed-loop system is a (small) perturbation of a hybrid system that possesses a family of exponentially stable periodic orbits parameterized by $Ldes$. If the virtual constraints in Eq. (39) are hybrid^{7} invariant for constant $Ldes$ [15,65,66], then

Consequently, the closed-loop system would possess a family of exponentially stable periodic orbits parameterized by $Ldes$. If the virtual constraints are not hybrid invariant, then Eq. (49) with Eq. (25) does not form a hybrid zero dynamics in the sense of Ref. [15], but rather a limit restriction dynamics [67, pp. 102]. Moreover, via the Brouwer Fixed Point Theorem, Ref. [67, Theorem 6, pp. 105] shows each exponentially stable periodic solution of the limit restriction dynamics corresponds to an exponentially stable periodic solution of the full model for appropriate design of the feedback gains in Eq. (44).

To illustrate the correspondence between exponentially stable motions of the ALIP and the full-order model, we turn to the Rabbit model controlled via virtual constraints that implement the foot placement control law (32), the center of mass at a constant height, the torso upright, and adequate foot clearance. We then numerically estimate the Jacobian of the Poincare map for the closed-loop full-order model and compare its dominant eigenvalues to the dominant eigenvalue of the closed-loop ALIP model; see Ref. (34).

In Table 2, for various values of *α* in the step placement feedback controller, we show the dominant eigenvalue from the ALIP model and the dominant eigenvalue from the numerically estimated Poincaré map. We see that the dominant eigenvalue of the full-order closed-loop system corresponds to the dominant eigenvalue of the ALIP model for $0\u2264\alpha \u22640.9$. The remaining eigenvalues of the full model are (very) small due to the gains chosen in Eq. (44). In fact, the zero dynamics captures the “weakly actuated,” slow part of the full-order model that is evolving under the influence of gravity.

α | ALIP | Rabbit |
---|---|---|

0.9 | 0.81 | 0.781 |

0.8 | 0.64 | 0.601 |

0.7 | 0.49 | 0.442 |

0.6 | 0.36 | 0.299 |

0.5 | 0.25 | 0.168 |

0.4 | 0.16 | 0.052 |

0.3 | 0.09 | 0.013 |

0.2 | 0.04 | 2 × 10^{−}4 |

0.1 | 0.01 | 2 × 10^{−}4 |

0.0 | 0.00 | 1 × 10^{−4} |

α | ALIP | Rabbit |
---|---|---|

0.9 | 0.81 | 0.781 |

0.8 | 0.64 | 0.601 |

0.7 | 0.49 | 0.442 |

0.6 | 0.36 | 0.299 |

0.5 | 0.25 | 0.168 |

0.4 | 0.16 | 0.052 |

0.3 | 0.09 | 0.013 |

0.2 | 0.04 | 2 × 10^{−}4 |

0.1 | 0.01 | 2 × 10^{−}4 |

0.0 | 0.00 | 1 × 10^{−4} |

Because the Poincaré map is computed over two steps, the ALIP's largest eigenvalue is $\alpha 2$.

### 6.5 Non-Periodic Walking.

The desired angular momentum, $Ldes$, determines the fixed point of the Poincaré map and hence the walking speed of the robot. While varying $Ldes$ causes the walking speed to change, the analysis of the controller has only been presented for a constant value of $Ldes$. Reference [68] analyzes gait transitions in the formalism of the hybrid zero dynamics when $Ldes$ is switched “infrequently,” meaning the closed-loop system is moving from a neighborhood of one periodic orbit to another. References [69,70] generalize tools from Input-to-State Stability (ISS) of ODEs to the case of hybrid models. These results apply to time-varying $Ldes$. The experimental work reported in Sec. 9 includes examples of rapidly varying $Ldes$, turn direction, and ground height.

### 6.6 Varying Center of Mass Height.

We have seen that the difference between the zero dynamics of a real robot and a pendulum model is the term related to *L _{c}*. In previous sections, we have shown that the

*L*term has very little effect on the

_{c}*L*dynamics when

*z*is constant. [In the sentence beginning “In previous sections, we have….” Please specify which section or subsection “in previous sections” refers to here.] This observation can be extended to the case when

_{c}*z*is not constant but virtually constrained by $(xc,L,\tau )$.

_{c}In Fig. 11, we illustrate that when *z _{c}* is a function of time, the pendulum dynamics can still be used to predict accurately the zero dynamics of Rabbit.

## 7 Integrating Virtual Constraints and Angular-Momentum-Based Foot Placement

For later use, we denote the value of *h*_{0} at the beginning of the current step by $h0(Tk\u22121+)$. When referring to individual components, we'll use $h03(Tk\u22121+)$, for example.

We first discuss variables that are constant. The reference values for torso pitch, torso roll, and swing toe absolute pitch are constant and zero, while the reference for $pst\u2192CoMz$, which sets the height of the CoM with respect to the ground, is constant and equal to *H*.

that will be used to define quantities that vary throughout the step to create stance and swing leg trajectories.” The reference trajectories of $psw\u2192CoMx$ and $psw\u2192CoMy$ are defined such that:

at the beginning of a step, their reference value is their actual position;

the reference value at the end of the step implements the foot placement strategy in Eq. (31); and

in between a half-period cosine curve is used to connect them, which is similar to the trajectory of an ordinary (non-inverted) pendulum.

The reference trajectory of $psw\u2192CoMz$ assumes the ground is flat and the control is perfect:

at mid stance, the height of the foot above the ground is given by

*z*, for the desired vertical clearance._{CL}

The signs may vary with the convention used on other robots.

When implemented with an input–output linearizing controller^{8} so that *h*_{0} tracks *h _{d}*, the above control policy allows Cassie to move in 3D in simulation.

## 8 Practical Implementation on Cassie

This section resolves several issues that prevent the basic controller from being implemented on Cassie Blue.

### 8.1 IMU and EKF.

In a real robot, an IMU and an EKF are needed to estimate the linear position and rotation matrix at a fixed point on the robot, along with their derivatives. Cassie uses a VectorNav IMU. We used the Contact-aided Invariant EKF developed in Refs. [73] to estimate the torso velocity. With these signals in hand, we could estimate angular momentum about the contact point.

### 8.2 Filter for Angular Momentum.

*δ*and

*ε*are the variance of the noise terms. The update formula for angular momentum is

The Kalman Gain *K*(*k*) is obtained following the algorithm described in Ref. [74, Sec. 3.2].

### 8.3 Inverse Kinematics.

Iterative inverse kinematics is used to convert the controlled variables in Eq. (50) to the actuated joints.

### 8.4 Passivity-Based Controller.

We adapt the passivity-based controller developed in Ref. [62] to achieve joint-level tracking. This method takes the full-order model of robot into consideration and, on a perfect model, will drive the virtual constraints asymptotically to zero. The derivation is given in the Appendix. More trajectory tracking controllers that address model uncertainty, compliance and hybrid biped model are discussed in Refs. [65,77,78].

### 8.5 Springs.

On the swing leg, the spring deflection is small and thus we are able to assume the leg to be rigid. On the stance leg, the spring deflection is non-negligible and hence requires compensation. While there are encoders on both sides of the spring to measure its deflection, direct use of this leads to oscillations. The deflection of the spring is instead estimated through a simplified model.

### 8.6 COM Velocity in the Vertical Direction.

*Remark.* In our experiments, $vCoMz$ becomes negative at the end of a step when the robot is walking fast. If we still use Eq. (31) to decide foot placement, which is based on the reset map (29), in the lateral direction $Lx(Tk+)$ will be overestimated. This in turn leads to the lateral foot placement being commanded further from the body than it should be. At the end of the next step, the magnitude of *L ^{x}* will be larger than expected, requires even further lateral foot placement from the body. The final phenomenon is abnormally large step width.

## 9 Experimental Results

The controller (Fig. 12) was implemented on Cassie Blue. The closed-loop system consisting of robot and controller was evaluated in a number of situations (Fig. 15) that are itemized below.

Walking in a straight line on flat ground: Cassie could walk in place and walk stably for speeds ranging from zero to 2.1 m/s.

Diagonal walking: Cassie is able to walk simultaneously forward and sideways on grass, at roughly 1 m/s in each direction.

Sharp turn: While walking at roughly 1 m/s, Cassie Blue effected a 90 deg turn in six steps, without slowing down.

Rejecting the classical kick to the base of the hips: Cassie was able to remain upright under “moderate” kicks in the longitudinal direction. The disturbance rejection in the lateral direction is not as robust as the longitudinal, which is mainly caused by Cassie's physical design: small hip roll motor position limits.

Finally we address walking on rough ground: Cassie Blue was tested on the iconic Wave Field of the University of Michigan North Campus. The foot clearance was increased from 10 cm to 20 cm to handle the highly undulating terrain. Cassie is able to walk through the “valley” between the large humps with ease at a walking pace of roughly 0.75 m/s, without falling in all tests. The row of ridges running east to west in the Wave Field is roughly 60 cm high, with a sinusoidal structure. We estimate the maximum slope to be 40 deg. Cassie is able to cross several of the large humps in a row, but also fell multiple times. On a more gentle, straight grassy slope of roughly 22 deg near the laboratory, Cassie can walk up it with no difficulty with 20 cm foot clearance.

## 10 Conclusions

We established connections between various approximate pendulum models that are commonly used for heuristic controller design and those that are more common in the feedback control literature where formal stability guarantees are the norm. The paper clarified commonalities and differences in the two perspectives for using low-dimensional models. In the process of doing so, we argued that models based on angular momentum about the contact point provide more accurate representations of robot state than models based on linear velocity. Specifically, we showed that an approximate (pendulum or zero dynamics) model parameterized by angular momentum provides better predictions on a physical robot (e.g., legs with mass) than does a related approximate model parameterized in terms of linear velocity, basing the foot placement planned on angular momentum model provides improved speed control of the robot. While ankle torque, if available, can achieve small changes in angular momentum during a step, the limitations of foot rotation about its extremities prevent ankle torque from achieving large changes in angular momentum during a step. For this reason, we focused our analysis on regulating angular momentum about the contact point step-to-step and not within a step. We implemented a one-step-ahead angular-momentum-based controller on Cassie, a 3D robot, and demonstrated high agility and robustness in experiments. Using our new controller, Cassie was able to accomplish a wide range of tasks with nothing more than common sense task-based tuning: a higher step frequency to walk at 2.1 m/s and extra foot clearance to walk over slopes exceeding 22 deg. Moreover, in the current implementation, there is no optimization of trajectories used in the implementation on Cassie. The robot's performance is currently limited by the hand-designed trajectories leading to joint-limit violations and foot slippage. These limitations will be mitigated by incorporating optimization and/or constraints via MPC.

In addition to the foot placement scheme described in this paper, the ALIP model can be combined with many other control methods that have been implemented on the LIP model: it can be used with ZMP in an MPC scheme as in Refs. [9–11], or used with Capture Point as in Refs. [4,5], or used with an estimated *L _{c}* [13,14]. As has already been done in Ref. [33],

*L*can be regulated by controlling the center of mass velocity just before impact, as well.

## Acknowledgment

The authors thank Omar Harib and Jiunn-Kai Huang for their assistance in the experiments.

## Funding Data

National Science Foundation (Award ID: 1808051; Funder ID: 10.13039/100000001).

Toyota, USA (Funder ID: 10.13039/100004362 ).

## Footnotes

All vectors discussed in this paper are column vectors.

A 3D version of the angular momentum transfer formula is $L=Lc+[xc,yc,zc]\u22a4\xd7m[x\u02d9c,y\u02d9c,z\u02d9c]\u22a4$

When CoM height is a constant H, $L\u2212mHvc=Lc$.

With the exception of the method based on regulating *L _{c}*, each of the methods listed in Table 1 can be applied to a pendulum model parameterized with

*L*. For humans,

*L*is mainly utilized when we are about to fall off a support structure, such as when balancing on a tightrope. In bipedal robots without a flywheel, the effect of

_{c}*L*on

_{c}*L*is weak, due to multiple factors such as kinematic constraints, torque limits, and being relative degree three with respect to body torques.

*L*is an ineffective means of regulating

_{c}*L*for the same reasons that dropping

*L*in the ALIP model does not introduce significant inaccuracy.

_{c}With a slight difference in the sign due to $Lx=\u2212mgyc$.

The required kinematic and dynamics functions are generated with FROST [72].

Experiment Video Compilation https://youtu.be/o8msaembEu8

Michigan Robotics: Dynamic Legged Locomotion Lab YouTube Channel https://www.youtube.com/channel/UCMfDV8 rkQqWhUwnTAYAq0tQ

### Appendix A: Constant Pendulum Length

At this point, no approximations have been made and the models is valid everywhere that $rc(q)\u2261R$. An interesting aspect of this pendulum model is that it does not depend on $R\u02d9$, and thus imperfections in achieving the virtual constraint *r _{c}* =

*R*have a smaller effect here than in Eq. (17), where $z\u02d9$ would appear when $zc\u2260H$, or in Eq. (16), where both $z\u02d9c$ and $z\xa8c$ would appear.

*θ*. However, for

_{c}*R*=

*1 and a step length of 60 cm, $max\theta c\u2248\pi /6$, and for 70 cm, $max\theta c\u2248\pi /4$, giving simple bounds on the approximation error*

*K*to set

For $\theta max=\pi /4$, the value is $K\u22480.95$. While a linear approximation is useful for having a closed-form solution, numerically integrating the nonlinear model (A2) in real-time is certainly feasible.

The discussion on the approximate zero dynamics can be repeated here. The associated impact map is nonlinear and can be linearized about a nominal solution.

### Appendix B: Passivity-Based Input-Output Stabilization

where *u* is the vector of motor torques, $\tau s$ is the spring torques, and $\tau g$ is the contact wrench. During the single-support phase, the blade-shape foot on Cassie provides five holonomic constraints, leaving only foot roll free. To simplify the problem, we also assume the springs are rigid, adding two constraints on each leg. These constraints leave the original 20 degrees-of-freedom floating base model with 11 degrees-of-freedom.

*q*have already been ordered such that $q=[qc,qu]T$, where

*q*are the coordinates chosen to be controlled and

_{c}*q*are the free coordinates. Define $\lambda =[qu,\tau s,\tau g]T$ and partition (B3) as

_{u}*λ*can be eliminated from these equations, resulting in

We note that $D\u030322$ being invertible and $D\xaf$ being positive definite both follow from $D\u0303$ being positive definite. Later, we need $B\xaf$ to be invertible; *this is an assumption* similar to that in Eq. (42). Equation (B5) is what we will focus on from here on.

the passivity-based controller induces less cancelation of the robot's dynamics, and if *k _{p}* and

*k*are chosen to be diagonal matrices, the tracking errors are approximately decoupled because, for Cassie, $B\xaf\u22121$ is close to diagonal. This controller provides improved tracking performance over the straight-up PD implementation in Ref. [71].

_{d}