2007 IEEE International Conference on
Robotics and Automation
Roma, Italy, 10-14 April 2007

ThC9.2

Disturbance Rejection for Biped Humanoids
Sang-Ho Hyon†,‡ and Gordon Cheng†,‡† Computational Brain Project, ICORP, JST‡ ATR, Computational Neuroscience Laboratories
Hikaridai 2-2-2, Souraku-gun, Kyoto 619-0288, Japan{sangho, gordon}@atr.jp

Abstract— This paper proposes a simple passivity-based
disturbance rejection scheme for force-controllable biped humanoids. The disturbance rejection by force control is useful
not only for self-balance, but also for stable and safety physicalinteraction between human and humanoid robots. The coretechnique is passivity-based contact force control with gravitycompensation. This makes it easy to control the contact forces
in a satisfactory dynamic range without canceling all non-linear
terms. The disturbance rejection is located at the higher layer
above the contact force controller. It is composed of three subcontrollers; 1) a balancing controller; 2) a stepping controller;
and 3) the trigger. Numerical simulations and experiments
evaluate the effectiveness of the proposed controller. Although
the method is incomplete in the sense that the self-collision
between the limbs is ignored, a preliminary experimental result
on a real humanoid platform demonstrates that the proposed
method can actually make the robot recover the balance underlarge unknown external perturbations.

TriggerStepping
Controller

Balancing
Controller

Contact
ForceController
Commanded
Joint Torques

Disturbance Rejection
Controller
Robot States

Fig. 1. Schematic overview of disturbance rejection control presented inthis paper. The balancing and the stepping controller are simply combined.
The stepping controller is triggered by the measured ground reaction force.

Index Terms— Passivity, Disturbance rejection, Humanoid,
Balance, Walking.

I. I NTRODUCTION
Safety will be the most important factor for any robotic
systems operating in the real world. Disturbance rejection
serves as one of the safety requirements for full-sized humanoid robots - it prevents the robot from falling and injuring
people and/or itself.
Several balancing compensators and compliance controllers have been developed for position-controlled bipedhumanoid robots [1][2][3][4]. Although these works andothers have demonstrated the validity of CoP-constrainedcompensations, there remain three unsolved problems fromthe viewpoint of force interaction. Firstly, the methods
always require the measurement of the external forces.
Secondly, the non-causality between the measured forces
and to-be-modified joint trajectories results in time-delay.1
Thirdly, being more problematic, it is difficult, in principle, toassign the weight, required for inverse kinematics, properly
to unknown disturbances.
A force-based walking controller was proposed in [7]and applied to a planar biped walking robot by a novel
force-controllable actuator prototype. But the extension tomulti-DOF robots with multi-contact points and multi-DOF
systems with redundant joints has not been presented. On the
1 In this case, a preview control is required [5]. See [6] for the frequency
domain analysis. The external disturbance can be incorporated only if it isestimated by observation in advance.

1-4244-0602-1/07/$20.00 ©2007 IEEE.

other hand, some recent works [8][9] extended a task-spacecontrol method [10] to full-body humanoid control. Although
the methods achieved some desired task-space trajectories
with given task priority and other constraints such as joint
limits, they accompany with the exact cancellation of nonlinear dynamics and have not yet been applied to a realplatforms.
In our study, we have been pursuing a passivity-based approach [11], where a passivity-based periodic motion control
strategy proposed in [12][13] is generalized to multi-DOF
humanoid robots. The underlying control policy is properly
utilizing the non-linear dynamics of the system rather thancancelling them, as well as making the controller simple toimplement and provable. The key element of the passivitybased approach is the invariance control [12]. This control
transforms the original system into a new passified system bya feedback and control logic so that the resultant closed-loop
solutions are bounded into some admissible region. It is anextension of passivation in non-linear control theory [14].
Once having obtained some recurrent orbits, new control
inputs asymptotically stabilize them hierarchically.
The usefulness of this approach in the motion control
of full-body, redundant humanoid robots has been demonstrated in [11] and [15]. They proposed a new passivitybased contact force control framework and demonstrated
its effectiveness by various simulations including dynamic
biped walking. In particular, [15] experimentally validated

