Proceedings of the 2006 IEEE/RSJ
International Conference on Intelligent Robots and Systems
October 9 - 15, 2006, Beijing, China

Passivity-Based Full-Body Force Control for Humanoids
and Application to Dynamic Balancing and Locomotion
Sang-Ho Hyon†,‡Gordon Cheng†,‡† Computational Brain Project, ICORP, JST‡ ATR, Computational Neuroscience Laboratories
Hikaridai 2-2-2, Souraku-gun, Kyoto 619-0288, Japan
E-mail: sangho@atr.jp† Computational Brain Project, ICORP, JST‡ ATR, Computational Neuroscience Laboratories
Hikaridai 2-2-2, Souraku-gun, Kyoto 619-0288, Japan
E-mail: gordon@atr.jp

Abstract— This paper proposes a passivity-based hierarchicalfull-body motion controller for force-controllable multi-DOF
humanoid robots. The task-space forces are treated in a uniform
manner for a variety of position/force tracking and force/momentcompensation. The contact force closure is optimally solved andtransformed directly into the joint torques in real-time without
any joint trajectory planning. With this framework, we introduce
gravity compensation at the lowest layer of the controller thatmakes the closed-loop system passive with respect to additional
inputs as well as external forces. Furthermore, we propose two
upper-layers: one layer controls the ground reaction forces, whichenables the robot keep the dynamic balance. The other layer isthe another passification control, which constructs an invariant
manifold that prevents the robot from falling during walking.
Four realistic dynamic simulations: balanced squatting, reaching,externally driven, or speed-controlled walking with disturbancesdemonstrate the effectiveness of the proposed methods.
Index Terms— Humanoid robots, Full-body motion control,
Balance, Locomotion, Passivity, Gravity compensation.

(a)Full-bodyforce controllable
humanoid
robot
built by SARCOSInc.

(b) Simulation
model I (7DOF
for legs and
3DOF
for
torso)(c)
Simulation
model II (7DOF
for legs and arms
and 3DOF for
torso)

I. I NTRODUCTION
Fig. 1.

A. BackgroundFull-body motion control is assigning DOFs (degrees of
freedom) appropriately for given motion tasks. It originate
from the control of redundant manipulator, where tracking
performance for multiple objects, joint limitation, singularconfiguration or self-collision avoidance have been the main
problems to be solved. For legged robots, two more essential
control objectives were added; balancing and mobility. ZMP(Zero-Moment-Point [1]) or equivalently CoP (center of pressure) has been playing a central role for balancing [2][3][4].
The building and realization of multi-DOF humanoid robots
are becoming familiar to us; more sophisticated motion control
task by multi-DOF of hyper-DOF system is a growing interest
within the humanoid research community. For such a highdimensional system the reduction of dimensionality is thecentral issue from the viewpoint of real-time motion control.
Since the center of mass (CoM) of a multi-DOF systemrepresents the integrated translational motion behavior of thewhole system, it is clearly a promising controlled variable ofthe moving objects in Cartesian space.
For mobile robot such as (biped) humanoid robots, thelocation of CoM serves not only as a direct target to be reached
but also as an important index for balancing. Controlling CoM

1-4244-0259-X/06/$20.00 ©2006 IEEE

4915

Humanoid robot models considered in this paper

