Virtual Constraints and Hybrid Zero Dynamics for Realizing Underactuated Bipedal Locomotion

  • Jessy W. GrizzleEmail author
  • Christine Chevallereau
Living reference work entry


Underactuation is ubiquitous in human locomotion and should be ubiquitous in bipedal robotic locomotion as well. This chapter presents a coherent theory for the design of feedback controllers that achieve stable walking gaits in underactuated bipedal robots. Two fundamental tools are introduced, virtual constraints and hybrid zero dynamics. Virtual constraints are relations on the state variables of a mechanical model that are imposed through a time-invariant feedback controller. One of their roles is to synchronize the robot’s joints to an internal gait phasing variable. A second role is to induce a low-dimensional system, the zero dynamics, that captures the underactuated aspects of a robot’s model, without any approximations. To enhance intuition, the relation between physical constraints and virtual constraints is first established. From here, the hybrid zero dynamics of an underactuated bipedal model is developed, and its fundamental role in the design of asymptotically stable walking motions is established. The chapter includes numerous references to robots on which the highlighted techniques have been implemented.


Feedback control Stabilization Poincaré map Invariant manifold Impacts Experiments 

1 Introduction

Models of bipedal robots are hybrid, nonlinear, and, typically, high dimensional. In addition, as it will be motivated shortly, the continuous portion of the dynamics is often underactuated. A further complication is that a steady walking cycle is a nontrivial periodic motion . This means that standard stability tools for static equilibria do not apply. Instead, one must use tools appropriate for the study of periodic orbits, such as Poincaré return maps. The overall complexity in the modeling and analysis of bipedal locomotion has in turn motivated a host of gait design methods that are built around low-dimensional approximations to the dynamics, often based on approximating the system as an inverted pendulum and also often approximating the legs as massless.

This chapter outlines an approach to gait design that applies to high-dimensional underactuated models, without making approximations to the dynamics. As with approximate design methods, lower-dimensional models do appear, but unlike approximate design methods, the lower-dimensional models are exact, meaning that solutions of the low-dimensional model are also solutions of the high-dimensional model evolving in a low-dimensional invariant surface. To get an initial sense of what this may mean, consider a floating-base model of a bipedal robot, and then consider the model with a point or link of the robot, such as a leg end or foot, constrained to maintain a constant position with 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 the 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. Virtual constraints can be used to synchronize the evolution of a robot’s links to create stable periodic motion. Like physical constraints, under certain regularity conditions, they induce a low-dimensional invariant model, called the zero dynamics, due to the highly influential paper [8]. Each virtual constraint imposes a relation between joint variables, and by differentiation a relation between joint velocities. As a consequence, for the cases studied in this chapter, the dimension of the zero dynamics is the initial number of states in the robot’s model minus twice the number of virtual constraints (which can be at most the number of independent actuators). The main novelty required for the study of this reduced-dimensional constrained system in bipedal locomotion arises from the hybrid or multi-phase nature of locomotion models, such as alternating single support phases and impacts. The hybrid nature of the models gives rise to the hybrid zero dynamics (HZD).

Virtual constraints and hybrid zero dynamics originated in the study of underactuated, planar bipedal locomotion in [20, 49]; a synthesis of these methods can be found in [37, 48], with many experiments and extensions reported in [3, 10, 11, 28, 31, 42, 43, 47, 50, 51] . The methods are currently being developed for and applied to underactuated 3D robots; see [1, 2, 12, 21, 35, 44, 46] with experiments just beginning to be reported [7, 19]. Virtual constraints and hybrid zero dynamics are also being used in the control of lower-limb prostheses [15, 16, 24].

2 Why Study Underactuation?

An important source of complexity in a bipedal robot is the degree of actuation of the model with respect to the number of degrees of freedom. When there are fewer independent actuators than degrees of freedom, the model is underactuated. It is a common theme in robotics that underactuated models are more challenging to control than fully actuated models.

The primary motivation of this chapter is the effective underactuation that arises in a humanoid robot. Due to the finite size of its feet and the unilateral nature of the contact forces between the foot and ground, most humanoids can all too easily roll forward on the foot, creating an axis of rotation without actuation. Because feet are typically narrower than they are long, it is even easier to roll laterally on the foot. Keeping the foot flat on the ground is difficult and imposes severe restrictions on ankle torque, which is what is meant by “effective underactuation.” This chapter studies the case when the size of the feet is taken to a limiting value of zero, namely, point feet, resulting in a truly underactuated model. Control designs that allow a robot with point feet to achieve asymptotically stable walking gaits are developed.

Focusing on underactuation is important for at least two reasons. On one hand, it is interesting to prove, both theoretically and experimentally, that elegant walking and running motions are possible with a mechanically simple robot (no feet). On the other hand, if human walking is taken as the de facto standard against which mechanical bipedal walking is to be compared, then the flat-footed walking achieved by current robots needs to be improved. In particular, toe roll toward the end of the single support phase needs to be allowed as part of the gait design. Currently, this is specifically avoided because, as mentioned above, it leads to underactuation, namely, rotation of the foot about the toe introduces an axis of rotation with no actuation, as does lateral rotation of the foot. A nominal gait design method that produces feasible stable motions without requiring the use of ankle torque can always produce stable motions when powered ankles are available, even in cases where the torque that can be produced may be very limited. Underactuation and “effective underactuation” (severe bounds on ankle torque) are extremely challenging for a control design philosophy based on trajectory tracking and a quasi-static stability criterion, such as the zero moment point (ZMP) [45], as is currently practiced widely in the bipedal robotic community. Moreover, the results developed in this chapter for point feet can easily be extended to the case of finite size foot [11, 46]. Actuation at the foot can be used to improve the convergence toward a periodic motion or to achieve a humanlike evolution of the ZMP.

There is considerable freedom when choosing an underactuated model. One passive joint can be considered in the sagittal plane (at ankle or toe) for studying planar [10] or 3D biped [44, 46] gaits. Two passive joints, one in the sagittal plane and another in the frontal plane, can be introduced for 3D bipeds [12] when yaw rotation is assumed to be avoided by friction. Three passive joints are introduced to model point feet in [39]. In the present chapter, all of these sources of underactuation are handled.

3 Hybrid Model of a Bipedal Walker

This section introduces a hybrid dynamic model for walking motions of a bipedal robot. A hybrid model is required because walking consists of alternating phases of one foot on the ground and two feet on the ground.

The robot is assumed to consist of N ≥ 2 rigid links with mass connected via rigid, frictionless revolute joints. The contact with the ground is modeled as a passive point. A typical robot is depicted in Fig. 1a, which is intentionally suggestive of a human form. All motions are assumed to consist of successive phases of single support (stance leg on the ground and swing leg in the air) and double support (both legs on the ground). The double support phase is assumed to be instantaneous. Conditions that guarantee the leg ends alternate in ground contact without slipping – while other links such as the torso or arms remain free – must be imposed during control design. A rigid impact is used to model the contact of the swing leg with the ground.
Fig. 1

(a) A five-link 3D biped with point feet. The links on the stance leg end have zero length and indicate three passive degrees of freedom: yaw, roll, and pitch. Eliminating the bottom link would model a foot with yaw fixed (e.g., due to friction), with roll and pitch free. For later use, Cartesian coordinates \((p_2^x, p_2^y, p_2^z)\) are indicated at the swing leg end. (b) Hybrid model of walking with point feet. Key elements are the continuous dynamics of the single support phase, written in state space form as \({\dot {x}=f(x) + g(x) u}\), the switching or impact condition, \(p_2^z(q) = 0\) and \(\dot {p}_2^z(q,\dot {q}) < 0\), which detects when the height of the swing leg above the walking surface is zero with the swing leg descending, and the re-initialization rule coming from the impact map, Δ

The distinct phases of walking naturally lead to mathematical models that are comprised of two parts: the differential equations describing the dynamics during the swing phase and a model that describes the dynamics when a leg end impacts the ground. For simplicity, in the models developed here, the ground is assumed to be flat [18, 34].

3.1 Lagrangian Swing Phase Model

The swing phase model corresponds to a pinned open kinematic chain. For simplicity, it is assumed that only symmetric gaits are of interest, and hence it does not matter which leg end is pinned. The swapping of the roles of the legs can be accounted for in the impact model.

Let \({\mathcal {Q}}\) be the N-dimensional configuration manifold of the robot when the stance leg end is acting as a pivot and let \(q:=(q_1; \cdots ; q_N) \in {\mathcal {Q}}\) be a set of generalized coordinates. Denote the potential and kinetic energies by V (q) and \(K(q,\dot q)=\frac {1}{2}\dot {q}^T D(q) \dot q\), respectively, where the inertia matrix D is positive definite on \({\mathcal {Q}}\). The dynamic model is easily obtained with the method of Lagrange , yielding the mechanical model
$$\displaystyle \begin{aligned} D(q) \ddot{q} + C(q,\dot{q})\dot{q} + G(q) = B u, \end{aligned} $$
where \(u=(u_1; \cdots ; u_k) \in {\mathbb {R}}^{k}\) is the vector of input torques, and B, the torque distribution matrix, is assumed to be constant with rank 1 ≤ k < N. Recall that the foot is modeled as an unactuated point contact, with one, two, or there degrees of freedom.
The model is written in state space form by defining
$$\displaystyle \begin{aligned} \begin{array}{rcl} \dot x &\displaystyle = &\displaystyle \left[ \begin{array}{c} \dot{q}\\ D^{-1}(q) \left[-C(q,\dot{q})\dot{q} - G(q) + B(q) u\right] \end{array}\right]\\ &\displaystyle =: &\displaystyle f(x) + g(x) u {} \end{array} \end{aligned} $$
(2, 3)
where \(x := (q;\dot {q})\). The state space of the model is \({\mathcal {X}} = T{\mathcal {Q}}\). For each \(x\in {\mathcal {X}}\), g(x) is a 2N × k matrix. In natural coordinates \((q;\dot {q})\) for \(T{\mathcal {Q}}\), g is independent of \(\dot {q}\).

3.2 Impact Model

The impact of the swing leg with the ground at the end of a step is represented with the rigid perfectly inelastic contact model of [25]. This model effectively collapses the impact phase to an instant in time. The impact forces are consequently represented by impulses, and a discontinuity or jump is allowed in the velocity component of the robot’s state, with the configuration variables remaining continuous or constant during the impact. Since we are assuming a symmetric walking gait, we can avoid having to use two swing phase models – one for each leg playing the role of the stance leg – by relabeling the robot’s coordinates at impact. The coordinates must be relabeled because the roles of the legs must be swapped. 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 [1, 12, 48]. The relabeling of the generalized coordinates is given by a matrix, R, acting on q with the property that RR = I, i.e., R is a circular matrix. The result of the impact and the relabeling of the states provides an expression:
$$\displaystyle \begin{aligned} x^+ = \Delta(x^-) \end{aligned} $$
where \(x^+:=(q^+; \dot {q}^+)\) (resp. \(x^-:=(q^-; \dot {q}^-)\)) is the state value just after (resp. just before) impact and
$$\displaystyle \begin{aligned} \Delta(x^-) := \left[ \begin{array}{c} \Delta_{q}\, q^- \\ \Delta_{\dot q}(q^-)\, \dot{q}^- \end{array} \right].\end{aligned} $$
It is noted that the impact map is linear in the generalized velocities. A detailed derivation of the impact map is given in [48].

