Speed Regulation in 3D Robotic Walking Through Motion Transitions Between Human-Inspired Partial Hybrid Zero Dynamics
Speed Regulation in 3D Robotic Walking Through Motion Transitions Between Human-Inspired Partial Hybrid Zero Dynamics
Speed Regulation in 3D Robotic Walking Through Motion Transitions Between Human-Inspired Partial Hybrid Zero Dynamics
nsa
are the stance ankle, stance hip, nonstance hip
sa
sa
sk
sh
sh
nsh
nsh
nsk
nsa
nsa
1
Fig. 1: Angle conventions
for NAO.
and nonstance ankle roll an-
gles, respectively, and
sa
,
sk
,
sh
,
nsh
,
nsk
, and
nsa
are the stance ankle,
stance knee, stance hip, non-
stance hip, nonstance knee
and nonstance ankle pitch
angles, respectively. Note
that the conguration is the
3D version of the com-
monly employed seven-link
biped model [16], [1]. With
the mass, length and inertia
properties of each link of the
robot, the Lagrangian can
be computed which, through
the Euler-Lagrange equation
(see [17]), yields the equations of motion which can be
converted to a set of rst order ordinary differential equations
(ODEs) resulting in the afne control system (f
R
, g
R
):
f
R
(q, q) =
_
q
D
1
(q)H(q, q)
_
, g
R
(q) =
_
0
D
1
(q)B(q)
_
,
with U
R
R
10
and B : Q
R
R
1010
. For the choice
of coordinates in this paper, B = I
10
. The domain species
the allowable conguration of the system, determined by a
unilateral constraint h
R
: Q
R
R; for the biped considered
in this paper, this function is the height of the non-stance
foot. In particular, the domain and guard are given by:
D
R
=
_
(q, q) TQ
R
: h
R
(q) 0
_
. (2)
S
R
=
_
(q, q) TQ
R
: h
R
(q) = 0 and dh
R
(q) q < 0
_
,
where dh
R
(q) is the Jacobian of h
R
at q. The reset map
R
: S
R
D
R
is given by:
R
(q, q) =
_
q
q
q
(q) q
_
, (3)
where
q
is the relabeling matrix which switches the stance
and non-stance legs at impact (by appropriately changing the
angles). Here,
q
determines the change in velocity due to
impact (see [18], [7] and [14]).
III. HUMAN-INSPIRED CONTROLLER DESIGN
In the authors previous work [14], it was shown that
certain outputs of human locomotion, computed from ex-
perimental locomotion data, can each be represented by a
function termed the canonical walking function (CWF):
y
H
(t, ) = e
4t
(
1
cos(
2
t) +
3
sin(
2
t)) +
5
. (4)
Motivated by the desire to obtain human-like, bipedal robotic
locomotion, the goal is to construct a controller which drives
outputs of the robot to outputs of the human. This goal is
effected formally through a control law u : TQ
R
U
R
which guarantees that y
a
(q(t)) y
d
(t) exponentially as
t , where y
a
: Q
R
R
10
is a vector of kinematics
maps on the robot representing the human outputs and y
d
:
R R
10
is a vector of canonical human functions.
With the goal of controlling the robots walking speed,
dene the relative degree 1 actual output as the velocity of
the hip and dene the the desired velocity of the hip:
y
a
1
(q, q) = p
R
hip
(q, q) = dp
R
hip
(q) q, y
d
1
= v
hip
, (5)
where p
hip
(q) is the linearized position of the hip, given by
p
R
hip
(q) = L
c
(
sa
) + L
t
(
sa
sk
). (6)
Furthermore, dene the linear (relative degree 2) actual hu-
man outputs and desired outputs represented by the walking
functions:
y
a
2,L
(q) =
_
_
m
R
nsl
(q)
sk
nsk
R
tor
(q)
sa
sh
nsh
_
_
, y
d
2,L
(t, ) =
_
_
y
H
(t,
nsl
)
y
H
(t,
sk
)
y
H
(t,
nsk
)
y
H
(t,
tor
)
y
H
(t,
sa
)
y
H
(t,
sh
)
y
H
(t,
nsh
)
_
_
(7)
where y
a
2,L
: Q
R
R
7
are the actual linear outputs of the
robot, and y
d
2,L
: R R
35
R
7
are the desired functions
for these linear outputs,
R
tor
(q) =
sa
+
sk
+
sh
, and
m
R
nsl
(q) =
sa
sk
sh
nsh
+
L
c
L
c
+ L
t
nsk
. (8)
The rst four outputs of (7) were used to obtain walking in
a 2D model of this system[15]; the three additional outputs
sa
,
sh
,
nsh
corresponding to the roll angles are novel to
this work. Due to the linear form of the outputs considered,
they can be written as:
y
a
2,L
(q) = H q (9)
for H R
710
with full row rank (where, for example, the
top row of H is obtained by taking the Jacobian of (8)).
To enforce a at non-stance foot and complete the set of
controller outputs, two nonlinear, relative degree outputs are
needed:
y
a
2,N
(q) =
_
R
x
R
y
_
, y
d
2,N
(t, ) =
_
d
x
(t,
x
)
d
y
(t,
y
)
_
, (10)
where
R
x
and
R
y
represent the roll and pitch angles of
the non-stance foot frame with respect to the ground frame.
Grouping the linear and nonlinear relative degree two outputs
results in:
y
a
2
(q) =
_
y
a
2,L
(q)
y
a
2,N
(q)
_
, y
d
2
(t, ) =
_
y
d
2,L
(t, )
y
d
2,N
(t, )
_
. (11)
where the parameters of all of the outputs are combined to
yield a single vector R
46
given by:
= (v
hip
,
nsl
,
nsk
,
sk
,
tor
,
sa
,
sh
,
nsh
,
x
,
y
).
The goal is for the outputs of the robot to agree with the
outputs of the human, motivating the nal form of the outputs
to be used in feedback linearization:
y
1
(q, q, ) = y
a
1
(q, q) v
hip
, (12)
y
2
(q, ) = y
a
2
(q) y
d
2
((q), ), (13)
where (q) =
p
R
hip
(q)p
R
hip
(q
+
)
v
hip
is a state-based param-
eterization of time with p
R
hip
(q
+
) the linearized position
of the hip of the robot at the beginning of a step. This
parameterization is important as it allows for control over
walking speed through the parameter v
hip
. These outputs can
be used to dene a human-inspired controller:
u
,
(q, q) = A(q, q)
1
__
0
L
2
f
R
y
2
(q, q)
_
(14)
+
_
L
f
Ry
1
(q, q)
2L
f
Ry
2
(q, q)
_
+
_
y
1
(q, q)
2
y
2
(q)
__
,
with control gain and decoupling matrix A given by
A(q, q) =
_
L
g
Ry
1
(q, q, )
L
g
RL
f
Ry
2
(q, q, )
_
(15)
and it follows that for a control gain > 0, the control
law u
,
: TQ
R
R
46
R
+
U
R
renders the output
exponentially stable [19].
For the hybrid control system H C
R
, the human-inspired
control law is applied to obtain the hybrid system
H
R
,
= (D
R
, S
R
,
R
, f
R
,
) (16)
with f
R
,
(q, q) = f
R
(q, q) + g
R
(q, q)u
,
(q, q). The end
result of the modeling process is a hybrid system H
R
,
that
depends on the parameters of the human inspired control
and .
Hybrid Zero Dynamics For the continuous dynamics of
the hybrid system H
R
(,)
, the controller renders the full zero
dynamics surface
FZ
=
_
(q, q) TQ
R
: y
1
(q, ) = 0, y
2
(q, q, ) = 0
9
,
L
f
Ry
2
(q, q, ) = 0
9
_
, (17)
exponentially stable (where 0
n
is a vector of n zeros). In
this work, hybrid invariance is enforced only for the relative
degree 2 outputs. The corresponding surface is referred to as
the partial zero dynamics surface (PHZD):
PZ
=
_
(q, q) TQ
R
: y
2
(q, ) = 0
9
, y
2
(q, q, ) = 0
9
_
.
(18)
Since the only output that is not included in the partial
zero dynamics surface is the output that forces the forward
hip velocity to be constant, enforcing partial hybrid zero
dynamics means, in some respect, that the velocity of the
hip is allowed to compensate for the shocks in the system
due to impact.
IV. HUMAN-INSPIRED CONTROLLER OPTIMIZATION
This section presents the main result of this paper: an op-
timization problem which yields parameters for the human-
inspired controller, u
,
, that minimize a human data-based
cost function [20] while simultaneously yielding robotic
walking in simulation and satisfying physical modeling con-
straints of the actual robot. A novel method is presented
for computing these constraints in closed form (rather than
explicitly integrating the dynamics) through the interplay
between full and partial hybrid zero dynamics.
Optimization Cost. The cost of the optimization is the least
squares t of the sagittal plane outputs to the corresponding
mean human data. The mean human data consist of discrete
times, t
H
[k], and discrete values for the output functions:
p
H
hip
[k], m
H
nsl
[k],
H
sk
[k],
H
nsk
[k], and
H
tor
[k] where here
k {1, . . . , K} N with K the number of data points.
Represent the mean human output data by y
H
i
[k] and the
canonical walking functions by y
d
i
(t,
i
) for i Output =
{hip, msl, sk, nsk, tor}; for example, y
H
msl
[k] = m
H
nsl
[k]
and y
d
msl
(t,
msl
) = m
d
nsl
(t,
nsl
). With these elements
dened, the human data based cost can be written
Cost
HD
() =
K
k=1
iOutput
_
y
H
i
[k] y
d
i
(t
H
[k],
i
)
_
2
,
(19)
which is simply the sum of squared residuals.
Partial Hybrid Zero Dynamics Constraints Following
from [14], [15], to compute the constraints needed to ensure
partial hybrid zero dynamics, the outputs and guard functions
are used to explicitly solve for the conguration of the system
() Q
R
on the guard (h
R
(()) = 0) in terms of the
parameters . In particular, let
() = q s.t. y
2
(
q
q) = 0
9
and h
R
(q) = 0 (20)
where
q
is the relabeling matrix (3). Note that multiple
solutions to () exist because y
d
2,N
(
q
q) and h
R
(q) are
nonlinear functions of all joint angles; however, restrictions
are placed on () such that only one solution corresponds
to a valid conguration. Using () allows for the explicit
solution of a point ((),
()) FZ
S
R
. In particular,
let
Y (q) =
_
dp
R
hip
(q)
dy
2
(q)
_
. (21)
and dene
() = Y
1
(())
_
v
hip
0
9
_
, (22)
where Y is invertible because of the choice of outputs. Uti-
lizing these constructions, the constraints needed for partial
hybrid zero dynamics can be written:
y
2
(()) = 0
9
, (C1)
dy
2
(
q
())
q
(())
() = 0
9
, (C2)
dh
R
(())
() < 0. (C3)
Computing approximate solutions: q
e
(t, ) and q
e
(t, )
This section utilizes the fact that the human outputs were
specically chosen to be linear in order to explicitly construct
the partial hybrid zero dynamics. Because of the specic
choice of y
a
2,L
, the following representation of the partial
zero dynamic coordinates is employed:
1
= p
R
hip
(q) =: c q, (23)
2
= y
a
1
(q, q) = p
R
hip
(q, q) =: c q.
where c R
110
is obtained from (6). This motivates the
following time-based approximation of
1
and
2
(utilizing
the solution to the inverse kinematics):
e
1
(t) := v
hip
t + p
R
hip
(
q
()), (24)
e
2
(t) := v
hip
.
These time-based approximations can be used in the partial
zero dynamics surface to obtain an approximation of the
solution for the full-order system by picking the coordinates
1
= y
a
2,L
(q) = H q, (25)
2
= L
f
Ry
a
2,L
(q, q) = H q,
with H as in (9), and dening
(
1
, ) =
_
c
H
_
1
_
1
y
d
2,L
(
1
, )
_
, (26)
(
1
, ) =
_
c
H
_
1
_
1
y
d
2,L
(1,)
1
_
. (27)
yields estimates of the rst eight angles and corresponding
velocities of the system:
q
e
1:8
(t, ) = (
e
1
(t), ), (28)
q
e
1:8
(t, ) = (
e
1
(t), )
e
2
(t). (29)
The nal four states of the system, (q
e
9:10
, q
e
9:10
) =
(
e
nsa
,
e
nsa
,
e
nsa
,
e
nsa
)
T
, are obtained through inverse kine-
matics with the assumption that the non-stance foot is parallel
to the ground throughout the step.
Model Constraints Standard methods [7] are used to
compute the ground contact forces and torques acting on
the stance foot: F
st
= (F
fx
st
, F
fy
st
, F
fz
st
, F
mx
st
, F
my
st
, F
mz
st
),
where the rst three components are the forces and the last
three components are the torques acting on the stance foot.
To prevent rotation about an edge, the following constraints
on the ground reaction moment must hold [21]:
w
f
2
F
fz
st
< F
mx
st
<
w
f
2
F
fz
st
(30)
l
h
F
fz
st
< F
my
st
< l
t
F
fz
st
, (31)
where w
f
is the width of the foot, l
t
is the length of
the toe and l
h
is the length of the heel. This condition
is known as the Zero Moment Point condition [2], [3].
Furthermore, to prevent the stance foot from slipping, the
following constraint must hold:
_
(F
fx
st
)
2
+ (F
fy
st
)
2
< F
fz
st
, (32)
where is the coefcient of static friction for the contact
between NAOs foot and the ground. Equations (30)-(32)
can be rearranged and stated in terms of inequalities of
the form C
i
(u) < 0 for i {1, . . . , 5}. Moreover, using
the approximation to the solution, (q
e
(t, ), q
e
(t, )), an
approximation the torque is computed at each time, t, over
the course of a step:
u
e
,
(t) :=u
,
(q
e
(t, ), q
e
(t, )). (33)
Therefore, the ZMP and friction constraints on the stance
foot can be stated as the constraint:
max
i{1,...,5}
max
t[0,(())]
C
i
(u
e
,
(t)) < 0, (C4)
where (()) provides an approximation of the duration of
a step (and will converge to the actual step time as ).
The nonstance foot is kept parallel to the ground via
control, through the following constraints on :
x
= 0
15
,
y
= 0
15
. (C5)
These constraints on
x
and
y
reduce the size of the
optimization search space to R
36
.
Optimization Problem Statement. The goal of human-
inspired PHZD optimization is to nd parameters
which
solve the following constrained optimization problem:
= argmin
R
46
Cost
HD
() (HIO)
s.t. (C1) (C5)
with Cost
HD
the cost given in (19). The main result of
this paper is established by combining the constructions and
results of this section with Theorem 2 of [15]. It particular,
it establishes that solving this optimization problem results
in a exponentially stable periodic orbit for H
R
,
(see [15]
for a formal denition of solutions, and the corresponding
denitions of periodic solutions and exponentially stable
periodic orbits). Furthermore, physically realistic robotic
walking can be ensured without integrating the dynamics.
V. WALKING SPEED REGULATION
The solution,
, and
species controller outputs for walking at constant speed
v
hip
. However, as robotic locomotion is not always per-
formed at a constant speed, controllers which provide the
ability to smoothly transition between slow and fast walking
are essential for functional robot operation. Here, a novel
method for transitioning between these different walking
speeds is presented; specically, through the use of the
extended canonical walking function, we will connect the
Optimized Output Value Nominal Gait Human Data Mean Fitted Output
Fig. 2: Optimization for 80 values of v
hip
and comparison to human data. The tted outputs represents the canonical walking
function t to the mean human model.
PHZD surface corresponding to walking at two different
speeds. This will allow for a smooth transition between these
two walking speedsone that respects the invariance of the
PHZD surface associated to the walking at each speed.
Speed Regulation Overview. The rst step in the procedure
is to obtain optimal walking controller parameters by solving
(HIO). By denition, these parameters,
, correspond to a
local minima in Cost
HD
and satisfy the constraints (C1)
(C5). The remaining steps in the process, therefore, can
be viewed as perturbing and xing v
hip
and then solving
an optimization problem which effectively searches in a
neighborhood of
hip
and using
hip
,
discrete walking speeds are specied via the following con-
straint
v
l1
hip
= v
l
hip
, (C6)
with l Z and the perturbation magnitude; where
is chosen based on velocity resolution and convergence
requirements (smaller leads to faster convergence in the
following optimization).
Speed Regulation Cost. The cost function corresponding to
each speed regulation step l is as follows:
Cost
SR
(,
l
) =
iOutput
_
T
0
y
d
i
(t,
i
) y
d
i
(t,
l
i
)
2
dt.
(34)
This is the integral norm of the difference between the
current controller outputs, y
d
(t, ), and the controller outputs
computed via the solution to the previous speed regulation
step, y
d
(t,
l
). As the initial seed to the speed regulation
procedure,
0
=
corresponds to
a local minima in Cost
HD
).
Speed Regulation Optimization. The goal of the speed
regulation optimization is to nd parameters
l+1
that solve
the following constrained optimization problem:
l+1
= argmin
R
46
Cost
SR
(,
l
) (SRO)
s.t. (C1)(C6)
with Cost
SR
the cost given in (34). The optimization (SRO)
can be iteratively solved to obtain a set of (v
MAX
hip
v
MIN
hip
)/
walking control parameters.
Extended Canonical Walking Function. It was found
in [22] that to describe more complex walking motions,
such as going up and down stairs, the canonical walking
function must be augmented to account for the role that the
environment plays on this system. Specically, the extended
canonical walking function (ECWF) is given by the time
solution to a linear mass-spring-damper system subject to
sinusoidal excitation:
y
e
H
(t,
e
i
) =e
e
i,4
t
_
e
i,1
cos(
e
i,2
t) +
e
i,3
sin(
e
i,2
t)
_
+
e
i,5
cos(
e
i,6
t) + () sin(
e
i,6
t) +
e
i,7
,
(35)
where (
e
i
) = (2
e
i,4
e
i,5
e
i,6
)/((
e
i,4
)
2
+(
e
i,2
)
2
(
e
i,6
)
2
)
and i Outputs. Note that due to the linearity of the
parameters
e
i,1
,
e
i,3
,
e
i,5
and
e
i,7
in (35), we can write:
y
e
H
(t,
e
i
) = Y
e
H
(t,
e
i,2
,
e
i,4
,
e
i,6
)
_
e
i,1
e
i,3
e
i,5
e
i,7
_
_
(36)
where Y
e
H
(t,
e
i
) R
14
only depends on the parameters
e
i,2
,
e
i,4
,
e
i,6
. The CWF can naturally be written as a
special case of the ECWF by, given parameters
i
R
5
for the CWF (4), dening
e
(
i
) := (
i
, 0, 0). Through
this embedding, we can therefore consider the same human-
inspired controller that was considered for the CWF by
replacing the CWF with the ECWF in (7). Similarly, we can
0 0.5 1 1.5
0
0.2
0.4
0.6
0.8
1
1.2
O
u
t
p
u
t
V
a
l
u
e
1 0.5 0 0.5 1 1.5
2
0
2
4
A
n
g
u
l
a
r
V
e
l
o
c
i
t
y
(
r
a
d
/
s
)
0.2 0.1 0 0.1 0.2
2
1.5
1
0.5
0
0.5
1
1.5
2
0 2 4 6 8 10
0
0.5
1
1.5
Time(s)
O
u
t
p
u
t
V
a
l
u
e
y
H,1
y
H,2
y
H,3
y
H,4
y
H,5
O1 O2 O3 O4 O5
1 0.5 0 0.5 1 1.5 2
6
4
2
0
2
4
6
Angle (rad)
A
n
g
u
l
a
r
V
e
l
o
c
i
t
y
(
r
a
d
/
s
)
sa
sk
sh
nsa
nsk
nsh
0.2 0.1 0 0.1 0.2
2
1.5
1
0.5
0
0.5
1
1.5
2
Angle (rad)
sa
sh
nsa
nsh
Fig. 3: Simulation results for steady-state walking starting from a perturbed xed point (top) and speed regulation (bottom),
showing controller outputs (left), phase portraits for pitch angles (middle) and roll angles (right).
consider the PHZD surface for the ECWF which we denote
by: PZ
f,l
1
= p
hip
((
l
)). To construct a surface connecting the
the PHZD surface associated with these two walking speeds,
consider the ECWF at the beginning of a step associated to
l1
and the end of a step associated with
l
:
y
0
i
= y
e
H
(
0,l1
1
,
0,l1
1
, v
l1
hip
,
e
(
l1
i
)) (37)
y
0
i
=
d
d
1
y
e
H
(
1
,
0,l1
1
, v
l1
hip
,
e
(
l1
i
))
1=
0,l1
1
(38)
y
f
i
= y
e
H
(
f,l
1
,
0,l
1
, v
l
hip
,
e
(
l
i
)) (39)
y
f
i
=
d
d
1
y
e
H
(
1
,
0,l
1
, v
l
hip
,
e
(
l
i
))
1=
f,l
1
(40)
for i Outputs.
The goal is to nd a parameters,
e
i
, for the ECWF such
that
e
(
l1
i
) and
e
(
l
i
) can be replaced by
e
i
in (37)-(40).
To achieve the goal of determining the parameters
e
i
, we
utilize (36) to form the following matrix:
Y =
_
_
Y
e
H
(
0,l1
1
,
0,l1
1
, v
l
hip
,
e
i,2
,
e
i,4
,
e
i,6
)
d
d1
Y
e
H
(
1
,
0,l1
1
, v
l
hip
,
e
i,2
,
e
i,4
,
e
i,6
)
1=
0,l1
1
Y
e
H
(
f,l
1
,
0,l
1
, v
l
hip
,
e
i,2
,
e
i,4
,
e
i,6
)
d
d1
Y
e
H
(
1
,
0,l
1
, v
l
hip
,
e
i,2
,
e
i,4
,
e
i,6
)
1=
f,l
1
_
_
It is easy to verify that picking
e
i,2
=
l
i,2
,
e
i,4
=
l
i,4
and
e
i,6
> 0 results in Y being nonsingular. Therefore, the nal
four parameters of
e
i
can be determined by picking:
_
e
i,1
e
i,3
e
i,5
e
i,7
_
_
= Y
1
_
_
y
0
i
y
0
i
y
f
i
y
f
i
_
_
The end result are parameters
e
i
for i Outputs. The end
result of solving for
e
in this manner is that any solution
starting in PZ
e for one
step will begin the subsequent step on PZ
l . In other words,
we will have connected the PHZD surfaces PZ
l1 and
PZ
l through PZ
,
, modeling NAO is performed in which the robot
starts on the point on the guard, ((
),
(
)) and is
controlled via the human-inspired control law, u
,
with
parameters
S
sa
E
d
sa
Ea
sa
0 0.5 1 1.5 2 2.5
0.7
0.65
0.6
0.55
0.5
0.45
0.4
S
sa
E
d
sa
Ea
sa
0 5 10
0.05
0
0.05
S
sa
E
d
sa
E
a
sa
0 5 10
1
0.8
0.6
0.4
S
sa
E
d
sa
E
a
sa
0 0.5 1 1.5 2 2.5
0.8
0.85
0.9
0.95
1
1.05
1.1
S
sk
E
d
sk
Ea
sk
0 0.5 1 1.5 2 2.5
0.5
0.4
0.3
0.2
0.1
S
sh
E
d
sh
Ea
sh
0 5 10
1
1.2
1.4
1.6
S
sk
E
d
sk
E
a
sk
0 5 10
1
0.8
0.6
0.4
0.2
S
sh
E
d
sh
E
a
sh
0 0.5 1 1.5 2 2.5
0.08
0.04
0
0.04
0.08
S
sh
E
d
sh
Ea
sh
0 0.5 1 1.5 2 2.5
0.2
0.1
0
0.1
0.2
S
nsh
E
d
nsh
Ea
nsh
0 5 10
0.1
0.05
0
0.05
0.1
S
sh
E
d
sh
E
a
sh
0 5 10
0.1
0.05
0
0.05
0.1
S
nsh
E
d
nsh
E
a
nsh
0 0.5 1 1.5 2 2.5
0.5
0.4
0.3
0.2
0.1
S
nsh
E
d
nsh
Ea
nsh
0 0.5 1 1.5 2 2.5
0.8
0.9
1
1.1
1.2
1.3
S
nsk
E
d
nsk
Ea
nsk
0 5 10
1
0.8
0.6
0.4
0.2
S
nsh
E
d
nsh
E
a
nsh
0 5 10
0.8
1
1.2
1.4
1.6
1.8
S
nsk
E
d
nsk
E
a
nsk
0 0.5 1 1.5 2 2.5
0.8
0.7
0.6
0.5
0.4
S
nsa
E
d
nsa
Ea
nsa
0 0.5 1 1.5 2 2.5
0.2
0.1
0
0.1
0.2
S
nsa
E
d
nsa
Ea
nsa
0 5 10
1
0.8
0.6
0.4
S
nsa
E
d
nsa
E
a
nsa
0 5 10
0.2
0.1
0
0.1
0.2
S
nsa
E
d
nsa
E
a
nsa
Fig. 4: Comparison of the snapshots of the actual (top row) and simulated (second row) walking gaits over one step, and
experiment and simulation for steady-state walking (left two columns) and speed regulation (right two columns): X
S
are
from simulation, X
E
d
are desired values from experiment, and X
Ea
are actual values from experiment.