A walking pattern generator for biped robots on uneven terrains
ABSTRACT We present a new method to generate biped walking patterns for biped robots on uneven terrains. Our formulation uses a universal stability criterion that checks whether the resultant of the gravity wrench and the inertia wrench of a robot lies in the convex cone of the wrenches resulting from contacts between the robot and the environment. We present an algorithm to compute the feasible acceleration of the robot's CoM (center of mass) and use that algorithm to generate biped walking patterns. Our approach is more general and applicable to uneven terrains as compared with prior methods based on the ZMP (zeromoment point) criterion. We highlight its applications on some benchmarks.

Chapter: Building Rome on a Cloudless Day
JanMichael Frahm, Pierre FiteGeorgel, David Gallup, Tim Johnson, Rahul Raguram, Changchang Wu, YiHung Jen, Enrique Dunn, Brian Clipp, Svetlana Lazebnik, Marc Pollefeys[Show abstract] [Hide abstract]
ABSTRACT: This paper introduces an approach for dense 3D reconstruction from unregistered Internetscale photo collections with about 3 million images within the span of a day on a single PC (“cloudless”). Our method advances image clustering, stereo, stereo fusion and structure from motion to achieve high computational performance. We leverage geometric and appearance constraints to obtain a highly parallel implementation on modern graphics processors and multicore architectures. This leads to two orders of magnitude higher performance on an order of magnitude larger dataset than competing stateoftheart approaches.07/2010: pages 368381;  [Show abstract] [Hide abstract]
ABSTRACT: Bipedal robots in previous research work were unable to independently modify the elements of a walking pattern on uneven terrain without any extra footstep for adjusting the center of mass (COM) motion. To solve this problem, this paper extends the modifiable walking pattern generator (MWPG). The MWPG can independently modify the elements of the walking pattern without any extra footstep on flat terrain only. The extended MWPG can be applied on uneven terrain. In the extended MWPG, a 3D command state is defined to generate the walking pattern on uneven terrain. Instead of using the constant COM height, the vertical COM trajectory is generated to satisfy the foot height of the swing leg. Also, an additional trajectory, generated by the cubic spline interpolation, is supplied to the vertical foot trajectory of the MWPG. The proposed MWPG is implemented on the smallsized bipedal robot, HanSaRamIX (HSRIX) and the effectiveness of the proposed MWPG is demonstrated through the experiment.IEEE/ASME Transactions on Mechatronics 01/2013; 18(2):657663. · 3.14 Impact Factor  [Show abstract] [Hide abstract]
ABSTRACT: This paper proposes 3D command state (3D CS)based modifiable walking pattern generator (MWPG) on the uneven terrain with the different inclinations and heights for humanoid robots. In the previous researches on walking pattern generation on the uneven terrain, the humanoid robot was unable to modify a walking pattern on the uneven terrain without any additional footstep for adjusting the center of mass (COM) motion. Thus, a novel MWPG is developed to solve this problem. It is based on the conventional MWPG which allows the zero moment point (ZMP) variation in realtime by closed form functions. Initially, a 3D CS is defined as a navigational command set which consists of the foot height and foot pitch and roll angles of the swing leg in addition to the single and double support times and sagittal and lateral step lengths of the swing leg, for walking on the uneven terrain. Next, the COM trajectories in the single and double support phases are generated to satisfy the 3D CS. Also, the foot trajectory of the swing leg is generated according to the commanded sagittal and lateral step lengths, foot height, and foot pitch and roll angles to walk on the uneven terrain. The proposed algorithm is implemented on a simulation model of the smallsized humanoid robot, HanSaRamIX (HSRIX), developed at the Robot Intelligence Technology laboratory, KAIST and the effectiveness is demonstrated through the simulation.01/2011;
Page 1
A Walking Pattern Generator for Biped Robots on Uneven
Terrains
Yu Zheng, Ming C. Lin, Dinesh Manocha∗
Albertus Hendrawan Adiwahono, CheeMeng Chew†
Abstract
We present a new method to generate biped walk
ing patterns for biped robots on nonhorizontal or un
even terrains. Our formulation uses a universal sta
bility criterion that checks whether the resultant of the
gravity wrench and the inertia wrench of a robot lies in
the convex cone of the wrenches resulting from contacts
between the robot and the environment. We present an
algorithm to compute the feasible acceleration of the
robot’s CoM (center of mass) and use that algorithm to
generate biped walking patterns. Our approach is more
general and applicable to uneven terrains as compared
with prior methods based on the ZMP (zeromoment
point) criterion. We highlight its applications on some
benchmarks.
1. Introduction
Biped walking is a key problem in the design of
humanoid robots. One of the most successful stability
criteria for walking robots is the ZMP criterion, which
determines if the ZMP is inside the support polygon of
the feet of a robot [1]. An indepth review of the ZMP
can be found in [2]. Based on the ZMP criterion, many
methods to generate walking patterns have been pro
posed, such as [3]–[8]. However, the original ZMP cri
terion is primarily limited to cases where a robot walks
on a horizontal flat terrain with sufficiently large fric
tion. Several attempts have been made to extend these
methods to handle terrains with slopes or stairs [9]–
[12], but their applications have been limited.
∗Y. Zheng, M. C. Lin, and D. Manocha are with the Depart
ment of Computer Science, University of North Carolina at Chapel
Hill, NC 27599 USA {yuzheng,lin,dm}@cs.unc.edu. This
work was supported by ARO Contract W911NF0410088, NSF
awards 0636208, 0917040 and 0904990, DARPA/RDECOM Con
tract WR91CRB08C0137, and Intel.
†A. H. Adiwahono and C.M. Chew are with the Department of
Mechanical Engineering, National University of Singapore, Singa
pore 117576 {albertus,chewcm}@nus.edu.sg.
1.1. Main Results
We present a walking pattern generator for a biped
robot to follow given foot placements on an arbitrary
terrain, based on a general stability criterion [13] and
a distance algorithm [14] that provides an efficient way
to verify the criterion [13]. First, given any foot place
ment, we determine a position of the CoM such that the
robotcanmaintainstability withthe supportofonlyone
foot standing in place while the other foot shifts to the
next placement. Between two such CoM positions at
two adjacent foot placements (one for the left foot and
the other for the right), we compute a stable trajectory
of the CoM by updating the CoM status with a feasible
acceleration at every time step. In order to determine
the stable position and the feasible acceleration of the
CoM,we use aniterativemethodbasedon a distanceal
gorithm [14]. With these methods, the entire trajectory
of the CoM that passes through all stable positions can
be finally generated. The angular values of the joints
of each leg are computedusing inverse kinematics from
the relative position of the CoM to the feet. We have
implementedthis algorithm, and the resulting generator
tends to produce good trajectories for a robot to stably
walk over several complex terrains.
The rest of this paper is organized as follows: Sec
tion 2 summarizes prior work in this area. Section 3
presents an overviewof our generator. Section 4 formu
lates the general stability criterion. Sections 5–7 intro
duce our methods to compute the stable CoM position
and trajectory. Section 8 reports the simulation results.
Section 9 concludes with possible future directions.
2. Related Work
The ZMP criterion is frequently used in generat
ing walking patterns for biped robots. Some methods
generatethe bodymotionaccordingtoa predetermined
ZMP trajectory [3], [4]. Kajita et al. [3] used the pre
view control of ZMP based on the carttable model.
Park and Youm [4] generalized the method by Kajita
Page 2
[3], taking into account the full dynamics of a biped
robot instead of the carttable model. Another set of
methods utilize the ZMP criterion to verify the stability
of a robot following a planned body trajectory [5]–[8].
Some researchers extended the ZMP criterion to
more general cases [9]–[12]. Kagami et al. [9] and
Harada et al. [10] generalized the ZMP criterion to the
case where the robot’s hands as well as feet come into
contact with the environment. Sugihara et al. [11] used
the ZMP on a virtual horizontal plane to verify the sta
bility of a robot walking on a rough terrain. Huang et
al. [12] modifiedthe ZMP criterionforuse overterrains
with slopes or stairs.
In order to overcome the limitations, a general sta
bility criterion has been suggested instead of the ZMP
criterion, which determines if the gravity [15] or the re
sultant of the gravity and the inertia wrench [13], [16]
lies in the convex cone of feasible wrenches from con
tacts between a robot and its environment. Hauser et
al. [17] used the static stability criterion [15] in de
signing a motion planner for legged robots walking on
rough terrains. However, there is relatively little work
on walking pattern generation based on a general dy
namic stability criterion [13], [16]. One main reason is
that verifying the dynamic stability of a biped robot is
muchmorecomplexthan the static stability orthe ZMP.
3. Overview
We assume that the sequence of foot placements
on the ground is known, including positions and orien
tations, which can be predetermined by footstep plan
ning or motion planning algorithms [18]–[20]. Our ob
jectiveis to computea continuoustrajectoryofthe CoM
and joint angles of each leg such that the robot walks to
the goal position, following the given foot placements.
In this paper, we consider a biped robot walking
on uneven terrains, on which the robot’s feet may have
different orientations at every step and the normals at
contacts on both feet are not parallel. In such cases,
maintaining the robot’s stability is much more difficult
than on a flat horizontal terrain. To do this, we adopt
an intermittent walking strategy; that is, the CoM of the
robot stays in a certain position when a leg swings and
both feet remain on the ground when the CoM moves.
Unlike walking on a flat horizontal terrain, where the
CoM usually moves along with the swing leg without
pause, alternately movingthe CoM and a foot may limit
the walking speed of the robot and the scope that the
robot can reach. However, this facilitates the mainte
nance of the robot’s stability on uneven terrains. Before
the swing foot lifts up, we require the CoM to reach a
certain position, in which the robot can maintain its sta
Algorithm 1. Generate the walking pattern for a task
Input: initial and goal configurations of a robot; a se
quence of foot placements on the ground.
Output: trajectoriesoftheCoM andall jointssuchthat
the robot walks to the goal along foot placements.
1: Adjust the robot to a starting pose (a typical motion
is to squat down)
2: repeat
Compute the position of the CoM supported by
only one foot such that the other foot can lift up
and shift to its next placement
Move the CoM from the current position to the
position computedabove, while both feet still re
main on the ground; calculate the joint angles on
both legs using inverse kinematics
Move the swing leg to its next placement, while
holding the CoM to its current position
6: until both feet reach their final placements
7: Adjust the robot to the goal configuration
3:
4:
5:
bility with the support of only the other foot. When the
CoMchanges,bothfeetprovidemaximumsupportsuch
that a stable trajectory of the CoM can be more easily
computed than with single leg support. The walking
circle is described in Algorithm 1. Computing stable
CoM positions (line 3) and generating stable CoM tra
jectories (line 4) on uneven terrains are the main objec
tives of the method we present in this paper.
4. Wrenches and Stability
In this section, we introduce a general stability cri
terion in terms of wrenches applied to a robot for use
in uneven terrain walking. Henceforth, we use upper
case letters to denote sets and boldface letters to denote
points, vectors, and matrices.
4.1. Wrenches (Forces and Moments)
Fig. 1 shows a biped robot. All contacts between
the robot and the environment are assumed to be hard
point contacts with friction. The bottom of each foot is
flat, so that the contact normal is perpendicular to the
foot. If a foot makes a planar contact with the environ
ment, the planar contact can be treated as a few point
contacts on its boundary. Let Σ0be the global coordi
nate frame whose zaxis is vertical. We decompose the
wrenches exerted on the robot into four categories.
Page 3
p0
Robot?space
Wrench?space
x
y
Mg
?
?0
Wc
1
p0
2
?
wL
wL
?wG
Wi
Fi
Mp0
..
fi
fx
fz
?wG
1
?wG
2
Fig. 1. View of biped walking in wrench space. The fric
tion cone Fi, the gravity force Mg g g, and the linear inertia force
M¨ p p p0in robot space are transformed into the convex cone Wi,
the gravity wrench w w wG, and the linear inertia wrench w w wLin
wrench space, respectively. The Minkowski sum of Wifor all
contacts generates a convex coneWc, which comprises all fea
sible wrenches that can be applied to the robot from contacts.
As the position p p p0of the CoM moves from p p p1
moves from −w w w1
Gto −w w w2
interior ofWcsuchthat thereisenough stabilitymargintocon
tain theangular inertiawrench w w wA, i.e., −w w wG+w w wL+w w wA∈Wc;
thus the robot is dynamically stable during walking.
0to p p p2
0, −w w wG
G. We keep −w w wG+w w wL∈ Wcin the
4.1.1. Contact wrench. The resultant wrench from all
contacts with respect to the frame Σ0can be written as
w w wC=
m
∑
i=1
?I I I3×3
r r ri⊗
?
f f fi
(1)
where r r ridenotes the position vector of a contact point
between the robot and the environmentin the frame Σ0,
f f fiis the contact force, and I I I3×3is the 3×3 identity
matrix. To avoid slip at contact, f f fimust comply with
the Coulomb friction constraint, which limits f f fiinto a
convex cone Fispecified by
Fi= {f f fi∈ R3 ? (I I I3×3−n n nin n nT
i)f f fi?≤ µn n nT
if f fi}
(2)
where n n ni is the unit normal at contact and µ is the
Coulomb friction coefficient.
wrenches that can be generated by forces at contact i
satisfying (2); i.e., Wi= {?f f fT
LetWc=∑m
i=1Wi, which consists of all w w wCgiven by (1)
with f f fi∈ Fi, i = 1,2,...,m and is the set of all feasible
resultant wrenches from contacts. It turns out that both
WiandWcare convex cones.
Let Wi be the set of
i
(r r ri⊗ f f fi)T?Tf f fi∈ Fi}.
4.1.2. Gravity wrench. The gravity and the resulting
moment with respect to the origin of Σ0are given by
w w wG=
?I I I3×3
p p p0⊗
?
Mg g g
(3)
where p p p0is the positionof the CoM in Σ0, M is the total
mass of the robot, and g g g =?00
−g?T. The wrench
w w wGcan be viewed as a single point in wrench space and
it is related only to the position p p p0of the CoM.
4.1.3. Linear inertia wrench. It is the wrench gener
ated by the inertia force applied to the CoM:
w w wL=
?I I I3×3
p p p0⊗
?
M¨ p p p0
(4)
where ¨ p p p0is the acceleration of the CoM. The wrench
w w wLdepends on p p p0and ¨ p p p0. For a given p p p0, the direction
of w w wLis determined by the direction of ¨ p p p0, while their
magnitudes are proportional to each other.
4.1.4. Angular inertia wrench. According to [13],
the angular inertia wrench can be computed by
w w wA=
?0 0 0
˙L L L
?
(5)
where L L L is the angular momentum of the robot with re
spect to the CoM [13]:
L L L =
N
∑
j=1
{mj(p p pj− p p p0)⊗ ˙ p p pj+I I Ijω ω ωj}
(6)
where mj, p p pj, I I Ij, and ω ω ωjare the mass, position, inertia
tensor, and angular velocity of the jth link of the robot,
respectively.
4.2. Stability criterion
A robot is statically stable if its gravity wrench
can be counterbalanced by some contact forces; i.e.,
there exists w w wC∈ Wcsuch that w w wC+w w wG= 0 0 0, or equiv
alently −w w wG∈Wc. The dynamic stability also takes the
inertia wrenches w w wLand w w wAinto account and requires
w w wC+w w wG−w w wL−w w wA= 0 0 0 for some w w wC∈ Wc, which is
equivalent to −w w wG+w w wL+w w wA∈ Wc. Normally, we re
quire −w w wGor −w w wG+w w wL+w w wAto be inside the interior
ofWcsuch that there is some safety margin.
Thewellknownstabilitycriterionthatisoftenused
in biped walking verifies whether the ZMP lies inside
the support polygon of the feet. When a robot walks
on a flat horizontal terrain, it is easy to determine the
ZMP and the support polygon; thus the ZMPbased sta
bility criterion can be readily implemented. However,
on nonhorizontal or uneven terrains, the definition of
the support polygon is unclear and the ZMP criterion
is not easy to use. Here, the formulation of Wcby (1)
and (2) considers the contact normal n n niand the friction
coefficient µ in general. Hence, the stability criterion
based on Wcis generally applicable. The friction cone
Fiin (2) restricts the contact force f f fiwithin a narrow
region and greatly affects the stability of the robot. It is
better to consider the friction rather than to assume it to
be sufficient.
Page 4
5. Statically Stable CoM Position
Here, given the contact positions of one foot with
the ground, we determine the position of the CoM such
that the robot achieves static stability in that position or
−w w wG∈ Wc. Here Wcis generated with respect to the
single supporting foot. First we assume that the CoM is
at a constant height h. Then p p p0can be written as
p p p0= ¯ p p p0+ρ(cosθb b b1+sinθb b b2)
(7)
where ¯ p p p0is an arbitrary point in the horizontal plane at
height h, and b b b1and b b b2are two unit orthogonal vec
tors that span the plane, and ρ ≥ 0 and θ ∈ [0,2π)
are two scalar variables. We may simply choose ¯ p p p0=
?0
anddiscretizeθ as θk=2kπ/K,k=0,2,...,K−1; thus
the problem is to determine the domain of ρ such that
−w w wG∈Wc. Substituting (7) into (3) yields
0
h?T, b b b1=?100?T, and b b b2=?010?T,
w w wG=
?I I I3×3
¯ p p p0⊗
= ¯ w w wG+ρw w wk.
?
Mg g g+ρ
?
0 0 0
(cosθkb b b1+sinθkb b b2)⊗Mg g g
?
The above equation means that −w w wGlies on the
ray originating from −¯ w w wGin the direction −w w wk. The
intersections of the boundary of Wcwith the ray give
the lower and upper bounds of ρ, denoted by ρL
ρU
k, such that −w w wG∈ Wc. Substituting ρL
gether with θkinto (7) leads to two points, between
which any point gives a statically stable position of the
CoM. By doing this for all k = 1,2,...,K, we obtain a
set of points and observe: 1) the statically stable do
main of the CoM is the convex hull of these points and
2) the shape of the domain or the x and ycoordinates
of these points are independent of the height h. There
fore, we do not need to recalculate the statically stable
CoM domain for a different height as long as the con
tact positions of the feet are not changed. Nevertheless,
it should be noted that the CoM position is also limited
by the dimension and structure of the robot.
To determinetheCoM positionin Algorithm1, we
may simply choose it at the center of the stable domain
withrespecttothesinglesupportingfoot. Bydoingthis,
the robot can possess a large stability margin, i.e., −w w wG
being deep inside Wc, such that −w w wG+w w wAcan still be
kept inWcduring the swing of the other leg.
kand
kto
kand ρU
6. Dynamically Stable CoM Trajectory
Let p p p1
0and p p p2
0be the current and next positions of
the CoM computed by the above means with respect to
two adjacent foot placements. Now we introduce an al
gorithm to generate a trajectory of the CoM from p p p1
0to
p p p2
cording to the adopted walking strategy, the velocities
of the CoM at p p p1
0and p p p2
touching the ground while the CoM moves from p p p1
wards p p p2
0. Thus, Wchere is generated with respect to
two feet, different from the one in Section 5.
In computing the trajectory of the CoM, we first
omit w w wA. Then the dynamic stability criterion is sim
plified to −w w wG+ w w wL∈ Wc. Let a a a and λ be the di
rection and magnitude of ¨ p p p0, i.e., ¨ p p p0= λa a a, where
? a a a ?= 1 and λ ≥ 0. From (4), for given p p p0and ¨ p p p0,
w w wL= λ?I I I3×3
implies that −w w wG+w w wL= −w w wG+λ ¯ w w wLis a point on the
ray originating from −w w wGin the direction ¯ w w wLfor any
λ ≥0. The robot can accelerate in the direction a a a if and
only if the ray intersectsWc, providedthat the robot has
sufficient active joints. If the robot achieves static sta
bility with a safety margin, which means that −w w wGis in
the interior ofWc, then the ray always intersectsWcand
the robot may accelerate in any direction.
Since the CoM has no initial velocity and is re
quired to move from p p p1
0to p p p2
eration can be taken to be a a a = (p p p2
pointing from p p p1
0to p p p2
magnitudeofacceleration,weneedtocomputetheclos
est and farthest intersection points ofWcwith the above
ray, which represent the minimum and maximum mag
nitudesof feasibleaccelerationinthat direction,namely
λminand λmax. Then the acceleration magnitude can be
calculatedbyλ =(1−k)λmin+kλmax, where0≤k≤1.
Herewechooseasmallerk toensurethat−w w wG+w w wLlies
deeply in the interior of Wcand leave a larger stability
margin so that −w w wG+w w wL+w w wA∈ Wceventually. Once
the acceleration, including both a a a and λ, is determined,
the status of the robot’s CoM is updated by
0, which satisfies the dynamic stability criterion. Ac
0are zero and both feet keep
0to
p p p0⊗
?Ma a a = λ ¯ w w wL, where ¯ w w wL=?I I I3×3
p p p0⊗
?Ma a a. This
0, the direction of accel
0− p p p1
0. To determine an appropriate
0)/ ? p p p2
0− p p p1
0?,
˙ p p p0(t +T) = ˙ p p p0(t)+ ¨ p p p0(t)T
(8)
p p p0(t +T) = p p p0(t)+ ˙ p p p0(t)T + ¨ p p p0(t)T2/2
where ˙ p p p0is the velocity of the CoM and T is the time
step.
From the new status of the CoM and the positions
of the feet, the new joint angles as well as the posi
tions p p pjand the angular velocities ω ω ωjof the links of
the robot’s legs can be calculated using inverse kine
matics. Thus, we can obtain the angular inertia wrench
w w wA and verify the entire dynamic stability criterion
−w w wG+w w wL+w w wA∈ Wc. The update is valid if this cri
terion is satisfied. If not so, we may choose a smaller k
to reduce the acceleration of the CoM so that the inertia
wrenches w w wLand w w wAcan be smaller. By doing this, we
attain the walking pattern for one time step.
We also need to determine the timing to decelerate
the robot such that the CoM can stop at the desired po
(9)
Page 5
H0
H1
w0
w1
w2
Wc
Rw
w3
v w
(
0,)Wc
Fig. 2. Computation of the closest and farthest intersection
points of the convex cone Wc with the ray Rw, which are
marked as w w w2and w w w3, respectively. The figure illustrates the
iteration starting with w w w0and converging to w w w2.
sition p p p2
the newly updated position p p p0and compare the final
position p p p0of the CoM with p p p2
to zero and the final p p p0does not exceed p p p2
can continue to accelerate the robot and update its sta
tus as above; otherwise, if the final p p p0exceeds p p p2
then on we keep decelerating the robot until it reaches
p p p2
0. To reduce ˙ p p p0and decelerate the robot, we perform
the above acceleration computation along the direction
−a a a, which is opposite to ˙ p p p0. By this means, we obtain
the walking pattern for one step. Then, repeating this
process for all foot placements will generate a complete
walking pattern for the robot.
0. To do this, we try to decrease ˙ p p p0to zero from
0. If ˙ p p p0can be reduced
0, then we
0, from
7. Intersection of a Cone with a Ray
In Sections 5 and 6, we reduced the computationof
a stable CoM position and of a feasible acceleration to
the problem of determining the closest and farthest in
tersection points of Wcwith a ray. These points define
the domainof a stable CoM positionor feasible acceler
ation. In this section, we present an algorithm to com
pute them based on a distance computation algorithm
in [14], which can efficiently calculate the nearest point
on Wcto any point in wrench space and the minimum
distance between them.
Generally, we can express a ray as Rw= {w w w0+
λ ¯ w w wλ ≥0}, wherew w w0is the starting pointofthe ray and
¯ w w w is a nonzero vector defining its direction. w w w0= −¯ w w wG
and ¯ w w w = −w w wkin the CoM position computation, while
w w w0= −w w wGand ¯ w w w = −¯ w w wLin the acceleration compu
tation. To determine the closest intersection point of
Wcwith Rwor the minimum value of λ, we first use
the algorithm in [14] to compute the nearest point on
Wcand the minimum distance from Wcto w w w0, denoted
by v v v(w w w0,Wc) and d(w w w0,Wc), respectively. If w w w0∈ Wc,
then d(w w w0,Wc) = 0 and simply λmin= 0; otherwise,
d(w w w0,Wc)>0 andthe hyperplaneH0throughv v v(w w w0,Wc)
with normal w w w0−v v v(w w w0,Wc) supports Wc, as shown in
Fig. 2. If ¯ w w wT(w w w0−v v v(w w w0,Wc)) < 0, then H0intersects
Rwand the intersection point can be calculated by
w w wk+1= w w w0+λk+1¯ w w w
(10)
λk+1= λk−
d(w w wk,Wc)2
¯ w w wT(w w wk−v v v(w w wk,Wc))
(11)
where k denotes the iteration number and starts with 0,
andλ0=0. If ¯ w w wT(w w wk−v v v(w w wk,Wc))<0, it can be proven
that w w wk+1moves ahead along Rwand away from w w wk.
Since w w wk+1is on the hyperplane Hkthat supports Wc,
w w wk+1is outside or on the boundary of Wc. In the lat
ter case, w w wk+1is just the closest intersection point ofWc
with Rw. Otherwise, we repeat the iteration given by
(10)and (11). If ¯ w w wT(w w wk−v v v(w w wk,Wc)) <0 holds in every
iteration, then w w wkfinally converges to the closest inter
section point and λkto the minimum value λmin, as de
pictedinFig. 2. If ¯ w w wT(w w wk−v v v(w w wk,Wc))≥0, thenwe can
conclude that Rwand Wchave no intersection. Indeed,
if ¯ w w wT(w w wk−v v v(w w wk,Wc))=0, then Hkis parallel to Rwand
separates RwfromWc. If ¯ w w wT(w w wk−v v v(w w wk,Wc)) > 0, then
HkseparatesWcand the ray starting fromw w wk+1along ¯ w w w,
which also implies that Rwdoes not intersectWc.
To compute the farthest intersection point of Wc
with Rwor the maximum value λmax, we also follow
the iteration given by (10) and (11). The initial point
can be chosen at any point on Rwaway fromWc. In ev
ery iteration it must hold that ¯ w w wT(w w w0−v v v(w w w0,Wc)) > 0;
otherwise Rwdoes not intersect Wc. If it holds all the
time, then w w wkwill converge to the farthest intersection
point and λkto λmax.
8. Simulations
8.1. Simulation Setup
We conduct simulations in Webots, which is a sim
ulator that allows users to simulate dynamic behaviors
of robots in a 3D virtual environment. The simulated
robotis about1.75m highand weights 75kg. TheCoM
is fixedat the hipand0.84m highwhenthe robotstands
upright. The robot has 30 DoFs with 7 on each leg, 6
on each arm, 2 on the waist, and 2 on the neck. Fig. 3
exhibits the detailed parameters of the robot. The fric
tion coefficient between the robot’s feet and the ground
is taken to be 0.5.
First, we let the robot walk over two sets of con
nected slopes with different inclination angles (Fig. 4).
Page 6
Mass?(kg)
CoM
Head
Length?(mm)
Trunk
Upper
arm
Lower
arm
Hand
Thigh
Shank
Foot
Joints
Neck
pitch,?roll,?yawShoulder
Elbow
Wrist
Waist
Hip
Knee
Ankle
Toe
4
24
3.5
2
1.8
8
6
2.2
220
580
320
280
160
420
420
310?(Height?110)
pitch,?yaw
pitch
pitch,?roll
roll,?yaw
pitch,?roll,?yaw
pitch
pitch,?roll
pitch
Parameters
y
x
z
Fig. 3. Parameters of the simulated robot.
The parameters of the slopes are listed in Table 1. Next,
we have the robot walk over 12 cylinders (Fig. 5),
which are placed on the ground along a circle with a
sweep angle of 60◦. Table 2 displays their parameters.
The upper surfaces of the cylinders are slopes and face
alongthe (inwardor outward)normalor the (forwardor
backward) tangent of the circle.
TABLE 1. PARAMETERS OF SLOPES
First slope set
20◦
350
Inclination angles
Slope lengths (mm)
−10◦
400
10◦
400
−15◦
350
−5◦
334
Second slope set
15◦
−10◦
450
Inclination angles
Slope lengths (mm)
20◦
400
−15◦
400
−10◦
462400
TABLE 2. PARAMETERS OF CYLINDERS
Cylinders on the right side
5◦
10◦
50150
Inclination angles
Central heights (mm)
20◦
250
5◦
300
15◦
200
5◦
100
Cylinders on the left side
15◦
10◦
100200
Inclination angles
Central heights (mm)
10◦
300
10◦
250
20◦
150
5◦
50
8.2. Simulation Results
On the two slope sets, we keep the height of the
robot’s CoM during walking to be constant: 0.72 m and
0.75 m, respectively. Fig. 6(a) and (b) shows the tra
jectories of the CoM generated by our algorithm and
the ones recorded in the simulation. The robot walking
overtheslopes is displayedwith snapshotsin Fig. 4 and
the accompanying video. Videos of higher quality can
be found at http://gamma.cs.unc.edu/RobotWalk/.
For the cylinder case, we allow the height of the
robot’s CoM to vary according to the heights of cylin
ders. The trajectories of the CoM are plotted in Fig.
6(c). The robot walking is exhibited in Fig. 5, the ac
(a)
(b)
Fig. 4. Snapshots of the simulated walk on the (a) first and (b)
second slope sets.
companiedvideo, and on the abovewebsite. Finally the
robot walks over the cylinders and turns 60◦.
8.3. Discussion
In Fig. 6, it may be observed that the CoM in
the simulation (solid line) does not exactly follows the
planned trajectory (dashed line). The reason is that we
treat the CoM fixed in a certain position on the robot
and omit the effect of the swing leg to the CoM in plan
ning the CoM trajectory, while the leg swing can actu
ally cause the CoM to shift and deviate from the com
puted position. As shown in Fig. 6(a) and (b), the solid
line starts to deviate from the dashed line where the the
dashed line becomes horizontal. That is the moment
when one leg starts to swing. The deviation is rela
tivelylargerin thefrontalplane,so that the differencein
the ycoordinate of the CoM trajectory is more evident.
Nevertheless, during the planning stage, we require the
CoM to reach a position such that −w w wGgoes deeply in
side Wc, which implies that the robot achieves a large
stability margin. Hence, after every deviation occurs,
the robot can recover from it and continue to follow the
Page 7
Fig. 5. Snapshots of the simulated walk over various cylinders.
plannedtrajectory. Furthermore,if the step lengthis not
large, the deviation could be very small, as in the test of
walking on cylinders (Fig. 6(c)).
9. Conclusion and Future Work
The ZMP criterionis the most widely used stability
criterion in legged robots. Many walking pattern gener
ators and controlalgorithms have been developedbased
on it. The ZMP criterion achieved great success in the
casewherearobotwalksonaflat horizontalterrainwith
sufficient friction, but has limited applicability in the
case of uneven terrains or limited friction. In this pa
per, based on a general stability criterion [13] and an
efficient algorithm to verify it [14], we propose a new
approach to generate stable walking patterns for biped
robots on uneven terrains.
strated with simulations, wherea humanoidrobotwalks
over terrains with varying slopes. We plan to carry
out more experiments on uneven or rough terrains to
test our walkingpattern generator. Further investigation
may also be done on the integration of this walking pat
tern generator with efficient collision detection and fast
motion planning algorithms to build a complete system
for biped locomotion in complex environments.
Its usefulness is demon
References
[1] M. Vukobratovi´ c and J. Stepanenko, “On the stability of
anthropomorphic systems,” Mathematical Biosciences,
vol. 15 pp. 1–37, 1972.
[2] M. Vukobratovi´ c and B. Borovac, “Zeromoment point:
thirty five years of its life,” International Journal of Hu
manoid Robotics, vol. 1, No. 1, pp. 157173, 2004.
[3] S. Kajita, F. Kanehiro, K. Kaneko, K. Fujiwara, K.
Harada, K. Yokoi, H. Hirukawa, “Biped walking pattern
generation by using preview control of zeromoment
point,” in Proc. IEEE Int. Conf. Robot. Automat., Taipei,
Taiwan, Sept. 2003, pp. 1620–1626.
[4] J. Park and Y. Youm, “General ZMP preview control for
bipedal walking,” in Proc. IEEE Int. Conf. Robot. Au
tomat., Roma, Italy, April 2007, pp. 2682–2687.
[5] Q. Huang, K. Yokoi, S. Kajita, K. Kaneko, H. Arai,
N. Koyachi, K. Tanie, “Planning walking patterns for a
biped robot,” IEEE Trans. Robot. Automat., vol. 17, no.
3, pp. 280–289, 2001.
[6] J. Kuffner, S. Kagami, K. Nishiwaki, M. Inaba, and
H. Inoue, “Dynamicallystable motion planning for hu
manoid robots,” Autonomous Robots, vol. 12, no.1, pp.
105–118, 2002.
[7] E. S. Neo, K. Yokoi, S. Kajita, and K. Tanie, “Whole
body motion generation integrating operator’s intention
and robot’s autonomy in controlling humanoid robots,”
IEEE Trans. Robot., vol. 23, no. 4, pp. 763–775, 2007.
Page 8
0369 12
time (s)
1518212427
0
0.7
1.4
2.1
2.8
x coordinate (m)
036912
time (s)
15 18212427
−0.2
−0.1
0
0.1
0.2
y coordinate (m)
0369 12
time (s)
15 1821 2427
0.7
0.75
0.8
0.85
0.9
z coordinate (m)
(a)
0369 12
time (s)
15 18 21 2427
0
0.7
1.4
2.1
2.8
x coordinate (m)
036912
time (s)
15 182124 27
−0.2
−0.1
0
0.1
0.2
y coordinate (m)
0369 12
time (s)
1518 21 24 27
0.7
0.75
0.8
0.85
0.9
z coordinate (m)
(b)
0 1020304050
0
1
2
3
time (s)
x coordinate (m)
0 10 2030 4050
−2
−1
0
1
time (s)
y coordinate (m)
010 203040 50
0.6
0.8
1
1.2
time (s)
z coordinate (m)
(c)
Fig. 6. The trajectories of the CoM on the (a) first slope set, (b) second slope set, and (c) cylinders. The dashed line represents the
trajectory of the CoM generated by our method, while the solid line represents the one recorded in the simulation.
[8] F. Kanehiro, W. Suleiman, F. Lamiraux, E. Yoshida, and
J.P. Laumond, “Integrating dynamics into motion plan
ning for humanoid robots,” in Proc. IEEE/RSJ Int. Conf.
Intell. Robots Syst., Nice, France, Sept. 2008, pp. 660–
667.
[9] S. Kagami, T. Kitagawa, K. Nishiwaki, T. Sugihiara,
M. Inaba, and H. Inoue, “A fast dynamically equi
librated walking trajectory generation method of hu
manoid robot,” Auton. Robot., vol. 12, no.1, pp. 71–82,
2002.
[10] K. Harada, S. Kajita, K. Kaneko, and H. Hirukawa,
“ZMP analysis for arm/leg coordination,” in Proc.
IEEE/RSJ Int. Conf. Intell. Robots Syst., Las Vegas,
Nevada, Oct. 2003, pp. 75–81.
[11] T. Sugihara, Y. Nakamura, and H. Inoue, “Realtime hu
manoid motion generation through ZMP manipulation
based on inverted pendulum control,” in Proc. IEEE Int.
Conf. Robot. Automat., Washington, DC, May 2002, pp.
1404–1409.
[12] W.W. Huang, C.M. Chew, Y. Zheng, and G.S. Hong,
“Pattern generation for bipedal walking on slopes and
stairs,” in Proc. IEEE/RAS Int. Conf. Humanoid Robots,
Daejeon, Korea, Dec. 2008, pp. 205–210.
[13] H. Hirukawa, S. Hattori, K. Harada, S. Kajita, K.
Kaneko, F. Kanehiro, K. Fujiwara, and M. Morisawa, “A
universal stability criterion of the foot contact of legged
robots  Adios ZMP,” in Proc. IEEE Int. Conf. Robot.
Automat., Orlando, Florida, May 2006, pp. 1976–1983.
[14] Y. Zheng and C.M. Chew, “Distance between a point
and a convex cone in ndimensional space: computation
and applications,” IEEETrans. Robot., vol. 25, no. 6, pp.
1397–1412, 2009.
[15] T. Bretl and S. Lall, “Testing static equilibrium for
legged robots,” IEEE Trans. Robot., vol. 24, no. 4, pp.
794–807, 2008.
[16] T. Saida, Y.Yokokoji, andT.Yoshikawa, “FSW(feasible
solution of wrench) for multilegged robots,” in Proc.
IEEE Int. Conf. Robot. Automat., Taipei, Taiwan, Sept.
2003, pp. 3815–3820.
[17] K. Hauser, T. Bretl, J.C. Latombe, K. Harada, and B.
Wilcox, “Motion planning for legged robots on varied
terrain,” Int. J. Robot.Res., vol. 27, no. 1112, pp. 1325–
1349, 2008.
[18] J. Kuffner, K. Nishiwaki, S. Kagami, M. Inaba, and H.
Inoue, “Footstep planning among obstacles for biped
robots,” in Proc. IEEE/RSJ Int. Conf. Intell. Robot. Sys.,
Maui, HI, Oct. 2001, pp. 500–505.
[19] J. Kuffner, S. Kagami, K. Nishiwaki, M. Inaba, and H.
Inoue, “Online footstep planning for humanoid robots,”
in Proc. IEEE Int. Conf. Robot. Automat., Taipei, Tai
wan, Sept. 2003, pp. 932–937.
[20] J. Chestnutt, J. Kuffner, K. Nishiwaki, and S. Kagami,
“Planning biped navigation strategies in complex envi
ronments,” in Proc. IEEE Int. Conf. Humanoid Robots,
2003.