Luca Colasanto

Nicolas Perrin

Nikos G Tsagarakis

Darwin G Caldwell

Dynamically transitioning between surfaces of varying inclinations to achieve uneven-terrain walking *

This paper focuses on how to generate dynamic transitions in order to make our robot COMAN (COmpliant huMANoid) dynamically traverse inclined terrains. The novel approach addresses dynamic walking on inclined surfaces by dividing the walking motion into two phases: transition and incline walking. During the transition phase, the humanoid robot performs a 3-dimensional movement in order to transfer its body between surfaces of different inclinations, which is then followed by the incline-walking phase. The transition phase is less trivial to execute than the incline walking itself. In this paper, we first formulate the equations of a 3D (non linear) Inverted Pendulum, and then we derive an equivalent model. Following this we introduce a trajectory generator based on this model and validate it experimentally by performing, with COMAN, dynamic transitions from the horizontal ground to a 10 • slope.

I. INTRODUCTION

Humanoid locomotion has been extensively studied over the past forty years, and there exist now various approaches to perform dynamic walking on flat ground. However, the state-of-the-art techniques used on flat terrains cannot be directly applied to achieve walking on uneven terrains, which is still a challenging problem for researchers. Attempts to solve this problem generally treat separately the two following phases: the "transition phase" and the "incline walking" phase. During the transition phase, the robot performs a 3dimensional motion in order to transfer its body between surfaces of different inclinations, and after that, the inclinewalking phase starts. Traditional models used for flat ground walking (generally involving Zero Moment Point [START_REF] Kajita | Biped walking pattern generation by using preview control of zero-moment point[END_REF] and Linear Inverted Pendulum [START_REF] Kajita | The 3d linear inverted pendulum mode: a simple modeling for a biped walking pattern generation[END_REF]) can usually be generalized to deal with incline walking itself, nevertheless the transition phase is more complicated to handle, for several reasons. First, as most humanoids are unable to perform heel toe strikes, transition phases often requires a large range of motion for the ankle, knee and hip joints of the robot. Besides, large torques are usually necessary, and finally linear models are less suitable to represent the motions that must be performed. In fact, traditional linear models simplify the dynamics by constraining the vertical movement to have zero acceleration. A first solution commonly adopted consists in performing the transition movement mostly in double support (when both feet are on the ground and the support polygon is larger), and using quasi-static movements in single support [START_REF] Lutz | Nao walking down a ramp autonomously[END_REF]. In this way, the robot needs to stop or reduce considerably its speed at proximity of the edge, but provided that the robot can produce enough torque, this approach can usually deal with larger inclination changes than other more dynamic existing methods. Lim et al. [START_REF] Lim | Control design to achieve dynamic walking on a bipedal robot with compliance[END_REF] and Seven et al. [START_REF] Seven | Humanoid robot walking control on inclined planes[END_REF] address transition phases as pure control problems, considering slopes as disturbances. With their approaches, they manage to cope with inclination changes of 7 • and 8.5 • .

In our novel approach, we exploit the natural dynamics of a 3D (non linear) Inverted Pendulum and we develop an "equivalent" model. This model is used to design trajectories that capture well the dynamics of the system while respecting constraints fixed by a desired gait. Performing the transition movements mostly during the single support phase and including the effect of the vertical movement of the center of mass in the dynamics of the system, we were able to make the robot traverse inclined terrains without changing the duration of the gait cycle.

The lower body of the new COmpliant huMANoid robot, COMAN , was used to perform the tests. Its intrinsic compliance, due to the passive elasticity in its joints, makes this robot a good candidate for this kind of task. In previous works [START_REF] Colasanto | A compact model for the compliant humanoid robot coman[END_REF], [START_REF] Colasanto | Internal model control for improving the gait tracking of a compliant humanoid robot[END_REF], [START_REF] Spyrakos-Papastavridis | A compliant humanoid walking strategy based on the switching of state feedback gravity compensation controllers[END_REF] we focused on the effects of compliance on the dynamics of walking. It was demonstrated that compliance can reduce the effect of disturbances due to the take off and landing of the foot. In fact, instead of a stiff response to the disturbance it introduces a proportional action to the position error (as an intrinsic proportional controller).

In the following sections, we first derive the equations of a 3D Inverted Pendulum, and the "equivalent model". After, a trajectory generator is developed. Following that, the experimental setup is explained and the results of walking, showing dynamic transition on a 10 • inclined surface, are reported and discussed.

II. THE 3D INVERTED PENDULUM MODEL

In this section the equations of the 3D (non linear) inverted pendulum model, which is used to approximate the robot in this work, are described and then an equivalent representation is derived.

A. Model Equations

The problem of an inverted pendulum anchored to a surface generally oriented in the world and subject to gravity is described in the following equation:

τ gr + r COM × G = d dt (r COM × L) (1)
where τ gr ∈ ℜ 3 represent the torques at the contact point between the ground and the inverted pendulum, r COM ∈ ℜ 3 is the position of the COM, G ∈ ℜ 3 is the gravitational force and L is the linear momentum. These variables are expressed with respect to a Cartesian reference frame {F} that has its origin at the contact point with the x and y axes parallel to the surface. Referring to equation ( 1) the inverted pendulum model is depicted in Fig. 1. We define α 1 , α 2 and α 3 as respectively the roll, pitch and yaw angles of the inclined surface, for example if the surface is inclined upward, α 1 will be positive. Then the gravitational force, expressed in {F} can be represented as follows:

G = m   -gc 1 c 3 -gs 2 s 3 gs 1 s 3 -gs 2 c 3 -gc 1 c 2   = m   g x g y g z  
where m is the mass of the inverted pendulum and c 1 , c 2 , c 3 , s 1 , s 2 , s 3 are respectively the cosine and sine functions of the angles α 1 , α 2 and α 3 .

The definition of Zero Moment Point (ZMP) can be then formulated as follows:

τ gr -r zmp × G =   0 0 M z   (2)
where r zmp = x zmp y zmp 0 T is the ZMP position in {F}, and M z is the vertical momentum. Solving the equation ( 2) with respect to τ gr and substituting it into equation (1) the dynamic system of the inverted pendulum in Fig. 1 can be expressed as follows:

ẍz = (z -g z ) x + g x z + g z x zmp ÿz = (z -g z ) y + g y z + g z y zmp (3)

B. Equivalent Representation

The first differential equation of (3) represents the movement of the COM along the x direction of the reference frame {F}. It can be written using the state space representation as follows:

ẋ ẍ = 0 1 z-g z z 0 x ẋ + 0 g x + g z z x zmp = A(t)X(t) + B(t) (4)
It is a second order nonlinear dynamic system with parameters: α 1 , α 2 , α 3 , z, ż, z and x zmp . In particular, the first three parameters are constant while the others are time variants. In order to have a diagonal state-transition matrix (it simplifies the computation of the solution) we define a state transformation:

X = T -1 X = 1 2 1 2 1 2 f 2 -1 2 f 2 -1 X Â = T -1 AT = f 1 0 0 -f 1 B = T -1 B = f 2 g x + g z z x zmp -f 2 g x + g z z x zmp (5)
where:

f 1 = z(z -g z ) z f 2 = z(z -g z )
zg z Since z(zg z ) > 0, the invertibility of the transformation matrix T (and hence the uniqueness of the transformation) is guaranteed. This condition is valid in a wide range of applications. In fact, z is positive in all the feasible configuration of the inverted pendulum. Moreover, in the case of z ≥ 0, the condition is valid in the range of parameters:

- π 2 ≤ α 1 ≤ π 2 - π 2 ≤ α 2 ≤ π 2
All the configurations that can be exploited with the real robot do not violate these constraints. Instead, in the case of z < 0, the condition results valid if the following constraint is verified:

|z| g < c 1 c 2
This constraint is generally satisfied because the ratio, between the COM accelerations and the constant g, has low values during walking. For instance, the maximum acceleration, during a walk performed by a human being, is around 2m/s 2 (in the direction of walking), thus the ratio is less than 0.2. Therefore, the condition for the invertibility of the transformation matrix T is assumed always true. The equivalent system can be represented as follows:

Ẋ = Â X + B (6)
The solution of ( 6) is given by the following equations:

x1 (t) =e t 0 f 1 (u)du x1 (0) + t 0 e t v f 1 (u)du f 2 (v) g x + g z z(v) x zmp (v) dv x2 (t) =e -t 0 f 1 (u)du x2 (0) - t 0 e -t v f 1 (u)du f 2 (v) g x + g z z(v) x zmp (v) dv (7)
where x1 (t) and x2 (t) are respectively the first and the second elements of the equivalent state vector X.

A similar procedure was applied to the second differential equation of (3). It represents the movement of the COM along the y direction (Fig. 1). The solution of the equivalent system is given by: The equivalence used for the y movement is the same used for the x movement.

ŷ1 (t) =e t 0 f 1 (u)du ŷ1 (0) + t 0 e t v f 1 (u)du f 2 (v) g y + g z z(v) y zmp (v) dv ŷ2 (t) =e -t 0 f 1 (u)du ŷ2 (0) - t 0 e -t v f 1 (u)du f 2 (v) g y + g z z(v) y zmp (v) dv (8)

III. TRAJECTORY GENERATOR

We approximate the robot using the 3D inverted pendulum as in Fig. 1. The {F} is located at the foot of the supporting leg and the mass at the COM of the robot. In this work we focus on the case where the inclination changes in just one direction. In the following, we refer to the common case where the robot is walking on a flat surface and then a positive slope (with inclination equal to θ ) occurs. However the method presented is general and can be used in any situation.

The transition movement (of duration T tr ) starts with a single support phase (of duration T ss ) where the robot brings one foot on the slope. Then follows the double support phase (of duration T db ) where the robot has one foot on the flat ground and another on the slope. The trajectories to perform during the first phase are defined by equations ( 7) and ( 8) while the trajectories used for the second phase are polynomial trajectories.

First, the initial and final position and velocity of the COM of the robot during the transition movement are computed, then the vertical movement (along z direction) is defined. Finally, the ZMP trajectories to drive the movement during the single support are computed using the equivalent representation of the Inverted Pendulum.

A. Initial and Final Position and Velocity

We generate the trajectories for walking on the flat ground or on the inclined surface using the 3D Linear Inverted Pendulum model [START_REF] Kajita | The 3d linear inverted pendulum mode: a simple modeling for a biped walking pattern generation[END_REF] and the ZMP criterion to guarantee the stability.

Referring to Fig. 2, {F} is located at the support foot of the transition movement and p i = [x i , y i , z i ] T is the initial position of the transition movement. d is the position (w.r.t. {F}) where the second foot is supposed to land at the end of the single support phase and {F * } is the reference frame of the support foot of the first walking cycle on the incline surface. p * is the position of the COM (w.r.t. {F * }) at the beginning of the walking on the incline surface. The final position of the transition movement can be computed as p f = d +R y (-θ )p * where R y (•) is the rotational matrix around the y axis. In the same way the final velocity of the transition movement can be computed as ṗ f = [ ẋ f , ẏ f , ż f ] T = R y (-θ ) ṗ * where ṗ * is the velocity of the COM (w.r.t. {F * }) at the beginning of the walking on the incline surface.

B. Vertical Movement and ZMP Trajectories

Given the desired duration of the entire transfer phase (T tr ) we define the trajectory for the vertical movement of the

z(t) =a 1 t 2 + a 2 t + a 3 t = [0 : T tr ] a 3 = z(0) a 2 = ż(0)T tr + 2z(T tr ) -2a 3 + ż(T tr )T tr 2T tr a 1 = z(T tr ) -a 2 T tr -a 3 T 2 tr ( 9
)
This is a second order polynomial trajectory that best fits the desired constraints (T tr , z(0), z(T tr ), ż(0) and ż(T tr )).

The function to use for the vertical movement can also be different from [START_REF] Tsagarakis | The design of the lower body of the compliant humanoid robot "ccub[END_REF]. However the proposed one ensures the invertibility of the transformation matrix T (see II-B), and it allows some later simplification in the computation because of its low order (see III-C). Fig. 3 reports an example of trajectory generated with [START_REF] Tsagarakis | The design of the lower body of the compliant humanoid robot "ccub[END_REF]. Negative time represents instants before the transition (blue), then the trajectory during the transition is reported in green and after the transition in red.

The ZMP trajectories are defined as follows:

x zmp (t) = β 0 ≤ t ≤ T ss (10)
y zmp (t) = γ i f 0 ≤ t ≤ T sw -γ i f T sw < t ≤ T ss (11)
T sw ≤ T ss < T tr where β , γ, T sw are parameters which concern the ZMP trajectory while T ss refers to the duration of the single support. The ZMP reference for the x direction is a constant value while for the y direction, step functions are used.

C. Parameters Computation

In order to compute the trajectory of the movement along the x and y directions the values of the parameters β , γ, T sw and T ss need to be computed.

The values of the parameters β and T ss are computed considering the equations of the movement along x. We define a candidate function for the double support phase as follows This function of class C 1 is symmetrical with respect to the point ( T tr 2 , 0), and takes the value x f with derivative ẋ f at t = T tr . We refer to it as a "candidate function" because just part of it is used during the double support phase, more specifically the part from the computed value t = T ss to t = T tr .

