A Kalouguine

V De-León-Gómez

C Chevallereau

S Dalibard

Y Aoustin

A new human-like walking for the humanoid robot Romeo

Keywords: Human-like walking, Essential model, Starting motion, Stopping motion, Periodic Motion, Boundary value problem

This paper seeks to define the anthropomorphic walking motion for the humanoid robot Romeo. The main characteristics of the lower and upper limb motions of the human being during walking are adapted to Romeo taking into account its kinematics and its motor power. The proposed walking includes starting, periodic and stopping motions. A boundary value problem is stated and solved to define each of these three movements, which are composed of single and double support phases. The trajectory of the zero moment point (ZM P ) is explicitly defined as a function of time. Thanks to the Essential model, the two horizontal coordinates of the center of mass (CoM ) are adapted to the desired ZM P trajectory and joint movements of Romeo. Numerical results show the efficiency of our strategy to design human-like walking for Romeo.

Introduction

A humanoid robot that is programmed to walk like a human initiates a certain interest and a level of affinity in people [START_REF] Mori | The uncanny valey[END_REF]. This feature is important to improve the acceptability to humans of a humanoid robot that interacts with them to perform common tasks. Human-like walking for a humanoid robot is currently a challenging paradigm for the robotics community. However, due to the different characteristics between human and humanoid robot (mass distribution, number of joints, actuation, etc), the choice of walking gait and control approaches are generally based on models of humanoid robot.

One proposal is to use parametric optimization, which can be an efficient tool to design a human-like walking for a humanoid robot, [START_REF] Tlalolini | Design of a walking cyclic gait with single support phases and impacts for the locomotor system of a thirteen-link 3d biped using the parametric optimization[END_REF]. However, walking composed of simple support phases and impacts remains very rudimentary. Besides, the high cost in computing time trajectories makes it difficult to adapt the humanoid robot's speed online. Another obstacle is the limited number of degrees of freedom (DoF ) of a humanoid robot compared to a human whose joints are complex and almost frictionless. Moreover, the weight-to-power ratio of humanoid robots with rigid bodies is not as high as it would need to be to allow human-like walking. Let us remark however, an interesting work of Ames [START_REF] Ames | Human-inspired control of bipedal walking robots[END_REF] who proposes to define articular variables for Nao, whose behavior is described by a time solution of a linear mass-spring-damper system. The parameters of this function are directly taken from human gait data. To overcome the mechanical complexity of humanoid robots and efficiently implement walking algorithms, Kajita et al [START_REF] Kajita | Introduction to humanoid robotics[END_REF] proposes the linear inverted pendulum model (LIP ). The humanoid robot is represented by its CoM , which concentrates the overall mass of the robot and is connected to the ZM P by a massless leg. The altitude of the CoM is assumed constant. The dynamic model of the pendulum is therefore linear. Razavi et al [START_REF] Razavi | Symmetry in legged locomotion: a new method for designing stable periodic gaits[END_REF] proved that a 3D LIP , which is a symmetric hybrid system (SHS) can have an infinite number of synchronized periodic orbits that can be neutrally stable in kinetic energy. Koolen et al [START_REF] Koolen | Capturability-based analysis and control of legged locomotion, part 1: Theory and application to three simple gait models[END_REF] proves that the introduction of the instantaneous capture point ICP allows to reduce the complexity of the control by applying it only to the relation between the ZM P and the ICP , the relation between the ICP and the CoM is left free since it has a naturally stable dynamics. The ICP is also an efficient tool to produce stopping motion. A drawback of the LIP model is to generate walking trajectories in which the knees must always be bent in order to avoid any problem of geometric singularity in the lower limbs. Moreover, the assumption of a linear motion of the estimated CoM of the whole body is not verified in recorded data of human walking, where a vertical oscillation of the CoM is observed, see for example [START_REF] Harada | Toward human-like walking pattern generator[END_REF] or [START_REF] Hayot | Biomechanical modeling of the 3d center of mass trajectory during walking[END_REF]. Furthermore it is shown in [START_REF] Chevallereau | Self-synchronization and self-stabilization of 3d bipedal walking gaits[END_REF] that conditions for self-synchronization and vertical displacement of the CoM lead to stable gaits of a 3D biped. About the upper limbs several works prove that the dynamic effects of the arms cannot be neglected. For example Collins et al [START_REF] Collins | Dynamic arm swinging in human walking[END_REF] show simulation results and experimental data supporting the hypothesis that the primary function of arms swinging during gait is to reduce the fluctuations of the vertical angular momentum with respect to the CoM of the body due to external moment requirements or perturbations. Aoustin and Formal'skii [START_REF] Aoustin | 3d walking biped: optimal swing swing of the arms[END_REF] proved that for a given time period and a given length of the walking gait step, there is an optimal swinging magnitude of the arms with respect to an energy cost. It is therefore difficult to deal with the trade-off between a simple linear model such as LIP and the design of a human-like walking.

The purpose of this paper is to analyze the main characteristics of human gait in order to adapt them to design a gait for the humanoid Romeo, which has 31 DoF , taking into account its technological limits. A common approach is to define polynomial functions parameterized with human motion data and to run them on the humanoid robot. However, most of the cases, this strategy leads to a problem of instability of the humanoid robot's walk. Indeed in this case the ZM P usually comes out of the support polygon. To overcome this difficulty, one possibility is to modified the human motion to satisfy the equilibrium condition as it is done in imitation techniques for static [START_REF] Sakka | Tasks prioritization for whole-body realtime imitation of human motion by humanoid robots[END_REF] or dynamic motion [START_REF] Cole | Learning full-body motions from monocular vision: dynamic imitation in a humanoid robot[END_REF][START_REF] Hwang | Motion segmentation and balancing for a biped robot's imitation learning[END_REF]. We choose another solution, the ZM P trajectory could be imposed instead of the CoM . To carry out this choice, a strategy based on the Essential model [START_REF] De-León-Gómez | An essential model for generating walking motions for humanoid robots[END_REF] is developed. The placement of the ZM P is imposed at all times.

The temporal evolution of reference points on several body parts (such as the torso, arms, feet) is defined so as to impose 29 DoF . Two DoF , the horizontal components of the CoM are left free in order to allow for the chosen placement of the ZM P . The interest of using the Essential model is to ensure dynamic equilibrium for any walk, which would be very difficult to achieve without this tool. In this companion article to [START_REF] De-León-Gómez | An essential model for generating walking motions for humanoid robots[END_REF], our main contribution is to use this tool and be inspired by the characteristic movements of the human upper and lower limbs to design a complete and dynamically stable walk for a humanoid robot. This complete humanoid walking is designed, with a starting phase, a periodic walk, and a stopping phase. Each of these three phases is found by solving a boundary value problem, which defines a fluent bio-inspired CoM trajectory of the robot. Unlike other papers [START_REF] Ames | Human-inspired control of bipedal walking robots[END_REF][START_REF] Anderle | Cyclic walking-like trajectory design and tracking in mechanical chain with impacts[END_REF], the stability is insured by the proposed methodology. The interaction with the ground is a sequence of foot flat contacts in single and double support phases.

