1. Introduction
1.1. 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 post-impact 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.
1.2. 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.
1.3. 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.
1.4. 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.
2. 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
and
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.
3. 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.
3.1. Generalized Coordinates and Speeds
A multi-body system, which possesses
n degrees of freedom, is represented by a state with a
n-dimensional vector
of configuration variables (
generalized coordinates) and an identical dimension vector
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:
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.
3.2. Partial Velocities and Angular Velocities
Partial velocities of each point (partial angular velocity of each body) are the
n three-dimensional vectors expressing the velocities of that point (angular velocity of that body) as a linear combination of the generalized speeds. Let be
the translational velocity of a point
B and
the rotational velocity of a body
P with respect to the inertial reference frame, then
where
and
are the
rth partial velocity and partial angular velocity of
B and
P, respectively.
3.3. 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
, where the torque
, and force
applied to a point
of
are the equivalent resultant (“
replacement” [
6]) of all active forces and torques applied to
. Then
is the
rth generalized active force acting on
and
the
rth generalized active force acting on the whole system. Identically for the inertia forces, indicated as
.
The dynamical equations for an
n degree of freedom system are formed out from generalized active and inertial forces
These are known as Kane’s dynamical equations.
They result in a
n-dimensional system of second order differential equations (
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].
3.4. Non-Holonomic Constraints
When
m constraints on the motion variables are added to the model, only
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
. In this case, selected the independent speeds, the Kane’s method immediately offers the minimal
order state variable representation from
where Kane calls
and
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.
3.5. 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 at the impact point B and the initial conditions of the generalized speeds for the new phase 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
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
is defined as the scalar product of the integral of the reaction impulsive force
in the time interval
with the corresponding partial velocities
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
with respect to the generalized speeds, and the vectors
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
is known and
is zero, assuming non-slipping condition and inelastic collision, the following system of equations is solved to derive the unknown
and
:
An essentially similar equation was discussed in [
11]. At the solution, along with the velocity
after the impact, it must be verified that the impulsive force
satisfies the conditions of unilateral constraint (
9) and (
10).
4. The Spherical Inverted Pendulum Model
In describing the spherical inverted pendulum the same notation used in [
4,
5] was adopted. In addition, explicitly,
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
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 , respectively. The configuration variables of the model are , as the swing leg is considered without mass and inertia, where are the coordinates of the pivot foot. The motion variables are , where imposing a non-holonomic constraint to the pivot foot, the velocities, , 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.
5. The Estimation of the Balance Point
Before the impact the motion variables have value
and after
. The total energy and the projection on the vertical axis of the angular momentum,
(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
. Let us say that at time
the state variables assume the values
, the total energy
, and the moment on the vertical axis
(these last two values are the same, also, at the unknown instant of the impact
). 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
The constant momentum
offers the third equation, linking
to the other pre-impact motion variable
Switching the pivot foot after the impact, the relationship between the angles
of the new pivot leg from
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
. 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
after switching. The angular momentum is computed on the new pivot point, so it requires the new value of
and
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
, and
, noting that
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
are determined, using non-linear least squares, with some numerical solver such as the Levenberg-Marquardt algorithm [
24,
25].
6. 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
, the model (a) or (b) is selected according to
, 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
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
° from the x axis, in the second, with model (b), the angle is of
°.
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.
7. 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, to achieve the COG sway from to and to control the offset with respect to the baseline of walk. The gait is initiated giving an initial condition to , 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
are determined, and from Equation (
24) the starting values of
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 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:
,
,
,
with respect to the baseline of walk, and
(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
where
u assume the values
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 and ).
The next
Figure 5 and
Figure 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
and how the gait collapses after two steps if no maintenance is performed.
7.1. 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
Figure 8a,b and
Figure 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 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.
7.2. 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
and
be the curvilinear coordinate and its velocity on the path, their values also represent the motion on the abscissa of the local frame, and
the orientation on the
z axis of the local frame at each instant
t.
At time , immediately before the step k starts, let indicate with , 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 the current orientation angle after the contact.
is fixed to obtain the desired average of the gait, the average , and the average , averaging , , , respectively, over the period . measures the of the trajectory with respect to the centerline in the local frame and the mean of walk at time .
From those measures a mild proportional, integral feedback is set to
and
to maintain
to zero, and
to follow
. The result is the following
Figure 12.
8. 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 , taking into account the angle , 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.