Integration of multi-level postural balancing on humanoid robots
Sang-Ho Hyon, Rieko Osu and Yohei. Otaka

Abstract— This paper discusses an integration issue of multilevel postural balancing on humanoid robot. We give a unified
viewpoint of postural balancing, which covers Ankle Strategy
to Hip Strategy. Two kinds of distributor of desired groundreaction force to whole-body joint torque are presented. The
one distributor leads to a dynamic balancer which covers
Hip strategy, with the under-actuated situation. A simple
angular momentum regulator is also proposed to stabilize
the internal motions due to the joint redundancy. The other
distributor leads to a static balancer which lies between Ankle
and Hip strategy. Furthermore, this paper demonstrates that
replacement of the center of mass feedback with the local joint
stiffness makes the robot much stabler for some fast motions.
Motivated by the practicability of the static balancer and thestrong push-recovery performance of the dynamic balancer, thispaper presents a simple integration by superposition of theboth balancers on a compliant human-sized biped robot. The
simulation and experimental videos are supplemented.

I. I NTRODUCTION

Sec. III-Ar

Appendix I

DB
Eq. (9)Muscleactivity control

Sec. IV

Sec. III-Bq

SB
Eq. (14)

G-compEq. (16)qSec. III-C
Stiffness
Eq. (16)τL
τSu

TorquecontrolForce
feedback

Equivalence
Muscloskeletal system

Fig. 1. Overall control architecture of postural balancing. This is composedof dynamic balancer, static balancer, gravity compensation and joint stiffness. The four blocks in the left show each control module, whose details
are shown in the indicated sections and equations (ignore some overlapped
terms in the equations). r is the desired task-space position, and q is thedesired joint-space position. The outputs of the modules are simply summed
up, according to the task objectives.

A. Motivation
When a human is suddenly pushed forward, he/she cantake various actions to recover the balance. Physiologists
have been discussing about the three major recovery strategies; (a) Ankle Strategy, (b) Hip Strategy and (c) Step [1][2]. Since human postural control is fundamental full-body
motor control for humans, some high level nervous system
is supposed to be involved as well as vestibular, somaticand proprioceptive feedback [3][4][5][6]. Actually, the Ankle
Strategy is not just joint-stiffness control because there
should be anti-gravitational forces, which can be computedby using internal model of body such as mass distributionof the each limb.
The challenge of this paper is to suggest computationalmodels of human postural control by exploiting possible
controller realizations on compliant humanoid robots, whichinteracts with the environment in real-time as humans do [7].
Such attempt is also beneficial to development of humanfriendly assistive/rehabilitation devices. Our approach is first
implementing the above three strategies on humanoid robot
S. Hyon is with JST, ICORP, Computational Brain Project, Honcho
4-1-8, Kawaguchi, Saitama 332-0012, Japan, and ATR Computational
Neuroscience Laboratories, Hikaridai 2-2-2, Keihannna Science City, Kyoto,
Japan sangho@atr.jp
R. Osu is with ATR Computational Neuroscience Laboratories, Hikaridai
2-2-2, Keihannna Science City, Kyoto, Japan, and National Institute ofInformation and Communications Technology, Hikaridai 2-2-2, Keihannna
Science City, Kyoto, Japan osu@atr.jp
Y. Otaka is with Tokyo Bay Rehabilitation Hospital, Yatsu 4-1-1,
Narashino, Chiba 275-0026, Japan otaka119@mac.com
This paper has supplementary material provided by the authors. This is asingle MPEG4 format movie which shows the empirical results. The movie
is 5 MB in size.

models, and then comparing the results with the human data
at different levels of sensory-motor control.
In robotics, these controllers have been discussed, but
in most cases they are independently studied without integration issue (see biped walking literatures). One of theopen question is how humans combine (or just switch) thesethree modules according to the sensory feedback and internal
model. A model predictive controller is proposed in [8], andsome model-based criteria are proposed in [9][10], based onhuman model and human gait data.
In [11], we discussed the integration issue in passivity context, and also implemented a simple push-recovery
controller from balancing to stepping on a human-sizedcompliant humanoid robot. This paper continues to discuss
the integration issue (comparison with human data is left for
the future work). The overview of this paper is shown in
Fig. 1.
This paper has three contributions. The first one is a
unified viewpoint of postural balancing, which covers Ankle
Strategy to Hip Strategy as follows.
• From the causality of the controlled system, the motionof the center of mass (CoM) is determined by theground reaction force (GRF), and the control problem
is how to distribute desired GRF into full-body joint
torque. Directly solving the full dynamics leads to a richbalancing controller, which we call Dynamic Balancer(DB) in this paper (1st block in Fig. 1). This balancer
is free from so-called “ZMP (Zero Moment Point)
criteria” [12], and can be applied to under-actuatedsituation, the situation which “Hip” Strategy implies.
However, it suffers from the computational cost, internalmotions, and singularity. The internal motions appear
regardless of the CoM regulation. We show that theinternal motions are coming from angular momentum(AM), and the regulation of AM can be achieved bysimply adding integral action to the CoM feedback law
in the desired GRF.
• Within the limitation of the ZMP criteria, we can use apassivity-based postural control strategy without taking
the dynamic effect into account [17]. At the cost of
reducing the GRF (hence, the balancing ability), theinternal motions due to the redundancy can be suppressed by simple joint damping, which also suppress
the angular momentum around CoM. These make the
ZMP almost equivalent to center of pressure (CoP). We
call this balancing controller as Static Balancer (SB)in this paper (2nd block in Fig. 1). This controller lies
between Ankle Strategy and Hip strategy.

