Proximity Queries Between Convex Objects: An Interior Point Approach for Implicit Surfaces

This paper presents a general method for exact distance computation between convex objects represented as intersections of implicit surfaces. Exact distance computation algorithms are particularly important for applications involving objects that make intermittent contact, such as in dynamic simulations and in haptic interactions. They can also be used in the narrow phase of hierarchical collision detection. In contrast to geometric approaches developed for polyhedral objects, we formulate the distance computation problem as a convex optimization problem. We use an interior point method to solve the optimization problem and demonstrate that, for general convex objects represented as implicit surfaces, interior point approaches are globally convergent, and fast in practice. Further, they provide polynomial-time guarantees for implicit surface objects when the implicit surfaces have self-concordant barrier functions. We use a primal-dual interior point algorithm that solves the Karush-Kuhn-Tucker (KKT) conditions obtained from the convex programming formulation. For the case of polyhedra and quadrics, we establish a theoretical time complexity of O(n1.5), where n is the number of constraints. We present implementation results for example implicit surface objects, including polyhedra, quadrics, and generalizations of quadrics such as superquadrics and hyperquadrics, as well as intersections of these surfaces. We demonstrate that in practice, the algorithm takes time linear in the number of constraints, and that distance computation rates of about 1 kHz can be achieved. We also extend the approach to proximity queries between deforming convex objects. Finally, we show that continuous collision detection for linearly translating objects can be performed by solving two related convex optimization problems. For polyhedra and quadrics, we establish that the computational complexity of this problem is also O(n1.5).

[1]  Gino van den Bergen Collision Detection in Interactive 3D Environments , 2003 .

[2]  D. Stewart,et al.  AN IMPLICIT TIME-STEPPING SCHEME FOR RIGID BODY DYNAMICS WITH INELASTIC COLLISIONS AND COULOMB FRICTION , 1996 .

[3]  Abderrahmane Kheddar,et al.  Fast Continuous Collision Detection between Rigid Bodies , 2002, Comput. Graph. Forum.

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

[5]  G. Van,et al.  Ray Casting against General Convex Objects with Application to Continuous Collision Detection , 2004 .

[6]  Alan H. Barr,et al.  Global and local deformations of solid primitives , 1984, SIGGRAPH.

[7]  van den BergenGino A fast and robust GJK implementation for collision detection of convex objects , 1999 .

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

[9]  Jan Vlcek,et al.  Interior point methods for large-scale nonlinear programming , 2005, Optim. Methods Softw..

[10]  Elaine Cohen,et al.  A framework for efficient minimum distance computations , 1998, Proceedings. 1998 IEEE International Conference on Robotics and Automation (Cat. No.98CH36146).

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

[12]  R. Brent Gillespie,et al.  Feedback-stabilized minimum distance maintenance for convex parametric surfaces , 2005, IEEE Transactions on Robotics.

[13]  Dinesh K. Pai,et al.  Fast frictional dynamics for rigid bodies , 2005, ACM Trans. Graph..

[14]  Dinesh Manocha,et al.  Fast distance queries with rectangular swept sphere volumes , 2000, Proceedings 2000 ICRA. Millennium Conference. IEEE International Conference on Robotics and Automation. Symposia Proceedings (Cat. No.00CH37065).

[15]  Jing Xiao,et al.  Physically accurate haptic rendering with dynamic effects , 2004, IEEE Computer Graphics and Applications.

[16]  Tom Duff,et al.  Interval arithmetic recursive subdivision for implicit functions and constructive solid geometry , 1992, SIGGRAPH.

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

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

[19]  F. Glineur,et al.  Conic Formulation for lp-Norm Optimization , 2000 .

[20]  Martin Buss,et al.  A discrete-continuous control approach to dextrous manipulation , 2000, Proceedings 2000 ICRA. Millennium Conference. IEEE International Conference on Robotics and Automation. Symposia Proceedings (Cat. No.00CH37065).

