Proceedings of the 2003 IEEE
International Conference on Robotics & Automation
Taipei, Taiwan, September 14-19, 2003

The Sway Compensation Trajectory for a Biped Robot
Ryo Kurazume
Tsutomu Hasegawa
Kyushu University
6-10-1, Hakozaki, Higashi-ku, Fukuoka, Japankurazume, hasegawa@irvs.is.kyushu-u.ac.jp

Kan Yoneda
Tokyo Institute of Technology
2-12-1, Ookayama, Meguro-ku, Tokyo, Japan
yoneda@mes.titech.ac.jp

Abstract

4. Contact points can be selected freely.

From 1970’s, legged robots have attracted much attentionof many researchers. In spite of this, it has been regarded
that dynamically stable walking is very difficult to be tackled for any types of legged robots. For a trot gait for
quadruped walking robots, we have proposed “the sway
compensation trajectory”. This method utilizes a lateral,longitudinal, and vertical motion of a robot body to keep azero moment point (ZMP) on a diagonal line between support legs. In this paper, we develop the sway compensation
trajectory for a biped robot, and show that dynamicallystable walking is realized. This method makes it quite easy
to design stable ZMP and COG (center of gravity) trajectories, which have been regarded as a very complicated anddelicate problem. The effectiveness of the proposed method
is verified through computer simulations and walking experiments by a humanoid robot, HOAP-1.

5. Relative position between the ground and the body ischangeable while maintaining the same contact state.
6. Legs can be used as manipulators to perform various
tasks.
From these features, the activity of legged robots in many
field have been expected. For example, two legged humanoid robots are expected for the medical support at hospitals and welfare facilities, or daily maintenance in nuclear plants. four or six legged walking robots are also
expected for the use of lumbering at forest area, constructing work at steep slope, and mine detection and removal
system.
On the other hand, some drawbacks have been pointed out
as compared with wheeled robots, such as,
1. Low weight capacity and low moving efficiency because of their mechanical complexity.

1 Introduction
A Legged robot, which has serial/parallel link mechanisms with one or more degree-of-freedoms to support own
body, and repeat the intermittent contact with the groundto move, have attracted much attention of many robotics
researchers from 1970’s, The reason why may be that a
legged robot is very appealing target to be tackled since aunique mechanism and a refined control system have to be
designed and integrated.
Various types of legged robots with from one to eight legs
have been developed in many research groups[1]. The advantages of these legged robots are summarized as follows:

2. Low moving speed.
3. Body oscillation is easily induced by intermittent contact with the ground.
4. Appropriate motion control is indispensable to avoid
falling down.
The quadruped is the fundamental configuration of the major of mammals. This is composed of a minimum number of legs to keep stability while statically stable walking,and to avoid complete tumbling while dynamically stable
walking [2]. In addition, since the moving efficiency ofwalking robots depends on the number of actuators which
the robot is equipped with, four legged robots have higher
moving efficiency than robots with 5 or more number oflegs. In conclusion, four legged robots have high superiority in practical use, and thus, various four legged robots
which actualizes various types of gaits, such as crawl gaitfor statically stable walking, and walk, trot, pace, bound,and gallop gaits for dynamically stable walking, have beendeveloped.

1. Legged robots have much compatibility with existing social facilities that have been designed and constructed considering the use of the human.
2. Legged robots have latent moving performance which
is higher than wheeled vehicles since they have manyand redundant degree-of-freedoms.
3. The contact area with the ground is small in comparison to the sweep area of the body.

0-7803-7736-2/03/$17.00 ©2003 IEEE

925

The authors have been proposing “the sway compensation
trajectory” [3],[4],[5] to realize the dynamically stable trot
for four legged robots. In trot gait, two pairs of legs, that is,left front and right back legs, and right front and left backlegs, repeat the contact with the ground alternatively. In
case that the center of gravity (or the ZMP, more correctly)
is not on a diagonal line between legs in each pair, tumbling
moment along the diagonal line is produced. Thus, if thismoment cannot be cancelled, the body begin to turn over
and waking condition becomes unstable. The sway compensation trajectory is the method that uses a lateral, longitudinal, and vertical motion of the vehicle body to keep
the ZMP on the diagonal line of the support legs.
On the other hand, the study in two legged robots has become active in recent years. Since two legged robots don’t
have a feature of “safe gait”, which is a innate property to
avoid complete tumbling[2], proper gait control is necessary to avoid turning over. Additionally, though the large
support polygon connected with several support points isutilized for four legged robots, two legged robots musthave a phase in which the body is supported by a single
leg, and support polygon is the inside of the small sole.
Then, following two ideas have been proposed to realize
stable walk for biped robots.

this method, simple single mass model is assumed at first.
Then the ZMP and COG trajectories which move the diagonal line between support legs is planned to connect theadjacent single leg support phase. Finally, using a multiple mass model, convergent calculation is executed so thatthe actual ZMP trajectory should coincide with the plannedone.
This method is quite simple because the ZMP and COG
trajectories which are very close to the stable state are obtained from simple explicit functions of time. In addition,same explicit functions is applicable for various two legged
robots which have different shapes and configurations ofdegree-of-freedoms. Thus, this method can is highly flexible. Moreover, since approximately stable trajectories considering a multiple mass model are obtained, practical dynamically stable gait will be realized by combining the proposed method with the feedback control using torso position/acceleration and ankle torques.
This paper is organized as follows: the procedure to obtain
the ZMP and COG trajectories by the sway compensation
trajectory is explained in section 2. In section 3, several
results of computer simulations and experiments using ahumanoid robot are introduced.

1. The ZMP trajectory which passes through the bothsoles is designed at first, then COG (center of gravity) trajectory which realizes the planned ZMP trajectory is determined by convergent calculation or splineinterpolation [6],[12],[13],[14].

2 The sway compensation trajectory
for biped robots
In this section, a new sway compensation trajectory for
biped robots is introduced. Unlike the trajectories proposed for quadruped robots [3],[4],[5]. The ZMP and COG
trajectories are obtained by explicit functions of a sway
width, a walking speed, acceleration and lines between the
support legs.

2. Assuming an inverted pendulum, COG trajectory withno ankle torque is obtained. Timing of the exchangeof support legs and proper contact positions are determined considering the stability between adjacent
COG trajectories [9],[17].

2.1 Derivation of the sway compensation
trajectory

In addition, the control of torso position and acceleration, ankle torque, and contact points have been
proposed[7],[15] enabling that the actual ZMP position
measured by force sensors coincides with the planed ZMP
trajectory. Though the category (1) is intuitive since the
ZMP trajectory is a designed directly, it is often happened
that the COG trajectory to realize the planned ZMP trajectory is not feasible because of the joint position/torque limitation. Thus, the ZMP trajectory must be designed carefully considering the feasible COG trajectory.
In this paper, we apply the sway compensation trajectory
proposed for quadruped walking robot to a biped robot.
This method can be classified as category (1): The ZMP
trajectory passing through both soles, and COG trajectory
which realizes the designed ZMP trajectory are both simultaneously determined by explicit functions of time. In

In the following discussion, we assume the weight of legs
and arms are smaller than the body weight. Then, the system can be regarded as a single mass model placed on        Assuming a floor is flat and the height of the point mass is constant, the ZMP on the floor       is obtained as follows:







 
















(1)

where,    . Next, the diagonal line of the support legs
is defined as       
(2)

926

 and       , we get the following equa¾
tions using the boundary condition of   

Then, in order to keep the ZMP on this line, the center ofgravity has to satisfy the next equations.
 

      , 



(3)

Here, we assume that the robot moves along  axis and theposition of the body is expressed as



 



 













         






(4)

        









        



 





















  ¾ 

 


¾ 








 




 









 (19)

(20)



 

(22)

Therefore, as shown in Fig.2, the condition to maintain the









(23)

center of sole

Right foot
D

αD

y
x

Moving direction(13)
Left foot ¾ 
Bottom view

(14)
(15)



 





    ¾    



 





  ¾    

Next, other parameters are determined from the boundary
condition to keep the continuity of the trajectory. From the  ，andcontinuity along  direction,  
¾
the ZMP sway width is , each coefficient is determined
as


 

(12)



 

 

 

(18)



(9)





 ¾ 



(11)

(7)



 

(17)




¾ 

 


 





