Computer aided kinematics and dynamics of mechanical systems. Vol. 1: basic methods
Computer aided kinematics and dynamics of mechanical systems. Vol. 1: basic methods
Dynamic simulation of nonpenetrating rigid bodies
Dynamic simulation of nonpenetrating rigid bodies
An algebraic condition for the separation of two ellipsoids
Computer Aided Geometric Design
Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware
Fast and Reliable Collision Culling Using Graphics Hardware
IEEE Transactions on Visualization and Computer Graphics
Superquadrics and Angle-Preserving Transformations
IEEE Computer Graphics and Applications
Continuous Collision Detection for Ellipsoids
IEEE Transactions on Visualization and Computer Graphics
An iterative approach for cone complementarity problems for nonsmooth dynamics
Computational Optimization and Applications
On the limits of GPU acceleration
HotPar'10 Proceedings of the 2nd USENIX conference on Hot topics in parallelism
Proximity Queries Between Convex Objects: An Interior Point Approach for Implicit Surfaces
IEEE Transactions on Robotics
Hi-index | 0.01 |
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.