Efficient collision detection for animation and robotics

We present efficient algorithms for collision detection and contact determination between geometric models, described by linear or curved boundaries, undergoing rigid motion. The heart of our collision detection algorithm is a simple and fast incremental method to compute the distance between two convex polyhedra. It utilizes convexity to establish some local applicability criteria for verifying the closest features. A preprocessing procedure is used to subdivide each feature's neighboring features to a constant size and thus guarantee expected constant running time for each test. The expected constant time performance is an attribute from exploiting the geometric coherence and locality. Let n be the total number of features, the expected run time is between $O(\sqrt{n})$ and O(n) depending on the shape, if no special initialization is done. This technique can be used for dynamic collision detection, planning in three-dimensional space, physical simulation, and other robotics problems. The set of models we consider includes polyhedra and objects with surfaces described by rational spline patches or piecewise algebraic functions. We use the expected constant time distance computation algorithm for collision detection between convex polyhedral objects and extend it using a hierarchical representation to distance measurement between non-convex polytopes. Next, we use global algebraic methods for solving polynomial equations and the hierarchical description to devise efficient algorithms for arbitrary curved objects. We also describe two different approaches to reduce the frequency of collision detection from$$N\choose2$$pairwise comparisons in an environment with n moving objects. One of them is to use a priority queue sorted by a lower bound on time to collision; the other uses an overlap test on bounding boxes. Finally, we present an opportunistic global path planner algorithm which uses the incremental distance computation algorithm to trace out a one-dimensional skeleton for the purpose of robot motion planning. The performance of the distance computation and collision detection algorithms attests their promise for real-time dynamic simulations as well as applications in a computer generated virtual environment.

[1]  J. Milnor On the Betti numbers of real varieties , 1964 .

[2]  R. Thom Sur L'Homologie des Varietes Algebriques Réelles , 1965 .

[3]  Scott E. Fahlman,et al.  A Planning System for Robot Construction Tasks , 1973, Artif. Intell..

[4]  D. N. Bernshtein The number of roots of a system of equations , 1975 .

[5]  Philip Wolfe,et al.  Finding the nearest point in A polytope , 1976, Math. Program..

[6]  C. Gibson,et al.  Topological Stability of Smooth Mappings , 1976 .

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

[8]  John H. Reif,et al.  Complexity of the mover's problem and generalizations , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[9]  Tomás Lozano-Pérez,et al.  An algorithm for planning collision-free paths among polyhedral obstacles , 1979, CACM.

[10]  Andrzej Lingas,et al.  The Power of Non-Rectilinear Holes , 1982, ICALP.

[11]  N. Megiddo Linear-time algorithms for linear programming in R3 and related problems , 1982, FOCS 1982.

[12]  JOSEPH O’ROURKE,et al.  A new linear algorithm for intersecting convex polygons , 1982, Comput. Graph. Image Process..

[13]  Derick Wood,et al.  Counting and Reporting Intersections of d-Ranges , 1982, IEEE Transactions on Computers.

[14]  Joseph O'Rourke,et al.  Some NP-hard polygon decomposition problems , 1983, IEEE Trans. Inf. Theory.

[15]  J. Schwartz,et al.  Efficient Detection of Intersections among Spheres , 1983 .

[16]  Gene H. Golub,et al.  Matrix computations , 1983 .

[17]  W. Edward Red,et al.  Minimum distances for robot task simulation , 1983, Robotica (Cambridge. Print).

[18]  David F. Rogers,et al.  Procedural Elements for Computer Graphics , 1984 .

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

[20]  Nimrod Megiddo,et al.  Linear Programming in Linear Time When the Dimension Is Fixed , 1984, JACM.

[21]  B. Donald Motion Planning with Six Degrees of Freedom , 1984 .

[22]  Martin E. Dyer,et al.  Linear Time Algorithms for Two- and Three-Variable Linear Programs , 1984, SIAM J. Comput..

[23]  Franco P. Preparata,et al.  Computational Geometry , 1985, Texts and Monographs in Computer Science.

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

[25]  Elmer G. Gilbert,et al.  Distance functions and their application to robot path planning in the presence of obstacles , 1985, IEEE J. Robotics Autom..

[26]  David G. Kirkpatrick,et al.  A Linear Algorithm for Determining the Separation of Convex Polyhedra , 1985, J. Algorithms.

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