The paper is outlined as follows. Several characteristics of human walking are recalled in section 2. These characteristics are adapted to design a human-like walking in section 3. Section 4 presents the Essential model, which is used to calculate the CoM trajectory corresponding to a prescribed ZM P trajectory. The definition of the periodic walking motion and the boundary value problem used to find it are described in section 5. Section 6 presents solutions for the starting and stopping phase problems. Numerical results are gathered in section 7. Section 8 offers the conclusion and perspectives.

2 Main characteristics of human walking.

The main characteristics of a human gait are recalled, since the goal is to make the most human-like walking possible for Romeo.

Duration of different phases: Human gait can be decomposed according to important events that occur during the walking. A gait cycle consists of two steps. The durations T SS of the single support (SS) phase and T DS of the double support (DS) phase are measured as a percentage of a cycle period. These durations T SS and T DS depend on the walking speed. The percentage of the double support phase varies from 9 to 17% depending on the age and velocity of the human [START_REF] Rose | Human walking[END_REF]. The faster the human walks, the shorter the walking period T = T SS + T DS and the lower the proportion T DS T DS + T SS . A typical distribution of walking at a comfortable speed is presented in Fig. 1.

Step placement: The step length and width vary widely depending on morphology and age. For a young healthy adult the step length varies widely (from 0.40 to 0.80 m for larger velocities), same as the step width (from 0.125 to 0.22 m, with width decreasing for larger velocities) [START_REF] Rose | Human walking[END_REF][START_REF] Orendurff | The uncanny valley[END_REF]. CoM Trajectory: Human CoM trajectory is close to a sinusoidal function in longitudinal, transverse and vertical directions [START_REF] Rose | Human walking[END_REF]. The magnitude and period of oscillations in transverse direction vary with speed [START_REF] Lulic | Trajectory of the human body mass centre during walking at different speed[END_REF]. In vertical direction, the magnitude of the displacement increases with velocity and is equal to about 2% of body height. ZMP trajectory: The ZM P goes from the heel to the tip of each foot [START_REF] Grundy | An investigation of the centres of pressure under the foot while walking[END_REF], which corresponds to the rolling motion of the feet and the mobility of the human sole, see Fig. 2. The trajectory of the ZM P changes depending on the footwear of the human [START_REF] Sardain | Zero moment point-measurements from a human walker wearing robot feet as shoes[END_REF].

Fig. 1: SS and DS phase durations, measured as percentage of complete cycle.

Fig. 2: Periodic human walking: illustration of a ZM P trajectory, inspired from [START_REF] Grundy | An investigation of the centres of pressure under the foot while walking[END_REF].

Swing foot motion: The motion of the swing foot can be separated into two components, the trajectory of one point of the foot and the orientation of the sole. We observe nearly vertical landing and take off trajectories, with most of the horizontal movement performed in the middle of the SS. Trunk motion: The trunk, which represents 60% of the weight, has significant angular oscillations [START_REF] Thorstensson | Trunk movements in human locomotion[END_REF]: in the sagittal plane, the magnitude is about 2 • around the equilibrium position (which varies with the walking velocity but is typically between 5 and 13 • , leaning forward). In the frontal plane, the oscillation magnitude varies from 3 • to 6 • from large to small velocities respectively. Hip motion: The rotation of the pelvis around the vertical axis allows for larger steps, and helps to smooth out the trajectory of the CoM . The magnitude of the oscillations around the vertical axis is of about 10 • [START_REF] Rose | Human walking[END_REF]. Arm swing: The arm swing in human locomotion is speculated to be useful to reduce the contact wrench on the support foot, as well as the global cost of walking [START_REF] Meyns | The how and why of arm swing during human walking[END_REF], [START_REF] Aoustin | 3d walking biped: optimal swing of the arms[END_REF].

3 Human trajectory and humanoid robot

Most humanoid robots are close to human in their proportions. However the number of DoF is lower than that of the humans, body parts are rigid, and their motor power is very limited with respect to their weight. Moreover, the motion of the human locomotor system is hard to reproduce exactly, as it is a complex system with passive and active nonlinear actuations. Therefore, an adaptation of these characteristics of the human walk characteristics is necessary to define an anthropomorphic gait for a humanoid robot. In this section biomechanical characteristics of human walking are used to define a walking movement suitable for our humanoid robot Romeo. Despite this adaptation, numerical tests show that this approach does not allow to obtain a viable walking motion with the considered humanoid Romeo.

Humanoid robot Romeo

The humanoid robot considered in this study is Romeo, a humanoid platform developed by the company Softbank Robotics, see Fig. 3 a). It is 1.47 m tall and weighs 36 kg. Romeo features 31 revolute joints, which are distributed such as: for each leg two at the ankle, one at the knee, and three at the hip; for each arm three at the wrist, two at the elbow, and two at the shoulder; one for the torso; four for the neck and head.

The 31 joint variables are gathered into the into the joint vector q ∈ R 31×1 . The body parts of Romeo are mostly rigid.

Adaptation of the parameters of human trajectories to Romeo

The duration T DS of the DS phases is chosen to be 10% (close to 12%, value that has been observed for the human walk [START_REF] Rose | Human walking[END_REF]) of the cycle duration 2T , where T = T DS +T SS , with T DS = 0.15 s and T SS = 0.60 s. For current humanoid robots [START_REF] Kajita | Introduction to humanoid robotics[END_REF][START_REF] Kemp | Humanoids[END_REF], it is impossible to achieve a step size of 0.75 m as what is observed for humans, because the rolling motion of the stance foot is necessary for these larger steps, see [START_REF] Winter | Foot trajectory in human gait: a precise and multifactorial motor control task[END_REF][START_REF] Kinugasa | Effect of circular arc feet on a control law for a biped[END_REF]. Therefore, it is necessary to adapt the parameters of trajectories for Romeo. The step length is chosen within the range 0.15 to 0.20 m, which corresponds to a 0.30-0.40 m displacement of the swing foot with a velocity of 0.83 to 1.1 km/h. The step width is chosen to be 0.20 m, satisfying a safe clearance between Romeo's ankles. The objective is to design a non-impact walk at the end of the SS phase. The speed of the swing foot is therefore imposed to be zero when it touches the ground. During the SS phase, a quadratic-cycloidal B-splines [START_REF] De-León-Gómez | An essential model for generating walking motions for humanoid robots[END_REF] is used to define the trajectory of the swing foot. A summary of the other adaptations is shown in Table 1. Most periodic functions are approximated by a sinusoidal function to have a simple model that is infinitely differentiable. Once the human walking motion has been adapted to the n = 31 variables

