Technical Section 3D collision detection: a survey

Many applications in Computer Graphics require fast and robust 3D collision detection algorithms. These algorithms can be grouped into four approaches: space}time volume intersection, swept volume interference, multiple interference detection and trajectory parameterization. While some approaches are linked to a particular object representation scheme (e.g., space}time volume intersection is particularly suited to a CSG representation), others do not. The multiple interference detection approach has been the most widely used under a variety of sampling strategies, reducing the collision detection problem to multiple calls to static interference tests. In most cases, these tests boil down to detecting intersections between simple geometric entities, such as spheres, boxes aligned with the coordinate axes, or polygons and segments. The computational cost of a collision detection algorithm depends not only on the complexity of the basic interference test used, but also on the number of times this test is applied. Therefore, it is crucial to apply this test only at those instants and places where a collision can truly occur. Several strategies have been developed to this end: (1) to "nd a lower time bound for the "rst collision, (2) to reduce the pairs of primitives within objects susceptible of interfering, and (3) to cut down the number of object pairs to be considered for interference. These strategies rely on distance computation algorithms, hierarchical object representations, orientation-based pruning criteria, and space partitioning schemes. This paper tries to provide a comprehensive survey of all these techniques from a uni"ed viewpoint, so that well-known algorithms are presented as particular instances of general approaches. 2001Elsevier Science Ltd. All rights reserved.

[1]  Vincent Hayward,et al.  The use of awareness in collision prediction , 1990, Proceedings., IEEE International Conference on Robotics and Automation.

[2]  Narendra Ahuja,et al.  Interference Detection and Collision Avoidance Among Three Dimensional Objects , 1980, AAAI.

[3]  Ming C. Lin,et al.  Fast and accurate collision detection for haptic interaction using a three degree-of-freedom force-feedback device , 2000, Comput. Geom..

[4]  Elmar Schömer,et al.  Efficient collision detection for moving polyhedra , 1995, SCG '95.

[5]  James E. Bobrow,et al.  A Direct Minimization Approach for Obtaining the Distance between Convex Polyhedra , 1989, Int. J. Robotics Res..

[6]  Bernard Chazelle,et al.  Strategies for Polyhedral Surface Decomposition: an Experimental Study , 1997, Comput. Geom..

[7]  Jane Wilhelms,et al.  Collision Detection and Response for Computer Animation , 1988, SIGGRAPH.

[8]  Gino van den Bergen Efficient Collision Detection of Complex Deformable Models using AABB Trees , 1997, J. Graphics, GPU, & Game Tools.

[9]  Stephen Cameron,et al.  A study of the clash detection problem in robotics , 1985, Proceedings. 1985 IEEE International Conference on Robotics and Automation.

[10]  S. Sathiya Keerthi,et al.  Computation of certain measures of proximity between convex polytopes: a complexity viewpoint , 1992, Proceedings 1992 IEEE International Conference on Robotics and Automation.

[11]  Ming C. Lin,et al.  Efficient collision detection for animation and robotics , 1993 .

[12]  Stephen Cameron,et al.  A comparison of two fast algorithms for computing the distance between convex polyhedra , 1997, IEEE Trans. Robotics Autom..

[13]  Mark H. Overmars,et al.  Point Location in Fat Subdivisions , 1992, Inf. Process. Lett..

[14]  Nimrod Megiddo,et al.  Linear time algorithms for some separable quadratic programming problems , 1993, Oper. Res. Lett..

[15]  Brian Mirtich,et al.  V-Clip: fast and robust polyhedral collision detection , 1998, TOGS.

[16]  Dinesh Manocha,et al.  Incremental Algorithms for Collision Detection Between Polygonal Models , 1997, IEEE Trans. Vis. Comput. Graph..

[17]  John M. Snyder,et al.  Interval methods for multi-point collisions between time-dependent curved surfaces , 1993, SIGGRAPH.

[18]  Chandrajit L. Bajaj,et al.  Convex Decomposition of Polyhedra and Robustness , 1992, SIAM J. Comput..