x db (t) = b 1 t - T tr 2 + b 2 t - T tr 2 t = [0 : T tr ] b 1 = 2 ẋ f T tr -4x f T 2 tr b 2 = ẋ f -b 1 T tr (12)
Substituting ( 10) into ( 7), considering ( 12) and ( 5), and after some manipulation of the equations, the following system is derived:

                           β = xdb (T ss ) e F 1 (T ss ) -e -F 1 (0) x1 (0) -g x T ss 0 e -F 1 (v) f 2 (v)dv g z T ss 0 e -F 1 (v) f 2 (v) z(v) dv β = xdb (T ss ) e -F 1 (T ss ) -e F 1 (0) x2 (0) + g x T ss 0 e F 1 (v) f 2 (v)dv -g z T ss 0 e F 1 (v) f 2 (v) z(v) dv
(13) were F 1 (•) is the primitive of f 1 (•) and xdb (t) and xdb (t) are obtained applying the transformation (5) respectively to x db (t) and ẋdb (t). Because of we kept the order of z(t) lower than three (see III-B), the primitive of f 1 (t) exists and is defined as follows:

F 1 (t) = 2a 1 -g z a 1 ln (2a 1 -g z )(a 1 t 2 + a 2 t + a 3 ) + (2a 1 t + a 2 )(2a 1 -g z ) 2 a 1 (2a 1 -g z ) (14)
Therefore, (13) is a system of two equation in two unknown, T ss and β respectively. More specifically, this system allows to compute the time T ss < T tr where the single support trajectory can "join" the double support candidate function together with the corresponding value of β . Then, the trajectory of the whole movement along the x direction can be expressed as follows:

x tr (t) = x(t) i f 0 ≤ t ≤ T ss x db (t) i f T ss < t ≤ T tr (15)
Fig. 4 reports an example of our candidate function (in green) for the movement along the x direction and the trajectory developed for the single support (in blue). These results are computed based on the z trajectory reported in Fig. 3. In a similar way the setting of the parameters γ and T sw is addressed using the equations of the movement along y. The candidate function for the double support is defined as follows

y db (t) =b 1 t 2 + b 2 t + b 3 t = [0 : T tr ] b 1 = ẏ f T tr + b 3 -y f T 2 tr b 2 = ẏ f -2b 1 T tr b 3 = y i (16)
It is a second order polynomial function (class C ∞ ) taking the value y f and derivative ẏ f at t = T tr . Substituting ( 11) into ( 8), referring to ( 16) and ( 5), the following system is derived:

                           γ = ŷdb (T ss ) e F 1 (T ss ) -e -F 1 (0) ŷ1 (0) -g y T ss 0 e -F 1 (v) f 2 (v)dv 2g z T sw 0 e -F 1 (v) f 2 (v) z(v) dv -g z T ss 0 e -F 1 (v) f 2 (v) z(v) dv γ = ŷdb (T ss ) e -F 1 (T ss ) -e F 1 (0) ŷ2 (0) + g y T ss 0 e F 1 (v) f 2 (v)dv -2g z T sw 0 e F 1 (v) f 2 (v) z(v) dv + g z T ss 0 e F 1 (v) f 2 (v) z(v) dv
(17) were ŷdb (T ss ) and ŷdb (T ss ) are obtained applying the transformation (5) respectively to y db (T ss ) and ẏdb (T ss ).

Equations ( 17) is used to compute T sw ≤ T ss and γ so that the single support trajectory would "join" the double support candidate function at time T ss . Then, the trajectory of the whole movement along the y direction can be expressed as follows:

y tr (t) = y(t) i f 0 ≤ t ≤ T ss y db (t) i f T ss < t ≤ T tr (18)
Fig. 5 reports the candidate function (in green) and the single support trajectory (in blue) for the movement along the y direction computed for the z trajectory reported in Fig. 3.

It is important to note that x tr (t), ẋtr (t), y tr (t) and ẏtr (t) are continuous in 0 ≤ t ≤ T tr . In fact, continuity at t = T ss is guaranteed by Eq. ( 13) and (17), while for t = T ss , it is guaranteed based on the definition Eq. ( 3), ( 12) and ( 16). This condition ensure the absence of impulsive acceleration which may cause loss of balance.

D. Analysis of the Transition Movement

Equations ( 15) and ( 18) allow one to compute the trajectory of the whole transition movement of the COM along the x and y direction. The existence of such trajectories depends on the existence of a ZMP trajectory whose parameters can be computed using (13) and (17). However, in order to preserve the balance of the real robot during the transfer movement, the ZMP must be inside the convex hull of the support regions. We therefore define the feasible range of values for the ZMP parameters according to the dimension of the foot of the COMAN robot: -0.06 ≤ β ≤ 0.09 and -0.03 ≤ γ ≤ 0.03. Fig. 6 and 7 report the value of β and γ, computed for different gaits. The two surfaces in Fig. 6 represent the value of β while the step length |d| is fixed (see III-A) and the slope inclination and the desired duration (respectively θ and T tr ) change. In particular, the lower surface corresponds to the smallest step length that the COMAN robot can perform in order to have one foot in front of the other (|d| = 0.16m) and the surface on top of it, refers to a step length equal to 0.40m. We can notice that the parameter has a non linear dependence on T tr and |d| : it increases when the desired duration decreases or the step length increases. In fact, faster motions require larger accelerations that can be generated by moving the ZMP away from the anchor point of the inverted pendulum. In Fig. 7 the dependency of parameter γ on the gait is presented. The two surfaces represent the values of γ for the same step lengths considered in Fig. 6. The dependency of γ on the step length is mainly due to T ss which changes according to the forward movement.

Furthermore, both parameters have a dependency on the slope inclination (although this dependency is low for γ). In fact, by changing θ , the dynamics of the movement along the vertical direction alters too. A higher inclination requires a larger vertical acceleration, which can be generated with a ZMP moving away from the anchor point of the inverted pendulum.

When the values of β and γ (computed for a desired gait) exceed the feasible range, different strategies can be used. As suggested by the analysis of figures 6 and 7, one solution consists of finding a feasible gait close to the desired one, for example changing the step length or the duration of the transfer movement. Another solution could be to modify the functions ( 12) and (16).

IV. EXPERIMENTS A. The COMAN Robot

The lower body of the COMAN robot was used to perform the experiments reported in this section. This is a bipedal robot which is powered by actuators implementing joints with physical compliance [START_REF] Tsagarakis | The design of the lower body of the compliant humanoid robot "ccub[END_REF]. All the joints of the lower body are compliant with the exception of the joints located at the ankle roll, hip roll and hip yaw.

Each joint has torque sensor and three encoders to measure the position of the joint before and after the elastic transmission while the third is an absolute encoder sensor used for the system initialization. Motors are position controlled with a PID control loop [START_REF] Tsagarakis | Lower body realization of the baby humanoid -icub[END_REF]. Moreover the COMAN robot is equipped with a 6 axis IMU located at the pelvis and two custom 6 axis force/torque sensors mounted at the feet, below the ankles.