3.3 Overall Hybrid Model

A hybrid model of walking is obtained by combining the swing phase model and the impact model to form a system with impulse effects . The model is then
$$\displaystyle \begin{aligned} \varSigma: \begin{cases} \begin{aligned} \dot x & = f(x) + g(x) u, & x^- &\notin \mathcal{S}\\ x^+ & = \Delta(x^-), & x^- &\in \mathcal{S}, \end{aligned} \end{cases} \end{aligned} $$
where the switching set is chosen to be
$$\displaystyle \begin{aligned} \mathcal{S} := \{ (q,\dot{q}) \in T{\mathcal{Q}}~|~p^{\mathrm{z}}_2(q) = 0,\; \dot{p}^{\mathrm{z}}_2(q, \dot{q}) <0 \}. \end{aligned} $$
In words, a trajectory of the hybrid model is specified by the swing phase model until an impact occurs. An impact occurs when the state “attains” the set \( \mathcal {S}\), which represents the walking surface. At this point, the impact of the swing leg with the walking surface results in a very rapid change in the velocity components of the state vector. The impulse model of the impact compresses the impact event into an instantaneous moment in time, resulting in a discontinuity in the velocities. The ultimate result of the impact model is a new initial condition from which the swing phase model evolves until the next impact. Figure 1b gives a graphical representation of this discrete-event system.

A step of the robot is a solution of (6) that starts with the robot in double support, ends in double support with the configurations of the legs swapped, and contains only one impact event. Walking is a sequence of steps.

4 Physical Constraints and Reduced-Order Models

This section reviews how holonomic constraints in a standard Lagrangian model without control inputs induce a reduced-order (exact) model. Consider a Lagrangian system:
$$\displaystyle \begin{aligned} D(q) \ddot{q} + C(q,\dot{q})\dot{q} + G(q) = 0,\end{aligned} $$
with configuration variables \(q\in {\mathcal {Q}}\), an open subset of \(\mathbb {R}^N\). A regular holonomic constraint is a twice continuously differentiable function \(h:{\mathcal {Q}} \to \mathbb {R}^k\) such that
$$\displaystyle \begin{aligned} \tilde{{\mathcal{Q}}}=\left\{q \in {\mathcal{Q}}~|~h(q) = 0 \right\} \end{aligned} $$
is nonempty and for each \(q_0\in \tilde {{\mathcal {Q}}}\)
$$\displaystyle \begin{aligned} \mathrm{rank}~\frac{\partial h (q_0)}{\partial q}=k. \end{aligned} $$
The model (8) has a natural restriction to \(T\tilde {{\mathcal {Q}}}\) as a mechanical system with (N − k) DOF. To compute it, the principle of virtual work says to augment (8) with a Lagrange multiplier
$$\displaystyle \begin{aligned} D(q) \ddot{q} + C(q,\dot{q})\dot{q} + G(q) = \left(\frac{\partial h(q)}{\partial q}\right)^T \lambda, \end{aligned} $$
where λ is obtained by setting the second derivative of the constraint along solutions of the model to zero, that is,
$$\displaystyle \begin{aligned} 0 &= \frac{d^2h}{dt^2}\\ {} &= \frac{\partial h(q)}{\partial q} \ddot{q} + \frac{\partial }{\partial q}\left( \frac{\partial h(q)}{\partial q}\dot{q} \right)\dot{q}. \end{aligned} $$
Indeed, substituting the model (11) into (12) and solving for the Lagrange multiplier yield
$$\displaystyle \begin{aligned} \lambda^\ast =\varLambda^{-1} (q)\left[ \frac{\partial h(q)}{\partial q}D^{-1}(q) \Big( C(q,\dot{q})\dot{q} + G(q) \Big) - \frac{\partial }{\partial q}\left( \frac{\partial h(q)}{\partial q}\dot{q} \right)\dot{q} \right], \end{aligned} $$
$$\displaystyle \begin{aligned} \varLambda(q)=\left(\frac{\partial h(q)}{\partial q} D^{-1}(q) \frac{\partial h(q)}{\partial q}^T \right) \end{aligned} $$
is automatically invertible from the regularity of h and the positive definiteness of D(q).
The expression for the reduced-order model can be made more explicit if we assume for simplicity that the holonomic constraint can be expressed as
$$\displaystyle \begin{aligned} 0 = q_{\mathrm{c}} - h_d(q_{\mathrm{f}}), \end{aligned} $$
for a choice of configuration variables (q c, q f), with the constrained coordinates \(q_{\mathrm {c}} \in {\mathcal {Q}}_{\mathrm {c}} \subset \mathbb {R}^k\), the free coordinates \(q_{\mathrm {f}} \in {\mathcal {Q}}_{\mathrm {f}} \subset \mathbb {R}^{N-k}\), and such that a diffeomorphism \(F:{\mathcal {Q}}_{\mathrm {c}} \times {\mathcal {Q}}_{\mathrm {f}} \to {\mathcal {Q}}\) exists. In this case, the constraint is always regular, and the mapping \(F_c: {\mathcal {Q}}_{\mathrm {f}} \to {\mathcal {Q}}\) given by
$$\displaystyle \begin{aligned} F_c(q_{\mathrm{f}}):= F(h_d(q_{\mathrm{f}}),q_{\mathrm{f}}) \end{aligned} $$
is an embedding; moreover, its image defines the constraint manifold in the configuration space, namely,
$$\displaystyle \begin{aligned} \tilde{{\mathcal{Q}}}=\left\{q \in {\mathcal{Q}}~|~ q = F_c(q_{\mathrm{f}}),~q_{\mathrm{f}} \in Q_{\mathrm{f}} \right\}, \end{aligned} $$
which is diffeomorphic to \({\mathcal {Q}}_{\mathrm {f}}\) under F c .
Applying the configuration constraint along a trajectory of the model yields a constraint on velocity, which, using the chain rule, can be written as
$$\displaystyle \begin{aligned} \dot{q} & = \frac{\partial F_c(q_{\mathrm{f}})}{\partial q_{\mathrm{f}}} \dot{q}_{\mathrm{f}} \end{aligned} $$
$$\displaystyle \begin{aligned} &=: J_c(q_{\mathrm{f}}) \dot{q}_{\mathrm{f}}. \end{aligned} $$
In addition, using the chain rule again, there is a constraint on acceleration:
$$\displaystyle \begin{aligned} \ddot{q}&=J_c(q_{\mathrm{f}}) \ddot{q}_{\mathrm{f}}+ H_c(q_{\mathrm{f}},\dot{q}_{\mathrm{f}}), \end{aligned} $$
where \(H_c(q_{\mathrm {f}},\dot {q}_{\mathrm {f}})\) contains quadratic terms in velocity resulting from the derivative.
Taking into account the constraints on configuration, velocity and acceleration, the reduced-order model on \(T{\mathcal {Q}}_{\mathrm {f}}\) can be written as
$$\displaystyle \begin{aligned} \tilde{D}(q_{\mathrm{f}}) \ddot{q}_{\mathrm{f}} + \tilde{H}(q_{\mathrm{f}}, \dot{q}_{\mathrm{f}})=0, \end{aligned} $$
$$\displaystyle \begin{aligned} \tilde{D}(q_{\mathrm{f}}) &:= \left. J_c(q_{\mathrm{f}})^T D(q) J_c(q_{\mathrm{f}}) \right|{}_{ q=F_c(q_{\mathrm{f}})}, \\ \tilde{H}(q_{\mathrm{f}}, \dot{q}_{\mathrm{f}}) &:= \left. J_c(q_{\mathrm{f}})^T \Big(H(q, \dot q) + D(q) H_c(q_{\mathrm{f}},\dot{q}_{\mathrm{f}}) \Big) \right|{}_{\begin{array}{l} q=F_c(q_{\mathrm{f}})\\\dot{q}=J_c(q_{\mathrm{f}}) \dot{q}_{\mathrm{f}}\end{array}}, \end{aligned} $$
$$\displaystyle \begin{aligned}H(q, \dot q):=C(q,\dot q) \dot q + G(q).\end{aligned}$$
The right-hand side of the dynamic model (21) is zero because the constraints being satisfied,
$$\displaystyle \begin{aligned}0=h\circ F_c(q_{\mathrm{f}}),\end{aligned}$$
implies that
$$\displaystyle \begin{aligned} 0=\left. \frac{\partial h(q)}{\partial q} J_c(q_{\mathrm{f}})\right|{}_{q=F_c(q_{\mathrm{f}})}. \end{aligned} $$
The solutions of the reduced-order model (21) are (exact) solutions to the full-order model (11). Indeed, if \((q_{\mathrm {f}}(t);\dot {q}_{\mathrm {f}}(t))\) is a solution of (21), then
$$\displaystyle \begin{aligned} q(t) &= F_c(q_{\mathrm{f}}(t)) \\ \dot{q}(t)&= J_c(q_{\mathrm{f}}(t)) \dot{q}_{\mathrm{f}}(t) \end{aligned} $$
is a solution of (11) with the Lagrange multiplier equal to the unique solution of (12).

5 Virtual Constraints and Zero Dynamics

Physical constraints in a mechanism guide the motion along a constraint surface, but do not impose a specific evolution with respect to time. This property seems particularly well adapted to locomotion. First of all, any attempt to describe walking, even something as simple as the difference between humanlike walking (knees bent forward) and bird-like walking (knees bent backward), inevitably leads to a description of the posture or shape of the robot throughout a step. In other words, a description of walking involves at least a partial specification of the path followed in the configuration space of the biped.

Secondly, in a controller based upon tracking of a time trajectory, if a disturbance were to affect the robot and causes its motion to be retarded with respect to the planned motion, the feedback system is then obliged to play catch up in order to regain synchrony with the reference trajectory. Presumably, what is more important is the orbit of the robot’s motion, that is, the path in state space traced out by the robot, and not the slavish notion of time imposed by a reference trajectory (think about how you respond to a heavy gust of wind when walking). A preferable situation, therefore, would be for the control system in response to a disturbance to drive the motion back to the periodic orbit, but not to attempt otherwise re-synchronizing the motion with respect to time.

