Skip to content

Add Newton Franka rope SoftMimicGen workflow - #88

Open
peterd-NV wants to merge 2 commits into
peterd/smg-physxfrom
peterd/smg-newton
Open

peterd-NV wants to merge 2 commits into
peterd/smg-physxfrom
peterd/smg-newton

Conversation

@peterd-NV

@peterd-NV peterd-NV commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Add the Newton Franka rope softmimicgen workflow

Detailed description

Extend the Franka rope workflow to Newton, reusing the shared task and rope topology while adding the backend-specific physics and rendering configuration.

  • Configure rigid/deformable coupling, materials, collisions, robot gravity compensation, and cameras.
  • Add smooth nodal resets, rope visual skinning, and backend-aware annotation replay.
  • Include a Newton source dataset, extend shared environment and generation tests to Newton, and add a complete recording → annotation → generation test.

Stack layer 3/3: Core -> PhysX -> Newton. This PR targets the PhysX branch.

Validation: Formatting, lint, syntax, and task/embodiment configuration checks passed. Simulation tests were not run for this split.

Summary by CodeRabbit

  • New Features
    • Added support for running the Franka rope task with the Newton physics backend, including rope simulation and rendering, plus table and gripper interactions.
    • Newton is available as a preset for dataset generation and demonstration annotation.
    • Added Newton support to rope recording, annotation, dataset generation, and SoftMimicGen workflows.
    • Rope resets can smoothly transition the rope’s shape when configured.
  • Tests
    • Expanded workflow checks to cover Newton rope behavior, contacts, and dataset generation.

@peterd-NV
peterd-NV added this pull request to stack #87 October 19, 2026 18:29
@coderabbitai

coderabbitai Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

Run configuration
Commits

Reviewing files that changed from the base of the PR and between 43816f1 and d2464ad.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

No actionable comments were generated in the recent review.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 88e04d2 and 43816f1.

Files selected for processing: 8
  • autodata_examples/envs/isaac_lab_arena/franka_rope/embodiment.py
  • autodata_examples/envs/isaac_lab_arena/franka_rope/environment.py
  • autodata_examples/envs/isaac_lab_arena/franka_rope/rope_asset.py
  • autodata_tests/e2e/test_rope_environment.py
  • autodata_tests/interfaces/env/test_franka_rope_arena.py
  • datasets/annotated_datasets/dataset_franka_rope_newton_annotated.hdf5
  • scripts/annotate_demos.py
  • scripts/generate_dataset.py

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review.

Walkthrough

This change adds Newton physics support to the Franka rope environment, including solver and asset configuration, rope reset and rendering updates, and support for Newton recording and dataset workflows.

Changes: Newton Franka Rope Support

Layer / File(s) Summary
Newton rope assets and physics
autodata_examples/envs/isaac_lab_arena/franka_rope/assets/RopeNewton.usda, autodata_examples/envs/isaac_lab_arena/franka_rope/rope_asset.py, autodata_examples/envs/isaac_lab_arena/franka_rope/newton_cfg.py
Adds a Newton rope scene and spawn configuration. Adds Franka finger and table collider conversion, plus rigid and soft solver configuration.
Environment integration, resets, and visuals
autodata_examples/envs/isaac_lab_arena/franka_rope/embodiment.py, autodata_examples/envs/isaac_lab_arena/franka_rope/environment.py, autodata_examples/envs/isaac_lab_arena/franka_rope/mdp/events.py, autodata_examples/envs/isaac_lab_arena/franka_rope/newton_visuals.py, autodata_tests/interfaces/env/test_franka_rope_arena.py, autodata_tests/e2e/test_rope_environment.py
Adds backend-specific environment and embodiment settings, optional smooth rope reset transitions, and visual mesh skinning from simulation particles. Tests cover configuration, reset state, contact capacity, table contacts, and visual alignment.
Newton recording and dataset workflows
scripts/annotate_demos.py, scripts/generate_dataset.py, autodata_tests/e2e/test_newton_rope_workflow.py, autodata_tests/e2e/test_softmimicgen_data_generation.py, autodata_tests/test_data/annotated_dataset_franka_rope_softmimicgen_newton.hdf5, datasets/annotated_datasets/dataset_franka_rope_newton_annotated.hdf5
Adds Newton preset support to annotation and dataset generation. Annotation replay can control simulation-buffer resets. Tests cover Newton recording, annotation, generation, and SoftMimicGen input data.

Priority: Normal

Estimated code review effort: 4 (Complex) | ~45 minutes

Change: Feature

Sequence Diagram(s)

sequenceDiagram
  participant NewtonRopeManager
  participant NewtonParticleState
  participant WarpSkinningKernel
  participant RopeVisualMesh
  participant KitRenderer
  NewtonRopeManager->>NewtonParticleState: Read current particle positions
  NewtonRopeManager->>WarpSkinningKernel: Launch with positions and barycentric remap
  WarpSkinningKernel->>RopeVisualMesh: Write interpolated local-space points
  KitRenderer->>RopeVisualMesh: Read updated points for rendering
Loading

Possibly related PRs

  • isaac-sim/AutoData#85: Adds the SoftMimicGen workflow and core interfaces used by this PR’s Newton dataset-generation tests.
Merge Risk: Minimal · previous review 43816

No specific merge-blocking defect is established. Run the Newton simulation workflows before release, as their reported validation did not include simulation tests.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 47.50% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 40 functions across 12 files. (1 skipped:… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Description check Passed The description includes the required Summary and Detailed description sections. It explains the reason, changes, impact, added tests, validation results, and the fact that simulation tests were not r…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Title check Passed The title clearly and concisely describes the main change: adding a Newton Franka rope SoftMimicGen workflow.
Full details: Description check

Explanation

The description includes the required Summary and Detailed description sections. It explains the reason, changes, impact, added tests, validation results, and the fact that simulation tests were not run.

Full details: Docstring Coverage

Explanation

Docstring coverage is 47.50% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 40 functions across 12 files. (1 skipped: 1 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

Finishing Touches: 💡 1
📝 Generate docstrings: 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@peterd-NV
peterd-NV marked this pull request as ready for review October 26, 2026 16:15
@peterd-NV
peterd-NV requested a review from njawale42 as a code owner October 26, 2026 16:15
@peterd-NV peterd-NV changed the title Add the Newton Franka rope SoftMimicGen workflow Add Newton Franka rope SoftMimicGen workflow Oct 26, 2026
@peterd-NV
peterd-NV requested a review from bokalnv October 26, 2026 22:18
parser.add_argument("--num_envs", type=int, default=1, help="Number of parallel environments.")
parser.add_argument(
"--presets", choices=("physx",), default=None, help="Physics backend preset for Arena environments."
"--presets", choices=("physx", "newton"), default=None, help="Physics backend preset for Arena environments."

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

since some workflows only work with newton, we should probably derive this from the dataset metadata, or document it in the workflow itself right?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The preset here is not for the Autodata workflows but rather for the underlying Arena env. The core data generation and datasets are agnostic to newton vs physx but the Arena env needs to know which physics preset to configure.

--preset is added to the some of the autodata scripts to pass this through to Arena envs if they are using them since a single Arena env can support multiple physics backends and the user needs to select them.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for clarifying

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants