Parallel Rigid Body Solver Using Mass Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing parallel implementations of rigid body dynamics simulations face challenges in avoiding artifacts like jittering and swimming due to uneven distribution of residual energy, which limits performance and scalability, especially in large-scale or real-time simulations.

Innovation Solution

A parallel iterative rigid body solver that splits the mass of each body among its contacts and solves contact constraints independently, using fixed joints to ensure consistent momentum propagation and stable resting contact, allowing for parallel processing without serialization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If serial projected Gauss-Seidel is used to solve contact constraints, then the algorithm is simple to implement, but the performance does not scale well as more threads are added due to required serialization

Engineering Contradiction:
Improveparallel scaling performanceVSAvoidalgorithm complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the set of contact constraints into multiple independent groups that can be processed in parallel. Each group is solved independently using PGS, eliminating the need for serialization between threads while maintaining solution quality. This segmentation allows the algorithm to scale efficiently with additional threads.

Inventive Principle:
Principle #1Segmentation

2Productivity

If iteration is terminated early to maximize rigid body count, then real-time simulation performance is improved, but residual energy causes artifacts like jittering and swimming

Engineering Contradiction:
Improvesimulation speedVSAvoidsimulation accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

By segmenting contact constraints into independent groups solved in parallel, the patent achieves uniform error distribution across all contacts even when iteration is terminated early. This eliminates the uneven residual energy distribution that causes jittering and swimming artifacts, allowing early termination without quality degradation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the iteration parameter by performing a fixed number of parallel iterations rather than serial iterations. This parameter change allows the simulation to terminate early while maintaining uniform error distribution across contacts, preventing artifacts while maximizing performance.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If parallel PGS is used to increase computation speed, then productivity is improved, but uniform error distribution across contacts becomes difficult to achieve

Engineering Contradiction:
Improvecomputation speedVSAvoiderror distribution uniformity
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent segments contact constraints into independent groups assigned to different threads. Each thread solves its assigned contacts uniformly, ensuring that error distribution remains consistent across all contacts parallelized computation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11256835B2Parallel linear complementarity solver for rigid body dynamics
Publication Date: 2022.02.22 NVIDIA CORP
  • US11256835B2 patent drawing
  • US11256835B2 patent drawing
  • US11256835B2 patent drawing

AI summary

A system and method for solving linear complementarity problems for rigid body simulation is disclosed. The method includes determining one or more contact constraints affecting an original object having an original mass. The method includes splitting the original object by a total number of the contact constraints into a plurality of sub-bodies. The method includes assigning a contact constraint to a corresponding sub-body. The method further includes solving contact constraints in isolation for each sub-body. The method also includes enforcing positions and orientations of each sub-body are identical.