via ZMP modulation was proposed by Honda and successfully
applied to their real humanoid robots [3]. The idea was further
analyzed in [5][6] and extended to whole-body motion control
in [7][8] where position-controllable humanoids are assumed.
The redundancy problem was solved by weighted pseudoinverse of Jacobian from ZMP to CoM. Direct acceleration
control of CoM for a multi-DOF humanoid robot is proposedin [9][10] where torque-controllable robots are assumed andresolved acceleration controller (with a perfect model matching assumption) was employed. Recently, [11] proposed a
new task space controller for force-controllable humanoids,
where the task is projected onto the constraint nulll-space
and the recursive algorithm via multi-level prioritization wasdeveloped, but how to deal with dynamic balancing or walking
have not been presented.
B. Scope and contribution
This paper proposes simple and practical full-body force
controllers for a force-controllable humanoid robot (Fig. 1(a))
and presents some simulation results on real-time balancing
and walking. The details of the robotic hardware will bepresented in [12], and some initial walking results can be
Adaptive Control( Input optimization )found in [13]. The controllers developed in this paper are
general and do not assume any specific models, but only
assume the joint torques are controllable.
Asymptotical stabilization( Speed regulation, balancing )First we review our hierarchical motion control strategy
based on passivity [14][15] in Section II. We will explain how
Invariance control
the different controllers presented in this paper are effectively( Fall avoidance,
G-compensation )combined in a hierarchical manner. In Section III, we propose
a novel force control framework. Therein, the task-space forces
are treated in a uniform manner which are used for various
position/orientation control as well as force interaction, and theFig. 2. Concept of the hierarchical motion control strategy composing of:contact forces are optimally distributed in real-time. Different invariance control, asymptotical stabilization and adaptive control.
from the recently-proposed methods [11], we do not calculate
all the nonlinear terms and cancel them, while maintaining
good contact force tracking performance.
(S3) Apply adaptive or learning schemes to minimize control
With this force control framework, we will present someefforts.
motion examples on balancing and walking in Section V.
The resultant controller has a hierarchical structure in which
In the balancing examples, CoM tracking control, orientation
the existence and the boundedness of the solutions must be
control and reaching control are demonstrated. In the walking
ensured at the lowest layer with a high priority; more advanced
examples, the externally-driven walking and speed-controlledcontrol goals should be achieved at the higher layers. In thiswalking with disturbances are shown. In particular, Symmetricstrategy, the invariance control (S1) plays the most important
Walking Control (SWC) proposed in [15] is generalized torole. As shown in [14], the invariance control can be regarded
multi-DOF humanoid robots in Section IV.
as an extension of the feedback passification (see the following
Under the assumption of force-controllability within thesentences) to a class of hybrid systems.
interested bandwidth, our controller has the following benefits:
The concept of passivity has played an important role
• No need for pre-calculation of joint trajectories;
in the stabilization of nonlinear control systems [17]. The• A few modeling parameters (no inertia matrix);
passivity is closely related to the stability since the closed• Easy task addition;
loop system possess Lyapnov stable zero dynamics. When
• Applicable to arbitrary contact points;
the equilibrium point of original Hamiltonian is not related• No need to assign the weights, as opposed to positionto control task, however, some feedback controller must be
based full-body controllers;applied to produce a new (shaped) Hamiltonian. How can a• Uniform treatment of position/orientation control;
nonlinear system be rendered passive via feedback is called a• External-drivability (force interaction).
(feedback) passification, or feedback equivalence to a passive
The effectiveness of the proposed controller and the further systems. The gravity compensation control briefly described inextensions are discussed in Section VI. The experimental Section III-C achieves a passification for the humanoid robots
results will be presented in the very near future [16].
(Fig. 2) as shown in [18].
It is very important to note that a merely passified system,
II. H IERARCHICAL MOTION CONTROL STRATEGY BASED
however,
is not sufficient to obtain invariant sets when there
ON PASSIVITYaresomeinadmissible
regions where the motion is impossible
The purpose of the control design here is to generate
(due
to
the
unilateral
constraints, friction, and so forth).
robust motions not only in real-time but also autonomously
Therefore,
thecontroller
must bound the solution inside thewithout relying on pre-planned reference trajectories, but withadmissible
regionaswell
as passify the system. Renderingachieving simple task objectives, such as walking speed orthecontrolled
systemlossless
with respect to some supply
reaching point. For this purpose, we propose a motion control
rateandboundingthesolution
intosome admissible region is
strategy based on passivity of mechanical systems [14][15].
calledinvariance
controlin[14].
The strategy comprises of three steps, as shown in Fig. 2:
The SWC presented in Section IV is one of the invariance(S1) First, we disregard dissipativity of the system to extract
control that makes the configuration bounded by imposing apurely Hamiltonian (conservative) dynamics. Then, apply
control constraint and switching logic, resulting in anotherinvariance control that render the closed-loop system
passified system. It has been theoretically proven in [15]lossless and restricts the hybrid flows into some invariant
that, as long as the robot keeps contact with the ground, it
sets to obtain a family of Lyapnov stable periodic orbits
does not fall.1 The invariance control attributes flexibility inor chaotic orbits.
subtasks (provided additional active DOFs are available) in(S2) Retrieve (and inject as necessary) dissipativity and apply
the upper layer (S2). For example, a speed-controllable anda tracking controller to obtain asymptotically stable target
states or periodic orbits passing through the desired target
1 In [15] the authors claimed the global stability, but it was actually the semiglobal or regional stability determined by a given stride (design parameter).
states.

4916

asymptotically orbitally stable walking can be achieved bysimply combining the SWC with a simple CoM feedback law
as demonstrated in Section V-C.

A. General formulation of CoM control
Consider a multi-DOF humanoid robot as shown in Fig. 3.
Let q ∈ S n be the joint angles where n is the numberof the joints. The important control objective of multi-DOF
humanoid robots is controlling CoM since it represents theintegrated translational motion behavior of the whole system.
Let rC = [xC , yC , zC ]T ∈ R3 be the position vector of CoM
in the world coordinate frame ΣW .
Consider the exact nonlinear dynamics of humanoids witha single point constraint expressed by
˙ + Ĝ(q̂) =ˆ q̂¨ + Ĉ(q̂, q̂)I(q̂)E(q)q̂˙ =u + E(q̂)T λ
0

