You are on page 1of 20

Advanced Robotics, Vol. 15, No. 6, pp.

675 – 694 (2001)


Ó VSP and Robotics Society of Japan 2001.

Full paper

Application of Genetic Algorithms for biped robot gait


synthesis optimization during walking and going up-stairs

GENCI CAPI 1;¤ , YASUO NASU 1;† , LEONARD BAROLLI 2 ,


KAZUHISA MITOBE 1 and KENRO TAKEDA 1
1 Department of Mechanical System Engineering, Yamagata University, 4-3-16,
Yonezawa 992-8510, Japan
2 Department of Public Policy and Social Studies, Yamagata University, 1-4-12,
Yamagata 990-8560, Japan

Received 11 October 2000; accepted 4 December 2000

Abstract—Selecting an appropriate gait can reduce consumed energy by a biped robot. In this paper,
a Genetic Algorithm gait synthesis method is proposed, which generates the angle trajectories based
on the minimum consumed energy and minimum torque change. The gait synthesis is considered
for two cases: walking and going up-stairs. The proposed method can be applied for a wide range
of step lengths and step times during walking; or step lengths, stair heights and step times for going
up-stairs. The angle trajectories are generated without neglecting the stability of the biped robot. The
angle trajectories can be generated for other tasks to be performed by the biped robot, like going
down-stairs, overcoming obstacles, etc. In order to verify the effectiveness of the proposed method,
the results for minimum consumed energy and minimum torque change are compared. A Radial Basis
Function Neural Network is considered for the real-time application. Simulations are realized based
upon the parameters of the ‘Bonten-Maru I’ humanoid robot, which is under development in our
laboratory. The evaluation by simulations shows that the proposed method has a good performance.

Keywords: Biped robots; Genetic Algorithms; consumed energy; torque change; gait synthesis; neural
networks.

1. INTRODUCTION

An advantage of legged robots, compared with mobile ones is their possibilit y


to walk on uneven terrain, overcome obstacles, go up- and down-stairs, etc. —
which are made difŽ cult when an external power supply is used. To have a long
operation time when the power is supplied by a battery, the consumed energy must

¤
E-mail: gcapi@mnasu2.yz.yamagata-u.ac.jp

E-mail: nasu@mnasu2.yz.yamagata-u.ac.jp
676 G. Capi et al.

be minimized. Among other factors, such as the robot’ s weight and the motor type,
it also depends on angle trajectory synthesis.
Gait synthesis for the dynamic stable walking of biped robots is a complex
problem on which much research has been concentrated. In most of the previous
papers related to biped robots [1, 2], the angle trajectories of the leg part are
prescribed based on data taken from humans. The motion of the upper body is
calculated in order to have the Zero Moment Point (ZMP) inside the sole region.
Minimum consumed energy gait synthesis during walking is treated in [3]. The
body mass is considered concentrated on the hip of the biped robot. The Coriolis
terms of the torque are neglected. In [4], the body link is restricted to the vertical
position and the body forward velocity is considered to be constant. The consumed
energy, related to the walking velocity and step length, is analyzed in [5]. The
gait synthesis of the biped robot is generated based on the calculus of variation
method. As the number of d.o.f. is high, the calculation of the partial differential is
complex. Also, when the model or the constraints are changed, the formulation of
the optimum control is needed again. Biped walking on  oor and stairs is treated
in [6]. The angular momentum of the locomotion system is put close to the reference
function given in advance by using the torque distributio n method. The distribution
functions of input torque are obtained by minimizing the joint torques. However,
their minimization goal is different from ours.
In this paper, a Genetic Algorithm (GA) approach is used as an optimization
tool. GA is known to be robust for search and optimization problems [7]. It has
been used to solve difŽ cult problems with objective functions that do not possess
properties such as continuity, differentiabilit y, etc. These algorithms manipulate
a family of possible solutions that allow for the concurrent exploration of several
promising areas of the solution space. We deal with two important tasks for
biped robot gait synthesis: Case 1 (walking) and Case 2 (going up-stairs). In
our work, the angle trajectories are generated based on Consumed Energy (CE)
and Torque Change (TC). By using the GA as an optimization tool it is easy to
include new constraints and add new variables to be optimized. Except for gait
synthesis optimization, we also consider the stability and real-time implementation .
The stability is veriŽ ed through the ZMP concept. For the real-time application of
the proposed method, a Radial Basis Function Neural Network (RBFNN) is taught
based upon GA results.
The paper is organized as follows. Section 2 gives a brief introductio n of GA.
Section 3 deals with the gait and body motion. In Section 4, the problem formulation
and proposed method are discussed. Boundary conditions and GA variables are
treated in Section 5. Simulation results are given in Section 6. A Neural Network
implementation for the real-time application is presented in Section 7. Finally,
conclusions and future works are given in Section 8.
Application of GAs for gait synthesis optimization 677

