The Spherical Inverted Pendulum: Exact Solutions of Gait and Foot Placement Estimation Based on Symbolic Computation

: The gait and the Foot Placement Estimation (FPE) has recently been extended to 3-D spaces by adopting a speciﬁc form of a spherical inverted pendulum (SIP). The approach is very attractive, as it does not involve dynamics, but it is based solely on energies and momenta, however the authors (DeHart et al.) introduced several questionable approximations, in order to reach a manageable solution. The scope of the present paper is to revisit this spherical inverted pendulum applied to biped walking, offering an exact solution to the gait and the FPE by using symbolic computation. This is facilitated by exploiting the Kane’s approach to dynamical modelling, and his software environment for symbolic manipulation, called Autolev. It generates explicit formulas describing the energies and angular momenta before/after the impact, along with the mechanics of the impact. As the resulting equations, function of (measurable) angular positions and velocities, are very compact, embedded in a numerical nonlinear solver, are suitable to be implemented in real time and used in practice to control biped robots or lower limb exoskeletons. The two main contributions of the paper are: the recovery of the balance by stepping, in the presence of a push in an arbitrary direction and omnidirectional walking. In this last respect, this speciﬁc form of SIP emphasizes the expenditure of energy in the walk. For the ﬁrst time, at our knowledge, the walk of the SIP, based on energy, has been compared to the simulation of a 12 degrees of freedom biped robot tracking preview signals using the Zero Moment Point (ZMP) of the Linear Inverted Pendulum (LIPM). This quantitatively shows the inefﬁciency, in terms of energy, of the ZMP-based walk, and the gain due to the recovery of the collision of the ﬂying foot. Similarity in the sagittal plane and differences in the frontal plane of the center of mass trajectories of the two approaches are shown, to open the road to an integration of fully actuated and underactuated controls, for an efﬁcient full-dimensional robot gait to be developed in a future paper.


Background
In the last decade, especially driven by the robotic school of the University of Waterloo, the inverted pendulum model, as an evolution of the passive pantograph walker, has been proposed for foot placement estimation (FPE) and the related biped gait design. First, the problem was solved in two dimensions [1,2], with a first extension and test in 3-D in [3]. More recently, the approach has been transferred to 3-D adopting a specific form of a spherical inverted pendulum (SIP) and called SFPE [4,5]. However, in order to make the problem manageable several questionable simplifications were introduced, i.e. the projections of the central inertia on the two rotation axes of the SIP are considered constant, the rotation velocity does not change before and after the contact of the swing foot with the ground, the impact is approached approximatively, so it is the computation of the angles after the impact.
The solution of the problem depends on three phases: pre-impact, impact and postimpact of the flying foot. The total energy and the angular moment on the pivot point projected on the vertical axis are constant in the periods before and after the impact, the velocities and loss of energy after the impact can be calculated, finally, the equilibrium is reached imposing zero to both angular velocities at the erect standing balance point.
Instead of introducing approximations in these three steps, an exact solution is possible by using explicitly the mathematical equations of all involved variables, and processing them with a numerical solver, to find a solution.

Symbolic Computation
The programming of the exact expressions of the previously mentioned three steps is simplified by adopting a method to describe dynamical systems introduced at the end of the last century by Prof. Kane of Stanford, known as the Kane's method [6]. He also developed a symbolic manipulation software environment, called Autolev (now MotionGenesis) [7], to support his method and to generate fragments of very efficient code of all needed mathematical expressions to be embedded into a nonlinear numerical solver. The approach allows to represent unitarily, either holonomic and non-holonomic systems, and to handle explicitly kinetic energy, momenta, impact, impulsive forces, and generalized momenta.