With these motivations in mind, a controller based on virtual constraints is now presented. This section parallels the developments in the previous section but this time for a model with actuation. In particular, the action of contact forces and moments is replaced by actuator torques or forces. The imposed constraints will be virtual because they exist as lines of code in an embedded controller and can be modified on the fly without any physical changes to the robot. While the constraints imposed are virtual, in the authors’ opinion, they are as natural as physical constraints.

5.1 Virtual Constraints

Since the robot has k independent actuators, k virtual constraints can be generated by the actuators. The virtual constraints are expressed as outputs applied to the model (3), and a feedback controller must be designed that drives asymptotically to zero the output function. In order to emphasize the parallels between virtual and physical constraints, the output is written as
$$\displaystyle \begin{aligned} y = h({q}) := q_{\mathrm{c}}-h_d(q_{\mathrm{f}}), \end{aligned} $$
where \(q_{\mathrm {c}} \in {\mathcal {Q}}_{\mathrm {c}} \subset \mathbb {R}^k\), and \(q_{\mathrm {f}} \in {\mathcal {Q}}_{\mathrm {f}} \subset \mathbb {R}^{N-k}\) with (q c, q f) forming a set of generalized configuration variables for the robot (i.e., such that a diffeomorphism \(F:{\mathcal {Q}}_{\mathrm {c}} \times {\mathcal {Q}}_{\mathrm {f}} \to {\mathcal {Q}}\) exists). The interpretation is that q c represents a collection of variables that one wishes to “control” or “regulate,” while q f is a complementary set of variables that remain “free.” Later, a special case of h d (q f) will be introduced that highlights a gait phasing variable, which makes it easier to interpret the virtual constraint in many instances.
The configuration constraint surface for the virtual constraints is identical to the case of physical constraints in (17). Adding the velocities to the configuration variables gives the zero dynamics manifold:
$$\displaystyle \begin{aligned} \mathcal{Z}:&=\left\{(q,\dot{q}) \in T{\mathcal{Q}}~| y = h(q) = 0, ~\dot{y}=\frac{\partial h(q)}{\partial q}\dot{q}=0\right\}\\ &=\{(q,\dot{q}) \in T{\mathcal{Q}}~| q=F_c(q_{\mathrm{f}}), \dot{q}=J_c(q_{\mathrm{f}}) \dot{q}_{\mathrm{f}}, ~~(q_{\mathrm{f}}, \dot{q}_{\mathrm{f}}) \in T{\mathcal{Q}}_{\mathrm{f}} \}, \end{aligned} $$
which is diffeomorphic to \(T{\mathcal {Q}}_{\mathrm {f}}\). The terminology “zero dynamics manifold” comes from [8]. It is the state space for the internal dynamics compatible with the outputs being identically zero. For the underactuated systems studied here, the dimension of the zero dynamics manifold is 2(N − k).
The torque u required to remain on the zero dynamics manifold is computed by substituting the controlled model (1) into (12) and solving for the input yielding \(\ddot {y}=0\). This gives
$$\displaystyle \begin{aligned} u^\ast =\Big(\frac{\partial h(q)}{\partial q}D^{-1}(q)B\Big)^{-1}\left( { - \frac{\partial }{\partial q}\left( \frac{\partial h(q)}{\partial q}\dot{q} \right)\dot{q}+\frac{\partial h(q)}{\partial q}D^{-1}(q)H(q,\dot {q}) } \right). \end{aligned} $$
For u to be well defined, the decoupling matrix
$$\displaystyle \begin{aligned} A(q): = \frac{\partial h(q)}{\partial q}D^{-1}(q)B \end{aligned} $$
must be invertible. In the case of physical constraints, the invertibility of (14) was automatic as long as the constraint was regular. With virtual constraints, the invertibility of the decoupling matrix is not automatic and must be checked. Numerous examples exist, nevertheless, that show it is straightforward to meet this condition. Later in the chapter, it is shown how to compute the decoupling matrix without inverting the inertia matrix.

Remark 1

In the control literature, the output (23) is said to have vector relative degree two. More general constraints can be handled.

Another difference with physical constraints is that it is possible for the system to be either initialized off the virtual constraint surface or perturbed off it. Feedback is therefore required to asymptotically drive the state of the robot to the constraint surface. The feedforward term u can be modified to an input-output linearizing controller [48, Chap. 5]:
$$\displaystyle \begin{aligned} u=u^{\ast} - A(q)^{-1}\left(\frac{K_p }{\varepsilon ^2}y+\frac{K_d }{\varepsilon}\dot {y}\right), {} \end{aligned} $$
which results in
$$\displaystyle \begin{aligned} \ddot {y}+\frac{K_d }{\varepsilon}\dot {y}+\frac{K_p }{\varepsilon ^2}y=0. \end{aligned} $$
A richer set of feedback controllers based on control Lyapunov functions is given in [5].

Like physical constraints, under certain regularity conditions, virtual constraints induce a low-dimensional invariant model of the swing phase dynamics. The low-dimensional model is called the zero dynamics in the nonlinear control literature [8]. The main novelty required in biped locomotion arises from the hybrid nature of the models, which gives rise to the hybrid zero dynamics [49].

The zero dynamics of the hybrid model (6) with output (23) are developed in a two-step process. First, the zero dynamics of the (non-hybrid) nonlinear model consisting of the swing phase dynamics (3) and the output (23) are characterized, and then, second, an impact invariance condition is imposed on the swing phase zero dynamics manifold to obtain the hybrid zero dynamics.

5.2 The Swing Phase Zero Dynamics

The objective is to characterize the swing phase model (1) restricted to the constraint surface (24). The zero dynamics, by definition, reflects the internal dynamics when the output is identically zero, meaning the system evolves on the constraint surface. The development is analogous to the case of physical constraints, once the invertibility of a key matrix is established.

Proposition 1

Let B be a (N  k) × N matrix of rank N  k such that B B = 0, and suppose that the decoupling matrix (26) is invertible at a point q. Then the following matrices are each N × N and have rank N:
$$\displaystyle \begin{aligned}\left[ \begin{array}{c} \frac{\partial h(q)}{\partial q} \\ B^\perp D(q)\end{array} \right], ~ \left[ \begin{array}{c} \frac{\partial h(q)}{\partial q} D^{-1}(q) \\ B^\perp \end{array} \right],~and~~ \left[ \begin{array}{cc} \frac{\partial h(q)}{\partial q} D^{-1}(q) B & ~~~~\frac{\partial h(q)}{\partial q} D^{-1}(q) \left(B^\perp \right)^T\\ 0 & B^\perp \left(B^\perp \right)^T \end{array} \right],~ \end{aligned}$$

The proof is sketched. Multiplying the leftmost matrix by the inverse of D(q) gives the matrix in the middle. Multiplying the matrix in the middle by the full rank matrix \([B~|\left (B^\perp \right )^T]\) gives the rightmost matrix. This matrix is full rank because it is block upper triangular with the upper left block being the decoupling matrix, which has full rank by assumption, and the lower right block has full rank by standard properties of matrices. This completes the proof.

Multiplying the leftmost matrix by the Jacobian of \(F_c: {\mathcal {Q}}_{\mathrm {f}} \to {\mathcal {Q}}\) and restricting to the constraint surface gives
$$\displaystyle \begin{aligned}\left. \left[ \begin{array}{c} \frac{\partial h(q)}{\partial q} J_c(q_{\mathrm{f}}) \\ B^\perp D(q) J_c(q_{\mathrm{f}})\end{array} \right] \right|{}_{ q=F_c(q_{\mathrm{f}})} = \left. \left[ \begin{array}{c} 0 \\ B^\perp D(q)J_c(q_{\mathrm{f}})\end{array} \right] \right|{}_{ q=F_c(q_{\mathrm{f}})}, \end{aligned}$$
where (22) has been used. The proposition and the fact that J c (q f) has rank N − k give the following result.

Corollary 1

Let B be a (N  k) × N matrix of rank N  k such that B B = 0, and suppose that the decoupling matrix (26) is invertible at a point q = F c (q f). Then the matrix
$$\displaystyle \begin{aligned} \left. M(q_{\mathrm{f}}):=B^\perp D(q) J_c(q_{\mathrm{f}}) \right|{}_{ q=F_c(q_{\mathrm{f}})}, \end{aligned} $$

is invertible.

Armed with the corollary, the calculation of the reduced-order model associated with the virtual constraints is very similar to the case of physical constraints. Multiplying the controlled system (1) on the left by B as in [40, 41] gives
$$\displaystyle \begin{aligned} B^\perp D(q) \ddot{q} + B^\perp H(q,\dot{q}) = 0. \end{aligned} $$
Using (20) and restricting to \(\mathcal {Z}\) give
$$\displaystyle \begin{aligned} \left.B^\perp D(q) J_c(q_{\mathrm{f}}) \ddot{q_{\mathrm{f}}} + B^\perp \left[ D(q) H_c(q_{\mathrm{f}},\dot{q_{\mathrm{f}}}) + H(q,\dot{q}) \right]= 0 \right|{}_{\begin{array}{l} q=F_c(q_{\mathrm{f}})\\ \dot{q}=J_c(q_{\mathrm{f}}) \dot{q_{\mathrm{f}}}\end{array}}, \end{aligned} $$
yielding a second-order model analogous to (21):
$$\displaystyle \begin{aligned} M(q_{\mathrm{f}}) \ddot{q_{\mathrm{f}}} + H_{\mathrm{zero}}(q_{\mathrm{f}},\dot{q_{\mathrm{f}}}) = 0, \end{aligned} $$
$$\displaystyle \begin{aligned}H_{\mathrm{zero}}(q_{\mathrm{f}},\dot{q_{\mathrm{f}}}):= \left. B^\perp \left[ D(q) H_c(q_{\mathrm{f}},\dot{q_{\mathrm{f}}}) + H(q,\dot{q}) \right] \right|{}_{\begin{array}{l} q=F_c(q_{\mathrm{f}})\\ \dot{q}=J_c(q_{\mathrm{f}}) \dot{q_{\mathrm{f}}}\end{array}}.\end{aligned}$$
From this equation, a state variable model for the zero dynamics can be obtained. Selecting
$$\displaystyle \begin{aligned}z=\left[\begin{array}{c} z_1\\ z_2 \end{array}\right]:=\left[\begin{array}{c} q_{\mathrm{f}}\\ \dot{q}_{\mathrm{f}} \end{array}\right]\end{aligned}$$
$$\displaystyle \begin{aligned} \dot z & = \left[ \begin{array}{c} z_2\\ - M^{-1}(z_1) H_{\mathrm{zero}}(z_1,z_2) \end{array}\right] \end{aligned} $$
$$\displaystyle \begin{aligned} & =: f_{\mathrm{zero}}(z). {} \end{aligned} $$
An alternative form for the zero dynamics can be obtained from the Lagrangian nature of (1). Let
$$\displaystyle \begin{aligned}L(q,\dot{q})=\frac{1}{2} \dot{q}^T D(q) \dot{q}- V(q)\end{aligned}$$
denote the Lagrangian of the model. Then from Lagrange’s equation
$$\displaystyle \begin{aligned}\frac{d}{dt} B^\perp \frac{\partial L}{\partial \dot{q} } = B^\perp \frac{\partial L}{\partial q },\end{aligned}$$
because B Bu = 0. The term \(B^\perp \frac {\partial L}{\partial \dot {q} }\) is a form of generalized angular momentum. Restricting to the zero dynamics manifold gives
$$\displaystyle \begin{aligned}\dot{\sigma}_{\mathrm{f}} = \kappa(q_{\mathrm{f}},\dot{q}_{\mathrm{f}}),\end{aligned}$$
$$\displaystyle \begin{aligned} \sigma_{\mathrm{f}}&:=M(q_{\mathrm{f}}) \dot{q}_{\mathrm{f}} \\ \kappa(q_{\mathrm{f}},\dot{q}_{\mathrm{f}}) &:= \left. B^\perp \frac{\partial L(q,\dot{q}) }{\partial q } \right|{}_{ \begin{array}{l} q=F_c(q_{\mathrm{f}})\\ \dot{q}=J_c(q_{\mathrm{f}}) \dot{q_{\mathrm{f}}}\end{array} }. \end{aligned} $$
Choosing the zero dynamics coordinates as
$$\displaystyle \begin{aligned}z=\left[\begin{array}{c} z_1\\ z_2 \end{array}\right]:=\left[\begin{array}{c} q_{\mathrm{f}}\\ \sigma_{\mathrm{f}} \end{array}\right]\end{aligned}$$
$$\displaystyle \begin{aligned} \dot z & = \left[ \begin{array}{c} M^{-1}(z_1) z_2\\ \bar{\kappa}(z_1,z_2) \end{array}\right] {}\\ & =: f_{\mathrm{zero}}(z),\end{aligned} $$
where \(\bar {\kappa }(z_1,z_2) = \kappa (z_1, M^{-1}(z_1)z_2)\).

5.3 The Hybrid Zero Dynamics

To obtain the hybrid zero dynamics , illustrated in Fig. 2, the zero dynamics manifold must be invariant under the impact map, that is
$$\displaystyle \begin{aligned} \Delta (\mathcal{S} \cap \mathcal{Z}) \subset \mathcal{Z}. \end{aligned} $$
This condition means that when a solution evolving on \(\mathcal {Z}\) meets the switching surface, \(\mathcal {S}\), the new initial condition arising from the impact map is once again on \(\mathcal {Z}\).
Fig. 2

In (a) hybrid invariant manifold. In (b), as \(||y(t);\dot {y}(t)||\) tends to zero, the solution of the closed-loop system approaches the zero dynamics manifold, \(\mathcal {Z}\)

Definition 1 (Hybrid zero dynamics [49])

Consider the hybrid model (6) and output (23). Suppose that the decoupling matrix (26) is invertible, and let \(\mathcal {Z}\) and \(\dot z = f_{\mathrm {zero}}(z)\) be the associated zero dynamics manifold and zero dynamics of the swing phase model. Suppose that \(\mathcal {S} \cap \mathcal {Z}\) is a smooth, co-dimension one, embedded submanifold of \(\mathcal {Z}\). Suppose furthermore that \(\Delta (\mathcal {S} \cap \mathcal {Z}) \subset \mathcal {Z}.\) Then, the nonlinear system with impulse effects,
$$\displaystyle \begin{aligned} \varSigma_{\mathrm{zero}}: \begin{cases} \begin{aligned} \dot z & = f_{\mathrm{zero}}(z), & z^- & \notin \mathcal{S}\cap \mathcal{Z}\\ z^+ & = \Delta_{\mathrm{zero}}(z^-), & z^- & \in \mathcal{S}\cap \mathcal{Z}, \end{aligned} \end{cases} \end{aligned} $$
with \(\Delta _{\mathrm {zero}}:= \left . \Delta \right |{ }_{\mathcal {S}\cap \mathcal {Z}}\), is the hybrid zero dynamics.
The invariance condition (36) is equivalent to
$$\displaystyle \begin{aligned} 0=&h\circ \Delta_{q}(q) \end{aligned} $$
$$\displaystyle \begin{aligned} 0=& \left. \frac{\partial h(\bar{q})}{\partial q} \right|{}_{\bar{q}=\Delta_{q}(q)} \Delta_{\dot q}(q)\, \dot{q} \end{aligned} $$
for all \((q;\dot {q})\) satisfying
$$\displaystyle \begin{aligned} h(q) =0, ~~\frac{\partial h(q)}{\partial q} \dot{q} =& 0 \end{aligned} $$
$$\displaystyle \begin{aligned} p^{\mathrm{z}}_2(q) = 0,~~\dot{p}^{\mathrm{z}}_2(q, \dot{q})<& 0. \end{aligned} $$
At first glance, these conditions appear to be very hard to meet. In the case of models with one degree of underactuation (i.e., k = N − 1), however, it is known that if a single nontrivial solution of the zero dynamics satisfies these conditions, then all solutions of the zero dynamics will satisfy them [48, Thm. 5.2]. In the case of systems with more than one degree of underactuation, systematic methods have been developed which modify the virtual constraints “at the boundary” and allow the conditions to be met [30]. Very straightforward implementations of the result are presented for 3D robots in [12] and [18].

Remark 2

When low-dimensional pendulum models are used for gait design, they approximate the swing phase dynamics and the impact map is ignored. The zero dynamics is an exact low-dimensional model that captures the underactuated nature of the robot. Presumably, one could use it without insisting on the impact invariance condition (36).

5.4 Calculating the Feedback Controller

An alternative expression for the torque u on the zero dynamics manifold can be given. Let B + be the pseudoinverse of the full rank matrix B. Then
$$\displaystyle \begin{aligned} u^\ast = B^+ D(q) J_c(q_{\mathrm{f}}) \ddot{q_{\mathrm{f}}} + B^+ \left[H(q,\dot{q}) + D(q) H_c(q_{\mathrm{f}},\dot{q_{\mathrm{f}}}) \right] \bigg|{}_{\begin{array}{l} q=F_c(q_{\mathrm{f}})\\ \dot{q}=J_c(q_{\mathrm{f}}) \dot{q_{\mathrm{f}}}\end{array}} . \end{aligned} $$
In other words, the control signal required to remain on the zero dynamics manifold can be recovered directly from knowledge of the solution to any one of (32), (34), or (35). In particular, it is not necessary to explicitly compute the decoupling matrix.

A similar expression can be developed to calculate the torque ensuring convergence toward the zero dynamics surface, once again without explicitly computing the decoupling matrix. The important advantage over (27) is that the matrix to invert has dimension equal to the unactuated degrees of freedom in the model, which is typically much smaller than N or k.

Suppose that the control objective is
$$\displaystyle \begin{aligned} \ddot {y} = \varGamma(y, \dot{y}); \end{aligned} $$
a special case would be (28). By definition of the virtual constraint, the output and its derivatives are
$$\displaystyle \begin{aligned} y &= q_{\mathrm{c}}-h_d(q_{\mathrm{f}}), {} \end{aligned} $$
$$\displaystyle \begin{aligned} \dot y &= \dot{q}_{\mathrm{c}} - \frac{\partial h_d(q_{\mathrm{f}})}{\partial q_{\mathrm{f}}} \dot{q}_{\mathrm{f}}, {} \end{aligned} $$
$$\displaystyle \begin{aligned} \ddot y &= \ddot{q}_{\mathrm{c}} - \frac{\partial h_d(q_{\mathrm{f}})}{\partial q_{\mathrm{f}}} \ddot{q}_{\mathrm{f}} - \frac{\partial}{\partial q_{\mathrm{f}}} \left(\frac{\partial h_d(q_{\mathrm{f}})}{\partial q_{\mathrm{f}}} \dot{q}_{\mathrm{f}} \right)\dot{q}_{\mathrm{f}}. {} \end{aligned} $$
Using Eq. (43) to define \(\ddot {y}\), it follows that the acceleration of the controlled variable in closed-loop satisfies
$$\displaystyle \begin{aligned} \ddot{q}_{\mathrm{c}} = \frac{\partial h_d(q_{\mathrm{f}})}{\partial q_{\mathrm{f}}} \ddot{q}_{\mathrm{f}} + \frac{\partial}{\partial q_{\mathrm{f}}} \left(\frac{\partial h_d(q_{\mathrm{f}})}{\partial q_{\mathrm{f}}} \dot{q}_{\mathrm{f}} \right)\dot{q}_{\mathrm{f}}+ \varGamma(y, \dot{y}), \end{aligned} $$
where y and \(\dot {y}\) are computed in (44) and (45).
Turning now to the dynamic model (1) and using
$$\displaystyle \begin{aligned} q &= F(q_{\mathrm{c}},q_{\mathrm{f}}), {} \end{aligned} $$
$$\displaystyle \begin{aligned} \dot q &= \frac{\partial F(q_{\mathrm{c}},q_{\mathrm{f}})}{\partial q_{\mathrm{c}}} \dot{q}_{\mathrm{c}} + \frac{\partial F(q_{\mathrm{c}},q_{\mathrm{f}})}{\partial q_{\mathrm{f}}} \dot{q}_{\mathrm{f}}, {} \end{aligned} $$
$$\displaystyle \begin{aligned} \ddot q &= \frac{\partial F(q_{\mathrm{c}},q_{\mathrm{f}})}{\partial q_{\mathrm{c}}} \ddot{q}_{\mathrm{c}} + \frac{\partial F(q_{\mathrm{c}},q_{\mathrm{f}})}{\partial q_{\mathrm{ f}}} \ddot{q}_{\mathrm{f}} + \varPsi(q_{\mathrm{c}},q_{\mathrm{f}},\dot{q}_{\mathrm{c}},\dot{q}_{\mathrm{f}}) {} \end{aligned} $$
in combination with (47) result in
$$\displaystyle \begin{aligned} \bar{D}(q_{\mathrm{c}},q_{\mathrm{f}}) J_r(q_{\mathrm{c}},q_{\mathrm{f}}) \ddot{q}_{\mathrm{f}} + \varOmega(q_{\mathrm{c}},q_{\mathrm{f}},\dot{q}_{\mathrm{c}},\dot{q}_{\mathrm{ f}},y,\dot{y}) = B u, \end{aligned} $$
$$\displaystyle \begin{aligned} \bar{D}(q_{\mathrm{c}},q_{\mathrm{f}}) &= D(q) \bigg|{}_{q=F(q_{\mathrm{c}},q_{\mathrm{f}})} \\ J_r(q_{\mathrm{c}},q_{\mathrm{f}}) &= \frac{\partial F(q_{\mathrm{c}},q_{\mathrm{f}})}{\partial q_{\mathrm{c}}} \frac{\partial h_d(q_{\mathrm{f}})}{\partial q_{\mathrm{f}}}+ \frac{\partial F(q_{\mathrm{c}},q_{\mathrm{ f}})}{\partial q_{\mathrm{f}}} \\ \varOmega(q_{\mathrm{c}},q_{\mathrm{f}},\dot{q}_{\mathrm{c}},\dot{q}_{\mathrm{f}}, y,\dot{y}) &= \bar{D}(q_{\mathrm{c}},q_{\mathrm{f}}) \bigg[ \frac{\partial F(q_{\mathrm{ c}},q_{\mathrm{f}})}{\partial q_{\mathrm{c}}} \bigg( \frac{\partial}{\partial q_{\mathrm{f}}} \left(\frac{\partial h_d(q_{\mathrm{f}})}{\partial q_{\mathrm{f}}} \dot{q}_{\mathrm{f}} \right)\dot{q}_{\mathrm{f}} \\ &\quad +\varGamma(y, \dot{y}) \bigg) + \varPsi(q_{\mathrm{c}},q_{\mathrm{f}},\dot{q}_{\mathrm{c}},\dot{q}_{\mathrm{f}}) \bigg] + \bar{H}(q_{\mathrm{c}},q_{\mathrm{f}},\dot{q}_{\mathrm{ c}},\dot{q}_{\mathrm{f}}) \\ \varPsi(q_{\mathrm{c}},q_{\mathrm{f}},\dot{q}_{\mathrm{c}},\dot{q}_{\mathrm{f}})&=\frac{\partial}{\partial (q_{\mathrm{c}}, q_{\mathrm{f}}) } \left( \frac{\partial F(q_{\mathrm{ c}},q_{\mathrm{f}})}{\partial (q_{\mathrm{c}}, q_{\mathrm{f}}) } \left[\begin{array}{l} \dot{q}_{\mathrm{c}} \\ \dot{q}_{\mathrm{f}} \end{array} \right] \right) \left[\begin{array}{l} \dot{q}_{\mathrm{c}} \\ \dot{q}_{\mathrm{f}} \end{array} \right] \\ \bar{H}(q_{\mathrm{c}},q_{\mathrm{f}},\dot{q}_{\mathrm{c}},\dot{q}_{\mathrm{f}})&= C(q,\dot{q})\dot{q} + G(q) \bigg|{}_{\begin{array}{l} q=F(q_{\mathrm{c}},q_{\mathrm{f}})\\ \dot{q}=\frac{\partial F(q_{\mathrm{c}},q_{\mathrm{f}})}{\partial q_{\mathrm{c}}} \dot{q}_{\mathrm{c}} + \frac{\partial F(q_{\mathrm{c}},q_{\mathrm{f}})}{\partial q_{\mathrm{f}}} \dot{q}_{\mathrm{f}} \end{array} } \end{aligned} $$
Multiplying (51) on the left by the full rank matrix
$$\displaystyle \begin{aligned}\left[ \begin{array}{c} B^\perp \\ B^+ \end{array}\right] \end{aligned}$$
$$\displaystyle \begin{aligned} B^\perp \bar{D}(q_{\mathrm{c}},q_{\mathrm{f}}) J_r(q_{\mathrm{c}},q_{\mathrm{f}}) \ddot{q}_{\mathrm{f}} +B^\perp \varOmega(q_{\mathrm{c}},q_{\mathrm{f}},\dot{q}_{\mathrm{ c}},\dot{q}_{\mathrm{f}},y,\dot{y}) &= 0 \end{aligned} $$
$$\displaystyle \begin{aligned} B^+ \bar{D}(q_{\mathrm{c}},q_{\mathrm{f}}) J_r(q_{\mathrm{c}},q_{\mathrm{f}}) \ddot{q}_{\mathrm{f}} +B^+ \varOmega(q_{\mathrm{c}},q_{\mathrm{f}},\dot{q}_{\mathrm{ c}},\dot{q}_{\mathrm{f}},y,\dot{y}) &= u. \end{aligned} $$
It follows that a feedback control law achieving (43) is
$$\displaystyle \begin{aligned} u&= B^+ \bar{D}(q_{\mathrm{c}},q_{\mathrm{f}}) J_r(q_{\mathrm{c}},q_{\mathrm{f}}) v +B^+ \varOmega(q_{\mathrm{c}},q_{\mathrm{f}},\dot{q}_{\mathrm{c}},\dot{q}_{\mathrm{f}},y,\dot{y}) \end{aligned} $$
$$\displaystyle \begin{aligned} v &= -\left(B^\perp \bar{D}(q_{\mathrm{c}},q_{\mathrm{f}}) J_r(q_{\mathrm{c}},q_{\mathrm{f}})\right)^{-1} B^\perp \varOmega(q_{\mathrm{c}},q_{\mathrm{f}},\dot{q}_{\mathrm{ c}},\dot{q}_{\mathrm{f}},y,\dot{y}). \end{aligned} $$
This form of the feedback law only requires the inversion of an (N − k) × (N − k) matrix, where the size corresponds to the number of unactuated coordinates. Corollary 1 guarantees that the matrix is invertible near the zero dynamics manifold. A uniqueness result in [8] implies that u in (54) when restricted to \(\mathcal {Z}\) is equal to u in (25) and (42).

Remark 3

Commonly, q c and q f are a linear function of q, which then greatly simplifies many of the above equations.

6 Stability Analysis with Hybrid Zero Dynamics

This section first presents the relation between the stability of a periodic solution in the full-order model and in the hybrid zero dynamics. The stability of periodic orbits within the hybrid zero dynamics is subsequently analyzed.

6.1 Closed-Loop Stability with Zero Dynamics

Consider a Lipschitz continuous feedback law
$$\displaystyle \begin{aligned} u = \alpha(x,\epsilon) \end{aligned} $$
that depends on a tuning parameter 𝜖 > 0, and apply it to the model (6). Let P 𝜖  : S → S be the Poincaré (return) map (It is in general a partial map and depends on the tuning parameter through the feedback (56). It is defined by starting with a point in \(\mathcal {S}\), applying the impact map, using this as an initial condition of the closed-loop ODE, and following the flow until it first crosses \(\mathcal {S}\) at time T I ; see [48, Chap. 4] for a careful definition.) of the closed-loop system, defined in the usual way. For a given 𝜖 > 0, x ∈ S is a fixed point if P 𝜖 (x ) = x , which is well-known to be equivalent to the existence of a periodic solution of the closed-loop system.
The feedback (56) is compatible with the zero dynamics if
$$\displaystyle \begin{aligned} \left. \alpha(x,\epsilon)\right|{}_{Z} = \left. u^\ast(x)\right|{}_{Z}. \end{aligned} $$
In this case, if Δ(x ) ∈ Z, then the periodic solution is independent of the tuning parameter 𝜖. Based on [5], the feedback is said to drive the virtual constraints rapidly exponentially to zero if there exist constants β > 0 and γ > 0 such that, for each 𝜖 > 0, there exists δ > 0, such for all x 0 ∈ B δ (Δ(x )):
$$\displaystyle \begin{aligned} ||y(t,x_0), \dot{y}(t,x_0)|| \le \frac{\beta}{\epsilon} e^{-\frac{\gamma}{\epsilon }t} ||y(0),\dot{y}(0)||. \end{aligned} $$

Theorem 1 ( [5, 30])

Determining Closed-loop Stability from the HZD Suppose that the virtual constraints (23) satisfy:
  1. (a)

    the decoupling matrix is invertible,

  2. (b)

    the associated zero dynamics manifold \(\mathcal {Z}\) is hybrid invariant, and

  3. (c)

    there exists a point x  S  Z giving rise to a periodic orbit.

Assume moreover that the feedback (56):
  1. (d)

    is compatible with the zero dynamics in the sense of (57) and

  2. (e)

    drives the virtual constraints rapidly exponentially to zero.

Then there exists \(\bar {\epsilon } > 0\) such that for \(0 < \epsilon < \bar {\epsilon }\) , the following are equivalent:
  1. (i)

    the periodic orbit is locally exponentially stable;

  2. (ii)

    x is an exponentially stable fixed point of P 𝜖 ; and

  3. (iii)

    x is an exponentially stable fixed point of ρ,

where the restricted Poincaré map
$$\displaystyle \begin{aligned} \rho := P^{\epsilon}|{}_{\mathcal{S} \cap \mathcal{Z}} \end{aligned} $$

is the Poincaré map of the hybrid zero dynamics, is independent of the feedback, and hence is also independent of 𝜖. \(\Box \)

Remark 4

It is reemphasized that periodic orbits of the hybrid zero dynamics are periodic orbits of the full-dimensional model. Two feedback controllers are provided in [29, 49] for exponentially stabilizing these orbits in the full-dimensional model, (3), and a third family of feedback controllers is presented in [5].

6.2 Special Case of One Degree of Underactuation

When there is only one degree of underactuation , the restricted Poincaré map \(\rho := P^{\epsilon }|{ }_{\mathcal {S} \cap \mathcal {Z}}\) is one-dimensional and can be computed in closed form. While one degree of underactuation is primarily a “planar” (2D) robot phenomenon, it has also been used in 3D robots [44] with both single and (nontrivial) double support phases.