(1)
(2)

with q̂ = [r, q]T ∈ R3+n the generalized coordinatesˆ
including the translational coordinates r ∈ R3 in ΣW , I(q̂)˙ the centrifugal and Coriolis term,
the inertia matrix, Ĉ(q̂, q̂)Ĝ(q̂) the gravity term, u = [0, τ ]T ∈ R3+n the generalized
forces, E(q) the constraint Jacobian associated with the pointrFj( j=1,2,3,4 )

fFj

ZMP

III. N OVEL FORCE CONTROL FRAMEWORKThis section presents a novel force control frameworkfor humanoids with multiple contact points and the force
interaction points. The force control frameworks is general;
it can be applied to arbitrary contact points. Our method
is different from recently published paper [19] in that we
consider dynamic balance and optimal load distribution. Section III-A describes general formulation of controlling CoM
via gross applied force (defined therein). Section III-B explains
how to distribute the gross applied force to multiple contact
points through ZMP. Section III-C shows how to transform thedesired contact forces to joint torques. Section III-D shows
how to deal with controlling the swinging legs or hands
for reaching tasks or force interaction tasks. Section III-E
briefly describes how to generate rotational moments andachieve desired orientations of the base, hands, etc, and how
to compensate yaw moment.

fFj( j=5,6,7,8 )r

Fj( j=1,2,3,4 )r

Sj( j=1,2,3,4 )fP
fSj( j=1,2,3,4 ) (GAF)

rSj

ZMP

Z

fE

Base

rP

Y

fFj
( j=9,10,11,12 )fFj( j=5,6,7,8 )( j=5,6,7,8 )(a) Unilateral contact (support)(b) Bilateral contact (hung)Fig. 4. Definition of GAF, contact points and forces: Each contact pointrSj is assigned with the contact force fSj , and each floating point rF j is
assigned with the interaction force fF j . The contact forces fSj are determinedby a desired GAF fP and fF j . Note that ZMP rP always lies within the
supporting convex hull composed of rSj .

constraint, and λ ∈ R3 the constraint force. See [20] for its
derivation.
The above equation may becomes very complicated according to the selection of the translational coordinates and theconstraint. Therefore, the relationship between ZMP and CoM
is very important. Let rP = [xP , yP , zP ]T ∈ R3 be theposition vector from CoM to ZMP (Fig. 3). Note that ZMP is
not fixed, but moving on the ground surface.
Now, let us choose ZMP as the single contact point and
CoM as the translational coordinate respectively, so that thegeneralized coordinates are q̂ = [rC , q]T ∈ R3+n . Then, (1)is transformed to the decoupled dynamics:



 


0
r¨C
M
Mg
0
+
=
C(q, q̇)00 I(q)
q̈

 

Ĉ

+

Ĝ

u + E(q)T fP ,(3)

where M = diag[m, m, m] with m the total mass, g =[0, 0, −9.81]T , andfP = (EI −1 E T )−1

ZMP

−id

∂rP
∂q

.

γ + EI −1 (u − Ĉ − Ĝ)∂(E q̇)q̇. Therefore, for some desired f Pwith γ(q, q̇) = ∂q

(4)

(5)

(6)

we
can calculate the corresponding joint torques by inverting (6).
See [10] for more details on this type of GAF control and(GAF)

Fig. 3.

r

Fj( j=5,6,7,8 )fSj

and hence we can control r̈C by fP .
From (1) and (2) fP can be written asXfP

rFj ( j=1,2,3,4 )rFj ( j=9,10,11,12 )M r̈C = M g − fP

Mg

ΣW

r

Sj
( j=1,2,3,4 )

In (3) we have introduced a gross applied force (GAF) fP =[fxP , fyP , fzP ]T , defined as fP := −λ, the force the robot
applies to the environment. Note that the upper part of (3)shows a simple linear dynamics

CoM

rC

fFj ( j=1,2,3,4 )rP( j=5,6,7,8 )rPE(q) =
Saggi
plan talefP (GAF)fSj ( j=1,2,3,4 )( j=5,6,7,8 )CoM, ZMP, and GAF

4917

its experimental validation in dynamic whole-body control ofunder-actuated systems.
B. Optimal contact force distribution via ZMP
The GAF derived in (6) is not enough to make humanoid
robots interact with the environment at multiple contact points.
The subject of this section is how to distribute GAF to
multiple contact points. To treat the force control in task spacein an uniform manner, we consider translational positions
and forces of the interested force application points. Fig. 4
shows such force application points, as well as GAF. Notethat all the position vectors run from CoM. Assume weare interested in total α-contact points defined by rS =
[rS1 , rS1 , · · · , rSα ]T ∈ R3α and the associated contact
forces fS = [fS1 , fS1 , · · · , fSα ]T ∈ R3α . Of course, rP
must lie within the supporting convex hull composed of rSj .
We are also interested in total β-floating points defined by
rF = [rF 1 , rF 1 , · · · , rF β ]T ∈ R3β and the associatedapplied forces fF = [fF 1 , fF 1 , · · · , fF β ]T ∈ R3β For
example, α = 8 and β = 8 in Fig. 4(a), but α = 4 andβ = 12 in Fig. 4(b).
The relationship among GAF, ZMP and the contact positions/forces can be written as
α