(a) Planar 4-link robot
Fig. 2.

(xC , zC)

The third contribution is a demonstration of a simple
integration of SB and DB. Specifically we discuss a superposition of the control outputs (joint torques) of the two control
modules (the summation symbol in Fig. 1). We will show therobust push-recovery performance on our humanoid robot.

Hardwares for experiments

q4
Hip

Knee

−q2

q2

rP

Z

rP

Knee

Z

q1

q

Toe

X

X

(a) 4-link model(b) 3-link modelFig. 3.

Planar under-actuated models

The constrained equation of motion can be written as


 
 

M
O
MG
r¨C
O
+
+
O I(q)q̈
C(q, q̇)q̇O       

Iˆ

q̂¨C


=

We treat balancing control at toe-support or heel-support
uniformly, but the equation of motion of the former includes
the latter. Therefore, we show only the former one here. Let
the toe locate at the origin, and rC = [xC , zC ]T ∈ R2 be
the position of the CoM, q := [q1 , q2 , q3 , q4 ]T ∈ R4 be
the posture angles, which combines to qC = [rC , q]T ∈ R6
where q1 is the cyclic variable (ignorable coordinate) [13].

Hip

Ankle
1

Toe

II. DYNAMICS

We start with simple planar floating-based models totest ideas, then extend to full-body humanoid model. The
experimental hardware are shown in Fig. 2(a) and Fig. 2(b).
The former is a planar 4-link acrobat robot, which can control
the joint torque by standard analog current feedback [14],where we have succeeded in direct CoM control via inverse
dynamics. The latter is a human-sized humanoid robot, CB-i[7], which also provides force control by high-speed force
feedback loop. Let us first consider a planar 4-link modelcomprising torso, thigh, shank and foot as shown in Fig. 3(a).
In the later simulation we also use a 3-link model without
foot, shown in Fig. 3(b).

q3(xC , zC)−q3

The second contribution is a discussion on a stiffness
controller superposed by gravity compensator (G-comp) (3rdand 4th block in Fig. 1). This is a simple substitute for
the CoM feedback control, resulting in Ankle Strategy. We
discuss the advantage and disadvantage of this controller over
the CoM feedback from a computational and biological pointof view.

(b) Humanoid robot

Ĉ

O

τ
  u

andṙC + JP (q)q̇ =




id2





+

Ĝ

id2



JP (q)T




(1)
fP

Ê T

JP (q) q̂˙C = 0,



(2)

Ê(q)

where idN is identity matrix of dimension N , O is a zero
vector or matrix with the context-wise dimension, M =diag(m, m) ∈ R2×2 is the mass matrix with m being thetotal mass, I(q) ∈ R4×4 is the inertia matrix, C(q, q̇)q̇ ∈ R4
is the centrifugal/Colioris term, G = [0, g]T ∈ R2 is thegravity acceleration, JP ∈ R2×4 is the Jacobian from thetoe to the CoM, and τ = [τ1 , τ2 , τ3 , τ4 ]T ∈ R4 is the applied
torque associated to q. The constraint force fP ∈ R2 is the
GRF.
Usually, τ1 is limited or not available. When the footcompletely sticks to the ground, this torque plays a role ofconstraint torque that maintains q1 = q̇1 = 0. In this case,this torque together with the GRF fP determines the positionof the CoP. Without any constrain, the above equation showsa simple ballistic flight. See [14] for the details of derivation.
III. A UNIFIED INTERPRETATION FROM A NKLE
S TRATEGY AND H IP S TRATEGY
If we define the postural balancing as “the regulation of
the ground projection of CoM to the center of supporting
region (SR)”, it would be useful to control CoM by a newcontrol input fu = [fux , fuz ]T ∈ R2 , through the linear
dynamics
M r̈C = fP − M G = fu .