State of the Art of Balance, Stepping and Walking
In humanoid robotics the generality of the techniques covers basic walking (flat-footed) on flat surfaces in the absence of disturbances. They mostly track for the whole stride a preview signal based on the ZMP of the LIPM [8][9][10].
At difference, human-like gait, with its mix of fully actuated and underactuated phases (where walking during one of the phases is a "controlled falling") is more complex [11].
Push recovery, walking on rough terrain, and agile footstep control are active research topics [12].
For push recovery in 2-D, along with [2], using the LIPM, see also [13], and, by adding a flywheel [14]. In 3-D the concept of "N step-capturabiliy" has been introduced in [15]. However, the LIPM is used, i.e., the hight of the COG is assumed constant, and no inertia is accounted for.
Ref. [11] discusses theoretically the problems of underactuation and collision in the walk, applied in practice in this paper. The very recent reference [12] contains a comprehensive review of the literature in this field and approaches the walk, as is done here, through foot placement.

Aims and Organization of the Paper
The novel approach of processing with a numerical solver the basic energy equations of the SFPE does not involve dynamics and offers several advantages in generating the walk. It does not follow an a priory trajectory, the gait style can be changed at each step, so also cadence and step length, allowing aperiodic walk. It is robust to disturbances. Flat ground has been considered here for simplicity; however, looking one step ahead (watch your step!), also non-flat ground can be accounted for. Maneuvering has been demonstrated in the last section. This paper has not the intention to offer a solution for the control of a complete robot, but to pave the road, with a motion generation, for a future integration in the gait of three aspects: a realist stride with finite double stance periods, energy efficiency, and a mixture of fully actuated and underactuated phases. The idea to add a small energy at each step to maintain the walk is similar to passive-dynamic walkers [16], and in the line of the frameworks of hybrid zero dynamics [17][18][19].
The paper is organized as follows: Section 2 discusses the existing results of the SFPE; Section 3 introduces the Kane's method and the symbolic environment Autolev; Section 4 presents the spherical inverted pendulum (SIP) model used in this paper; Section 5 describes the equations needed to estimate the foot placement to reach the balance point; Section 6 applies the approach to find the balance point by stepping in the presence of disturbances in any direction; Section 7 applies the SIP to generate a gait with arbitrary trajectory and pace, and compares the gait generated from the SIP with the classical gait of an equivalent biped robot based on the ZMP of the LIPM and previews signals [20]; Section 8 concludes the paper, and outlines future works to embed the SIP in the generation of the gait for a complete biped.

The Spherical Foot Placement Estimation
Traditionally, the two degrees of freedom of the SIP (sometime three degrees of freedom are defined, involving, also, the length of the pendulum) were obtained with two rotations on the horizontal axes of the inertial frame [8]. As the final objectives were the two projections of the COG trajectory on the ground, this model originated the celebrated ZMP expressions of the LIPM [9].
In the present case, in order to exploit energies and momenta, rotations along the vertical and one of the horiziontal axes have been chosen. Indicated with γ and ω the rotation velocities of the SIP, on the vertical and the horizontal axis on the frontal plane of the biped, the approach of [4,5] is based on the projection of the angular momentum on the pivot point of the pendulum on these two directions, and expressing the kinetic energy as function of these two projections. Cleverly, noting that the total energy and the momentum projected on the vertical axis remain constant during the periods before and after the collision of the swing foot with the ground, approaching the collision and the switching of the pivot foot, the problem is solved by writing the equations of the pre-impact, impact and post-impact phases.

Discussion
To render the problem manageable the two projections of the angular momentum are expressed as a function exclusively of γ or ω and the two projections of the central inertia are considered constants. i.e., the central inertial matrix is assumed diagonal, and I 11 and I 33 have identical values (see Appendix A). The impact is solved approximatively. Moreove, no importance is given to the angle of rotation on the vertical axis.

The Kane's Method and Autolev
In this work, the so-called Kane's method [6] was adopted to model the spherical inverted pendulum. This method is particularly interesting in this case because it is equally applicable to either holonomic and non-holonomic systems and, for non-holonomic systems, without the need to introduce Lagrangian multipliers. Briefly, the main contribution of the Kane's method is that, through the concepts of motion variables (later called generalized speeds), the vectors of partial velocities and partial angular velocities, generalized active forces and generalized inertia forces, the dynamical equations are automatically determined, enabling forces and torques with no influence on the dynamics to be eliminated early in the analysis. Early elimination of these noncontributing forces and torques greatly simplifies the mathematics and enables problems with greater complexity to be handled.