fSj ,
(7)
fP =
j=1

α
xP =

j=1 xSj fzSjα
j=1 fzSj,yP =or, in the simple notation⎡⎤ ⎡xPxS1 xS2 · · ·fzP ⎣ yP ⎦ = ⎣ yS1 yS2 · · ·
1
1
1
···



α

j=1

α

ySj fzSj

j=1 fzSj

,

(8)

⎤
fzS1
xSα ⎢
fzS2 ⎥⎥ySα ⎦ ⎢
⎣ · · · ⎦ , (9)
1
fzSα
⎤

⎡

Az ∈R3×α

where Az represents a contact force distribution matrix. For
some desired normal GAF f zP and ZMP r P we can calculate
the corresponding desired contact forces2 . Specifically, thispaper proposes an optimal contact force distribution given by
⎡
⎤
⎤
⎡
f zS1
xP
⎢ f
⎥
⎢ zS1 ⎥ = A#
⎣ yP ⎦(10)z f zP⎣ ··· ⎦
1
f zSα
T
T
−1
with A#, because it is optimal in the sensez = Az (Az Az )that it minimizes the norm of the total contact forces.
Similarly we can distribute desired horizontal GAFs, f xPand f yP , to the corresponding desired horizontal contact
forces f Sxj and f Syj through Ax and Ay (omitted).
Consequently, a desired GAF is distributed to desired contact forces by a simple matrix operation
⎤
⎡
xP
(11)
f S = A# f P ⎣ y P ⎦ ,1
2 For ZMP-constrained balancer, the desired ZMP is determined by f ,Pthen truncated by the supporting convex hull.

4918

where the contact force distribution matrix A is obtained bypermutating Ax , Ay and Az . Note that (5) only considers
controlling translational motions by fP . But the yaw momentcompensation is also crucial. See Section III-E.
C. Commanded joint torque with gravity compensation
The desired contact forces (11) is converted to commanded
joint torques simply byτ = JS (q)T f S + Dq̇ + τa(12)where JS (q) ∈ R3α×n represents the contact Jacobian from
CoM to supporting contact points (derivative of rS by q), andD ∈ Rn×n is the joint-wise damping coefficient matrix tosupress the internal motions [21]. How to chooe D is discussed
in [16] in the context of the "contact force control".3 τa isadditional joint torque used for joint-space tracking tasks withpossibly higher priority, such as posture control (Section V-B).
This torque control works well only if the gravity term
M g in (6) is compensated because the first RHS term of(12) is based on static force relationship as explained in [16].
Therefore, we set the desired GAF as
f P = fu − M g,

(13)with some new force inputs fu . The gravity compensation is
one of the invariance control (S1) at the bottom layer, while fu
is left for the upper layer control (S2) (see Section II). Detailsof the gravity compensation and its importance in contact force
control is fully discussed in [16].
D. Reaching or force-interaction tasks
We can use the interaction forces fF j for controlling theposition rF j of the swinging leg (or hands) by, for example,
a simple PD feedback law
f F j = −KP F (rF j − rF j ) − KDF (ṙF j − ṙ F j ),(j = 1, 2, · · · , β)(14)with some desired positions/velocities r F j , ṙF j and positive
gain matrix KP , KD > 0, or by some feed-forward control.
The force-interaction is much easier (by simply setting f F j
as desired).
To achieve good tracking of a desired GAF f P the interaction forces must be compensated.4 This can be done by simply
subtracting the sum of the interaction forces from the desired
GAF in advance:
substitutef P ←−−−−− f P −

β


fFj.

(15)

j=1

Thus with this contact force framework the motion commandfor supporting leg joints or swinging leg joints can be handled
in a uniform manner. The toe-off contact or the heel-off contact
can be treated as well.
3 For general description on this type of redundancy resolution in robotic
manipulators, see [22], where the design of D is discussed in the context of"position tracking control" of the end-effector.
4 If task space feedback is employed and the motion is slow enough, theforce/moment compensation is not necessary.

Not only the position of the foot, but also the orientation
can be easily controlled. We will omit it because of the page
limit, but refer to the next section to see how the contact forces
generate moment.

Saggiplan taleZ

j=1

or, in a simple notation⎤
fxS1⎢ fyS1 ⎥⎢⎥⎥τz = [−yS1 , xS2 , · · · , −ySα , xSα ] ⎢⎢ ··· ⎥

