**3. Piecewise linear function based oscillator**

The control strategy here is based on piecewise linear oscillators and inspired by the solution of the Van der Pol system in Figure 4b, and with few parameters that can be easily obtained. Moreover, the motivation is to provide much flexibility to the design of the motion pattern generator so that modulation of the output by other circuits such as circuits generating reflexes can be realized without complexity or re-design of the motion pattern generator (Zaier and Kanda, 2007). The method requires not to satisfy constraints on robot's foot or ZMP stability margin, it simply uses piecewise-linear functions and a first order lowpass filter generated by an original recurrent neural network (RNN), where the "integrate and fire" neuron model (Gerstner, 1995) has been used. Indeed, the piecewise linear control is much easier to analyze than the control based directly on non-linear equations. Moreover, this type of control provides much intuition about the system behavior. Also, our method for generating walking motion, although inspired by the inverted pendulum, it considers not strictly the system dynamics. The stability of the system is assured by a gyro feedback loop, while terrain irregularities are compensated by adjusting the pitching motion using a virtual spring-damper systems. The proposed method is straightforward with respect to

Design of Oscillatory Neural Network for Locomotion Control of Humanoid Robots 47

( ) *dx Dx Tg x S dt*

where *x*∈*Rn* is the neurons' outputs vector, *y*∈*Rm* depicts the motors' commands vector, *D* is an *n*x*n* diagonal matrix with strictly positive real numbers, *T* is an *n*x*n* neurons' interconnection matrix, *g*(*x*): *RnRn* is the nonlinear vector activation function, *C* is an *m*x*n* output matrix, *v*∈*Rm* is a sensory input vector, and *S* is an *n*x*m* matrix. Note that the right side of equation (11) can be considered as decomposition into linear part "*Sv"* and a nonlinear one "*Tg*(x)". To investigate the stability of equation (11), we consider the behavior of a linearized model of system at the equilibrium points with *Tg*(x)=0. Indeed, a motion can be described topologically as a homotopy mapping at each equilibrium point as well as switching, or jump mapping between these points (Forti, 1996). In this research framework we consider locomotion control of a humanoid robot simplified as an inverted pendulum when standing on one leg. Notice that, while the inverted pendulum model considerably simplifies the control of the humanoid robot, the inertia effect of distributed masses such as

The proposed control strategy is illustrated in figures 5 and 6, where the neural network modeled by equation (11) has to control the humanoid robot locomotion as a continuous

> *Axis passing by COM Axis passing by equilibrium points x\**

> > *switching*

*l l* 

**at** *tk* **at** *tk***+1**

*u* 

*-r r* 


1

*COM COM* 

*mg* 

*y* 

(11)

To control the robot locomotion, we consider the general form of neural network as;

*y Cx*

the arms presents a limitation to that approach.

*mg* 

α

Fig. 6. Relay with hysteresis property.

Fig. 5. System state switching between equilibrium points

*θ*

**3.2 Problem formulation** 

**3.1 Motivation** 

three design parameters namely, the slope of the piecewise function, the time delay of the neuron, and the rolling amplitude of the hip and ankle joints. In this section, we investigate the stability of the system simplified as an inverted pendulum, the robustness of the locomotion controller against terrain irregularities.

Fig. 4. Van der Pol States over Time (left) and Phase Plot (right) with the (a) µ=2.5, (b) µ=1.0, (c) µ= -1.0, (d) µ= -0.25, and (e) µ= 0.0.

#### **3.1 Motivation**

46 The Future of Humanoid Robots – Research and Applications

three design parameters namely, the slope of the piecewise function, the time delay of the neuron, and the rolling amplitude of the hip and ankle joints. In this section, we investigate the stability of the system simplified as an inverted pendulum, the robustness of the

Fig. 4. Van der Pol States over Time (left) and Phase Plot (right) with the (a) µ=2.5, (b) µ=1.0,

(c) µ= -1.0, (d) µ= -0.25, and (e) µ= 0.0.

locomotion controller against terrain irregularities.

To control the robot locomotion, we consider the general form of neural network as;

$$\begin{aligned} \frac{d\mathbf{x}}{dt} &= -D\mathbf{x} + T\mathbf{g}(\mathbf{x}) + \mathbf{S}\boldsymbol{\nu} \\ \mathbf{y} &= \mathbf{C}\mathbf{x} \end{aligned} \tag{11}$$

where *x*∈*Rn* is the neurons' outputs vector, *y*∈*Rm* depicts the motors' commands vector, *D* is an *n*x*n* diagonal matrix with strictly positive real numbers, *T* is an *n*x*n* neurons' interconnection matrix, *g*(*x*): *RnRn* is the nonlinear vector activation function, *C* is an *m*x*n* output matrix, *v*∈*Rm* is a sensory input vector, and *S* is an *n*x*m* matrix. Note that the right side of equation (11) can be considered as decomposition into linear part "*Sv"* and a nonlinear one "*Tg*(x)". To investigate the stability of equation (11), we consider the behavior of a linearized model of system at the equilibrium points with *Tg*(x)=0. Indeed, a motion can be described topologically as a homotopy mapping at each equilibrium point as well as switching, or jump mapping between these points (Forti, 1996). In this research framework we consider locomotion control of a humanoid robot simplified as an inverted pendulum when standing on one leg. Notice that, while the inverted pendulum model considerably simplifies the control of the humanoid robot, the inertia effect of distributed masses such as the arms presents a limitation to that approach.

#### **3.2 Problem formulation**

The proposed control strategy is illustrated in figures 5 and 6, where the neural network modeled by equation (11) has to control the humanoid robot locomotion as a continuous

Fig. 5. System state switching between equilibrium points

Fig. 6. Relay with hysteresis property.

Design of Oscillatory Neural Network for Locomotion Control of Humanoid Robots 49

Hence we can write *αs* =*D*/*L* in [rad], where *D* is the lateral component of the distance between the COM and the hip joint. On the other hand, to control the inverted pendulum as

() () () *uu u*

where *ug*(*α*) is the gyro feedback signal stabilizing the inverted pendulum around *α=αs*, and

*if y t r*

where *t-* is the time just before commutation. Notice that the switching law of equation (16) depends not only on the output *y*(*t*) but also on the switching time constant *τ*. In our design we choose a fixed switching time, which reduces the impact map to a linear one as detailed

> *x Ax Bu y Cx*

 )T, *A* and *B* are matrices with compatible dimensions, and *C*=[*r* 0]. Let's further illustrate the stability of the control system by considering the phase space diagram in figure 8, where the *x*1-axis represents the lateral component of the COM position, and which divides the phase space into two regions *S*0 and *S*1. The axis *x*2 represents the velocity. The state space trajectory in each region is defined by a different linear differential equation according to the state of relay feedback of equation (16). It will be possible to define Poincare sections where the switching takes place. The origin "O" corresponds to the state of the robot at the double support phase. The motion starts by switching the state of the robot to section *M*0, i.e., standing on the left leg (figure 5). The periodic motion is defined as a continuous switching of state between *M*0 and *M*1, in other words, the state that starts from section *M*0 at *xk* reaches section *M*1 at *xk*+1 following a trajectory described by the linear differential equation defined for region *S*1. It can be shown that the system of equation (17) with the feedback control of equation (16) can produce limit cycles (Goncalves et al., 2000). The stability analysis of the system can be conducted by considering the manifolds of its

 

{ 1,1} ( )

*if t k and if y t r* 

1 ()

 

(15)

(17)

*sw x A Bu* , with <sup>1</sup> *usw* (18)

(19)

(16)

 *g sw* 

illustrated in figures 1 and 2, we propose the control input as follows;

*usw*(*α*) is a relay type feedback signal with a hysteresis property defined by;

() 1 ( )

The control system of equation (15) can be written in the state space form as;

\* 1

With the feedback signal of equation (15), the trajectories of the system will follow the invariant manifolds of only two equilibrium points of equation (17). To investigate the stability of equation (13) for *α* close to *αs*, reconsider the system in the absence of control input. Then, at each equilibrium point the system will have the same eigenvalues as follows;

> 1,2

2

*u y t if y t r*

*sw*

in (Goncalves et al., 2000).

 

equilibrium points *x*\* as follows

where *x*= (

Fig. 7. Lateral component of the *COM*

commutation between the two equilibrium points defined at single support phases. Then, using the output of the switched system, we decide the rolling motion profile. The stability of the equilibrium points during locomotion is maintained using gyro feedback, while the pitching motion is adjusted by virtual dumper-spring system. To begin with, we investigate the stability of the robot simplified as an inverted pendulum when standing at one leg that can be expressed by;

$$\frac{d^2\theta}{dt^2} + 2\xi \frac{d\theta}{dt} - \mu \theta = \mu(\theta) \tag{12}$$

where *θ*∈*R* is the counterclockwise angle of the inverted pendulum from the vertical, *ζ*∈*R* is damping ratio, *μ=g/l*∈*R,* and *u* ∈*R* is the control input to the system. Let *θ* = *α–αs*, where *α* is the angular position of the hip joint and *αs* is its value when the projected center of mass (COM) is inside the support polygon. Then, equation (12) can be rewritten as follows;

Fig. 8. Phase space and Poincare map.

$$\frac{d^2\alpha}{dt^2} + 2\zeta \frac{d\alpha}{dt} - \mu \alpha = u(\alpha) \tag{13}$$

Moreover, according to figure 7, the relationship between *α* and the COM is ( ) sin ( ) *L s xt L t* . Since *αs* is very small (practically it is between *–*0.14 and 0.14rad), the relationship can be approximated as;

$$
\alpha\_L(t) = L\alpha\_s(t) \tag{14}
$$

48 The Future of Humanoid Robots – Research and Applications

*D D*

*COM* 

*-xL* 0 *xL*

commutation between the two equilibrium points defined at single support phases. Then, using the output of the switched system, we decide the rolling motion profile. The stability of the equilibrium points during locomotion is maintained using gyro feedback, while the pitching motion is adjusted by virtual dumper-spring system. To begin with, we investigate the stability of the robot simplified as an inverted pendulum when standing at one leg that

<sup>2</sup> 2 () *d d*

where *θ*∈*R* is the counterclockwise angle of the inverted pendulum from the vertical, *ζ*∈*R* is damping ratio, *μ=g/l*∈*R,* and *u* ∈*R* is the control input to the system. Let *θ* = *α–αs*, where *α* is the angular position of the hip joint and *αs* is its value when the projected center of mass (COM) is inside the support polygon. Then, equation (12) can be rewritten as follows;

*x2* 

O

<sup>2</sup> 2 ( ) *d d*

Moreover, according to figure 7, the relationship between *α* and the COM is

() () *L s xt L t* 

 

 

M0 M1

*x xk*+1 *<sup>k</sup>*+2

M

),( <sup>12</sup> *txf <sup>k</sup>*

*dt dt* 

2

 

 

*u*

 

Equilibrium point (at standing pose)

*u*

. Since *αs* is very small (practically it is between *–*0.14 and 0.14rad), the

 

),( <sup>1</sup> *txf <sup>k</sup>*

(12)

*x1* 

**S1** 

(13)

(14)

*x* 

*L* α*s*

2

*xk* 

Fig. 8. Phase space and Poincare map.

relationship can be approximated as;

( ) sin ( ) *L s xt L t* 

**S0** 

*dt dt* 

Fig. 7. Lateral component of the *COM*

can be expressed by;

Hence we can write *αs* =*D*/*L* in [rad], where *D* is the lateral component of the distance between the COM and the hip joint. On the other hand, to control the inverted pendulum as illustrated in figures 1 and 2, we propose the control input as follows;

$$
\mu(\alpha) = \mu\_{\mathcal{g}}(\alpha) + \mu\_{sw}(\alpha) \tag{15}
$$

where *ug*(*α*) is the gyro feedback signal stabilizing the inverted pendulum around *α=αs*, and *usw*(*α*) is a relay type feedback signal with a hysteresis property defined by;

$$u\_{sw}\left(y(t)\right) = \begin{cases} +1 & \text{if } y(t^-) > -r\\ -1 & \text{if } y(t^-) < r\\ \{-1, 1\} & \text{if } \quad t = k\pi \text{ and } \text{if } y(t) = \pm r \end{cases} \tag{16}$$

where *t-* is the time just before commutation. Notice that the switching law of equation (16) depends not only on the output *y*(*t*) but also on the switching time constant *τ*. In our design we choose a fixed switching time, which reduces the impact map to a linear one as detailed in (Goncalves et al., 2000).

The control system of equation (15) can be written in the state space form as;

$$\begin{cases} \dot{\mathbf{x}} = A\mathbf{x} + Bu\\ y = \mathbf{C}\mathbf{x} \end{cases} \tag{17}$$

where *x*= ( )T, *A* and *B* are matrices with compatible dimensions, and *C*=[*r* 0].

