Parallel GPU Collision Detection via Radix Sort and PCA Sweep

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current collision detection algorithms, such as Sweep and Prune (SaP) and spatial subdivision, are inefficient when dealing with a large number of collision detection objects with random motions or complex structures, as they either require high spatial coherence or are not suitable for parallel processing.

Innovation Solution

A parallel SaP algorithm is implemented on a GPU, combining radix sorting and sweeping to detect collisions, with the sweep direction determined by Principal Component Analysis (PCA) and utilizing cell subdivision to improve efficiency and scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If Sweep and Prune algorithm is used for collision detection, then processing speed is improved when objects have high spatial coherence, but efficiency deteriorates when objects have random motions

Engineering Contradiction:
Improvecollision detection speedVSAvoidadaptability to different motion patterns
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic collision detection system that adapts its behavior based on object motion patterns. It uses spatial subdivision to handle random motions effectively while maintaining the ability to process coherent motions efficiently. The system dynamically adjusts the detection strategy based on the characteristics of the objects being monitored, resolving the contradiction between speed for coherent motions and adaptability for random motions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent divides the collision detection space into multiple sub-spaces using spatial subdivision. This segmentation allows the system to handle different motion patterns in different regions independently, improving both the speed for coherent motions and adaptability for random motions by processing each sub-space according to its specific characteristics.

Inventive Principle:
Principle #1Segmentation

2Productivity

If spatial subdivision technique is used for collision detection, then efficiency is improved for objects of the same size, but efficiency deteriorates for objects with complicated structures

Engineering Contradiction:
Improvecollision detection efficiencyVSAvoidcomplexity of object structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies local quality by treating different regions of space differently through spatial subdivision. Each sub-space can be optimized for the specific characteristics of objects within that region, allowing efficient handling of both simple and complicated structures in their respective locations without compromising overall system performance.

Inventive Principle:
Principle #3Local quality

3Quantity of substance

If conventional collision detection algorithms are used, then processing is performed on limited number of objects, but processing speed deteriorates when dealing with millions of particles

Engineering Contradiction:
Improvenumber of collision detection objectsVSAvoidcollision detection speed
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent replaces traditional sequential CPU-based collision detection with parallel GPU-based processing. This substitution enables the system to handle millions of particles simultaneously by distributing the computation across multiple GPU cores, achieving both high quantity handling and maintained processing speed through parallelization.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS8717382B2Method of detecting collisions in graphics processing unit
Publication Date: 2014.05.06 EWHA UNIV IND COLLABORATION FOUND
  • US8717382B2 patent drawing
  • US8717382B2 patent drawing
  • US8717382B2 patent drawing

AI summary

The present invention relates to a method of detecting collisions on a Graphics Processing Unit (GPU). Each collision detection object Oi is projected onto a reference direction, thus obtaining an interval Ii represented by a set {mi, Mi}. Radix sorting based on obtained mi for all Oi, thus obtaining a sorted list L. The sorted list is swept, and then colliding pairs Pi are detected. All colliding pairs are configured into a single set, thus obtaining a final colliding pair P. On a GPU, SaP can be performed on a plurality of collision detection objects in parallel using the blocks of a plurality of threads.