(3)

The simplest stabilizing input will be a PD feedback law
fux
fuz

=
=

−KP xC − KD ẋC ,−KP (zC − z C ) − KD żC ,

(4)
(5)

with the target height z C , which is usually set to equilibrium
where the control input can be minimized. Note that one
should restrict either fux and/or fuz to obey the friction
constraint fux ≤ μ(mg + fuz ) with the friction coefficientμ (in the later simulation we set μ = 0.5).
From Eq. (1) and Eq. (2), fP can be written by1
fP = (Ê Iˆ−1 Ê T )−1

γ + Ê Iˆ−1 (u − Ĉ − Ĝ)(6)∂(Ê q̇)q̇. Hence, we can compute the desiredwith γ(q, q̇) = ∂qjoint torque by substituting Eq. (3) into this equation.
Note, however, this requires inverse operation, which does
not give us the unique solution. Nevertheless, the above
computation is a fundamental of the exact CoM control via
GRF. Actually, in the following, we discuss Ankle Strategy
and Hip Strategy in a unified mechanism, but with a bit
difference of how GRF is distributed into the joint torques.

A. Dynamic solution leads to Hip Strategy
Suppose the robot is in toe-contact. Eq. (6) can be rewritten asÊIˆ−1(u − Ĉ − Ĝ) = −γ + (Ê Iˆ−1 Ê T )(M G + fu ),
 



A

(7)

B

A12
A22

MG
τ − C q̇=W = (diag([m2 , m3 , m4 ]))

−1

,

(10)

it prevents the light links from moving fast to rush into
the singular posture. Although it is not easy to solve thesingularity, the above control torque exactly achieves fP =M G + fu for given τ1 and the state (q, q̇) within the regularregion.
Fig. 5 (and Video 1) shows the balancing control simulation of the 3-link model (Fig. 3(b)) with τ1 = 0 andEq. (4)(5). The link parameters are set similar to the humanoid robot in Fig. 2(b). Since the robot is under-actuated,
and the initial CoM is far from the equilibrium, the robot has
to move its joints very fast, while avoiding the singularity.
We noticed that singularity occurs when the knee joint meetsq2 ≥ 0. We use a simple joint limit (spring-damper) to avoid
the singularity in this simulation. This corresponds to Hip
Strategy.
As one can see from the figure and video, the hip joint
rotates unboundedly, while the CoM stays at the target
position. This shows well-known internal motion [15]. The
both angular momentums (AM) around the contact point or
CoM are converging to constants (see Graph (d)). We cannot
avoid the internal motion by tuning parameters. Therefore,
the AM together with CoM should be regulated in DB. In[14] we specified the desired AM, then solved its timederivative together with Eq. (6). Instead of doing this, wewill show much simpler solution in Section III-D.
B. Static solution leads to the middle of Hip and Ankle
Strategy
If the toe and heel do not leave the ground, we can use
τ1 as the control input. In this case, quasi-static solution isavailable, which we call static balancer (SB). If we put γ ≈ 0
and Ĉ ≈ 0 into Eq. (6), we can obtain the control torque
=
=

τ
fv

JPT (fv + M G),
fu + (JP I −1 JPT )−1 M −1 fu ,

(11)
(12)

fP ≈ fu + M G(13)which leads to

or
A11
A21

which we call dynamic balancer (DB). Moreover, if we use
a weighting matrix

B1
B2

.

(8)

To give τ1 freely (including zero), we separate it out, thenwe obtain⎡⎤
τ2
A12 (2 : 4) ⎣
τ3 ⎦A22 (2 : 4)τ4
(9)
B1 − A11 M G − A12 C q̇ − A12 (1)τ1.
=
B2 − A21 M G − A22 C q̇ − A22 (1)τ1
The size of the left coefficient matrix is 2 × 3, and we cansolve the equation for (τ2 , τ3 , τ4 ) by using pseudo-inverse,
1 By substituting Eq. (6) into Eq. (1), we can obtain the reduced dynamics
of dimension 4.

Moreover, if we put the additional damping term to theright-hand-side of Eq. (11) and further simplifies it, we have
τ = JPT (fu + M G) − Dq̇.

(14)

With this controller we can prove the actual GRF asymptotically approaches to the desired one:fP → fu + M G (t → ∞)(15)This is a passivity-based contact force control for redundantlegged robots proposed in [16]. For balancing case, thedesired GRF can be designed as Eq. (4). When fu = 0(no CoM feedback), the controller becomes a (full-body) Gcomp.

The resultant controller is a full-body torque controller,
not corresponding to Ankle Strategy, nor Hip Strategy. See[17] for the actual performance of the controller (14) (withadditional optimization), which was applied to a full-bodyhumanoid robot. To make SB work properly, the ZMP mustlie within SR. Therefore we restrict fu so that the desired
CoP does not cross the bound of SR [11]. This is not thecase for DB.
C. Replacing the CoM feedback to local stiffness leads to
Ankle Stragety
The Ankle Strategy was originally meant for stabilizing
control of a single inverted pendulum that represents a global
human posture. It has a unique upright equilibrium postureq = qe where xC = 0. The stabilization is achieved by alocal PD control torque around the pivot, the ankle joint. In
addition, an integral action or feedforward input should be
used if the target posture is not qe .
For multi-DoF humanoid model, the equilibrium posture is
not unique. If the equilibrium posture qe is given in advance,
we can implement local joint stiffness control around that
posture. As a result, we can replace the original controller
Eq. (14) + Eq. (4) with a simpler one:τ = JP (q)T M G − Dq̇ − K(q − qe ),(16)

where K is a stiffness matrix to be designed or learned [18].
Below we discuss how this controller is useful froma computational point of view. First of all, note that thecomputational cost is the same because we use full-body Gcomp that requires forward kinematics. The problem lies in
its practicability. The CoM feedback (Eq. (14) with Eq. (4))
is flexible, but it makes the robot fluctuate even in theequilibrium posture because of the noise in the CoM estimation (including the orientation measurement). Contrary, theresponse of Eq. (16) is much faster than the CoM feedback
because the stiffness torque is implemented in the local joint
controller. The schematic illustration comparing with the
CoM feedback is shown in Fig. 4.
The first G-comp term in Eq. (16) has also the same delay,
therefore, the update of the motor command is relatively
slow. However, as described in Appendix I, the delayed
motor command generates stiffness around the target posture.
We think this noise-robust controller is suitable for some

-K Δq

rP
TargetrP-K Δq

fS1 fS2 Mg fS3 fS4(a) G-comp + stiffness aroundthe target equilibrium

fS1

fS2 fP

fS3

fS4(b) CoM feedback controller

Fig. 4.
Two balancing schemes against unknown external side-force.
(a) Simple balancing control scheme with G-comp and stiffness. (b) CoM
feedback control with G-comp. For the details of the optimal contact force
distribution fSj (j = 1, 2, ...), see [17].

fast coordinated motions, although some physiology papers[19][20] argues that these are coupled.
Video 2 and Video 3 show the experimental results of fast
upper-body motions with torso twisting during quite stance[21], under the two different balancing schemes discussed
above. The latter is much stabler than the former one. Thisis because the lower limbs do not need to move much inthis particular motion example. Otherwise, the desired equilibrium posture qe should be replaced with the equilibrium
trajectory qe (t) [25].
D. Stabilization of angular momentum by integral action
As we have seen in Section III-A, merely stabilizing CoM
does not solve the internal motions. On the other hand, apassivity-based solution in Section III-B can suppress theinternal motions, but the region of attraction is limited by
CoP up to SR.
Here we take a look at AM. The third line of the equationof motion Eq. (1),I1 q̈ + C1 q̇ = τ1 + JPT 1 fP ,(17)

where I1 and C1 are the third row vector of the inertia matrix
I and colinear matrix C, respectively (neither includes thecyclic variable q1 ), and JP 1 = [−zC , xC ]T is the sub-matrixof JP = [JP 1  JP 2 ].
Since the AM around CoM is represented by PC = I1 q̇,Eq. (17) can be re-written as
ṖC = τ1 + JPT 1 fP .

(18)

On the other hand, the AM around the contact point isexpressed, by definition, as
P0 = PC + rC × mṙC ,(19)and its time-derivative is given byṖ0=ṖC + m(zC ẍC − xC z̈C )=ṖC + zC fx − xC (fz − mg).

(20)

Substituting Eq. (18) into Eq. (20) yields
Ṗ0= (−zC fx + xC fz + τ1 ) + zC fx − xC (fz − mg)= τ1 + xC mg.

(21)

From Eq. (19) we reach the following statement. SincerC × mṙC → 0 when the CoM is asymptotically stable, it
can happen that P0 = 0 if PC = 0. This is the internalmotions we have seen in Section III-A.
Consequently, from Eq. (21) it is found that we shoulduse
fux = −KP xC − KD ẋC − KI (τ1 + xC mg)dt, (22)instead of Eq. (4), to regulate AM. Thus we can achieve
P0 → 0, which means the allowed motion is asymptotically
restricted to the manifold I1 q̇ = 0.
Fig. 6 (and Video 4) shows the result of the proposed
controller (22). The conditions are exactly the same as theprevious simulation (Fig. 5) except for the additional integral
action. The internal motions completely disappeared.

0.1

t = 0.19

20

0

−0.05

3

1.5

10

1

1

0.5

0.5

5
0

0

xC

xC.d

1

2

ZMP
−5

3

0

1

2

3

0

0
−0.5

500
1

2

3

P

(d) AM (Nms)1000(a) Initial motion

15

Fig. 7.

Non−zeroAnimation corresponding Fig. 8

10

0

1

2

3

Time (s)Three-link model under-actuated balancing simulation (Video 1)
8

−0.05

0

xC.d

ZMP

1

2

3

C

−0.02

0

0.5

1

1.5

1

2

3

1

2

0

1

3

2

P0

25
(d) AM (Nms)

300
200
100
0

3

1
0
−1
−2

PC

0

1

2
Time (s)

3

0.5

1

1.5

0

0.5

1

1.5

1
2
3
4 2

2
Fx
Fx.d
Fz
Fz.d

1000
500
0
−500

0

0.5

1

1.5

2

0

0.5

1
Time (s)

1.5

2

20

1000

15

15
10
5

−100

0.6
0.58

1500

30

400

0.62

0

2

C

zC.d

0.64

2

3

2

−2

500

C

x .d

z

0.66

4

0
xC

x
−0.01

(c) Posture (rad)

0

0

−0.03

6

0.05

0.68
(b) Z position (m)03(d) GRF (N)2(a) X position (m)1(b) Posture (rad)(a) X position (m)(b) Final

0.01
0

0.1

(c) Torque (Nm)

0.5

20

Time (s)Fig. 6.

0

5

−100

−200

−0.5

C

0

0

1

2

3

Time (s)With angular momentum regulation by integral action (Video 4)

The similar balancing simulations are conducted using the
4-link model with the toe contact. The result is shown in
Fig. 7 and Fig. 8 (and Video 5), where the weight matrix
Eq. (10) is adopted. Interestingly, the recovery motion looks
like human’s behavior. The CoM and ZMP rapidly approachto the origin (toe) within 0.2 s as shown in Fig. 7(a), andthen slowly converge2 as shown in Fig. 7(b). Note that notorque is applied around the toe (see τ1 = 0 in Graph (e)).
The AM rapidly increases from the initial value (zero) as the
CoM is pulled back to origin, and then converges to zero as
the internal motion (joint motion) converges. The global error
response is determined by a linear feedback controller (22). If
2 It would be natural to set the target of CoM to a position a bit behind
the toe. Then, the robot can relax at the static equilibrium. We didn’t dothis here simply because it was tedious to simulate the heel contact, but see
Section IV.

(e) Torque (Nm)(c) Torque (Nm)

200

−0.1

0.5

P

0

25

300

Fig. 5.

0

30

400

−200

t = 1.99

1.5

1
2
3
4

500

(f) AM @ CoM

−0.1

2

15

0.05

(b) Posture (rad)(a) X position (m)

1

0

−500

0

Fig. 8.

0.5

1Time (s)

1.5

2

10
5
0
−5

4-link model under-actuated balancing simulation

we want, we can shape the response curve by modifying thedesired GRF. Note there is a discontinuous change around0.45 s. This is because of the knee joint hitting its limit.
Since we use a simple spring-damping model for the limit,
there are small errors in the GRF (Graph (d)). The torso
is strongly tilted from the initial upright posture. It is notdifficult to expect the amount of the tilt can be reduced if
we put the arms to the body because the arm will rotate to
the same direction.
The actual region of attraction is limited by physicalconstraints such as maximum torque, range of joint angle,
etc. Although some analysis on a simple pendulum modelwith a flywheel is useful [22], it would be difficult totake everything into account for full-body humanoid robot
without off-line optimization or try-and-error based learning.
Nevertheless, it is worth to implement the DB together withSB on our humanoid robot to see the performance and thelimitation, which is shown in the next section.
fPush1

fPush2

fPush32

4

6

bPush1

fPush4

xP

xP.d

0.2
0.1
0
−0.1

8

10

xC
12

(b) Normal GRF (N)

600
Right

Left

450

2

4

6

8
q

R2

(c) Posture (deg)Left.d

500

q

R4

10
q

R6

12
q

T3

50
0
−50
2

4

6
τR2

100
(d) SB torques (Nm)Right.d

550

400

8

10

12

τR4

τR6

τT3

50
0
−50
−100

(e) DB hip torque (Nm)This section presents a simple integration of SB and DB
and applies to a human-sized humanoid robot. Since we haveno solid evidences on how humans use these two modules,
we first implement and test the both on the actual robot, andthen get back to the theory.
The motivation to use SB is its simplicity, practicability
and safety. But it is not strong. Actually, it loses the controllability of CoM once its projection locates outside SR. On
the other hand, DB suffers from difficulties in implementation: difficult to derive the dynamic model, and difficult tocompute (measure) the necessary dynamics to compensate
Therefore, we use the SB as a default, and combine the DB
in a safe way. Specifically, we tested a simple superpositionof SB and DB, where the DB is computed for a reduced 2link acrobot [23] model, where the control input is available
only for the hip joint (ankle joint is free). Different from thecontroller for 3-link or 4-link model in Section III-A, theacrobot controller is free from the control singularity; theequation is simple; no need to use the weighting matrix. The
2-link model is the reduced model of the humanoid robot,
where the first link is composed of the shank and thigh, andthe second link is the torso.
The control output from DB is just superposed to the
hip joint. Similar integration can be found in [24], but adifference is that we limit the desired CoP for SB, but not
do that for DB to take advantage of its strong recovery
performance. Also, we are applying full-body SR (not local
stiffness control) with the optimized contact force control for
all the time.
Below we show some simulation and experimental results
on a full-body humanoid robot. Video 6 shows the simulation
result, where forward and backward pushes (±300 N to
the pelvis during 0.1 s) are applied. The arm joints are
just commanded zero torque with a small damping, and thehead is orientation controlled. Fig. 9 show the corresponding
simulation data. See the caption for the details of the data.
Without DB, the robot could not recover the balance. Without
SB, the robot could not keep its posture, and the upper body
rapidly rotated, which made the normal GRF small enoughfor the robot to lose its contact with the ground.
Fig. 10 show an experimental result with the same controller. Strong forward/backward pushes have been applied
from human operator to the robot pelvis. Graph (f) shows
the torque output from the 2-link DB module, which is
distributed to the both right and left hip joints. A large input
is required for a “strong” backward push applied at t = 33 s
(indicated by bPush2). The required torque for the hip joint
exceeds 200 Nm. On the other hand, in the case of the similar“strong” forward push at 42.5 s (indicated by fPush3), thehip torque is about -150 Nm. The compensation appears to(a) X−position (m)IV. I NTEGRATION ON HUMANOID ROBOT

2

4

6

8

10

12

2

4

6
Time (s)

8

10

12

300
200
100
0
−100
−200
−300

Fig. 9. Simulation data of push-recovery control by SB and DB. Multiple
pushes have been applied to the robot torso. (a) xC is CoM, xP and xP.dare the actual and desired CoP, which do not exceed SR (upper and lower
bounds, which are slightly shifting upward because of the slippage). The
forward pushes (fPush1, fPush2, fPush3, fPush4) and the single backward
push (bPush1) are indicated. Compare with Video 6. (b) Actual GRF does
not match to the desired because of the superposition. (c) Desired and actual
CoM height. (d) joint angles for the right leg (qR2 :hip, qR4 :hip, qR6 :ankle)
and the torso pitch (qT 3 ). (e) Control output from SB module. The subscripts
have the same meaning as Graph (d). (f) Control output from DB module.
Comparing with τR2 , the sign of the DB torque is opposite to the SB torquefor the initial stage of the push-recovery.

fPush1

bPush1(a) X−position (m)0.2

fPush2

fPush3

0.1
0
−0.1
x
−0.2
20

(b) Normal GRF (N)bPush2

x .d

C

P

25

30

35

40

Right

1000

45

Fig. 11.

Typical behavior of superposition of SB and DB (Video 7)

Left

500

0
20

25

30

35

40

45

20
(c) Knee (deg)

Right

Left

Fig. 12.

10

0

−10
20

25

30

35

40

45

(d) Hip (deg)

30
Right

20

Left

10
0
−10
−20
20

(e) DB hip torque (Nm)Combined push-recovery with stepping (Video 7)

25

30

35

40

45

VI. ACKNOWLEDGMENTS

300
200
100
0
−100
−200
20

used. However, dynamic motions are expected to be learned
by robot itself [25]. Our future effort will be devoted to thiswork. On the other hand, once the balancing performanceis improved, it becomes easy to combine the step strategy
for re-balancing. Fig. 12 (Video 7) shows one of the rebalancing experiment. The same symmetric foot placement
strategy in [16] has been applied. We expect the robust pushrecovery controller leads to robust walking, which we believea starting point for optimal walking via learning.

