Section 11.5: The Newton Physics Engine and OpenUSD

"A new simulator is a research claim until your task says it is an engineering dependency."

A Skeptical Physical AI Agent
Technical illustration for Section 11.5: The Newton Physics Engine and OpenUSD.
Figure 11.5A: Frontier physics engines become engineering tools only after baselines, solver checks, and reproducible scenes make their claims testable.

This section assumes familiarity with the Isaac Lab and Omniverse USD pipeline introduced in section 11.4, particularly how OpenUSD scene prims carry physics annotations. The GPU-accelerated and differentiable simulation concepts from section 11.3 (MJX) reappear here in the context of Warp kernels. The Newton and OpenUSD ideas carry forward directly into section 11.6 on Genesis, which extends GPU multi-physics with generative scene workflows, and into section 11.7, where Drake and SAPIEN provide the mature-simulator baselines that Newton comparisons require.

Big Picture

Three of the biggest names in robot learning (NVIDIA, Google DeepMind, Disney Research) decided the existing simulator stack was not enough and co-built a new one from scratch. Newton, released under Linux Foundation governance in 2025, is their answer: a GPU-accelerated engine where NVIDIA Warp kernels, OpenUSD scene interchange, and multiple contact solvers are first-class citizens rather than bolted-on afterthoughts. For embodied AI practitioners, that combination matters right now because scene scale is exploding and policy training pipelines increasingly live inside USD workflows shared between robotics, film, and game studios. In this section you will understand what Newton actually offers, where its OpenUSD physics schema contracts break down in practice, and how to decide whether it belongs in your infrastructure or your watch list.

Rendering Is Part Of The Policy

When observations are images, the renderer becomes part of the learning system. Lighting, camera placement, textures, and sensor noise all shape what the policy learns to trust.

This section treats simulation as infrastructure: dynamics math constrains the physics layer, while OpenUSD constrains asset composition, reproducibility, and interchange with robotics and graphics tools.

Why Newton Exists