[19]  Angel P. del Pobil,et al.  A new representation for collision avoidance and detection , 1992, Proceedings 1992 IEEE International Conference on Robotics and Automation.

[20]  Karl G. Kempf,et al.  A collision detection algorithm based on velocity and distance bounds , 1986, Proceedings. 1986 IEEE International Conference on Robotics and Automation.

[21]  Richard L. Grimsdale,et al.  Collision Detection for Animation using Sphere‐Trees , 1995, Comput. Graph. Forum.

[22]  Dinesh Manocha,et al.  Fast contact determination in dynamic environments , 1994, Proceedings of the 1994 IEEE International Conference on Robotics and Automation.

[23]  Yunhui Liu,et al.  A new solid model HSM and its application to interference detection between moving objects , 1991, J. Field Robotics.

[24]  R. Kelley,et al.  A representation scheme for rapid 3D collision detection , 1988, Proceedings IEEE International Symposium on Intelligent Control 1988.

[25]  Philip M. Hubbard,et al.  Interactive collision detection , 1993, Proceedings of 1993 IEEE Research Properties in Virtual Reality Symposium.

[26]  Dinesh Manocha,et al.  Rapid and Accurate Contact Determination between Spline Models using ShellTrees , 1998, Comput. Graph. Forum.

[27]  Dinesh Manocha,et al.  Efficient and Accurate Interference Detection for Polynomial Deformation and Soft Object Animation , 1996 .

[28]  Greg Turk,et al.  Interactive Collision Detection for Molecular Graphics , 1990 .

[29]  John Amanatides,et al.  Merging BSP trees yields polyhedral set operations , 1990, SIGGRAPH.

[30]  Bernard Chazelle,et al.  Convex Partitions of Polyhedra: A Lower Bound and Worst-Case Optimal Algorithm , 1984, SIAM J. Comput..

[31]  Carme Torras,et al.  Speeding up interference detection between polyhedra , 1996, Proceedings of IEEE International Conference on Robotics and Automation.

[32]  Elmer G. Gilbert,et al.  Computing the distance between general convex objects in three-dimensional space , 1990, IEEE Trans. Robotics Autom..

[33]  Stephen Cameron,et al.  Collision detection by four-dimensional intersection testing , 1990, IEEE Trans. Robotics Autom..

[34]  Carme Torras,et al.  Collision Detection : A Geometric Approach , 1994, Modelling and Planning for Sensor Based Intelligent Robot Systems.

[35]  Angel P. del Pobil,et al.  Very fast collision detection for practical motion planning. I. The spatial representation , 1998, Proceedings. 1998 IEEE International Conference on Robotics and Automation (Cat. No.98CH36146).

[36]  Gino van den Bergen A Fast and Robust GJK Implementation for Collision Detection of Convex Objects , 1999, J. Graphics, GPU, & Game Tools.

[37]  Federico Thomas,et al.  An approach to the movers' problem that combines oriented matroid theory and algebraic geometry , 1995, Proceedings of 1995 IEEE International Conference on Robotics and Automation.

[38]  John F. Canny,et al.  Collision Detection for Moving Polyhedra , 1986, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[39]  John W. Boyse,et al.  Interference detection among solids and surfaces , 1979, CACM.

[40]  P. Volino,et al.  Collision and Self-Collision Detection :Efficient and Robust Solutions for Highly Deformable Surfaces , 1995 .

[41]  R. B. Kelley,et al.  Spherical-object representation and fast distance computation for robotic applications , 1991, Proceedings. 1991 IEEE International Conference on Robotics and Automation.

[42]  Alejandro M. García-Alonso,et al.  Solving the collision detection problem , 1994, IEEE Computer Graphics and Applications.

[43]  George Vanĕček Back-Face Culling Applied to Collision Detection of Polyhedra , 1993 .

[44]  Stephen Cameron,et al.  Computing signed distances between free-form objects , 2000, Proceedings 2000 ICRA. Millennium Conference. IEEE International Conference on Robotics and Automation. Symposia Proceedings (Cat. No.00CH37065).