2668

ThC9.2
the method by showing our new biped humanoid platform(Fig. 1) can actually adapt to unknown external forces applied
to arbitrary contact points.
As shown in [11] the novelty of our solution is the
direct optimization of the contact forces through CoP interms of the norm of the contact forces, which avoids theunnecessary internal forces between the contact points. In
the contact control framework, gravity compensation plays avery important role since with an additional damping, we canapproximately achieve desired contact forces. The gravity
compensation is one of the most fundamental passivation
controller because the robot becomes passive with respect toexternal forces and generalized velocities. Since the movement of the robot can be controlled by a very little amountof external forces, gravity compensation is clearly useful forphysical interaction between human and humanoids [15].
This paper proposes a simple passivity-based disturbancerejection scheme in series with [11] and [15]. The controller is located at the higher layer above the contact
force controller and includes three components: 1) balancing
controller, 2) stepping controller, and 3) trigger, as depicted
in Fig. 1. Section II describes briefly our passivity-based
contact force control framework. Section III describes our
disturbance rejection scheme and the simulation results. The
simulation results are supplemented by the video clip in
the conference DVD.Section IV demonstrates experimental
results on our humanoid platform. They include balancing
with unknown external forces and a preliminary result on
disturbance rejection.

Saggiplan tal
e

Z

CoM

fE

rC
Base

Mg

ΣW

rSj

r

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

rP

Y

ZMP

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

fR (GRF)(a) CoM, CoP, and GRF( j=5,6,7,8 )

rP

X

ZMP

fSj
( j=5,6,7,8 )(b) Contact forces

Fig. 2.
Definition of positions and forces. Each contact point rSj is
assigned with the contact force fSj . The sum of the contact forces fSj
equals to GAF fP . Note that CoP rP always lies within the supporting
convex hull composed of rSj .

is described by



r¨C
0
M
0



I(q)



q̈

+




Mg
0
+
C(q, q̇)G(q)   
Ĉ

Iˆ

=

Ĝ

T

u − Ê(q) fP(1)

with I(q) the inertia matrix, C(q, q̇) the centrifugal andCoriolis term, G(q) the gravity term, u = [0, τ ]T ∈ R3+n ,and Ê(q) the constraint Jacobian represented by

II. PASSIVITY- BASED , FULL - BODY CONTACT FORCE

Ê(q) =

id JP (q),(2)

CONTROL WITH GRAVITY COMPENSATION

The most fundamental control issue for humanoid robots
is the contact force control. This is because humanoid robots
need to interact with the environment while keeping balancethrough these contact forces. Balancing, walking, and otherinteraction task can be easily derived when this contact force
control framework is well established. This section briefly
describes our contact force control framework. For the details
see [11][15].
Consider a multi-DOF humanoid robot as shown in
Fig. 2(a). Let rC = [xC , yC , zC ]T ∈ R3 be the position
vector of CoM in the world coordinate frame ΣW andq ∈ Rn be the joint angles and attitude of the base. For
our convenience, let’s introduce a gross applied force, orground applied force (GAF) fP = [fxP , fyP , fzP ]T ,defined as fP := −fR , where fR is the ground reaction
force (GRF). GAF represents the force that the robot applies
to the environment. The control objective here is to bring fP
to some desired value f P .
First, suppose the robot contact with the ground at a single
point; CoP (center of pressure), which is represented by rP
in Fig. 2. Later we will proceed to the multiple contact case.
With the generalized coordinates q̂C = [rC , q]T ∈ R3+n , theexact nonlinear dynamics with the single contact constraint

where JP (q) ∈ R3×n is the Jacobian from CoM to CoP(derivative of rP by q) and id is an identity matrix.
From (1) to (2) fP can be calculated asfP = (Ê Iˆ−1 Ê T )−1

