When a legged robot walks over a regular terrain, we can simplify its dynamics
to a reduced model like the linear inverted pendulum where the center of mass (CoM)
is controlled via the zero-tilting moment point (ZMP) of contact forces with the
ground. To be physically feasible, the ZMP must lie in a support area, also
known as support polygon, which is roughly "the area between the feet" in
simple cases. In more complex cases, such as a hand on a wall or a knee on the
ground, the area is a bit more complex but it is still computable.
The constrained equations of motion describe the dynamics of our
articulated system without simplification:
The configuration q consists of its n actuated degrees of
freedom and 6 unactuated floating base coordinates. Contact forces from the
environment are stacked in the vector f and constrained by the
matrix F(q) of Coulomb friction cones. The interest in switching to a simplified
model like the linear inverted pendulum (LIP) is to reduce the dimension of
this equation. The constrained equations of motion for the LIP are line-by-line
similar to those of the whole-body:
The configuration pG consists of the the 2D horizontal position of
the center of mass. Contact forces from the environment are aggregated in the
position pZ of the ZMP and constrained by the second line of
half-space inequalities. The
matrix A(pG) and vector b(pG) define the support
area, which is a polygon as soon as we take into account actuation limits of
the robot. They can be computed from the contact geometry and friction
information encoded in J(q) and F(q) by polyhedral
projection. Further technical
details on how to do this are given in Section IV of this paper.
Simplification on flat floors
In pre-2010 robotics papers, we often see the ZMP support area defined as the
"convex hull of ground contact points", where A and b do
not depend on pG any more and can be readily computed from ground
contact points by a convex hull algorithm (a particular case of polyhedral
projection). This simplification is only valid if we make two assumptions:
- All ground contact points are coplanar.
- The coefficient of friction between robot feet and the ground is infinite.
If we follow the general algorithm from the previous section, which takes the
CoM position pG as an input, it is not clear how the ZMP support
area becomes independent from pG under these two conditions. Let us
detail this step by step.
Let us consider for simplicity of calculations that our flat ground contact
plane is horizontal (othogonal to gravity). In the absence of friction
constaints, our friction cone inequalities are reduced to contact unilaterality
∀ contact i, fiz>0
This means we can exert arbitrary horizontal forces fix and
fiy at every contact point i.
Our contact forces are bound to the CoM and ZMP by Newton and Euler equations. First, Newton equation gives us:
with m the total mass, g the gravity constant and h the
CoM height above ground. Second, Euler equation (with no angular momentum at
the center of mass since we are in a pendular model) gives us:
Let's unwrap it to understand better what it says. On flat floor, we have
zi=0 for all contact points i, so that the vector cross
products expand to:
Since we are not limited by friction, the third equation always has a
solution and we can trim it out. In the other two equations, we can replace
f by its expression mg(pG−pZ)/h from the linear
inverted pendulum model, for instance:
and similarly for the other equation. Defining αi=mgfiz, we get:
which is the vertex representation of the
convex hull of ground contact points pi.