Generalized Coordinates and Speeds
A multi-body system, which possesses n degrees of freedom, is represented by a state with a n-dimensional vector q of configuration variables (generalized coordinates) and an identical dimension vector u of generalized speeds called also motion variables, that could be any nonsingular combination of the time derivatives of the generalized coordinates that describe the configuration of a system. These are the kinematical differential equations: Y ri may be in general nonlinear in the configuration variables so that the equations of motion can take on a particularly compact (and thus computationally efficient) form with the effective use of generalized speeds.

Partial Velocities and Angular Velocities
Partial velocities of each point (partial angular velocity of each body) are the n threedimensional vectors expressing the velocities of that point (angular velocity of that body) as a linear combination of the generalized speeds. Let be v B the translational velocity of a point B and ω P the rotational velocity of a body P with respect to the inertial reference frame, where v B r and ω P r are the rth partial velocity and partial angular velocity of B and P, respectively.

Generalized Active and Inertia Forces
The n generalized forces acting on a system are constructed by the scalar product (projection) of all contributing forces and torques on the partial velocities and partial angular velocities of the points and bodies they are applied to.
Let us consider a system composed by N bodies P i , where the torque T P i , and force R B i applied to a point B i of P i are the equivalent resultant ("replacement" [6]) of all active forces and torques applied to P i . Then is the rth generalized active force acting on P i and the rth generalized active force acting on the whole system. Identically for the inertia forces, indicated as F * r . The dynamical equations for an n degree of freedom system are formed out from generalized active and inertial forces F * r F r + F * r = 0, r = 1, · · · , n.
These are known as Kane's dynamical equations. They result in a n-dimensional system of second order differential equations (2n order state variable representation) on generalized coordinates and speeds where the parameter definitions are similar but not identical of the classical Lagrangian form and more efficient computationally [21].

Non-Holonomic Constraints
When m constraints on the motion variables are added to the model, only n − m generalized speeds are independents. The system is, then, called a non-holonomic system. The non-holonomic constraints are expressed as a set of m linear relationships between dependent and independent generalized speeds of the type with p = n − m. In this case, selected the independent speeds, the Kane's method immediately offers the minimal 2p order state variable representation from where Kane calls F r and F * r non-holonomic generalized active and inertial forces, while the remaining m original redundant equations resolve themselves in the expressions of the m reaction forces/torques returned by the constraints. Because the Kane's method is fundamentally based on the projection of forces on a tangent space on which the system dynamics are constrained to evolve, spanned by the partial velocities, reaction forces/torques result from the projection on its null-space. Moreover, it is always possible to handle an holonomic (configuration) constraint as if it is non-holonomic, that is, to treat it as a motion constraint. This is particularly advantageous to represents the spherical inverted pendulum with a pantograph during a step, where in the first phase non-holonomic constrains allow pivoting on the supporting leg, and in the second phase, releasing the non-holonomic constraints the impact of the swing leg with the ground can be represented.