The analysis here is from [48, Chap. 6], which shows that in the case of one degree of underactuation, the zero dynamics can be written in a particularly simple form. Let θ be a configuration variable tied to the world frame, such as the absolute angle of the line connecting the stance hip to the end of the stance leg, and let σ be the generalized angular momentum conjugate to θ. Then in the coordinates (θ, σ), (35) becomes
$$\displaystyle \begin{aligned} \begin{array}{rcl} \dot \theta &\displaystyle = &\displaystyle \kappa_{1}(\theta)\sigma {} \end{array} \end{aligned} $$
$$\displaystyle \begin{aligned} \begin{array}{rcl} \dot{\sigma} &\displaystyle = &\displaystyle \kappa_{2}(\theta) {}, \end{array} \end{aligned} $$
where κ 2 is now independent of angular momentum. Assume the virtual constraints have been selected such that the zero dynamics admit a periodic orbit, as in Theorem 1. It can be shown that \( \dot \theta \) and σ will not change signs. Assume furthermore there exists a single point θ such that the swing foot height decreases to zero, with a strictly negative impact velocity in the vertical direction. In this case, [48, Chap. 6] shows that the impact surface in the zero dynamics can be written:
$$\displaystyle \begin{aligned} \mathcal{S} \cap \mathcal{Z} = \left\{(\theta^-;\sigma^-)~|~\sigma^- \in {{\mathbb{R}}^{}}\right\}. \end{aligned} $$
For \((\theta ^-;\sigma ^-) \in \mathcal {S} \cap \mathcal {Z}\), let
$$\displaystyle \begin{aligned}(\theta^+;\sigma^+) = \Delta_{\mathrm{zero}}(\theta^-;\sigma^-).\end{aligned}$$
The impact map of Sect. 3.2, which is based on [25], respects conservation of angular momentum (see [48, Eqn. (3.20)]). It follows that
$$\displaystyle \begin{aligned} \sigma^+=\sigma^- + m d \dot z^- \end{aligned} $$
where d is the distance between the feet (measured along the x-axis) and \(\dot {z}^{-}\) the vertical velocity of the center of mass just before impact. In general, \(\dot {z}\) is linear with respect to joint velocities, and on \(\mathcal {Z}\), it is therefore proportional to \(\dot {\theta }\). Hence, using (60a) and the chain rule
$$\displaystyle \begin{aligned} \sigma^+&=\sigma^- + m d \frac{d z(\theta^-)}{d \theta} \kappa_{1}(\theta^-)\sigma^- \end{aligned} $$
$$\displaystyle \begin{aligned} \sigma^+&=: \delta_{\mathrm{zero}} \sigma^-, \end{aligned} $$
where it is noted that δ zero < 1 when \(\dot z^-<0\), that is, when the vertical velocity of the center of mass is directed downward at the end of the step.
The hybrid zero dynamics is thus given by (60) during the swing phase, and at impact with \(\mathcal {S} \cap \mathcal {Z}\), the re-initialization rule (64) is applied. For θ + ≤ ξ 1 ≤ θ , define
$$\displaystyle \begin{aligned} V_{\mathrm{zero}}(\theta) := -\int_{\theta^+}^{\theta}\frac{\kappa_{2}(\xi)}{\kappa_{1}(\xi)}\, d\xi. \end{aligned} $$
A straightforward computation shows that \({\mathcal {L}}_{\mathrm {zero}} := K_{\mathrm {zero}} - V_{\mathrm {zero}}\) [49], where
$$\displaystyle \begin{aligned} K_{\mathrm{zero}} = \frac{1}{2} \sigma ^2, \end{aligned} $$
is a Lagrangian of the swing phase zero dynamics (60). This implies, in particular, that the total energy \({\mathcal {E}}_{\mathrm {zero}} := K_{\mathrm {zero}} + V_{\mathrm {zero}}\) is constant along solutions of the swing phase zero dynamics. Note that the energy \({\mathcal {E}}_{\mathrm {zero}}\) is not the total energy of the initial system evaluated on the zero dynamics. Indeed, the total energy of the original system is not constant along solutions because actuator power is being injected to create the virtual constraints. One might call \({\mathcal {E}}_{\mathrm {zero}} \) pseudo-energy; its relation to stability is illustrated in Fig. 3.
Fig. 3

A qualitative look at stability through pseudo-energy [48]. The zero dynamics is Lagrangian, and thus throughout the single support phase, the corresponding total energy \(V_{\mathrm {zero}}(\theta )+ \frac {1}{2} {\sigma }^2\) is constant. At impact, the change in total energy depends on the angular momentum through δ zero σ and the potential energy through V zero(θ ). The total energy corresponding to the periodic orbit is \(V_{\mathrm {zero}}(\theta ^-)+ \frac {1}{2} ({\sigma }^*)^{2}\). Convergence to this total energy level occurs if the angular momentum decreases during impact, namely, δ zero < 1. From the expression for the existence of a periodic orbit, δ zero < 1 is equivalent to V zero(θ ) < 0

The analysis of periodic orbits of the hybrid zero dynamics is based on the restricted Poincaré map. Take the Poincaré section to be \(\mathcal {S} \cap \mathcal {Z}\) and let
$$\displaystyle \begin{aligned} \rho: \mathcal{S} \cap \mathcal{Z} \to \mathcal{S} \cap \mathcal{Z} \end{aligned} $$
denote the Poincaré (first return) map of the hybrid zero dynamics. Using the fact that the total energy \({\mathcal {E}}_{\mathrm {zero}}\) is constant along solutions of the swing phase zero dynamics, the Poincaré map is shown in [48, pp. 129] to be
$$\displaystyle \begin{aligned} \rho(\zeta^-) = \delta_{\mathrm{zero}}^2\,\zeta^- - V_{\mathrm{zero}}(\theta^-), \end{aligned} $$
where \(\zeta ^- := \frac {1}{2} (\sigma ^-)^2\), and its domain of definition is
$$\displaystyle \begin{aligned} {\mathcal{D}}_{\mathrm{zero}}= \left\{ \zeta^- > 0~\big|~\delta_{\mathrm{zero}}^2 \, \zeta^- - V_{\mathrm{zero}}^{\max{}} > 0 \right\}, \end{aligned} $$
$$\displaystyle \begin{aligned} V_{\mathrm{zero}}^{\max{}} := \max_{\theta^+ \le \theta \le \theta^-} V_{\mathrm{zero}}(\theta). \end{aligned} $$
The domain \({\mathcal {D}}_{\mathrm {zero}}\) is nonempty if, and only if, \(\delta _{\mathrm {zero}}^2>0\). Whenever \(\delta _{\mathrm {zero}}^2 < 1\), the fixed point of (68)
$$\displaystyle \begin{aligned} \zeta^* := -\frac{V_{\mathrm{zero}}(\theta^-)}{1-\delta_{\mathrm{zero}}^2}, \end{aligned} $$
will be exponentially stable as long as it belongs to \(\mathcal {D}_{\mathrm {zero}}\). The conditions for there to exist an exponentially stable periodic orbit of (37) are thus
$$\displaystyle \begin{gathered}{} \frac{\delta_{\mathrm{zero}}^2}{1-\delta_{\mathrm{zero}}^2}V_{\mathrm{zero}}(\theta^-) + V_{\mathrm{zero}}^{\max{}} < 0 \end{gathered} $$
$$\displaystyle \begin{gathered} 0 < \delta_{\mathrm{zero}}^2 < 1.{} \end{gathered} $$

Remark 5

In the case of a single degree of underactuation, (62), (63), and (64) imply that the stability of the periodic orbit in the zero dynamics is determined by the direction of the vertical velocity of the center of mass at the end of the step and is essentially independent of the particular choice of virtual constraints used to realize the orbit. Stated a bit more precisely, different choices of q c, q f, and h d in (23), each with an invertible decoupling matrix and each defining a virtual constraint that is identically zero along the same periodic orbit, will result in a hybrid zero dynamics with the same stability properties. Other aspects of the transient behavior, such as the basin of attraction or how much control effort is required to return to the periodic orbit, may be different.

Remark 6

The motion corresponding to the 3D linear inverted pendulum (3D-LIP), widely used in control of humanoid robots, constrains the center of mass such that z(t) is constant. From (63), a similar motion in the zero dynamics would result in δ zero = 1 and, consequently, would not be exponentially stable.

6.3 Higher Degrees of Underactuation

When two or more degrees of underactuation are considered, the dimension of the zero dynamics is then greater than or equal to four, and the restricted Poincaré map (59) can no longer be computed in closed form. While its numerical calculation remains a valid means to analyze the stability of a periodic solution, it is more challenging to extract information for synthesis of a gait. In addition, when there are two or more degrees of underactuation, it has been shown that stability of a periodic motion within the zero dynamics does indeed depend on the choice of the virtual constraints, in contrast to the case of one degree of underactuation analyzed above. Reference [12] gives two choices of virtual constraints that result in the same periodic solution of the robot, and yet the periodic orbit is asymptotically stable for one of the choices and unstable for the other; see [7] for additional examples. In each of the cited examples, stability was recovered by judiciously modifying a virtual constraint in the “frontal plane.”

In the case of one degree of underactuation, the freedom coming from the fact that the joint path is controlled but not the time evolution along the path compensates the underactuation: any path can be followed, and the corresponding time evolution along it is unique [9], though not freely assignable. Different virtual constraints restraining the robot’s configuration to the same path result in the same dynamical behavior. With higher degrees of underactuation, the virtual constraint does not define a unique path in the configuration space, but instead a surface of higher dimension. A periodic trajectory induces a periodic orbit in the state space that belongs to a continuum of virtual constraints defining different surfaces each of which includes this path. As a consequence, different dynamic behaviors will be obtained.

In a certain sense, the fact that stability depends on the choice of virtual constraints is the more natural situation. The surprise was really that for one degree of underactuation, the periodic orbit itself determines closed-loop stability when designing controllers on the basis of virtual constraints. The next section discusses work in [2] that shows how to systematically search through a family of virtual constraints to find stabilizing solutions, with no restrictions of the degree of underactuation. In parallel to this work, the selection of virtual constraints and switching conditions in order to obtain “self-synchronization” of frontal and sagittal plane motions of an underactuated 3D biped is explored in [36], along with regulation of the “pseudo-energy” (66).

7 Design of the Virtual Constraints

This section addresses how to make a concrete choice of the virtual constraints so as to achieve a periodic walking gait that satisfies important physical conditions.

7.1 Starting with an Existing Periodic Trajectory

Assume that \(x(t) = (q(t); \dot {q}(t))\), for 0 ≤ t < T is a periodic solution of (3) that has already been computed and verified to meet required conditions on ground reaction forces, actuators bounds, etc. Let
$$\displaystyle \begin{aligned} \theta: {\mathcal{Q}} \to \mathbb{R} \end{aligned} $$
be such that its derivative along the periodic trajectory is never zero. θ is called a gait timing variable or a gait phasing variable . Without loss of generality, assume that \(\dot {\theta }(t) >0\), and thus θ is strictly increasing along the periodic solution. Let (q c, q f) be a choice of regulated and free variables such that (q c, θ) are independent functions in the sense that their Jacobian has full rank. Then [48, Thm. 6.2, pp. 163] gives an explicit construction of a virtual constraint of the form
$$\displaystyle \begin{aligned} y=q_{\mathrm{c}} -h_d(\theta) \end{aligned} $$
that vanishes along the trajectory. Moreover, if the associated decoupling matrix is invertible, then the zero dynamics exists, and the periodic orbit belongs to the zero dynamics.

7.2 Design via Parameter Optimization