In Eqs.(10) (22), manipulatable parameters are ，, and . The trajectory expressed by Eqs.(4) and (5) is named

(8)





 



.

(10)



 

        


¾ 




“the sway compensation trajectory”. The ZMP trajectory
is also derived by substituting Eqs.(4) and (5) into Eq.(1).
Next, we derive the condition to maintain the ZMP on thesole of the support leg in single support phase. Here, we
consider the ZMP in lateral ( ) direction only, since thecase that the ZMP goes out from the sole toward longitudial() direction is considered to be very rare if the stride ispractically small.
As shown in Fig.1, the inside edge of the sole is at  .
The time to reach the y component of the ZMP to this edge
is obtained from      as











(6)

    thus,    









    





¾

(21)

To satisfy the above equation at any time, we get 
¾

       ,   (5)

Eqs.(4) and (5) consists of a particular solution and a genand  .
eral solution of equations,   By substituting these equations into Eq.(3), we get   , and  ¾

Figure 1: Condition to keep the ZMP in soles(16)

ZMP on the sole of the support leg in single support phaseis derived from

In addition, in case that the robot is accelerated along axis, and the velocity and acceleration atand  are

927

         

(24)

0.6




as

where,  is a duty factor.

COG traj.
Recovering
0.5

0.25

0

0.5

0.4

1−α
4

Supporting
t
Τ

(25)



0.75

1

y [m]

0.3

Left leg
Right leg

ZMP traj.
0.2

2β−1
4

T : Cycle timeβ : Duty factor

2 legs supporting phase

0.1
Left foot0

Figure 2: Chart of leg phases

Right foot-0.1

Fig.3 shows an example of the ZMP and COG trajectories in case that the robot walks 10 steps with the velocity
0.1 align x axis from inital position  .
It should be pointed out that obtained trajectories can beutilized if the moving direction is gradually changed. That
is to say, continuous ZMP and COG trajectories are obtained by applying original trajectories with simple coordinate transformation according to the moving direction.
Fig.4 shows the case that the moving direction is changed
along with the curved path.

COG traj.

Y[m]



-0.05


0

ZMP traj.

0.1

0.2

0.3

0.4

0.1

enable the precise ZMP trajectory derived from a multiple
mass model to coincide with the planned ZMP trajectory
based on a single mass model. This method utilizes theconvergence calculation of rectification of COG trajectory
according to the current ZMP errors.
Firstly, the ZMP         for a multiple
mass model is obtained from the next equations.

0

Right foot0

Figure 4: An example of ZMP and COG trajectories forcurved path

0.05

-0.1
-0.1

-0.1
x [m]

0.1
Left foot-0.2

         (26)
                    

















 



 



 




 

 



(27)

0.5

 , theHere, we define the planned ZMP trajectory as  
refined COG trajectory to realize the ZMP trajectory as  ，and the current COG trajectory as  . Then, current situation can be expressed as

X[m]Figure 3: An example of ZMP and COG trajectories forstraight path  

2.2 Convergent calculation considering multiple mass model



(28)

On the other hand, the goal situation is shown as


 

The trajectories obtained as Eqs.(4) and (5) are based on
the assumption of a simple single mass model. Therefore,
more precise trajectories and joint commands should be determined based on a multiple mass model to realize a morestable walk. In this section, we propose a new method that

 

(29)

Thus, substructing above equations, we get   928   (30)thus,


 

0.06





(31)

0.04

 , and  
 . By
where,  
resampling this equation with sampling interval , next
equation is obtained.




 



 



0.02

y[m]




-0.02



·½

   ½
¾

-0.04

-0.06

(32)

0





 





 

0.25

0.3

0.35

0.4

0.45

0.02



0

-0.02

-0.04

-0.06
0

0.05

0.1

0.15

0.2

0.25

x[m]

0.3

0.35

0.4

0.45

(b) ZMP trajectories using the original COG trajectory
Figure 5: Refined ZMP trajectories
(34)
Consequently, the refined COG trajectory that realizes theplanned ZMP trajectory is obtained as the sum of current
COG trajectory  and the rectified value   as  

0.2

0.04

(33)

 ´Æµ¾ ·½   ½ 
·½   ½

 

  ´Æµ¾


0.15

0.06

 ´Æµ¾ ·½   ½   ´Æµ¾