Unilateral Constraints and Collision
As a consequence of switching between different non-holonomic models during gait, unilateral constraints and collisions cannot be ignored.
Clearly, adopting non-holonomic dynamics assuming points of the feet fixed to the ground is valid for bilateral constraints (ignoring eventual detachment from the ground and slipping). In the approaches known as hybrid complementarity dynamical systems based on forward dynamics [22] the necessary conditions for satisfying unilateral constraints are directly embedded into the model. Vice versa, a minimalistic view is adopted here, noting that in a physiological gait, normally, bilateral constraints on the feet are not assumed to be violated. Hence, we design a priori walking strategies and we test through the simulator that this effectively occurs, by monitoring, a posteriori, reaction forces for the conditions: and Obviously, the control we propose cannot adapt itself to pathological conditions, such as a slipping surface.
For the second point, mechanics of the collision of the swing foot to the ground has to be considered, when switching to the next step causes the transfer of final conditions of the generalized speeds of one phase to the initial conditions of the successive. With reasonable assumptions of non-slipping and anelastic restitution the reaction impulsive force F B at the impact point B and the initial conditions of the generalized speeds for the new phase u(t + ) can be computed. Also for this aspect, Autolev offers all needed mechanical expressions.
The following analysis is based on two concepts: generalized impulse and generalized momentum [6,23]. Indicate, as usual, with v B r the r-th component of the partial velocity vectors of the point B (the swing foot), the generalized impulse at the point B at the contact with the ground at instant t − is defined as the scalar product of the integral of the reaction the generalized momentum is defined as the partial derivative of the kinetic energy K with respect to the r-th generalized speed then, Kane proves that Indicate the matrices of vectors of partial velocities, and of partial derivatives of p r (t) with respect to the generalized speeds, and the vectors [p 1 (t), · · · , p n (t)] T = P · u(t) (19) of generalized impulses, of generalized speeds, of the velocity of point B and of generalized momenta, respectively. Then, taking into account from (16) to (19), considering that v B (t − ) is known and v B (t + ) is zero, assuming non-slipping condition and inelastic collision, the following system of equations is solved to derive the unknown F B and u(t + ): An essentially similar equation was discussed in [11]. At the solution, along with the velocity u(t + ) after the impact, it must be verified that the impulsive force F B satisfies the conditions of unilateral constraint (9) and (10).

The Spherical Inverted Pendulum Model
In describing the spherical inverted pendulum the same notation used in [4,5] was adopted. In addition, explicitly, θ z indicates the angle of rotation with respect to the vertical axis, and two degrees of freedom of the swing leg relative to the pendulum were introduced, with the angles α z and α, as shown in Figure 1, with the kinematics of the joints in Figure 2a. The configuration Figure 2b will be used in special situations, only to perform side shuffle.
The angle position and velocity of the pendulum on the z and y axes of the inertial frame, and the two rotations of the swing leg with respect to the local axis z, and y of the supporting leg are θ z , θ, γ, ω, α z , α, respectively. The configuration variables of the model are θ z , θ, x, y, z, as the swing leg is considered without mass and inertia, where x, y, z are the coordinates of the pivot foot. The motion variables are γ, ω, u 1 , u 2 , u 3 , where imposing a non-holonomic constraint to the pivot foot, the velocities , u 1 =ẋ, u 2 =ẏ, u 3 =ż, are zero during the swing phase, but are released at the impact of the swing foot with the ground.
In the next sections the SFPE and the gait based on this model are described.

