Two-Stage Primal Solver for Virtual Rigid-Body Simulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing physics solvers for virtual environments struggle with accurately and efficiently simulating rigid body dynamics, particularly in scenarios with high mass ratios and complex constraints, leading to instabilities and computational inefficiencies.

Innovation Solution

A two-stage primal solver is applied to the equations of motion, utilizing Jacobians and Hessians to determine updated positions and velocities, and incorporating dynamically determined constraint stiffness, with a preconditioned conjugate residual algorithm for Newton's method to improve convergence and accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional physics solvers are used to simulate rigid body dynamics, then the simulation can handle basic scenarios, but the simulation becomes unstable and computationally inefficient when dealing with high mass ratios and complex constraints

Engineering Contradiction:
Improvesimulation stabilityVSAvoidcomputational efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The solver is divided into two distinct stages: a predictor stage that computes preliminary positions and velocities, and a corrector stage that enforces constraints and refines the solution. This segmentation allows each stage to focus on specific aspects of the simulation, improving overall stability and efficiency when handling high mass ratios and complex constraints

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts constraint stiffness values during simulation based on the specific constraint conditions and mass ratios involved. This dynamic adaptation allows the solver to maintain stability across varying simulation scenarios without requiring manual tuning for each case

Inventive Principle:
Principle #15Dynamics

2Reliability

If implicit time integration is used to achieve robustness, then the simulation handles complex dynamics better, but the computational complexity increases due to nonlinear systems of equations

Engineering Contradiction:
Improvesimulation robustnessVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The implicit time integration process is segmented into predictor and corrector stages, where the predictor provides an initial solution that reduces the nonlinearity burden on the corrector stage, thereby maintaining robustness while reducing overall computational complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The solver employs iterative refinement with dynamically adjusted parameters including constraint stiffness and regularization terms. These parameter changes enable the system to converge to accurate solutions for nonlinear systems without requiring excessively complex solution methods

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12412328B2Primal solver for simulation and display of rigid bodies in a virtual environment
Publication Date: 2025.09.09 ROBLOX CORP
  • US12412328B2 patent drawing
  • US12412328B2 patent drawing
  • US12412328B2 patent drawing

AI summary

Some implementations relate to methods, systems, and computer-readable media to display a rigid body object within a virtual environment. In some implementations, the method includes obtaining a model representation of the rigid body object, obtaining a state of the rigid body object in the virtual environment, determining a plurality of constraints that act on the rigid body object, determining a plurality of Jacobians and a plurality of Hessians, wherein each Jacobian of the plurality of Jacobians and each Hessian of the plurality of Hessians is associated with a corresponding constraint of the plurality of constraints, applying a two-stage primal solver to a set of equations of motion for the rigid body object based on the plurality of Jacobians and the plurality of Hessians, and displaying the rigid body object in the updated position in the virtual environment.