25

30

35

40

45

Time (s)Fig. 10.
Experimenta data of push-recovery control by SB and DB.
The symbols are the same as Fig. 9. Large peaks mean that three-times
forward pushes and twice backward pushes (fPush1, bPush1, bPush2,
fPush2, fPush3) have been applied to the robot pelvis from the humanoperator. When bPush2 is applied, the actual hip torque saturated (not shownin graphs).

the knee joint (Graph (c)). Fig. 11 shows the snap shots of
the recovery motion when pushed the torso (see Video 7).
V. C ONCLUSION AND FUTURE WORKThe motivating idea of using passivity-based controller(SB) for postural balancing was its simplicity and practicability. On the other hand, the purpose of deriving complex
controller (DB) was to test its actual performance. From thepractical and safety reason, in this paper we integrated theboth by simple superposition. Surprisingly, the performancehas been greatly improved compared with the case only SB is

The authors would like to thank the National Instituteof Communication Telecommunication (NICT), Japan. The
authors gratefully acknowledge N. Nakano (NICT) for theexperimental setups, and Prof. C. G. Atkeson (CMU), Dr.
D. Bentivegna (CMU) and Prof. H. Herr (MIT) for helpful
discussions.
R EFERENCES[1] F. B. Horak and L. M. Nashner, “Central programming of postural movements: adaptation to altered support-surface configurations,”
Journal of Neurophysiology, vol. 55, no. 6, pp. 1369–1381, 1986.
[2] A. Winter, David, A.B.C. (Anatomy, Biomechanics and Control) of
Balance During Standing and Walking.
Waterloo Biomechanics,
1995.
[3] L. R. Squire, D. Berg, F. Bloom, S. D. Lac, A. Ghosh, and N. C.
Spitzer, Eds., Fundamental Neuroscience. Academic Pr, 2008.
[4] R. J. Peterka, “Sensorimotor integration in human postural control,” J
Neurophysiol, vol. 88, no. 3, pp. 1097–118, 2002.
[5] H. van der Kooij, R. Jacobs, B. Koopman, and H. Grootenboer, “Amultisensory integration model of human stance control,” Biol Cybern,vol. 80, no. 5, pp. 299–308, 1999.
[6] P. G. Morasso and V. Sanguineti, “Ankle muscle stiffness alone cannot
stabilize balance during quiet standing,” J Neurophysiol, vol. 88, no. 4,
pp. 2157–62, 2002.
[7] M. Kawato, “From ‘Understanding the Brain by Creating the Brain’
towards manipulative neuroscience,” Philosophical Transactions of theRoyal Society, vol. 363, no. 1500, pp. 2201–2214, 2008.
[8] P. G. Morasso, L. Baratto, R. Capra, and G. Spada, “Internal models in
the control of posture,” Neural Netw, vol. 12, no. 7-8, pp. 1173–1180,
1999.