The Estimation of the Balance Point
Before the impact the motion variables have value γ − , ω − , 0, 0, 0 and after γ + , ω + , u + 1 , u + 2 , u + 3 . The total energy and the projection on the vertical axis of the angular momentum, k γ (the notation of [4] is maintained, even if it is shown in Appendix A that in general both speeds are present in this projection, and here an explicit dependency on γ is no more needed), are constant before and after the impact, however, they have a reduction during the impact.
To simplify the computations and to avoid spurious solutions, the next procedure is started after the pendulum reaches the vertical position and θ > 0. Let us say that at time t 0 the state variables assume the values θ z0 , γ 0 , θ 0 , ω 0 , the total energy T 0 , and the moment on the vertical axis k γ 0 (these last two values are the same, also, at the unknown instant of the impact t − ). This gives the first equation, linking all state variables at the pre-impact.
At the impact the swing foot, indicated with the point B, touches the ground. The vertical coordinate of B offers the second equation, linking the pre-impact angle θ − to α and α z B z (θ − , α, α z ) = 0 The constant momentum k γ offers the third equation, linking γ − to the other preimpact motion variable Switching the pivot foot after the impact, the relationship between the angles θ z + , θ + of the new pivot leg from θ z − , θ − , α, α z is obtained equating the three projections, with respect to the inertial axes, of swing and support legs (i.e., the swing leg becomes the new support leg) The solution of the impact equation (performed symbolically) (20) gives the motion variables after the impact, hence the total energy and the angular momentum k γ . The total energy after the impact can be evaluated before the switching of the pivot foot so it does not require the value of θ + and θ + z after switching. The angular momentum is computed on the new pivot point, so it requires the new value of θ + and θ + z after the switching. This gives the third and fourth equations.
Moreover, by imposing velocity zero of the swing foot, after the impact, angles before the impact can be related to motion variables after, with a further relationship To estimate the foot placement to reach the balance in an erect posture after the impact, with ω = 0, γ = 0, and θ = 0, noting that k γ+ is zero by the last condition (28), it is imposed that the total energy after the impact is equal to the maximal potential energy Finally, to impose that γ be zero at the balance point (but not necessarily after the impact, as it will be seen in the next Figure 4), from the impact the last equation is set From the previous relationships, the unknown variables θ z − , θ z + , γ − , θ − , θ + , ω − , α, α z are determined, using non-linear least squares, with some numerical solver such as the Levenberg-Marquardt algorithm [24,25].

Recovering Balance
The first application of the SFPE is to recover balance in the presence of an impulsive disturbance. It is assumed that the biped is in quiet standing balance, conventionally oriented in the direction of the x axis. An impulsive horizontal force in an arbitrary direction generates a velocity of the COG. The biped, in reorienting himself, will react in two different ways, with a minimal rotation around the z axis, according to the relative direction of the pulse: if the direction is closer to his sagittal plane he will mostly move the free leg forward (or backward), if it closer to the frontal plane the motion will be mostly laterally with a side shuffle. To emulate these two distinct situations if the direction is less than 45 • to the sagittal plane the model adopted is the standard one of Figure 2a, otherwise Figure 2b. When the angle θ falls below a safety value and the direction is detected from the falling velocity, let say [v x , v y , v z ] T , the model (a) or (b) is selected according to atan2(v y , v x ), and initial velocities are assigned to ω and γ from the inverse of the first two rows of the matrix of partial velocities (29) Then, the SFPE algorithm is run. This defines, among other variables, the swing foot angles α, α z for the impact that allows recovering the balance in one step. The numerical algorithm does not converge in two cases: when the total energy after the impact is lower than the maximum potential energy, or when one step is not enough to recover the balance. In the first case the condition (27) cannot be satisfied. In the second case the bound on the maximum allowable α is not satisfied.
Two examples are presented using the two models ( Figure 3). The situation of a push perfectly aligned with either the sagittal or the frontal plane is not considered, as it can be simply solved with the classical 2-D approach. In both cases the initial velocity is of 0.5 m/s and it is detected, at instant 0.5 s, when the falling angle reaches 0.1 rad. The first example, using model (a), presents the response to a push at an angle of 20 • from the x axis, in the second, with model (b), the angle is of 110 • .  Apart from a difference in the sign of the angles, and the velocities the two behaviours are very similar, so the case of model (b) is detailed, only.
The original central inertia matrix of the example, the same of the biped of [20], given in the Appendix A, had the elements I12 and I23 equal zero, the correct responses of angles (speeds and positions) in Figure 4a,b are represented with solid lines. To see the differences, fictitious values different from zero have been assigned to I12 and I23, and the example rerun. The responses are indicated in the legends with a X, and plotted with dashed lines.
From the SFPE, the flying foot final position can be forecasted and the SIP COG trajectory used as a reference, knowing the kinematics, to control the joints of a real biped robot or exoskeleton to recover balance.