[21]  Barr,et al.  Superquadrics and Angle-Preserving Transformations , 1981, IEEE Computer Graphics and Applications.

[22]  Les A. Piegl,et al.  The NURBS Book , 1995, Monographs in Visual Communication.

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

[24]  Andrew J. Hanson,et al.  Hyperquadrics: Smoothly deformable shapes with convex polyhedral bounds , 1988, Comput. Vis. Graph. Image Process..

[25]  Michael A. Saunders,et al.  SNOPT: An SQP Algorithm for Large-Scale Constrained Optimization , 2002, SIAM J. Optim..

[26]  Lorenz T. Biegler,et al.  On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming , 2006, Math. Program..

[27]  Peter K. Allen,et al.  An SVM learning approach to robotic grasping , 2004, IEEE International Conference on Robotics and Automation, 2004. Proceedings. ICRA '04. 2004.

[28]  Christian Lennerz,et al.  Efficient distance computation for quadratic curves and surfaces , 2002, Geometric Modeling and Processing. Theory and Applications. GMP 2002. Proceedings.

[29]  Stephen P. Boyd,et al.  Convex Optimization , 2004, Algorithms and Theory of Computation Handbook.

[30]  Gert Vegter,et al.  In handbook of discrete and computational geometry , 1997 .

[31]  Vijay Kumar,et al.  Design of part feeding and assembly processes with dynamics , 2004, IEEE International Conference on Robotics and Automation, 2004. Proceedings. ICRA '04. 2004.

[32]  S. Cameron,et al.  Towards efficient motion planning for manipulators with complex geometry , 1995, Proceedings. IEEE International Symposium on Assembly and Task Planning.

[33]  Stephen J. Wright Primal-Dual Interior-Point Methods , 1997, Other Titles in Applied Mathematics.

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

[35]  Srinivas Akella,et al.  Multiple robot coordination: a mathematical programming approach , 2005 .

[36]  Jorge J. Moré,et al.  The NEOS Server , 1998 .

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

[38]  D. Shanno,et al.  CONVERGENCE ANALYSIS OF AN INTERIOR-POINT METHOD FOR NONCONVEX NONLINEAR PROGRAMMING , 2007 .

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

[40]  David J. Montana,et al.  The Kinematics of Contact and Grasp , 1988, Int. J. Robotics Res..

[41]  Wenping Wang,et al.  Continuous Collision Detection for Two Moving Elliptic Disks , 2006, IEEE Transactions on Robotics.

[42]  Nilanjan Chakraborty,et al.  Proximity Queries Between Convex Objects: An Interior Point Approach for Implicit Surfaces , 2008, IEEE Trans. Robotics.

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

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

[45]  A. Robin Forrest,et al.  Curves and surfaces for computer-aided design , 1968 .

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

[47]  Bert Jüttler,et al.  Computing distances between surfaces using line geometry , 2002, 10th Pacific Conference on Computer Graphics and Applications, 2002. Proceedings..

[48]  Jing Xiao,et al.  An interactive approach to determining complex contact states , 2005, (ISATP 2005). The 6th IEEE International Symposium on Assembly and Task Planning: From Nano to Macro Assembly and Manufacturing, 2005..

[49]  R. Stephenson A and V , 1962, The British journal of ophthalmology.

[50]  Katta G. Murty,et al.  Nonlinear Programming Theory and Algorithms , 2007, Technometrics.

[51]  Dinesh K. Pai,et al.  Continuous contact simulation for smooth surfaces , 2003, TOGS.

[52]  D K Smith,et al.  Numerical Optimization , 2001, J. Oper. Res. Soc..

[53]  Elmer G. Gilbert,et al.  The Gilbert-Johnson-Keerthi distance algorithm: a fast version for incremental motions , 1997, Proceedings of International Conference on Robotics and Automation.

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

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

[56]  Jorge Nocedal,et al.  Knitro: An Integrated Package for Nonlinear Optimization , 2006 .