γ + Ê Iˆ−1 (u − Ĉ − Ĝ)(3)∂with γ(q, q̇) = ∂q
(Ê q̇)q̇. Therefore, for some desired GRF
f P we can calculate the corresponding joint torques τ byinverting (3). The torque precisely achieves fP = f¯P as longas the above model is correct. See [16] for more details on
this type of exact GAF control for multi-link robots. Here, wewant to avoid such an inverse dynamics because it becomes
impractical for large DOF systems.
The followings are our practical solutions based on passivity. First, assume the motion is quasi-static. Since q̇ ≈ 0
we can expect γ ≈ 0, C ≈ 0 (we cannot say G ≈ 0). In thiscase, for some new force input fu = [fux , fuy , fuz ]T ∈ R3 ,it is straightforward to see the joint torque

τ
fv

=
=

JPT (fv + M g)
(JP I −1 JPT )−1 (M −1 + JP IJPT )fu

(4)
(5)

renders the closed-loop system satisfy

2669

fP ≈ fu + M g.

(6)

ThC9.2
This is the main idea of G-comp for controlling CoM [15].
A simpler formula is available by settingτ = JPT (fu + M g),(7)instead of (4) and (5).
The advantage of using (7) is that we do not have tocalculate γ and C, which are very complicated and difficult
to estimate in real situations, while G is quite simple. An
obvious inconvenience is, however, the fact that if γ and C
are not small, some dynamic effects may arise as internalmotions [17]. One simple way of suppressing the internalmotion is to assign a simple nonlinear term that compensates∂(JP q̇)q̇ = −JP q̈ into (3)γ and C. Substituting (4) and ∂q
we can derive a modified version of (4):τ = JPT (fv + M g) + ζ(q, q̇)(8)This yields the convergence (6) of GAF, provided ζ(q, q̇) is
designed so that
I(q)q̈ + C(q, q̇) − ζ(q, q̇) = 0(10)

with a constant matrix D > 0. Although we should investigate the structure of the left-hand side of (9), the controller(8) itself can be made very simple, as this example. See[18] and the related papers for the contact force control
for redundant manipulators, where the authors analyzed theconvergence of the internal motions with joint-wise damping
and the position/force error of the end-effector.
Now we turn our eyes to multiple contact case. For
simplicity, let us assume we are interested in total α-contact
points defined by rS = [rS1 , rS2 , · · · , rSα ]T ∈ R3α andthe associated contact forces fS = [fS1 , fS2 , · · · , fSα ]T ∈R3α as shown in Fig. 2(b). See [11] for more general case.
Of course, rP must lie within the supporting convex hullcomposed of rSj . The relationship among GAF, CoP and
the contact positions/forces can be written as
fP

=

α


fSj ,

xP =

j=1 xSj fzSjα
j=1 fzSj,yP =where A is obtained by permutation of Ax , Ay and Az . Then,the commanded joint torques are obtained by
τ = JS (q)T f S + ζ(q, q̇)α

j=1 ySj fzSj
, (12)
α
j=1 fzSj

with f zSj the normal contact forces, or in a simpler form
 fzS1 
xPxS1 xS2 · · · xSα 
fzS2 

fzP  yP  =  yS1 yS2 · · · ySα  
 · · ·  , (13)
1
1
···
1
1


 fzSαAz ∈R3×α

where Az represents a contact force distribution matrix. For
some desired normal GAF f zP and CoP r P we can calculate(16)

where JS (q) ∈ R3α×n represents the contact Jacobian from
CoM to supporting contact points (derivative of rS by q).
We always assume α ≥ n ≥ 3, which is not at all restrictive
However, of course n ≥ 3 does not always imply the threecomponents of GAF are manipulatable by the contact forces.
In summary, we use (15) and (16) with f¯P = fv + M g,instead of (8). It is important to note that the control torques
generated by (16) are different from (8) because it utilizes
the null space of JP by constraining the contact forces.
III. D ISTURBANCE REJECTION CONTROLThis section elaborates our disturbance rejection control
shown in Fig. 1. This is composed of three components:
balancing controller, stepping controller and the trigger.
A. Balancing controller
Let us define balancing control here is the asymptoticalstabilization of the ground projection of CoM to some desired
position in the supporting convex hull. One can employ asimple feed-forward and feedback law
fu = M r̈C − KP C (rC − r C ) − KDC (ṙC − ṙ C )

(11)

j=1

α