• to 25 • Elbow pitch T 32.5 • 0 • to 25 •
of Romeo, it can be tested on the robot model. Due to the humanoid robot dynamics, the ZM P trajectory (px, py, 0) resulting from the human gait parameters, may not satisfy the equilibrium condition. Therefore, in order to avoid this problem and ensure dynamic equilibrium, one possible solution is to impose the ZM P trajectory instead of the CoM . Thus, to carry out this objective, a strategy based on the Essential model is proposed in the next section.

Essential model

The Essential model is first introduced in [START_REF] De-León-Gómez | An essential model for generating walking motions for humanoid robots[END_REF]. The purpose of the Essential model of a humanoid robot (i. e. here Romeo) is, from the desired trajectory of its ZM P , the desired orientation of its trunk, the desired position and orientation of its swing foot, the desired articular variables of the upper body, to compute the horizontal behavior of its CoM . The essential model thus makes possible to take into account the global behavior of the robot, as opposite to models based on the inverted pendulum. The joint variables induced (geometrically and dynamically) by this model have to be compatible with the following characteristics of its actuators, like maximum torques. A hypothesis of perfect control tracking is adopted in the calculation of ground reaction forces, position of the ZM P and the torques resulting from these trajectories. In this study, the designed walking motion has to satisfy the following conditions:

1. Walking must be visually anthropomorphic, 2. The global ZM P of the robot must at all times be within the support area, 3. The interaction with the ground must be a sequence of foot flat contacts imposed in single and double support phases.

The first and third conditions depend on the designed trajectories and capabilities of the robot. The second condition is satisfied, since the placement (px, py, 0) of the ZM P is imposed at each time thanks to the essential model. However, in order to do this, it is necessary to let two coordinates free or not directly controlled. The x and y coordinates of the CoM are chosen as free. This section presents the development stages of the Essential model for Romeo.

Centroidal model

The Centroidal dynamics are frequently used in robotic walking, especially for humanoid robots [28] [29]. The centroidal model considers the dynamics of the humanoid robot around its CoM . It allows the acceleration of the CoM to be expressed as a function of the external forces acting on the humanoid robot, and thus, to define the position (px, py) of the ZM P on the ground as follows:

m Ẍ = N k=1 F k + mg L = N k=1 (p k -X) × F k + N k=1 M k (1)
where:

-N is the number of contacts with the environment, In a normal gait, the external efforts acting on a humanoid robot are the gravity force Fg and the ground reaction efforts acting at each foot, as shown in Fig. 3 b). The resultant effort caused by the ground reaction is defined by the wrench (F 0 , Mp) = (Fx, Fy, Fz, 0, 0, M * z ) and is applied at the global ZM P , denoted as p = (px, py, 0) . The model (1) defining the global equilibrium at the CoM of the humanoid robot becomes:

-X = (x, y, z) ∈ R 3 is the position vector of the CoM , -F k ∈ R 3 is the net force exerted by the k th contact, -M k ∈ R 3
px = x - z ẍ z + g - Ly m(z + g) , py = y - z ÿ z + g + Lx m(z + g) . (2)
The position of p can be calculated with the following equation of moment equilibrium at the world frame Σ 0 :

M 0 = p × F 0 + Mp, (3)
where M 0 = (Mx, My, Mz) . The horizontal coordinates of the ZM P px and py can be expressed from (3) as follows:

pxFz + Mx = 0 pyFz -My = 0 (4)
The ZM P p = (px, py, 0) must be inside the convex hull of support for all time in order to satisfy the dynamic equilibrium condition of the humanoid robot [START_REF] Vukobratovic | Zero-moment point-thirty five years of its life[END_REF].

In DS the global ZM P is the barycenter of the two local ZM P p 1 and p 2 , one in each foot. The efforts of the ground reaction produce the global wrench (F 0 , M 0 ) in p, which can be divided on the wrenches (F 1 , M p1 ) in p 1 and (F 2 , M p2 ) in p 2 , such as:

F 0 = F 1 + F 2 M 0 = p × F 0 + Mp = M 01 + M 02 = p 1 × F 1 + M p1 + p 2 × F 2 + M p2 (5)
where M 01 = (M 1x , M 1y , M 1z ) and M 02 = (M 2x , M 2y , M 3z ) , are the moment exerted by the contact on leg 1 and 2 expressed in the global frame Σ 0 (see figure 3) while M p1 , M p2 are the moment expressed in frame centered in p 1 and p 2 . By considering that (F 0 , Mp) = (Fx, Fy, Fz, 0, 0,

M * z ) , (F 1 , M p1 ) = (F x1 , F y1 , F z1 , 0, 0, M * z1 ) , and (F 2 , M p2 ) = (F x2 , F y2 , F z2 , 0, 0, M * z2
) , the position of the global ZM P can be deduced as follows:

px = p 1x F 1z + p 2x F 2z F 1z + F 2z py = p 1y F 1z + p 2y F 2z F 1z + F 2z (6)
Let us remark that, a desired global ZM P trajectory is imposed by using the essential model, then, by defining a local ZM P for each foot, forces F 1z and F 2z can be deduced from [START_REF] Koolen | Capturability-based analysis and control of legged locomotion, part 1: Theory and application to three simple gait models[END_REF] 4.2 Dynamic model of Romeo with explicit unilateral constraint with the ground Let Σ 0 be the world frame, whose origin is located in the center of a foot with a footflat contact on the ground. The dynamic model of the humanoid robot (see [START_REF] Tlalolini | Design of a walking cyclic gait with single support phases and impacts for the locomotor system of a thirteen-link 3d biped using the parametric optimization[END_REF]) can be written with both following matrix equations:

F 0 M 0 = A F A M q + d F (q, q) d M (q, q) , (7)
τ = Aq + d(q, q). ( 8
)
where, for the case of Romeo, q ∈ R 31×1 is the introduced joint vector in subsection 3.1, τ ∈ R 31×1 is the joint torque vector,

A F ∈ R 3×31 , A M ∈ R 3×31 , A ∈ R 31×31 is the inertia matrix of the humanoid robot, d F ∈ R 3×1 , d M ∈ R 3×1 and d ∈ R 31×1
are vectors that represent Coriolis, centrifugal, gravity effects and the wrench ground reaction acting on the other foot in double support phase. The matrix equation [START_REF] Harada | Toward human-like walking pattern generator[END_REF] defines the global equilibrium of the robot, which can be written in the frame Σ 0 .

Presentation of the Essential model

Instead of imposing as many trajectories as the number of DoF , the principle of Essential model is to let free two DoF to allow for a chosen placement of the ZM P . The relation between ZM P and CoM is considered to be a determining feature of human gait [START_REF] Kajita | Introduction to humanoid robotics[END_REF], [START_REF] Koolen | Capturability-based analysis and control of legged locomotion, part 1: Theory and application to three simple gait models[END_REF], and they are strongly linked. The horizontal coordinates of the CoM , defined as r f = (x, y) ∈ R 1×2 , are chosen to be "free" in order to adapt them to the imposed trajectory of the ZM P . The complete motion of the humanoid robot is defined by

r = (r f , rc) = (x, y, z(t), x f (t), y f (t), z f (t), ψ f (t), θ f (t), φ f (t), ψ t (t), θ t (t), φ t (t), q 13 (t), • • • , q 31 (t)) . (9)
where r ∈ R 31×1 . Vector rc ∈ R 1×29 is defined as the vector of the 29 following variables of r for which the trajectories are imposed. The desired altitude of the CoM is described by z(t). x f (t), y f (t), z f (t) and ψ f (t), θ f (t), φ f (t) describe the desired position and orientation of the swing foot, meanwhile, ψ t , θ t , φ t the desired orientation of the torso link. The upper-body joint motions are described by q 13 to q 31 . The desired trajectory for rc(t) is therefore defined based on gross averaged characteristics of human motion.

The robot configuration can be defined by the joint vector q ∈ R 31×1 or by the vector r ∈ R 31×1 , and a geometric model q = g(r f , rc) can be built. The vectors q ∈ R 31×1 and q ∈ R 31×1 are deduced thanks to the kinematic models as follows:

q = J f ṙf + Jc ṙc, q = J f rf + Jf ṙf + Jc rc + Jc ṙc. ( 10
)
Here

J f = ∂g ∂r f ∈ R 31×2 and Jc = ∂g ∂rc ∈ R 31×29 .
In this study the evolution of rc ∈ R 29×1 is chosen as a function of time, thus the joint evolution can be expressed as function of r f , ṙf , rf , and t only :

q = g(r f , rc(t)), q = J f ṙf + v(t, r f ), q = J f rf + Jf ṙf + a(t, r f , ṙf ), (11)
where v(t, r f ) =

dg(r f ,rc(t)) dt ∈ R 31×1 and a(t, r f , ṙf ) = d 2 g(r f ,rc(t)) dt 2 ∈ R 31×1 .
By using [START_REF] Aoustin | 3d walking biped: optimal swing swing of the arms[END_REF], the global equilibrium (7) can be rewritten as

F 0 M 0 = A F r (t, r f ) A M r (t, r f ) rf + d F r (t, r f , ṙf ) d M r (t, r f , ṙf ). ( 12
)
On the other hand, system (4) with the wrench W 0 = (F 0 , M 0 ) can be rewritten as: 0 0 px(t) 0 1 0 0 0 py(t) -1 0 0

W 0 = 0 0 . ( 13
)
During the SS phase the desired motion of the ZM P defined by px(t) and py(t) is chosen as a migration from the heel to the toe of the stance foot. In DS phase the desired motion of the ZM P is defined by a linear evolution from the final position of the ZM P at the end of the SS phase on the stance foot, to the initial position of the ZM P at the beginning of the SS on the next stance foot. Considering the 3 rd , 4 th , and 5 th lines of [START_REF] Sakka | Tasks prioritization for whole-body realtime imitation of human motion by humanoid robots[END_REF], which are respectively relative to Fz, Mx, and My, and taking into account the relations (4), the two following differential equations can be deduced:

A F rz (t, r f )px(t) + A M ry (t, r f ) rf + d F rz (t, r f , ṙf )px(t) + d M ry (t, r f , ṙf ) = 0, A F rz (t, r f )py(t) -A M rx (t, r f ) rf + d F rz (t, r f , ṙf )py(t) -d M rx (t, r f , ṙf ) = 0. ( 14
)
The two scalar equations ( 14) isolate the essential characteristic of the walking that is the relationship between the ZM P and the CoM . Solving [START_REF] Hwang | Motion segmentation and balancing for a biped robot's imitation learning[END_REF] gives the Essential model that describes the acceleration of the horizontal positions r f = (x, y) of the CoM as function of the desired evolution of the ZM P :

rf = f (r f , ṙf , t, px(t), py(t)). (15)
Then, the velocities ṙf = ( ẋ, ẏ), and positions r f = (x, y) of the CoM can be calculated by integrating [START_REF] De-León-Gómez | An essential model for generating walking motions for humanoid robots[END_REF] from some known initial conditions. To sum up, the evolution of r f = (x, y) is not imposed, but computed to adapt it to the desired evolution px(t), py(t) of the ZM P . Let us remark that, with this strategy, no approximations are made to the dynamic model of the robot, when designing the humanoid walking. Therefore, this method ensures the feasibility of a walking trajectory such as it was designed, since it comes from the equilibrium condition on the ZM P (4).

Validation of the Constraints of contact with the ground

By definition the essential model allows to satisfy a priori the following constraints:

-The ZM P within the sustentation polygon for all time.

-The positivity of the vertical component of the resultant ground reaction force during the walking (no lift-off condition) by choosing a convenient trajectory of the CoM height z(t). It is sufficient that z(t) satisfies:

z(t) > -g. ( 16
)
When the walking motion is defined it is necessary to check a posteriori that:

-The no-slip constraint and the technological constraint of actuator limitation are satisfied. The condition of no slipping can be checked based on the knowledge of rf and z. It is sufficient to satisfy:

rf < µ z(t) + g . (17)
-The joint velocity q(i) within the maximum velocity allowed by each motor qmax(i),

for i = 1, • • • , 31: | q(i)| < qmax(i) (18)
-The joint torque τ (i) within the maximum torque allowed by each motor Γmax(i),

for i = 1, • • • , 31: |τ (i)| < Γmax(i) (19)
In reality, especially with electric motors, constraints ( 18) and ( 19) are not independent. During the experimental tests, care must be taken to ensure that at all times for each motor i the motor limit, which depends on both speed and torque, is never exceeded. For Romeo, the maximal torque for the knee Γmax depends on the knee position.

Diagram of the walking design, which is based on the human-inspired trajectories and the Essential Model