However, several experiments showed that the refined
COG trajectory tend to be oscillational at discontinuous
point of the ZMP velocity, if the rectified value obtained
above equation is added directly to the original COG
trajectory. Therefore, we choose the rectified value of
COG trajectory  so that the next equation appending thesmoothness constraint with Eq.(33) is minimized.
0.1(a) ZMP trajectories using the refined COG trajectory obtained by convergence calculation

y[m]



0.05

x[m]

Thus, the rectified value of COG trajectory   that makethe ZMP error   to be  is obtained as the next equation.


0

An example of simulation results is shown in Fig.7. In thisexample, the robot increases the velocity from a stationary
state at first. Then, after steadily walking state with a strideof 0.2m, the robot reduces the velocity and stops again. Total simulation time is 40 seconds. In this simulation, command angles for each joint is calculated before executing
simulation, and thus, any on-line feedback controls such as
the use of ankle torque aren’t applied.
From several computer simulations, it was proven that thestable walk of the biped robot is possible by the proposed
ZMP and COG trajectories.

(35)

In practice, considering the resampling error and non linearity of Eqs.(28),(29), the above calculation should be repeated until  becomes sufficiently small value.
Fig.5 shows the planned and calculated ZMP trajectories
for a humanoid robot HOAP-1 which walks along x axis.
Fig.5(a) shows the ZMP trajectories with convergence calculation, and (b) is the original trajectory without convergence calculation. And Fig.6 shows the COG trajectories
before and after convergence calculation,

0.06

Original COG traj.

0.04

y[m]

0.02

3 Experiment

0

-0.02

3.1 Computer simulation-0.04

COG traj. after convergent calculation-0.06

Computer simulation is carried out on the dynamic simulator, OpenHRP [18],[19],[20], which has being developedat National Institute of Advanced Industrial Science andTechnology (AIST) and The University of Tokyo.

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

x[m]

Figure 6: Refined COG trajectories

929

0.45

Figure 7:
OpenHRPAn example of simulation results using

3.2 Experiment using a humanoid robot
Figure 9: An example of walking experiments using
HOAP-1 after convergent calculation (Walking speed
0.1m/s, Duty factor 0.75)

Walking experiments using a humanoid robot HOAP-1(Fujitsu Co.Ltd) are carried out. The aspect of the walking
experiment and the measured ZMP trajectory are shown in
Figs.8, 9, and 10. In this experiment, command angles foreach joint is predetermined, and on-line feedback control
isn’t applied.
As shown in Fig.8, the robot fell down just after starting
walking motion without the proposed convergent calculation. However, by using the trajectories given by the proposed convergent calculation, it kept walking without losing the balance as shown in Fig.9. From these experiments,
it was verified that the stable biped walk is successfully
performed by the proposed ZMP and COG trajectories.

0.06

Planned ZMP traj.

0.04

y[m]

0.02

0

-0.02

-0.04

-0.06

-0.05

Measured ZMP traj.
0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

x[m]

Figure 10: Measured ZMP trajectories

4 Conclusions
In this paper, a sway compensation trajectory for bipedrobots is proposed. The ZMP trajectory passing throughboth soles, and COG trajectory which realizes the designed
ZMP trajectory are both simultaneously determined by explicit functions of time.
In this method, simple single mass model is assumed at
first. Then ZMP which moves the diagonal line between
support legs is planned to connect the adjacent single leg
support phase. Finally, using multiple mass model, convergent calculation is executed so that the actual ZMP trajectory coincides woth the planned one. This method is quite

Figure 8: An example of walking experiments using
HOAP-1 before convergent calculation (Walking speed
0.1m/s, Duty factor 0.75). The robot fell down just after
starting walking motion.

930

simple because the ZMP and COG trajectories which arevery close to the stable state are obtained by simple explicit
functions of time. In addition, same explicit functions isapplicable for various two legged robots which have different shapes and configurations of degree-of-freedoms, andthus, this method can be regarded as being highly flexible.
We are now developing the practical biped robot control
system which combines the proposed method with the
feedback control using torso position/acceleration and ankle torques.