[45]  Dinesh Manocha,et al.  V-COLLIDE: accelerated collision detection for VRML , 1997, VRML '97.

[46]  Dinesh Manocha,et al.  Incremental algorithms for collision detection between solid models , 1995, Symposium on Solid Modeling and Applications.

[47]  Stephen Cameron,et al.  Efficient Intersection Tests for Objects Defined Constructively , 1989, Int. J. Robotics Res..

[48]  Josep Tornero,et al.  Efficient distance calculation using the spherically-extended polytope (S-tope) model , 1992, Proceedings 1992 IEEE International Conference on Robotics and Automation.

[49]  S. Zeghloul,et al.  A fast distance calculation between convex objects by optimization approach , 1992, Proceedings 1992 IEEE International Conference on Robotics and Automation.

[50]  Thomas Ottmann,et al.  Algorithms for Reporting and Counting Geometric Intersections , 1979, IEEE Transactions on Computers.

[51]  Dinesh Manocha,et al.  I-COLLIDE: an interactive and exact collision detection system for large-scale environments , 1995, I3D '95.

[52]  Stephen P. Boyd,et al.  Obstacle Collision Detection Using Best Ellipsoid Fit , 1997, J. Intell. Robotic Syst..

[53]  Carme Torras,et al.  Benefits of applicability constraints in decomposition-free interference detection between nonconvex polyhedral models , 1999, Proceedings 1999 IEEE International Conference on Robotics and Automation (Cat. No.99CH36288C).

[54]  Alan H. Barr,et al.  Geometric collisions for time-dependent parametric surfaces , 1990, SIGGRAPH.

[55]  John Canny,et al.  Impulse-Based Dynamic Simulation , 1995 .

[56]  Bernard Chazelle,et al.  Decomposition Algorithms in Geometry , 1994 .

[57]  Dinesh Manocha,et al.  OBBTree: a hierarchical structure for rapid interference detection , 1996, SIGGRAPH.

[58]  P. Volino,et al.  Efficient self‐collision detection on smoothly discretized surface animations using geometrical shape regularity , 1994 .

[59]  Elmer G. Gilbert,et al.  A new algorithm for detecting the collision of moving objects , 1989, Proceedings, 1989 International Conference on Robotics and Automation.

[60]  Stephen Cameron,et al.  Enhancing GJK: computing minimum and penetration distances between convex polyhedra , 1997, Proceedings of International Conference on Robotics and Automation.

[61]  Bruce Randall Donald,et al.  A Search Algorithm for Motion Planning with Six Degrees of Freedom , 1987, Artif. Intell..

[62]  S. A. Cameron,et al.  Determining the minimum translational distance between two convex polyhedra , 1986, Proceedings. 1986 IEEE International Conference on Robotics and Automation.

[63]  Joseph S. B. Mitchell,et al.  Efficient Collision Detection Using Bounding Volume Hierarchies of k-DOPs , 1998, IEEE Trans. Vis. Comput. Graph..

[64]  S. Sathiya Keerthi,et al.  A fast procedure for computing the distance between complex objects in three-dimensional space , 1988, IEEE J. Robotics Autom..

[65]  John Canny,et al.  The complexity of robot motion planning , 1988 .

[66]  Bruce F. Naylor,et al.  Set operations on polyhedra using binary space partitioning trees , 1987, SIGGRAPH.

[67]  Vincent Hayward,et al.  Fast collision detection scheme by recursive decomposition of a manipulator workspace , 1986, Proceedings. 1986 IEEE International Conference on Robotics and Automation.

[68]  Yutaka Hori,et al.  Octree-based approach to real-time collision-free path planning for robot manipulator , 1996, Proceedings of 4th IEEE International Workshop on Advanced Motion Control - AMC '96 - MIE.

[69]  Ming C. Lin,et al.  A fast algorithm for incremental distance calculation , 1991, Proceedings. 1991 IEEE International Conference on Robotics and Automation.