A periodic solution and the virtual constraints can be designed simultaneously by introducing a finite parametrization of the output (23). In particular, the function h d is constructed from Bézier polynomials, which in turn introduces free parameters α into the hybrid zero dynamics (37):
$$\displaystyle \begin{aligned} \varSigma_{\mathrm{zero},\alpha}: \begin{cases} \begin{aligned} \dot z & = f_{\mathrm{zero,\alpha}}(z), & z^- & \notin \mathcal{S}\cap \mathcal{Z}_\alpha\\ z^+ & = \Delta(z^-), & z^- & \in \mathcal{S}\cap \mathcal{Z}_\alpha, \end{aligned} \end{cases} \end{aligned} $$
$$\displaystyle \begin{aligned} h_\alpha(q):=q_{\mathrm{c}}-h_d(q_{\mathrm{f}},\alpha). \end{aligned} $$
A minimum-energy-like cost criterion
$$\displaystyle \begin{aligned} J(\alpha)=\frac{1}{\mbox{step length}} \int_0^{\mbox{ step duration}}||u^*_\alpha(t)||{}^2_2dt \end{aligned} $$
is posed, where \(u^*_\alpha \) is determined from (42), which is much less computationally demanding than (25). It is still true that \(u^\ast _\alpha \) is the unique input to the model (3) constraining the solution to the zero dynamics surface. Parameter optimization is then used to (locally) minimize the cost J(α) subject to various equality and inequality constraints to prescribe walking at a desired average speed; with the unilateral forces on the support leg lying in the allowed friction cone, bounds on actuator torques are respected, a minimum swing foot clearance is achieved, and the solution is periodic [12, 35, 48].
A solution to the optimization problem results in a set of virtual constraints, namely, (76) for a value α , and a periodic orbit of the zero dynamics. In addition, through (27), a controller is produced for the full-dimensional model. Figure 4 shows a typical stable limit cycle of the closed-loop hybrid system.
Fig. 4

Example limit cycles of a five-link robot with a zero dynamics controller. (a) Simulation. (b) Experiment

References [13, 18] show how to include common gait perturbations, such as terrain variations, into the optimization. The cost function (77) on the periodic orbit is augmented with terms that account for additional solutions of the model responding to perturbations. In this way, a controller is designed that not only creates a periodic solution on level ground, for example, but also responds appropriately to terrain height changes, slopes, and other perturbations.

7.3 Systematic Search of Virtual Constraints that Guarantee Stability

In the case of one degree of underactuation , one can impose the stability constraint, \(0 < \delta _{\mathrm {zero}}^2 < 1\), on the optimization problem (77), though experience shows that it is rarely necessary to do so because the pendulum-like evolution of a biped’s center of mass usually results in its velocity pointing downward at the end of the step. On the other hand, when there are two or more degrees of underactuation, the periodic solution resulting from the optimization problem may not be stabilized by the particular set of virtual constraints used in the optimization problem, though the same periodic solution may be stabilized by some other choice of virtual constraints [12]. The method of [2, 6] for systematically searching for stabilizing virtual constraints is briefly outlined.

Assume once again that \(x(t) = (q(t); \dot {q}(t))\), for 0 ≤ t < T is a periodic solution of (3), and that a choice of gait phasing variable (73) has been made. Let \(q_{\mathrm {c}}^\ast (\theta )\) and \(q_{\mathrm {f}}^\ast (\theta )\) be the values of the regulated and free variables, respectively, along the periodic orbit, and let H(ξ) be a k × (N − k) matrix, depending smoothly on a vector of parameters \(\xi \in \mathbb {R}^p\). The parameterized virtual constraint
$$\displaystyle \begin{aligned} y=h(q,\xi):= q_{\mathrm{c}} - q_{\mathrm{c}}^\ast(\theta) + H(\xi)\left(q_{\mathrm{f}} - q_{\mathrm{f}}^\ast(\theta) \right) \end{aligned} $$
vanishes on the periodic orbit for all values of the parameter vector ξ. The matrix H(ξ) forms linear combinations of the free variables, such as roll or yaw, for example. When H(ξ ) = 0, (78) reduces to the nominal virtual constraint resulting from the optimization problem (77), for example. More generally, h(q, ξ) could be any smooth function that vanishes on the periodic orbit for all allowed values of the parameters: the linear combinations suggested in (78) are just one straightforward way to build a family of such functions [12].
Assuming invertibility of the decoupling matrix for a value of ξ, say ξ , the resulting Poincaré map will have a fixed point that is independent of the parameters, that is
$$\displaystyle \begin{aligned} x^* = P(x^*,\xi),~\forall \xi \in \mathbb{R}^p~\text{near}~\xi^*. \end{aligned} $$
By Taylor’s Theorem , it follows that the Jacobian of the Poincaré map can be expanded about ξ as
$$\displaystyle \begin{aligned} \frac{\partial P}{\partial x}(x^*,\xi) \approx A_{0} + \sum_{i=1}^{p} A_i \left( \xi_{i} - \xi^*_{i} \right). \end{aligned} $$
Reference [2] shows how to compute the sensitivity matrices \(\left \{A_0, A_1, \ldots , A_p \right \}\) and how to determine if there is a value of ξ near ξ resulting in the sum of matrices on the right having eigenvalues in the unit circle. Reference [6] shows how the same analysis can be performed on the restricted Poincaré map, which is perhaps philosophically more satisfying as it is based on the low-dimensional pendulum-like dynamics of the underactuated portion of the model.

7.4 Event-Based Control

An alternative method to stabilize a periodic solution is to modify the virtual constraints step to step. To do this, one introduces parameters β into the virtual constraints:
$$\displaystyle \begin{aligned} y = h({q},\beta) \end{aligned} $$
in such a way that they alter step length, step width, or torso lean angle, for example [12, 48]. In this case, the parameters β do modify the periodic orbit, as opposed to the approach of the previous subsection. The Poincaré map results in a discrete-time control system:
$$\displaystyle \begin{aligned} x_{k+1}=P(x_k,\beta_k). \end{aligned} $$
If x  = P(x , β ) is a fixed point, then an event-based control action of the form
$$\displaystyle \begin{aligned} \beta_k = \beta^* + K(x_k - x^*) \end{aligned} $$
can be designed on the basis of a Jacobian linearization of (82). The same analysis and design can be carried out with the restricted Poincaré map [48, pp. 107].

A potential limiting factor in using event-based control is that the updates required for stability are only made when the solution crosses a Poincaré section, though this can be partly mitigated by using a Poincaré section at mid stance, for example, instead of (7). The event-based nature of the updates can induce delays in dealing with perturbations. Because velocity estimates are often “noisy,” smoothing must be considered when sampling the state vector, which can also induce phase lag.

8 Implementations on Real Robots

To date, virtual constraints and hybrid zero dynamics have been implemented on at least nine bipedal robots and three lower-limb prostheses. Figure 4 shows an example limit cycle. Videos of experiments for the robots Rabbit, MABEL, and MARLO are available at [19]. Videos of experiments for the robots AMBER-1, AMBER-2, AMBER-3, NAO, and DURUS are available at [4]. Videos of experiments for the robot ERNIE are available at [38]. Videos of experiments for the lower-limb prostheses AMPRO and the Vanderbilt Leg are available at [4] and [14], respectively. Publications associated with the above robots and prostheses are straightforward to find; they discuss practical aspects of implementing control laws based on virtual constraints.

9 Further Results and Open Questions

Many results have not been adequately covered in this overview. The hybrid models of bipedal robots typically have multiple continuous domains [21]. The use of virtual constraints and hybrid zero dynamics in this context can be found in [26, 43, 48] and references therein. Emphasis on nontrivial double support phases is found in [23]. Fully actuated robots are treated in [26, 46, 48]. Humanlike motion with foot rolling and double support phases has recently been demonstrated on DURUS [4]. The shape of the foot and its deformation can be very important for the walking properties as shown in passive walking. The rolling of a convex foot induces a model of the contact between the ground and the foot that is different from a point-foot contact, but it still involves underactuation [28].

The analysis procedures and control designs presented in the chapter have focused on periodic locomotion, a form of steady-state behavior in a hybrid model of walking. It is important to move beyond this assumption and address aperiodic or transient motions. There is room for improved notions of stability of aperiodic walking gaits. Two cases where aperiodic gaits arise naturally are walking on uneven ground and maneuvering a biped around obstacles. Composition of motion primitives as a means to handle aperiodic (uneven) terrain is featured in [31, 34, 50]. The introduction of elasticity in legged robots can improve robustness and adaptation to uneven terrain. Series elastic actuators are treated in [32, 33, 35, 42, 43].

How to choose the virtual constraints is an important question. In this chapter, parametric functions (or splines) were suggested, with the unknown parameters selected to optimize a given criterion. The choice of what to control has been partially addressed in [22]. The optimization criterion can be selected to account for uncertainty in the hybrid model. Terrain variation is addressed in [18]. Nonholonomic virtual constraints have just been introduced in [17]; they allow swing foot placement to be planned as a function of velocity. A systematic means to get started with virtual constraints is provided in Appendix A of [48].

Characterizing the domain of attraction of a periodic walking gait for a bipedal robot model is still in its infancy. Analysis via SOS (sums of squares) is investigated in [27].

Many other interesting questions arise, ranging from reflex actions to enhance stability under large perturbations, to bipedal robot safety when operating around humans, manipulation of objects, navigation, etc.