T
T −1
with A#. This solution is optimal in thez = Az (Az Az )sense that it minimizes the norm of the contact forces.
Similarly we can distribute desired horizontal GAFs, f xPand f yP , to the corresponding desired horizontal contact
forces f xSj and f ySj through Ax and Ay (omitted).
Consequently, a desired GAF is distributed to desired
contact forces by a simple matrix operation


xP
(15)
f S = A# f P  y P  ,1(9)is stable. A conservative way to achieve this is simply to set
ζ as a joint-wise damping term:ζ = −Dq̇the corresponding desired contact forces. Specifically, we
propose an optimal contact force distribution given by




f zS1
xP

 f
 zS1  = A# yP 
(14)z f zP
 ··· 1
f zSα

with the task-space PD-gains KP C , KDC > 0.
Recall CoP2 can be written aszP fxPzP fyPxP =, yP =
.
fzP
fzP

(17)

(18)

Therefore, for some given user force input fu , the desired
CoP r P is set byxP =z̄P fux,
mg + fuz

yP =z̄P fuy
mg + fuz(19)

2 Different from ZMP, CoP does not include the rate change of the angularmomentum around CoM. It represents the weighted sum of the translational
ground contact forces. In this sense, definition of ZMP in [11][15] isdifferent from this paper. Clearly, CoP cannot exit from the supporting
region, but ZMP can.

2670

ThC9.2
with z̄P = −zC . Since the desired CoP should be limited tosupporting convex hull, it in turn modifies the desired GAF.
Finally, the modified GAF f P as well as the desired CoPr P are then used for determining the desired contact force
closure in (15).
One of the practical issue for balancing control is thedefinition of the origin of ΣW . Our simple solution is;defining the origin as the center of the feet contactingwith the ground.3 This means the origin is always moving
according to the current configuration of the robot. Gyro
information is important.
Using the angular momentum around CoM is promisingbecause we can apply large horizontal GAF regardless of
ZMP [16]. However, such a rich full-body balancing scheme
is a difficult optimal control problem with many constraints
since it usually requires a large amount of joint velocities
and the workspace, which are bounded. For a decoupled twolink planar model, the exact solution exists [19]. Inventing
some practical and simple solution is our ongoing work.
Currently we are using very simple attitude controller for theupper body. We are just superimposing a simple PD feedback
control inputs, with a low gains, to the torso joint torques
generated by (16), to maintain the upright posture.
B. Stepping controller
When the stepping motion is triggered, the swinging footstarts to track to a desired trajectory planned online toprevent the robot from falling. The trajectory was given
by 3D Symmetric Walking Control (SWC) law with a fixed
stride [11]. Let rQ = [xQ , yQ , zQ ]T ∈ R3 be the position
vector from CoM to the center of the swinging foot. SWC
constraints the motion of the swinging leg by
xP + xQ= 0.
(20)
yP + yQ
For some given dxy (design parameter), the desired heightof the swinging foot is given as a smooth curve of the strideSaggiplan tal
e

Z

CoM

Hea

ding

plan

e

rQ
rP
ΣW

− θ2

θ1

Y
X

Left
Rig

ht fo

ot

foot

ZMP

Fig. 3. 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.
3 Our previous description "Thanks to this simple solution, the controller
does not have to know whether the foot is on or off the ground." (p.219 of[15]) was clearly wrong.

(xQ − xP )2 + (yQ − yP )2 . It starts from zero,
dxy :=
passing through a desired height, and terminating at zero
when |dxy | ≥ dxy . Note that during walking the directionof the heading plane may changes, and the robot moves its
foot to the direction of heading [13]. Therefore, SWC makes
the projection of CoM locate at the center of supporting
foot whenever the foot touches down. The mathematicalproperties of SWC presented in [13] are met in the same
way by considering the angle variables θ1 and θ2 in Fig. 3.
That is, the controlled walking gaits are not asymptoticallystable, but Lyapunov stable symmetric orbits. Therefore, forevery neighborhood of a walking gait, there exist a familyof similar gaits with different energy level.
For disturbance rejection control, however, in addition to
SWC we apply the balancing controller described in Section III-A all the time to achieve the asymptotical stability.
From the passivity-based control viewpoint, the balancing
controller can be regarded as a damping injection [14]. Notethat the target CoM is always located at the center of the
supporting region.
C. Trigger to stepping motion
We decided to choose the instance when the normal GRF
of one foot becomes close to zero as the trigger to stepping
action. The intuitive explanation of this transition rule is
as follows. Initially the robot stands on both feet with its
CoM located at the center of the supporting region. If the
disturbance is applied, the robot tries to keep balance bycontrolling the CoM to the initial position. If too large
disturbance is applied, CoM exits from the supporting region.
However, due to our CoP feedback controller (17) and thecontact force distribution (15), before CoM exit from the
supporting region, the contact forces applied to the contact
points which are located at the opposite side of the target
position necessarily become zero. We choose this event as
the trigger to stepping. More precisely, if the sum of theactual (not desired ones) vertical contact forces of one footcrosses a small threshold value, then the robot starts to makea step by that foot. Therefore, the transition is smooth andthe ground reaction forces are continuous.
To note:(1) If the robot is stiff, disturbances easily make either ofthe feet loose the contact forces. This is not the casefor ours because of the passivity due to the full-bodygravity compensation when equilibrium.
(2) Whether the desired contact forces becomes zero or not
depends not only on the CoM states and the locationof the contact points, but also the user force input
fu in (17). For example, if fu = 0 (hence gravity
compensation only), the contact forces becomes zero
only if some joint angles have reached the limit.
(3) If we can control the angular momentum around CoM
explicitly together with CoP, the CoP can be restricted insome small range in the full supporting region, hence,the contact forces can be made positive all the time
as long as physical constraints such as joint limits andmaximum velocities/torques are not violated.

2671

ThC9.2

1

0.2

x

0

xP

−0.2

x

2

x .d
P

−0.4
1.5

Lateral coordinates [m]Sggital coordinates [m]

x

2

2.5

3

3.5

4

C

y1

0

yP

−0.2

y

2

y .d
P

−0.4
1.5

2

2.5

3

3.5

4

C

4.5

2

x .d
P

−0.5

x
2

2.5

3

3.5

4

C

4.5

5

0.4
y1
0.2

y

0

yP

−0.2

y

2

y .d
P

2

2.5

3

3.5

4

C

4.5

5

1200
Right
Right.d
Left
Left.d

1000
800
600

Normal GRF [N]Normal GRF [N]

1

xP

−0.4
1.5

5

1200

400
200
0
1.5

x

0

Time [s]0.4yTransition 2x

4.5
5Time [s]0.2Transition 1

0.5

−1
1.5

Lateral coordinates [m]Sggital coordinates [m]Transition
0.4

2

2.5

Double support

Single

3

3.5

4

4.5

Right
Right.d
Left
Left.d

1000
800
600
400
200
0
1.5

5

2

Double support

Double support

Fig. 4. Disturbance rejection simulation 1: the robot is suddenly pushed
backward. The force is of the magnitude 550 N and applied to the abdomenat 2 s (the application time is 0.2 s). The CoP (xP , yP ) are shown with their
desired values (indicated by ‘.d’). The center location of the supporting footand the swinging foot are indicated by (x1 , y1 ) and (x2 , y2 ) respectively.
(xC , yC ) represent the CoM.

D. Simulations
This section shows some selected simulation results. Ourcontrol scheme is primitive and the results are premature in
the sense that we did not consider the self collision between
the limbs. Therefore, the applicable disturbances are very
limited. We use a simplified simulation model without arms
and head. The model is built on SD/FAST, where the groundcontact is modeled as unilateral virtual springs and dampers.
The hip height from the ground is 0.82 m at the upright
posture, and the size of the sole is 0.15 m X 0.1 m. In
the simulations the gains for (17) are set as (KP C , KDC ) =(50×93, 5×93) for the vertical motion and (KP C , KDC ) =3

SingleSingleDouble

3.5

4

4.5

5

Double support

Fig. 6. Disturbance rejection simulation 2: the robot is suddenly pushedfrom front by 650 N. See Fig. 4 for the footnotes

Fig. 7.
stop.
Fig. 5. Animation corresponding to Fig. 4: the robot takes one step tostop. Two red markers show CoM and its ground projection respectively,
while the yellow and green ones indicate the desired CoP and the actual
one respectively.