To introduce the scheme of Fig. 4, several relations are recalled. First, the global equilibrium [START_REF] Harada | Toward human-like walking pattern generator[END_REF] can be rewritten as

W 0 = P ω q + λ ω . ( 20
)
with

W 0 = F 0 M 0 ∈ R 6×1 , P ω = A F A M ∈ R 6×31 , and λ ω = d F (q, q) d M (q, q) ∈ R 6×1 .
By using the direct geometric model, the first and second kinematic models can be obtained as    r = g(q) ṙ = Jg(q) q r = Jg(q) q + Jg(q, q) q. [START_REF] Sardain | Zero moment point-measurements from a human walker wearing robot feet as shoes[END_REF] Then, by solving the second kinematic model for q, the second inverse kinematic model is deduced, i.e.:

q = P IKM r + λ IKM , (22)
where

P IKM = J -1 g (q) = ∂Jg ∂q -1 ∈ R 31×31 and λ IKM = -J -1 g (q) Jg(q, q) q ∈ R 31×31 .
To summarize the essential model can be illustrated by the input/output scheme 4. The inputs are the trajectory of the ZM P and the reference trajectory of each component of the vector rc. By considering the equilibrium of the moments of the ground reaction, the dynamic equilibrium, the unilateral constraints, the geometrical and kinematic relations between r, ṙ and q, q, the horizontal evolution r f of the CoM is computed. In f ine the knowledge of q, q, and q allows to evaluate the joint torques and thus a postiori to check if the motor constraints are satisfied. The outputs of this model are used to define the control, which can be based for example on a nominal vector torque with correction in joint position and velocity or a computed torque control with an auxiliary input to ensure a trajectory tracking.

Torques and ground forces in SS and DS

The torques required to produce the motion have to be calculated. By considering the matrix equation [START_REF] Hayot | Biomechanical modeling of the 3d center of mass trajectory during walking[END_REF] and relations [START_REF] Aoustin | 3d walking biped: optimal swing swing of the arms[END_REF], the dynamic behavior of the robot in the SS phase can be written as

τ = Ar(t, r f )r f + dr(t, r f , ṙf ) (23)
where Ar(t, r f ) ∈ R 31×2 and dr(t, r f ) ∈ R 31×1 .

In DS phase, the equation of equilibrium ( 8) can be used to obtain the global reaction wrench F 0 , M 0 , but the distribution on both legs is free to choose. However, this choice will modify the actuation torque. If the effort wrench applied on the second leg is non-zero and is denoted (F ext , M ext ) , the joint torque are modified and becomes:

τ = Ar(t, r f )r f + dr(t, r f , ṙf ) + J ext F ext M ext , (24)
Fig. 4: How the generation of human-inspired trajectories using the Essential Model works with J ext ∈ R 6×31 as the Jacobian matrix that relates the frame on the sole swing foot with the origin Σ 0 . In order to determine the distribution of the global reaction wrench F 0 , M 0 on the two feet, we will impose the positions of local ZM P in both feet, defined as p 1 and p 2 . During a DS, the global ZM P is the barycenter of the two local ZM P on each foot, this implies that the global ZM P and the local ZM P are aligned. In DS, the choice of local ZM P p 1 and p 2 is used to calculate the distribution of efforts. This choice must limit the internal forces useless to the motion in order to avoid increasing the joint torques. Then the vertical reaction force F 1z and F 2z on legs 1 and 2 can be calculated by solving [START_REF] Koolen | Capturability-based analysis and control of legged locomotion, part 1: Theory and application to three simple gait models[END_REF].

p 1x F 1z + p 2x F 2z F 1z + F 2z = px p 1y F 1z + p 2y F 2z F 1z + F 2z = py (25)
To limit the risk of slipping, the ratio between tangential and normal forces for the global equilibrium is chosen equal for each leg. The components F 1x , F 1y , F 2x , and F 2y are calculated to satisfy:

F 1x F 1z = F 2x F 2z = F 1x + F 2x F 1z + F 2z = Fx Fz F 1y F 1z = F 2y F 2z = F 1y + F 2y F 1z + F 2z = Fy Fz (26)
By using (5) it is possible to find the moment Mz around the z axis

Mz = M 1z + M 2z
This moment Mz is also shared between the two legs by using a similar distribution to the force components [START_REF] Winter | Foot trajectory in human gait: a precise and multifactorial motor control task[END_REF] as follows:

M 1z F 1z = M 2z F 2z = M 1z + M 2z F 1z + F 2z = Mz Fz . (27)
In this study, two types of DS phases are considered.

-DS during the walking motion which allow to join two phases of SS with foot position offsets along both x and y axes. We want to have a continuous evolution of the ZM P , which results in continuous joint torques and avoids high jerk. We choose an evolution of the global ZM P such that, during the DS phases, the two local ZM P keep a constant pose. According to experimental data [START_REF] Grundy | An investigation of the centres of pressure under the foot while walking[END_REF], the centre of pressure under the foot during human walking moves continuously from the heel to the forefoot. The centre of pressure moves slowly forward in the region immediately in front of the heel while it accelerates as it approaches the forefoot before the foot lifts. However, since the robot's foot is flat on the ground, it will be assumed that the local ZMP remains constant during the double support. In addition, it allows a simple and rigorous calculation of the evolution of the global ZMP in DS. p 1 will keep the pose corresponding to the final pose of the global ZM P in SS, meanwhile p 2 will keep the initial pose of the ZM P for the next SS phase. The global ZM P evolves in a straight line between the final pose of the ZM P during the previous SS and the initial pose of the ZM P during the next SS. -For the initial DS in the starting phase, or the final DS in the stopping phase, on the contrary, the humanoid robot has the two feet aligned along the x-axis. Therefore, a non-straight line evolution of the global ZM P is needed [START_REF] Jian | Trajectory of the body cog and cop during initiation and termination of gait[END_REF], which means that the two local ZM P cannot be static. The local ZM P will then be chosen to yield the current value of the global ZM P along the x-axis while remaining within the surface of the corresponding foot. A linear ZM P evolution along the y-axis is chosen. The aim is to ensure continuity and to minimize the lateral torque on the ankle. An illustration is shown in Fig. 11 for the case studied. In addition, when stationary, we want an identical distribution of forces over the two feet. Thus, at the beginning of DS 1 and the end of DSn, we choose a median ZM P position between the two feet along the y-direction. The two local ZM P are respectively on the y-median-position of each foot, Fig. 12.

Periodic walking motion