2. GA

GA is a search algorithm based on the mechanics of natural selection and population


genetics. The search mechanism is based on the interaction between individual s and
the natural environment. GA comprises a set of individuals (the population ) and a
set of biologically inspired operators (the genetic operators). The individual s have
genes, which are the potential solutions for the problem. The genetic operators are
crossover and mutation. GA generates a sequence of population s by using genetic
operators among individuals. Only the most suited individual s in a population can
survive and generate offspring, thus transmitting their biological heredity to the new
generation. The symbolic representation of GA is shown in Fig. 1 and the main steps
are shown below:
.1/ Supply a population P0 of N individual s and respective function values
.2/ i à 1
.3/ Pi0 Ã selection_functio n (Pi¡1 )
.4/ Pi à reproduction_functio n (Pi0 )
.5/ Evaluate .Pi /
.6/ i à i C 1
.7/ Repeat step (3) until termination
.8/ Print out the best solution

Figure 1. Symbolic presentation of GA.


678 G. Capi et al.

3. GAIT AND BODY MOTION

During motion, the arms of the humanoid robot will be Ž xed on the chest.
Therefore, it can be considered as a Ž ve-link biped robot in the saggital plane, for
walking and going up-stairs, as shown in Fig. 2a and b. This model assembles
most of the characteristics of the human equivalents of the two aforementioned
motions.
The motion of the biped robot is considered to be composed from a single support
phase and an instantaneous double support phase. The friction force between the
robot’ s feet and the ground is considered to be great enough to prevent sliding.
During the single support phase, the ZMP must be within the sole length, so the
contact between the foot and the ground will remain. In this paper, we calculate
the ZMP by considering the link mass concentrated at one point. In most of the
previous works, the moments generated by the motion of the lower limbs are not
considered for ZMP calculation [2]. However, the authors plan to include the
moments generated by the lower limbs in the future work. To have a stable periodic
walking motion, when the swing foot touches the ground, the ZMP must jump in
its sole. This is realized by accelerating the body link. To have an easier relative
motion of the body, the coordinate system from the ankle joint of the supporting leg
is moved transitionall y to the waist of the robot (O1 X1 Z1 ). Referring to the new

Figure 2. Five-link biped robot.


Application of GAs for gait synthesis optimization 679

coordinate system, the ZMP position is written as follows:


5
X 5
X
¡ ¢ ¡ ¢
R
mi zi C zR w C gz x i ¡ mi xR i C xRw /.zi C zw
iD1 iD1
X ZMP D 5
; (1)
X ¡ ¢
mi zR i C zR w C gz
iD1

where mi is mass of the particle i, xw and zw are the coordinates of the waist with
respect to the coordinate system at the ankle joint of supporting leg, x i and zi are
the coordinates of the mass particle i with respect to the O1 X1 Z1 coordinate system
and xR i and zR i are the acceleration of the mass particle i with respect to the O1 X1 Z1
coordinate system.
Based on (1), if the position, x i , zi , and acceleration, xR i , zR i , of the leg part
(i D 1; 2; 4; 5), the body angle, µ3 , and the body angular velocity, µP3 , are known,
then because xR 3 , zR 3 are functions of l3 , µ3 , µP3 , µR3 , it is easy to calculate the body
angular acceleration based on the ZMP position. When going up-stairs, the vertical
position of the ankle joint of swing leg changes. For this reason, the ZMP position,
which is needed to calculate the body acceleration at the beginning of the step, is
determined related with the O2 X2 Y2 Z2 coordinate system. Let (0) and (f) be the
indexes at the beginning and at the end of the step, respectively. At the beginning of
the step, µR30 causes the ZMP to be in the position ZMPjump . At the end of the step,
the angular acceleration µR3f is calculated in order to have the ZMP at the position
ZMPf , so that the difference between µR3f and µR30 is minimal. Therefore, the torque
necessary to change the acceleration of the body link will also be minimal.

