Collision Detection Between Geometric Models
Total Page:16
File Type:pdf, Size:1020Kb
Collision detection b etween geometric mo dels: a survey Ming C. Lin & Stefan Gottschalk University of North Carolina Abstract In this pap er, we survey the state of the art in collision detec- tion b etween general geometric mo dels. The set of mo dels include p olygonal ob jects, spline or algebraic surfaces, CSG mo dels, and deformable b o dies. We presentanumberoftechniques and sys- tems available for contact determination. We also describ e several N-b o dy algorithms to reduce the numb er of pairwise intersection tests. 1 Intro duction The goal of col lision detection also known as interference detection or con- tact determination is to automatically rep ort a geometric contact when it is ab out to o ccur or has actually o ccurred. The geometric mo dels may b e p olygonal ob jects, splines, or algebraic surfaces. The problem is en- countered in computer-aided design and machining CAD/CAM, rob otics and automation, manufacturing, computer graphics, animation and com- puter simulated environments. Collision detection enables simulation- based design, tolerance veri cation, engineering analysis, assembly and dis-assembly, motion planning, animated gure articulation, walkthrough, etc. All these tasks involve contact analysis and spatial reasoning among static or moving ob jects. In many of these application areas, collision detection is considered a ma jor computational b ottleneck. Collision detection is an essential comp onent of rob ot motion planning and control, where it helps to steer the rob ot away from its surround- ing obstacles. In virtual prototyping, it is used to re ne designs without pro ductions of physical prototyp es in the initial design stage. Collision detection can also b e a signi cant aid in simulation for engineering analy- sis. Exp eriments which are impractical to conduct can b e simulated, such as supp ort design for tunnels. Another example is automobile crash test and ergonomics analysis which can b e done systematically at muchlower 1 2 Col lision detection between geometric models: a survey 3D Models Nonpolygonal Models Polygonal Models Constructive Implicit Parametric Structured Polygon Soups Solid Surfaces Surfaces Geometry Convex Nonconvex Figure 1. ATaxonomy of 3D Mo del Representations cost and under more controlled, varied conditions using collision detection algorithms in a computer simulated environment. In this pap er, we survey the state of the art in collision detection b e- tween geometric mo dels represented by a collection of p olygons smo oth surfaces. The rest of the pap er is organized in the following manner. In Section 2, we present a classi cation of the the collision detection prob- lem. We brie y survey the algorithms available for p olygonal mo dels in Section 3. Then, we describ e the state of art in collision detection for general geometric mo dels and discuss the advantages and shortcomings of each metho d in Section 4. Section 5 highlights techniques in reducing the numb er of pairwise intersection tests for a computer simulated environ- ment consisting of multiple static or moving ob jects. We list a number of public domain packages for collision detection in Section 6. 2 Problem domain classi cation A wide range of techniques, including hierarchical representation, geo- metric reasoning, algebraic formulations, spatial partitioning, analytical metho ds, and optimization metho ds, have b een prop osed. Algorithm de- sign dep ends on the mo del representation, the desired query typ es, and the simulation environment. 2.1 Mo del representations There are manytyp es of mo del representations used in CAD/CAM and 3D graphics. One p ossible taxonomy that we adopt for the ease of orga- nization in this pap er is shown in Figure 1. Ming C. Lin & Stefan Gottschalk 3 2.1.1 Polygonal mo dels Polygonal ob jects are the most commonly used mo dels in computer graph- ics and mo deling. They have a simple representation. They are versatile. Hardware-accelerated rendering of p olygon is widely available. The most general class of p olygonal mo del is the \polygon soup,"which is a collection of p olygons that are not geometrically connected and has no top ology information available. If the p olygons form a closed manifold, then the mo del has a well-de ned inside and outside { it is a prop er solid. Some geometric algorithms rely on this structure. If the ob ject de ned by the closed manifold is convex, then this additional structure can b e exploited in collision detection algorithms. 2.1.2 Constructive solid geometry Constructive Solid Geometry or CSG forms ob jects from primitives such as blo cks, spheres, cylinders, cones, and tori, by combining them with set theoretic op erations such as union, intersection, and set di erence [RR92, Hof89 ]. One strength of the CSG representation is that it enables an in- tuitive design pro cess of building shap es by means of cutting intersection and set di erence and joining union simple shap es to form more com- plex ones. It also makes nding a collision witness easier [Cam91]. The diculty with CSG is that certain op erations, such as rounding an edge or lleting a join, are dicult to describ e with CSG op erations. Further- more, an accurate b oundary or surface representation, useful for rendering or interference computations, can b e hard to compute from CSG repre- sentations [Hof89, KKM97]. 2.1.3 Implicit surfaces Implicit surfaces are de ned using implicit functions. They are de ned 3 with mappings from space to the real numb ers, f : R 7! R, and the implicit surfaces are the lo ci of p oints where f x; y ; z =0.Such a function de nes unambiguously what is inside the mo del, f x; y ; z < 0; and what is outside, f x; y ; z > 0. Consequently, implicit surfaces are generically closed manifolds, a desirable prop erty. If the function is p olynomial in x, y , and z , then it is called alge- braic, which includes the algebraic surfaces [Sed90], higher-order func- tions [BW90] and convolution surfaces. Implicits are also often used as the primitives in CSG systems. A sp ecial case of algebraic surfaces are the quadrics, which are the second-degree p olynomials in x, y , and z . These can represent slabs, cones, spheres, and cylinders in a uni ed framework. They are widely used in 4 Col lision detection between geometric models: a survey anumb er of applications and a numb er of sp ecialized algorithms have b een develop ed for intersection computations b etween quadrics [FNO89, MG91 , SJ91]. 2.1.4 Parametric surfaces Parametric surfaces are mappings from some subset of the plane to space, 2 3 f : R 7! R . Unlike implicit surfaces, parametric surfaces are not gener- ally closed manifolds. Hence, unlike CSG and implicit surfaces, they do not represent a complete solid mo del, but rather a description of surface b oundary. Parametric surfaces are easier to p olygonalize and render as compared to the implicits, and a sp ecial class called the Non-Uniform Rational B- Spline NURBS has gained in p opularity in CAD [LR80 , Far93]. NURBS have some very nice prop erties which make them easier to op erate on. They can also b e represented using B ezier patches. It is worth noting that rational parametric surfaces like NURBS and B ezier patches are a prop er subset of algebraic surfaces. 2.2 Di erenttyp es of queries In the simplest case, wewant to know whether two mo dels touch. Some- times, wemust nd which parts if any touch, i.e. nd their intersection. Sometimes wewanttoknow their separation: if two ob jects are disjoint, what is the minimum Euclidean distance b etween them? If they p ene- trate, what is the minimum translational distance required to separate them [CC86 ]? Finally,ifwe know the ob jects' placements and motions, when will b e their next collision? This is ETA computation, b orrowing from the phrase, \estimated time of arrival". Di erent applications need di erent queries. Distance information is useful for computing interaction forces and p enalty functions in rob ot mo- tion planning [Lat91 ] and dynamic simulation [Lin93, MC95 ]. Intersection computation is imp ortant for physically-based mo deling and animation systems whichmust know all contacts in order to compute the collision resp onse. The ETA solution p ermits us to control the time step in a simulation [Lin93 , LM95]. 2.3 Simulation environments Sp ecial characteristics of each simulation are often considered in designing and cho osing the most appropriate algorithm for collision detection. Here we examine a few common cases. Ming C. Lin & Stefan Gottschalk 5 2.3.1 Pair pro cessing vs. nb o dy pro cessing If the problem involves only a pair of mo dels, we call it \pair pro cessing." If wehave many di erent parts, we call it \Nb o dy pro cessing," in reference to the classic problem in celestial mechanics many b o dies moving under mutual gravitational in uence. 2.3.2 Motions: static vs. dynamic Queries are often executed rep eatedly on the same mo dels in the same environment, as the ob jects rotate and translate or p ossibly sub ject to non-rigid transformations [HLMD96 ] at successive time steps. In these dynamic environments, the geometric relationship may only di er slightly from that of the previous step, if the motion b etween steps is relatively small. Algorithms that can capitalize on this prop erty are said to b e exploit temporal coherence. In order to exploit temp oral coherence, some algorithms require b ounds [Lin93, LM95 ] on the motion of the ob jects e.g.