Let's further illustrate the stability of the control system by considering the phase space diagram in figure 8, where the *x*1-axis represents the lateral component of the COM position, and which divides the phase space into two regions *S*0 and *S*1. The axis *x*2 represents the velocity. The state space trajectory in each region is defined by a different linear differential equation according to the state of relay feedback of equation (16). It will be possible to define Poincare sections where the switching takes place. The origin "O" corresponds to the state of the robot at the double support phase. The motion starts by switching the state of the robot to section *M*0, i.e., standing on the left leg (figure 5). The periodic motion is defined as a continuous switching of state between *M*0 and *M*1, in other words, the state that starts from section *M*0 at *xk* reaches section *M*1 at *xk*+1 following a trajectory described by the linear differential equation defined for region *S*1. It can be shown that the system of equation (17) with the feedback control of equation (16) can produce limit cycles (Goncalves et al., 2000). The stability analysis of the system can be conducted by considering the manifolds of its equilibrium points *x*\* as follows

> \* 1 *sw x A Bu* , with <sup>1</sup> *usw* (18)

With the feedback signal of equation (15), the trajectories of the system will follow the invariant manifolds of only two equilibrium points of equation (17). To investigate the stability of equation (13) for *α* close to *αs*, reconsider the system in the absence of control input. Then, at each equilibrium point the system will have the same eigenvalues as follows;

$$
\mathcal{A}\_{1,2} = -\zeta \pm \sqrt{\zeta^2 + \mu} \tag{19}
$$

Design of Oscillatory Neural Network for Locomotion Control of Humanoid Robots 51

M1

Switch to other equilibrium point


and

2 2

*x Px i*

<sup>2</sup> ), and instead of (27) we will have the following

(1, ) (1, ( )), 1, 2, 3, *i i*

*t* [rad]

0.995

0 ' 2 2 ( )*i iT Px xe*

1 2

 

and

It is clear from equations (27) and (28) that for any *u*g(*α*) with given parameters *k*1 and *k*<sup>2</sup> stabilizing the system at the switching point, the Poincare map of equation (26) is a contracting one. Moreover, it can be noticed that when there is no switching, the state trajectory obviously will converge to one of the equilibrium points of equation (18). Moreover, if the switching occurs outside the attraction region of equation (18), the robot will have an unstable walking behavior and will fall down after few steps. Therefore, the choice of the switching time is crucial for the stability of the system. In this paper we approximate the angular position solution of equation (25) for *γt*∈[0,π/2] (during the commutation from *M*0 to *M*1) as a piecewise linear function modulated by a decaying exponential instead of sine function modulated by a decaying exponential as will be

 

*k k* ( ) , the eigenvalues of equation (13) become pure negative real

' ' , *ζ'* and *μ'* are parameters of the inverted pendulum with the feedback

(26)

1 2 

(27)

the state trajectory may take when the robot is

(29)

(28)

00 0

0 2 2 12 1 2

 

() ( ) *i i <sup>x</sup> T T P x e e* 

 0.5 / 

controller as defined in equation (21). Due to the symmetry between the left and right sides

commutating from one leg to another is such that *γτ* =*π/2* and we will have;

*M M*

:


M0

0

*x*1 position


Fig. 9. Plot of *x*1 position for 0 *V* 2.326, ' 0.1

1 2

 

explained later on. The smallest time

where <sup>2</sup> 

Also, when <sup>2</sup>

<sup>1</sup> and 

where

numbers (

1

Since ζ<<μ, the equilibrium points of equation (18) are saddle ones. To generate periodic movement as explained in figure 5 using equation (16), we first stabilize the equilibrium points by a feedback control *ug*(*α*) = *k1α* + *2k2d*(*α*)/*dt* using the angular velocity of the inverted pendulum measured by the gyro sensor. Therefore, combining equations (13) and (16) we can get;

$$\frac{d^2\alpha}{dt^2} + \mathcal{Q}(\xi + k\_2)\frac{d\alpha}{dt} + (k\_1 - \mu)\alpha = \mu\_{sw}(\alpha) \tag{20}$$

which can be rewrite as

$$\frac{d^2\alpha(t)}{dt^2} + 2\zeta'\frac{d\alpha(t)}{dt} + \mu'\alpha(t) = \mu\_{sw}(\alpha) \tag{21}$$

where <sup>2</sup> ' *k* , and ' *k*<sup>1</sup> . The equilibrium points becomes stable if <sup>2</sup> *k* and *k*<sup>1</sup> . Besides, if the feedback controller's parameters satisfy the following inequalities:

$$k\_2 > -\zeta \text{ and } k\_1 > \mu + (\zeta + k\_2)^2 \tag{22}$$

then the eigenvalues will be complex conjugate with a negative real part. Now, consider the trajectories in both regions *S*0 and *S*1 defined by 1)( *sw u* , which are governed by the invariant manifolds of stable virtual equilibrium points. The state space trajectory will follow the invariant manifold of a stable equilibrium point but a switching will occurs before reaching this point, then the trajectory will be governed by the invariant manifold of the other stable virtual equilibrium point and so on. This consecutive switching will result in a limit cycle in the phase space. Without loss of generality we assume that the time origin is when the state space is at *M*0. The trajectory of the state space of system is given by

$$\mathbf{x}(t) = \begin{bmatrix} e^{-\boldsymbol{\xi}^\* t} (\mathbf{c}\_1 \cos \boldsymbol{\gamma} t + \mathbf{c}\_2 \sin \boldsymbol{\gamma} t) + \boldsymbol{u}\_{sw}(\mathbf{x}\_1) \\ e^{-\boldsymbol{\xi}^\* t} \left[ (\boldsymbol{\gamma} \mathbf{c}\_2 - \boldsymbol{\xi}^\* \mathbf{c}\_1) \cos \boldsymbol{\gamma} t + (-\boldsymbol{\gamma} \mathbf{c}\_1 - \boldsymbol{\xi}^\* \mathbf{c}\_2) \sin \boldsymbol{\gamma} t \right] \end{bmatrix} \tag{23}$$

where <sup>2</sup> ' ' and the constants *c*1 and *c*2 depend on the initial conditions x(0)=(-1,*V*0). The switching sections are defined by,

$$M\_0 = \{ \mathbf{x} \mid \mathbf{x} = (-1, 0) \} \quad M\_1 = \{ \mathbf{x} \mid \mathbf{x} = (1, 0) \} \tag{24}$$

and equation (23) can be re-written as follows,

$$\mathbf{x}(t) = \begin{cases} \frac{V\_0}{\mathcal{Y}} e^{-\boldsymbol{\varepsilon}^\* t} \sin \boldsymbol{\gamma} t + \boldsymbol{u}\_{\rm sw}(\mathbf{x}\_1) \\\\ e^{-\boldsymbol{\varepsilon}^\* t} (V\_0 \cos \boldsymbol{\gamma} t - \boldsymbol{\varphi}^\* \frac{V\_0}{\mathcal{Y}} \sin \boldsymbol{\gamma} t) \end{cases} \tag{25}$$

where the position *x*1(*t*) for *t* [0, /2] is shown in figure 9. Let *T* be the period of time the state space required to return to the same section *M*0, the behavior of a point of the state trajectory at *M*0 with initial velocity <sup>0</sup> 2 0 *x V* hits the same section according to the Poincare map given by,

Fig. 9. Plot of *x*1 position for 0 *V* 2.326, ' 0.1 and 0.995

$$\begin{aligned} \Pi\_0: M\_0 &\to M\_0\\ (\mathbf{1}, \mathbf{x}\_2^i) &\to (\mathbf{1}, P(\mathbf{x}\_2^i)), i = \mathbf{1}, \mathbf{2}, \mathbf{3}, \dots \end{aligned} \tag{26}$$

where

50 The Future of Humanoid Robots – Research and Applications

Since ζ<<μ, the equilibrium points of equation (18) are saddle ones. To generate periodic movement as explained in figure 5 using equation (16), we first stabilize the equilibrium points by a feedback control *ug*(*α*) = *k1α* + *2k2d*(*α*)/*dt* using the angular velocity of the inverted pendulum measured by the gyro sensor. Therefore, combining equations (13) and

> <sup>2</sup> 2 1 2( ) ( ) ( ) *sw d d kk u*

() () 2 ' ' () ( ) *sw d t dt t u*

. Besides, if the feedback controller's parameters satisfy the following inequalities:

then the eigenvalues will be complex conjugate with a negative real part. Now, consider the

invariant manifolds of stable virtual equilibrium points. The state space trajectory will follow the invariant manifold of a stable equilibrium point but a switching will occurs before reaching this point, then the trajectory will be governed by the invariant manifold of the other stable virtual equilibrium point and so on. This consecutive switching will result in a limit cycle in the phase space. Without loss of generality we assume that the time origin is

12 1

( cos sin ) ( ) ( ) ( ' )cos ( ' )sin

*e c tc t u x*

when the state space is at *M*0. The trajectory of the state space of system is given by

0 '

*t*

'

 *t* [0, /2] 

*t*

 and <sup>2</sup> 1 2 *k k* 

 

 

. The equilibrium points becomes stable if

*sw*

*M xx* <sup>0</sup> | ( 1,0 *M xx* <sup>1</sup> | (1,0) (24)

 

is shown in figure 9. Let *T* be the period of time the

2 0 *x V* hits the same section according to the Poincare

1

 

' ' and the constants *c*1 and *c*2 depend on the initial conditions x(0)=(-1,*V*0).

21 12

*e cc t cc t*

 

 0 0

state space required to return to the same section *M*0, the behavior of a point of the state

 

*<sup>V</sup> eV t t*

*<sup>V</sup> e tu x*

sin ( )

*sw*

( cos ' sin )

  (20)

(21)

(23)

(25)

( ) (22)

1)( *sw u* , which are governed by the

 

<sup>2</sup> *k* and

 

 

2

2 2

' *k*<sup>1</sup>

trajectories in both regions *S*0 and *S*1 defined by

*x t*

and equation (23) can be re-written as follows,

The switching sections are defined by,

*dt dt*

*dt dt*

<sup>2</sup> *k* 

'

 

*t*

'

( )

*x t*

*t*

 (16) we can get;

where <sup>2</sup> ' *k* , and

where <sup>2</sup> 

where the position *x*1(*t*) for

map given by,

trajectory at *M*0 with initial velocity <sup>0</sup>

*k*<sup>1</sup> 

which can be rewrite as

$$P(\mathbf{x}\_2^i) = \mathbf{x}\_2^0 e^{-i\boldsymbol{\xi}^\prime T} \tag{27}$$

Also, when <sup>2</sup> 1 2 *k k* ( ) , the eigenvalues of equation (13) become pure negative real numbers ( <sup>1</sup> and <sup>2</sup> ), and instead of (27) we will have the following

$$P(\mathbf{x}\_2^i) = \frac{\mathbf{x}\_2^0}{\lambda\_1 - \lambda\_2} (\lambda\_1 e^{\lambda\_1 T} - \lambda\_2 e^{\lambda\_2 T})^i \text{ and } \lambda\_1 \neq \lambda\_2 \tag{28}$$

It is clear from equations (27) and (28) that for any *u*g(*α*) with given parameters *k*1 and *k*<sup>2</sup> stabilizing the system at the switching point, the Poincare map of equation (26) is a contracting one. Moreover, it can be noticed that when there is no switching, the state trajectory obviously will converge to one of the equilibrium points of equation (18). Moreover, if the switching occurs outside the attraction region of equation (18), the robot will have an unstable walking behavior and will fall down after few steps. Therefore, the choice of the switching time is crucial for the stability of the system. In this paper we approximate the angular position solution of equation (25) for *γt*∈[0,π/2] (during the commutation from *M*0 to *M*1) as a piecewise linear function modulated by a decaying exponential instead of sine function modulated by a decaying exponential as will be explained later on. The smallest time the state trajectory may take when the robot is commutating from one leg to another is such that *γτ* =*π/2* and we will have;

$$
\pi = 0.5\pi \neq \gamma \tag{29}
$$

where <sup>2</sup> ' ' , *ζ'* and *μ'* are parameters of the inverted pendulum with the feedback controller as defined in equation (21). Due to the symmetry between the left and right sides

Design of Oscillatory Neural Network for Locomotion Control of Humanoid Robots 53

Using equation (32), the trajectory in figure 9 for *γt*∈[0,*π*/2] can be approximated

( ) ( ) [ ( ,2 ) 2 ( ( ) , )

2 ( ( ) , )) ( ,2 )],

*ut n f T ut*

*<sup>d</sup> <sup>t</sup> t ut ut n f T dt*

 

*r rf r*

where *tr0*, *tf* are the times at the start and the end of the rolling motion, respectivel. *n* is number of walking steps. *f*1 and *f*2 are the relative times with respect to the gait. Let

*tr1* is the first switching time at the single support phase, then we can write *Tpf <sup>r</sup>* /)/1( <sup>1</sup>

*am hm fb*

*fb* is the PD controller's output stabilizing the system of equation (17).

<sup>2</sup> 1 2 0.5 2 () *sw dd d kk u dt dt dt*

where we choose an arbitrary high gain controller satisfying equation (22) with *k*1 = 32 and *k*2 = 0.9, and does not trigger mechanical resonance. We consider the rolling profile equation (34) with *ε* = 0.15, and *α<sup>s</sup>* =6 deg. The phase portrait of the output signal is shown in figure 13, where case (a) is for non perturbed system, while case (b) is in the presence of perturbation. This result shows that the state trajectory is bounded, and therefore it is stable.

> Lifting of right knee joint

*t***r0** *tl***<sup>0</sup>** *t***r1** *tl***<sup>2</sup>** *<sup>T</sup> tl***<sup>1</sup>**

Time (s)

 

 

 

 

Consider the inverted pendulum with the control law of equation (20) as follows;

Rolling motion

0 2

*ttu* , with *α*(0)= -1 and *ε*=*ζ*'. Therefore, the rolling motion can be

0 01

*sr r r r*

 

be the time duration when the robot stays at the maximum rolling, where

 *am* and *t*)( *<sup>r</sup>* 

*t tt t* (35)

 

Lifting of left knee joint

*hm* to be sent respectively to the

(34)

(36)

as ( ) ( ) 2( (0, ) 1 *<sup>r</sup>*

 

 

*rT* )/(12 . The commands *t*)( *<sup>r</sup>*

() () () () *rr r*

2

hip and ankle joints are given by,

 *rrr ttp* <sup>01</sup> /1

and <sup>2</sup> *ff* <sup>1</sup>

where *t*)( *<sup>r</sup>* 

**Numerical Example** 

Angular position *θ*

0

*αs* 

( , ) <sup>0</sup> *ll tu* 

),( <sup>0</sup> *rrtu* 

Fig. 11. Rolling motion pattern and design parameters

expressed as,

of the robot, the walking cycle time is assumed to be 2*τ*. Moreover, for given commutation duration *τ* calculated by equation (29) with the feedback controller parameters in equation (22), the initial linear velocity can be expressed from equation (25) by;

$$V\_0 = 2\gamma e^{\nu \varepsilon^\circ/\gamma} \text{ / } \sin(\gamma \tau) \tag{30}$$

Fig. 10. Hip position command

#### **3.3 Approximate solution of rolling**

According to equation (25), the position command to the hip is shown in figure 10, and the control law at switching times can be expressed as;

$$\begin{cases} \theta(t^{-}) = (-1)^{i+1} \theta\_{\text{max}}, & d\theta \Big/ dt \Big|\_{t=t^{-}} = 0 \\ \theta(t^{+}) = (-1)^{i+1} \theta\_{\text{max}}, & d\theta \Big/ dt \Big|\_{t=t^{+}} = (-1)^{i} \alpha \quad i = 1,2,3\dots \end{cases} \tag{31}$$

where *i* is the number of half walking cycle *τ*, the *t-* and *t+* are the times just before and after commutation, respectively. For *it* the state trajectory will follow the desired limit cycle as described in figure 9, where the stability of the equilibrium points is guaranteed by the gyro feedback added to the system. Since the position command to the hip is the same as that to the ankle joint with opposed sign, the robot upper body orientation in the absence of disturbance remains unchanged, in other words the angular velocity around the rolling axis during locomotion is zero. Notice that the control law described by equation (31) is explicit of time. Instead, the state commutation can be constrained by angular velocity *dtd* 0/ , and the control law becomes independent of the cycle time as a pure feedback law. However, the condition of having a fixed commutation time (Goncalves et al., 2000) will be no longer satisfied. For the sake of reducing the computing cost and ease the implementation of the controller, instead of considering the exact solution of the state trajectory of equation (25), we propose an approximate solution *α*(*t*) as shown in figures 11 and 12, using a unit piecewise linear function as follows;

$$u(t\_i, o\_i) = o\_i(t - t\_i) \left[ u\_s(t - t\_i) - u\_s(t - t\_i - 1 \mid o\_i) \right] + u\_s(t - t\_i - 1 \mid o\_i) \tag{32}$$

where *us*(.) is the unit step function, *ω*i >0 is the slope of the function *u*(.) between *t*i and (*t*i+1/*ω*i). The approximate solution *α*(*t*) can be formulated, therefore, as a function of time delay *ε*, joint angular velocity *ω*, walking period *T*, and the rolling amplitude *αs*.

$$\alpha = f(\varepsilon, \alpha, \Gamma, \alpha\_s) \tag{33}$$

Using equation (32), the trajectory in figure 9 for *γt*∈[0,*π*/2] can be approximated as ( ) ( ) 2( (0, ) 1 *<sup>r</sup> ttu* , with *α*(0)= -1 and *ε*=*ζ*'. Therefore, the rolling motion can be expressed as,

$$\begin{aligned} \varepsilon \frac{d\alpha(t)}{dt} + \alpha(t) &= \alpha\_s [\mathfrak{u}(t\_{r0}, 2\alpha\_r) - 2\mathfrak{u}(t\_{r0} + (\mathfrak{u} + f\_1)T, \alpha\_r) + \\ 2\mathfrak{u}(t\_{r0} + (\mathfrak{u} + f\_2)T, \alpha\_r)) - \mathfrak{u}(t\_{f'}, 2\alpha\_r)], \end{aligned} \tag{34}$$

where *tr0*, *tf* are the times at the start and the end of the rolling motion, respectivel. *n* is number of walking steps. *f*1 and *f*2 are the relative times with respect to the gait. Let *rrr ttp* <sup>01</sup> /1 be the time duration when the robot stays at the maximum rolling, where *tr1* is the first switching time at the single support phase, then we can write *Tpf <sup>r</sup>* /)/1( <sup>1</sup> and <sup>2</sup> *ff* <sup>1</sup> *rT* )/(12 . The commands *t*)( *<sup>r</sup> am* and *t*)( *<sup>r</sup> hm* to be sent respectively to the hip and ankle joints are given by,

$$
\boldsymbol{\theta}\_{am}^{\boldsymbol{r}}(\mathbf{t}) = -\boldsymbol{\theta}\_{lm}^{\boldsymbol{r}}(\mathbf{t}) = \boldsymbol{\alpha}(\mathbf{t}) + \boldsymbol{\theta}\_{ft}^{\boldsymbol{r}}(\mathbf{t})\tag{35}
$$

where *t*)( *<sup>r</sup> fb* is the PD controller's output stabilizing the system of equation (17).

#### **Numerical Example**

52 The Future of Humanoid Robots – Research and Applications

of the robot, the walking cycle time is assumed to be 2*τ*. Moreover, for given commutation duration *τ* calculated by equation (29) with the feedback controller parameters in equation

> '/ <sup>0</sup> *V e* 2 /sin( )

According to equation (25), the position command to the hip is shown in figure 10, and the

where *i* is the number of half walking cycle *τ*, the *t-* and *t+* are the times just before and after

as described in figure 9, where the stability of the equilibrium points is guaranteed by the gyro feedback added to the system. Since the position command to the hip is the same as that to the ankle joint with opposed sign, the robot upper body orientation in the absence of disturbance remains unchanged, in other words the angular velocity around the rolling axis during locomotion is zero. Notice that the control law described by equation (31) is explicit

and the control law becomes independent of the cycle time as a pure feedback law. However, the condition of having a fixed commutation time (Goncalves et al., 2000) will be no longer satisfied. For the sake of reducing the computing cost and ease the implementation of the controller, instead of considering the exact solution of the state trajectory of equation (25), we propose an approximate solution *α*(*t*) as shown in figures 11

*ut t t u t t u t t u t t* ( , ) ( ) ( ) ( 1/ ) ( 1/ ) *ii i i s i s i i s i i*

where *us*(.) is the unit step function, *ω*i >0 is the slope of the function *u*(.) between *t*i and (*t*i+1/*ω*i). The approximate solution *α*(*t*) can be formulated, therefore, as a function of time

(, , , )*<sup>s</sup>*

   

 *f T* 

*t t i i t t*

 

2*k*  

the state trajectory will follow the desired limit cycle

*k* )12( 

Time [s]

(30)

*i* 1,2,3 (31)

(33)

*dtd* 0/ ,

(32)

(22), the initial linear velocity can be expressed from equation (25) by;

Angular position (deg)

control law at switching times can be expressed as;

commutation, respectively. For *it*

1 max 1 max

*t d dt t d dt*

*i*

and 12, using a unit piecewise linear function as follows;

( ) ( 1) , 0 ( ) ( 1) , ( 1)

of time. Instead, the state commutation can be constrained by angular velocity

delay *ε*, joint angular velocity *ω*, walking period *T*, and the rolling amplitude *αs*.

Fig. 10. Hip position command

**3.3 Approximate solution of rolling** 

Consider the inverted pendulum with the control law of equation (20) as follows;

$$\frac{d^2\alpha}{dt^2} + 0.5\frac{d\alpha}{dt} - \alpha = -k\_1\alpha - 2k\_2\frac{d\alpha}{dt} + \mu\_{sw}(\alpha)\tag{36}$$

where we choose an arbitrary high gain controller satisfying equation (22) with *k*1 = 32 and *k*2 = 0.9, and does not trigger mechanical resonance. We consider the rolling profile equation (34) with *ε* = 0.15, and *α<sup>s</sup>* =6 deg. The phase portrait of the output signal is shown in figure 13, where case (a) is for non perturbed system, while case (b) is in the presence of perturbation. This result shows that the state trajectory is bounded, and therefore it is stable.

Time (s)

Fig. 11. Rolling motion pattern and design parameters

Design of Oscillatory Neural Network for Locomotion Control of Humanoid Robots 55

The dynamic of the swing leg can be considered the same as that of a pendulum, and hence it is inherently stable without any compensator. Due to the switching control that we already adopted in generating the rolling motion, the swing motion can be generated in a

> 01 2 ( ) ( ) [ ( , ) ( , ) ( , ) ( , )], *<sup>l</sup> l l ll l l l l lf l*

time for the first and second lifting, *tl1* and *tlf* are the switching times for the first and the last

To control the motion along the pitching direction, besides the gyro feedback control we consider the robustness against rough ground (ground with some surface irregularity) by controlling the time-varying parameters of the virtual spring damper system *bs*(*t*) and *ks*(*t*) in equation (38) during the gait as described in figure 14. That is, to minimize the force of collision at the landing time *t*1, the damping coefficient *bs*(*t*1) is set at its maximum value while *ks*(*t*1) is at its minimum value. At the lifting time *t*2, we inject spring energy into the system by setting *bs*(*t*2) at its minimum while *ks*(*t*2) is at its maximum. We consider linear

> () () () () () (, ) *c c <sup>s</sup> s c <sup>y</sup> d y t dy t m bt kt <sup>y</sup> <sup>t</sup> <sup>g</sup> t F*

where *yc*(*t*)is the displacement of the mass *m* along the vertical axis, and *g*(*t*, *Fy*) is a piecewise function in *t* and locally Lipschitz in *Fy* that depicts the external force acting on

/ *dx dt x u* **A B** (39)

.

If we let *yc* =*x*1, and *dyc/dt* = *x*2, equation (38) can be re-written in the state space form as;

*m* 

1

where *N* is the number of state space, and using the neuron model given by (1), (40) can be

*<sup>N</sup> i ij i i i i i ii j ii j ji ii ii dx a b x x xu*

*a dt a a*

*j dx a x bu*

*dt*

(1 )

*ij j i*

1,

 *asign* As a result, the right side of (41) represents the inputs to the neuron *xi*. The neural controller reflecting (41) is shown in figure 15 for *N*=2, *ki =*1*+δi*, *εi* =*δi* /*aii*,

*N i*

0 1 /  

*<sup>l</sup>* is the lifting motion, *Al* is the amplitude of lifting, and *tl0* and *tl*2 are the switching

(37)

 

(38)

(40)

 

(41)

 

*d t t A u t u t nT u t nT u t*

similar fashion and as illustrated in figure 11, which can be expressed as;

 

landing, and *ωl* is the joints' angular velocity generating the lifting motion.

*dt dt*

time-parameter changes between lower/upper limits.

2 2

the supporting leg. We choose *g* as a saturation function.

and

*B*

0 1 *s s* / /

*km bm* 

Writing the index form of equation (39) yields,

**3.4 Swing and stepping motion** 

*dt* 

where 

where

*A*

arranged as follows;

where ).( *<sup>i</sup> ii* 

Fig. 12. Profile of the lifting motion (*θl*)

Fig. 13. Phase portrait of the velocity versus position (Simulation); case (a) without perturbation, case (b) with perturbation.

At *t1* the damper is used to land softly, while at *t2* the spring energy is used to lift Fig. 14. Rolling motion with regards to time, inspired by passive walking.

#### **3.4 Swing and stepping motion**

54 The Future of Humanoid Robots – Research and Applications

*k* )12(


Gravity energy

Double support Time *t*

*t*1

Gravity energy

*t*2

Spring energy

(a) (b)

Fig. 13. Phase portrait of the velocity versus position (Simulation); case (a) without

Angular velocity

Rolling motion

Right leg Left leg

2*k*

Angular position (deg)


> Robot upper view

Robot is rolling

Angular velocity

Fig. 12. Profile of the lifting motion (*θl*)


perturbation, case (b) with perturbation.

Position

Single support (left leg)

> Spring energy

Single support (right leg)

At *t1* the damper is used to land softly, while at *t2* the spring energy is used to lift Fig. 14. Rolling motion with regards to time, inspired by passive walking.

Time [s]


Position

The dynamic of the swing leg can be considered the same as that of a pendulum, and hence it is inherently stable without any compensator. Due to the switching control that we already adopted in generating the rolling motion, the swing motion can be generated in a similar fashion and as illustrated in figure 11, which can be expressed as;

$$\varepsilon \frac{d\theta\_l(t)}{dt} + \theta\_l(t) = A\_l[\mathfrak{u}(t\_{l0}, o\mathfrak{o}) - \mathfrak{u}(t\_{l1} + nT, o\mathfrak{o}) + \mathfrak{u}(t\_{l2} + nT, o\mathfrak{o}) - \mathfrak{u}(t\_{lf}, o\mathfrak{o})].\tag{37}$$

where *<sup>l</sup>* is the lifting motion, *Al* is the amplitude of lifting, and *tl0* and *tl*2 are the switching time for the first and second lifting, *tl1* and *tlf* are the switching times for the first and the last landing, and *ωl* is the joints' angular velocity generating the lifting motion.

To control the motion along the pitching direction, besides the gyro feedback control we consider the robustness against rough ground (ground with some surface irregularity)

by controlling the time-varying parameters of the virtual spring damper system *bs*(*t*) and *ks*(*t*) in equation (38) during the gait as described in figure 14. That is, to minimize the force of collision at the landing time *t*1, the damping coefficient *bs*(*t*1) is set at its maximum value while *ks*(*t*1) is at its minimum value. At the lifting time *t*2, we inject spring energy into the system by setting *bs*(*t*2) at its minimum while *ks*(*t*2) is at its maximum. We consider linear time-parameter changes between lower/upper limits.

$$m\frac{d^2y\_c(t)}{dt^2} + b\_s(t)\frac{dy\_c(t)}{dt} + k\_s(t)y\_c(t) = g(t, F\_y) \tag{38}$$

where *yc*(*t*)is the displacement of the mass *m* along the vertical axis, and *g*(*t*, *Fy*) is a piecewise function in *t* and locally Lipschitz in *Fy* that depicts the external force acting on the supporting leg. We choose *g* as a saturation function.

If we let *yc* =*x*1, and *dyc/dt* = *x*2, equation (38) can be re-written in the state space form as;

$$d\mathbf{x} \mid dt = \mathbf{A}\mathbf{x} + \mathbf{B}u \tag{39}$$

where 0 1 *s s* / / *A km bm* and 0 1 / *B m* .

Writing the index form of equation (39) yields,

$$\frac{d\mathbf{x}\_i}{dt} = \sum\_{j=1}^{N} a\_{ij}\mathbf{x}\_j + b\_i\boldsymbol{\mu} \tag{40}$$

where *N* is the number of state space, and using the neuron model given by (1), (40) can be arranged as follows;

$$\frac{\delta \mathcal{S}\_i}{a\_{ii}} \frac{d \mathbf{x}\_i}{dt} + \mathbf{x}\_i = (\mathbf{1} + \mathcal{S}\_i)\mathbf{x}\_i + \sum\_{j=1, j \neq i}^{N} \frac{\delta\_i a\_{ij}}{a\_{ii}} \mathbf{x}\_j + \frac{\mathcal{S}\_i b\_i}{a\_{ii}} \mathbf{u} \tag{41}$$

where ).( *<sup>i</sup> ii asign* As a result, the right side of (41) represents the inputs to the neuron *xi*. The neural controller reflecting (41) is shown in figure 15 for *N*=2, *ki =*1*+δi*, *εi* =*δi* /*aii*,

Design of Oscillatory Neural Network for Locomotion Control of Humanoid Robots 57

Sole reaction force

Left leg swing phase

are calculated using equation (14), (29), and (30),

0 1 2 3 4 5 6 8

Landing

Fig. 17. Hip rolling joint output and sole reaction force acting on the left leg; the robot uses

In the experiment Fujitsu's humanoid HOAP-3 (Murase et al., 2001) is used. First, a gyro feedback loop is implemented to stabilize the robot at the single support phase. Second, the

where *V*0 = *ω*. Moreover, the dynamics of the robot during stepping motion is investigated using the phase portrait of the ZMP position in the lateral plane that is shown in figure 16, which is similar to the simulation result in figure 13. Notice that the more we increase the derivative gain the better convergence we obtain. However, we are limited by the high frequencies resonance that could be triggered at high feedback gain. Figure 17 demonstrates the effect of the virtual damper-spring system of equation (38), which is implemented to work as illustrated in figure 14. Hence, it demonstrates how the robot uses gravity for landing and the spring energy for lifting. Figure 17a shows that the lifting phase starts when the angular position of the rolling joints is almost zero. In other words, the actuators of the hip and ankle rolling joints do not contribute in moving the ZMP to the supporting leg. These joints, therefore, can be considered as locked joints. Figure 18 shows the rolling of the hip and the pitching motions of the knee, hip, and ankle. It demonstrates also how smooth the approximate solution is using the proposed pattern generator with sensory feedback. This figure shows also how the robot posture is controlled by changing the ankle position at the single support phase according to equation (42). To demonstrate the robustness against

Lifting

 *T s*

Time (s)

0

20

Angular position (deg)

40

60


Hip rolling motion

spring energy for lifting and gravity for landing

**4. Experiment results and discussion** 

rolling motion parameters ),,,(

0

50

Left leg vertical sole reaction force (N)

100

Single support

Swing phase

Standing phase

(a)

,/ *iiii abid* and ;/ *iiijii aaf ji* . The initial parameters *ε*1 and *ε*2 of the neural controller in figure 15 are set such that there will be no vibrations at the robot landing leg. An inappropriate choice of these parameters may cause large vibrations of the robot mechanism, which in turn degrades the walking performance.

Fig. 15. Neural controller, using the notation in (Zaier and Nagashima, 2002).

The angular positions of pitching motion are as follows;

$$\begin{cases} \theta\_{am}^{p}(t) = \theta\_l(t) + \theta\_{ft}^{l}(t) + \theta\_s(t) + \theta\_{zmp}^{y}(t) + \theta\_c(t) \\\\ \theta\_{km}(t) = -2\theta\_l(t) - 2\theta\_c(t) \\ \theta\_{lm}^{p}(t) = \theta\_l(t) - \theta\_{ft}^{l}(t) - \theta\_s(t) + \theta\_c(t) \end{cases} \tag{42}$$

where *<sup>p</sup> am* , *km* , and *<sup>p</sup> hm* are the pitching motor commands to the ankle, the knee and the hip, respectively. *θ*s is the angular position that generates the stride, ( ) arcsin( ( ) / ) *c ct t yt L* is the angular position induced by the virtual damper spring system in equation (22). The *Lt* is the length of the thigh. The *t*)( *<sup>l</sup> fb* is the feedback signal satisfying the stability of inverted pendulum in the sagittal plane.

Fig. 16. Phase portrait of the ZMP in the lateral plane (Experiment)

56 The Future of Humanoid Robots – Research and Applications

controller in figure 15 are set such that there will be no vibrations at the robot landing leg. An inappropriate choice of these parameters may cause large vibrations of the robot

ε1

d1 c1

*y***<sup>c</sup>** <sup>u</sup>

*k1*

ε2

*k2*

() () () () () ()

*tt tt tt*

 

 

*x*2

*x*1

c2

 

*hm* are the pitching motor commands to the ankle, the knee and the

*fb* is the feedback signal satisfying the stability of inverted

(42)

*t yt L*

*aaf ji* . The initial parameters *ε*1 and *ε*2 of the neural

,/ *iiii* 

where *<sup>p</sup> am* , 

*abid* and ;/ *iiijii*

mechanism, which in turn degrades the walking performance.

*w*

The angular positions of pitching motion are as follows;

 *km* , and *<sup>p</sup>* 

is the length of the thigh. The *t*)( *<sup>l</sup>*

Angular velocity


pendulum in the sagittal plane.

Fig. 16. Phase portrait of the ZMP in the lateral plane (Experiment)

0.01

**IN** f1 f2

d2

Fig. 15. Neural controller, using the notation in (Zaier and Nagashima, 2002).

() 2 () 2 ()

*t tt*

*km l c p l*

 

 

 

() () () () ()

hip, respectively. *θ*s is the angular position that generates the stride, ( ) arcsin( ( ) / ) *c ct*

is the angular position induced by the virtual damper spring system in equation (22). The *Lt*


Position

*tt ttt*

*p y l am l fb s zmp c*

*hm l fb s c*

Fig. 17. Hip rolling joint output and sole reaction force acting on the left leg; the robot uses spring energy for lifting and gravity for landing

### **4. Experiment results and discussion**

In the experiment Fujitsu's humanoid HOAP-3 (Murase et al., 2001) is used. First, a gyro feedback loop is implemented to stabilize the robot at the single support phase. Second, the rolling motion parameters ),,,( *T s* are calculated using equation (14), (29), and (30), where *V*0 = *ω*. Moreover, the dynamics of the robot during stepping motion is investigated using the phase portrait of the ZMP position in the lateral plane that is shown in figure 16, which is similar to the simulation result in figure 13. Notice that the more we increase the derivative gain the better convergence we obtain. However, we are limited by the high frequencies resonance that could be triggered at high feedback gain. Figure 17 demonstrates the effect of the virtual damper-spring system of equation (38), which is implemented to work as illustrated in figure 14. Hence, it demonstrates how the robot uses gravity for landing and the spring energy for lifting. Figure 17a shows that the lifting phase starts when the angular position of the rolling joints is almost zero. In other words, the actuators of the hip and ankle rolling joints do not contribute in moving the ZMP to the supporting leg. These joints, therefore, can be considered as locked joints. Figure 18 shows the rolling of the hip and the pitching motions of the knee, hip, and ankle. It demonstrates also how smooth the approximate solution is using the proposed pattern generator with sensory feedback.

This figure shows also how the robot posture is controlled by changing the ankle position at the single support phase according to equation (42). To demonstrate the robustness against

Design of Oscillatory Neural Network for Locomotion Control of Humanoid Robots 59

that leads to stable limit cycle. The oscillator was designed using linear piecewise linear functions and the design parameters were obtained based on the equation of motion of inverted pendulum. Moreover, sensory feedback namely gyro and force sensors feedbacks were considered by adding neural controller to the oscillator's neural network. Therefore, the neural network was augmented by neural controllers with sensory connections to maintain the stability of the system. In addition, the rolling profile parameters were analytically obtained and the approximate solution was implemented giving much modularity to the motion pattern generator to include cuircuts of reflexes and task planning. The locomotion controller became so adaptive that the robot is enabled to walk on floor, carpet, and slope. In order to demonstrate the effectiveness of the proposed system, we conducted experiment using Fujitsu's humanoid robot HOAP-3. It was shown that the

proposed pattern generator is robust in the presence of disturbance.

The experimental work was conducted at Fujitsu Laboratories Limited, Japan.

*Conference on Climbing and Walking Robots (CLAWAR 2007)*.

*Conference on Climbing and Walking Robots (CLAWAR 2006)*.

systems`, *Proc. of the American Control Conf.*, pp. 220-224

Acosta-M´arquez, C. and Bradley, D. (2000). Provision of gait assistance for individuals with

Bailey S. A. (2004) "Biomimetic Control with a Feedback Coupled Nonlinear Oscillator:

Cappelletto J., Estévez P., Fernandez-Lopez G., Grieco J. C. (2007) A CPG with force

Crespi and Ijspeert A.J. (2006). AmphiBot II: An amphibious snake robot that crawls and

Forti M. (1996). A note on neural networks with multiple equilibrium points. *IEEE Trans.* 

Gerstner W. (1995) `Time structure of the activity in neural network models`, *Phys. Rev*, E.

Goncalves J. M., Megretski A., and Dahleh M. A. (2000) `Global stability of relay feedback

Grillner S. (1985). Neurobiological bases of rhythmic motor acts in vertebrates. *Science*, no.

Grillner S. and Zangger P. (1975). How details is the central pattern generation for

Hooper Scott L. (1999–2010). Central Pattern Generators. *Encyclopedia of Life Sciences. John* 

Huang W., Chew M., Zheng Y., and Hong G. S. (2009). Bio-Inspired Locomotion Control

with Coordination between Neural Oscillators, *International Journal of Humanoid* 

*Wiley & Sons*. doi:10.1038/npg.els.0000032. ISBN 9780470015902.

lower limb impairments, *In: Proc. of the 7th Mechatronics Forum International* 

Insect Experiments, Design Tools, and Hexapedal Robot Adaptation Results", PhD

feedback for a statically stable quadruped gait. *In Proceedings of the 10th International* 

swims using a central pattern generator. *In Proceedings of the 9th International* 

**6. Acknowledgements** 

*Conference*, Pergamon Press.

thesis, Stanford University

*Circuits Syst. I*, Vol. 43, pp. 487-491.

locomotion*. Brain Research*. pp 367-371.

*Robotics.* Volume 6, No. 4, pp 585-608

51, pp.738-758.

228, pp143-149.

**7. References** 

plant perturbations and disturbances, we conducted two experiments; one consists of making the robot walks on hard floor, which can be regarded as walking in the presence of small disturbance. The phase portrait in figure 18 demonstrates that the system exhibits stable limit cycle with three periods. The second experiment consists of locomotion in the presence of larger disturbance and plant perturbation by letting the robot walks on a carpet with surface irregularities. In this case, despite the high damping coefficient of the carpet, the proposed locomotion controller could robustly maintain the stability of the system as shown in figure 19. This result also demonstrates the efficiency of the proposed approach in designing a robust locomotion controller, which is simply based on few parameters, which are the robot mass, COG height, and the distance between hip pitching joints.

Fig. 18. Outputs of the joints of right leg

Fig. 19. Phase portrait of the ZMP in the lateral plane (Experiment)