4. PROBLEM FORMULATION AND PROPOSED METHOD

4.1. Problem formulation

The problem, with respect to walking or going up-stairs, consists of Ž nding the joint
angle trajectories to connect the Ž rst and last posture of the biped robot for which
the CE or TC is minimal. It can be assumed that the energy to control the position
of the robot is proportional to the integration of the square of the torque with respect
to time, because the joint torque is proportional to current. Therefore, minimizing
the joint torque can solve the minimum CE problem. The cost function En, which is
a quantity proportional to the energy required for the motion, is deŽ ned as follows:
³ Z tf Z tf ´
1 T 2
En D ¿ ¿ dt C 1¿jump 1t C C dt ; (2)
2 0 0

where tf is the step time, ¿ is the torque vector, 1¿jump and 1t are the addition
torque applied to the body link to cause the ZMP to jump and its duration time, and
680 G. Capi et al.

C is the constraint function, given as follows:


»
0 if the constraints are satisŽ ed
CD
ci if the constraints are not satisŽ ed

c denotes the penalty function vector. We consider the following constraints for our
system:
² The ZMP to be within the sole length.
² The distance between the hip and ankle joint of the swing leg must not be longer
then the length of the extended leg.
² The swing foot, during walking, must not touch the ground prematurely. When
going up-stairs the swing foot must not hit the step.
The results generated for minimum CE cost function are compared with the angle
trajectories that minimize the rate of change of the torque [8]. The cost function is
as follows:
³Z tf ³ ´T ³ ´ ³ ´2 Z tf ´
1 d¿ d¿ 1¿
Jtorque change D dt C C C dt : (3)
2 0 dt dt 1t 0

Figure 3. Block diagram of the proposed method.


Application of GAs for gait synthesis optimization 681

4.2. Proposed method


The block diagram of the proposed method is presented in Fig. 3. Based on
the initial conditions and the range of searching variables, an initial population is
generated. Every angle trajectory is presented as a polynomial of time. Its range is
determined based on the number of angle trajectory constraints and the coefŽ cients
are calculated to satisfy these constraints. The torque vector is calculated from the
inverse dynamics of the Ž ve-link biped robot [9] as follows:
J .µ/µR C X.µ /µP 2 C Y µP C Z.µ/ D ¿: (4)
According to (2) and (3), the cost function is calculated for minimum CE and
minimum TC, respectively. The value of the cost function is attached to every
individual in the population . The GA moves from generation to generation,
selecting parents and producing offspring until the termination criterion (maximum
number of generations GNmax ) is met. Based on the GA results, the gait synthesis
is generated for minimum CE and minimum TC, respectively.

5. BOUNDARY CONDITIONS AND GA VARIABLES

To have a continuous periodic motion, the posture of the biped robot is considered
to be the same at the beginning and at the end of the step. Therefore, the following
relations must be satisŽ ed:
µ10 D µ5f ; µ20 D µ4f ; µ1f D µ50 ; µ2f D µ40 ; µ30 D µ3f : (5)
In order to Ž nd the best posture for walking, the optimum value of µ10 , µ20 and µ30
must be determined by GA. For a given step length during walking or a given step
length and stair height when going up-stairs, it is easy to calculate µ40 and µ50 . When
referring to Fig. 2, it is clear that links 1, 2, 4 at the beginning of the step and links
2, 4, 5 at the end of the step change the direction of rotation. Therefore, we can
write:
µP10 D µP20 D µP40 D µP2f D µP4f D µP5f D 0: (6)
The angular velocity of link 1 at the end of the step and link 5 at the beginning of
the step is considered to be the same. This can be written in the form µP1f D µP50 . In
order to Ž nd the best value of angular velocity, we consider it as one variable of GA,
because the rotation direction of these links does not change. GA will determine the
optimal value of the angular velocity of the body link, which is considered to be
the same at the beginning and at the end of the step. The following relations are
considered for the angular acceleration:
µR10 D µR5f ; µR20 D µR4f ; µR1f D µR50 ; µR2f D µR40 : (7)
In this way, during the instantaneous double support phase, we do not need to
apply an extra torque to change the angular acceleration of the links. To Ž nd the
682 G. Capi et al.