The work of J.W. Grizzle has been generously supported by NSF grants EECS-1525006, ECCS-1343720, and CNS-1239037. The work of C. Chevallereau is supported by ANR Equipex Robotex project.


  1. 1.
    K. Akbari Hamed, J.W Grizzle, Event-based stabilization of periodic orbits for underactuated 3-d bipedal robots with left-right symmetry. IEEE Trans. Robot. 30(2), 365–381 (2014)Google Scholar
  2. 2.
    K. Akbari Hamed, B.G. Buss, J.W. Grizzle, Continuous-time controllers for stabilizing periodic orbits of hybrid systems: application to an underactuated 3D bipedal robot, in 2014 IEEE 53rd Annual Conference on Decision and Control (CDC), Dec 2014, pp. 1507–1513Google Scholar
  3. 3.
    A.D. Ames, Human-inspired control of bipedal walking robots. IEEE Trans. Autom. Control, 59(5), 1115–1130 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
  5. 5.
    A.D. Ames, K. Galloway, K. Sreenath, J.W. Grizzle, Rapidly exponentially stabilizing control lyapunov functions and hybrid zero dynamics. IEEE Trans. Autom. Control 59(4), 876–891 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    B.G. Buss, Systematic Controller Design for Dynamic 3D Bipedal Robot Walking. PhD thesis, University of Michigan, Ann Arbor, May 2015Google Scholar
  7. 7.
    B.G. Buss, A. Ramezani, K. Akbari Hamed, B.A. Griffin, K.S. Galloway, J.W. Grizzle, Preliminary walking experiments with underactuated 3D bipedal robot MARLO, in 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2014), Sept 2014, pp. 2529–2536Google Scholar
  8. 8.
    C. Byrnes, A. Isidori, Asymptotic stabilization of nonlinear minimum phase systems. IEEE Trans. Autom. Control 376, 1122–37 (1991)CrossRefzbMATHGoogle Scholar
  9. 9.
    C. Chevallereau. Time scaling control for an underactuated biped robot. IEEE Trans. Robot. Autom. 19(2), 362–368 (2003)CrossRefGoogle Scholar
  10. 10.
    C. Chevallereau, G. Abba, Y. Aoustin, F. Plestan, E.R. Westervelt, C. Canudas, J.W. Grizzle, RABBIT: a testbed for advanced control theory. IEEE Control Syst. Mag. 23(5), 57–79 (2003)CrossRefGoogle Scholar
  11. 11.
    C. Chevallereau, D. Djoudi, and J.W. Grizzle, Stable bipedal walking with foot rotation through direct regulation of the Zero Moment Point. TRO 25(2), 390–401 (2008)Google Scholar
  12. 12.
    C. Chevallereau, J.W. Grizzle, C.-L. Shih, Asymptotically stable walking of a five-link underactuated 3D bipedal robot. IEEE Trans. Robot. 25(1), 37–50 (2009)CrossRefGoogle Scholar
  13. 13.
    H. Dai, R. Tedrake, Optimizing robust limit cycles for legged locomotion on unknown terrain, in 2012 IEEE 51st Annual Conference on Decision and Control (CDC), 2012, pp. 1207–1213Google Scholar
  14. 14.
    R.D. Gregg, High-performance control of a powered transfemoral prosthesis with amputee subjects (2016). Google Scholar
  15. 15.
    R.D. Gregg, T. Lenzi, L.J. Hargrove, J.W. Sensinger, Virtual constraint control of a powered prosthetic leg: from simulation to experiments with transfemoral amputees. IEEE Trans. Robot. 30, 1455–1471 (2014)CrossRefGoogle Scholar
  16. 16.
    R.D. Gregg, E.J. Rouse, L.J. Hargrove, J.W. Sensinger, Evidence for a time-invariant phase variable in human ankle control. PLoS One 9(2), e89163 (2014)Google Scholar
  17. 17.
    B. Griffin, J.W. Grizzle, Nonholonomic virtual constraints for dynamic walking, in Preprint Submitted to IEEE Conference on Decision and Control, 2015Google Scholar
  18. 18.
    B. Griffin, J.W. Grizzle, Walking gait optimization for accommodation of unknown terrain height variations, in American Control Conference, 2015Google Scholar
  19. 19.
    J.W. Grizzle, Dynamic Leg Locomotion (2016) Google Scholar
  20. 20.
    J.W. Grizzle, G. Abba, F. Plestan, Asymptotically stable walking for biped robots: analysis via systems with impulse effects. IEEE Trans. Autom. Control 46, 51–64 (2001)MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    J.W. Grizzle, C. Chevallereau, A. Ames, R. Sinnet, Models, feedback control, and open problems of 3D bipedal robotic walking. Automatica 50(8), 1955–1988 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  22. 22.
    K.A. Hamed, B.G. Buss, J.W. Grizzle, Exponentially stabilizing continuous-time controllers for periodic orbits of hybrid systems: application to bipedal locomotion with ground height variations. Int. J. Robot. Res. 35(8), 977–999 (2016)CrossRefGoogle Scholar
  23. 23.
    A. Hereid, S. Kolathaya, M.S. Jones, J. Van Why, J.W. Hurst, A.D. Ames, Dynamic multi-domain bipedal walking with ATRIAS through SLIP based human-inspired control, in Proceedings of the 17th International Conference on Hybrid Systems: Computation and Control (ACM, 2014), pp. 263–272Google Scholar
  24. 24.
    J. Horn, J. Reher, Zhao, V. Paredes, A.D. Ames, AMPRO: translating robotic locomotion to a powered transfemoral prosthesis, in International Conference on Robotics and Automation, ICRA, May 2015Google Scholar
  25. 25.
    Y. Hürmüzlü, D.B. Marghitu, Rigid body collisions of planar kinematic chains with multiple contact points. Int. J. Robot. Res. 13(1), 82–92 (1994)CrossRefGoogle Scholar
  26. 26.
    J. Lack, M.J. Powell, A.D. Ames, Planar multi-contact bipedal walking using hybrid zero dynamics, in 2014 IEEE International Conference on Robotics and Automation (ICRA) (IEEE, 2014), pp. 2582–2588Google Scholar
  27. 27.
    I.R Manchester, Transverse dynamics and regions of stability for nonlinear hybrid limit cycles. IFAC Proc. 44(1), 6285–6290 (2011)Google Scholar
  28. 28.
    A.E. Martin, D.C. Post, J.P. Schmiedeler, The effects of foot geometric properties on the gait of planar bipeds walking under HZD-based control. Int. J. Robot. Res. 33(12), 1530–1543 (2014)CrossRefGoogle Scholar
  29. 29.
    B. Morris, J. W. Grizzle, A restricted Poincaré map for determining exponentially stable periodic orbits in systems with impulse effects: application to bipedal robots, in Proceedings of the 2005 IEEE International Conference on Decision and Control European Control Conference, Seville, 2005, pp. 4199–206Google Scholar
  30. 30.
    B. Morris, J. W. Grizzle, Hybrid invariant manifolds in systems with impulse effects with application to periodic locomotion in bipedal robots. IEEE Trans. Autom. Control 54(8), 1751–1764 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  31. 31.
    H.-W. Park, A. Ramezani, J.W. Grizzle, A finite-state machine for accommodating unexpected large ground height variations in bipedal robot walking. IEEE Trans. Robot. 29(29), 331–345 (2013)CrossRefGoogle Scholar
  32. 32.
    I. Poulakakis, J.W. Grizzle, The spring loaded inverted pendulum as the hybrid zero dynamics of an asymmetric hopper. IEEE Trans. Autom. Control 54(8), 1779–1793 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  33. 33.
    M.J. Powell, A.D. Ames, Hierarchical control of series elastic actuators through control lyapunov functions. Decision and Control (CDC), 2014 IEEE 53rd Annual Conference on, 2986–2992Google Scholar
  34. 34.
    M.J. Powell, H. Zhao, A.D. Ames, Motion primitives for human-inspired bipedal robotic locomotion: walking and stair climbing, in 2012 IEEE International Conference on Robotics and Automation (ICRA), 2012, pp. 543–549Google Scholar
  35. 35.
    A Ramezani, J.W. Hurst, K. Akbari Hamed, J.W. Grizzle, Performance analysis and feedback control of ATRIAS, a three-dimensional bipedal robot. J. Dyn. Syst. Meas. Control 136(2), 0210112-1–0210112-12 (2014)Google Scholar
  36. 36.
    H. Razavi, A.M. Bloch, C. Chevallereau, J.W. Grizzle, Restricted discrete invariance and self-synchronization for stable walking of bipedal robots, in American Control Conference, 2015Google Scholar
  37. 37.
    N. Sadati, G.A. Dumont, K.A. Hamed, W.A. Gruver, Hybrid Control and Motion Planning of Dynamical Legged Locomotion. In: MengChu Zhou (ed.), IEEE Press Series on Systems Science and Engineering. (Wiley, 2012), 272 pages. ISBN: 978-1-118-31707-5Google Scholar
  38. 38.
    J. Schmiedeler, ERNIE robot walking with different feet (2016). Google Scholar
  39. 39.
    C.-L. Shih, J.W. Grizzle, C. Chevallereau, From stable walking to steering of a 3D bipedal robot with passive point feet. Robotica 30(7), 1119–1130 (2012)CrossRefGoogle Scholar
  40. 40.
    A.S. Shiriaev, L.B. Freidovich, I.R. Manchester, Can we make a robot ballerina perform a pirouette? orbital stabilization of periodic motions of underactuated mechanical systems. Ann. Rev. Control 32(2), 200–211 (2008)CrossRefGoogle Scholar
  41. 41.
    A.S. Shiriaev, L.B. Freidovich, S.V. Gusev, Transverse linearization for controlled mechanical systems with several passive degrees of freedom. IEEE Trans. Autom. Control 55(4), 893–906 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  42. 42.
    K. Sreenath, H.-W. Park, I. Poulakakis, J.W. Grizzle, A compliant hybrid zero dynamics controller for stable, efficient and fast bipedal walking on MABEL. Int. J. Robot. Res. 30(9), 1170–1193 (2011)CrossRefGoogle Scholar
  43. 43.
    K. Sreenath, H.-W. Park, I. Poulakakis, J.W. Grizzle, Embedding active force control within the compliant hybrid zero dynamics to achieve stable, fast running on MABEL. Int. J. Robot. Res. 33, 988–1005 (2014)CrossRefGoogle Scholar
  44. 44.
    P. van Zutven, Control and Identification of Bipedal Humanoid Robots: Stability Analysis and Experiments. PhD thesis, University of Technology, Eindhoven, 2014Google Scholar
  45. 45.
    M. Vukobratović, B. Borovac, D. Surla, D. Stokic, Biped Locomotion (Springer, Berlin, 1990)CrossRefzbMATHGoogle Scholar
  46. 46.
    T. Wang, C. Chevallereau, D. Tlalolini, Stable walking control of a 3D biped robot with foot rotation. Robotica FirstView:1–20, (2014)Google Scholar
  47. 47.
    E.R. Westervelt, G. Buche, J.W. Grizzle, Experimental validation of a framework for the design of controllers that induce stable walking in planar bipeds. Int. J. Robot. Res. 24(6), 559–582 (2004)CrossRefGoogle Scholar
  48. 48.
    E.R. Westervelt, J.W. Grizzle, C. Chevallereau, J.-H. Choi, B. Morris, Feedback Control of Dynamic Bipedal Robot Locomotion. (CRC Press, Boca Raton, 2007)Google Scholar
  49. 49.
    E.R. Westervelt, J.W. Grizzle, D.E. Koditschek, Hybrid zero dynamics of planar biped walkers. IEEE Trans. Autom. Control 48(1), 42–56 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  50. 50.
    T. Yang, E.R. Westervelt, A. Serrani, J.P. Schmiedeler, A framework for the control of stable aperiodic walking in underactuated planar bipeds. Auton. Robot. 27(3), 277–290 (2009)CrossRefGoogle Scholar
  51. 51.
    H.-H. Zhao, W.-L. Ma, A.D. Ames, M.B. Zeagler, Human-inspired multi-contact locomotion with AMBER2, in 2014 ACM/IEEE International Conference on Cyber-Physical Systems (ICCPS), 2014, pp. 199–210Google Scholar

Copyright information

© Springer Science+Business Media B.V. 2017

Authors and Affiliations

  1. 1.Department of Electrical Engineering and Computer ScienceUniversity of MichiganAnn ArborUSA
  2. 2.CNRS, LS2N (Laboratory of digital sciences of Nantes)NantesFrance

Personalised recommendations