The periodic motion is composed of SS phases and DS phases with flat foot contacts on the ground. The orientation of the swing foot varies during the SS phase. During DS phases the contacts are made with the feet flat on the ground. Sinusoidal functions are used to define the motions of the arms and the trunk. The parameters of these functions are tuned based on observations of human motions [START_REF] Pontzer | Control and function of arm swing in human walking and running[END_REF] and in section 3.2.

To find the periodic motion, a boundary value problem is stated and solved as follows. Let (r f (t 0 ), ṙf (t 0 )) be the horizontal plane of the position and velocity of the CoM at the beginning of a current step of the walking motion. The periodic condition is (r f (t 0 ), ṙf (t 0 )) = (r f (t 0 + T ), ṙ+ f (t 0 + T ) [START_REF] Orin | Centroidal dynamics of a humanoid robot[END_REF] by taking into account the change of the reference frame when the two legs switch their roles just at the beginning of the current step. So ṙ+ f (t 0 + T ) is the initial horizontal velocity of CoM in SS of the next step. Let the following state model of equation ( 15) be used

ẋ1 = x 2 ∈ R 2 ẋ2 = f (x 1 , x 2 , t, px(t), py(t)), (29)
with x 1 = r f and x 2 = ṙf . The boundary value problem is stated as: what are the four unknown variables x(t 0 ), y(t 0 ), ẋ(t 0 ) and ẏ(t 0 ) such that after integration of the four scalar equations ( 29) over the time interval [t 0 , t 0 + T ] the periodic condition ( 28) is satisfied. The fsolve function of Matlab ® is used to solve numerically the boundary value problem described above.

Starting and stopping of walking motion

In order to perform the target periodic walking motion experimentally, it is necessary to add starting and stopping motions, which are composed of DS and SS phases. This allows the robot to start from (resp. to stop in) a resting position. Each resting position is defined to be a static equilibrium where the vertical projection of the CoM on the ground is merged with the ZM P close to the center of the support area. The chosen ZM P trajectory takes inspiration from what is observed in human walking [START_REF] Grundy | An investigation of the centres of pressure under the foot while walking[END_REF] and is defined using piecewise polynomial functions to be adapted to a humanoid robot. A sequence of a starting motion (DS 1 , SS 1 , and DS 2 ), a periodic walking motion (SS and DS) and a stopping motion (SS n-1 , DS n-1 , SSn, and DSn) is shown in Fig. 5.

The starting motion begins with a DS 1 phase, with both feet aligned in the frontal plane. During this DS, Romeo swings to the right in order to lift the left foot and begin a SS 1 phase on its right foot. At the end of this SS 1 phase Romeo performs another DS 2 phase in order to reach the periodic walking motion at the end of this motion. For the starting of the walking motion, the following "control points" are introduced:

-P 0 ZM P at the start of DS 1 , -P 1 ZM P in the middle of DS 1 , -P 2 ZM P at the transition between DS 1 and SS 1 , -P 3 ZM P at the transition between SS 1 and DS 2 , -P 4 ZM P at the end of the DS 2 phase.

These control points are used to define the evolution of ZM P during starting phase. They are illustrated on Fig. 5.

Let px and py be the evolution of the ZMP position along the x-axis and y-axis respectively. In DS 1 phase, px and py are both defined as quadratic functions of time going from P 0 to P 2 with the intermediate point P 1 . In SS 1 and DS 2 phases px and py are defined as linear functions of time connecting, respectively, P 2 to P 3 and P 3 to P 4 . P 4 is imposed by the chosen periodic trajectory.

The stopping motion begins with a phase of simple support SS n-1 , to put the left foot in its final position. At the end of this SS n-1 a double support phase DS n-1 begins. At the end of this DS n-1 phase, the right foot is swing. The last single support is SSn. At the end of this SSn phase, the right foot is aligned with the left foot in the frontal plane. Finally, the stopping movement ends with the DSn phase in order to superimpose the ZM P with the projection of the CoM on the ground and thus immobilize the bipedal robot. For the stopping of the walking motion, the strategy to define the ZM P trajectory is similar to the previous one. We define:

-P 5 ZM P at the transition between SS n-1 and DS n-1 , -P 6 ZM P at the transition between DS n-1 and SSn, -P 7 ZM P at the transition between SSn and DSn, -P 8 ZM P in the middle of DSn, -P 9 ZM P at the end of the DSn phase.

At the start of SS n-1 phase, the ZM P position is (taking into account the change of reference frame) the same as in P 4 because of the periodic nature of the trajectory before SS n-1 . We can therefore denote this point as P 4 as well. In SS n-1 phase, px and py are therefore defined as linear functions to connect P 4 to P 5 . In DS n-1 and SSn phases, px and py are defined as linear functions of time to connect P 5 to P 6 , P 6 to P 7 , respectively. In DSn phase px and py are defined as quadratic functions of time connecting P 7 to P 9 with an intermediate point P 8 which is chosen in the middle between the two feet along y-axis.

The stopping phase with two DS phases and two SS phases is not symmetric with respect to the starting phase with two DS phases and only one SS phase. This asymmetry is due to the fact that the steady-sate gait is not one-step capturable. The step width D and the step length S are given but not necessarily equal between the starting, stopping and periodic motions. Boundary value problems are solved to define the starting and stopping motions which are stated as follows:

Starting motion Let us consider the known two coordinates of the horizontal position of the CoM , which is also the ZM P position P 0 . The two horizontal velocities of the CoM are equal to zero. Let us consider the known two coordinates of the horizontal position of the CoM at the end of DS 2 phase and their two velocities. These two coordinates and two velocities are also the state of the periodic horizontal motion of the CoM at the beginning of the SS phase.

Let us take into account the essential model [START_REF] Carpentier | Multicontact locomotion of legged robots[END_REF] and the duration of the starting motion T start . What are the four possible variables to carry out the starting motion by integration of (29) from the starting state (r f (0), ṙf (0))

of the CoM , to the final state

(r f (T start ), ṙf (T start )) . (31)
of the starting motion. We choose x-axis and y-axis components of the two control points P 2 , and P 3 of the ZM P trajectory, to solve the boundary value problem. A SQP method (Sequential Quadratic Programming) with fmincon of Matlab ® is used to find the four unknown variables, which correspond to the two coordinates of P 2 , and P 3 respectively, with constraints for the support area limits in order to ensure that the ZM P is always inside of the support area. The final state ( 31) is compared to the target state

(r des f (T start ), ṙdes f (T start )) (32)
by using a Mean Square criterion (optionally weighed to emphasize the importance of one of the dimensions):

J = (r f (T start ) -r des f (T start )) 2 + ( ṙf (T start ) -ṙdes f (T start )) 2 . ( 33
)
The boundary value problem used to find the starting walking motion is solved when the criterion J (33) is equal to zero and the trajectory of the ZM P is inside of the convex hull of the support area. Remark : In practice, starting from the need to have coincident between CoM and ZM P in statics and identical but opposite directions of speed, using the knowledge of the movement of the CoM for the starting phase of human walking and the knowledge of the relationship between the evolution of the CoM and the ZM P on a LIP model, an a priori choice of the positions of the points P 1 , P 2 , P 3 , is made. Then the positions of the points P 1 , P 2 , P 3 are refined by optimization with the criterion [START_REF] Gruss | Pelvic breadth and locomotor kinematics in human evolution[END_REF]. This criterion admits an infinite number of minima and does not converge very well. Also this first optimization is used to bring us the criterion towards a weak value then the positions of the points P 1 is frozen to switch on a problem of boundary conditions with four variables to be optimized to cancel four error of state that converges better. Stopping motion The strategy is similar to that of the starting motion. Then to carry out the stopping of the walking motion we choose the x-axis and y-axis components of the two control points P 6 to P 7 of the ZM P trajectory as the four unknown variables to solve this boundary problem. The four scalar equations represented by ( 29) are then integrated from the final state of the periodic motion (r f (T end ), ṙf (T end )) for the CoM , to the stop state (r f (T stop ), ṙf (T stop )) . The desired stop state is (r stop f , 0) . An equivalent criterion to ( 33) is calculated with respect to the two coordinates of the horizontal resting position of the CoM and their

J = (r f (T stop ) -r stop f ) 2 + ṙf (T stop ) 2 . ( 34
)
This boundary value problem defining the stop the walking motion is solved when the criterion J (34) is equal to zero and the trajectory of the ZM P is inside of the convex hull of the support area. The same SQP method (Sequential Quadratic Programming) with fmincon of Matlab ® is also used to find the solution of (34). All joint trajectories also need to be continuous during this transition. And since there is no impact in our gait, this is equivalent to impose that the evolution of rc be continuous. The sinusoidal functions, which define the actuated joints of the arms and trunk, are multiplied by a piecewise polynomial cut-off function which is equal to 1 during the periodic motion and first and second derivatives smooth goes to 0 during the starting and stopping phases in order to start and to stop with a null velocity and null acceleration.

7 Numerical results

Periodic motion, without the use of the Essential model

We use all adapted parameters (see section 3.2) and a sinusoidal evolution of the COM that is equivalent to the human COM trajectory. The trajectory is therefore completely defined without the use of the Essential Model. As expected, the ZM P trajectory is outside the support polygon, see Fig. 6. Fig. 6: In the horizontal plane (defined with the X-abscissa and Y -ordinate axes): ZM P (multicolored) obtained if the human CoM (x, y, z) motion (in green) and adapted trajectories are applied to the robot Romeo.

Periodic motion by using Essential model

We choose a ZM P trajectory close to the one that is observed in humans. Since we do not have foot roll-off motion, we avoid the ZM P reaching the edges of the foot. That way, the non-tilting condition is safely satisfied.

The evolution of ZM P in DS phase is chosen as follows:

-In x-direction, from px = 0 (under the ankle) to px = 0.10m (near the foot toes).

-In y-direction, py = 0 (center of the foot).

The corresponding CoM trajectory is represented on Fig. 7. We observe that the CoM trajectory in the horizontal plane is not far from a sinusoidal function, which is what is observed for humans [START_REF] Rose | Human walking[END_REF]. Fig. 8: Torques (solid line) at both knees for a human-like ZM P trajectory. The dashed line marks the end of the SS phase (swing foot contact), and the red dashed lines show the maximal acceptable torque for Romeo. It is interesting to remark that these limits are not constant -this is because of a specificity of the knee joint in Romeo: the maximum torque depends on the joint position. The required torque at the beginning of SS is higher than the torque limit.

However, when calculating the torque values for this trajectory, we observe that for one step, which consists of a SS phase with the left leg as the stance leg and a DS phase the torques at the knees are not compatible with the hardware of Romeo, as shown in Fig. 8. In SS phase the left leg is the stance leg. In order to reduce these torques, we need to modify some of the original parameters. We analyzed the effect of various parameters on the torques, and observed that the most efficient way to influence the knee torques is to modify the ZM P trajectory. The result is presented in the following section, and the trajectory used in the rest of the paper is the modified one.

Effect of ZM P evolution on torques

The results presented above correspond to an evolution of the ZM P going from the heel to the tip of each foot (see Fig. 7). The torque at the ankle is directly affected by the pose of the ZM P . It can be seen in Fig. 9 (2 nd picture), that the propulsive torque at the ankle is low at the beginning of the step. As a consequence, a high propulsive torque is required at the knee joint (Fig. 9 (3 rd picture)). In fact this high torque exceeds the limits of the actuator (shown in dotted line) of the robot Romeo. We explored the effect of the influence of ZM P evolution. The results consistently confirm that a modification of the ZM P trajectory influences the torques in the support knee and in the support ankle. A ZM P whose position evolves on the front of the foot allows a higher propulsive force in the ankle at the beginning of the SS, and thus allows to decrease the propulsive force at knee, and then a suitable torque for the knee actuator of Romeo is obtained.

Complete motion

A video simulation of the complete walking trajectory is available here. The synthesized walking trajectory is such that the step width parameter D is the same for the starting, periodic and stopping motions. The step length parameter S is chosen to be 0.16 m, 0.15 m and 0.20 m for the starting, periodic and stopping motions respectively. For this synthesized trajectory, the trajectories of the horizontal position of the CoM and the determined trajectory of the ZM P are shown Fig. 10. The starting motion and the stopping phases are respectively composed of three and four phases, see Fig. 5.

Four steps make up the periodic motion. We can observe that the CoM and ZM P evolutions are continuous from the starting to the stopping configuration. A focus of the starting and stopping motions is shown in Fig. 11. The horizontal position of the CoM and the ZM P position match at the starting and stopping configurations. The control points to solve the two boundary value problems are depicted with green stars.

In the first phase DS 1 and last DSn phase, the ZM P follows a more complex trajectory. It is therefore necessary to define a non-constant local ZM P for each foot. We choose at each moment to have the same x coordinate for both the local ZM P and the global ZM P . Each local ZM P must remain as close as possible to the center of each foot in the y direction to improve the stability of the walk. Continuity between the position of the ZM P at the end of DS 1 and the position of the ZM P at the beginning of the single-support phase SS 1 must be ensured in P 2 , and continuity between the position of the ZM P at the beginning of DSn and the position at the end of the single-support phase SSn must be ensured in P 7 , respectively. The resulting local ZM P trajectories are presented in Fig. 12. We can also verify that the non slipping condition is fulfilled. This condition is that the ratio between the tangential and normal forces does not exceed the friction coefficient (see Fig. 13). This friction coefficient is chosen equal to 0.7 here. Both of these forces are calculated with [START_REF] Grundy | An investigation of the centres of pressure under the foot while walking[END_REF]. The sinusoidal-like shape of the normal reaction force observed in Fig. 13 is linked to the oscillations of the height z the CoM , i.e. F = mz + mg. We compute the torque value for all of the joints. However, we choose to only present in Fig. 14 the joint torques in the sagittal plane of both legs. Indeed, these are the torques that require the highest magnitude. It can be observed (blue curves in figure 9) that the torques are within the motor limits for Romeo. The torques required for starting, periodic, and stopping motions are of similar magnitude as what is required for periodic motion. Fig. 14: The torque at the ankle, knee, and hip joints, in the sagittal plane for different periodic motions with a step width of 0.20: step length 0.15m (blue), 0.20m (yellow) and 0.30m (red). A single step is represented. From time t = 0s to t=0.6s is the SS phase, from t=0.6s to 0.75s is the DS phase. Fig. 15: The torque at the ankle, knee, and hip joints, in the sagittal plane for different periodic motions with a step length of 0.30m: step width 0.10m (blue) and 0.20m (red). A single step is represented. From time t = 0s to t=0.6s is the SS phase, from t=0.6s to 0.75s is the DS phase.

Effect of step length and width on the gait

The previous study was dedicated to the Romeo robot for which the choice of knee actuators does not allow a gait close to human walking, i.e. the evolution of the ZM P had to be adapted for this robot. If the study was dedicated to a more powerful robot, we could consider faster walks and greater variations in step length or width. Tests were carried out in simulation and the following properties were observed:

The step length does not have a great influence on the support leg torques, in the range 0.15 to 0.20m. For greater step lengths, such as 0.30m, we notice an increased torque in the support knee and hip, as well as in the swing leg, as illustrated on figure 14. The effect of the step width on the torques has also been investigated. In human gaits, the two factors that are most correlated to step width are the limb length and bi-acetabular breadth (width of the pelvis) [START_REF] Gruss | Pelvic breadth and locomotor kinematics in human evolution[END_REF][START_REF] Maxwell Donelan | Mechanical and metabolic determinants of the preferred step width in human walking[END_REF]. Human self-selected step width is around 0.15 × limb length, which is roughly equal to the bi-acetabular breadth. For Romeo, 0.15 × limb length is 0.10m, but pelvic width is much greater, at 0.192m. Therefore, we have tested step width values from 0.10 to 0.20m. We observed (see figure 15) that the hip torque decreased and knee torque mid-SS increased for increased step width. Eventually, we selected a 0.20m step width because of hip torque constraints.

We have also investigated the effect of the arm swing motion and observed that removing the arm swing reduced the torso torque.

Conclusion

The main characteristics of human walking are recalled to design a bio-inspired walking for the humanoid Romeo. However, the technological limits of Romeo are tacking into account in order to perform a feasible walking. The complete walking with a starting motion and a stopping motion is defined thanks to a strategy based on the Essential model. The specific definition the essential model allows to satisfy the constraint of the ZM P to be inside the convex hull of the support surface. The evolution of the 29 controlled variables which are the motions of the swing foot, the orientation of the upper bodies such as the trunk and the arms, allow to offer a visually pleasing movement of the humanoid robot by its similarities with the one of humans. The horizontal displacement of the CoM is not imposed and depends on the resulting dynamic of the bodies, the gravity effects, and the ZM P . For the walking trajectory defined for Romeo we investigated the effects of the choice of the ZMP trajectory to obtain the required joint torques. A correlation between the pose of the ZM P in sagittal plane and torque at ankle and knee in sagittal plane has been shown. The perspectives and future works are to test this complete walking motion experimentally.

Fig. 3 :

 3 Fig. 3: a) Photography of Romeo. b) Illustration of the global equilibrium.

  is the moment exerted by the k th contact, m (kg) is the global mass of the robot, g = 9.81 (m/s 2 ), is the gravity constant, -L is the angular momentum calculated in the CoM of the humanoid robot, p k ∈ R 3 is the point of application of the net force of the k th contact. If the contact is not punctual, p k is the center of pressure (CoP ).