[57]  Srinivas Akella,et al.  Coordinating Multiple Robots with Kinodynamic Constraints Along Specified Paths , 2005, Int. J. Robotics Res..

[58]  Robert J. Vanderbei,et al.  An Interior-Point Algorithm for Nonconvex Nonlinear Programming , 1999, Comput. Optim. Appl..

[59]  M. Hubbard,et al.  Spin reversal of the rattleback: theory and experiment , 1988, Proceedings of the Royal Society of London. A. Mathematical and Physical Sciences.

[60]  Daimler Ag,et al.  Real-Time Rigid Body Simulations Of Some `classical Mechanics Toys' , 1998 .

[61]  Anhua Lin,et al.  On the Distance between Two Ellipsoids , 2002, SIAM J. Optim..

[62]  Carme Torras,et al.  3D collision detection: a survey , 2001, Comput. Graph..

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

[64]  Dinesh Manocha,et al.  Fast continuous collision detection for articulated models , 2004, SM '04.

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

[66]  Toru Omata,et al.  Fast dextrous re-grasping with optimal contact forces and contact sensor-based impedance control , 2001, Proceedings 2001 ICRA. IEEE International Conference on Robotics and Automation (Cat. No.01CH37164).

[67]  Stephen Cameron,et al.  Computing distances between NURBS-defined convex objects , 1998, Proceedings. 1998 IEEE International Conference on Robotics and Automation (Cat. No.98CH36146).

[68]  Wenping Wang,et al.  Quick collision detection of polytopes in virtual environments , 1996, VRST.

[69]  Patrick G. Xavier,et al.  Fast swept-volume distance for robust collision detection , 1997, Proceedings of International Conference on Robotics and Automation.

[70]  Jonathan Corney 3D Modeling with the ACIS Kernel and Toolkit , 1997 .

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

[72]  Dinesh Manocha,et al.  Collision and Proximity Queries , 2004, Handbook of Discrete and Computational Geometry, 2nd Ed..

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

[74]  Elizabeth A. Croft,et al.  Haptic rendering of rigid contacts using impulsive and penalty forces , 2005, IEEE Transactions on Robotics.

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

[76]  E. Schömer,et al.  Efficient Collision Detection for Curved Solid Objects , 2002, SMA '02.

[77]  Vincent Agi Coppola Determination of Close Approaches Based on Ellipsoidal Threat Volumes , 1999 .

[78]  Richard M. Murray,et al.  A Mathematical Introduction to Robotic Manipulation , 1994 .

[79]  Mathieu Desbrun,et al.  Animation of Deformable Models Using Implicit Surfaces , 1997, IEEE Trans. Vis. Comput. Graph..

[80]  Jong-Shi Pang,et al.  A semi‐implicit time‐stepping model for frictional compliant contact problems , 2004 .

[81]  R. Brent Gillespie,et al.  Extremal distance maintenance for parametric curves and surfaces , 2002, Proceedings 2002 IEEE International Conference on Robotics and Automation (Cat. No.02CH37292).

[82]  Franc Solina,et al.  Segmentation and Recovery of Superquadrics , 2000, Computational Imaging and Vision.

[83]  Dinesh Manocha,et al.  Efficient Contact Determination in Dynamic Environments , 1997, Int. J. Comput. Geom. Appl..

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

[85]  Myung-Soo Kim,et al.  Computing the Distance Between Two Surfaces via Line Geometry , 2002 .

[86]  R. Vanderbei LOQO user's manual — version 3.10 , 1999 .

[87]  Jorge Nocedal,et al.  An Interior Point Algorithm for Large-Scale Nonlinear Programming , 1999, SIAM J. Optim..

[88]  Srinivas Akella,et al.  Coordinating Multiple Robots with Kinodynamic Constraints Along Specified Paths , 2005, Int. J. Robotics Res..

[89]  Gino van den Bergen Proximity Queries and Penetration Depth Computation on 3D Game Objects , 2001 .