2.5

Animation corresponding to Fig. 6: the robot takes two steps to(100 × 93, 50 × 93) for the horizontal motion, where 93
is the total mass. The desired CoM height set to 0.85 m,
while the horizontal positions are always set to the centerof the support. The joint-wise damping in (10) has been set
D = diag[d1 , d2 , · · · , dn ] with dlegs = 2 and dtorso = 8.
The feedback gains of the superimposed attitude control for
upper body are all 10 Nm/rad.
Fig. 4 and Fig. 5 show simulation results of the disturbancerejection with a large disturbance. The robot initially stands
at the double support with its right leg put forward. Thena backward push of the magnitude 550 N is applied to theabdomen for 0.2 s. Since the robot tries to keep the balanceby the feedback controller (17), the desired CoP is repidly
shift to the back left edge of the left sole as can be seenfrom the time profile of xP .d and yP .d. However, since
the external force is too large, the CoM xC rapidly moves
backward. As a result, at 2.15 s (0.5 s earlier than the external

2672

ThC9.2
push is released) the actual ground reaction force of theright leg crosses zero, and the event to stepping is triggered.
After the single stepping motion, from 2.75 s the robot again
tries to balance at the new supporting state. Finally, CoM
converges to the center of the supporting region. Fig. 6 andFig. 7 show the similar simulation result, but the magnitudeof the disturbance is enlarged to 650 N. This time the robot
takes two steps to completely stop.
Note that in both simulations there can be found errors
between the actual GRF and the desired GRF (=−GAF),
hence, between the actual ZMP and the desired one too. The
errors come from the uncompensated nonlinear dynamics andnot using of the desired feed-forwad temrs in (17). At steadystate they coincide with each other. Note again that we areusing the measured GRF only for the decision making of thetransition, but not for the balancing controller.
IV. E XPERIMENTS
A. Humanoid platform and the joint torque control

−0.2
25

2673

P

40

45

20
0
Roll
Pitch

−20
−40
25
20

30

35

40

0
−0.2

Base attitude [deg]

40

0.2

45

25
10

−10
25

Right leg lift−off and touchdown
Right
Left

0

−20
25

30

35

40

45

100

0
Right
Left
−100
25

30

Fig. 9.

35
40
Time [s]

45

30

yC
y .desP
35
40

45

Side forces applied

0Knee angle [deg]Hip roll angle [deg]Fig. 8 shows the typical performance of our balancing
controller when a side force is applied. Needless to say, therobot is neither supported by the hydraulic hoses and cables.
This result nicely shows the relationship between the CoM
error and the ground reaction force distribution. As in thisxC
30 x .des35

CoM Y−coordinate [m]0Torso angle [deg]CoM X−coordinate [m]0.2Knee torque [Nm]B. Push recovery from unknown external forces without
triggering the stepping

Fig. 8. Our force distribution law makes some of the contact forces small
when a large error in CoM is detected. As a result, a foot may lift off theground.

Hip roll torque [Nm]The humanoid platform shown in Fig. 1 is developedby SARCOS (www.sarcos.com). The robot is called CB(Computational Brain). The legs and arms have 7 DOF, 3
DOF on the neck, and the torso has 3 DOF. There aretotal 50 DOFs including the fingers (12 DOF) and the eyecameras (4 DOF). Most of the DOFs are driven by hydraulicservo actuators. The total mass is 93 kg when this paper ispublished. The robot is installed with position sensors, force
sensors and attitude sensors. The actuators are controlled bysmall-sized digital controllers supporting position, velocity
and force feedback, which are inter-connected by high-speed
intra network. See [20] for the details.
The joint torque control is solely based on the force
feedback of the force sensors attached to each joint. However,
the joints, actuators and sensors are not collocated in our
robot. Therefore we implemented a joint-wise force-torquetransformation based on the individual joint kinematics. Once
having the joint torque calibration, it is straightforward to
apply the controller. Actually, the control procedure summarized in Section II is very simple and can be executedwith a low computational cost. So far, the torque control
performance of our humanoid platform is found to be steadyand repeatable. However, there are force tracking delays. The
delays can be minimized by maximizing the force gains in
the local joint controllers, but high gains cause undesirable
resonance. Fortunately the tracking delays have the similareffect of joint-wise damping, this can be effectively utilized
for suppressing the internal motions as described in (10). In
other words, we can change the damping by simply tuning
the force gains.