⎣fySα ⎦
B∈R1×2αfySα(17)where B represents a contact moment distribution matrix. Fora desired yaw moment τ z we can calculate the corresponding
contact forces by
⎤
⎡
f xS1
⎢ f yS1 ⎥⎥⎢⎢ · · · ⎥ = B#τ z .
(18)⎥⎢⎣ f ySα ⎦f ySαThis paper proposes the following two desired moments. The
first one is to control the base heading:(19)

with some positive gain KP , KD > 0, where e3 is the yaw
orientation of the base. The second one is to compensate theyaw moment due to the swinging leg’s (or trunk’s or hands’)
motion: β 
f xF j(xF j − xP )
τ z2 = −×.
(20)(yF j − yP )f yF jj=1

The total target moment τ z = τ z1 + τ z2 is then substituted
into (18) to modify the contact forces by adding them into theoriginal contact forces, as in (15), that is,substitutef S ←−−−−− f S +α

f Sj .

ΣW

e

plan

rQ
− θ2

θ1

Y
X

Left
Rig

ht fo

ot

foot

ZMP

Fig. 5. Illustration of 3D symmetric walking: rP and rQ are the vector from
CoM to ZMP and to the center of swinging foot respectively. θ1 and θ2 are
the associated angle variables.

⎡τ z1 = −KP Y (e3 − e3 ) − KDY ė3

CoM

rP

E. Moment generation by contact forces
The contact forces can be also used for moment compensation. For example, let τz be the applied yaw moment. It isrelated to the contact forces by
 

α 

xSj
fxSj
(16)
×
∈ R1 ,
τz =
ySj
fySj

ding

Hea

The controller is very simple; it only constraints the motionof the swinging leg by⎤⎡
xP + xQ⎦ = 0.
yP + yQ(22)h(x) = ⎣zP − zQ − z Q
The desired height of the swinging foot z Q specifies agroundclearance; it is a function of the distance dxy :=(xQ − xP )2 + (yQ − yP )2 . For a given stride dxy (design
parameter), z Q must be zero when |dxy | ≥ dxy to makethe exchange of supporting leg. We are using a very simple
linear function. Note that during walking the direction of theheading plane may changes, and the robot moves its foot tothe direction of heading [15].
SWC is not limited to gaits of fixed CoM height. The only
requirement is: the horizontal position of the swinging footbeing symmetric to that of supporting foot. But, practically,
maintaining the CoM height constant helps on preventing theknee from over-extended. Once the over-extension happens,
the knee joint torque may become zero. It will be important toanalyze the relationship between the design parameters (CoMheight and the stride) to obtain optimal walking gaits.
The mathematical properties of SWC presented in [15] aremet in the same way by considering the angle variables θ1and θ2 in Fig. 5. That is, controlled symmetric orbits densely
distributed in the whole interested phase space limited by theswitching stride. See Section V-C for further properties.
V. S IMULATION(21)
A. Simulation model

j=1

In the same way, the orientation control for swinging legs orhands can be easily implemented.
IV. F ULL - BODY SYMMETRIC WALKING CONTROLThis section generalizes SWC proposed in [15] to multiDOF humanoids. Fig. 5 summarizes the related coordinates.
Note that the heading plane and the sagittal plane are notnecessarily aligned. Let rQ = [xQ , yQ , zQ ]T ∈ R3 be theposition vector from CoM to the center of the swinging foot.

4919

The controllers developed are evaluated on two dynamic
simulation models. The first model (Fig. 1(b)) has two 7-DOF
legs and a 3-DOF HAT (head, arms and trunk). We assume
the total mass be m =75 kg (14.2 kg for each leg, 7.5 kg forbase and 39.1 kg for HAT) and the hip height be 0.7 m. The
sole is a cubic solid of 0.1 m in width, 0.15 m in length and0.01 m in depth. The simulator is built on SD/FAST, where
the ground contact is modeled as unilateral virtual springs anddampers attached to the each corner of the sole (see Fig. 4(a)).

The second model (Fig. 1(c)) has two 7-DOF legs, two 7DOF arms and a 3-DOF trunk. The simulator is also built on
SD/FAST, but the ground contact is modeled in an advanced
way [23].
For CoM tracking, a simple PD feedback is employed:

Torso orientation (deg)

0.8
0.6
z
C
z .d

0.4

C

0.2
1

2

3

4

5

x
C
x .d
C
x
P
x .d

0.1

P

0.08
0.06
0.04
0.02
0
1

2

3
Time (s)

4

5

100
50
φp
φp.d
φ
r
φ .d

0
−50
1

r

2

3

4

5

y
C
yC.d
y
P
yP.d

0.15
0.1
0.05
0
−0.05
−0.1
1

2

