In this paper, the RBFNN results, where the input variables are the step length, step height and step time, are presented. Simulations are realized based on the ...
Application of Intelligent Algorithms for Humanoid Robot Gait Generation: A Case Study for Going Up-stairs G. Capi*, Y. Nasu*, L. Barolli**, K. Mitobe*, M. Yamano* *Mechanical Systems Engineering, Faculty of Engineering, Yamagata University, Jonan 4-3-16 Yonezawa, Yamagata, JAPAN ** Department of Public Policy and Social Studies, Yamagata University, 1-4-12, Yamagata 990-8560, JAPAN {gcapi,nasu}@mnasu2.yz.yamagata-u.ac.jp Abstract - Going up-stairs often takes place during the humanoid robot task performance. In this paper, a Genetic Algorithm (GA) gait synthesis method for going up-stairs and a Radial Basis Function Neural Network (RBFNN) implementation, are considered. The gait synthesis is analyzed based on the minimum consumed energy and minimum torque change. In our work, the stability is verified through the ZMP concept. For the real time implementation, a RBFNN, which is taught based on the GA results, is considered. In this paper, the RBFNN results, where the input variables are the step length, step height and step time, are presented. Simulations are realized based on the parameters of “Bonten-Maru I” humanoid robot.
1. Introduction The need for anthropomorphism in domestic robotics is classically illustrated by the problem of staircases. It is not feasible to alter houses or to remove the staircases. It is possible to design robots with stair-climbing attachments, like, autonomous humanoid robots. But, they are restricted to a limited amount of energy supply. It would therefore be advantageous to consider the optimal gait, when cyclic movements like going up-stairs are involved. One factor that has a great influence on consumed energy is the gait synthesis. In most of the previous papers related to humanoid robots [1-2], the angle trajectories of the leg part are prescribed based on data taken from humans. The motion of upper body is calculated in order to have the Zero Moment Point (ZMP) inside the sole region. Some effort has been placed to analyze the effect of gait synthesis on consumed energy during walking. In [3] the body mass is considered concentrated on the hip of the biped robot. The effect of the walking velocity and step length on the consumed energy is treated in [4]. However, in all these approaches, the stability and the real time implementation are not considered. In this paper, we present a Genetic Algorithm gait synthesis method for humanoid robots during going upstairs based on Consumed Energy (CE) and Torque Change (TC). This is in addition of the work done for the optimal gait during walking [5].
When solving for optimal gaits, some constrains must be considered. In our work, the most important constraint is the stability, which is verified through the ZMP concept. GA makes easy handling the constraints by using the penalty function vector, which transforms a constrained problem to an unconstrained one. GA has been known to be robust for search and optimization problems [6]. For a real time implementation, in [3], the authors suggest to create in the future a database of pre-computed optimal gaits during walking. In order to cover all the interval of the pre-computed optimal gaits, we consider teaching a RBFNN based on the GA results. In this paper, we present the results where the input variables of RBFNN are the step length, step height and step time. Simulations show good results generated by RBFNN in a very short time.
2. Biped Model During the motion, the arms of the humanoid robot will be fixed on the chest. Therefore, it can be considered as a five-link biped robot in the saggital plane, as shown in Figure 1. 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
5
X ZMP =
∑ i =1
mi (zi + zw + g z )x i − 5
∑ i =1
5
∑ i =1
mi (xi + x w )(zi + z w ) ,
(1)
mi (zi + zw + g z )
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 z i are the coordinates of the mass particle “i” with respect to the O1X1Z1, x and z are the acceleration of the mass i i particle “i” with respect to the O1X1Z1 coordinate system. Based on the formula (1), if the leg part position, x i , z i , and acceleration, x , z , the body angle, θ , and body i
i
3
angular velocity, θ 3 , are known, then because x 3 , z3 are functions of l3, θ 3 , θ 3 , θ 3 , it is easy to calculate the body angular acceleration based on the ZMP position. Let (0) and (f) be the indexes at the beginning and at the end of the step, respectively. At the beginning of the step, θ 30, causes the ZMP to be in the position ZMPjump. The vertical position of the ankle joint of swing leg change when it touches the ground. Because the friction is not neglected, θ 30 is calculated related to O2X2Z2 coordinate system. At the end of the step, the angular acceleration, θ 3f, is calculated in order to have the ZMP at the position ZMPf, so that the difference between θ 3f and θ 30 is minimal. Therefore, the torque necessary to change the body link acceleration will be minimal.
3. Optimal Gait Problem 3.1 Problem Formulation The problem consists of finding the joint angle trajectories, to connect the first 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 joints of the manipulator are driven by torque, then the unit of torque, Nm, is equal to the unit of energy, joule. So, the cost function, J, can be defined as follows: t
t
f 1 f T ( ∫ τ τdt + Δτ 2jump Δt + ∫ Cdt ), 2 0 0
J=
(2)
where: tf is the step time, τ is the torque vector, ∆τ jump and ∆t are the addition torque applied to the body link to cause the ZMP to jump and its duration time, and C is the constraint function, given as follows: 0 - if the constraints are satisfied, C= c i - if the constraints are not satisfied, 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 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 [7]. The cost function is as follows: T
t
t
2
f 1 f dτ dτ Δτ J torquechange = ( ∫ dt + + ∫ Cdt). 2 0 dt dt Δt 0
θ3
m3
z1 O1 m4
-
z
stair height
support phase, the ZMP must be within the sole length, so the contact between the foot and the ground will remain. To have a stable periodic 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 transitionally to the waist of the robot (O1X1Z1). Referring to the new coordinate system, the ZMP position is written as follows:
θi + O
θ4
x
x1
Searching Area P1 (xp1,yp1), P2 (xp2,yp2)
m2 θ2
m5 m1 θ θ1 5
z2 O2
x2 ZMPjump
ZMPf step length
Figure 1. Five-link biped robot.
RN
R Ff
(3)
3.2 Proposed Method
Start
The proposed method is based on the GA. In the following is given a brief introduction of 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 individuals and the natural environment. GA comprises a set of individuals (the population) and a set of biologically inspired operators (the genetic operators). The individuals have genes, which are the potential solutions for the problem. The genetic operators are crossover and mutation. GA generates a sequence of populations by using genetic operators among individuals. Only the most suited individuals in a population can survive and generate offspring, thus transmitting their biological heredity to the new generation. The four stages of GA are shown in Figure 2. The block diagram of the proposed method is presented in Figure 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 coefficients are calculated to satisfy these constraints. The torque vector is calculated from the inverse dynamics of the fivelink biped robot [7] as follows: J(θ )θ + X(θ )θ 2 + Yθ + Z(θ ) = τ . (4) According to the formula (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. Chromosome
Population
Offspring
Genetic Operations
Crossover
Evaluation
Mutation
Parent
Figure 2. GA cycle.
Fitness
Selection
Initial conditions: Step Time, Step Length, Solution Space, Max. Number of Gen. (GNmax)
GN=1 Population
Genetic Operations Mutation
Evaluation Function
Crossover
Target joint angles Polynomial approximation
Selection
Inverse Dynamics
GN=GN+1
b- TC
a- CE
GN