Source-linked AI summary

ZMP support areas for multi-contact mobility under frictional constraints

Stéphane Caron, Quang-Cuong Pham, Yoshihiko Nakamura

arXiv:1510.03232v2cs.RO

TL;DR

Classical ZMP support areas do not account for friction or general non-coplanar contacts. The paper constructs a friction-aware full support area and an algorithm for the smaller pendular area under linear-pendulum constraints. It demonstrates the approach in simulation with an HRP-4 model in multi-contact locomotion.

  • Problem

    Classical ZMP support areas need generalization to account for frictional constraints and multiple non-coplanar contacts.

    Source: §VI · p. 12
  • Method

    The paper geometrically constructs the full support area from valid contact forces and computes a pendular support area that incorporates linear-pendulum constraints.

    Source: §I · pp. 1–2
  • Results

    The linear-pendulum constraints shrink the support area even on horizontal floors, and the approach was demonstrated in simulation with an HRP-4 model.

    Source: B. Shrinking of the support area · p. 8, §VI · p. 12
  • Takeaways & Limitations

    The two support areas provide geometric tools for friction-aware ZMP analysis in multi-contact configurations.

    Source: §VI · p. 12

Abstract

from arXiv · show

We propose a method for checking and enforcing multi-contact stability based on the Zero-tilting Moment Point (ZMP). The key to our development is the generalization of ZMP support areas to take into account (a) frictional constraints and (b) multiple non-coplanar contacts. We introduce and investigate two kinds of ZMP support areas. First, we characterize and provide a fast geometric construction for the support area generated by valid contact forces, with no other constraint on the robot motion. We call this set the full support area. Next, we consider the control of humanoid robots using the Linear Pendulum Mode (LPM). We observe that the constraints stemming from the LPM induce a shrinking of the support area, even for walking on horizontal floors. We propose an algorithm to compute the new area, which we call pendular support area. We show that, in the LPM, having the ZMP in the pendular support area is a necessary and sufficient condition for contact stability. Based on these developments, we implement a whole-body controller and generate feasible multi-contact motions where an HRP-4 humanoid locomotes in challenging multi-contact scenarios.

I. INTRODUCTION

The paper extends ZMP support areas to frictional, non-coplanar contacts and derives a second area for locomotion under linear-pendulum constraints. It positions these tools against stability and control methods with restricted contact assumptions or no associated support area.

1) Stability criteria:

  • Classical ZMP support-area reasoning is limited by frictionless assumptions and coplanar contacts, leaving no established CHCP stability connection for general non-coplanar contacts.Prior convex-hull approaches also assume infinite friction, while some impose zero moments that may yield a point that does not exist despite possible stability.Source: §I · p. 1, 1) Stability criteria · p. 2

I. INTRODUCTION

  • The full support area captures ZMPs generated by valid contact forces with friction, while the pendular support area additionally accounts for angular-momentum constraints that shrink the area.A whole-body controller combines these developments for multi-contact locomotion, demonstrated with an HRP-4 model.Source: §I · pp. 1–2

1) Stability criteria:

  • Alternative gravito-inertial-wrench criteria provide full stability tests but replace the geometric ZMP area with nonlinear dynamics and a less intuitive six-dimensional cone.The paper presents its method as combining full stability, linearized dynamics, and a geometric support area.Source: 1) Stability criteria · p. 2

2) Control:

  • Earlier LIPM control methods addressed horizontal-floor locomotion, while rough-terrain extensions did not address the corresponding support-area question for ZMP or Capture Point control.The proposed controller uses a ZMP control point with linear-pendulum dynamics and derives its corresponding support area.Source: 2) Control · pp. 2–3
  • Force-distribution controllers handle arbitrary contacts, but support areas offer locomotion indicators for reachable COM locations and stability margins that are difficult to find in contact-force space.The paper states that its support areas can provide these indicators in arbitrary multi-contact configurations.Source: 2) Control · p. 3

B. Newton-Euler equations

  • The Newton–Euler formulation relates momentum rates to the total wrench, and the paper uses the contact wrench as the negative of the inertial wrench in subsequent calculations.The formulation separates spatial accelerations from environmental interaction forces.Source: B. Newton-Euler equations · p. 3