3
Time (s)45Fig. 7. Time evolution the balanced squatting in Fig. 6: CoM (xC , yC , zC )and ZMP (xP , yP ) are shown with their desired values (indicated by “.d") .

B. Dynamic balancing
Here we will show some ZMP-constrained balancing simulations. The origin of the robot is set to the center of the feet. In
the simulation model Fig. 1(b), ZMP, and hence r P , can travelfrom −0.05 m to +0.1 m in X-direction when the both feet
are aligned. GAF fu is then truncated accordingly. First weshow a balanced squatting with the torso orientation tracking.
We use xC = yC = 0 and give some reference trajectoryfor z C in (23). The orientation control for torso can be done
either by assigning the interaction forces as in Section III-D
or simply by a local feedback
˙ =: τ ,τA = −KP A (φ − φ) − KDA (φ̇ − φ)a1Y−position and ZMP (m)We use the following control parameters consistently in the
all simulations (the gain matrices are diagonal whose elements
have the same value otherwise specified)• (KP C , KDC ) = (5000, 500) for CoM height control, and(KP C , KDC ) = (100, 50) for horizontal CoM control in(23),• (KP F , KDF ) = (1000, 10) for swinging leg tracking
control (14),• (KP Y , KDY ) = (1000, 10) for yaw moment compensation (19),• (KP A , KDA ) = (1000, 10) for torso attitude control (24),• dlegs = 2 and dtorso = 8 for joint-wise damping (12).
The tracking performance obviously depends on the gains.
It is important to note, however, that tracking tasks are notnecessarily achieved by these kinds of very simple feedback controllers only. Feed-forward compensator definitely
improves the performance. An important thing is considering
the required forces into the contact forces as (15) or (21).

Fig. 6. Animation of a balanced squatting with torso swinging for 1–3 sec:
two red markers shows CoM and gCoM, while yellow and green ones indicate
the desired ZMP and actual ZMP.

CoM heght (m)(23)

X−position and ZMP (m)fu = −KP C (rC − r C ) − KDC (ṙC − ṙ C ).

Fig. 8.

Squatting on a full-body humanoid simulator [23](24)

which is added to RHS of (12). In the same way we can add
the joint space control as required. But note that this additionis valid only if the total contact Jacobian JC in (12) has fullrank. Otherwise, we cannot achieve the tracking.
Fig. 6 and Fig. 7 show the simulation result. The desired
CoM height and the torso orientation are simply given bysinusoidal trajectories as shown in Fig. 7. No feed-forward
compensation discussed in Section III-E is applied. To preventthe robot from take-off, we made a lower bound for f zu .
Fig. 8 shows a squatting on the full-body dynamic simulator[23]. Note that the contact forces are distributed to whole-bodyincluding the arms (the arm joints are moving).
Fig. 9 shows another balancing task; continuous reachingtask. The CoM height zC is not controlled but largely dampedwith the same derivative gain, KDC . The position of theswinging leg, rF , is given as a sinusoidal function as shown in

4920

Fig. 10. During the motion, the target equilibrium point, thatis, the center of the supporting foot, is slightly moving due tothe slip. Nevertheless, the horizontal CoM position xC , yC is
stabilized to the new equilibrium (the center of the sole).
C. Dynamic walking
Fig. 11 shows a simulation result of SWC, where the robot
suffers from a large amount of external forces during walking.
In this simulation the balancing controller is de-activated, thatis, f xu = f yu = 0 is enforced in (23), to purely demonstrate
the performance of the invariance controller, while the CoM
height is controlled to 0.8 m (see Section IV for the reason).
The switching stride dxy is fixed to 0.15 m.5 The desired torso
attitude φ is set to zero. The swinging leg is controlled by (14),and the yaw-moment is compensated by (21).
5 We can make the switching stride vary, e.g. acc. the walking speed.

Forward step

Fig. 9.

Backward step

1

0.04

(a) Pushing from forward and backward

z

0.85

Foot position (m)

2

1

5

10
xF
xF.d
y
F
yF.d
z
F
z .d
F

5
Time (s)

C

−0.02
−0.04
0

5

10

10

Forward step

Rightward step

φ
r
φp
φy

40

0

−1
0

xC
x .d
C
y
C
y .d

0

Forward step

Leftward step(b) Pushing from left, right and left

20
0
−20
−40
0

5
Time (s)10Fig. 10. Simulation result of a reaching task by a leg: the target foot positions
indicated by xF .d, yF .d, zF .d are given by 0.2 Hz sinusoidal functions. The
horizontal position of CoM xC , yC is regulated to the center of the foot.

The robot does not fall, but walks to the direction of theexternal force. This is an externally-driven-walking, demonstrating the passivity of the closed-loop system. Note that theobtained walking gaits (periodic orbits) are not asymptoticallystable, but Lyapnov stable. That is, for every neighborhood ofwalking gait, there exist family of other gaits as proven in [15].
The disturbances changes the heading of the robot (Fig. 5) as
well as its acceleration, but the orientation of the base is wellcontrolled by the yaw-moment compensation (21) so that thesagittal plane (Fig. 5) is aligned to the XZ-plane. However,note that the self-collision between limbs and the joint angle
limits are disregarded. They may require another treatment,
and left for the future work.
Since the Lyapnov stability, in the interested phase space
limited by the fixed stride, is ensured in the bottom layer,
it is trivial to achieve asymptotic stability in the upper layer(recall Section II). We only have to give fu in (23) to achievesome desired walking speed or reaching point.6 Fig. 12 showssuch a simulation result where we set ẋC = 1 m/s in (23). A
large amount of disturbance is applied. Nevertheless, the robot
recovers the speed tracking after several steps.
We refer to [24] for its excellent performance of walking
under a large disturbance. The advantages of our method over[24] are: 1) full-body force interaction without specifying
6 In [15] a simple passivity-based controller via torso inclination was
proposed.

