Skip to content

Expand support for heterogeneous objects in arena#401

Open
alexmillane wants to merge 6 commits intomainfrom
alex/feature/support_lightwheel_assets_in_object_set
Open

Expand support for heterogeneous objects in arena#401
alexmillane wants to merge 6 commits intomainfrom
alex/feature/support_lightwheel_assets_in_object_set

Conversation

@alexmillane
Copy link
Collaborator

Summary

Expand support for heterogeneous objects in Arena

Detailed description

  • By default, Lab only supports objects in MultiUsdFileCfg with a single scale and who have their rigid bodies either at the root or at the same path.
  • We expand this in arena to support different scales and different paths for the rigid bodies.
  • We implement this by modifying and resaving USDs on the fly.

raise ValueError(f"Error: Could not open USD file at {usd_path}")
return find_shallowest_rigid_body_from_stage(stage, relative_to_root)

# Get all the rigid body prim paths
Copy link
Collaborator

Choose a reason for hiding this comment

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

Dead code?

depths = self._get_all_rigid_body_depths(objects)
return all(depth == depths[0] for depth in depths)

def _get_all_rigid_body_depths(self, objects: list[Object]) -> list[str]:
Copy link
Collaborator

Choose a reason for hiding this comment

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

-> list[int]?

yaw_rad = math.radians(-111.55)
# Note (xinjieyao, 2026.02.04): prim path of object set has not been resolved yet, will be fixed in the future.
assert args_cli.object_set is None, "Object set is not supported yet"
# assert args_cli.object_set is None, "Object set is not supported yet"
Copy link
Collaborator

@cvolkcvolk cvolkcvolk Feb 9, 2026

Choose a reason for hiding this comment

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

Remove the assert(-comment)?

# Isaac Lab support for MultiUsdFileCfg is limited. It applies the same scale and pose to all objects.
# Furthermore it relies on the rigid body being at the root of the USD file, or at the same
# path in all files. To expand our support in Arena, we modify the USDs to be compatible with each other.
# In particular, we rescale the assets and rename the rigid bodies to have the same name. We
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
# In particular, we rescale the assets and rename the rigid bodies to have the same name. We
# In particular, we rescale the assets and rename the rigid bodies to have the same name.

# Furthermore it relies on the rigid body being at the root of the USD file, or at the same
# path in all files. To expand our support in Arena, we modify the USDs to be compatible with each other.
# In particular, we rescale the assets and rename the rigid bodies to have the same name. We
# Save the resulting modified USDs to a cache.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
# Save the resulting modified USDs to a cache.
# We save the resulting modified USDs to a cache.

Copy link
Collaborator

@cvolkcvolk cvolkcvolk left a comment

Choose a reason for hiding this comment

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

Thanks for fixing! lgtm

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