[9] A. D. Kuo, “An optimal control model for analyzing human posturalbalance,” Biomedical Engineering, IEEE Transactions on, vol. 42,
no. 1, pp. 87 – 101, 1995.
[10] M. B. Popovic, A. Goswami, and H. Herr, “Ground reference points
in legged locomotion: Definitions, biological trajectories and control
implications,” The International Journal of Robotics Research, vol. 24,
no. 12, pp. 1013 – 1032, 2005.
[11] S. Hyon and G. Cheng, “Disturbance rejection for biped humanoids,”
in IEEE International Conference on Robotics and Automation, Roma,
Italy, 2007, pp. 2668–2675.
[12] 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.
[13] D. T. Greenwood, Classical Dynamics. Dover, 1977.
[14] S. Hyon, N. Yokoyama, and T. Emura, “Back handspring of a multilink gymnastic robot - reference model approach,” Advanced Robotics,
vol. 20, no. 1, pp. 93–113, 2006.
[15] R. M. Murray, Z. Li, and S. S. Sastry, A Mathematical Introduction
to Robotic Manipulation. CRC Press, 1994.
[16] S. Hyon and G. Cheng, “Passivity-based full-body force control forhumanoids and application to dynamic balancing and locomotion,” inIEEE/RSJ International Conference on Intelligent Robots and Systems,
Beijing, China, Oct. 2006, pp. 4915–4922.
[17] S. Hyon, J. G. Hale, and G. Cheng, “Full-body compliant humanhumanoid interaction: Balancing in the presence of unknown external
forces,” IEEE Transactions on Robotics, vol. 23, no. 5, pp. 884–898,
2007.
[18] E. Burdet, R. Osu, D. Franklin, T. Milner, and M. Kawato, “The central
nervous system stabilizes unstable dynamics by learning optimal
impedance,” Nature, vol. 414, pp. 446–449, 2001.
[19] K. Masani, M. R. Popovic, K. Nakazawa, M. Kouzaki, and D. Nozaki,“Importance of body sway velocity information in controlling ankle
extensor activities during quiet stance,” J Neurophysiol, vol. 90, no. 6,
pp. 3774–82, 2003.
[20] I. D. Loram, S. M. Kelly, and M. Lakie, “Human balancing of an
inverted pendulum: is sway size controlled by ankle impedance?” J
Physiol, vol. 532, no. Pt 3, pp. 879–91, 2001.
[21] S. Hyon, J. Moren, and M. Kawato, “Toward humanoid batting:
Prediction and fast coordinated motion,” in RSJ Annual Conference,
2008, pp. AC2J2–01.
[22] J. Pratt, J. Carff, S. Drakunov, and A. Goswami, “Capture point:
A step toward humanoid push recovery,” in IEEE-RAS International
Conference on Humanoid Robots, Genova, Italy, 2006, pp. 200–207.
[23] M. Spong, “The swing up control problem for the acrobot,” IEEE
Control Systems Magazine, vol. 15, no. 1, pp. 49–55, 1995.
[24] B. Stephens, “Integral control of humanoid balance,” in IEEE/RSJ
2007 International Conference on Intelligent Robots and Systems,
2007.
[25] S. Hyon, J. Morimoto, and G. Cheng, “Hierarchical motor learning andsynthesis with passivity-based controller and phase oscillator,” in IEEE
International Conference on Robotics and Automation, Pasadena,USA, pp. 2705–2710.
[26] N. Hogan, “Adaptive control of mechanical impedance by coactivationof antagonist muscles,” Automatic Control, IEEE Transactions on,
vol. 29, no. 8, pp. 681 – 690, Aug 1984.
[27] J. Yamaguchi and A. Takanishi, “Development of a biped walking
robot having antagonistic driven joints using nonlinear spring mechanism,” in IEEE International Conference on Robotics and Automation,
vol. 1, 1997, pp. 185–192.

A PPENDIX I
B IOLOGICAL EVIDENCE OF SUPERPOSITION
Here we briefly explain the superposition in Eq. (16) froma biological point of view. We adopt a simple musculoskeletal system model proposed by Hogan [26]. Fig. 13 showsa single joint model. With this model, we can computethe desired motor command (neural activity) for isometricmuscles u1 , u2 when some desired one-parameter joint
trajectory q(t) (angle displacement from the rest posture) anddesired load torque τ L (t) are given. For example, the antigravitational torque to support own weight will be the mostCNS
The same
motor command

Planned (optimal)
motor command

u1

u2
u1
τL

u2
τ L+K (u1+u2) Δq

Known load

Angular deviation

Δq = q - q

q=q
Target posture
Unknown load

Fig. 13. Operation of the musculoskeletal system model under load. (Left)
Planned (optimal) motor command for some given target posture q andload. The load torque is indicated by τ . (Right) The net torque under
unknown load with the same motor command. This observation motivatesthe implementation of superposition in the whole-body force controller given
by Eq. (16).

fundamental load torque for human postural control. Using
the musculoskeletal model, the motor command is computedasτ L (t) = T0 (u1 − u2 ) − K(u1 + u2 )q(t),(23)

where K is the angular stiffness, and T0 is the maximum
torque in the rest position (see [26]).
We can solve the for the “optimal" motor command ufrom Eq. (23) (using the Kuhn-Tucker conditions), which isapplied to the muscles in a feedforward manner. Then, theactual applied torque becomesτ = T0 (u1 − u2 ) − K(u1 + u2 )q.

(24)

When q(t) = q(t), the joint torque satisfies τ = τ L (t).
Otherwise, the joint torque becomesτ = τ L + K(u1 + u2 )Δq(25)

where Δq = q − q is the joint angle error.
This results in a superposition of feedforward and proportional feedback control laws for the target joint trajectory.
This observation supports the implementation of superposition in a simple balancer given by Eq. (16).
The desired loads and postures are assumed to be givenby the task-space control center. If the robot has artificial
muscles in its joints [27], then a lower-level control center
generates the necessary motor commands for the muscles, as
shown in the right block in Fig. 1. In our humanoid robot,
torque control is implemented as high-speed force feedback
control.