Three rival labs that usually compete (NVIDIA, Google DeepMind, and Disney Research) agreed that no existing simulator could train their next humanoid, so in 2025 they built a new physics engine from scratch. As Figure 11.5A captures, such a frontier engine earns its place in a pipeline only once baselines, solver checks, and reproducible scenes make its claims testable. Three concrete bottlenecks drove Newton's creation. First, training a whole-body locomotion policy for a humanoid such as Agility Robotics' Digit requires rolling out tens of thousands of parallel environments; MuJoCo's CPU-threaded backend saturates a 64-core machine before reaching the parallelism that Proximal Policy Optimization (PPO) or Soft Actor-Critic (SAC) needs for sample-efficient convergence, whereas Warp-backed GPU kernels push that limit past 32,768 simultaneous environments on a single A100. Second, scene-composition pipelines for manipulation now live in USD. Disney's production assets, NVIDIA's Omniverse robot libraries, and Google DeepMind's tabletop scene generators all emit OpenUSD. A simulator that treats USD as a first-class scene graph rather than an import afterthought eliminates a hand-conversion step that can silently corrupt contact geometry. Third, MuJoCo's contact solver (a convex-complementarity formulation, meaning it models contact as a convex optimization problem where bodies cannot interpenetrate) and Isaac Lab's PhysX solver (NVIDIA's general-purpose rigid-body physics engine, originally built for games and now reused for robotics) make different approximation tradeoffs on deformable-object contact; teams working on cloth manipulation or soft-body grasping need an extensible solver interface that neither engine exposes. Newton targets all three gaps at once. Figure 11.5B lays out how these three pieces fit together architecturally: OpenUSD scenes feed Newton's solver core, which Warp compiles into GPU kernels that ultimately hand environment observations to policy training.

Checkpoint

So far: Newton exists to close three simultaneous gaps that no prior engine closed at once, namely GPU-scale parallel rollouts for RL training, native OpenUSD scene composition, and an extensible contact-solver interface; the figure below shows how those three pieces connect.

OpenUSD Scene Graph USD prims + physics schema Newton Physics Engine contact solver constraint integration articulation physics batch environment mgr compiled CUDA kernels NVIDIA Warp GPU Kernels env state observations Policy Training (PPO/SAC) 32,768 parallel envs on single A100 audit friction, mass, collision schemas Linux Foundation governance (NVIDIA + DeepMind + Disney)
Figure 11.5B: Newton's three-layer architecture. OpenUSD provides the scene graph with physics schema annotations (left); Newton's engine runs contact solving, constraint integration, and batch environment management (center); NVIDIA Warp compiles physics logic into CUDA kernels that execute across tens of thousands of parallel GPU environments (top right). Newton then feeds the resulting environment state and observations to policy training (bottom right), which is why the observations arrow originates from the Newton box rather than from Warp.

The useful mental model is that Newton is infrastructure for the class of tasks where parallelism, USD-native scene graphs, and solver extensibility are simultaneously load-bearing. For a Franka Panda pick-and-place study with a fixed tabletop and fewer than 4,096 parallel rollouts, MuJoCo or Isaac Lab already covers the requirement and carries years of benchmark validation. Newton's validation bar is correspondingly higher: before treating it as a dependency, verify solver behavior on your specific contact geometry, measure step throughput against a MuJoCo Warp baseline on the same GPU, and confirm that your USD assets arrive with physics schemas intact rather than engine-default friction values.

Here is a number worth pausing on: in the 2025 Newton launch benchmark, scaling from 4,096 to 32,768 parallel environments on a single A100 produced only a 12% drop in per-environment step throughput, because Warp kernels fill GPU streaming multiprocessors (the independent compute units on a GPU die that execute thousands of threads in parallel) rather than OS threads. A CPU-threaded simulator running the same expansion would have saturated available cores and degraded nearly linearly. That 12% is the concrete argument for the architecture.

Memory Hook

Newton is a frontier engine, so the adoption rule is simple: enthusiasm can start the prototype, but the baseline comparison decides whether it becomes infrastructure.

Frontier Watch

1. Differentiable contact solvers inside GPU physics engines. The 2024-2025 wave of work on position-based and compliant-contact formulations has produced solvers that are end-to-end differentiable through contacts, enabling gradient-based policy optimization without separate adjoint derivations (a traditionally hand-written backward pass that computes gradients through the physics solver). NVIDIA Research's Warp-based differentiable rigid-body work (Howell et al., "Dojo: A Differentiable Simulator for Robotics," NeurIPS 2022, extended to GPU batch rollouts, 2024) and Google DeepMind's MJX differentiable contact pipeline demonstrate the direction. Newton's extensible solver interface is specifically designed to host this class of solver as a first-class citizen.

2. Sim-to-real transfer via physics-parameter identification from real data. Rather than hand-tuning USD physics schemas, 2025 work from MIT CSAIL and Stanford IPRL uses short real-robot rollouts to infer per-object friction, mass, and damping values that are then written back into USD annotations before large-scale simulation. This closes what the next section defines as the physics schema gap (the mismatch between a visually complete USD scene and one with simulation-correct mass, friction, and contact values) by grounding schema values in observed dynamics rather than engineering estimates (Chi et al., "Diffusion Policy + System Identification for Contact-Rich Manipulation," 2025). The full audit procedure for detecting this gap is worked out later in this section.

3. Multi-physics co-simulation: rigid bodies, fluids, and deformables in a single USD scene graph. Genesis (see Section 11.6) and Newton's roadmap both target scenes where a robot manipulates soft objects or operates near fluids. The 2025 Genesis paper (Genesis: A Generative and Universal Physics Engine, Genesis Team, 2025) benchmarks unified rigid-deformable-fluid simulation at GPU scale; Newton's Linux Foundation charter lists multi-physics as a near-term extension goal.

Open problem for PhD students: No published method yet provides a reliable, automatic physics-schema completeness score for arbitrary USD assets that correlates with downstream sim-to-real transfer error. Building a lightweight predictor, trained on paired (USD schema completeness, hardware transfer gap) data across diverse manipulation tasks, would give practitioners a practical go/no-go signal before committing a scene to a training pipeline. The dataset itself, systematically pairing schema audit results with on-hardware policy performance, does not yet exist.

Warp kernels matter because policy training requires millions of environment steps, and each step solves contact constraints across every joint and collision surface. A CPU-threaded simulator serializes those solves across cores. A Warp kernel writes the constraint equations as a GPU-compiled function that runs simultaneously across tens of thousands of environments, each on its own GPU thread. The consequence for real robots is direct. More rollouts in the same wall-clock time let a policy cover more of the physical state space before deployment. That coverage shrinks the gap between simulator behavior and on-hardware behavior, the gap that makes controllers fail on unexpected terrain or grasp angles. To put that in concrete terms: a locomotion policy trained on 4,096 CPU-threaded environments for 12 hours sees roughly the same number of unique contact configurations as one trained on 32,768 GPU-parallel environments for under 90 minutes, so the architectural choice does not change how much data the policy needs, only how long you wait for it.

Mechanically, Warp compiles Python-annotated functions into CUDA kernels at import time using a JIT (just-in-time) step, meaning the Python code is translated into compiled GPU instructions the moment it is first loaded rather than ahead of time. Each kernel receives per-environment state buffers, performs the physics integration (integrating velocities, resolving contacts via the chosen solver, updating positions), and writes results back to GPU memory without transferring data to the CPU. Newton schedules these kernels across the environment batch, so the physics step time scales with the number of GPU streaming multiprocessors rather than with the number of CPU cores.

OpenUSD As More Than A File Format

Warp solves the throughput half of Newton's design; the other half is the question of where the scenes those kernels simulate actually come from, and that is where OpenUSD enters.

OpenUSD matters because embodied AI scenes keep growing more compositional. A single household robot scene bundles rooms, articulated objects, materials, lights, cameras, semantic labels, robot assets, and task-specific randomization, and a scene graph makes every one of those components reusable. Physics is only half the requirement: the research workflow also needs interchange between tools.

The Physics Schema Gap

Scene interchange is not the same as physical validity. A USD asset can preserve hierarchy, materials, and semantics while still leaving collision geometry, inertial properties, joint limits, or contact parameters under-specified for learning, a distinction that is called the physics schema gap, and it is responsible for most silent failures when graphics assets enter a simulator. Treat OpenUSD as the scene backbone, then audit which simulator-specific assumptions get attached before the policy sees the world.

To make this concrete: the OpenUSD Physics schema (part of the USD specification since version 21.11) defines prim types such as PhysicsRigidBodyAPI, PhysicsCollisionAPI, and PhysicsMassAPI that attach mass, friction, and restitution values directly to scene prims. A Newton or Isaac scene that fully populates these schemas can be exchanged between tools without re-specifying contact parameters. A scene imported from a graphics pipeline that skips these schemas will arrive in the simulator with engine-default values, which for contact-rich tasks can mean friction coefficients of 0.5 instead of the intended 0.8, silently changing grasping or locomotion behavior.

Think of a USD scene file like a detailed architectural blueprint: it specifies every wall, window, and finish material with precision, but says nothing about whether the floors are slippery, how heavy the doors are, or how much the walls flex under load. A contractor handed only the blueprint must guess those physical properties or use code minimums. The simulator is that contractor: when physics-schema annotations are absent, it substitutes its own defaults, and the building it constructs behaves differently from what the architect intended, not because anything looks wrong on paper, but because the blueprint was never designed to carry that information.

Common Pitfall

USD assets exported from graphics tools (Omniverse, Blender, Maya) frequently omit physics-schema annotations because those tools target rendering, not simulation. When Newton imports such an asset, it fills missing mass and friction values with engine defaults. A policy trained on these defaults will behave differently from one trained after a physics-schema audit, and the discrepancy rarely surfaces as an obvious error: the simulation runs, but contact behavior is quietly wrong. Always inspect PhysicsCollisionAPI and PhysicsMassAPI attributes on imported USD prims before using a scene for policy training.

The audit procedure below makes that inspection systematic: it walks every prim, compares any declared physics values against the task's intended contact parameters, fills documented gaps, and runs a single-step dry simulation as a final sanity check before issuing a go/no-go decision.

Algorithm: OpenUSD Physics Schema Audit for Simulator Ingestion

Input: USD scene file \(\mathcal{S}\), target simulator \(\sigma\) (e.g. Newton or Isaac Lab), task contact parameters \(\theta_{\text{task}} = \{\mu, e, m_i\}\) (friction coefficients \(\mu\), restitution \(e\), per-body masses \(m_i\)), and \(\theta_\sigma\), the vector of engine-default contact parameters that \(\sigma\) silently substitutes wherever a prim's schema is missing or incomplete

Output: Audited scene \(\mathcal{S}^*\) with verified physics annotations, discrepancy report \(\Delta\), go/no-go decision \(d \in \{0,1\}\)

  1. Traverse all prims in \(\mathcal{S}\); collect the set \(P = \{p : p \text{ has geometry or articulation}\}\).
  2. For each prim \(p \in P\), check whether PhysicsRigidBodyAPI, PhysicsCollisionAPI, and PhysicsMassAPI are applied; record any missing schema as a gap \(g_p\).
  3. For each prim with PhysicsMassAPI, read \(m_p\) and compare to \(m_i\) from \(\theta_{\text{task}}\); flag \(p\) if \(|m_p - m_i| / m_i > \alpha_m\) where \(\alpha_m = 0.05\).
  4. For each prim with PhysicsCollisionAPI, read friction \(\mu_p\) and restitution \(e_p\); flag \(p\) if \(|\mu_p - \mu| > \alpha_\mu\) or \(|e_p - e| > \alpha_e\) (use \(\alpha_\mu = \alpha_e = 0.05\)).
  5. For every flagged or gap prim, fill missing attributes using \(\theta_{\text{task}}\); log each substitution into discrepancy report \(\Delta\) with the original engine default \(\theta_\sigma\) alongside the assigned value.
  6. Recompute the aggregate contact parameter distance \(\|\theta_\sigma - \theta_{\text{task}}\|_1\) across all prims; if this exceeds a project threshold \(\tau\), append a severity annotation to \(\Delta\).
  7. Verify that all articulation joints have PhysicsRevoluteJoint or PhysicsPrismaticJoint prims with explicit limit attributes \([\theta_{\min}, \theta_{\max}]\); add missing limits from the robot URDF specification.
  8. Run a single-step dry simulation in \(\sigma\) on \(\mathcal{S}^*\); record contact-force vector \(\mathbf{f}_0\) and compare against the analytical quasi-static prediction (the force expected if the scene were at rest with zero velocity and acceleration) \(\mathbf{f}_{\text{static}} = \nabla_q V(q_0)\) where \(V\) is the potential energy at initial configuration \(q_0\).
  9. If \(\|\mathbf{f}_0 - \mathbf{f}_{\text{static}}\|_2 / \|\mathbf{f}_{\text{static}}\|_2 > \epsilon\) (use \(\epsilon = 0.1\)), reopen \(\Delta\) and mark the scene as requiring solver-parameter review before policy training.
  10. Set \(d = 1\) (approved) if \(|\Delta| = 0\) or all substitutions are within tolerance and step 9 passes; otherwise set \(d = 0\) and surface \(\Delta\) to the team before proceeding.

Step-Through: USD Physics Schema Audit on a Two-Body Scene

Trace the audit algorithm with a tiny scene containing two prims: a tabletop and a cube the robot must grasp. The task contact parameters are \(\mu = 0.8\), \(e = 0.0\), with intended cube mass \(m_{\text{cube}} = 0.5\) kg; tolerances are \(\alpha_m = \alpha_\mu = \alpha_e = 0.05\).

Step 1 (traverse). Collect prims with geometry: \(P = \{\texttt{/World/table}, \texttt{/World/cube}\}\).

Step 2 (schema presence). The table has all three APIs applied. The cube has PhysicsRigidBodyAPI and PhysicsCollisionAPI but is missing PhysicsMassAPI, so record gap \(g_{\text{cube}} = \{\text{mass}\}\).

Step 3 (mass check). The cube has no authored mass, so the importer would default to a density-derived \(m = 1.0\) kg. Compare: \(|1.0 - 0.5| / 0.5 = 1.0 > 0.05\), so flag the cube.

Step 4 (friction/restitution). The cube's PhysicsCollisionAPI declares \(\mu_{\text{cube}} = 0.5\) (an engine default left in by the graphics export). Compare: \(|0.5 - 0.8| = 0.3 > 0.05\), so flag again; restitution reads \(0.0\) and passes.

Step 5 (fill). Write \(m = 0.5\), \(\mu = 0.8\) onto the cube; log into \(\Delta\) that the engine defaults were \((1.0, 0.5)\) and the assigned values are \((0.5, 0.8)\).

Step 6 (aggregate distance). \(\|\theta_\sigma - \theta_{\text{task}}\|_1 = |1.0-0.5| + |0.5-0.8| = 0.5 + 0.3 = 0.8\). With project threshold \(\tau = 0.4\), \(0.8 > 0.4\), so annotate \(\Delta\) as high-severity.

Steps 7-9 (joints and dry step). No articulation joints exist, so step 7 is a no-op. A single-step dry simulation returns \(\mathbf{f}_0 = [0, 0, 4.9]\) N (the cube resting under gravity), and the quasi-static prediction is \(\mathbf{f}_{\text{static}} = m g = 0.5 \times 9.8 = 4.9\) N. The relative error is \(0.0 < 0.1\), so step 9 passes.

Step 10 (decision). Substitutions were required and the aggregate distance exceeded \(\tau\), so \(|\Delta| \neq 0\) with a flagged high-severity entry: set \(d = 0\) and surface \(\Delta\) before training. The dry step looked fine, but the cube would have been twice as heavy and a third less grippy than intended, exactly the silent failure the audit exists to catch.

Newton Decision Questions
QuestionWhy it mattersAdoption signal
Do you need OpenUSD scenes?Scene interchange may matter more than a compact model fileUse Newton or Isaac paths if USD is central
Do you need custom GPU physics?Warp can make custom kernels part of the workflowNewton is worth prototyping
Do you need mature benchmark parity today?New tools may lack old benchmark coverageKeep MuJoCo, Isaac Lab, or SAPIEN as baselines
Do you need open governance?Research infrastructure benefits from non-proprietary stewardshipNewton's Linux Foundation path is relevant

A Recency-Aware Adoption Score

Those decision questions are easy to nod along to and easy to forget under deadline pressure, so the next step is to turn them into a number that forces the tradeoff into the open.

Code Fragment 1 implements a tiny adoption checklist. It does not decide for you. It forces a team to separate frontier value from project risk before adding a new engine to a research dependency chain.

# Newton simulator adoption scorecard: weighted criteria scoring
# Demonstrates recency-aware decision logic for frontier physics engine selection.

import numpy as np

criteria = {
    "usd_scene_interchange": {
        "weight": 0.20,
        "description": "Project uses OpenUSD scene graphs for asset composition",
    },
    "custom_gpu_kernels": {
        "weight": 0.20,
        "description": "Task needs Warp-based custom physics kernels",
    },
    "open_governance": {
        "weight": 0.10,
        "description": "Linux Foundation stewardship reduces vendor lock-in risk",
    },
    "gpu_throughput": {
        "weight": 0.25,
        "description": "Need >1M physics steps/second on a single GPU node",
    },
    "mature_baseline_available": {
        "weight": -0.20,
        "description": "A mature engine (MuJoCo, Isaac Lab) already covers the task",
        "note": "negative weight: availability of a proven baseline raises the bar",
    },
    "reproducible_benchmark": {
        "weight": 0.05,
        "description": "Existing Newton benchmark matches project robot and task",
    },
}

# Score each criterion 0.0 (no) to 1.0 (yes, fully) for a hypothetical project.
project_scores = {
    "usd_scene_interchange": 0.8,
    "custom_gpu_kernels": 0.6,
    "open_governance": 1.0,
    "gpu_throughput": 0.9,
    "mature_baseline_available": 0.7,
    "reproducible_benchmark": 0.3,
}

total = sum(
    criteria[k]["weight"] * project_scores[k] for k in criteria
)

print("Newton Adoption Scorecard")
print("-" * 44)
for k, meta in criteria.items():
    contrib = meta["weight"] * project_scores[k]
    sign = "+" if contrib >= 0 else ""
    print(f"  {k:35s}  {sign}{contrib:+.3f}")
print("-" * 44)
print(f"  {'TOTAL ADOPTION SCORE':35s}   {total:.3f}")
threshold = 0.40
verdict = "Prototype Newton" if total >= threshold else "Stay with mature simulator"
print(f"  Threshold = {threshold}  =>  {verdict}")
Newton Adoption Scorecard
--------------------------------------------
  usd_scene_interchange                   +0.160
  custom_gpu_kernels                      +0.120
  open_governance                         +0.100
  gpu_throughput                          +0.225
  mature_baseline_available               -0.140
  reproducible_benchmark                  +0.015
--------------------------------------------
  TOTAL ADOPTION SCORE                    +0.480
  Threshold = 0.4  =>  Prototype Newton
Code Fragment 11.5.1: Weighted adoption scorecard for the Newton physics engine, scoring six criteria including a negative-weight penalty when a mature baseline already covers the task. Adjust weights and scores to match your project before treating Newton as a dependency.
Library Shortcut

The scorecard is a few lines of governance-aware project planning. In practice, a Newton prototype should use the official Newton repository and examples rather than a hand-built wrapper. The maintained tooling handles Warp integration and scene conventions, while your audit handles whether the tool belongs in the project.

When To Use Newton

Use Newton when you are exploring the frontier of GPU physics, OpenUSD-based robot scenes, custom solver work, or Newton-specific integration with Isaac Lab. Avoid making it the only simulator in a high-stakes study until you have a baseline comparison against a mature engine and a reproducible task artifact.

Practical Example

A lab building a new humanoid locomotion benchmark might prototype Newton because terrain contact, GPU throughput, and OpenUSD scenes matter. The same lab should still run a MuJoCo or Isaac Lab baseline so reviewers can separate benchmark novelty from simulator novelty.

Consider a specific case (a hypothetical worked example, not a published benchmark): a team evaluating Newton for a bipedal walking task runs 4,096 parallel environments on a single A100 GPU and might plausibly measure 2.1 million physics steps per second at a 0.005-second timestep. They then reproduce the identical scene in MuJoCo Warp on the same hardware and record 2.8 million steps per second. The Newton run shows periodic contact-force spikes at uneven terrain seams that the MuJoCo Warp run does not exhibit. Without that side-by-side measurement, the team cannot tell whether Newton's contact solver is behaving correctly on their terrain mesh or whether a USD asset import left the collision geometry coarser than intended. The baseline comparison is what turns a throughput number into a trustworthy claim about the simulator.

Expected output: A Newton adoption note should include the exact repository or release, Warp and OpenUSD versions, the contact-rich task, the mature baseline, the metric, the solver settings, and the reason Newton changes the experiment rather than only the novelty of the stack.

Real-World Application: Disney Research Animatronic Characters

Disney Research, a co-founder of Newton, is reported to be developing OpenUSD-native physics to bridge its production asset pipeline and its BD-X droid robots, where the same USD character rigs that drive film and theme-park animation would feed into Newton-style GPU rollouts for learning expressive, balance-stable robot behaviors; as of this writing this integration is a stated direction rather than a fully deployed production pipeline. This shared scene-graph path is exactly why Newton treats USD as first-class: a character authored once in the studio pipeline can be simulated for control learning without a lossy hand-conversion that would strip physics annotations. The result is robot motion that inherits the studio's artistic intent while remaining physically trainable.

Self Check

Are you adopting Newton because it uniquely supports your scene, solver, or GPU workflow, or because it is new? A frontier tool needs a task-specific reason.

Exercise 11.5

Change the weights in Code Fragment 1 for a production robot team instead of a research prototype. Which weights increase, which weights decrease, and why?

Simulator Choice Evidence Rule

Choose Newton and OpenUSD-centered workflows when asset interchange, scene composition, and scalable simulation pipelines dominate the requirement. The contract should pin USD layers, physics schemas, contact parameters, and tool versions.

Putting the decision questions, the adoption scorecard, and the schema audit together completes what this section promised at the outset: knowing what Newton offers, where its OpenUSD physics schema contracts break down, and how to decide whether it belongs in your infrastructure or your watch list. The decision procedure is: (1) run the audit algorithm above on your USD assets to get a go/no-go on schema completeness, (2) score the adoption scorecard for your project's criteria, and (3) if both clear their thresholds, run the baseline comparison against MuJoCo or Isaac Lab described earlier before committing Newton to a training pipeline. Skipping any one of the three steps is exactly the failure mode this section warns against: adopting a frontier engine on enthusiasm rather than evidence.

A common assumption is that Newton's GPU throughput implies higher physical fidelity than MuJoCo or Isaac Lab. It does not. A simulator that runs fast but models contact wrong is not saving time: it is manufacturing confident mistakes at scale. Parallelism and accuracy are independent properties. A simulator can execute 2 million steps per second while producing contact forces that are systematically wrong for your terrain mesh or grasp geometry. A policy trained on high-throughput but inaccurate contact dynamics will fail on the real robot in the scenarios where contact matters most: uneven terrain, soft grasps, or edge-case collisions. Throughput determines how much experience a policy accumulates per wall-clock hour. Fidelity determines whether that experience transfers to hardware. Measure both independently against a validated baseline before committing Newton to a training pipeline.

Baseline Requirement

If a paper or internal report uses a new simulator, include a mature-simulator comparison unless the point of the work is explicitly simulator development. Otherwise, readers cannot tell whether the result comes from the robot method or the simulator stack.

Key Takeaway

Newton is important because it connects open governance, Warp, OpenUSD, and robot-learning physics. Use it deliberately, with baselines, solver checks, and a written adoption audit.

Project Ideas

Beginner (weekend): USD physics schema auditor. Write a Python script using the OpenUSD Python API that traverses every prim in a user-supplied USD scene file, checks for missing PhysicsRigidBodyAPI, PhysicsCollisionAPI, and PhysicsMassAPI annotations, and prints a structured report of gaps alongside engine-default values that would silently fill them. The key challenge is learning the OpenUSD Python API's prim-traversal model and understanding which schema applications are inherited versus explicitly authored on each prim.

Intermediate (1-2 weeks): Newton vs. MuJoCo Warp throughput and contact benchmark. Using Isaac Lab with a standard Gymnasium-compatible Franka Panda pick-and-place task, run identical rollouts under both Newton and MuJoCo Warp on the same GPU, record steps-per-second and contact-force profiles at a grasp-critical moment, and visualize divergence as a function of environment count. The key challenge is keeping the USD scene, collision geometry, friction coefficients, and timestep strictly identical across both backends so that measured differences reflect solver behavior rather than asset handling.

Lab: Reading and Repairing USD Physics Schemas with the OpenUSD Python API

Goal: Experience the physics schema gap firsthand by authoring a USD scene, stripping its mass and friction annotations, then auditing and repairing it programmatically, so you see how silently a graphics-style asset arrives without simulation-critical values.

Tools needed: The usd-core package (pip install usd-core, which ships the pxr Python modules Usd, UsdGeom, UsdPhysics) and a Python 3.10+ environment. No GPU or simulator is required.

Procedure (15-30 min): (1) Create a stage with a ground plane and a small cube; apply UsdPhysics.RigidBodyAPI, UsdPhysics.CollisionAPI, and UsdPhysics.MassAPI to the cube and set mass to 0.5 and a friction material with \(\mu = 0.8\). (2) Save this as good.usda and open it as plain text to see how the schemas are authored. (3) Author a second copy graphics.usda that omits MassAPI and leaves friction unset, mimicking a Blender or Maya export. (4) Write a traversal that walks stage.Traverse(), and for each prim with geometry reports which of the three physics APIs are applied (prim.HasAPI(UsdPhysics.MassAPI)). (5) Add a repair pass that applies the missing APIs and writes your intended task values back.

What to vary: Change the intended task mass and friction, add a second articulated object with a revolute joint and try detecting missing joint limits, and try re-exporting through Blender if available to see what a real graphics tool drops.

What to observe: Note that good.usda and graphics.usda look nearly identical in a viewer yet differ entirely in physical behavior, and that HasAPI distinguishes an authored schema from an inherited default. This is the concrete mechanism behind every silent contact-behavior failure described in this section.

What's Next?

Section 11.6 turns to Genesis, another emerging simulator family focused on Pythonic multi-physics, rendering, and generative workflows.

Bibliography and Further Reading
Tools & Libraries

Linux Foundation. (2025). "Linux Foundation Announces Contribution of Newton."

This announcement explains Newton's governance context and stated goals for open robot learning. Readers should use it for institutional context, not as a substitute for task-level benchmarking.

Blog Post

NVIDIA. "Newton Physics Engine."

The official Newton page describes the engine's Warp and OpenUSD foundation and its collaboration among NVIDIA, Google DeepMind, and Disney Research. It is the best starting point for current positioning and links.

Tool

Newton Physics. "Newton GitHub Repository."

The repository gives the current source, examples, and release activity for Newton. Use it to verify APIs and maturity before treating Newton as a project dependency.

Tool

NVIDIA. "Warp Documentation."

Warp is the GPU programming foundation that makes Newton and MuJoCo Warp relevant to accelerator-native simulation. Readers interested in custom physics kernels should study its programming model.

Tool

Alliance for OpenUSD. "OpenUSD Documentation."

OpenUSD is the scene description technology Newton uses for rich simulator scenes. It matters for readers whose tasks require composed assets, semantic scene data, and tool interoperability.

Tool
ability.

Tool