4921

CoM velocity (m/s)

0.9

0.02

vx

1

vy

0

v

z

−1
2

Torso orientation (deg)CoM position (m)0.95

Torso orientation (deg)CoM height (m)

C

0.8
0

Forward step

Animation of a periodic reaching task by a leg with balance

4

6

8

10

40
φr

20

φp

0

φy

−20
−40

2

4

6
Time (s)810(c) The time history of the CoM velocities and the torso orientations
Fig. 11. The 3D symmetric walking simulation demonstrating its passivity
against external force: During steady walking of 0.5 m/s, the robot is suddenly
pushed from front by 1500 N, then pushed 1500 N from back, 1000 N fromleft, and 1000 N from right and 500N from left successively. The forces areapplied to the base link (the application time is 0.1 s).

some compensating joints in advance, 2) No joint trajectory
calculation required (no pre-planned patterns at all), 3) The
robot compliantly follows to the external force, then recovers
as necessary, 4) No need to measure the external forces
applied. We have also achieved even 2 m/s walking (running)and continuous hopping in the simulation. Simulation movies
are available from http : //www.cns.atr.jp/ sangho/.
VI. C ONCLUSION
This paper proposed a passivity-based hierarchical fullbody motion controller for force-controllable humanoid robots.
From a practical point of view, we have actually achieved:• New force control framework allowed us to describe theCoM velocity (m/s)

vx

1

v
0

v

z

−1
2

Torso orientation (deg)

y

4

6

8

10

40
φr

20

φ

p

0

φy

−20
−40

2

4

6
Time (s)810Fig. 12.
The 3D symmetric walking with speed control. Even a large
disturbance is applied (-1500 N during 4 - 4.1 s), the speed is converging
to the desired value (1 m/s).

contact force/moment, position, and orientation for either
single or double support phase in a uniform manner;• Different from position-based full-body controllers, thejoint torque is automatically determied by the structureof Jacobian, without weighting coefficients;• Passivity-based control strategy made it easy to prioritize
and combine the each controllers for G-comp, balancing,orientation, and walking;• SWC was successfully extended to multi-DOF humanoids
and demonstrated the power of passivity and easy stabilization.
Four realistic dynamic simulations: balanced squatting, reaching, externally-driven and speed-controlled walking demonstrated the effectiveness of the proposed methods.
The force control framework proposed also works wellin gymnastic motions and other dynamic force interaction
with the environment since (12) combined with (13) caneffectively compensate dynamic effect in the contact force
control [16]. Further theoretical topics to be tackled are related
to natural gait synthesis, which involves the difficult problems
of: extension to ZMP-free balancer, joint torque minimization(natural contact states), joint limitation as well as self-collision
avoidance, etc. The experimental results will be presented in
the very near future [16].
The authors would like to thank the support of the Keihannabranch of the National Institute of Communication Telecommunication (NiCT), Japan.
R EFERENCES[1] M. Vukobratović and B. Borovac, “Zero-moment point - thirty five years
of its life,” International Journal of Humanoid Robotics, vol. 1, no. 1,
pp. 157–173, 2004.
[2] J. Yamaguchi, E. Soga, S. Inoue, and A. Takanishi, “Development of
a bipedal humanoid robot-control method of whole body cooperative
dynamic biped walking,” in Proc. of IEEE International Conference on
Robotics and Automation, May 1999, pp. 368 – 374.

4922