30

35

Roll
Pitch
40
45

40

20
Right
Left
0
25

30

35

40

45

100
Right
Left
0

−100
25

30

35
40
Time [s]Experimental data corresponding to Fig. 8.

45

ThC9.2
from the double support phase to the single according to thetransition rule made in Section III-C, based on the measured
GRF. Different from the simulation result, there can be seena chattering in the GRF of the to-be-lifted leg just after thetrigger as indicated by a dashed circle in the bottom graph.
This is because our stepping controller is too sensitive to thecurrent positions and velocities of the supporting foot and theCoM. Reducing the sensitivity is left for the future work.
V. S UMMARY

Recovery from the side push at the hipcase, CoM is perturbed from the desired equilibrium (zero),and the desired normal contact forces become close to zero
when the ground projection of CoM and CoP is far locatedeach other. Because of this, it happened one foot lifted off theground. In this example, however, we did not triggered the
stepping controller. Therefore, the lifted foot moves purely
as a result of the balancing control. At the same time theCoM moves back to the center of the feet. Then the liftedfoot touches the ground. This process repeats once more, andfinally the robot balances, but with a different configurationfrom the initial one. Fig. 9 shows the time evolusion of thisexperimet. The top two graphs show the position of CoM
and desired CoP. The limitations of the desired CoP in Xdirection are indicated by two dashed lines, ±0.15 m.
Note that we do not specify which joints should move incompliance with the disturbances, for example, we do not
use any weighting matrix as in some inverse kinematics approach. The weighting is automatically done by the Jacobiantranspose (16) (not inverse), and the compensating contact
forces are distributed to the joint torques of whole body.
Therefore, if we push the robot torso, the torso compliantly
follows first, and then the lower body begins to compensate
for the CoM error. Similarly, if we push the hip, the hip
moves first. This can be seen from Fig. 10 and Fig. 11.
Although the controller does not measure the external force,the responce to the external force is immediate. This isbecause most of the joints are commanded zero torque when
the robot has upright posture (equilibrium).
C. Disturbance rejection with stepping
Fig. 12 and 13 show a preliminary result on the disturbance rejection experiment. The robot is allowed to transit

Sggital coordinates [m]Fig. 11.

This paper proposed a simple passivity-based disturbancerejection scheme for force-controllable biped humanoid
robots. It was composed of three sub-controllers: 1) abalancing controller; 2) a stepping controller; and 3) the
trigger. Numerical simulations and experiments evaluated theeffectiveness of the proposed method. Although the method
is incomplete in the sense that the self-collision between thelimbs is ignored, preliminary experimental results demonstrated that the proposed method could actually maintainedbalance even under unknown large external perturbations.
Technical issues on the joint torque control were also presented. Our future work includes extension to CoP-freebalancer, joint torque minimization, and joint angle limitation

Transition

0.2
0.1
0

x1

−0.1

x

−0.2

2

x .d
P

20

20.5

21

21.5

22

22.5

23

x
23.5 C

24

Time [s]Lateral coordinates [m]Recovery from the side push at the back

0.3
0.2

y1

0.1

y

0

yP.d

−0.1

y

−0.2
20

20.5

21

21.5

22

22.5

23

2

C

23.5

24

1200
Normal GRF [N]Fig. 10.

Right
Left

1000
800
600
400
200
0
20

20.5

Double support

21
Single

21.5

22

22.5

23

23.5

24

Double support

Fig. 12. Disturbance rejection experiment: The top two graphs show theloci of CoM and the foot positions (x1 and x2 are the X-position of
the right foot and left foot respectively.). After the touchdown the robot
again balances at wider stance. There is a chattering in GRF indicated by adashed circle in the bottom graph. The desired CoP is oscillating in forward
direction by 0.1 m p-t-p, but the error of CoM is small.

2674

ThC9.2

