Skip to content

Conversation

@kellyguo11
Copy link
Contributor

Description

Latest URDF importer in Isaac Sim 5.1 removed the support for merge-joints, which caused a breaking change for some users. Although this will maintain as the behavior going forward, we are reverting back to an older version of the URDF importer for the short term that still provides the merge-joints support.

In the future, we will look into providing more tooling for supporting similar behaviors in addition to the importer itself.

Fixes #3943

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • Breaking change (existing functionality will not work without user modification)

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 isaac-sim Related to Isaac Sim team isaac-lab Related to Isaac Lab team labels Nov 11, 2025
@kellyguo11 kellyguo11 changed the title Urdf version Reverts URDF importer to 2.4.24 to continue support for merge-joints Nov 11, 2025
@kellyguo11 kellyguo11 moved this to In review in Isaac Lab Nov 11, 2025
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Nov 11, 2025

Greptile Overview

Greptile Summary

This PR reverts the URDF importer extension to version 2.4.24 to restore merge-joints functionality that was removed in Isaac Sim 5.1. The changes systematically update all references to use the versioned extension name.

Key Changes:

  • Pins isaacsim.asset.importer.urdf to version 2.4.24 in apps/isaaclab.python.kit with exact = true
  • Updates UrdfConverter class to load the versioned extension isaacsim.asset.importer.urdf-2.4.24
  • Updates all test files to reference the versioned extension consistently
  • Bumps isaaclab extension version to 0.49.0
  • Documents the change in the changelog

Technical Correctness:
The implementation is clean and consistent across all files. The use of exact = true in the kit file ensures the specific version is loaded, and all code paths properly reference the versioned extension name.

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk - it's a well-scoped revert to restore broken functionality
  • The changes are straightforward, consistent across all files, and directly address the reported issue. The approach of pinning to a specific version is appropriate for a short-term fix while the team develops long-term tooling. All references are updated consistently, tests are maintained, and the change is properly documented.
  • No files require special attention

Important Files Changed

File Analysis

Filename Score Overview
apps/isaaclab.python.kit 5/5 Pins isaacsim.asset.importer.urdf extension to version 2.4.24 to restore merge-joints functionality
source/isaaclab/config/extension.toml 5/5 Bumps isaaclab extension version from 0.48.0 to 0.49.0 for this fix
source/isaaclab/docs/CHANGELOG.rst 5/5 Documents the URDF importer version revert in changelog with proper semantic versioning
source/isaaclab/isaaclab/sim/converters/urdf_converter.py 5/5 Updates extension loading to use versioned extension name isaacsim.asset.importer.urdf-2.4.24
source/isaaclab/test/sim/test_spawn_from_files.py 5/5 Updates test to reference versioned URDF importer extension for consistency
source/isaaclab/test/sim/test_urdf_converter.py 5/5 Updates test to reference versioned URDF importer extension for consistency

Sequence Diagram

sequenceDiagram
    participant User
    participant UrdfConverter
    participant ExtensionManager
    participant UrdfImporter_2_4_24 as URDF Importer v2.4.24
    participant IsaacSim

    User->>UrdfConverter: Convert URDF with merge_fixed_joints=true
    UrdfConverter->>ExtensionManager: Check if extension enabled
    ExtensionManager-->>UrdfConverter: Extension status
    UrdfConverter->>ExtensionManager: enable_extension("isaacsim.asset.importer.urdf-2.4.24")
    ExtensionManager->>UrdfImporter_2_4_24: Load extension v2.4.24
    UrdfImporter_2_4_24-->>ExtensionManager: Extension loaded
    UrdfConverter->>UrdfImporter_2_4_24: acquire_urdf_interface()
    UrdfImporter_2_4_24-->>UrdfConverter: URDF interface
    UrdfConverter->>UrdfConverter: _get_urdf_import_config()
    Note over UrdfConverter: Set merge_fixed_joints=true
    UrdfConverter->>IsaacSim: URDFParseFile command
    IsaacSim-->>UrdfConverter: Parsed robot model
    UrdfConverter->>IsaacSim: URDFImportRobot command
    Note over IsaacSim: Merges fixed joints using v2.4.24 logic
    IsaacSim-->>UrdfConverter: USD file with merged joints
    UrdfConverter-->>User: Conversion complete
Loading

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.

6 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

@Passutte
Copy link

That change results in wrongly oriented visuals in the exported USD

@kellyguo11
Copy link
Contributor Author

@Passutte can you share more on the issues you are seeing? is that in particular with the 2.4.24 version of the importer and fixed on the latest?

@Passutte
Copy link

Passutte commented Nov 13, 2025

@Passutte can you share more on the issues you are seeing? is that in particular with the 2.4.24 version of the importer and fixed on the latest?

E.g., when using the ANYmal urdf from https://github.com/ANYbotics/anymal_d_simple_description - with the default importer ANYmal looks fine. However, the merge joints functionality does not work. Now, with this fix the merge joints functionality works, but the visuals are all wrong. The collision bodies look fine.
It could be the combination between old importer and new version of isaacsim. I have never seen this before...

Before:
Screenshot from 2025-11-13 07-50-48

Now:
Screenshot from 2025-11-13 07-49-57

# Isaac Sim Extra
"isaacsim.asset.importer.mjcf" = {}
"isaacsim.asset.importer.urdf" = {}
"isaacsim.asset.importer.urdf" = {version = "2.4.24", exact = true}
Copy link
Contributor

Choose a reason for hiding this comment

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

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

Labels

isaac-lab Related to Isaac Lab team isaac-sim Related to Isaac Sim team

Projects

Status: In review

Development

Successfully merging this pull request may close these issues.

[Bug Report] Merge fixed joints parameters doesn't work

4 participants