C. Contact stability

Contact stability is expressed through feasible contact wrenches under frictional constraints. Approximating friction cones with inner pyramids yields a ray-based representation that makes the stability test a nonnegative-coefficient membership check.

C. Contact stability

  • Under Coulomb friction, surface-contact forces lie in friction cones, and their mapped contact wrenches form the contact wrench cone; a motion is weak-contact stable exactly when its contact wrench belongs to that cone.Static stability is the special case with zero whole-body momentum; this use of “stability” is distinct from Lyapunov stability.Source: C. Contact stability · p. 3

D. Linearized wrench cones

  • Approximating each friction cone by an inner friction pyramid gives a span representation of the contact wrench cone, and weak-contact stability holds exactly when the wrench is a nonnegative combination of its rays.The pyramid rays are computed from the contact frame and friction coefficient.Source: D. Linearized wrench cones · p. 4

III. FULL ZMP SUPPORT AREA

The full ZMP support area is the projection of the contact wrench cone onto a chosen virtual plane, capturing ZMPs achievable through valid contact forces. Its construction uses friction-cone intersections and distinguishes same-sign from mixed-sign virtual pressures.

III. FULL ZMP SUPPORT AREA

A. Construction of the full support area

  • In the polygonal case, friction-cone rays intersect the virtual plane at points whose convex hull constructs the support area.Equivalently, the area is the convex hull of the individual projected contact polygons, which can assess how candidate contacts expand it.Source: Figure 2 · p. 5, A. Construction of the full support area · p. 5
  • When virtual pressures share a sign, the full support area is the convex hull of the ZMP vertices; with both signs, it is the union of two polygonal cones.The mixed-sign construction uses the Minkowski difference of the positive- and negative-pressure polygons.Source: A. Construction of the full support area · pp. 4–5
  • When the positive- and negative-pressure polygons overlap with nonempty interior, the full support area spans the entire virtual plane.The construction combines pairs of points from the two polygons to generate rays in the two cones.Source: A. Construction of the full support area · p. 5
  • The geometric construction computes the full support area faster than projecting the contact wrench cone using polyhedral duality methods.The paper reports a computation-time comparison in Table I.Source: A. Construction of the full support area · p. 5

B. Geometric properties

The full support area has geometric properties that clarify its dependence on the virtual plane and friction-cone geometry. Its shape can range from polygonal to the entire plane, depending on the contact-force configuration.

B. Geometric properties

  • Moving the reference point within a fixed virtual plane does not change the support area, but displacing the plane along its normal can change it.The plane is specified by its normal and offset; on a horizontal floor, the offset corresponds to the ZMP altitude.Source: B. Geometric properties · p. 6
  • The support-area vertices lie where the virtual plane intersects friction-cone rays, so with same-sign virtual pressures the area is their convex hull.This is consistent with horizontal floors, where the intersections coincide with contact points and recover the conventional support area.Source: B. Geometric properties · p. 6
  • For a feet-and-wall configuration, pushing downward on the wall creates a complementary support area behind the two floor contacts.The positive cone extends the conventional support region between the feet toward the wall.Source: B. Geometric properties · p. 6
  • Either contacts can generate arbitrary resultant forces, or a plane normal can be chosen that makes the support area polygonal.The arbitrary-force case can produce a support area spanning the whole plane; it is weaker than force closure, which usually entails arbitrary resultant forces and momenta.Source: B. Geometric properties · pp. 6–7
  • Choosing a normal that gives positive inner products with all resultant forces avoids potential singularities where the ZMP is undefined.For horizontal-floor contacts, the floor normal is one such choice.Source: B. Geometric properties · p. 7

C. Relation with the whole-body momentum

The full support area accounts for valid contact forces, but not the robot’s limits on changing whole-body momentum. Those limits restrict which ZMPs the robot can generate, especially near the area boundary and at higher virtual-plane altitudes.

C. Relation with the whole-body momentum

  • ZMPs near the full-support-area boundary require greater angular momentum, and this demand increases with virtual-plane altitude.Finite torque limits and bounded limb motion constrain the angular momentum a legged robot can generate, thereby restricting its achievable ZMPs.Source: C. Relation with the whole-body momentum · p. 7

