International Journal of Advanced Robotic Systems

OPEN Vy ACCESS ARTICLE

Real-time Walking Pattern Generation for a Biped Robot with Hybrid CPG-ZMP Algorithm

Regular Paper

Bin He1-*, Zhipeng Wang1, Runjie Shen1 and Sanqing Hu2

1 Department of Control Science and Engineering, Tongji University, Shanghai, China

2 College of Computer Science, Hangzhou Dianzi University, Hangzhou, China * Corresponding author E-mail: hebin@tongji.edu.cn

Received 09 Sep 2013; Accepted 01 Apr 2014

DOI: 10.5772/58845

© 2014 The Author(s). Licensee InTech. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract Biped robots have better mobility than conventional wheeled robots. The bio-inspired method based on a central pattern generator (CPG) can be used to control biped robot walking in a manner like human beings. However, to achieve stable locomotion, it is difficult to modulate the parameters for the neural networks to coordinate every degree of freedom of the walking robot. The zero moment point (ZMP) method is very popular for the stability control of biped robot walking. However, the reference trajectories have low energy efficiency, lack naturalness and need significant offline calculation. This paper presents a new method for biped real-time walking generation using a hybrid CPG-ZMP control algorithm. The method can realize a stable walking pattern by combining the ZMP criterion with rhythmic motion control. The CPG component is designed to generate the desired motion for each robot joint, which is modulated by phase resetting according to foot contact information. By introducing the ZMP location, the activity of the CPG output signal is adjusted to coordinate the limbs' motion and allow the robot to maintain balance during the process of locomotion. The numerical simulation results show that, compared with the CPG method, the new hybrid CPG-ZMP algorithm can enhance the robustness of the CPG parameters and improve the stability of the robot. In addition, the

proposed algorithm is more energy efficient than the ZMP method. The results also demonstrate that the control system can generate an adaptive walking pattern through interactions between the robot, the CPG and the environment.

Keywords Biped Robots, Motion Control, Central Pattern Generator, Zero Moment Point

1. Introduction

Biped robots have remarkable ground adaptability, exceptional obstacle negotiation capability, and great potential applications in military, rescue and space exploration [1-2]. In recent years, many related issues, such as stability criteria [3-4], robot design and application [5], and dynamics analysis [6], have been studied by researchers.

The zero moment point (ZMP), proposed by Vukobratovic M. in the early 1970s, is widely employed in the stability control of biped robot locomotion [7]. The ZMP is defined as the point on the ground about which the sum of all the moments of the active forces is equal to zero. To guarantee the stability of the biped robot, the ZMP must

be within the support polygon formed between the foot and the ground [3]. Through an offline motion plan and online balance compensation - to ensure that the ZMP is within the support polygon - researchers have realized stable walking for their biped robots, such as ASIMO [8], WABIAN-2 [9], HRP-2 [10] and QRIO [11]. However, this method requires the precise modelling of the robot dynamics and environment, and offline motion planning beforehand [10]. In addition, the robot gait of such a walking pattern lacks naturalness and has low energy-efficiency [12]. In the traditional method, the ZMP reference during a stepping motion is kept fixed in the middle of the support polygon to ensure the maximum stability margin. Investigations have revealed that the ZMP in human walking does not stay fixed within the support polygon, but rather it moves forwards from the heel in the direction of the toe [13]. Therefore, some researchers have proposed a walking pattern generation algorithm based on the linear inverted pendulum model (LIPM) and moving support foot ZMP references, which makes the gait of the biped robot more energy efficient and natural [14-15].

In contrast to offline trajectory planning, a bio-inspired control method based on central pattern generators (CPGs) with neural oscillators has received much attention for rhythmic motion generation [16-17]. Rhythm is an essential property of legged locomotion. Animals have various kinds of periodic motions, such as walking, running, swimming and flying. From the neuroscience evidence, animals' rhythmic movements are achieved by interaction between the dynamics of a musculoskeletal system and the rhythmic signals from the CPG [18]. Researchers think that, within the spinal cord of vertebrates, there are networks of neurons responsible for generating rhythmic motions for animals [18-19]. Nonlinear oscillators are widely used to model CPGs in generating rhythmic motions for robots. Such CPGs can establish human-like adaptive walking behaviour through dynamic interactions with the robot's mechanical system, the oscillator control system and the environment [20-21]. The rhythmic motion can be generated in real-time with less computation. Some researchers have developed CPG neural networks to generate coordinated multi-dimensional rhythmic control signals for biped robots [22-25]. Manoonpong et al. developed a controller to achieve stable walking based on machine learning and CPG control [26]. He et al. studied the coupling relationship between the central nervous system and the CPG network with proprioception [27]. In a neural network, each CPG unit corresponds to one degree of freedom (DOF) of the robot, and can be referred to as the 'joint space control method'. In addition, other researchers explored the task space control method by designing the rhythmic motion pattern for the leg tips of a biped robot [28]. However, the CPG model has complex dynamics and many parameters to be selected - it is difficult to design interconnections and feedback pathways, as well as to manually tune all the open parameters in order to achieve the desired behaviour [12].

Sensory feedback signals play an important role in the walking of biped robots. The CPG modulates rhythmic

patterns in response to sensory information, resulting in adaptive behaviours [6]. The joint angle and body orientation signals are commonly used to modulate the activity of the CPG [20-21, 28]. Recently, some researchers developed an adaptive walking algorithm by using a phase-resetting feedback system based on foot contact information [6, 12, 29]. However, the phase-resetting method does not contain the motion state of the robot, and cannot directly coordinate the joints' motion based on stability criteria.

Or Jimmy developed a hybrid CPG-ZMP control system based on a flexible spine for a biped robot [30-31]. The flexible spine can be seen as a compensatory mechanism for the prescribe ZMP pattern. In [30] and [31], the ZMP trajectory and walking trajectory of a robot were pre-planed, and the CPG-ZMP controller was only used to maintain balance for the biped robot by modulating the flexible spine posture. This method is similar to the ZMP-based offline motion planning and online balance compensation strategy. To realize real-time walking generation, the control method should coordinate all degree of freedoms of the robot online.

In this paper, a new real-time walking generation method for a biped robot using a hybrid CPG-ZMP control algorithm is presented. The CPG model is designed based on a cosine function to generate the desired motion for each joint of the robot, and can be modulated by phase-resetting based on foot contact information. To guarantee the stability locomotion of the robot, the ZMP location signal is introduced to modulate the activity of the CPG. The proposed algorithm can generate an adaptive walking pattern online for the biped robot. In addition, the numerical simulations demonstrate the effectiveness of the method. The remainder of the present paper is organized as follows. The models of the biped robot and the CPG are introduced in Section 2. The proposed algorithm is described in Section 3. The numerical simulation results for the method are shown in Section 4. A discussion is provided and conclusions drawn in Sections 5 and 6, respectively.

2. Model description 2.1 Model of the biped robot

Figure 1 shows the schematic model of a seven-link biped robot comprising a torso and two legs. Each leg consists of three links (a femur, a tibia and a foot). The model is constrained on the X — Y plane walking on flat ground, where the walking direction is along the X-axis. The model has a touch sensor attached to the tip of each leg and angular transducers to monitor the joint angles of the leg. The robot can walk stably by controlling the joints based on foot contact information and the ZMP location.

The absolute angle 9i (i=1, ... ,6) and relative angle qi (i=1, ... ,6) are introduced to describe the configuration of the robot model, as shown in Figure 1. 9i is defined as the angle between the Y-axis and rod i, which represents the coordinate space. qi is defined as the angle between two adjacent rods, which represents the joint space.

"9i" "1 0 0 0 0 0" <71

92 1 1 0 0 0 0 12

1110 0 0 73

93 94 11110 0 14

95 111110 15

96 111111 76

Additionally, the directions of 0; and q; are as follows: the clockwise direction is positive and the counter-clockwise direction is negative. Each joint has a motor to control its behaviour, so all the joint angles (0; or q;) can be directly manipulated by motors.

The relationship between the absolute angles and the relative angles can be expressed as:

The assumptions of the robot walking are summarized as follows:

(1) there are alternating phases of single support and impact [32];

(2) during the process of walking, the swing foot is always parallel to the ground;

(3) the contact between the support foot and the ground satisfies the requirement of static friction, that is, throughout the contact, it can be guaranteed that the vertical component of the ground reaction force is positive and that the ratio of the horizontal component to the vertical component does not exceed the coefficient of static friction [33];

(4) the impact phase (the double support phase) duration is infinitesimally short with respect to the step cycle and can be modelled as a rigid contact;

(5) the impact forces only act on the centre of mass of the swing foot;

(6) impact results in no slipping and no rebound of the swing leg, and the stance foot lifts from the ground without interaction;

(7) the external forces during impact can be represented by impulses, and may result in an instantaneous change in the velocities (though there is no instantaneous change in the positions).

2.2 Model of the single support phase

When the model is supported by only one leg, the dynamic model following from the Lagrange equation can be written as:

D(9)9+H(9,9)9 + G(9) = Bu

where 0 = [ 9i 02 03 04 05 06 ] is the state variable of the model, D(0) e l6x6 is the inertia matrix, H(0,0) e l6x6 denotes the centrifugal and Coriolis terms, G(0) e l6 is the gravity term, u(0,0) e l6 is the input torque term, and B e l6x6 is the input matrix.

Eq.2 of the second-order can be written in state-space form

as: d r 0'

x = — 0 = f (x)+ g(x)u (3)

The state space of the model is taken as x := {x = (0T, 0T)T\0 e N, 0 el6 }, where N = (-n, n)6, f( x) and g( x) can be expressed as:

f (x) g(x)

-D-1(9)(H(9,9)9 + G(9)) 0

D-1(9)B

2.3 Model of the impact phase

According to assumption (4) in Section 2.1, the impact phase (the double support phase) duration is sufficiently short relative to the step cycle. This implies that, immediately following the foot contact of the swing leg, the support leg leaves the ground and the roles of the two legs are switched.

The geometric condition for the swing foot to touch the ground is given by:

c(9) = lc + la cos(9i) + la cos(92) - la cos (94) - la cos(95) - lc cos(96)= 0

Figure 1. Model of the seven-link biped robot: (a) joint space, and (b) base coordinate space

Since the roles of the two legs switch following foot contact, the relationship of the angles between just before and after foot contact can be expressed as:

000010 9

000100 9

001000 9

0 10 0 0 0 9

10 0 0 0 0 9

000001 9

J1 L9-

where []+ and [] indicate the states immediately before and after foot contact, respectively. This equation can be written as 9+ = W9-.

The dynamics model of the robot contact process can be expressed as [29, 32]:

De (9e)9e + He( BeU + J (9e )T

'. + Ge (9e ) =

where 6e = [ 6j 62 63 64 65 06 Px Pi ] is the state variable of the model, (p*, pj) is the coordinate of the centre of mass of the support foot, F^ct and Fyxt are the ground reaction forces applied on the swing foot in the X-axis and the Y-axis, respectively, and J(6e) is the Jacobian matrix at the point of force application of the swing foot.

The conservation of angular momentum of the robot around the end of the swing leg during the impact process, in combination with the swing leg neither slipping nor rebounding at impact, yields [34]:

F ext rx F ext

De {9e % 02x1

where:

fïxt = J— Fexxtdt Ff = J— Ffdt

n(8e ) =

De(9e) -¡(9e)T J(9e ) 02X2

The expression for x+ in terms of x can be written as:

=A(x-)

where x+ = (6+T,6+T)T and x" = (6-T,6-T)T are the state vectors of the dynamic model just after and before foot contact, respectively, and:

W9-T9 -

)—1 ) De (9— y I6x6

02x8 02 X 6 _

Finally, the model of robot walking can be given by:

x = f (x) + g(x)u x- / c x+ = A(x-) x- G c

where c represents the geometric condition for the swing foot to touch the ground.

The external forces during impact can be obtained by Eq. 8. The effectiveness of the impact model must be checked at each impact. At each impact, it must guarantee that fyxt > 0 and \ fexxt | < yFf, where p is the coefficient of the static friction. In addition, to ensure the support foot lifts from the ground without interaction, it must be the case that piy+ > 0, where jp!^ is the vertical velocity of the support foot just after contact.

2.4 Model of the CPG

The CPG is widely used in the locomotion control of the legged robot. There are various kinds of CPG models, the most famous of which is the Matsuoka model [35]. However, this model has complex dynamics and many parameters to be selected.

The essence of the CPG can be regarded as a periodic signal generator. To avoid a complex process in adjusting the parameters, we generate the desired joint motions using rhythmic behaviour based on cosine functions. The inter-limb coordination can be established by modulating the phase between the cosine functions. This methodology is similar to the works of Aoi and Morimoto [6, 24], but it is more simple for the design of the control algorithm.

After evolution over hundreds of millions years, humans have obtained optimal motion parameters for locomotion with minimal energy consumption. We use human-like walking behaviour for the desired joint motions. During the process of human walking, the hip joint motion generates the basic walking frequency, and the knee joint motion of the swing leg has a frequency that is twice that of the hip joint, which enables sufficient clearance to prevent the swing leg from scraping the ground [6, 36]. Before the swing contacts the ground, it stretches the knee joint to prepare for foot contact. The knee joint motion of the support leg is too small, and can be regarded as being straight during the single support phase. The phase of the ankle joint of the support leg is opposite that of the hip joints and, according to assumption (2) in Section 2.1, the swing foot should be parallel to the ground during the process of walking.

A phase reset followed by foot contact can improve the stability of the biped robot while walking, which results in a smooth transition from the swing phase to the stance phases [6, 12, 28]. Therefore, the cosine function used in this paper will be phase-reset just after the swing foot contacts the ground.

According to these kinematics characteristics, the desired joint motions can be described as:

q1 = — A1 Kr cos(w(t — tg))

q2 = A2 cos(w(t — tg))

q3 = A3 cos(w(t — tg))

q4 = A4K cos(w(t — tg)) t G [tg, tg+1)

q5 = A5(1 — cos(2«(t — tg )))

q6 = —q1 — q2 — q3 — q4 — qs

where Ai > 0(i=1, 3, 4, 5) denotes the amplitude of the CPG. Since the knee joint of the support leg can be regarded as being straight during the single support phase, we let A2 = 0. Furthermore, tg is the time instant at which the swing foot makes contact with the ground, Kr is the amplitude adjustment factor, w = 2n/T is the base frequency of the locomotion, and T is the gait cycle.

During the process of walking, humans usually maintain balance by modulating the step length and frequency. Therefore, in order to modulate the motion states of the biped robot, an excitation signal is introduced to adjust the activity of the rhythmic motion, which might be termed 'external input'. The adjustment method is described as:

Kr = a T = 1/a

where a represents the external input. The higher the level of the external input, the more active the CPG becomes

(and vice versa). This suggests that the walk frequency and step length are coupled by the external input.

3. The Hybrid CPG-ZMP control algorithm

The hybrid CPG-ZMP control algorithm combines the bio-inspired motion control strategy with an engineering-oriented stability control method, which allows the locomotion of biped robot to tend towards naturalness and high efficiency through real-time stability adjustment. A block diagram of the proposed control algorithm is presented in Figure 2. The control algorithm consists of four main parts: the robot system, the CPG control system, the phase reset system, and the ZMP monitoring and control system.

Parameter Value Parameter Value Parameter Value

la [m] 0.4 mi [kg] 1 ji [kgm2] 0.1

lb [m] 0.4 m2 [kg] 3 j2 [kgm2] 0.2

lc [m] 0.1 тз [kg] 6 j3 [kgm2] 0.4

ld [m] 0.2 m4 [kg] 20 j4 [kgm2] 1.4

Table 1. Physical parameters of the biped robot model

Parameter Value Parameter Value

01(0) [rad] -0.1253 01 (0) [rad/s] 0.5013

02(0) [rad] -0.1253 02 (0) [rad/s] 0.5013

03 (0) [rad] 0 03 (0) [rad/s] 0

04(0) [rad] 0.1253 04 (0) [rad/s] 0

05(0) [rad] 0.1253 05 (0) [rad/s] 0

06 (0) [rad] 0.1253 06 (0) [rad/s] 0

Table 2. Robot initial conditions

Figure 2. Block diagram of the CPG-ZMP control method

The motors manipulate the joints based on a PD feedback control using the desired states. Letting the input torque term «{q, q) = [ «i «2 «3 «4 «5 «6 , the input torque of each motor is given by:

«i = kpi(qides - qi)+ kvi{¿¡ides - qi) i = 1,2,...,6 (16)

where qides and qides are the desired joint angular trajectory and joint angular velocity trajectory, respectively.

To summarize the theoretical and experimental studies on the ZMP over recent decades, the ZMP criterion states that if the ZMP is within the support polygon, then stable dynamic walking is guaranteed. The robot will fall if the ZMP moves towards the edge of the support polygon. Therefore, falling can be predicted by monitoring the location of ZMP within the support polygon. During the single support phase, only one foot is resting on the ground. During the impact phase, both legs are on the ground and the area of the support polygon is larger than that during the single support phase. The ZMP in the X-axis direction can be calculated as (N.B. the moment inertial around the centre of the mass of each link is omitted here):

the ZMP location, which is a percentage of the support polygon [30-31]. The default area is 90% of the size of the support polygon. When the ZMP leaves the safety zone, the ZMP monitor predicts that the robot is on the verge of falling and sends a negative feedback signal to inhibit the CPG system. This reduces the level of external input (a) and lowers the activity of the CPGs. As a result, the velocity and acceleration of each rod of the robot is decreased. According to Eq.17, the ZMP will tend to move towards the stability zone. When the ZMP is returning to the safety zone, the level of external input (a) will attempt to increase to the initial value with a proper step. It helps the robot locomotion to converge on the limit cycle corresponding to the external input and stability zone.

Figure 3. ZMP monitoring and control system

4. Simulation results

L mi(y i + g)xi- L mixiVi

i=i_i=i_

L mi (yi + g)

Figure 3 shows the flowchart of the ZMP monitoring and control system. A stability zone is necessary to monitor

To verify the effectiveness of the hybrid CPG-ZMP control algorithm, simulations were carried out according to Figure 2. To conduct the simulation, we used MATLAB 7.7.0 running on a Dell Inspiron Desktop (Pentium Dual-Core 2.5 GHz). In all the simulations, the robot was required to walk 20 steps. The physical parameters and initial conditions are shown in Table 1 and Table 2, respectively.

^0 Stability zone Feedback on Feedback off

1.1 25% Pass Fail

1 45% Pass Fail

0.9 55% Pass Fail

0.8 90% Pass Pass

0.7 90% Pass Pass

Table 3. Results of Simulation 1

'Pass' means that the robot is able to walk stably for 20 steps. 'Fail' means that, during the walking process, the ZMP cannot always be kept within the support polygon.

To achieve foot clearance and in order to walk forward, the parameters of the CPGs are given as:

Ai = A3 = A4 — 0.1253; A5 =

^min — °.5

where A^ > 0 is the initial value of the hip joint of the swing leg at the beginning of each step.

4.1 Simulation 1

In this simulation, we test the validity of the ZMP monitor with different initial values for the external input control signals. Table 3 shows that, as the external input increases, the size of the safety zone needs to be reduced for the robot to maintain balance. The reason for this is that, the higher that the level of external input is, the more active the CPG becomes. As a result, it becomes easier for the robot to fall. In order to maintain balance, the ZMP monitor has to increase the sensitivity by lowering the size of the safety zone. This helps the monitor to more quickly detect the trend towards a fall for the robot.

The results also show that, for initial values of external input 0.7 and 0.8, the robot is able to walk even without ZMP feedback. This is because the smaller that the external input value is, the less active the CPG becomes. As a result, the velocity and acceleration of each rod of the robot are kept at a low value and the ZMP location is always within the support polygon. When the external input is 0.7 or 0.8, it is small enough to guarantee walking stability. For initial values of external input from 0.9 to 1.1, the robot will fall with the CPG control. However, it can maintain balance when the ZMP monitor is turned on. This indicates that the stability of the robot when walking can be effectively improved by the ZMP monitor. The proposed hybrid CPG-ZMP algorithm extends the range of the parameters of the CPG and simplifies the process of parameter adjustment.

Figure 4 shows the absolute angles of the biped robot for the duration of walking with the ZMP monitor when the initial external input is 1. The figure shows that, at the beginning of each step, the phase of each joint (except for ) is reset based on the foot contact information. In addition, the angle of the ankle joint of the swing leg ( 06) is kept at zero to guarantee the foot parallel to the ground. Figure 5 shows the phase plot of 01, 02, 03 and 04 during the entire process of walking. From the result, it was confirmed that the limit cycle for each joint was stable. Figure 6 shows the level of the external input signal. It indicates that the ZMP monitor modulates the level of the

Figure 4. Joint angles versus time when «0 = 1

external input to adjust the amplitude and frequency of the CPG (see Eq.15) according to the stability margin during the process of locomotion. This means that the robot can adaptively modulate its walking velocity based on the ZMP criterion. Figure 7 shows the ZMP distribution, and Figure 8 shows the stick diagrams of the walking behaviours. The results demonstrate that, during the single support phase, the CPG-ZMP algorithm effectively stops the robot from falling. The location of the ZMP is always within the support polygon (xzmp £ [—0.1,0.1]). During the impact phase, the ZMP may move out of the single support polygon due to an instantaneous change in the velocities, but it never exceeds the boundary of

the double support polygon (xZmp £ [—(step* + 0.1),0.1],

where step! represents the average step length). Figure 9 shows that, without the ZMP monitor, the robot falls.

Figure 5. Phase plot of the joint angles when «0 = 1

Figure 6. External input versus time when «0 = 1 4.2 Simulation 2

In this simulation, we test the sensitivity of the hybrid CPG-ZMP algorithm with different values for the stability zone when «0 = 1. Table 4 shows that the robot

Stability zone Walking time Walking distance Walking velocity

45% 11.5446 [s] 4.1744 [m] 0.3616 [m/s]

35% 13.1009 [s] 3.7177 [m] 0.2838 [m/s]

25% 15.6155 [s] 3.5508 [m] 0.2274 [m/s]

15% 19.3574 [s] 3.0813 [m] 0.1592 [m/s]

Table 4. Results of Simulation 2

walking velocity decreases with a decrease in the area of the stability zone. This is because the sensitivity of the ZMP monitor can be improved by reducing the area of the stability zone. As a result, the activity of the CPG is inhibited, which decreases the velocity of the robot and increases the stability margin. Therefore, when the stability satisfies the ZMP criterion, the walking velocity of the robot can be improved by increasing the area of the stability zone. Figure 10 shows the stick figure of the robot's walking behaviour when stability zone is 25% when «0 = 1. Figure 11 is ZMP distribution, and the result indicates that the ZMP stability margin is improved compared to Figure 7. These results suggest that the robustness of the robot can be enhanced by improving the sensitivity of the ZMP monitor, which is very useful for robot in dealing with disturbances from external pushing forces.

4.3 Simulation 3

In this simulation, we only modulate the amplitude or frequency of the CPG with different initial values for the external input control signals (amplitude modulation: Kr = a, T = 1; frequency modulation: Kr = 1, T = 1/a). Table 5 shows that the stability zone decreases with an increase in the external input. Compared to Simulation 1, the stability zone is smaller in Simulation 3. This is because only modulating the amplitude or frequency reduces the sensitivity of the ZMP monitor. Therefore, the stability zone should be decreased to compensate for the loss of monitor sensitivity. In addition, the results also suggest that the contribution to stability of the amplitude modulation is greater than the frequency modulation. Figure 12 and Figure 13 show the ZMP distributions with frequency modulation and amplitude modulation, respectively. The results indicate that the ZMP will exceed the boundary of the support polygon with frequency modulation when «0 = 0.9. However, amplitude modulation can maintain the ZMP within the support polygon with the same condition. Figure 14 shows the stick figure of the robot's walking behaviour with amplitude modulation.

Figure 7. ZMP distribution when «0 = 1. The red and pink lines represent the boundary of the support polygon for the single support phase, and the red and green lines represent the boundary of the support polygon for the impact phase

Figure 8. Stick figure of the robot's walking behaviour when «0 = 1. The red lines represent the support leg, the blue lines represent the swing leg, and the green lines represent the torso. The sole of the foot is omitted for clarity

Figure 9. Stick figure of the robot's walking behaviour without ZMP feedback when «0 = 1

Figure 10. Stick figure of the robot's walking behaviour when the stability zone is 25% when «0 = 1

Figure 11. ZMP distribution when the stability zone is 25% when

«0 = 1

Figure 12. ZMP distribution with frequency modulation when

«0 = 0.9

4.4 Simulation 4

It is assumed that power regeneration is not available for motors doing negative work, that is, by taking the absolute value of the power. Moreover, the instantaneous output power of the motors used for driving the robot can be estimated as:

Stability zone Amplitude modulation Frequency modulation

1.1 Lacuna Fail Fail

1 Lacuna Fail Fail

0.9 25% Pass Fail

0.8 40% Pass Pass

0.7 40% Pass Pass

Table 5. Results of Simulation 3

'Lacuna' means that the robot cannot find a proper stability zone to maintain balance.

Figure 13. ZMP distribution with amplitude modulation when

«0 = 0.9

Figure 14. Stick figure of the robot's walking behaviour with amplitude modulation when «0 = 0.9

p(t) = zu mm i=1

where Uj (t) represents the output torque of each motor and Cji (t) is the relative angular velocity of each joint.

When the robot is walking, and the stability zone is 45% and the initial value of the external input is 1, the output power can be calculated according to Eq.19, as shown in Figure 15. The figure shows that the impact between the swing foot and the ground causes significant energy loss. As a result, the motors should increase the output power to maintain walking balance.

In order to measure efficiency with different initial values of external input, the specific mechanical cost of transport cmt can be defined as [5]:

Figure 15. Power estimate of the robot when «o = 1

Stability zone Average velocity cmt

1.1 25% 0.2198 [m/s] 0.0969

1 45% 0.3616 [m/s] 0.1537

0.9 55% 0.3493 [m/s] 0.1484

0.8 90% 0.2899 [m/s] 0.1302

0.7 90% 0.2351 [m/s] 0.1039

Table 6. Results of Simulation 4

Jp(t)dt

M • g • S

where M is the mass of the robot, g is the gravity acceleration, S is the walking distance, and is the walking time.

Table 6 shows the energy consumption estimated according to Eq.20 with different initial values for the external input. The result demonstrates that the higher that the walking velocity is, the greater the energy consumption is. Note that the reason for the low velocity with a = 1.1 is that the activity of the CPGs is strongly inhibited by the small area of the stability zone. The energy cost index of the robot ranges from 0.0969 to 0.1537, and it is two or three times greater than that of a human (when the walking velocity is 1.3 m/s, the index is 0.05 for a human [5]). However, the energy cost of the traditional trajectory-tracking method based on the ZMP is several dozen times higher than that of a human (such as for ASIMO, the energy cost index is about 1.6 when the walking velocity is about 0.44 m/s [37]). The results demonstrate that the proposed algorithm can be around an order of magnitude more efficient than walking generated by trajectory-tracking approaches.

5. Discussion

In the present paper, we investigated the possibility of combining a bio-inspired motion control strategy with an engineering-oriented stability control method, and proposed a novel real-time walking pattern generation method based on a hybrid CPG-ZMP control algorithm. According to the method, one does not need motion planning ahead of time. Instead, the trajectory of the robot is generated in real-time through interactions between the robot, the CPG and the environment. A cosine function was used to establish the CPG model, which has a stable limit cycle and can generate rhythmic joint motions. Furthermore, the foot contact information that intermittently occurs during walking was used to modulate the CPG states by using phase resetting, which improved the adaptability of the locomotion [6]. In addition, the ZMP monitor was introduced to modulate the activity of the CPG, which could recover the stability of the robot when it was on the edge of falling and enable the motion to converge on a stable limit cycle.

The results in Simulation 1 suggest that, compared with the single CPG method, the proposed algorithm effectively improves stability and simplifies the process of parameter-adjustment. In addition, the method could modulate the activity of the CPG component according to

the stability margin. As a result, the walking velocity could be improved when the robot had a large ZMP margin and reduced when the ZMP is on the edge of the support polygon. This is similar to human walking.

Compared with the traditional ZMP method, the greatest advantage of the hybrid CPG-ZMP algorithm is that the trajectory can be generated in real-time, which does not require precise models of the robot or the environment. In addition, the gait based on the new method is energy efficient and characteristically natural, according to Simulation 4.

We also studied the influences of the external input and stability zone on the walking of the robot. The area of the stability zone should be reduced if the initial value of the external input increases, which will improve the sensitivity of the ZMP monitor and predict any tendency to fall earlier (as shown in Simulations 1 and 2). Besides, the smaller the area of the stability zone, the more effective the ZMP monitor is in inhibiting the activity of the CPG. Furthermore, this decreases the walking velocity.

A complete walking process consists of three phases: a starting phase, a steady walking phase and an stopping phase. Although our method focuses on the steady walking phase in this study, it can be used for the complete walking process by optimizing the parameters of the CPGs to find smooth transition trajectories for the starting and stopping phases.

For the walking gait of a 3D biped robot, the proposed method can be modified by introducing a lateral movement CPG controller, like Eq.14, and modulated by the ZMP monitor in the lateral plane, which is similar to the work of Morimoto [24].

The coupled model between the step frequency and step length described by Eq.15 provides an easy way to modulate the motion state of the biped robot. However, it only partially reflects the naturalness of human walking. For example, a human can walk with short steps but at a high frequency. This is contradictory to the couple model. Therefore, in our next work, we will try to find a more accurate couple model in order to fully reflect the naturalness of human motion.

Moreover, in this paper, we mainly investigated the possibility of the application of a hybrid CPG-ZMP algorithm to biped robot locomotion control. The walking surface is constrained on flat ground. However, obstacle avoidance during locomotion is important for safe locomotion. In our future work, we will study the possibility of extending the current control algorithm for walking in the presence of obstacles.

6. Conclusion

In this paper, we proposed a novel, real-time walking pattern generation method for a seven-link biped robot by using a hybrid CPG-ZMP algorithm. The CPG component controlled rhythmic motions for the joints of the robot, and was modelled based on a cosine function. Foot contact information was employed to modulate the CPG through

phase resetting. The ZMP monitor was introduced to adjust the posture of the robot to maintain balance in real-time. The walking of the robot was generated from dynamic interactions between the CPG, the robot and the environment. Numerical simulation results showed that the proposed algorithm was able to improve the walking stability of the biped robot. Moreover, its walking pattern was characterized by high energy efficiency and naturalness. These results illustrated the advantages and effectiveness of locomotion control using the hybrid CPG-ZMP algorithm.

7. Acknowledgements

This work was supported by the National Basic Research Programme of China (Grant No. 2011CB013800), the National Natural Science Foundation of China (Grant No. 51275360), Basic Research Project of Shanghai Science and Technology Commission (Grant No. 14JC1405900), "Shu Guang" Project of Shanghai Municipal Education Commission and Shanghai Education Development Foundation (Grant No. 11SG22), and the Scholarship Award for Excellent Doctoral Students, granted by Ministry of Education, China.

8. References

[1] Park H W, Ramezani A, Grizzle J W (2013) A Finite-state Machine for Accommodating Unexpected Large Ground-Height Variations in Bipedal Robot Walking. IEEE Trans. Robot. 29(2): 331-345.

[2] Perrin N, Stasse O, Baudouin L, et al. (2012) Fast Humanoid Robot Collision-free Footstep Planning Using Swept Volume Approximations. IEEE Trans. Robot. 28(2): 427-439.

[3] Vukobratovic M, Borovac B (2004) Zero-moment Point - Thirty-five Years of its Life. Int. J. Hum. Robot. 1(1): 157-173.

[4] Suleiman W, Kanehiro F, Yoshida E et al. (2010) Time Parameterization of Humanoid-robot Paths. IEEE Trans. Robot. 26(3): 458-468.

[5] Collins S, Ruina A, Tedrake R, et al. (2005) Efficient Bipedal Robots Based on Passive-dynamic Walkers. Science. 307(5712): 1082-1085.

[6] Aoi S, Tsuchiya K (2011) Generation of Bipedal Walking Through Interactions among the Robot Dynamics, the Oscillator Dynamics, and the Environment: Stability Characteristics of a Five-link Planar Biped Robot. Auton. Robot. 30(2):123-141.

[7] Vukobratovic M, Frank A A, Juricic D (1970) On the Stability of Biped Locomotion. IEEE Trans. Biomed. Eng. 17(1): 25-36.

[8] Sakagami Y, Watanabe R, Aoyama C, et al. (2002) The Intelligent ASIMO: System Overview and Integration. In: Proc. IEEE Int. Conf. Intell. Robots Syst.; 2002 Sep; Lausanne, Switzerland. IEEE: pp.2478-2483.

[9] Ogura Y, Aikawa H, Shimomura K, et al. (2006) Development of a Humanoid Robot WABIAN-2. In: Proc. IEEE Int. Conf. Robot. Autom.; 2006 May; Orlando, USA. IEEE: pp.76-81.

[10] Kajita S, Kahehiro F, Kaneko K, et al. (2003) Biped Walking Pattern Generation Using Preview Control

of the Zero-moment Point. In: Proc. IEEE Int. Conf. Robot. Autom.; 2009 Sep; Taipei, Taiwan. IEEE: pp.1620-1626.

[11] Nagasaka K, Kuroki Y, Suzuki S, et al. (2004) Integrated Motion Control for Walking, Jumping and Running on a Small Bipedal Entertainment Robot. In: Proc. IEEE Int. Conf. Robot. Autom.; 2004 Apr; New Orleans, USA. IEEE: pp.3189-3194.

[12] Nakanishi J, Morimoto J, Endo G, et al. (2004) Learning From Demonstration and Adaptation of Biped Locomotion. Robot. Auton. Syst. 47: 79-91.

[13] Ferreira J P, Crisostomo M, Coimbra A P (2009) Human Gait Acquisition and Characterization. IEEE Trans. Instrum. Meas. 58(9): 2979-2988.

[14] Erbatur K, Kurt O (2009) Natural ZMP Trajectories for Biped Robot Reference Generation. IEEE Trans. Ind. Electron. 56(3): 835-845.

[15] Ferreira J P, Crisostomo M, Coimbra A P (2012) SVR Controller for a Biped Robot in the Sagittal Plane with Human-based ZMP Trajectory Reference and Gait. Int. J. Hum. Robot. 9(3):1250018.

[16] Ijspeert A J (2008) Central Pattern Generators for Locomotion in Animals and Robots: A Review. Neural Netw. 21(4): 642-653.

[17] Miyake Y (2009) Interpersonal Synchronization of Body Motion and the Walk-Mate Walking Support Robot. IEEE Trans. Robot. 25(3): 638-644.

[18] Hägglund M, Borgius L, Dougherty K J, et al. (2010) Activation of Groups of Excitatory Neurons in the Mammalian Spinal Cord or Hindbrain Evokes Locomotion. Nat. Neurosci. 13(2): 246-252.

[19] Harris-Warrick R M (2011) Neuromodulation and Flexibility in Central Pattern Generator Networks. Curr. Opin. Neurobiol. 21(5): 685-692.

[20] Taga G (1995) A Model of the Neuro-musculo-skeletal System for Human Locomotion. I. Emergence of Basic Gait. Biol. Cybern. 73(2): 97-111.

[21] Taga G (1995) A Model of the Neuro-musculo-skeletal System for Human Locomotion. II. Real-Time Adaptability under Various Constraints. Biol. Cybern. 73(2): 113-121.

[22] Morimoto J, Endo G, Nakanishi J, et al. (2008) A Biologically Inspired Biped Locomotion Strategy for Humanoid Robots: Modulation of Sinusoidal Patterns by a Coupled Oscillator Model. IEEE Trans. Robot. 24(1): 185-191.

[23] Heliot R, Espiau B (2008) Multisensor Input for CPG-based Sensory-Motor Coordination. IEEE Trans. Robot. 24(1):191-195.

[24] Morimoto J, Endo G, Nakanishi J, et al. (2006) Modulation of simple sinusoidal patterns by a coupled oscillator model for biped walking. In: Proc. IEEE. Int.

Conf. Robot. Autom.; 2006 May; Orlando, USA. IEEE: pp.1957-1584.

[25] Nassour J, Henaff P, Ouezdou F B, et al. (2010) A study of adaptive locomotive behaviors of a biped robot: Patterns generation and classification. In: Proc. 11th Int. Conf. Simul. Adapt. Behavior: Animals Animats; 2010 Aug; Paris, France. Springer: pp.313-324.

[26] Manoonpong P, Geng T, Kulvicius T, et al. (2007) Adaptive, fast walking in a biped robot under neuronal control and learning. PLoS Comput. Biol. 3(7): 1305-1320.

[27] He B, Lu Q, Wang Z (2014) Coupling effect analysis between the central nervous system and the CPG network with proprioception. Robotica. doi:10.1017/S0263574714000708

[28] Endo G, Morimoto J, Matsubara T, et al. (2008) Learning CPG-based Biped Locomotion with a Policy Gradient Method: Application to a Humanoid Robot. Int. J. Robot. Res. 27(2): 213-228.

[29] Fu C, Tan F, Chen K (2010) A simple walking strategy for biped walking based on an intermittent sinusoidal oscillator. Robotica, 28(6): 869-884.

[30] Or J, Takanishi J (2004) A biologically inspired CPG-ZMP control system for the real time balance of a single-legged belly dancing robot. In: Proc. IEEE Int. Conf. Intell. Robots Syst.; 2004 Sep; Sendai, Japan. IEEE: pp.931-936.

[31] Or J (2010) A Hybrid CPG-ZMP Control System for Stable Walking of a Simulated Flexible Spine Humanoid Robot. Neural Netw. 23(3): 452-460.

[32] Grizzle J W, Abba G, Plestan F (2001) Asymptotically Stable Walking for Biped Robots: Analysis via Systems with Impulse Effects. IEEE Trans. Autom. Control. 46(1): 51-64.

[33] Westervelt E R, Grizzle J W, Chevallereau C, et al. (2007) Feedback Control of Dynamic Bipedal Robot Locomotion. Boca Raton FL: CRC Press.

[34] Chevallereau C, Grizzle J W, Shih C L (2009) Asymptotically Stable Walking of a Five-Link Underactuated 3-D Bipedal Robot. IEEE Trans. Robot. 25(1): 37-50.

[35] Matsuoka K (1985) Sustained Oscillations Generated by Mutually Inhibiting Neurons with Adaptation. Biol. Cybern. 52(6): 367-376.

[36] Winter D A, (2009) Biomechanics and Motor Control of Human Movement. Hoboken, NJ: John Wiley & Sons.

[37] Collins S and Ruina A (2005) A Bipedal Walking Robot with Efficient and Human-like Gait. In: Proc. IEEE Int. Conf. Robot. Autom.; 2005, Apr; Barcelona, Spain. IEEE: pp.1983-1988.