Hierarchical Articulation Solver for O(N) Robot Simulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional simulation methods for complex robotic systems are time-consuming and expensive, making automation cost-prohibitive due to the need for extensive calculations to propagate forces and velocities through multiple links in articulations.

Innovation Solution

A solver that exploits the hierarchical structure of articulations to solve internal and external constraints efficiently, using a recursive approach to propagate forces and velocities in O(N) time, avoiding repeated calculations by pre-computing response matrices for each link.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional simulation methods are used for complex robotic systems, then simulation accuracy is maintained, but simulation time and computational cost increase significantly

Engineering Contradiction:
Improvesimulation accuracyVSAvoidsimulation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The solver segments the articulation into a hierarchical tree structure of parent and child links, allowing independent processing of each link while maintaining global consistency. This segmentation enables the O(N) computational complexity by processing each link once rather than repeatedly calculating interactions between all pairs of links.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The solver performs preliminary action by pre-computing the inertia matrix and other dynamic parameters for each link in the hierarchy before the main simulation loop. This preliminary computation avoids repeated calculations during the simulation, significantly reducing the computational burden while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If conventional solvers are used for robotic simulations, then general applicability is maintained, but computational efficiency decreases

Engineering Contradiction:
Improvesolver applicabilityVSAvoidcomputational efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The solver applies local quality by treating each link in the articulation with specialized processing appropriate to its position in the hierarchy. Child links are processed with reference to their parent links, allowing localized optimizations that maintain overall solver versatility while improving efficiency for specific articulation configurations.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The solver changes parameters by representing the articulation in terms of hierarchical relationships and local transformations rather than global coordinate systems. This parameter transformation enables more efficient computation by working with local link parameters and transformations that can be computed and propagated independently through the tree structure.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20250298940A1Internal solver for articulations in simulation applications
Publication Date: 2025.09.25 NVIDIA CORP
  • US20250298940A1 patent drawing
  • US20250298940A1 patent drawing
  • US20250298940A1 patent drawing

AI summary

Simulation of complex agents, such as robots with many articulation links, can be performed utilizing a pre-computed a response matrix for each link. When an impulse is applied to a link for this agent, the response matrix for a root node can be used to determine an impact of that impulse on the root node, as well as changes in velocity for any direct child node. This process can be performed recursively for each link down to the leaf links of a hierarchical agent structure. These response matrices can be solved recursively from root to leaf while only visiting each hierarchical link once. Such an approach can be used to solve a full set of constraints acting on the agent in an amount of time per solver iteration that is on the order of the number of links, or O(N) time per solver iteration.