[10] C. L. Shih, Y. Z. Li, S. Churng, T. T. Lee, andW. A.
Cruver, Trajectory synthesis and physical admissibility for a biped robot during the single support phase,
in Proc. IEEE Int. Conf. Robotics and Automation,
pp.1646-1652, 1990
[11] C. L. Shih, The dynamics and control of a biped walking robot with seven degrees of freedom, J. Dynamic
Syst., Meas., Contr., vol.118, pp.683-690, 1996[12] C. Shih, Gait synthesis for a biped robot, Robotica,
vol.15, pp.599-607, 1997.

References[13] C. Shih, Ascending and descending stairs for a bipedrobot, IEEE Trans. System, Man, and Cybernetics, A,[1] The Walking Machine Catalogue, Karsten Berns,
vol.29, no.3, 1999
http://www.fzi.de/divisions/ipt/WMC/preface/preface.html[14] Q. Huang, S. Kajita, N. Koyachi, K. Kaneko, K.
Yokoi, H. Arai, K. Komoriya, and K. Tanie, A highstability, smooth walking pattern for a biped robots,in Proc. IEEE Int. Conf. Robotics and Automation,
pp. 65-71, 1999,[2] S. Hirose and K. Yoneda, Toward the Development ofPractical Quadrupe Walking Vehicles, J. of Robotics
and Mechatronics, vol.5, No.6, pp.498-504, 1993
[3] K. Yoneda and S. Hirose,Dynamic and static fusion
gait of a quadruped walking vehicle on a winding
path,Advanced Robotics,,,pp.125-136,1995[15] K. Hirai, M. Hirose, Y. Haikawa, and T. Takenaka,
The Development of Honda Humanoid Robot, Proc.
of 1998 International Conference on Robotics andAutomation, pp.1321-1326, 1998

[4] S. Hirose, K. Yoneda, R. Furuya, and T. Takagi,Dynamic and static fusion gait of a quadrupedwalking vehicle,Proc. of IEEE/RSJ Int. Conf. on Intelligent Robots and Systems ’89,,,pp.199-204,1989[16] A. Dasgupta and Y. Nakamura, Making feasible
walking motion of humanoid robots from human motion capture data, in Proc. IEEE Int. Conf. Robotics
and Automation, pp.1044-1049, 1999

[5] R. Kurazume, K. Yoneda, and S. Hirose, Feedforward
and feedback dynamic trot gait control for quadrupedwalking vehicle, Autonomous Robots, Vol. 12, No. 2,
pp.157-172, 2002.

[17] S. Kajita, O. Matsumoto and M. Saigo, A Realtime
Pattern Generator for Biped Walking, in Proc. IEEE
Int. Conf. Robotics and Automation, pp. 31-37, 2002

[6] A. Takanishi, M. Ishida, Y. Yamazaki, and I. Kato,
The realization of dynamic walking robot WL-10RD,
in Proc. Int. Conf. Advanced Robotics, pp.459-466,
1985[18] Y. Nakamura and K. Yamane, Dynamics Computation of Structure-Varying Kinematic Chains and Its
Application to Human Figures, IEEE Transactions on
Robotics and Automation, vol.16, no.2, pp.124-134,
2000.

[7] S. Kagami, K. Nishiwaki, T. Kitagawa, T. Sugihara,
M. Inaba, H. Inoue, A Fast Generation Method of a
Dynamically Stable Humanoid Robot Trajectory with
Enhanced ZMP Constraint, in Proc. IEEE Int. Conf.
Humanoid RObots, 2000

[19] F. Kanehiro et al, Virtual humanoid robot platform todevelop controllers of real humanoid robots without
porting, in Proc. IEEE/RSJ IROS 2001.

[8] T. Sugihara, Y. Nakamura, H. Inoue, Realtime Humanoid Motion Generation through ZMP maniulation based on Inverted Pendulum Control, in Proc.
IEEE Int. Conf. Robotics and Automation, pp. 14041409, 2002

[20] H. Hirukawa et al, OpenHRP: Open Architecture Humanoid Robot Platform, in Proc. ISRR 2001.

[9] S. Kajita, O. Matsumoto and M. Saigo, Real-time
3D walking pattern generation for a biped robot withtelescopic legs, in Proc. IEEE Int. Conf. Robotics andAutomation, pp. 2209-2036, 2001

931