0
Research Papers

A Geometrically Exact Contact Model for Polytopes in Multirigid-Body Simulation

[+] Author and Article Information
Jedediyah Williams

CS Robotics Lab,
Department of Computer Science,
Rensselaer Polytechnic Institute,
Troy, NY 12180
e-mail: jedediyah@gmail.com

Ying Lu

CS Robotics Lab,
Department of Computer Science,
Rensselaer Polytechnic Institute,
Troy, NY 12180
e-mail: rosebudflyaway@gmail.com

J. C. Trinkle

Director
CS Robotics Lab,
Department of Computer Science,
Rensselaer Polytechnic Institute,
Troy, NY 12180
e-mail: trink@cs.rpi.edu

Contributed by the Design Engineering Division of ASME for publication in the JOURNAL OF COMPUTATIONAL AND NONLINEAR DYNAMICS. Manuscript received January 3, 2015; final manuscript received July 25, 2016; published online December 2, 2016. Assoc. Editor: Andreas Mueller.

J. Comput. Nonlinear Dynam 12(2), 021001 (Dec 02, 2016) (14 pages) Paper No: CND-15-1003; doi: 10.1115/1.4034390 History: Received January 03, 2015; Revised July 25, 2016

We present a formulation of nonpenetration constraint between pairs of polytopes which accounts for all possible combinations of active contact between geometric features. This is the first formulation that exactly models the body geometries near points of potential contact, preventing interpenetration while not overconstraining body motions. Unlike many popular methods, ours does not wait for penetrations to occur as a way to identify which contact constraints to enforce. Nor do we overconstrain by representing the free space between pairs of bodies as convex, when it is in fact nonconvex. Instead, each contact constraint incorporates all feasible potential contacts in a way that represents the true geometry of the bodies. This ensures penetration-free, physically correct configurations at the end of each time step while allowing bodies to accurately traverse the free space surrounding other bodies. The new formulation improves accuracy, dramatically reduces the need for ad hoc corrections of constraint violations, and avoids many of the inevitable instabilities consequent of other contact models. Although the dynamics problem at each time step is larger, the inherent stability of our method means that much larger time steps can be taken without loss of physical fidelity. As will be seen, the results obtained with our method demonstrate the effective elimination of interpenetration, and as a result, correction-induced instabilities, in multibody simulations.

Copyright © 2017 by ASME
Your Session has timed out. Please sign back in to continue.

References

Figures

Grahic Jump Location
Fig. 1

Bodies A and B in 3D, and contact vectors in the world frame {W}

Grahic Jump Location
Fig. 2

The standard-model trap. A vertex v approaching two edges e1 and e2 at a corner of a body B. If unilateral constraints are enforced against both edges, the vertex becomes trapped by the sum of the edges' half-spaces (light gray regions plus body). The same trap can occur in 3D between a vertex and set of faces or an edge against multiple edges.

Grahic Jump Location
Fig. 3

Infeasibility caused by the standard contact model. Vertex va1 is penetrating the line containing edge eb3 (i.e., ψ1<0). Similarly, va2 is penetrating the line containing edge eb1 (i.e., ψ2<0). Since the bodies are rigid, it is impossible to eliminate both penetrations at the end of the next time step. Therefore, the time-stepping subproblem with constraint stabilization will not have a solution.

Grahic Jump Location
Fig. 4

The possible values for c in the space surrounding edges e1 and e2

Grahic Jump Location
Fig. 5

A dual case of a vertex near two edges in 2D. The physically feasible trajectories of va are interdependent with the trajectories of vb and vice versa. Consider that if va goes “on top” of B, then vb cannot simultaneously go “on top” of A.

Grahic Jump Location
Fig. 6

A valid solution to the dual vertex–edge case using the LNC model. Note that neither vertex is penetrating the other body, perfectly satisfying the constraints of Eq. (15).

Grahic Jump Location
Fig. 7

Geometric representation of a convex polyhedron

Grahic Jump Location
Fig. 8

Two-dimensional normal region of an edge. Contact anywhere between the vertices of e1 results in the same normal direction n̂1.

Grahic Jump Location
Fig. 9

