# Gaits stabilization for legged robots using energetic regulation

Nk M'Sirdi

► To cite this version:

Nk M'Sirdi. Gaits stabilization for legged robots using energetic regulation. ICAR 2001, Aug 2001, Budapest, Hungary. hal-01757738

HAL Id: hal-01757738

https://hal.science/hal-01757738

Submitted on 3 Apr 2018

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

Public Domain
# Gaits Stabilisation for Legged Robots using Energetic Regulation

N. K. M'Sirdi, D. El Ghanami, T. Boukhobza and N. Khraief.

LRP: Laboratoire de Robotique de Paris, University of Versailles. 10 Av. de l'Europe, 78140 Vélizy, FRANCE; Email: msirdi@robot.uvsq.fr

**Abstract**— A new method is used to stabilize periodic cycles for legged robots with fast dynamic gaits. The control objective is regulation of the system energy (using a nominal energetic representation) for stabilization of fast gaits. The Controlled Limit Cycles (CLC) allow to establish a quasi periodic hopping gait by energy shaping and regulation. The resulting control law is simple, efficient and easy to implement. This approach leads simultaneously the control and reference trajectories (implicitly generated). Robustness and effectiveness of the proposed control are illustrated by simulations and experimental results.

**Keywords**— Robots control, Gaits stabilization, Controlled Limit Cycles, Hopping gaits, Energy regulation.

## I. INTRODUCTION

For robots with fast gaits, the crucial problem is gaits design and control, in order to preserve stability despite interaction with an unknown and variable environment. For fast gaits (long light phases where the robot is not completely controllable and short contact phases), the major problem is to generate trajectories which cope with system structure, the contact features and power optimization.

The CLC approach involves self generated trajectories and stabilizes a quasi periodic hopping motion [1][2]. This emphasizes the fact that the system's behavior and trajectories are consequences of robot's dynamic + the control and ground interactions. Energy shaping is performed by use of an admissible control. We show that control of legged robots can be reduced to study an equivalent energy model involving the robot, the ground and a simple control law. Our main objective is to introduce an approach leading to efficient stabilization of quasi periodic gaits which can be applied to legged robots. The energy of the system is regulated for an automatic generation of trajectories (implicit and deduced from the dynamic behavior), and a rejection of perturbations and unknown environment events. This is realized by means of Controlled Limit Cycles (CLC) and regulation of the system energy. For hopping gaits (monitored by gravitation and potential effects), the limit cycles correspond to a motion in the subspace $(z, \tilde{z})$ of the phase space of the system. This can be obtained by projection of the robot's dynamic on the motion subspace $(z, \tilde{z})$. The projected motion correspond to a mass and spring system as those studied in literature [3][4][5][6][7][8][9][10][11]. Then gaits are obtained by use of natural periodic cycles of the system's dynamic.

The proposed control approach, is based on a Variable Structure Control as presented in Figure (1). The presentation of the approach has been first developed for one

DOF in [10][1][2] and then is extended here for 2 DOF and more. This control approach is applied to generate trajectories and stabilization for hopping gait. Afterward in order to clarify its generalization to more complex systems, a control structure is designed to stabilize periodic cycles for systems with more than 3 DOF.

<figure><img src="image_1.png" /><figcaption>Fig. 1. Control methodology for legged robots</figcaption></figure>

Section 2 presents an invariant periodic orbit for mass spring system and extension of the CLC approach for 2DOF system. In section 3 we present an application of the proposed approach to SAP robot which has 3DOF. Some discussions and comments are presented in section 4. Our future prospects, investigation and some conclusions in this work will be given.

## II. VARIABLE STRUCTURE FOR ROBOTS CONTROL

### A. The nominal models

Figure (2b) depicts an elementary system for analysis of robots locomotion in fast motions. It is composed by a body with a mass $M$ and inertia $I$ and two massless springs with stiffness $k_l, k_r$ and nominal lengths $z_{l0}, z_{r0}$. Two controllable displacement $u_l$ and $u_r$ (inputs) are added to spring lengths. Subscripts $l$ and $r$ denote left and right elements. The body has 2 degrees of freedom, a vertical displacement denoted by $z$ (displacement of mass center) and a revolute displacement $\theta$ around the center of mass. We assume ponctual the contact between the end point of springs and the ground (assumed more rigid than equivalent impedance of the robot legs: $k_r, k_l \ll k_e$).

<figure><img src="image_2.png" /><figcaption>Fig. 2. Mass-spring systems: a) 1 DOF and b) controlled 2DOF</figcaption></figure>

This system has 4 motion phases: 1) stance where both springs are on the ground and compressed, 2) light phase (no contact with the ground), the robot has a ballistic trajectory and 3) two other phases where only one spring is in
contact with the ground ($z_r \le z_{ro}$ or $z_l \le z_{lo}$). The beginning of the □ight and stance are called lift-off and touchdown, respectively. The apex and bottom correspond to maximum and minimum body height, $g = 9.81m.s^{-2}$ is the gravitational acceleration. Since the robot corresponds to a variable structure system, let us define a commutation contact functions $\xi_r(z_r, u_r)$ and $\xi_l(z_l, u_l)$ which are null during □ight and equal to one during contact. They can be defined as: $\xi_i = \xi_i(z_i, u_i) = \frac{1}{2}(1 \Box \text{sign}(z_i \Box z_{io} \Box u_i))$. ($i = r$ or $l$). This allows us to represent all motion phases as:

$$ 
\begin{cases}
\ddot{z} = \Box \xi_l \frac{k}{M} (z_l \Box z_{lo} \Box u_l) \Box \xi_r \frac{k}{M} (z_r \Box z_{ro} \Box u_r) \Box g \\
\ddot{\theta} = \xi_l \frac{lk}{I} (z_l \Box z_{lo} \Box u_l) \Box \xi_r \frac{lk}{I} (z_r \Box z_{ro} \Box u_r)
\end{cases}
\quad (1) 
$$

## B. Invariant periodic orbits

The control proposed in this paper consists first in the characterization of an invariant periodic orbit and then to design a control structure to stabilize such an orbit. To this end we consider first the mass spring system of gure (2a) studied in [10]. It has only vertical displacements (1DOF) and 2 phases, □ight and stance, 1 DOF. The system equation can be written

$$ \ddot{z} + \xi(z) \frac{k}{M} (z \Box z_o) = \Box g \quad (2) $$

During motion, if we assume the landing without rebonds and no energy loss (no friction) [12], system energy evolutions are: Potential ($g$) → kinetic → potential accumulation → potential restitution → kinetic and so on [10].

This shows existence of periodic cycles corresponding to system oscillations and the energy storage (in potential elastic form) for exchange between the ground and the body (mass $M$). The system dynamic describes a closed periodic orbit or an invariant limit set - of ($x_o, t$) (where $x_o$ ($z_m, \bar{z}$=0) is initial state). This orbit - of can be described by a Lyapunov equation (3):

$$ V_f(z, \bar{z}) = \frac{1}{2} \dot{z}^2 + gz + \frac{k}{2M} (z \Box z_o)^2 = V_{LC}^* \quad (3) $$

The system is conservative: $\dot{V}_f(z, \bar{z}) = 0 \quad \forall z, \forall t \ge 0$. All the trajectories $z(t)$ are in of, see Figure (3). For 1DOF systems, equation (3) can be used to describe arbitrary motions which cope with the system's ability. Therefore, system (2) has a hopping motion with constant jumps height and a natural frequency depending on $\omega_o = \sqrt{\frac{k}{M}}$. If the system dissipates energy during the stance phase, it is clear that no periodic orbit can exist. However, we can design a control law to stabilize the energy to a reference value $V_{LC}^*$ (defined at the apex $z_{max}$ or the lift off point $\bar{z}_d$ see gure (3)). If the system has more than one DOF, then its motion depends on more degrees of freedom, namely $(z, \bar{z}, \theta, \dot{\theta})$ for the example in case of the system of gure (2b). The phase space is of dimension 4, but a closed orbit can be obtained only for a motion in the vertical axis ($z, \bar{z}$) and the other cases are either not obvious or not realizable. Invariant set corresponding to constant energy values $V_{LC}^*$

does not mean a closed orbit for more than 1DOF. In order to stabilize a periodic motion (vertical hopping) by means of Controlled Limit Cycles, in our approach we first project the system dynamics on ($z, \dot{z}$) phase subspace and then we stabilize a limit cycle in ($z, \dot{z}$).

<figure><img src="image_3.png" /><figcaption>Fig. 3. Periodic orbit for 1DOF free system</figcaption></figure>

## C. CLC approach for cycle stabilization

The aim is to evaluate the system motion in the case of hopping and then decompose his energy in two terms, one for the transverse dynamics denoted $V_T$ (i.e: motion in $\theta, \dot{\theta}$) and a second term for the cycle energy denoted $V_{LC}$. We can then apply a control $u_T$ to dissipate transverse energy $V_T$. Then we stabilize a periodic cycle or regulate the energy level $V_{LC}$ to $V_{LC}^*$ in the phase subspace ($z, \bar{z}$). Let us consider the Lyapunov function:

$$ V = \frac{1}{2} \dot{z}^2 + gz + \frac{I}{2M} \dot{\theta}^2 \quad (4) $$

It can be split in two terms as:

$$ V = V_{LC} + V_T \quad \text{with:} \quad \begin{cases} V_{LC} = \frac{1}{2} \dot{z}^2 + gz \\ V_T = \frac{I}{2M} \dot{\theta}^2 \end{cases} \quad (5) $$

We propose the following non linear control structure:

$$ \xi_r u_r = \frac{1}{2} (u_{LC} + u_T) \quad \text{and} \quad \xi_l u_l = \frac{1}{2} (u_{LC} \Box u_T) \quad (6) $$

where $u_T$ should dissipate the transverse energy, in order to project the motion on the phase subspace ($z, \dot{z}$) and $u_{LC}$ stabilizes a cycle in ($z, \bar{z}$). $u_T$ and $u_{LC}$ will be defined by stability analysis.

## D. Stability analysis

First, we have to dissipate the transverse energy $V_T$. Let us take the Lyapunov function $V_1 = \frac{1}{2}V_T^2$, its derivative is $\dot{V}_1 = V_T \dot{V}_T$ with: $\dot{V}_T = \frac{I}{M}\dot{\theta}\dot{\theta}$. Substituting $\ddot{\theta}$ (equation 1) and using control functions (6), we obtain:

$$ \dot{V}_T = \frac{lk}{M} (\xi_l (z_l \Box z_{lo}) \Box \xi_r (z_r \Box z_{ro}) + u_T) \dot{\theta} \quad (7) $$

We take as transverse control function $u_T$:

$$ u_T = \Box \Gamma_1 \psi(V_T) \dot{\theta} \Box \xi_l (z_l \Box z_{lo}) + \xi_r (z_r \Box z_{ro}) \quad (8) $$
$\Gamma_1$ is a positive control gain and $\psi(\xi)$ is positive function of $\xi$ such as $\psi(\xi), \xi > 0, \forall \xi \neq 0$ and $\psi(0) = 0$ (namely sign or saturation function). Then we have: $\bar{V}_T = \square \frac{ik}{M} \Gamma_1 \psi(V_T) \theta^2$,

$$ \bar{V}_I = V_T \bar{V}_T = \square \Gamma_1 V_T \psi(V_T) \theta^2 \le 0 \quad (9) $$

Thus $V_T \bar{V}_T < 0$ and therefore the transverse energy $V_T$ converges to zero and is such as $\forall \epsilon_1 > 0, \exists t_0 \ge 0$, such as $|V_T| < \epsilon_1, \forall t > t_0$. Then $\theta^*$ is bounded and tend to zero, then we can choose a constant $\lambda$ such as $\Gamma_1 \theta_{\max}^2 \le \frac{\lambda}{\sqrt{2}}$, with $\theta_{\max}^* = \max(\theta^*)$. Using (9), $\bar{V}_I \le \square \frac{\lambda}{\sqrt{2}} |V_T|$ and $V_1 = \frac{1}{2} V_T^2 \Rightarrow V_T = \sqrt{2\bar{V}_I}$ then $\bar{V}_I \le \square \lambda \sqrt{\bar{V}_I}$. We can conclude that:

$$ V_1(t) = 0, \quad t \ge t_1 = t_0 + 2 \frac{\sqrt{V_1(t_1)}}{\lambda} $$

therefore the sliding surface is attractive and $V_T = 0$ is reached in a square time $t_1$, the motion is then reduced to $(z, \bar{z}_1, 0, 0)$. Now to ensure convergence of $V_{LC}$ to refrence value $V_{LC}^*$ (denoting a desired cycle), let us choose as Lyapunov function candidate:

$$ V_2 = \frac{1}{2} V_T^2 + \frac{1}{2} (V_{LC} \square V_{LC}^*)^2 \quad (10) $$

$V_{LC}^*$ is a constant value and can be defined at the lift-off $(\bar{z}_d)$ or at the apex ($z_{\max}$) as:

$$ -o = \{(z, \bar{z}) \in \mathbb{R}^2: V_{LC} = \frac{1}{2} \bar{z}^2 + gz = gz_{\max}\} \quad (11) $$

At $t > t_1$ we have $(V_T, \bar{V}_T) = (0, 0)$, then:

$$ \bar{V}_2 = (V_{LC} \square V_{LC}^*) \bar{V}_{LC} \quad \forall t > t_1 \quad (12) $$

$$ \text{with: } \bar{V}_{LC} = (\bar{z} + g) \bar{z} \quad \forall t > t_1 \quad (13) $$

substituting $\bar{z}$ (1) and control (6) in $\bar{V}_{LC}$, we have:

$$ \bar{V}_{LC} = \frac{k}{M} (\square \xi_l (z_l \square z_{lo}) \square \xi_r (z_r \square z_{ro}) + u_{LC}) \bar{z} \quad (14) $$

The main objective is to make $-o$ invariant and attractive. To stabilize this orbit, we propose the feedback $u_{LC}$:

$$ u_{LC} = \square \Gamma_2 \psi(V \square V_{LC}^*) \bar{z} + \xi_l (z_l \square z_{lo}) + \xi_r (z_r \square z_{ro}) \quad (15) $$

$\Gamma_2$ is a positive control gain and then $\bar{V}_{LC}$ becomes: $\bar{V}_{LC} = \square \frac{k}{M} \Gamma_2 \psi(V \square V_{LC}^*) \bar{z}^2$. From equation (12), we obtain the orbit stabilization condition:

$$ \bar{V}_2 = \square \frac{k}{M} \Gamma_2 (V_{LC} \square V_{LC}^*) \psi(V_{LC} \square V_{LC}^*) \bar{z}^2 \le 0 \quad (16) $$

This stability condition gives the following two cases:

□ **Case 1:** $V_{LC} > V_{LC}^* \Rightarrow \bar{V}_{LC} = \square \frac{k}{M} \Gamma_2 \psi(V_{LC} \square V_{LC}^*) \bar{z}^2 < 0$, the height is greater than $z_{\max}$ (orbit - $o$), then system energy is decreased and the control $u_{LC}$ has dissipative effect.

□ **Case 2:** $V_{LC} < V_{LC}^* \Rightarrow \bar{V}_I > 0$, the jump height is less than this of $V_{LC}^*$ ($z_{\max}$), then $u_{LC}$ is active and supply energy to system.

We can then conclude, for the controlled limit cycle, that the periodic orbit - $o$ is a stable invariant set of the controlled system. Trajectories $z(t)$ converge asymptotically to orbit - $o$ defined above (11). $\theta(t)$ and $\theta^*(t)$ converge to zero due to a control structure (8) and (15). $u_T$ will then dissipate transverse energy and $u_{LC}$ can be either active or passive (dissipative) for cycle stabilization. Note that the CLC control is enabled only in the stance phase (the controllable region) and is frozen in the light phase (uncontrollable region).

### E. Simulation of CLC

For the simulations, we use as $\psi$ a saturation function (with maximum and minimum values $\pm 0.2$). The initial conditions are $\dot{z}(0) = 0, z(0) = 5.5m, z_{lo} = z_{ro} = 1m$. The control gains are $\Gamma_1 = 0.2$ and $\Gamma_2 = 0.008$ and parameters are $k_l/M = k_r/M = 500$ and $I = 2kg.m^2$. The desired height of hopping is $z_{\max} = 3.5m$. For the first simulation, the initial condition is $\theta_o = 0, \theta_o^* = 0$. Figure (4) shows a stabilization of body height to desired value $z_{\max}$ (gure (4a)) and convergence of cycle energy to the reference value (4b). The transverse energy remain equal to zero. This situation is equivalent to systems with 1DOF, where only $u_{LC}$ acts to stabilize the limit cycle (system motion is in $(z, z)$ phase plane).

<figure><img src="image_4.png" /><figcaption>Fig. 4. CLC: $\theta_o = 0$</figcaption></figure>

<figure><img src="image_5.png" /><figcaption>Fig. 5. Transverse and cycle energy, CLC: $\theta_o = 1rad$</figcaption></figure>

We consider now $\theta_o = 1rad$. We keep the same conditions (gains value, initial $z$ and desired height $z_{\max}$). Figure (5) shows that limit cycle is stabilized after four oscillations and convergence of angle $\theta$ to zero in square time ($t_1 = 8$ sec). This corresponds to the period necessary to dissipate transverse energy $V_T$ and to stabilize $V_{LC}$ to reference value (gure (5)). For robustness illustration, we consider $\theta_o = 1.5rad$ (near to the limit value $\theta_o = \pi/2$), Figure (6) shows a stable CLC. Figure (6) illustrates system behavior when he strike the ground. System, under control
action, deaden his motion to preserve his equilibrium and to dissipate transverse energy. Note that the controller is active only in stance phase.

<figure><img src="image_6.png" /><figcaption>Fig. 6. Hopping heights and input forces, CLC and rotation angle:</figcaption></figure>

$\theta_{q1} = 1.5rad$ Robustness is illustrated by □gure (7), we have changed stiffness $k_l$ and $k_r$ separately and $\theta_o = 0.5rad$. The orbit -o is reached despite the use of $k_l/M$ six times greater and $k_r/M$ six times smaller. We can observe appearance of transverse energy quantity at each contact with the ground due to the difference between stiffness and the controller action which reduces this quantity to zero.

<figure><img src="image_7.png" /><figcaption>Fig. 7. CLC and transverse energy: changed parameters</figcaption></figure>

<figure><img src="image_8.png" /><figcaption>Fig. 8. CLC and rotate angle $\theta$: changed of springs original lengths</figcaption></figure>

Proceeding in a same manner, we have changed the original lengths $z_{lo}$ and $z_{ro}$ ($z_{ro} = 1.2$ and $z_{lo} = 0.8$). Simulation shows that $\theta$ is maintained around a value not null due to difference between springs lengths. Therefore the system reach a favourable posture for a stable hopping motion (□gure (8)). To analyse robustness of the controller versus frictions, we introduce a viscous friction in the mechanism $\beta \dot{z}$[]. Then we obtain the closed loop equation on vertical axis:

$$ \ddot{z} = \Box \left( \frac{k}{M} \Gamma_2 \psi(V \Box V_{LC}^*) + \frac{\beta}{M} \right) \dot{z} \Box g $$

The previous equation shows that when the amplitude of control input $u_{LC}$ is limited and if,

$$ \beta > \max(k\Gamma_2\psi(V \Box V_{LC}^*)) \quad \forall t \in \mathbb{R}_+ \quad (17) $$

then the system will be asymptotically stable near the origin and then no limit cycle exists. Introduction frictions produces deformation of the orbit (symmetry is lost), re-bonds reappears and the height of jumps is reduced. The

height reduction is important for high frictions level until the periodic orbit disappears, the system becomes asymptotically stable. To preserve limit cycle, we need a great feedback gain $\Gamma_2$.

### III. APPLICATION TO THE SAP ROBOT

In order to generalize the proposed approach, let us consider the legged robot SAP presented in □gure (9). The cartesian variables can be defined, for the end point of robot, as $x = [x_r, z, \phi]^T$ with respect to a reference frame □xed to robot wheel. $x_r$ and $z$ are respectively the horizontal and vertical coordinates and $\phi$ the orientation. The system dynamics in cartesian space is obtained by use of geometric model $x = L(q)$, where $q = [q_o, q_1, q_2]^T$ is generalized coordinates (with respect to a reference frame □xed to robot wheel), and the corresponding jacobian matrix $J$ ($\bar{x} = J\dot{q}$):

<figure><img src="image_9.png" /><figcaption>Fig. 9. SAP Robot of LRP</figcaption></figure>

$$ M^*\ddot{x} + C^*\bar{x} + g^* = F + F_e \quad (18) $$

$\tau = J^T F = [0, \tau_1, \tau_2]^T$ is the control input vector and $F_e$, $g^*$ and $C^*\bar{x}$ are respectively vectors of ground reaction, gravitational forces and centripetal and Coriolis forces. $M^*$ is the inertia matrix and $J$ is the jacobien matrix. Note that only $q_1$ and $q_2$ are actuated.

#### A. Stabilizing feedback

The first thing we have to deal with is definition and stabilization of a posture (nominal robot position) when in contact with the ground in order to keep robot in equilibrium. The robot configuration (posture) is presented in □gure (9) and defined by the desired position vector $x_d = [x_{rd}, z_d, \phi_d]^T$. This posture can be stabilized by a position feedback:

$$ F = K_p(x_d \Box x) \quad (19) $$

We consider also the ground very stiff ($K_e \gg K_p$), the contact stiffness is $K = \frac{K_p \cdot K_e}{K_p + K_e} \approx K_p$, then the system closed loop equation is [1]:

$$ M^*\ddot{x} + C^*\bar{x} + g^* + Kx = Kx_d \quad (20) $$

The equation (20) describes the legged system with a primary feedback loop which is able to have energy exchanges with the environment (introduction of elastic storage).

P1: The elements of the system's model (20) are such that the matrix $N = \frac{1}{2}M^* \Box C^*$ is skew symmetric [13].

P2: The mapping $v = Kx_d \mapsto y = \bar{x}$, where the passivity property $\int_0^t y^T v dt = \int_0^t \bar{x}^T K x_d dt \ge \gamma^2$ [14].
**Motion Evaluation and gait definition:** The robot SAP has 3 DOF and can be considered as an association of 3 coupled second order subsystems:

$$ \begin{pmatrix} \ddot{x}_r \\ \dot{z} \\ \ddot{\phi} \end{pmatrix} = \begin{pmatrix} f_x(\chi, \chi_d, K) \\ f_z(\chi, \chi_d, K) \\ f_\phi(\chi, \chi_d, K) \end{pmatrix} \quad (21) $$

where $\chi = [x^T, \dot{x}^T]$ is the model state vector. For motion evaluation in the case of hopping, the preceding analysis shows that the phase space $(x, \dot{x})$ have to be decomposed in two subspaces, one for the robot hopping $(z, \dot{z})$ and its transverse. Proceeding in a same way, we consider the Lyapunov function:

$$ V(x, \bar{x}) = \frac{1}{2} \dot{x}^T M^* \bar{x} + P_g(t) \quad (22) $$

where potential energy due to gravity is $P_g(t) = \int_0^x g^*(s)ds$. Then this Lyapunov function can be split in two parts (one for the limit cycle and the second for the transverse motion):

$$ V(x, \bar{x}) = \frac{1}{2} \dot{x}^T M^* \bar{x} + P_g(t) = V_{LC} + V_T \quad (23) $$

For hopping, we can specify, for reference energy, either the height of the jumps $(z_m)$ or the lift off velocity $(\bar{z}_d)$.

$$ V_{LC}^*(z, \bar{z}) = \frac{1}{2} m \dot{z}_d^2 = mgz_m \quad (24) $$

where $m$ is the equivalent mass of the robot. We then must stabilize two subsystems at $(x_r = 0, \bar{x}_r = 0)$ and $(\phi = 0, \bar{\phi} = 0)$ asymptotically and control the one of vertical motion $(z, \bar{z})$ to obtain a CLC.

## B. Controlled Limit Cycles for SAP robot

Let us consider the nominal position $x_o = [x_{rd_o}, z_o, \phi_{d_o}]^T$ around which the cycles will be stabilized, and the control functions:

$$ x_d = [x_{rd}, z_d, \phi_d]^T = [x_{rd_o} + u_x, z_o + u_z, \phi_{d_o} + u_\phi]^T. \quad (25) $$

The energetic control and the CLC are realized by the control functions $u = u_T + u_{LC} = [u_x, u_z, u_\phi]^T$ defined as $u_{LC} = [0, u_z, 0]^T$ and $u_T = [u_x, 0, u_\phi]^T$. $u_z$ is used to control the hopping motion in the phase plane $(z, \dot{z})$ and $(u_x, u_\phi)$ maintain the system motion in this phase subspace. This reduces the energy to the cycles one in a finite time $t_1$ by means of $u_T$. $u_{LC}$ stabilizes an orbit - $o$ by regulatation of energy $V_{LC}(z, \dot{z})$ to a reference value $V_{LC}^*$. Then we propose the control structure $(\Gamma_1, \Gamma_2$ and $\Gamma_3$ are positive control gains):

$$ u_T: \begin{cases} u_x = x_r \Box x_{rd_o} \Box \frac{\Gamma_1}{k_{11}} \psi(V_T) \bar{x}_r \\ u_\phi = \phi \Box \phi_{d_o} \Box \frac{\Gamma_3}{k_{33}} \psi(V_T) \bar{\phi} \end{cases} \quad (26) $$

$$ u_{LC}: u_z = z \Box z_o \Box \frac{\Gamma_2}{k_{22}} \psi(V_{LC} \Box V_{LC}^*) \bar{z} \quad (27) $$

## C. Stability analysis for SAP robot

Let us consider the Lyapunov function (23), its time derivative is then (using the skew symmetry of $M^*$):

$$ \begin{aligned} \bar{V}^2 &= \dot{x}^T K (x_d \Box x) = \bar{V}_{LC} + \bar{V}_T \\ &= \bar{x}_r k_{11} (x_{rd} \Box x_r) + \bar{\phi} k_{33} (\phi_d \Box \phi) + \dot{z} k_{22} (z_d \Box z) \end{aligned} \quad (28) $$

The transverse dynamics of the two subsystems $f_x$ and $f_\phi$ are defined by transverse energy variation $\bar{V}_T$ and $\bar{V}_{LC}^*$ describes the limit cycle of $f_z$. Conditions to ensure transverse energy dissipation, can be obtained with the Lyapunov function $V_1$ and its time derivative is (see 28):

$$ V_1 = \frac{1}{2} V_T^2 \quad (29) $$

$$ \bar{V}_1 = V_T \bar{V}_T = V_T \left( \bar{x}_r k_{11} (x_{rd} \Box x_r) + \bar{\phi} k_{33} (\phi_d \Box \phi) \right) $$

Substituting the desired trajectories (25) and control (26), we obtain:

$$ \bar{V}_1 = \Box V_T \psi(V_T) \left( \dot{x}_r^2 \Gamma_1 + \phi^2 \Gamma_3 \right) \le 0 \quad (30) $$

$V_T \bar{V}_T$ is negative (convergence condition is satisfied), we can conclude that $\bar{x}_r$ and $\bar{\phi}$ are bounded and tend to zero. We can choose $\lambda$ such as $\dot{x}_r^2 \Gamma_1 + \phi^2 \Gamma_3 \le \frac{\lambda}{\sqrt{2}}$.

Thus equation (30) becomes $\bar{V}_1 \le \frac{\lambda}{\sqrt{2}} |V_T|$ and from $V_T = \sqrt{2}\bar{V}_1$, we have $\bar{V}_1 \le \frac{\lambda}{\sqrt{2}} \sqrt{V_1}$. Then $V_1(t) = 0$ for $t \ge t_1 = t_0 + 2\sqrt{\frac{V_1(t_1)}{\lambda}}$.

We can conclude that $V_T = 0$ in finite time $t_1$ and $\bar{V}_T = 0$ and at $t > t_1$, the system energy is reduced to cycle energy (24): $V = V_{LC} \Rightarrow \bar{V}^2 = \dot{z} k_{22} (z_d \Box z)$.

Proceeding in a same manner, we consider the Lyapunov function candidate (for $t > t_1$):

$$ V_2 = \frac{1}{2} V_T^2 + \frac{1}{2} (V_{LC} \Box V_{LC}^*)^2 \quad (31) $$

$$ \bar{V}_2 = (V_{LC} \Box V_{LC}^*) \bar{V}_{LC} \quad \text{at } t > t_1. \quad (32) $$

substituting (28) in $\bar{V}_{LC}$ and using the control function (27), we can write:

$$ \bar{V}_2 = \Box \Lambda(V_{LC} \Box V_{LC}^*) \psi(V_{LC} \Box V_{LC}^*) \dot{z}^2 \le 0 \text{ at } t > t_1. \quad (33) $$

$\bar{V}_2 \le 0$ leads to the periodic orbit stabilization in the same way as described before. We then conclude that transverse energy converge to zero in finite time and that the limit cycle defined by the invariant orbit - $o$ is asymptotically stable. Thus the system energy converge to the reference one and achieve a controlled limit cycle.

## D. Experimental results

In this section, we present 3 experimental results achieved with the SAP robot. The Figure (9), illustrates an equilibrium posture and define the following angular relation: $q_o + q_1 + \frac{q_2}{2} + \theta = \pi$ and vertical body's position $z = r_o + l_o \cos(q_o) \Box l \sin(q_o)$. An appropriate choice of posture allow us to consider $q_o$ and $\theta$ small and then $z \simeq r_o + l_o + l (q_1 + \frac{q_2}{2} \Box \pi)$. Therefore we can deduce desired angular $q_1^d$ and $q_2^d$ from the desired trajectories $z_d = l (q_1^d + \frac{q_2^d}{2})$. This is used to implement the control functions. The control input is $\tau = k_p (q^d \Box q) \Box k_v \bar{q}$, the control function $z_d = \Box \frac{\Gamma_2}{k_{22}} \psi(V_{LC} \Box V_{LC}^*) \bar{x}$. As energy function, we use $V_{LC} = \frac{1}{2} m z^2 + mgz$ and a reference energy
value $V_{LC}^* = mgz_{max}$. Note that SAP robot has a potentiometer and an encoder to measure angular positions $q_1$ and $q_2$ and gyroscop to measure the velocity of the body $\ddot{z}$. The desired height of jumps is $z_{max} = 0.03m$. The control gains are $k_p = 0.7$, $k_{v1} = 0.124$, for angular position $q_1$, $k_p = 0.7$, $k_{v2} = 0.091$ for $q_2$ and $\Gamma_2 = 5$ for control function $u_z$ and $\psi \pm 0.2$. We introduce a saturation to avoid geometric model singularities (to limit angle variation of $\alpha$ (Figure 9)).

<figure><img src="image_10.png" /><figcaption>Fig. 10. Limit Cycles (Expérience n°1)</figcaption></figure>

<figure><img src="image_11.png" /><figcaption>Fig. 11. Controlled Limit Cycles (Expérience N2 and N3)</figcaption></figure>

The first results (Figure 10) show a stabilized limit cycle. The cycle is distorted when the leg strikes the ground. This corresponds to the position $\dot{z} \le 1cm$. The body's jump height is $4cm$ and is stabilized around the nominal position $z_o = 0$. We consider as hopping range, the difference between the maximum height and the contact point, then it is $5cm$. This error or inaccuracy is caused by difficulties to calibrate sensors and to deduce the absolute position $z$. The motion period is 3 jumps per second. Figure (10) shows the applied control function CLC, the hopping velocity and the hopping frequency. In the second experience we have changed the robot inertia by adding, on robot body, a mass equivalent to the leg mass. Figure (11) shows a stable limit cycle. The hopping height is $5cm$ and the motion period is 0.442 sec. We can conclude that the additional mass changes only system frequency and the cycle becomes more stable with a thin orbit (the coupling is less important). Thus control approach is robust versus parameters variation. Figure (11) illustrates the third experience. We have changed initial conditions (position & velocity) and the measurements show the transient. The body's height (Figure 11) shows that the cycle is set up after a time period equal to 3.6 sec. This period of time depends

on control gains and the saturation value $\psi$. After that, the jumping height becomes stable and equal to $5.8cm$. Then the hopping range is $5 cm$.

## IV. CONCLUSION

We have presented a new control strategy for legged robots with fast gaits. It exploits energetic aspects and passivity properties of system. The control methodology stabilizes a periodic hopping cycle by regulation of system energy to a reference value. For more than 1 DOF systems, the control approach decomposes the system energy, for hopping motion, in two terms. One of these two terms describes the transverse dynamics. The second one describes the limit cycle to stabilize. Thus a robust control structure was proposed. It depends on system number of degrees of freedom VCS (Variable Control Structure), dissipates transverse energy in finite time and stabilizes cycle energy to a reference value and therefore a Controlled Limit Cycle is obtained. The method was successful in simulation for 1DOF and 2 DOF systems and in experimentation for SAP robot with 3DOF. It is robust for large parameters variation and initial conditions variation and disturbances. The control approach allows us to stabilize a gait, an implicit trajectory generation and energy optimization by controlling system energy. It is easy to implement.

## REFERENCES

[1] N. K. M'Sirdi, N. Manamani, and D. El Ghanami. Control approach for legged robots with fast gaits: Controlled limit cycles. *Journal of Intelligent Robotic Systems*, 1999.

[2] N. Nadjar-Gauthier, N. K. M'Sirdi, N. Manamani, and D. El Ghanami. An energetic control based on limit cycles for stabilization of fast legged robots. *Advanced Robotics*, 13(7):703-717, 2000.

[3] A. F. Vakakis and J. W. Burdick. Chaotic motions of a simplified hopping robot. In *Proc. IEEE Inter. Conf. on Robotics and Automation*, volume 3, pages 1464-1469, Cincinnati, OH, 1990.

[4] D. E. Koditschek and M. Buehler. Analysis of a simplified hopping robot. *Int. Journal of Robotic Research*, 10(6):587-605, 1991.

[5] R. T. M'Closkey and J. W. Burdick. Periodic motions of a hopping robot with vertical and forward motion. *Int. Journal of Robotic Research*, 12, 1993.

[6] C. Francois and C. Samson. Running with constant energy. In *Proc. IEEE Inter. Conf. on Robotics and Automation*, volume 1, pages 131-136, San Diego, California, 1994.

[7] H. Michalska, M. Ahmadi, and M. Buehler. Vertical motion control of a hopping robot. In *Proc. IEEE Inter. Conf. on Robotics and Automation*, volume 3, pages 2712-2717, Minneapolis, MN, 1996.

[8] A. Goswami, B. Espiau, and A. Keramane. Limit cycles in a passive compass gait biped and passivity-mimicking control laws. *Journal of Autonomous Robots*, 4:273-286, 1997.

[9] L. Roussel, C. Canudas, and A. Goswami. Periodic stabilisation of 1 d.o.f hopping robot on nonlinear compliant surface. In *IFAC Syroco'97*, Nantes, France, 1997.

[10] N. K. M'Sirdi, N. Manamani, and N. Nadjar-Gauthier. Control approach for hopping robots: Controlled limit cycles. In *Proc. IEEE AVCS98*, pages 64-69, Amiens, France, 1998.

[11] M. D. Berkmeier. Modeling the dynamics of quadrupedal running. *Int. Journal of Robotic Research*, 17(9):971-985, 1998.

[12] T. A. McMahon, G. Valiant, and E. C. Frederick. Groucho running. *Journal of Applied Physiology*, 62:2326-2337, 1987.

[13] S. Arimoto and F. Miyazaki. Stability and robustness of pid feedback control for robot manipulators of sensory capability. In *Proc. IFAC Symp. on Robot Control*, pages 221-226, Barcelona, Spain, 1985.

[14] S. Arimoto and T. Naniwa. Learning control for robot motion under geometric constraint. *Robotica*, 12:101-108, 1994.