IV. PENDULAR ZMP SUPPORT AREA

The section relates center-of-mass acceleration, ZMP position, and angular momentum through the Newton–Euler equations. This relation is the basis for connecting ZMP choices to the robot’s motion.

IV. PENDULAR ZMP SUPPORT AREA

  • The Newton–Euler equations bind COM acceleration, ZMP position, and angular momentum; g denotes the gravity vector.The relation follows by expanding the contact-wrench moment around the COM.Source: §IV · p. 7

A. Linear pendulum mode

The Linear Pendulum Mode (LPM) is obtained by regulating COM altitude and angular momentum, with the virtual-plane position determining whether the resulting pendulum is inverted or non-inverted. These choices also change how the ZMP relates to COM motion.

A. Linear pendulum mode

  • The LPM regulates COM altitude and angular momentum to constant values, subject to the paper’s linear-pendulum assumptions.The stated definition includes both n× ˙LG = 0 and n· ˙LG = 0, although only the former is necessary for realizing the mode.Source: A. Linear pendulum mode · p. 7
  • When dZ < dG, the model is the linear inverted pendulum mode (LIPM), with ZMP and COM behavior depending on whether the COM accelerates or decelerates.With the virtual plane below the COM, ZMP trajectories follow the COM during acceleration and precede it during deceleration.Source: A. Linear pendulum mode · pp. 7–8
  • When dZ > dG, the model is the linear non-inverted pendulum mode (LNPM), and the resultant contact force points from the COM to the ZMP.In this case the ZMP precedes the COM during acceleration and follows it during deceleration; with fixed ZMP, the COM orbits it without asymptotic convergence.Source: A. Linear pendulum mode · pp. 7–8

B. Shrinking of the support area

Under the LPM, friction constraints can make the valid ZMP region smaller than the convex hull of contact points. The pendular support area accounts for this shrinkage and is computed from feasible contact forces.

B. Shrinking of the support area

  • LPM constraints shrink the ZMP support area, so the convex hull of contact points (CHCP) can overstate the valid region.At a CHCP vertex, the resultant force must be supplied by that vertex’s contact; if the COM lies outside its friction cone, the required force is invalid, as in the stretched-leg example.Source: B. Shrinking of the support area · p. 8
  • CHCP-based methods assume infinite friction, which can be problematic on low-friction floors; the authors name the LPM-constrained region the pendular support area.Figure 6 depicts this area as smaller than the contact-point hull for a humanoid with stretched legs on a horizontal floor.Source: B. Shrinking of the support area · p. 8, Figure 6 · p. 8

1) Static-equilibrium polygon:

2) Pendular support area:

The pendular support area is computed from contact-wrench constraints for a known COM position. Unlike the full support area, it gives a necessary and sufficient contact-stability condition under the LPM.

2) Pendular support area:

  • For this computation, the COM position is treated as known, and the LPM equations are rewritten using the contact wrench.The resulting constraint matrices and vectors depend on pG; the valid contact-force set is then computed as for static stability.Source: 2) Pendular support area · p. 9
  • Double description yields a span representation of the feasible-force set, from which the pendular support area is formed.The area may be conical or polygonal and depends on both the contacts and the instantaneous COM position.Source: 2) Pendular support area · p. 9
  • Under the LPM, ZMP membership in the pendular support area is necessary and sufficient for contact stability.Unlike the full support area, this condition determines the other four contact-wrench components through equality constraints.Source: 2) Pendular support area · p. 9

V. EXPERIMENTS

The trajectory generator uses the ZMP as a command and the COM as its output, optimizing ZMP–COM trajectories while checking the pendular support area. It accounts for the fact that COM motion can change that area during a segment.

