Author Newton MPM particles through USD - #7637
Conversation
…lab-mpm-spawners-newton-usd-authoring # Conflicts: # pyproject.toml # source/isaaclab/test/install_ci/uv_pip/test_uv_pip_install_isaaclab_all_trains_cartpole.py # source/isaaclab/test/install_ci/uv_pip/uv-overrides.txt # source/isaaclab_newton/isaaclab_newton/assets/mpm_object/mpm_object.py # source/isaaclab_newton/isaaclab_newton/cloner/newton_clone_utils.py # source/isaaclab_newton/isaaclab_newton/cloner/replicate.py # source/isaaclab_newton/isaaclab_newton/physics/newton_manager.py # source/isaaclab_newton/test/physics/test_newton_manager_abstraction.py # tools/wheel_builder/res/__init__.py # tools/wheel_builder/uv-overrides.txt # uv.lock
…lab-mpm-spawners-newton-usd-authoring
|
run-ci |
Greptile SummaryThis PR migrates Newton MPM particle creation from direct
Confidence Score: 5/5The PR appears safe to merge because no new issues were introduced after the previous review and both prior findings were resolved after Greptile conceded them. The current changes consistently author and import MPM particles through USD, preserve particle ranges across replication paths, and expose the required schema revision. The two previous findings are not outstanding: both threads were resolved after the implementation details showed the reported failures were unreachable. Important Files Changed
Sequence DiagramsequenceDiagram
participant C as MPMGridCfg / MPMPointsCfg
participant U as USD Stage
participant N as Newton ModelBuilder
participant R as Clone Replication
participant O as MPMObject
C->>U: Author UsdGeom.Points, masses, velocities, widths
C->>U: Bind NewtonMPMMaterialAPI material
C->>U: Relate particles to NewtonMPMSceneAPI
U->>N: add_usd()
N-->>R: path_particle_map and source builder
R->>R: Replicate or merge builders
R->>O: Record destination particle ranges
O->>O: Synchronize simulation and visualization state
Reviews (2): Last reviewed commit: "Merge remote-tracking branch 'origin/dev..." | Re-trigger Greptile |
There was a problem hiding this comment.
Isaac Lab Review Bot
The USD-based Newton MPM authoring and import pipeline is coherent, including explicit points, materials, solver schemas, and particle-range tracking across replication. One API compatibility issue remains: the exported emit_mpm_particles helper is removed without the deprecation period required by repository policy.
- Design and architecture: The spawner-to-USD-to-
path_particle_mapflow consistently connects authored particles toMPMObjectregistry ranges across homogeneous replication and heterogeneous builder merges. No actionable architecture defect was established. - API: The new material fields, schema dependency, documentation, and changelog updates are aligned. However, removing the publicly exported
emit_mpm_particlessymbol outright violates the repository requirement for prior deprecation and migration; retain a deprecated compatibility wrapper for the required transition period. - Implementation: The particle generation, explicit mass and width authoring, transform restoration, and range-recording paths were traced without finding another concrete implementation defect. Importing the shared private suffix constant keeps the producer and consumer path synchronized, so that candidate concern does not warrant a separate change.
Minor fixes needed. Posted 1 actionable finding inline.
Automated review; human maintainers own approval decisions.
|
run-ci |
|
run-ci |
Description
This PR migrates Isaac Lab's Newton MPM spawners from direct
ModelBuilderparticle emission to schema-valid USD authoring and Newton's standard USD import path.MPMGridCfgandMPMPointsCfgremain the user-facing convenience APIs. They now author:UsdGeom.Pointsprim with positions, velocities,widths = 2 * radius, and explicitphysics:masses;NewtonMPMMaterialAPI;hardening_rateandsoftening_ratefields; andcritical_fraction, onNewtonMPMSceneAPI.Newton imports the authored particles through
ModelBuilder.add_usd(). Isaac Lab consumes the returnedpath_particle_mapto retain eachMPMObjectparticle range across both homogeneous batched replication and heterogeneous builder merges.Behavior preserved
elastic_damping = damping * young_modulus.<MPM asset>/Particlesvisualization prim and synchronization path remain in place for GL, Newton RTX, and Kit rendering.MPMGridCfgcontinues generating explicit points procedurally in Isaac Lab because the USD schema represents explicit particles rather than a procedural grid.The four MPM demos and the Franka Pour and UR10 Particle Push tasks use the new authoring path. Their manually added MPM ground colliders were removed in favor of the standard scene ground-plane workflow.
Dependencies
1.6.0rc1release already pinned ondevelop.newton-usd-schemas >= 0.5.0.Breaking changes
emit_mpm_particles()helper. UseMPMGridCfgorMPMPointsCfgthrough the standard spawner workflow.Per-point multi-material authoring through
UsdGeomSubsetremains intentionally out of scope until Isaac Lab has a user-facing subset configuration API.Type of change
Release backport
developScreenshots
Not applicable; existing runtime visualization behavior is retained.
Validation
216 passedacross the focused MPM spawner, MPM object, Newton cloning, and Newton manager suites.IsaacContrib-UR10-Particle-PushandIsaacContrib-Franka-Pour.Checklist
CONTRIBUTORS.md