Mechatronics 10 (2000) 67±89
Trajectory generation for biped locomotion robot Yasuhisa Hasegawa*, Takemasa Arakawa, Toshio Fukuda Department of Micro System Engineering, Nagoya University, Furo-cho 1, Chikusa-ku, Nagoya, 4648603, Japan Received 27 October 1998; accepted 14 May 1999
Abstract The purpose of this research is to generate natural motion for a biped robot. It is dicult to generate stable and natural walking motion in various environments. In this paper, we propose the hierarchical evolutionary algorithm to generate a walking motion through energy optimization and aim to generate a natural motion by considering ZMP. The hierarchical evolutionary algorithm is a co-evolution algorithm of two optimization algorithms, one is the GA that minimizes the total energy of all actuators, and the other is the EP that optimizes interpolated con®guration of biped locomotion robot. This hierarchical evolutionary algorithm can ®nd the solution from a large numerical combination area, eectively. We obtain natural walking motions on some slopes using this algorithm, and con®rm that the acquired trajectories can be applied successfully to the practical biped locomotion robot. # 1999 Elsevier Science Ltd. All rights reserved.
1. Introduction In the future, humans will coexist with robots in the same society. The biped robot has almost the same mechanisms as a human and is suitable for moving in an environment which contains stairs, obstacles, and so on, where a human lives. However it is dicult to generate human-like walking motion automatically. Humans can walk not only on ¯at ground but also on rough ground such as steps or slopes. * Corresponding author. 0957-4158/00/$ - see front matter # 1999 Elsevier Science Ltd. All rights reserved. PII: S 0 9 5 7 - 4 1 5 8 ( 9 9 ) 0 0 0 5 2 - 5
68
Y. Hasegawa et al. / Mechatronics 10 (2000) 67±89
To realize human-like walking robots, many researches about the biped locomotion robot have been archived [1±7]. In these researches, dynamic and stable walking can be realized. Vukobratovic et al. [1] have investigated the walking dynamics and proposed ZMP (Zero Moment Point) as an index of walking stability. Takanishi et al. [2], Hirai et al. [3], Fujimoto et al. [4] have proposed methods of walking pattern synthesis based on the ZMP, and demonstrate walking motion with real robots. ZMP is indispensable to ensure dynamic stability for a biped robot. Input energy is another important index for natural walking motion. A human can make use of gravity eectively with a little input energy. The walking motion caused by good energy eciency is preferable to the biped locomotion robots, and looks like more natural action [5]. The generation of low-energy trajectories for biped robots, however, remains an open and non-trivial issue. The energy±optimal trajectories for highly non-linear equations of a complex robot is hard to ®nd numerically. Therefore earlier investigations for numerical solutions approximated the joint trajectories [6] or simpli®ed the robot dynamics [7]. Evolutionary optimization method, e.g. evolutionary programming (EP), evolutionary strategy (ES), genetic algorithm (GA), genetic programming (GP) and so on, is another method to ®nd the optimal solutions in a non-linear system. Each method has its own features, that is GAs have good performance for the combinational optimization problems like the traveling salesman problem (TSP) [8±9], and EP and ES have better performance for the numerical optimization problems [10]. GP is good for acquiring good strategy that is expressed by program language. The searching problem of optimal trajectories for a biped locomotion robot, is a combinational and numerical optimization problem, since gait motion consists of the combination of intermediate postures, which express joint angles. At these points of view, the intermediate posture denoted as numerical expression should be optimized by EP, and the combination of intermediate posture should be selected by GA. In this paper, we propose the hierarchical evolutionary algorithm to generate natural motion of biped locomotion robot through energy optimization. The hierarchical evolutionary algorithm consists of two layers, one is the genetic algorithm (GA) layer which minimizes the total energy of all actuators, and the other is the evolutionary programming (EP) layer which optimizes intermediate posture of a biped locomotion robot. The energy-optimized trajectory has successfully been found by the hierarchical evolutionary algorithm. Finally, we con®rm that the acquired trajectories can be applied successfully to the practical biped locomotion robot. 2. Natural motion generation What is natural motion? Human walking is very smooth and ecient because humans can make use of gravity eectively. The energy which is needed to walk is
Y. Hasegawa et al. / Mechatronics 10 (2000) 67±89
69
very low, and human walking motion is optimized as energy. Therefore, we de®ne natural motion as follows. . Natural motion is the motion that minimizes the total energy of biped locomotion robot. To generate natural motion is equal to ®nding the motion which minimizes the total energy consumption which is required for all actuators in the robot system. Then, we consider the conditions for stable walking. Biped locomotion robots must be controlled under the possibility of falling down. So the reference trajectory of biped locomotion robots must be generated without falling down. From these reasons, we must consider many kinds of conditions for continuous walking without falling down. 2.1. Conditions of Zero Moment Point (ZMP) The moment is generated by the ¯oor reaction force and torque. Fig. 1 shows the concept of Zero Moment Point, where p is the point that Tx=0 and Ty=0. Tx, Ty represent the moments around x axis and y axis generated by reaction force Fr and reaction torque Tr, respectively. The point p is de®ned as the Zero Moment Point (ZMP). When the ZMP exists within the domain of the support surface, the contact between the ground and the support leg is stable. pzmp
x zmp , yzmp , 0 2 S
1
where pzmp denotes a position of ZMP. S denotes a domain of the support surface. This condition indicates that no rotation around the edges of the foot occurs. 2.2. Boundary conditions for continuous walking For continuous walking, the boundary conditions of reference trajectory are given
Fig. 1. Zero Moment Point (ZMP).
70
Y. Hasegawa et al. / Mechatronics 10 (2000) 67±89
y i
t0 y i4
t0 T i 1, 2, 3
2
y_ i
t0 y_ i4
t0 T i 1, 2, 3 where t0 is initial time of walking cycle, T is the period of one step, and i is link number. This condition represents the continuity of joint angles. 2.3. Free leg condition The free leg should not be in contact with ground while it moves. pz > F
px , py
3
where ( px, py, pz) denotes a foot position of the free leg, and F( px,py) represents the ground shape. 2.4. Other conditions The foot plate is parallel against the ground to avoid collision between free leg and ground. y 0 y4 y8 y9 0
4
y1 y2 y3 0 y7 y6 y5 0 The waist plate is parallel against the ground during the double support period. y0 ÿy8 y 4 y8 y9 ÿy8 y1 y2 y3 0 y7 y6 y5 0
5
Y. Hasegawa et al. / Mechatronics 10 (2000) 67±89
71
3. Hierarchical evolutionary algorithm 3.1. The architecture of hierarchical evolutionary algorithm In this section, we propose the hierarchical evolutionary algorithm. The hierarchical evolutionary algorithm consists of two layers, one is the genetic algorithm (GA) layer which selects eective interpolated con®guration of a biped locomotion robot to minimize the total energy of the robot, and the other is the evolutionary programming (EP) layer which generates interpolated con®guration of a biped locomotion robot. The host individuals in EP and GA layer are prede®ned as Figs. 2 and 3. The individual in EP layer represents an interpolated con®guration of a biped locomotion robot, and has numerical information of joint angles of the robot. The individual in GA layer consists of two informations, one is the set of interpolated con®gurations, and the other is the ¯ag for expressing the validity of the interpolated con®guration. If the ¯ag bit is one, the corresponding con®guration can become the node of spline function for the trajectories. The concept of hierarchical evolutionary algorithm is shown in Fig. 4. The procedure of trajectory generation is represented as follows: begin Initialization repeat EP-Mutation EP-Evaluation EP-Selection Transfer-Con®guration
Fig. 2. Individual in EP layer.
72
Y. Hasegawa et al. / Mechatronics 10 (2000) 67±89
Fig. 3. Individual in GA layer.
GA-Crossover GA-Mutation GA-Evaluation GA-Selection until Termination-condition=True end First, in the initialization, individuals in the population are randomly generated. EP-Mutation and EP-Selection are genetic operators of EP. Then, the interpolated con®gurations of biped locomotion robot are transferred to the GA individual in Transfer-Con®guration operation. GA-Crossover, GA-Mutation, and GASelection are genetic operators of GA, correspondent to its optimization problem. We represent the details of each operation. The EP-Mutation operator creates new sets of interpolated con®gurations by adding regular random noise, N, according to its ®tness. A new set of interpolated con®gurations are given as follows: x i, nj x i, j N
0, a
fmax ÿ fi b fmax ÿ fmin
6
Y. Hasegawa et al. / Mechatronics 10 (2000) 67±89
Fig. 4. Concept of hierarchical evolutionary algorithm.
73
74
Y. Hasegawa et al. / Mechatronics 10 (2000) 67±89
Fig. 5. Crossover operator in GA layer.
where xi,j denotes a component (joint number) i of individual j, n denotes a population size in EP layer, fi, fmax, and fmin denote a ®tness of individual i, maximum ®tness and minimum ®tness, respectively, and N(k, l ) denotes Gausian noise which has mean value k and dispersion l. The EP-Selection operator creates new generation of the sets of interpolated con®gurations. Top n individuals are selected from 2n individuals which include n individuals created by EP-Mutation operator. The Transfer-Con®guration operator transfer con®guration information of the individual in EP layer to the individual in GA layer. The GA-Crossover operator creates new individuals (ospring) by combining segments on the string of parents. The operation of GA-Crossover is shown in Fig. 5. The GA-Mutation operator replaces a character on the string with another one. This operator is executed with the mutation probability. The operation of GAMutation is shown in Fig. 6.
Fig. 6. Mutation operator in the GA layer.
Y. Hasegawa et al. / Mechatronics 10 (2000) 67±89
75
GA-Selection selects individuals for the next generation based on its ®tness, so that an individual with a higher ®tness could reproduce more ospring. The best individual is stored to the next generation as an elite strategy. 3.2. Evaluation functions in GA and EP layers In this section, we describe evaluation functions in GA and EP layers. First, we describe the expression of reference trajectory. The reference trajectory of robot joint i, are given as cubic spline functions. yi Splinei
x i , t
xi x i,1 , . . . , x i, m
7
where Splinei (x,t ) denotes spline function which expresses joint i, x is spline interpolated points, m is the number of spline interpolated points. The target set of reference trajectories is one that minimizes the energy consumption. GA, therefore, has the evaluation function involved the total energy for actuation, de®ned as !
T 13
T X T_ j t yi j dt kga Cga dt4 min
8 Ega
yy kga 1
i1 0
i
2
0
where kga1 , kga2 are weight values and t, Cga are joint torque, constraint function respectively. In the right hand of Eq. (8) the ®rst term indicates energy consumption and the second term indicates constraint violence. Using this evaluation function, GA can ®nd the combination of intermediate postures made by the EP operation. EP generates intermediate postures of walking motion which are candidates for the nodes of spline function. The evaluation function is given
Eep
x kep1 min
x 2B
2
fkx ÿ x k g kep2
T 0
Cep dt 4 min
9
where B denotes a set of eective interpolated con®gurations with the best evaluation in GA operation, x denotes the nearest interpolated con®guration to the x, and Cep denotes a constraint. In the EP layer, the intermediate postures x of biped locomotion evolute toward ones in the best trajectories of GA layer. The constraints in GA and EP are given Cga o
Constraint is satisfied:
Cep c Constraint is not satisfied:
10
where c denotes the penalty vector whose components are positive. If the
76
Y. Hasegawa et al. / Mechatronics 10 (2000) 67±89
Fig. 7. Slope angle a.
constraint is not satis®ed, the second term of evaluation function Eqs. (8) and (9) gives a penalty vector c. 4. Numerical simulation 4.1. Simulation condition We generate a reference trajectory on the ¯at ¯oor and slope shown in Fig. 7. The simulation conditions are shown in Tables 1 and 2. Table 1 Simulation conditions for hierarchical evolutionary algorithm Step Time of one step Population size of EP layer Population size of GA layer EP Mutation Coecient (ai) EP Mutation Coecient (bi) GA Crossover probability GA Mutation probability Generation
0.30 (m) 5 (s) 50 50 100 0.01 0.6 0.1 100
Y. Hasegawa et al. / Mechatronics 10 (2000) 67±89
77
Table 2 Walking condition Case
Slope a (deg.)
Time of one step (s)
Case 1 Case 2 Case 3
ÿ5 0 5
5.0 5.0 5.0
4.2. Simulation result Figs. 8, 11 and 14 show one step motion of biped locomotion robot on the slope obtained by the energy minimizing evaluation function Eq. (8). Figs. 9, 12 and 15 show the positions of ZMP. The large circles and small circle display the positions of ZMP during single support period and double support period respectively. During single support period, ZMP must exist in the rectangular domain drawn by a solid line, and during double support period, ZMP must exist in the hexagonal domain drawn by a dashed line. These ®gures show that all the positions of ZMP are in the domain of support surface and then the biped locomotion robot is stable. Furthermore, Figs. 10, 13 and 16 show the total powers of actuators. The ®gures show that desired powers of actuators are very low.
Fig. 8. Trajectory (ÿ58).
78
Y. Hasegawa et al. / Mechatronics 10 (2000) 67±89
Fig. 9. ZMP (ÿ58).
By giving the large number of penalty value, the trajectory which satis®es constraints is generated easily, and the energy-optimized trajectory has successfully been found (Figs. 11±16). 5. Biped locomotion robot In trial, we produced the biped locomotion robot shown in Fig. 17. This robot
Fig. 10. Total power (ÿ58).
Y. Hasegawa et al. / Mechatronics 10 (2000) 67±89
79
Fig. 11. Trajectory (08).
has 13 joints, and has a three-dimensional mechanism. The main scales of biped locomotion robot are shown in Fig. 17. The weight of this biped robot is 24 kg. For the reduction of weight, the body is made of aluminum materials. The
Fig. 12. ZMP (08).
80
Y. Hasegawa et al. / Mechatronics 10 (2000) 67±89
Fig. 13. Total power (08).
inclinometers and force sensors are mounted in the waist plate and foot plate respectively. Each joint is driven by the actuator that consists of a DC servomotor and a reduction spiral gear, and each of the actuators and gears are mounted in the link structure. This structure is strong against falling down of the robot and it looks smart and more similar to a human.
Fig. 14. Trajectory (58).
Y. Hasegawa et al. / Mechatronics 10 (2000) 67±89
81
Fig. 15. ZMP (58).
6. Application to practical biped locomotion robot In this section, we apply the `case 2' trajectory calculated in the previous section to the practical biped locomotion robot shown in Fig. 17. The control system of the biped locomotion robot is shown in Fig. 18. This biped locomotion robot is controlled by using PD control so as to follow the reference trajectory obtained in the previous section. This biped locomotion robot has been able to walk under the condition of which one step is 0.30 m per 5.0 s. The walking of biped locomotion robot is shown in Figs. 19 and 20.
Fig. 16. Total power (58).
82
Y. Hasegawa et al. / Mechatronics 10 (2000) 67±89
Fig. 17. biped locomotion robot (mm).
Y. Hasegawa et al. / Mechatronics 10 (2000) 67±89
Fig. 18. Control system of biped locomotion robot.
Fig. 19. Walking of biped locomotion robot (front view).
83
84
Y. Hasegawa et al. / Mechatronics 10 (2000) 67±89
Fig. 20. Walking of biped locomotion robot (side view).
Figs. 21±34 show the joint angles (deg.) in walking. Cyclic walking pattern has been realized. The places of joint angles are shown in Fig. 21. This biped locomotion robot can walk continuously without falling down. The obtained natural motion trajectory can be applied successfully to the practical biped locomotion robot. 7. Conclusion This paper proposed a hierarchical evolutionary algorithm to generate natural motion for biped locomotion robot on the slope so as to minimize total energy. We consider total energy of actuators to generate more natural motion. Human walking is very ecient and smooth. Humans can make use of gravity eectively. The smooth motion is caused by good energy eciency therefore the walking with less energy consumption is suitable for the biped locomotion robots, and looks like more natural motion. Further, we formulate the trajectory generation
Y. Hasegawa et al. / Mechatronics 10 (2000) 67±89
Fig. 21. Representation of joint angle.
Fig. 22. Joint 1.
85
86
Y. Hasegawa et al. / Mechatronics 10 (2000) 67±89
Fig. 23. Joint 2.
Fig. 24. Joint 3.
Fig. 25. Joint 4.
Fig. 26. Joint 5.
Y. Hasegawa et al. / Mechatronics 10 (2000) 67±89
Fig. 27. Joint 6.
Fig. 28. Joint 7.
Fig. 29. Joint 8.
Fig. 30. Joint 9.
87
88
Y. Hasegawa et al. / Mechatronics 10 (2000) 67±89
Fig. 31. Joint 10.
Fig. 32. Joint 11.
Fig. 33. Joint 12.
Fig. 34. Joint 13.
Y. Hasegawa et al. / Mechatronics 10 (2000) 67±89
89
problem as an optimization problem of energy with any constraints. To solve this problem with constraints, we utilize the hierarchical evolutionary algorithm which consists of two parts, one is the GA layer and the other is the EP layer. Natural motion on the slope can be obtained automatically and easily by the proposed method. Furthermore, the obtained trajectory has been applied successfully to the biped locomotion robot on the ¯at plane. As a future work, the proposed algorithm must be improved to be a faster algorithm, because this algorithm takes much time to generate one motion and it is dicult to apply real-time motion generation. References [1] Vukobratovic M, Brovac B, Surla D, Stokic D. Biped locomotion. Springer Verlag, 1990. [2] Takanishi A, Ishida M, Yamazaki Y, Kato I. The realization of dynamic walking robot WL10RD. In: Proceedings of International Conference on Advanced Robotics, 1985. p. 459±66. [3] Hirai K, Hirose M, Haikawa Y, Takenaka T. The development of Honda humanoid robot. In: Proceedings of IEEE International Conference Robotics and Automation, 1998. p. 1321±6. [4] Fujimoto Y, Kawamura A. Proposal of biped walking control based on robust hybrid position/ force control. In: Proceedings of the IEEE International Conference Robotics and Automation, 1996. p. 2724±30. [5] Hreljac A, Martin PE. The relationship between smoothness and economy during walking. Biological Cybernetics 1993;69:213±8. [6] Channon PH, Hopkins SH, Phan DT. Deviation of optimal walking motions for a biped walking robot. Robotica 1992;10(2):165±72. [7] Roussel L, Canudas-de-Wit C, Goswami A. Generation of energy optimal complete gait cycles for biped robots. In: Proceedings of IEEE International Conference Robotics and Automation, 1998. p. 2036±41. [8] Goldberg DE. Genetic algorithm in search, optimization, and machine learning. Addison Wesley, 1989. [9] Syswerda G. A study reproduction in generational and steady-state genetic algorithms. In: Foundations of genetic algorithms. Morgan Kaufmann, 1991. p. 94±101. [10] Fogel DB. Evolutionary computation. IEEE Press, 1995.