[3] K. Hirai, M. Hirose, Y. Haikawa, and T. Takenaka, “The development of
the honda humanoid robot,” in Proc. of IEEE International Conferenceon Robotics and Automation, Leuven, Belgium, May 1998, pp. 1321–
1328.
[4] H. Inoue, S. Tachi, Y. Nakamura, K. Hirai, N. Ohyu, Hirai.S., K. Tanie,
K. Yokoi, and H. Hirukawa, “Overview of humanoid robotics project of
METI,” in The 32nd International Symposium on Robotics, 2001, pp.
1478–1482.
[5] K. Mitobe, G. Capi, and Y. Nasu, “Control of walking robots basedon manipulation of zero moment point,” Robotica, vol. 18, no. 6, pp.
651–657, 2000.
[6] K. Nagasaka, H. Inoue, and M. Inaba, “Dynamic walking patterngeneration for a humanoid robot based on optimal gradient method,”in Proc. of IEEE International Conference on Systems, Man, andCybernetics, vol. 6, 12-15 Oct. 1999, pp. 908 – 913.
[7] T. Sugihara and Y. Nakamura, “Whole-body cooperative balancing of
humanoid robot using COG Jacobian,” in Proc. of IEEE/RSJ International Conference on Intelligent Robots and System, vol. 3, Lausanne,
Swiss, Sept. 2002, pp. 2575 – 2580.
[8] S. Kajita, F. Kanehiro, K. Kaneko, K. Fujiwara, K. Harada, K. Yokoi, and
H. Hirukawa, “Resolved momentum control: humanoid motion planning
based on the linear and angular momentum,” in Proc. of IEEE/RSJ
International Conference on Intelligent Robots and Systems, Las Vegas,
USA, 2003, pp. 1644–1650.
[9] T. Ikeda, T. Tamura, and T. Mita, “Development and running control
of a 3d leg robot„” in International Symposium on Adaptive Motion ofAnimals and Machines, Montreal, Canada, Aug. 2000, pp. FrP–2–3.
[10] S. Hyon, N. Yokoyama, and T. Emura, “Back handspring of a multilink gymnastic robot - reference model approach,” Advanced Robotics,
vol. 20, no. 1, pp. pp.93–113, 2006.
[11] L. Sentis and O. Khatib, “A whole-body control framework for humanoids operating in human environments -,” in Proc. of IEEE International Conference on Robotics and Automation, Orlando, USA, May
2006, pp. 2641–2648.
[12] G. Cheng, S. Hyon, J. Morimoto, A. Ude, and S. C. Jacobsen, “CB:A humanoid research platform for exploring neuroscience,” in Proc.
of IEEE-RAS International Conference on Humanoid Robots, Genova,
Itary, 2006 (submitted).
[13] J. Morimoto, G. Endo, J. Nakanishi, S. Hyon, G. Cheng, D. Bentivegna,
and C. G. Atkeson, “Modulation of simple sinusoidal patterns by a coupled oscillator model for biped walking,” in Proc. of IEEE International
Conference on Robotics and Automation, 2006 (Accepted).
[14] S. Hyon, “Hamiltonian-based running control of dynamic legged robots,”
Systems, Control and Information, vol. 49, no. 7, pp. 260–265, 2005 (inJapanese).
[15] S. Hyon and T. Emura, “Symmetric walking control: Invariance andglobal stability,” in Proc. of IEEE International Conference on Robotics
and Automation, Barcelona, Spain, Apr 2005, pp. 1455–1462.
[16] S. Hyon and G. Cheng, “Gravity compensation and whole-body force
interaction for humanoid robots,” in Proc. of IEEE-RAS International
Conference on Humanoid Robots, Genova, Itary, 2006 (submitted).
[17] A. J. van der Schaft, L2-Gain and Passivity Techniques in Nonlinear
Control. Springer, 1999.
[18] S. Hyon and K. Fujimoto, “Hamiltonian locomotion,” in SICE 6th
Annual Conference on Control Systems, Nagoya, Japan, May 2006.
[19] J. Park and O. Khatib, “A whole-body control framework for humanoids
operating in human environments,” in Proc. of IEEE International
Conference on Robotics and Automation, Orlando, USA, 2006, pp.
1963–1969.
[20] Greenwood, Classical Dynamics. Dover, 1977.
[21] R. M. Murray, Z. Li, and S. S. Sastry, A Mathematical Introduction to
Robotic Manipulation. CRC Press, 1994.
[22] S. Arimoto, M. Sekimoto, H. Hashiguchi, and R. Ozawa, “Natural resolution of ill-posedness of inverse kinematics for redundant robots: a challenge to bernstein’s degrees-of-freedom problem,” Advanced Robotics,
vol. 19, no. 4, pp. 401–434, 2005.
[23] J. G. Hale, “Contact handling with exact coulomb friction using constraints,” in Proc. of IEEE-RAS International Conference on Humanoid
Robots, Genova, Itary, 2006 (submitted).
[24] A. Takanishi, T. Takeya, H. Karaki, and I. Kato, “A control method for
dynamic biped walking under unknown external force,” in Proc. of IEEE
International Workshop on Intelligent Robots and Systems, July 1990,
pp. 795–801.