Fig. 13. Snap shots of the disturbance rejection experiment: A large amount of backward push is applied to the robot chest. The robot steps back to keep
the balance. Due to the lack of the space the swinging (right) foot hits the side of the gantry.

as well as self-collision avoidance.
ACKNOWLEDGEMENT
The authors would like to thank the support of SARCOS
Inc. and the Keihanna branch of the National Instituteof Communication Telecommunication (NiCT), Japan. The
authors gratefully acknowledge the contribution of J. Hart
(ATR) and N. Nakano (ATR) for the experimental setups.
R EFERENCES[1] A. Takanishi, T. Takeya, H. Karaki, and I. Kato, “A control methodfor dynamic biped walking under unknown external force,” in Proc.
of IEEE International Workshop on Intelligent Robots and Systems,
July 1990, pp. 795–801.
[2] K. Hirai, M. Hirose, Y. Haikawa, and T. Takenaka, “The developmentof the honda humanoid robot,” in Proc. of IEEE International Conference on Robotics and Automation, Leuven, Belgium, May 1998, pp.
1321–1328.
[3] 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 Conferenceon Robotics and Automation, May 1999, pp. 368 – 374.
[4] 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. ofIEEE/RSJ International Conference on Intelligent Robots and Systems,
Las Vegas, USA, 2003, pp. 1644–1650.
[5] ——, “Biped walking pattern generation by using preview controlof zero-moment point,” in Proc. of IEEE International Conferenceon Robotics and Automation, vol. 2, Taipei, Taiwan, Sep. 2003, pp.
1620–1626.
[6] S. A. Setiawan, S. Hyon, J. Yamaguchi, and A. Takanishi, “Physicalinteraction between human and a bipedal humanoid robot -realizationof human-follow walking-,” in Proc. of IEEE International Conferenceon Robotics and Automation, Detroit, May 1999, pp. 361–367.
[7] J. Pratt, C.-M. Chew, A. Torres, P. Dilworth, and G. Pratt, “Virtual
model control: An intuitive approach for bipedal locomotion,” International Journal of Robotics Research, vol. 20, no. 2, pp. 129–143,
2001.

[8] L. Sentis and O. Khatib, “Synthesis of whole-body behaviors throughhierarchical control of behavioral primitives,” International Journal of
Humanoid Robotics, 2005.
[9] 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.
[10] O. Khatib, “A unified approach for motion and force control of robot
manipulators: The operational space formulation,” IEEE Journal of
Robotics and Automation, vol. RA-3, no. 1, pp. 43–53, 1987.
[11] S. Hyon and G. Cheng, “Passivity-based full-body force control forhumanoids and application to dynamic balancing and locomotion,” inProc. of IEEE/RSJ International Conference on Intelligent Robots andSystems, Beijing, China, Oct. 2006, pp. 4915–4922.
[12] S. Hyon, “Hamiltonian-based running control of dynamic legged
robots,” Systems, Control and Information, vol. 49, no. 7, pp. 260–
265, 2005 (in Japanese).
[13] S. Hyon and T. Emura, “Symmetric walking control: Invarianceand global stability,” in Proc. of IEEE International Conference on
Robotics and Automation, Barcelona, Spain, Apr 2005, pp. 1455–1462.
[14] A. J. van der Schaft, L2-Gain and Passivity Techniques in Nonlinear
Control. Springer, 1999.
[15] S. Hyon and G. Cheng, “Gravity compensation and full-body force
interaction for humanoid robots,” in Proc. of IEEE-RAS International
Conference on Humanoid Robots, Genova, Itary, 2006, pp. 214–221.
[16] 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.
[17] R. M. Murray, Z. Li, and S. S. Sastry, A Mathematical Introduction
to Robotic Manipulation. CRC Press, 1994.
[18] S. Arimoto, H. Hashiguchi, and R. Ozawa, “A simple control method
coping with a kinematically ill-posed inverse problem of redundantrobots: Analysis in case of a handwriting robot,” Asian Journal ofControl, vol. 7, no. 2, pp. 112–123, 2005.
[19] 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, Itary, 2006, pp. 200–207.
[20] 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, pp. 182–187.

2675