upper body angle trajectory, an intermediate angle µ3p and its passing time t3 are
considered as GA variables.
To determine the angle trajectories of the swing leg during walking, the coordi-
nates of an intermediate point P .xp ; zp / and their passing time tp , are also consid-
ered as GA variables. The searching area for this point is shown in Fig. 2a. Based
on the number of constraints, the range of the time polynomial for µ1 , µ2 , µ3 , µ4 and
µ5 are 3, 3, 7, 6 and 6, respectively.
In order to determine the swing leg motion, the GA generates the coordinates of
two intermediate points and their respective passing time when going up-stairs. The
searching areas of these points are shown in Fig. 2b. To determine the trajectory of
µ1 , its minimum value µ1m and its passing time t1m are considered as GA variables.
Based on the number ofstraints, the ranges of the time polynomial for µ1 , µ2 , µ3 , µ4
and µ5 are 5, 3, 7, 7 and 7, respectively.

6. SIMULATION RESULTS

In the simulations , we use the parameters of the ‘Bonten-Maru I’ humanoid robot,


which is under development in our laboratory. The parameter values are presented
in Table 1 and the robot is shown in Fig. 4. The ‘Bonten-Maru I’ is 1.2 m high
and each leg has 6 d.o.f. and is composed by three segments: upper leg, lower
leg and the foot. The foot length is 0.18 m. A DC servomotor actuates each joint.
Potentiometers are used to obtain the position and velocity of every link, interfaced
to the computer via RIF-01 (ADC). The control platform is based on Common
Object Request Broker Architecture (CORBA), which allow for easy updating and
addition of new modules. A Pentium-based microcomputer (PC /AT compatible ) is
used to control the system.
For the optimization of the cost function, a real-value GA was employed in con-
junction with the selection, mutation and crossover operators with their respective
options, as shown in Table 2. Michalewich has performed many experiments com-
paring real valued and binary GA [10]. He has proven that the real value GA gener-
ates better results in terms of the solution quality and CPU time. He also shows that

Table 1.
‘Bonten-Maru I’ parameters

Body Lower leg Upper leg Lower leg C foot


Mass of the link (kg) 12 2.93 3.89 4.09
Moment of inertia (kg m2 ) 0.19 0.014 0.002 0.017
Length (m) 0.3 0.2 0.204 0.284
CoM from 0.3 0.09 0.1 0.136
lower joint (m)
CoM from 0.0 0.11 0.104 0.136
upper joint (m)
Application of GAs for gait synthesis optimization 683

real value representation offers higher precision. The best function parameters are
found after many simulations. The population size is 80. The maximum number of
generations is used as the termination function.

6.1. Walking
Based on the parameters of the ‘Bonten-Maru I’ the step length used in the
simulations varies from 0.2 to 0.55 m. In Table 3, the simulation results are
presented for the step lengths 0.3, 0.4 and 0.5 m, with their respective step time
0.7, 1 and 1.2 s. The bounds, within which the solution is sought, change according
to the step length and step time. Because the foot length is 0.18 m, if the step
length is smaller then 0.36 m, the ZMP can smoothly pass from one foot to the

Figure 4. ‘Bonten-Maru I’ humanoid robot.

Table 2.
Functions and parameters of GA

Function name Parameters


Arithmetic crossover 2
Heuristic crossover [2 3]
Simple crossover 2
Uniform mutation 4
Non-uniform mutation [4 GNmax 3]
Multi-non-uniform mutation [6 GNmax 3]
Boundary mutation 4
Normalized geometric selection 0.08
684 G. Capi et al.

Table 3.
Variable space and GA results for walking

GA Step length 0.3 m Step length 0.4 m Step length 0.5 m


variable Limits CE Limits CE TC Limits CE
µ10 ¡0:3– 0.0 ¡0:1755 ¡0:3– 0.0 ¡0:1370 ¡0:0006 ¡0:3– 0.0 ¡0:0851
µ20 ¡0:5– ¡0:1 ¡0:2063 ¡0:7– ¡0:3 ¡0:4374 ¡0:5199 ¡0:7– ¡0:3 ¡0:5095
µ30 0.0– 0.3 0.0104 0.0– 0.3 0.13096 0.1100 0.0– 0.4 0.1932
µ3p ¡0:1– 0.2 0.0214 ¡0:1– 0.2 0.09979 0.1001 ¡0:1– 0.2 0.0712
t3 0.2– 0.6 0.3555 0.2– 0.8 0.56706 0.5900 0.2– 1 0.5663
xp ¡0:15 – 0.15 ¡0:0863 ¡0:2– 0.2 ¡0:0861 ¡0:0585 ¡0:25 – 0.25 ¡0:1315
yp 0.01– 0.04 0.0111 0.01– 0.04 0.01428 0.0118 0.01– 0.04 0.0146
tp 0.0– 0.7 0.3343 0.0– 1.0 0.45161 0.4471 0.0– 1.2 0.4314
µP1f 0– 2 0.0683 0– 2 0.66135 0.3935 0– 2 0.2860
µP30 ¡1– 1 0.0581 ¡1– 1 0.02947 0.1714 ¡1– 1 0.0441

Figure 5. Relation between the CE and step time for walking.

Figure 6. Minimum CE cost function results for walking.

other during the instantaneou s double support phase. If the step length is larger
then 0.36 m, then the ZMP must jump to the new supporting foot. This makes the
problem more complex. For this reason, the simulation results are presented for the
step length 0.4 m. To determine the best step time, for which the CE is minimal,
Application of GAs for gait synthesis optimization 685

Figure 7. Minimum TC cost function results for walking.

Figure 8. ZMP position for walking.

the simulations are performed for 13 different step times (0.5 – 1.7 s). Based on
these data, the graph presented in Fig. 5 depicts a parabolic relation between the
CE and step time. From this graph it is clear that a step time exists for which the
CE is minimal. The simulation results are presented for this step time, which in our
case is 1 s. The joint angle trajectories (µi ), the torque vector (¿i ) and the optimal
motion are shown in Figs 6 and 7 for minimum CE and minimum TC, respectively.
As can be seen from Figs 6a and 7a, the boundary conditions are satisŽ ed. Based
on the simulation results, we see that the lower leg of the supporting foot tends to
be near the vertical position when minimum TC is used as the cost function. Its
angular velocity at the end of the step is greater for the minimum CE cost function.
Comparing Figs 6b and 7b, the torques change more smoothly when minimum TC
is used as a cost function. The ZMP position is presented in Fig. 8 for minimum
CE and minimum TC. The ZMP is always between the dotted lines, which present
the length of the foot. At the end of the step, the ZMP is at the position ZMPf ,
as shown in Fig. 2a. At the beginning of the step, the ZMP is not exactly at the
position ZMPjump because of the foot’ s mass. It should be noted that the mass of the
lower leg is different when it is in supporting leg or swing leg. The values of CE,
calculated by (2) for minimum CE and minimum TC gait synthesis, are presented in
Fig. 9. The minimum CE gait synthesis reduces the energy by about 25% compared
with minimum TC.
686 G. Capi et al.

In [3, 4], the body link is restricted to be all the time in the vertical position. In
order to compare our method with the methods presented in [3, 4], we carried out
some simulations , considering the body effect on the CE and the walking motion
stability. Figure 10 presents the optimal walking motion for step length 0.4 m and
step time 1 s, where the body is Ž xed in the vertical position and the stability is
not considered. The CE is 3% lower compared with our optimal motion, as shown
in Fig. 9, but the calculated ZMP gets out of the sole length, as can be seen from
Fig. 11. For this reason, the walking motion is not stable. To move the ZMP in the

Figure 9. Comparison of energy consumption for walking.

Figure 10. Optimal motion.

Figure 11. ZMP position.


Application of GAs for gait synthesis optimization 687

new supporting foot by actuating the lower limbs or the body link will require more
energy.

6.2. Going up-stairs


In our simulations, we consider that the entire foot is supported on the ground. For
this reason, the step length is larger then 0.36 m. The range of the step length and
stair height used in the simulations is 0.4 – 0.46 and 0.02– 0.1 m, respectively. The
simulation results are presented for the step length 0.4 m and stair height 0.05 m.
Based on the simulation results, the relation between the CE and step time is shown
in Fig. 12. From this parabolic graph it is clear that for a given step length and
a given stair height, there is a step time for which the CE is minimal, which in
our case is 1.8 s. The variables’ space and GA results, for step time 1.8 s, are
presented in Table 4. Based on these data, the angle trajectories, torque vector and
optimal motion are presented in Figs 13 and 14 for minimum CE and minimum
TC cost function, respectively. Figures 13a and 14a show that all the boundary
conditions are satisŽ ed. The results generated when the minimum TC is used as
the cost function are very good. This is clear if we see Fig. 14b, where the torques
change very smoothly. Comparing Fig. 13c with Fig. 14c, the biped robot posture

Figure 12. Relation between CE and step time for going up-stairs.

Figure 13. Minimum CE cost function results for going up-stairs.


688 G. Capi et al.

Table 4.
Variable space and GA results for going up-stairs

GA Limits GA results
variables CE TC
µ10 0.2 – 1 0.347731 0.306488
µ20 ¡1– ¡0:2 ¡0:796885 ¡0:976242
µ30 0.1 – 0.4 0.205325 0.239100
µ3p ¡0:2– 0.1 ¡0:018776 0.099969
t3 0.3 – 1.7 0.990702 0.977437
xp1 ¡0:18 – ¡0:53 ¡0:118207 ¡0:151582
yp1 0 – 0.04 0.021998 0.013008
tp1 0.0 –0.9 0.734127 0.605508
xp2 0.02 – 0.14 0.100995 0.010824
yp2 0.05 – 0.09 0.062078 0.064536
tp2 0.9 –1.8 1.236136 1.264377
µ1m 0–0.3 0.150837 0.271828
t1m 0.4 –1.4 0.898001 0.600012
µP1f 0–2 0.321921 0.380191
P
µ30 ¡1– 1 ¡0:139561 ¡0:191488

Figure 14. Minimum TC cost function results for going up-stairs.

Figure 15. ZMP position for going up-stairs.


Application of GAs for gait synthesis optimization 689

Figure 16. Comparison of consumed energy for going up-stairs.

is straighter when the minimum CE is used as the cost function. The ZMP position
is presented in Fig. 15 for minimum CE and minimum TC. The motion is stable
because the ZMP is always within the sole length and at the end of the step the
ZMP is at the position ZMPf , as shown in Fig. 2b. For going up-stairs the value of
CE is presented in Fig. 16. The energy is reduced by nearly 40% when minimum
CE is used as the cost function.

7. NN IMPLEMENTATION

In contrast to other optimization methods, GA needs more time to obtain the


optimal solution. In our simulations, it needs about 10 min. However, in real-time
situations , based on the step length during walking or step length and step height
when going up-stairs, the angle trajectories must be generated in a very short time.
In order to apply our method in real time, we considered teaching a NN based upon
the data generated by GA. Our method employs the approximation abilities of a
RBFNN [11]. When the biped robot has to climb the stairs in a determined period
of time, the NN input variables would be the step length, step height and step time.
The output variables of the NN are the same as the variables generated by GA. As
we explained in Section 6, for a given step length and stair height it is a step time for
which the CE is minimal. For this reason, when the time taken to climb the stairs is
not important, the NN output will be the GA variables and the best step time. The
NN input will be step length and stair height. In this paper, we only show the NN
simulation results for going up-stairs, where as input variables are the step length
and step height.

7.1. RBFNN
The RBFNN involves three layers with entirely different roles, as shown in Fig. 17.
The input layer connects the network to the environment. The second layer (hidden
layer) applies a non-linear transformation from input space to the hidden space,
which is of high dimensionality. The most widely used non-linear transfer function
690 G. Capi et al.

Figure 17. The structure of RBFNN.

Figure 18. Relation between step length, stair height and CE.

is the Gaussian basis function, which is written as follows:


³ ´
kxi ¡ ci k
hi .x/ D exp ¡ ; (8)
¾i
where hi is the ith output of the neuron, xi is the input vector, and ci and ¾i
are the center and the width of the ith RBF neuron. The output layer is linear,
supplying the response of the network to the activation pattern (the signal applied
to the input layer). Based on the number of nodes in the hidden layer, the RBFNN
are divided in generalized and regularization RBF networks. In our simulations, we
use a regularization RBF network.

7.2. RBFNN results


Sixty-three data, generated by GA, are used to teach the RBFNN. The input layer,
hidden layer and output layer have 2, 63 and 16 nodes, respectively. In our
simulations ¾ is considered the same for all neurons, equal to 15. The graph
presented in Fig. 18 shows the relation of step length, stair height and the CE value.
We present the results generated by the NN for two sets of step length and step
Application of GAs for gait synthesis optimization 691

Table 5.
GA and NN results

GA [0.404 0.042] [0.444 0.036]


variables GA NN GA NN
Step time 1.62 1.641812 1.75 1.750780
µ10 0.327785 0.328326 0.301575 0.222566
µ20 ¡0:781373 ¡0:778314 ¡0:766422 ¡0:755121
µ30 0.182217 0.176865 0.252918 0.284487
µ3p ¡0:060523 ¡0:045098 ¡0:010851 ¡0:052331
t3 0.924278 0.912137 0.944990 1.022732
xp1 ¡0:175840 ¡0:15057 ¡0:17791 ¡0:137006
yp1 0.042662 0.028345 0.039827 0.037290
tp1 0.598162 0.590773 0.652954 0.693019
xp2 0.120886 0.046303 0.096646 0.062587
yp2 0.050632 0.048801 0.045784 0.049361
tp2 1.158696 0.98197 1.237436 1.041061
µ1m 0.249610 0.285335 0.184004 0.260726
t1m 0.727330 0.774685 0.853670 0.708620
µP1f 0.398790 0.355134 0.286848 0.335798
µP30 ¡0:228253 ¡0:104581 ¡0:480146 ¡0:305948

Figure 19. GA and NN angle trajectories.

height. They differ from training examples, for which the RBFNN outputs are the
same with GA outputs. The input data of the NN have been [0.414 0.042] and [0.44
0.036]. The results generated by GA and the NN are presented in Table 5. Based on
these results the angle trajectories are shown in Fig. 19. The difference between the
NN and GA angle trajectories is small. The ZMP position, for the two simulations,
is presented in Fig. 20. The time to generate the solution by the NN is 0.11 s, which
is good for the real-time application. The value of CE of NN results for the Ž rst
and the second simulation is only 3.4 and 2.1% more compared with GA results, as
shown in Fig. 21.
692 G. Capi et al.

Figure 20. ZMP position.

Figure 21. Comparison of consumed energy for GA and NN result.

8. CONCLUSIONS AND FUTURE WORKS

In this paper a GA-based approach for optimization of biped robot gait synthesis
is presented. We considered two important tasks for the biped robot — walking
and going up-stairs. Our method can be applied to a wide range of step lengths
and step times during walking, and for a wide range of step lengths, stair heights
and step times when going up-stairs. The proposed method can generate the angle
trajectories for other tasks performed by biped robots such as overcoming obstacle,
going down-stairs, etc. By using GA as an optimization tool it is easier to include
new constraints and to add new variables to be optimized. To ensure a stable
motion, because the double support phase is very short, the jumping of the ZMP is
realized by accelerating the body link. By using a RBFNN, a real-time application
of the proposed method is considered. The performance evaluation is carried out by
simulation. Based on the simulation results, we conclude:
² For a given step length during walking or a given step length and stair height
when going up-stairs, there is a step time for which the CE is minimal.
² The motion is stable because the ZMP is within the sole length.
² The biped robot posture is straighter when minimum CE is used as the cost
function, which is similar to human motion.
² From the CE and the stability point of view, it is better for the robot body not to
be Ž xed during motion.
Application of GAs for gait synthesis optimization 693

² When comparing the energy for CE and TC cost function, it is reduced nearly 25
and 40% for walking and going up-stairs, respectively.
In the future, the following problems will be considered:
² Using GA for the gait optimization of the biped robot when overcoming an
obstacle, going down-stairs, etc.
² Experiments with the ‘Bonten-Maru I’ humanoid robot.

Acknowledgement
The authors would like to thank the reviewers for their insightful comments and
Professor J. A. Meech (University of British Colombia ) for his suggestions.

REFERENCES
1. M. Vukobratovic, B. Borovac, D. Surla and D. Stokic, Biped Locomotion, Dynamics, Stability,
Control and Application. Springer-Verlag, Berlin (1990).
2. A. Takanishi, M. Ishida, Y. Yamazaki and I. Kato, A control method for dynamic biped walking
under unknown external force, in: Proc. IEEE Int. Workshop on Intelligent Robots and Systems,
Ibaraki, Japan, pp. 795– 801 (1990).
3. L. Roussel, C. Canudas-de-Wit and A. Goswami, Generation of energy optimal complete gait
cycles for biped robots, in: Proc. IEEE Int. Conf. on Robotics and Automation, Leuven, Belgium,
pp. 2036– 2041 (1998).
4. F. M. Silva and J. A. T. Machado, Energy analysis during biped walking, in: Proc. IEEE Int.
Conf. on Robotics and Automation, Detroit, MI, pp. 59 – 64 (1999).
5. P. H. Channon, D. T. Pham and S. H. Hopkins, A variational approach to the optimization of gait
for a bipedal robot, J. Mech. Eng. Sci. 210, 177– 186 (1996).
6. A. Sano, J. Furusho and W. Yabuki, Biped walking on the  oor and stairs based on torque
distribution, in: Proc. IFToMM-jc Int. Symp. on Theory of Machines and Mechanisms, Nagoya,
Japan, pp. 663– 668 (1992).
7. D. E. Goldberg, Genetic Algorithm in Search Optimization, and Machine Learning. Addison
Wesley, Reading, MA (1989).
8. Y. Uno, M. Kawato and R. Suzuki, Formulation and control of optimal trajectory in human
multijoint arm movement, Biol. Cybernet. 61, 89 – 101 (1989).
9. T. Mita, T. Yamaguchi, T. Kashiwase and T. Kawase, Realization of high speed biped using
modern control theory, Int. J. Control 40, 107– 119 (1984).
10. Z. Michalewich, Genetic Algorithms C Data Structures D Evaluation Programs. Springer-
Verlag, Berlin (1994).
11. S. Haykin, Neural Networks a Comprehensive Foundation. Prentice-Hall, Englewood Cliffs, NJ
(1999).
694 G. Capi et al.

ABOUT THE AUTHORS


Genci Capi received the BE degree from the Polytechnic University of Tirana,
Albania in 1993. After that he worked as a Design Engineer at the Research
and Design Institute of Tirana. He is now a PhD student at the Graduate School
of Science and Engineering, Yamagata University, Japan. His research interests
include walking and humanoid robots, genetic algorithms, and neural networks.
He is a student member of the Robotics Society of Japan.

Yasuo Nasu received the BE degree in Mechanical Engineering from Yamagata


University, Yamagata, Japan, in 1962, and the ME and DE degrees in Precision
Engineering from Osaka University, Osaka, Japan, in 1964, and 1976, respec-
tively. He was a Lecturer from 1965 to 1977 and Associate Professor from 1977
to 1984 at Yamagata University. He is currently a Professor in the Department
of Mechanical Systems Engineering, Yamagata University. His research inter-
ests include robotics manufacturing, control of walking and humanoid robots, and
adaptive control systems theory. He is a member of the Robotics Society of Japan.

Leonard Barolli received the BE and PhD degrees in 1989 and 1997 from
Tirana University and Yamagata University, respectively. From April 1997 to
March 1999, he was a Post-Doctoral Fellow Researcher of JSPS at the Faculty
of Engineering, Yamagata University. From April 1999, he has been working
as a Research Associate at the Department of Public Policy and Social Studies,
Yamagata University. His research interests include network trafŽ c control, fuzzy
control, genetic algorithms and agent-based systems. He is a member of SOFT
and the Information Processing Society of Japan.

Kazuhisa Mitobe received the BE and ME degrees in Precision Engineering


from Niigata University, Niigata, Japan in 1986 and 1988, respectively, and the
PhD degree from Kyoto University, Kyoto, Japan in 1996. From 1990 to 1998,
he was a Research Associate at Yamagata University, Japan. He is currently an
Associate Professor in Mechanical Systems Engineering at Yamagata University.
His research interest includes robotics manufacturing, control of walking robots
and adaptive control systems theory. He is a member of the Robotics Society of
Japan.

Kenro Takeda received the BE and ME degrees in Information Engineering from


Yamagata University, Japan in 1994 and 1996, respectively. He is now working as
a programmer at Tohoku RICOH Company and is a PhD student at the Graduate
School of Science and Engineering, Yamagata University, Japan. His research
interests include control of humanoid robots, parallel and distributed computing,
and neural networks.

You might also like