Two-dimensional normal wedge at a vertex. A contact at this vertex may result in a contact normal n̂ anywhere in this wedge.

Grahic Jump Location
Fig. 10

Three-dimensional normal region for a face. The simplest of the three 3D normal regions, it is defined by a single half-space. The Voronoi region (depicted) is a subspace of that half-space.

Grahic Jump Location
Fig. 11

Three-dimensional normal region at an edge. Again, the Voronoi region (pictured) is a subset of the normal region.

Grahic Jump Location
Fig. 12

Three-dimensional normal region at a vertex joining three faces. For the general case of m joined faces, the polyhedral region will be defined by m half-spaces planar with the faces and is equivalent to the Voronoi region for the vertex.

Grahic Jump Location
Fig. 13

Two vertices of body A near an edge of B. Vertex va1 has classical applicability with eb and the normal n1 of C(va1,eb) is within the normal cone. Vertex va2 does not have classical applicability with eb and the normal n2 of C(va2,eb) is outside its corresponding normal cone.

Grahic Jump Location
Fig. 14

Edge–edge contact at the border of stability for classical applicability (ϵθ{ee}=0). The result in this configuration is dependent on machine precision error. Relaxation eliminates this dependency by increasing the domain of applicability.

Grahic Jump Location
Fig. 15

The region of feasibility for a vertex against a facet f of a body B is the region above the thick dashed line. A vertex in this region is considered to have a potential contact force λ with f.

Grahic Jump Location
Fig. 16

Abstraction layers of PEG

Grahic Jump Location
Fig. 17

A well-defined vertex–face contact between vertex va of body A and face fb of body B. C(va,fb) is clearly the only contact to consider given a reasonable time-step size.

Grahic Jump Location
Fig. 18

An example of a vertex–edge configuration. Consider the relationship between the contacts C(va,fb1) and C((vk3,va),eb). If the first is not enforced, then the second must be and vice versa.

Grahic Jump Location
Fig. 19

A vertex va of body A approaching a vertex vb of body B from above. Vertex va should be permitted to break the half-spaces represented by the falsely extended faces of B, but not all of them and only when doing so does not violate edge–edge contacts.

Grahic Jump Location
Fig. 20

A snapshot from a polygon pouring simulation. A polygon was dropped into a box every 0.25 s for 5 s of simulation. At each time step, the total area of overlap between all pairs of bodies was used as the performance metric.

Grahic Jump Location
Fig. 21

Comparison of area overlap errors from ten polygon pouring simulations. Predictably, time-stepping with the standard contact model generated more error for larger time steps. The error when using PEG was relatively imperceptible, set along the horizontal axis for all time steps tested.

Grahic Jump Location
Fig. 22

Numbers of contacts and SM traps encountered at each time step for a typical polygon pouring simulation with time step of h=0.01 s. Smaller time steps generated fewer SM traps since the contact proximity parameter ϵ was smaller.

Grahic Jump Location
Fig. 23

Sample frame from a polyhedra pouring simulation. A polyhedron was dropped into a container every 0.5 s for 5 s of simulation. At each time step, the total volume of overlap between all pairs of bodies was used as a performance metric.

Grahic Jump Location
Fig. 24

Comparison of volume overlap error for ten instances of the polyhedron pouring experiment. Time-stepping with the standard contact model generated more error for larger time steps, while the error when using PEG was relatively imperceptible, set along the horizontal axis for all time steps tested.

Grahic Jump Location
Fig. 25

Numbers of contacts and SM traps encountered at each time step for one polyhedron pouring simulation with time step of h = 0.01 s. Smaller time steps generated fewer SM traps since the contact proximity parameter ϵ was smaller.

Tables

Errata

Discussions

Some tools below are only available to our subscribers or users with an online account.

Related Content

Customize your page view by dragging and repositioning the boxes below.

Related Journal Articles
Related eBook Content
Topic Collections

Sorry! You do not have access to this content. For assistance or to subscribe, please contact us:

  • TELEPHONE: 1-800-843-2763 (Toll-free in the USA)
  • EMAIL: asmedigitalcollection@asme.org
Sign In