The Gait
At difference of other works, only some of the expressions of Section 5 are exploited for generating the gait, the SFPE is only used to impose a halt at the end of the walk.
α is chosen to achieve the desired step length, α z to achieve the COG sway from −θ z Max to θ z Max and to control the offset with respect to the baseline of walk. The gait is initiated giving an initial condition to θ z , γ, θ, ω, or, simply, from a standing up balance by leaving the pendulum to fall forward.
Each step is concluded when the swing foot touches the ground (the vertical coordinate of point B becomes zero, Equation (22)). From the impact Equation (20) the new motion variables γ + , ω + , u + 1 , u + 2 , u + 3 are determined, and from Equation (24) the starting values of θ z + , θ + for a new step are computed. The gait is maintained by increasing at each step, after impact, the resulting ω + to compensate for the reduction of kinetic energy due to the impact, controlling, also, the gait cadence, and perturbing γ + to correct the angle of direction of the walk. In the present model, the two legs have no mass and inertia. Therefore, the motions of the angles α and α z are instantaneous and energy free. The only energy contribution to maintain the walk is given by proper impulsive forces and torques just after the impact to modify the velocities ω + and γ + resulting from the impact. This emulates, in a real walk, the contribution given by the biped in the brief double support phase and in the period of single support when the foot is flat and able to transfer torques.
Five control variables are identified to control the five objectives of the walk: cadence, step length, distance between f eet, y o f f set with respect to the baseline of walk, and direction o f walk ( even if interacting each other, each of the five variables predominantly controls one of the five objectives). After each impact, at the start of step k they are (spacing between f eet and y o f f set) where u assume the values +1, −1 according to the right or left foot support.
It must be noted that no periodic reference is tracked. The whole gait style (cadence, length of the step, offset with respect to the baseline of walk-through a side shuffle, spacing between the two feet and direction) can be changed at each step. The energy consumption of the gait is measured by the difference, after the foot collision, of the kinetic energies before and after the application of the control (in particular δ ω (k) and δ γ (k)).
The next Figures 5 and 6 show a sample of a typical rectilinear walk, terminating with a halt. In particular, the Figure 7 show the energy needed at each step to maintain the gait, provided by δ ω (k) and how the gait collapses after two steps if no maintenance is performed.

Comparison between SIP and ZMP Based Gaits
An interesting question is how the SIP gait compares with the classical one based on the ZMP of a linear inverted pendulum. In previous papers, a 10/12 degrees of freedom biped model was simulated in rectilinear and curved trajectories [20]. The technique adopted was classical, by controlling the model to follow a preview trajectory based on the ZMP.
The total mass, the central inertia and the COG height of the biped were used to model the SIP. The parameters that control the gait of the SIP were adjusted to synchronize the two walks. To compare the center of pressure (COP) on the shoes in the two cases, the SIP is mounted on the ankle of the same foot of the biped (see Appendix A), no torque is transferred from the joints of the SIP, but the force on the ankle, returned from the non-holonomic constraint, are balanced by an identical force in the ZMP on the sole. The comparison is shown in the next figures.
In Figures 8a,b and 9 the two trajectories are superimposed. In particular, the right and left supports of the SIP and the periods of double support of the preview based simulation are also indicated.
The COG behaviours along the x a z axes are very similar, but not along the y axis. In fact, the details of the two COGs projected on the ground, and the relationships between the COP and the foot support placement, compared in the Figure 10a,b, show marked differences.  To achieve a similar sway of the COG on the y direction in the two cases, the SIP keeps the feet closer than in the preview case. Let consider that the SIP, passed the erect position is in free fall and the COP jumps suddenly on the new foot. Vice versa, in the preview-based gait the biped is always controlled to maintain the COP close to the supporting foot, and to transfer it, almost continuously from single to double support.
Finally, the energies were compared in Figure 11. As expected, the preview based on the ZMP demands a greater expenditure of energy.