V. EXPERIMENTS

  • The model-preview controller commands the ZMP and outputs the COM trajectory, checking that the ZMP segment lies within pendular support areas computed at its endpoints.The COM’s movement can change both the position and shape of the support area during the motion.Source: A. Trajectory generation · pp. 9–10
  • The trajectory-generation QP minimizes COM acceleration and regularizes the ZMP trajectory, with both trajectories ending at the destination and COM velocity ending at zero.The cost weights are w1 = 1 and w2 = 100; the generated ZMP trajectory is integrated into a COM trajectory with a damping term to smooth oscillations.Source: A. Trajectory generation · pp. 9–10
  • The support area becomes small when the virtual-plane altitude dZ approaches dG, and its movement relative to the COM can make a configuration marginally stable or unstable.Figure 8 contrasts a COM vertical centered in the area, on its edge, and outside it; in the last case the leftmost feasible ZMP steers the COM farther away.Source: Figure 7 · p. 10, Figure 8 · p. 10
  • The pendular support area can become empty when the COM is far from contacts, observed empirically only beyond about one meter; it can also slant so no ZMP steers the COM back above contacts.Keeping the ZMP well within the areas computed at the segment’s start and end was enough in practice to avoid both outcomes.Source: A. Trajectory generation · p. 10

B. Long stride while leaning on a wall

The controller generated a long multi-contact stride by combining pendular-support-area planning with whole-body inverse kinematics, and the resulting ZMP stayed within the computed area. The paper also reports computation-time comparisons and outlines a spectrum of controller dimensionalities tied to different support areas.

B. Long stride while leaning on a wall

  • A left-hand wall contact paired with the right foot on an opposite tilted platform enabled a long stride otherwise impossible in single support.The robot used these contacts to swing its left leg across a gap in the platforms.Source: B. Long stride while leaning on a wall · p. 10, Figure 9 · p. 11
  • The COM trajectory generator increased the virtual-plane height until each stance-to-stance segment fit inside the pendular support area; the experiment used a plane one meter above the COM.Differential inverse kinematics then tracked contact poses and COM trajectory, with angular-momentum variation and preferred joint angles lower in the task hierarchy.Source: B. Long stride while leaning on a wall · pp. 10–11
  • ZMP deviations remained small and within the pendular support area, while valid contact forces were computed at each timestep to cross-validate contact stability.Figure 10 shows the COM and ZMP trajectories; Figure 9 depicts the contact forces.Source: B. Long stride while leaning on a wall · p. 11, Figure 10 · p. 11, Figure 9 · p. 11

C. Computation times

  • The geometric construction computes the full support area faster than projecting the CWC, while both are faster than the pendular-area calculation, which adds equality constraints.The full support area is only a necessary condition for contact stability.Source: C. Computation times · p. 11
  • The pendular-area projection variant was one to three times slower than CDD in practice, except that CDD sometimes slowed significantly or froze for triple contacts.The reported triple-contact CDD averages include only samples where it did not freeze, about 20% of all samples; the authors identify this as implementation-specific.Source: C. Computation times · p. 11

VI. CONCLUSION AND FUTURE WORK

  • The full support area corresponds to control retaining all six whole-body momentum components, whereas the pendular area fixes four and reduces control to two dimensions.The full area depends only on contact locations; the pendular area also depends on COM position, and intermediate three-, four-, or five-dimensional formulations are proposed for future exploration.Source: §VI · p. 12

APPENDIX A PERSPECTIVES ON A THREE-DIMENSIONAL ZMP

The appendix examines whether a three-dimensional ZMP can decouple all moment coordinates from the reference point. It defines the n-Moment Point and shows that adding the third moment coordinate makes its support volume reference-point dependent.

APPENDIX A PERSPECTIVES ON A THREE-DIMENSIONAL ZMP

  • A linear ZMP projection leaves at most a two-dimensional vector space of reference-point displacements invariant.The appendix then defines the n-Moment Point to include all three moment coordinates.Source: Appendix A · p. 13
  • The n-Moment Point support volume is the convex hull of its vertices when virtual pressures share a sign; otherwise it is a union of two polyhedral convex cones.The latter construction uses the Minkowski difference of the positive- and negative-pressure polyhedra.Source: Appendix A · p. 14
  • Unlike the ZMP projection, the n-Moment Point has no non-empty reference-point displacement subspace that remains invariant independently of the resultant force.The added moment coordinate makes the support volume depend on the chosen reference point.Source: Appendix A · p. 14
Loading 1510.03232v2…