Fig. 5 :

 5 Fig. 5: Sequence of starting motion (blue), periodic walking gait (green) and stopping motion (blue).

Fig. 7 :

 7 Fig. 7: CoM trajectory (purple) corresponding to a human-like evolution of the ZM P (multicolor).

Fig. 9 :

 9 Fig. 9: Joint torques (N.m) versus time (s): comparison of the torque in the lower part of the robot for two periodic trajectories with a step size of 0.20 m and a period of 0.75 s. The trajectory in green is with a human like ZM P evolution in DS, and the trajectory in blue has a ZM P constrained to the front of the foot. The dashed lines represent the maximal acceptable torque for Romeo.

Fig. 10 :

 10 Fig. 10: Imposed ZM P trajectory (orange) and corresponding CoM (blue). The dashed rectangles represent the foot placements.

Fig. 11 :Fig. 12 :

 1112 Fig. 11: Imposed ZM P trajectory (orange) and horizontal position of the corresponding CoM (blue) during the starting (a) and the stopping motions (b). The dashed rectangles represent the outlines of the feet on the ground.

Fig. 13 :

 13 Fig. 13: Fz Normal (top plot) and Fx + Fy tangential (bottom) components of the reaction force F 0 . The red dashed line represents the maximum acceptable tangential force without risk of slipping.

Table 1 :

 1 Main parameters of the trajectories for Romeo

	Variable	Period	Mean Value	Magnitude	Feature
	Motion along			about 2%	Minimum in
	Z-axis	T	1.12×(leg length)	of height	middle of DS
	of the CoM
	Motion along	linear
	X-axis	progression	-	-	-
	of the CoM
	Motion along			Same as	Zero around
	Y -axis	T	0 m	Z-axis	80% of DS
	of the CoM
	Trunk roll	T	0 •	5 •	Minimum in
					middle of DS
					Maximum
	Trunk pitch	T	6 •	2 •	at beginning
					and end of DS
					Maximum
	Trunk yaw	2T	0 •	5 •	at beginning
					of swing phase
	Swing foot	Zero in DS	-	0.02 m	Maximum in
	Height	Cycloid in SS			middle of SS
	Swing foot	Zero in DS	-	-20 • to 81 •	Minimum right
	Pitch	Cycloid in SS			after impact.
	Shoulder pitch	T	7.5 •	0