Fast algorithms for penetration and contact determination between non-convex polyhedral models

We present fast algorithms for penetration detection and contact determination between polyhedral models in dynamic environments. They are based on a distance computation algorithm for convex polytopes and a hierarchical coherence-based algorithm to compute contacts. In particular, we extend an earlier expected constant time algorithm for distance computation between convex polytopes to detect penetrations. The algorithm computes all the contacts between the convex hulls of the polytopes. After identifying the contact regions it traverses the features lying beneath them to more precisely determine the contact regions. The traversal employs a dynamic technique, sweep and prune, to overcome the O(n/sup 2/) pairwise feature checks. The complexity of the overall algorithm is output sensitive. We demonstrate its performance on the dynamic simulation of a threaded insertion.

[1]  Sean Quinlan,et al.  Efficient distance computation between non-convex objects , 1994, Proceedings of the 1994 IEEE International Conference on Robotics and Automation.

[2]  H. Edelsbrunner A new approach to rectangle intersections part I , 1983 .

[3]  Nimrod Megiddo,et al.  Linear-Time Algorithms for Linear Programming in R^3 and Related Problems , 1982, FOCS.

[4]  Michael Ian Shamos,et al.  Geometric intersection problems , 1976, 17th Annual Symposium on Foundations of Computer Science (sfcs 1976).

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

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

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

[8]  Daniel E. Whitney,et al.  Assembly research , 1980, Autom..

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

[10]  F. Frances Yao,et al.  Computational Geometry , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

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

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

[13]  Carme Torras,et al.  Interference detection between non-convex polyhedra revisited with a practical aim , 1994, Proceedings of the 1994 IEEE International Conference on Robotics and Automation.

[14]  Elmer G. Gilbert,et al.  New distances for the separation and penetration of objects , 1994, Proceedings of the 1994 IEEE International Conference on Robotics and Automation.

[15]  Nimrod Megiddo,et al.  Linear-time algorithms for linear programming in R3 and related problems , 1982, 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).

[16]  Bruce Randall Donald,et al.  Simplified Voronoi diagrams , 1987, SCG '87.

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

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

[19]  Bernard Chazelle,et al.  Triangulating a non-convex polytype , 1989, SCG '89.

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

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

[22]  D. Bara Curved surfaces and coherence for non-penetrating rigid body simulation , 1990 .

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

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

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