The disturbances can be quite important when the steps are large, which is compulsory in dynamic transition phases. For this reason, we use sensory feedback from the robot to add active compliance in order to smoothen the motion of the robot. To do so, we apply the controller described in [START_REF] Perrin | Compliant attitude control and stepping strategy for balance recovery with the humanoid coman[END_REF], which combines the control law of [START_REF] Li | Stabilization for the compliant humanoid robot coman exploiting intrinsic and controlled compliance[END_REF] that emulates a compliant behavior of the center of mass using the information from the force/torque sensors in the robot feet, and a compliant attitude control algorithm based on feedback from the inertia measurement unit rigidly linked to the pelvis. This algorithm is not intended to directly increase the stability of walking motions, but it does so by acting like a low-pass filter to disturbances applied the robot, such as landing impacts which are perturbations that our model does not take into account.

B. Experimental results

The experiment reported in this section permitted the COMAN robot to walk on a flat ground for a few steps then a slope of 10 • inclination occurs. The trajectory of the COM (supposed rigidly connected at the pelvis of the robot) was computed at the beginning of each step, then the trajectories for the feet to respect of the pelvis of the robot was calculated and processed by the controller. Using inverse kinematics, joint references were computed and sent to the joints of the robot.

The walking gait parameters during the different phases and the parameters generated from the trajectory generator during the transition are collected in Table I. As it can be observed , ZMP parameters change considerably during the transition in order to allow the robot to perform the desired movement. In Fig. 8 the reference trajectory of the right foot

V. CONCLUSIONS AND FUTURE WORKS

We addressed the problem of dynamic walking on inclined planes. In this paper we focused on the case where the inclination changes just in the walking direction. The problem is divided into two phases: walking and transition. The first is solved using traditional linear models for walking trajectory generation. The transition phase requires a deeper study because of the intrinsic complexity of the motion that must be performed. The dynamics of the robot was approximated by a (non linear) inverted pendulum. Then, the equations of this model were defined and an "equivalent" model was used to develop a trajectory generator. Using this trajectory generator we enabled the COMAN robot to perform a dynamic transition from a horizontal surface to a slope of 10 • . The motion generated achieves a smooth and fast transition between the two surfaces, proving that our model captures well the dynamics of the real system. The passive compliance improved the robustness of the walking adapting the robot motion to the uncertainties of the ground. The novel method generates transition between planes generally oriented, hence, it can be used to perform a dynamic transition from horizontal surface to a downslope surface and from a slope surface to another surface with different inclination as well. Based on these results, our goal is to extend our work and enable the robot to perform locomotion on challenging uneven terrains by planning appropriate trajectories and executing them in a controlled and adaptable way.

Fig. 1 .

 1 Fig. 1. 3D Inverted Pendulum Model.

Fig. 2 .

 2 Fig. 2. Schematics of the transition phase.

Fig. 3 .

 3 Fig. 3. z trajectory : T tr = 1.3s, z(0) = 0.470m, ż(0) = 0, z(T tr ) = 0.500m, ż(T tr ) = 0.039s

Fig. 4 .

 4 Fig. 4. x trajectory and candidate function : x(0) = -0.057m, ẋ(0) = 0.320, x(T tr ) = 0.189m, ẋ(T tr ) = 0.146, T tr = 1.3s, T ss = 0.93s, β = 0.105m

Fig. 5 .

 5 Fig. 5. y trajectory and candidate function : y(0) = 0.057m, ẏ(0) = -0.253, y(T tr ) = 0.107m, ẏ(T tr ) = 0.251, T ss = 0.96s, T sw = 0.340s, γ = 0.001m

Fig. 6 .

 6 Fig. 6. β parameter for d = 0.16m and d = 0.40m

Fig. 8 .

 8 Fig. 8. Foot trajectories for the right leg

TABLE I GAITS

 I USED DURING THE EXPERIMENT

		Flat	Transition Incline
	Step length [m]	0.19	0.19	0.09
	T ss [s]	0.76	0.78	0.75
	T db [s]	0.20	0.27	0.20
	β [m]	0.005	0.082	0.0
	γ[m]	0.0	0.011	0.0
	T sw [s]	0.380	0.132	0.380

*This work is supported by the FP7 European project Walk-Man (FP7-ICT-611832).


Emmanouil Spyrakos-Papastavridis

Nicolas Perrin
email: perrin@isir.upmc.fr

Nikos G Tsagarakis

Jian S Dai

Darwin G Caldwell

Lyapunov

Lyapunov Stability Margins for humanoid robot balancing

niveau recherche, publiés ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

I. INTRODUCTION