Turning While Walking
This last subsection shows how to generate turning while walking using the SIP model. The walking trajectory is described in part III of [20]. It is obtained concatenating arcs of circle, whose ray can be changed at the beginning of each step. The control is based on a running local reference frame with respect to which the SIP is constrained to maintain a rectilinear walk. The local running frame, at each instant, rotates along the z axis with respect to the world space to have its x axis tangent to the trajectory, and moves its origin to follow an involute of the path curve. Let s(t) andṡ(t) be the curvilinear coordinate and its velocity on the path, their values also represent the motion on the abscissa of the local frame, and Θ z (t) the orientation on the z axis of the local frame at each instant t.
At time T(k), immediately before the step k starts, let indicate with A x L (k), A y L (k), B x L (k), B y L (k) the x and y coordinates of the last supporting foot, and of the swing foot at the contact (it is going to be the next support), in the local frame, respectively, and with θ z (k) = θ z + the current orientation angle after the contact.
δ ω is fixed to obtain the desired average cadence of the gait, δ α the average step length, and δ sway the average distance between f eet, averaging 1/(T(j) − T(j − 1)), B x L (j) − A x L (j), (B y L (j) − A y L (j)) · u, respectively, over the period 1 ≤ j ≤ k. (B y L (k) + A y L (k))/2 measures the o f f set of the trajectory with respect to the centerline in the local frame and (θ z (k − 1) + θ z (k))/2 the mean direction of walk at time T(k).
From those measures a mild proportional, integral feedback is set to δ y (k) and δ γ (k) to maintain o f f set to zero, and direction to follow Θ z (k). The result is the following Figure 12.

Conclusions
Starting from the ideas of [4,5] of using a SIP model that emphasizes energies, the gait and the SFPE were reviewed with a solution based on the exact computation of the kinetic energy, the momentum projected on the z axis and the foot collision. Let note, that with this approach of SFPE the complicate handling of the projection of the angular momentum on the horizontal axis, contained in the original development, is not any more needed and arbitrary central inertia matrices are allowed. Consider that the solution of the impact (Equation (20)) offers the reaction forces at the collision, also. They are not used in this paper, but they will be in future extensions.
Very compact code for the equations have been obtained adopting the Kane's method and using his software environment. The solution of these equations, through a non-linear least square algorithm such as Levenberg-Marquardt, allows to introduce box bounds of the variables, to exploit the Jacobian, and to test for the feasibility of the solution. Moreover, the dependency of these equations on measurable angle positions and velocities and knowledge one step ahead of the ground level consents a real-time implementation to control robots or exoskeletons.
The introduction of the angle α z , taking into account the angle θ z , has extended the approach to non-periodic and omnidirectional gait and to recover the balance from a push in an arbitrary direction.
This paper, originally motivated by the need to help to recover balance, when disturbances are present, in a lower limb exoskeleton [26], is just the starting point. Future exentions, in order of complexity, are: introducing in the pantograph model the width of the pelvis in the distance between the two legs, adding a mass to the legs (sometime balance is recovered by inertia, just extending one leg), running and jumping.
The extension of the real-time control of the gait in the Cartesian space to all five control variables (30) with Model Predictive Control [27] will be also considered. So far we did not succeed, and only two variables have been controlled with classical PI techniques.
The approach was tested on a dynamic simulation of the SIP. Moreover, as the final objective is to offer a flexible Motion Generator for biped robot walking, the results have, also, been compared with the simulation of a fully actuated 12 DOF of a biped robot. In the comparison, the similarity of the COG behaviour in the sagittal plane suggests that actuated and underactuated controls can be intermixed [28], transforming the instantaneous increment of rotational velocities after the flying foot collision into a proper torque of the ankle of the supporting foot during double support and in the phase of single support, when the foot is flat. However, to obtain a nontrivial finite period of double support, compliance has to be added to the actual anelastic collision. As compliance is essential for that [11,29].
The behaviour of the COG in the frontal plane, that is consequence of a pure ballistic trajectory, will require a further investigation, as the resulting sway of the COG in the frontal plane seems excessive.
Funding: This research received no external funding.

Conflicts of Interest:
The author declares no conflict of interest.