[28]  J. Keller Impact With Friction , 1986 .

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

[30]  J. Davenport A "Piano Movers" Problem. , 1986 .

[31]  Robert P. Markot,et al.  Surface algorithms using bounds on derivatives , 1986, Comput. Aided Geom. Des..

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

[33]  Herbert Edelsbrunner,et al.  Algorithms in Combinatorial Geometry , 1987, EATCS Monographs in Theoretical Computer Science.

[34]  Yu Wang,et al.  Modeling impact dynamics for robotic operations , 1987, Proceedings. 1987 IEEE International Conference on Robotics and Automation.

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

[36]  Jane Wilhelms,et al.  Number 4 , August 1988 Collision Detection and Response for Computer Animation , 1988 .

[37]  John F. Canny,et al.  Constructing Roadmaps of Semi-Algebraic Sets I: Completeness , 1988, Artificial Intelligence.

[38]  James K. Hahn,et al.  Realistic animation of rigid bodies , 1988, SIGGRAPH.

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

[40]  Maximal distance for robotic simulation: The convex case , 1988 .

[41]  John Canny,et al.  Simplified Voronoi diagrams , 1988, Discret. Comput. Geom..

[42]  John F. Canny,et al.  Generalized Characteristic Polynomials , 1988, ISSAC.

[43]  Ronen Barzel,et al.  A modeling system based on dynamic constraints , 1988, SIGGRAPH.

[44]  Alex Pentland,et al.  Good vibrations: modal dynamics for graphics and animation , 1989, SIGGRAPH.

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

[46]  A. James Stewart,et al.  The architecture of Newton, a general-purpose dynamics simulator , 1989, Proceedings, 1989 International Conference on Robotics and Automation.

[47]  Raimund Seidel,et al.  On the difficulty of tetrahedralizing 3-dimensional non-convex polyhedra , 1989, SCG '89.

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

[49]  Michael Gleicher,et al.  Interactive dynamics , 1990, I3D '90.

[50]  Gerald Farin,et al.  Curves and surfaces for computer aided geometric design , 1990 .

[51]  Oussama Khatib,et al.  Real-Time Obstacle Avoidance for Manipulators and Mobile Robots , 1985, Autonomous Robot Vehicles.

[52]  Andrew P. Witkin,et al.  Fast animation and control of nonrigid structures , 1990, SIGGRAPH.

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

[54]  George Vaněček BRep-Index: a multidimensional space partitioning tree , 1990 .

[55]  David G. Kirkpatrick,et al.  Determining the Separation of Preprocessed Polyhedra - A Unified Approach , 1990, ICALP.

[56]  Mark Hall,et al.  Adaptive polygonalization of implicitly defined surfaces , 1990, IEEE Computer Graphics and Applications.

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

[58]  Raimund Seidel,et al.  Linear programming and convex hulls made easy , 1990, SCG '90.

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

[60]  Bernard Chazelle,et al.  Triangulating a nonconvex polytope , 1990, Discret. Comput. Geom..

[61]  Jean-Claude Latombe,et al.  Robot motion planning , 1970, The Kluwer international series in engineering and computer science.

[62]  Jean-Claude Latombe,et al.  Robot motion planning with many degrees of freedom and dynamic constraints , 1991 .

[63]  George Vanĕček,et al.  Collision Detection and Analysis in a Physically Based Simulation , 1991 .

[64]  Dinesh Manocha,et al.  Efficient techniques for multipolynomial resultant algorithms , 1991, ISSAC '91.

[65]  Andrew P. Witkin,et al.  Dynamic simulation of non-penetrating flexible bodies , 1992, SIGGRAPH.

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

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

[68]  D. Manocha,et al.  Algebraic and numeric techniques in modeling and robotics , 1992 .

[69]  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.

[70]  Dinesh Manocha Solving polynomial systems for curve, surface and solid modeling , 1993, Solid Modeling and Applications.

[71]  I. Emiris An E cient Algorithm for the Sparse Mixed Resultant John Canny ? and , 1993 .

[72]  John F. Canny,et al.  Computing Roadmaps of General Semi-Algebraic Sets , 1991, Comput. J..

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

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

[75]  Dinesh Manocha,et al.  Interactive and Exact Collision Detection for Multi-Body Environments , 1994 .

[76]  John F. Canny,et al.  A General Approach to Removing Degeneracies , 1995, SIAM J. Comput..