HE topic of humanoid balancing has been studied extensively as its importance has undergone a steady increase in recent years, owing to the development of numerous humanoids possessing distinct mechanical structures. Among the most important contributions that aided in the shaping of the theories developed thereafter, was the introduction of the zero-moment-point (ZMP), that has been offered to the field through the work presented in [START_REF] Vukobratovic | Zero-moment point -Thirty Five Years of its Life[END_REF], wherein the authors propose a point under the foot sole whose position defines the dynamic balance of a bipedal system. There have also been noteworthy extensions of this theory that have aided in the clarification of certain aspects pertaining to the original ZMP notion. The work in [START_REF] Sardain | Forces Acting on a Biped Robot. Center of Pressure -Zero Moment Point[END_REF] rigorously describes the center of pressure (CoP) and ZMP concepts, highlighting their differences as well as the cases in which they are equivalent. Another important balance criterion known as the foot rotation indicator (FRI) [START_REF] Goswami | Postural Stability of Biped Robots and the Foot-Rotation Indicator FRI Point[END_REF] has been defined as the point on a humanoid's foot at which the net normal force must act in order to ensure that the foot remains stationary, although this only applies to the single support stance. As far as balancing strategies are concerned, there have been several works dealing with this topic. [START_REF] Stephens | Integral Control of Humanoid Balance[END_REF] proposes dynamic balancing through the use of ankle and hip strategies. The former involves movement of the entire system about the ankle and has been studied in [START_REF] Kajita | Study of Dynamic Biped Locomotion on Rugged Terrain[END_REF] and [START_REF] Stephens | Humanoid Push Recovery[END_REF], where the authors have utilized torque control of the ankles. [START_REF] Stephens | Humanoid Push Recovery[END_REF] assumes a direct torque control of the stiff ankle, rendering it possible to control the CoP in a delay-free manner, whereas this paper demonstrates how the presence of under-actuated elastic elements in compliant humanoids prevents the latter from holding true. A natural extension of these schemes, namely the hip strategy, has been examined in addition to how a humanoid can switch between various stabilization techniques [START_REF] Stephens | Humanoid Push Recovery[END_REF], i.e. hip/ankle strategies, and stepping, to ensure that stability is maintained. [START_REF] Hyon | Passivity-Based Full-Body Force Control for Humanoids and Application to Dynamic Balancing and Locomotion[END_REF] proposes a method of passivating a humanoid through a combination of translating the ground reaction forces (GRFs) to joint torques and gravity compensation control. [START_REF] Kim | Landing Force Control for Humanoid Robot by Time-Domain Passivity Approach[END_REF] also focuses on a passivity-based approach that is aimed at absorbing the GRFs acting on a humanoid during walking. [START_REF] Goswami | Rate of change of angular momentum and balance maintenance of biped robots[END_REF] demonstrates that the monitoring and modification of the rate of change of angular momentum as both a stability criterion and control variable, can be used to balance a bipedal robot. ZMP preview control schemes are a common choice for stabilization and have been described in [START_REF] Azevedo | Moving horizon control for biped robots without reference trajectory[END_REF] [START_REF] Wieber | Trajectory Free Linear Model Predictive Control for Stable Walking in the Presence of Strong Perturbations[END_REF][12], while ZMP feedback controllers have been presented and adapted to the field of stepping in the presence of external perturbations [START_REF] Napoleon | Balance Control Analysis of Humanoid Robot based on ZMP Feedback Control[END_REF]. This leads to the next topic of stepping, where [START_REF] Pratt | Capture Point: A Step toward Humanoid Push Recovery[END_REF] provides an answer to the question of 'when and where must a step be taken' in order to stabilize a given system, by introducing the Capture Region concept. These are regions on the terrain, within which a robot can take a step in order to stabilize its structure. The problem of humanoid balance monitoring and fall detection has been approached using several methods, ranging from the utilization of attitude sensors and reflexes [START_REF] Renner | Instability Detection and Fall Avoidance for a Humanoid Using Attitude Sensors and Reflexes[END_REF], to viability theory [START_REF] Wieber | Viability and Predictive Control for Safe Locomotion[END_REF] and probabilistic techniques [START_REF] Höhn | Probabilistic Balance Monitoring for Bipedal Robots[END_REF], while it is crucial to mention the utilization of the Maximal Output Admissible (MOA) set technique that was recently proposed [START_REF] Yamamoto | Maximal Output Admissible Set for Trajectory Tracking Control of Biped Robots and its Application to Falling Avoidance Control[END_REF]. Contrarily, this paper aims at addressing the aforementioned problem through the consideration of dynamical models of increased complexity and closed-loop energy functions that are used to generate values corresponding to unstable states, from which the robot would not be capable of recovering its balance. The idea of utilizing Lyapunov Stability Margins for the assessment of a robot's dynamical balance, was initially introduced in the pioneering work seen in [START_REF] Wieber | On the stability of walking systems[END_REF], for two reasons. Firstly, the ZMP/CoP is incapable of providing a useful measure of stability on uneven terrain and secondly, the Energy Stability Margins unanimously conclude that tipping over a contact point edge is an unstable

Lyapunov Stability Margins for Humanoid Robot Balancing

Emmanouil Spyrakos-Papastavridis, Nicolas Perrin, Nikos G. Tsagarakis, Jian S. Dai and Darwin G. Caldwell T situation for walking systems, even though this phenomenon is frequently encountered in stable walking [START_REF] Wieber | On the stability of walking systems[END_REF]. While [START_REF] Wieber | On the stability of walking systems[END_REF] introduced the Lyapunov Stability Margin concept without giving a practical and computationally tractable example, our proposed approach contributes by providing a specific Lyapunov Stability Margin for a humanoid robot that can be computed quickly through a simple relationship between the CoP deviation and the closed-loop energy using specific Lyapunov functions. Furthermore, it distinguishes itself from the orbital energy [START_REF] Kajita | Dynamic Walking Control of a Biped Robot Along a Potential Energy Conserving Orbit[END_REF] and energy stability margin methods [START_REF] Garcia | An improved energy stability margin for walking machines subject to dynamic effects[END_REF] of monitoring balance, in the sense that it considers not only more intricate dynamical models that include compliance but it also accounts for the closed-loop system properties. An additional contribution of this work is that it presents a control scheme that ensures the closed-loop system's asymptotical stability and offers a method, based on this same control scheme, through which the robot's dynamical stability can be monitored. The rest of the paper is structured as follows; section II introduces the dynamical models and the joint controller, section III describes the balance controllability, section IV provides a mathematical proof of the method's validity, section V reports on the experimental results, section VI extends the relevant theory to walking, and finally section VII discusses the conclusions.

II. DYNAMICAL MODEL AND JOINT CONTROL

A. Compliant Robot Dynamics

For the double support case, we consider a generic 𝑗-degree of freedom robot with 𝑛 𝑖 -drives for each degree of freedom 𝑖 = 1,2 … 𝑗. The total number of drives is 𝑛 = ∑ 𝑛 𝑖 𝑗 𝑖=1

. The link and motor dynamics may be described as follows [START_REF] Spyrakos-Papastavridis | Gravity Compensation Control of Compliant Joint Systems with Multiple Drives[END_REF]: 𝑀 𝐽 (𝑞)𝑞̈+ 𝑁𝑞̇+ 𝐶(𝑞, 𝑞̇)𝑞̇+ 𝑆 𝑚 𝑇 𝑃(𝑆 𝑚 𝑞 -𝜃) = 𝜏 𝑔 (𝑞) (1)

𝐽𝜃 ̈+ 𝐷𝜃 ̇-𝑃𝑆 𝑚 𝑞 + 𝑃𝜃 = 𝑉 𝑇𝐺 𝑉 𝑚 [START_REF] Sardain | Forces Acting on a Biped Robot. Center of Pressure -Zero Moment Point[END_REF] where 𝑞 and 𝜃 are the link and motor positions, 𝑀 𝐽 (𝑞), 𝑁 and 𝐶(𝑞, 𝑞̇) ∈ 𝑅 𝑗×𝑗 are the inertia, damping and Coriolis/centripetal matrices respectively, 𝜏 𝑔 (𝑞) is the gravity torque vector, 𝑉 𝑇𝐺 ∈ 𝑅 𝑛×𝑛 is the voltage-to-torque gain matrix and 𝑉 𝑚 represents the motor voltages. 𝑃 ∈ 𝑅 𝑛×𝑛 is a diagonal matrix with positive entries representing the passive spring stiffness between the motors and the robot links, while 𝐽, 𝐷 ∈ 𝑅 𝑛×𝑛 are the motor inertia and damping. 𝑆 𝑚 𝑇 ∈ 𝑅 𝑗×𝑛 possesses the following structure:

𝑆 𝑚 𝑇 = [ 1 1 ⋯ 1 ⏟ 𝑛 1 0 ⋯ 0 0 1 1 ⋯ 1 ⏟ 𝑛 2 ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ 1 1 ⋯ 1 ⏟ 𝑛 𝑗 ] (3)
A substantial degree of modeling accuracy was preserved by including all the sagittal joints in the system's mathematical description. However, the over-actuated nature of the double support stance led to the six joints being treated as three (Fig. 1), although all six actuators were considered. This approach provides greater precision as compared to approximating the whole humanoid's structure as a single inverted pendulum. Fig. 1 depicts the correspondence between the actual robot's joints with those of the model. The elements of the 3-DOF double support vector were arranged as follows:

𝜏 𝑔0 = [ 𝜏 𝑔𝑎 𝜏 𝑔𝑘 𝜏 𝑔ℎ ] 𝑇
with 𝜏 𝑎 , 𝜏 𝑘 , 𝜏 ℎ representing the ankle, knee and hip torques respectively. One of the main properties of the gravity vector, to be used in subsequent sections, is the following:

‖ 𝜕𝜏 𝑔 (𝑞) 𝜕𝑞 ‖ = ‖ 𝜕 2 𝑈 𝑔 (𝑞) 𝜕𝑞 2 ‖ < 𝛼 ( 4
)
for some 𝛼 > 0 ; here 𝑈 𝑔 (𝑞) denotes the potential energy due to gravity, 𝜏 𝑔 (𝑞) = -(𝜕𝑈 𝑔 (𝑞)/𝜕𝑞) 𝑇 and the operator norm ‖𝐴‖ = 𝑚𝑎𝑥{‖𝐴𝑥‖/‖𝑥‖} is considered.

B. Desired Gravity Compensation Controller

The low-level joint controller was based upon gravity compensation control, employing both motor and link feedback. The associated control law may be represented as follows:

𝑉 𝑚 = 𝐾 𝑚1 (𝑆 𝑚 𝑞 𝑑 -𝜃) -𝐾 𝑚2 𝜃 ̇-𝐾 𝑗2 𝑞̇+ 𝑢 𝑔𝑐 ( 5
)
where 𝑢 𝑔𝑐 is the gravity compensation term and 𝑞 𝑑 is the desired position, while 𝐾 𝑚1 , 𝐾 𝑚2 and 𝐾 𝑗2 are the diagonal, positive definite motor position, motor velocity and link velocity feedback gain matrices.

For the double support, 𝑢 𝑔𝑐 is given by:

𝑢 𝑔𝑐 = -𝑉 𝑇𝐺 -1 (𝑉 𝑇𝐺 𝐾 𝑚1 𝑃 -1 + 𝐼)(𝑆 𝑚 𝑇 ) + 𝜏 𝑔 (𝑞 𝑑 ) (6)
where 𝑞 has been replaced with 𝑞 𝑑 since we are considering a desired gravity compensation controller, while (𝑆 𝑚 𝑇 ) + denotes the Moore-Penrose pseudoinverse of 𝑆 𝑚 𝑇 . By considering the closed-loop system's steady state equations, we can define the following matrix that plays a central role in the stability analysis since it must satisfy certain conditions in order for closed-loop stability to be guaranteed, as shown in [START_REF] Spyrakos-Papastavridis | A Compliant Humanoid Walking Strategy Based on the Switching of State Feedback Gravity Compensation Controllers[END_REF]:

𝑇 𝐷 = [ 𝑆 𝑚 𝑇 𝑃𝑆 𝑚 -𝑆 𝑚 𝑇 𝑃 -𝑃𝑆 𝑚 𝑉 𝑇𝐺 𝐾 𝑚1 + 𝑃 ] (7)
The desired motor and link positions are related by:

𝜃 𝑑 = 𝑆 𝑚 𝑞 𝑑 -𝑃 -1 (𝑆 𝑚 𝑇 ) + 𝜏 𝑔 (𝑞 𝑑 ) (8)
Additionally, the following matrix is defined:

𝛾 = 𝑁 • (𝐷 + 𝑉 𝑇𝐺 𝐾 𝑚2 ) - (𝑉 𝑇𝐺 𝐾 𝑗2 ) 2 4 ( 9
)
in order to be used together with 𝑇 𝐷 for the stability criteria statements.

C. Closed-Loop System Lyapunov Function Using control law (5), the closed-loop system was rendered globally asymptotically stable, as was demonstrated in the analysis presented in [START_REF] Spyrakos-Papastavridis | A Compliant Humanoid Walking Strategy Based on the Switching of State Feedback Gravity Compensation Controllers[END_REF]. Hence, the following Lyapunov function shall be considered throughout the paper:

𝑉 𝑇 (𝑞 𝐹 , 𝑞̇𝐹) = 1 2 𝑞̇𝐹 𝑇 𝑀(𝑞)𝑞̇𝐹 + 1 2 𝑞 𝐸 𝑇 𝑇 𝐷 𝑞 𝐸 + 𝑈 𝑔 (𝑞) -𝑈 𝑔 (𝑞 𝑑 ) + 𝑞 𝐸 𝑇 [ 𝜏 𝑔 (𝑞 𝑑 ) 0 ] ≥ 0 (10)
, where

𝑀(𝑞) = [ 𝑀 𝐽 (𝑞) 0 0 𝐽 ], 𝑞 𝐹 = [ 𝑞 𝜃 ], 𝑞 𝐹 𝑑 = [ 𝑞 𝑑 𝜃 𝑑 ], 𝑞 𝐸 = (𝑞 𝐹 -𝑞 𝐹 𝑑 ).
Explicit calculations proving that the time derivative is negative definite are omitted here as they can be found in [START_REF] Spyrakos-Papastavridis | Gravity Compensation Control of Compliant Joint Systems with Multiple Drives[END_REF]. It is essential to state that global stability holds if and only if the following conditions are satisfied [START_REF] Spyrakos-Papastavridis | A Compliant Humanoid Walking Strategy Based on the Switching of State Feedback Gravity Compensation Controllers[END_REF]:

𝜆 𝑚𝑖𝑛 (𝑇 𝐷 ) > 𝛼 and 𝜆 𝑚𝑖𝑛 (𝛾) > 0

where 𝜆 𝑚𝑖𝑛 denotes the minimum Eigenvalue. The satisfaction of these conditions is contingent upon the tuning of the controller, which in this case is related to the selection of the 𝐾 𝑚1 , 𝐾 𝑚2 and 𝐾 𝑗2 matrices. Furthermore, global stability does not imply the humanoid's possession of a dynamically balanced state in the CoP sense, and for this reason, the subsequent section will focus on describing and proving how the CoP deviation can be bounded by a constant multiplied by the square root of the value of the Lyapunov function [START_REF] Azevedo | Moving horizon control for biped robots without reference trajectory[END_REF].

III. BALANCE MONITORING

A. Dynamical CoP Expression for Compliant Bipeds

This sub-section provides an expression for a compliant biped's CoP, revealing that this variable may not be controlled in a direct manner, as opposed to a stiff biped's CoP. We need to express the CoP in terms of the system's dynamics and shall commence with the following equation:

𝑋 𝐶𝑜𝑃 =
𝜏 𝑎 𝐹 𝑍 [START_REF] Wieber | Trajectory Free Linear Model Predictive Control for Stable Walking in the Presence of Strong Perturbations[END_REF] with 𝜏 𝑎 and 𝐹 𝑍 representing the ankle torque and the vertical component of the GRF, that may also be expressed as:

