Skip to content

IsaacLab 3.0 Locomanipulation SDG support#4725

Open
jaybdub wants to merge 7 commits intoisaac-sim:developfrom
jaybdub:dev-isaaclab-3.0-locomanip-sdg
Open

IsaacLab 3.0 Locomanipulation SDG support#4725
jaybdub wants to merge 7 commits intoisaac-sim:developfrom
jaybdub:dev-isaaclab-3.0-locomanip-sdg

Conversation

@jaybdub
Copy link
Contributor

@jaybdub jaybdub commented Feb 25, 2026

Description

This PR (implemented by Yuchen Deng / Chirag Majithia) handles quat conversion in the locomanipulation SDG workflow, enabling support for Isaac Lab 3.0. This also updates the documentation to add the --visualizer kit command required to run the workflow.

Locomanipulation SDG was broken with Isaac Lab 3.0+ due to CUDA device semantics / quaternion conversion. This is fixed by this PR.

Type of change

  • Bug fix (non-breaking change which fixes an issue)

Screenshots

Please attach before and after screenshots of the change if applicable.

Checklist

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks with ./isaaclab.sh --format
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have updated the changelog and the corresponding version in the extension's config/extension.toml file
  • I have added my name to the CONTRIBUTORS.md or my name already exists there

@github-actions github-actions bot added documentation Improvements or additions to documentation isaac-mimic Related to Isaac Mimic team labels Feb 25, 2026
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 25, 2026

Greptile Summary

This PR fixes Isaac Lab 3.0 compatibility issues in the locomanipulation SDG workflow by addressing CUDA device placement and quaternion convention changes.

Key changes:

  • Fixed device placement by adding device= parameters to torch tensor creation throughout the codebase
  • Added .to(self.device) calls when cloning state tensors in interactive_scene.py to ensure tensors are on correct device
  • Added warp.to_torch() conversion for body_link_state_w in scene_utils.py to handle warp tensor types properly
  • Implemented quaternion conversion from legacy WXYZ to XYZW format for action data loaded from older datasets
  • Updated hardcoded quaternion literals from WXYZ (e.g., [1.0, 0.0, 0.0, 0.0]) to XYZW format (e.g., [0.0, 0.0, 0.0, 1.0])
  • Added --visualizer kit flag to documentation example

Confidence Score: 5/5

  • Safe to merge - addresses critical bug fixes for Isaac Lab 3.0 compatibility with consistent patterns
  • The changes are well-scoped bug fixes that systematically address device placement and quaternion convention issues. The patterns are consistent throughout (adding device parameters, .to(device) calls, and quaternion format updates). The warp-to-torch conversion is necessary for compatibility. The changes align with the PR description and fix the stated issues.
  • No files require special attention

Important Files Changed

Filename Overview
scripts/imitation_learning/locomanipulation_sdg/generate_data.py Added device parameter to tensor creation and quaternion conversion for legacy dataset support
source/isaaclab/isaaclab/scene/interactive_scene.py Added .to(self.device) calls when cloning state tensors to ensure proper device placement
source/isaaclab_mimic/isaaclab_mimic/locomanipulation_sdg/envs/g1_locomanipulation_sdg_env.py Fixed quaternion convention from WXYZ to XYZW and added device parameter to fixture_pose tensor
source/isaaclab_mimic/isaaclab_mimic/locomanipulation_sdg/scene_utils.py Added warp to torch conversion for body_link_state_w and device handling for relative_pose

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Dataset Loading] --> B{Legacy Quat Format?}
    B -->|Yes| C[Convert WXYZ to XYZW]
    B -->|No| D[Use XYZW directly]
    C --> E[Episode Data]
    D --> E
    E --> F[Scene Reset]
    F --> G[Clone State Tensors]
    G --> H[Apply .to device]
    H --> I[Warp to Torch Conversion]
    I --> J[Transform Operations]
    J --> K[Device-aware Tensor Creation]
    K --> L[Locomanipulation SDG]
Loading

Last reviewed commit: 812a3fb

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

7 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

@jaybdub jaybdub force-pushed the dev-isaaclab-3.0-locomanip-sdg branch 2 times, most recently from 76d7fc0 to 5905bdb Compare February 25, 2026 19:50
Copy link
Contributor

@peterd-NV peterd-NV left a comment

Choose a reason for hiding this comment

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

Following the slack on thread, can the dataset download links be updated to content-staging and 6.0

@ShevaDavid
Copy link

ShevaDavid commented Feb 26, 2026

@jaybdub

Could you please open access to ONNX in this repository: https://github.com/NVIDIA-AI-IOT/sdg_pallet_model

People have requested access, but nobody has received it according to the GitHub issues.

Thanks in advance!

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

Labels

documentation Improvements or additions to documentation isaac-mimic Related to Isaac Mimic team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants