Skip to content

fix: Newton up_axis string→Axis enum, add warp-lang to [isaac], platform-gate usd-core#50

Open
cagataycali wants to merge 1 commit intostrands-labs:devfrom
cagataycali:fix/gpu-test-blockers-290
Open

fix: Newton up_axis string→Axis enum, add warp-lang to [isaac], platform-gate usd-core#50
cagataycali wants to merge 1 commit intostrands-labs:devfrom
cagataycali:fix/gpu-test-blockers-290

Conversation

@cagataycali
Copy link
Copy Markdown
Member

Summary

Ports three GPU-blocker fixes validated in the GPU test campaign (cagataycali/strands-gtc-nvidia#290, 4 test campaigns across Thor sm_110 + Isaac Sim EC2 L40S).

PR #49 was closed because it targeted the pre-refactor file structure. This PR applies the same fixes to the current dev branch (post-Newton backend split in #38).

1. Newton up_axis bug (BLOCKER)

create_world() sets up_axis on ModelBuilder as a string via attribute assignment. Newton's up_vector property then calls .to_vector() on that string → AttributeError: 'str' object has no attribute 'to_vector'.

Fix: Pass up_axis to the ModelBuilder constructor, which handles string→Axis enum conversion internally. Applied to:

  • create_world() — primary builder creation
  • _recreate_builder() — builder reset after failed loads
  • replicate() — propagate up_axis to replicated builder

This unblocks all Newton stepping, robot loading, diffsim, sensors, and dual solver.

2. Missing warp-lang in [isaac] extras

IsaacSimBackend.create_world() fails with RuntimeError: Isaac Lab not available: No module named 'warp'. Added warp-lang>=1.0.0 to the [isaac] extras.

3. usd-core aarch64 platform gating

usd-core has no aarch64 wheels, blocking pip install -e '.[isaac]' on Jetson Thor. Added: platform_machine != 'aarch64'.

Testing

  • 73/73 tests pass
  • Fixes validated on Thor (sm_110, 132GB) and Isaac Sim EC2 (L40S, 46GB) across 4 test campaigns

Changes

  • strands_robots/newton/newton_backend.py — 3 locations: pass up_axis to ModelBuilder() constructor
  • pyproject.toml — add warp-lang>=1.0.0 to [isaac], platform-gate usd-core

🤖 AI agent response. Strands Agents. Feedback welcome!

…orm-gate usd-core

Port three GPU-blocker fixes from GPU test campaign (cagataycali/strands-gtc-nvidia#290):

1. Newton up_axis bug (BLOCKER): create_world() was setting up_axis on
   ModelBuilder as a string via attribute assignment, but Newton's
   up_vector property calls .to_vector() which requires an Axis enum.
   Fix: pass up_axis to ModelBuilder constructor (handles conversion).
   Applied to create_world(), _recreate_builder(), and replicate().

2. Missing warp-lang in [isaac] extras: IsaacSimBackend.create_world()
   fails with 'No module named warp' without it.

3. usd-core aarch64 gating: no aarch64 wheels exist, blocking install
   on Jetson Thor. Added platform_machine marker.

Tested: 73/73 tests pass.
Copy link
Copy Markdown

@shipitfast shipitfast left a comment

Choose a reason for hiding this comment

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

Unsolicited review removed. @shipitfast now only reviews when explicitly tagged. Apologies for the noise.

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

Labels

None yet

Projects

Status: In review

Development

Successfully merging this pull request may close these issues.

3 participants