𝐹 𝑍 = 𝑚 𝑇 (𝑍 ̈𝐶 + 𝑔) (12)
where 𝑚 𝑇 is the robot's total mass and 𝑍 ̈𝐶 is the CoM acceleration along the z-axis, while the acceleration of gravity, 𝑔 = 9.81 𝑚 𝑠 2 . The relationship presented in [START_REF] Stephens | Humanoid Push Recovery[END_REF] may now be employed, although it needs to be appropriately modified for the treatment of compliant humanoids beforehand. Thus, (1) -( 2) may be expressed as follows:

𝑀𝑞̈𝐹 = 𝜏 -𝑊 ( 13
)
where

𝑋 𝐶𝑜𝑃 = -𝐺 • 𝑆 𝑚 𝑇 𝑃(𝑆 𝑚 𝑞 -𝜃) 𝑚 𝑇 (𝑍 ̈𝐶 + 𝑔) ( 15
)
where 𝐺 is a selection matrix that selects the ankle torque.

The above equation sheds light on the fact that a compliant robot's CoP may not be directly controlled, since the torque input 𝜏 𝑎 = -𝐺 • 𝑆 𝑚 𝑇 𝑃(𝑆 𝑚 𝑞 -𝜃) is not directly controllable.

B. Trigger Energy and CoP

The aim is to obtain an energy value corresponding to a state that has been assumed by the robot, from which it may not be able to recover its balance [START_REF] Wieber | On the stability of walking systems[END_REF], and to set this as the trigger energy. Given the fact that our dynamical model and energy function are concerned solely with sagittal motions, this would imply the CoP reaching either one of the x-axis limits of the support polygon. Lateral motions are not considered since the relevant joints do not incorporate compliant elements and would hence require a different control law that would be accompanied with a distinct Lyapunov function. It is noted that the robot is to be operated around the point of maximal balance which would imply 𝑋 𝐶𝑜𝑃 = 0, that in our case corresponds to 𝑞 𝐹 𝑑 = 0. The method works not only for this specific operating point of 'maximal balance' but also for arbitrary equilibrium points. Furthermore, the trigger energy can be computed using equation (36) that is presented in the next sub-section, while the Lyapunov function [START_REF] Azevedo | Moving horizon control for biped robots without reference trajectory[END_REF] is to be used for the measurement of the total energy during the experiments. Thus, the difference between the measured and trigger energy values will provide insight into the robot's state of stability at a given time, as described in [START_REF] Wieber | On the stability of walking systems[END_REF]. To elaborate, the energy value tends to increase as the CoP moves from the center of the polygon towards its edges, although the two are not related in a linear manner. Additionally, this approach can be used for trajectory generation entailing models that are more intricate than the linear inverted pendulum model (LIPM).

IV. LYAPUNOV ENERGY-COP EXPRESSION

A. Relationship Formulation

For a bipedal robot whose closed-loop energy is described by [START_REF] Azevedo | Moving horizon control for biped robots without reference trajectory[END_REF], there exists a range of energy values for which the CoP can only remain within the support polygon, as will be demonstrated in the subsequent lines. It shall be assumed that the value of 𝑍 ̈𝐶 is small in comparison to that of 𝑔, as it is in practice, and has also been considered in several other works [START_REF] Kajita | Study of Dynamic Biped Locomotion on Rugged Terrain[END_REF][6] [START_REF] Napoleon | Balance Control Analysis of Humanoid Robot based on ZMP Feedback Control[END_REF], such that:

𝑋 𝐶𝑜𝑃 = 𝜏 𝑎 𝑚 𝑇 𝑔 ( 16
)
where 𝜏 𝑎 = -𝐺 • 𝑆 𝑚 𝑇 𝑃(𝑆 𝑚 𝑞 -𝜃). Additionally, we define the CoP position and the ankle torque at equilibrium (𝑋 𝐶𝑜𝑃 𝑑 and 𝜏 𝑑 ):

𝑋 𝐶𝑜𝑃 𝑑 = 𝜏 𝑑 𝑚 𝑇 𝑔 (17)
with 𝜏 𝑑 = -𝐺 • 𝑆 𝑚 𝑇 𝑃(𝑆 𝑚 𝑞 𝑑 -𝜃 𝑑 ). Besides, we recall that 𝜏 𝑎 = -𝐺 • 𝑆 𝑚 𝑇 𝑃(𝑆 𝑚 𝑞 -𝜃), hence: The following expression is therefore acquired:

𝜏 𝑎 -𝜏 𝑑 = -
|𝑋 𝐶𝑜𝑃 -𝑋 𝐶𝑜𝑃 𝑑 | ≤ √2(𝑛 𝑚𝑎𝑥 + 1)‖𝐺 • 𝑆 𝑚 𝑇 𝑃‖ √𝛿 • 𝑚 𝑇 𝑔 √𝑉 𝑇 (36)
A relationship between the total energy and the 𝑋 𝐶𝑜𝑃 has thus been established, while a number of calculations allow one to conclude the soundness of the units. This may be viewed as the first proof demonstrating that for a specific low-level joint controller, CoP positions can be bounded by values that are proportional to the square root of a Lyapunov function (the total closed-loop energy). This property leads to the existence of critical energy values, below which it is certain that the CoP position is to forever remain within the support region, provided the absence of future external perturbations (i.e. energy injections). The analysis can be extended by considering any equilibrium point since its validity is not restricted to the 𝑞 𝐹 𝑑 = 0 configuration. Equation (36) can be used to compute the trigger energy values based on the 𝑋 𝐶𝑜𝑃 values corresponding to the support polygon's limits. This provides a systematic approach to obtaining Regions of Trust, as opposed to defining them arbitrarily [START_REF] Giftthaler | Increased robustness of humanoid standing balance in the sagittal plane through adaptive joint torque reduction[END_REF]. Although we have only considered a double support model in this work, it is evident that the same formulae can be applied to the single support phase with minor modifications. Due to the Lyapunov function's inclusion of the kinetic energy terms of all the joints, this method's applicability is not restricted to ankle strategies. Furthermore, for every energy value corresponding to a balanced state in terms of the CoP value, the controller will also ensure that the robot is asymptotically stable at the joint level, and as a result, this will also imply that the CoP converges to the desired equilibrium position. It should be pointed out that there is absolutely no difficulty in computing the numerical values of the variables constituting the final expression (36), i.e. 𝛿, 𝐸, ‖𝐺 • 𝑆 𝑚 𝑇 𝑃‖, and 𝑛 𝑚𝑎𝑥 .

B. Stepping Algorithm

Prior to presenting a succinct version of our algorithm, it is important to state that for a given push, there will be two distinct positive energy values pertaining to the CoP's position in either the frontmost or rearmost sections of the support polygon. If the robot were agnostic to the direction of the push, it would then utilize the smallest of these two positive values to trigger a step. Since however our robot is equipped with FT sensors at the feet, these are used to measure the CoP position and hence the robot's direction of motion at a given point in time. Nevertheless, there is still a need for the observance of the center of pressure velocity, 𝑋 ̇𝐶𝑜𝑃 , that could be crucial in certain situations, such as ones in which the robot is moving towards a point that is close to either of the CoP limits and is then perturbed in the direction opposite to that of its current motion. The energy function itself would be agnostic to the fact that the velocity due to the disturbance was in fact a stabilizing one (i.e. returning it back to 𝑋 𝐶𝑜𝑃 = 0) and would require further directional information, that could be directly provided by the 𝑋 ̇𝐶𝑜𝑃 . Hence, a prerequisite for the selection of a trigger energy is the 𝑋 𝐶𝑜𝑃 's and 𝑋 ̇𝐶𝑜𝑃 's possession of equal signs. Having elucidated these aspects of our strategy, we may now summarize the energy computation and balance monitoring algorithm: 1. The 𝐸 𝐹 and 𝐸 𝐵 energies required to drive the CoP to the front and rear edges of the support polygon can be computed either by using theoretical upper bounds given by equation (36), or through experimental means. 2. The 𝐸 𝐹 and 𝐸 𝐵 values are both set as trigger energies whose selection is dependent upon the x-axis CoP measurements read by the force/torque sensors and the corresponding CoP velocities. 3. The energy value is monitored in real-time using [START_REF] Azevedo | Moving horizon control for biped robots without reference trajectory[END_REF], hence serving as an indicator of the humanoid's state of balance.

The 𝐸 𝐹 and 𝐸 𝐵 values may differ significantly, in accordance with the dimensions of the support polygon, although in the majority of cases, including the one considered in this paper, the 𝐸 𝐹 value will tend to be larger.

V. BALANCE MONITORING AND STEPPING EXPERIMENTS

A. Balance Monitoring Experiments The propounded method was corroborated through experimental means that involved the lower body of the COMAN [START_REF] Tsagarakis | Compliant Humanoid COMAN: Optimal Joint Stiffness Tuning for Modal Frequency Control[END_REF][27] [START_REF] Tsagarakis | The Design of the Lower Body of the Compliant Humanoid Robot "cCub[END_REF] being placed on the floor and subjected to a series of perturbations. The first set of tests served the purpose of demonstrating the validity of (36) by moving the robot's waist to arbitrary locations while it was in a double support stance. The force/torque sensors mounted on the robot's foot soles enabled the acquirement of x-axis force readings that indicated the direction from which the push had been applied and thus the energy limit to be utilized for signaling whether or not the robot was stable. Fig. 2 displays the pertinent results, wherein it is evident that the real CoP (𝑋 𝐶𝑜𝑃 𝑟𝑒𝑎𝑙 ) is always confined within the limits defined by the value of the theoretical bound (𝑋 𝐶𝑜𝑃 𝑇ℎ ), as described by (36), thus allowing us to conclude that the estimate is a conservative one guaranteeing that the CoP will reside within a safe region of operation at all times. Additionally, an imperative aspect of these results is that both the energy and the CoP asymptotically converge towards the equilibrium point, as described by (36). Moreover, Figs. 4 and5 portray the evolution of the energy and the CoP throughout the course of the frontal pushing experiments, while the orange lines on each plot denote the actual energy (𝐸 𝐹𝐸 , 𝐸 𝐵𝐸 in Table I) and CoP limits, and the green line represents the theoretical energy limits (𝐸 𝐹𝑇 , 𝐸 𝐵𝑇 in Table I). During the tests, the robot lost its balance at the instances when the energy exceeded the 𝐸𝑛𝑒𝑟𝑔𝑦 𝑟𝑒𝑎𝑙 and 𝑋 𝐶𝑜𝑃 𝑟𝑒𝑎𝑙 values, hence signifying that the limits were accurately calculated. Fig. 5 also displays the energy decrease that occurs once the robot loses balance, and this is attributed to the fact that the humanoid was held in place and manually moved back to the equilibrium position once the energy limit was exceeded, in order to prevent it from hitting the floor and damaging its structure. A similar experiment entailing the application of rear-side disturbances also permitted the observation that the robot's balance was lost once the energy threshold was exceeded, as depicted in Figs. 6 and7. Fig. 8 was acquired during experiments that involved getting hold of the robot's pelvis and moving it rapidly, in a reciprocating manner, leading to the generation of relatively higher joint velocities as compared to those seen in the above figures. Consequently, the discrepancy between the overall and potential energies is perspicuous, thus highlighting the importance of the kinetic energy in dynamical cases, as is to be expected. of the system, a stepping recovery experiment was carried out, involving the COMAN being pushed while standing in an upright position and then using the trigger energy to perform a step, as shown in the video attachment.

VI. ACKNOWLEDGEMENT

This work is supported by the WALK-MAN FP7-ICT-2013-10 European Commission project.

VII. CONCLUSIONS

A balance monitoring strategy for humanoid robots was presented in the paper and experimentally validated on the COMAN. The main concept behind the proposed method was the use of a closed-loop energy function aimed at accurately describing bounds on the robot's state of stability at a given point in time. A mathematical proof pertaining to the validity of the proposed approach has been provided, by establishing a relationship between the CoP and the closedloop energy, thus also attesting the fact that for certain energy values, the CoP can only remain within the support polygon. This can be viewed as an extension of the Lyapunov Stability Margin concept that was initially propounded in [START_REF] Wieber | On the stability of walking systems[END_REF]. Hence, our approach addresses the critical problem of robot balance in a mathematically sound way, and it proves that it is actually possible to compute Lyapunov Stability Margins that are not overly conservative, even when considering a complex control law that takes the passive elements of the robot actuation into account. In situations where the robot could perform various types of motion, tuning values becomes a feeble, impractical option. In such a context, the possibility of swiftly computing Lyapunov Stability Margins will enhance the degree of the robot's balance awareness, and its ability to make sound decisions based on the circumstances. Additionally, as safety becomes an increasingly important topic in robotics, the mathematical proofs associated with these Lyapunov Stability Margins will be invaluable in terms of certifying that a robot will always behave as expected.

Figure 1 .

 1 Figure 1. Lower body of compliant humanoid COMAN and corresponding double support model.

Figure 2 .Figure 3 .

 23 Figure 2. CoP response during handling test.

Figure 4 .Figure 5 .Figure 6 .Figure 7 .Figure 8 .

 45678 Figure 4. CoP motion during rear-side perturbation test.

TABLE I TRIGGER

 I ENERGY VALUESB. Stepping Recovery ExperimentsIn order to demonstrate the practicability of the trigger energy values in terms of aiding in the balance maintenance

	Variable	Value
	𝐸 𝐹𝐸	1.96
	𝐸 𝐹𝑇	1.03
	𝐸 𝐵𝐸	0.71
	𝐸 𝐵𝑇	0.34