Parallel collision detection of ellipsoids with applications in large scale multibody dynamics

This contribution describes a parallel approach for determining the collision state of a large collection of ellipsoids. Collision detection is required in granular dynamics simulation where it can combine with a differential variational inequality solver or discrete element method to approximate the time evolution of a collection of rigid bodies interacting through frictional contact. The approach proposed is structured on three levels. At the lowest level, the collision information associated with two colliding ellipsoids is obtained as the solution of a two-variable unconstrained optimization problem for which first and second order sensitivity information is derived analytically. Although this optimization approach suffices to resolve the collision problem between any two arbitrary ellipsoids, a less versatile but more efficient approach precedes it to gauge whether two ellipsoids are actually in contact and require the more costly optimization approach. This intermediate level draws on the analytical solution of a 3rd order polynomial obtained from the characteristic equation of two arbitrary ellipsoids. Finally, this intermediate level is invoked by the outer level only when a 3D spatial binning algorithm indicates that two ellipsoids share the same bin (box) and therefore could potentially collide. This multi-level approach is implemented in parallel and when executed on a ubiquitous Graphics Processing Unit (GPU) card scales linearly and yields a two orders of magnitude speedup over a similar algorithm executed on the Central Processing Unit (CPU). The GPU-based ellipsoid contact detection algorithm yields a 14-fold speedup over a CPU-based sphere contact detection algorithm implemented in the third party open source Bullet Physics Library (BPL). The proposed methodology provides the efficiency demanded by granular dynamics applications, which routinely handle scenarios with millions of collision events.

[1]  Jesse Zhu,et al.  Parametric study of fine particle fluidization under mechanical vibration , 2006 .

[2]  D. Baraff An Introduction to Physically Based Modeling: Rigid Body Simulation I—Unconstrained Rigid Body Dynamics , 1997 .

[3]  Dinesh Manocha,et al.  Quick-CULLIDE: Fast Inter- and Intra-Object Collision Culling Using Graphics Hardware , 2005, VR.

[4]  Matthew R. Kuhn Smooth Convex Three-Dimensional Particle for the Discrete-Element Method , 2003 .

[5]  David Baraff,et al.  Dynamic Simulation of Non-penetrating Rigid Bodies , 1992 .

[6]  John R. Williams,et al.  A linear complexity intersection algorithm for discrete element simulation of arbitrary geometries , 1995 .

[7]  Erik Lindholm,et al.  NVIDIA Tesla: A Unified Graphics and Computing Architecture , 2008, IEEE Micro.

[8]  Murat Efe Guney,et al.  On the limits of GPU acceleration , 2010 .

[9]  H. Ramon,et al.  Strategies for contact resolution of level surfaces , 2004 .

[10]  M. Anitescu,et al.  A GPU-Based Implementation of a Cone Convex Complementarity Approach for Simulating Rigid Body Dynamics With Frictional Contact , 2008 .

[11]  Mihai Anitescu,et al.  An iterative approach for cone complementarity problems for nonsmooth dynamics , 2010, Comput. Optim. Appl..

[12]  E. J. Haug,et al.  Computer aided kinematics and dynamics of mechanical systems. Vol. 1: basic methods , 1989 .

[13]  Jennifer S. Curtis,et al.  Cylindrical object contact detection for use in discrete element method simulations. Part I ― Contact detection algorithms , 2010 .

[14]  D. Baraff Dynamic simulation of nonpenetrating rigid bodies , 1992 .

[15]  Mahmood A. Khwaja,et al.  An ellipse-based discrete element model for granular materials , 1993 .

[16]  Stephen J. Wright,et al.  Numerical Optimization , 2018, Fundamental Statistical Inference.

[17]  Leo Rothenburg,et al.  An algorithm for detecting inter-ellipsoid contacts , 1999 .

[18]  Nachiket Kapre,et al.  Performance comparison of single-precision SPICE Model-Evaluation on FPGA, GPU, Cell, and multi-core processors , 2009, 2009 International Conference on Field Programmable Logic and Applications.

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

[20]  Alexander V. Potapov,et al.  A fast model for the simulation of non-round particles , 1998 .

[21]  Wenping Wang,et al.  An algebraic condition for the separation of two ellipsoids , 2001, Comput. Aided Geom. Des..

[22]  Scott M. Johnson,et al.  Contact resolution algorithm for an ellipsoid approximation for discrete element modeling , 2004 .

[23]  Gershon Elber,et al.  Continuous Collision Detection for Ellipsoids , 2009, IEEE Transactions on Visualization and Computer Graphics.

[24]  Dinesh Manocha,et al.  CULLIDE: interactive collision detection between complex models in large environments using graphics hardware , 2003, HWWS '03.

[25]  H. Bi,et al.  Effect of particle shape on liquid-fluidized beds of binary (and ternary) solids mixtures: segregation vs. mixing , 2006 .

[26]  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).

[27]  Michael Garland,et al.  Designing efficient sorting algorithms for manycore GPUs , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[28]  Hammad Mazhar,et al.  A scalable parallel method for large collision detection problems , 2011 .

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

[30]  Peter Wriggers,et al.  A contact detection algorithm for superellipsoids based on the common-normal concept , 2008 .

[31]  Caroline Hogue,et al.  Shape representation and contact detection for discrete element simulations of arbitrary geometries , 1998 .

[32]  Xiang Zhang,et al.  Simulation of chute flow of soybeans using an improved tangential force-displacement model , 2000 .

[33]  Jopan Sheng,et al.  A packing generation scheme for the granular assemblies with 3D ellipsoidal particles , 1999 .

[34]  D. Baraff An Introduction to Physically Based Modeling : Rigid Body Simulation II — Nonpenetration Constraints , 1997 .

[35]  T. Ng,et al.  Contact detection algorithms for three-dimensional ellipsoids in discrete element modelling , 1995 .

[36]  Dinesh Manocha,et al.  Fast and reliable collision culling using graphics hardware , 2005, SIGGRAPH Courses.

[37]  John R. Williams,et al.  SUPERQUADRICS AND MODAL DYNAMICS FOR DISCRETE ELEMENTS IN INTERACTIVE DESIGN , 1992 .

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