NVIDIA / NVIDIA/simready-foundation

RB.006: It breaks when the nested rigid bodies are replaced

Open
#15 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
88
Forks
18
PR merge metrics
No merged PRs in 30d

Description

Summary

The restriction on nested rigid bodies in rigid-body-no-nesting.md no longer applies in OpenUSD v25.11 and later.
Therefore, I would like you to explicitly state that this implementation follows the specifications of "OpenUSD 25.08 or earlier".

urdf-usd-converter and mujoco-usd-converter both use a unified nested rigid body structure, and applying RB.006 would break this.

I’m actually thinking that maybe we should just delete RB.006 altogether.

Background

Starting with OpenUSD v.25.11(CHANGELOG.md), it is now possible to create structures with nested rigid bodies.

Implemented the UsdPhysics proposal for allowing nested rigid bodies and articulation for kinematic bodies. 
Mass Computation, parsing utility and validators are updated to support the same. (PR: #3827, #3828)

urdf-usd-converter, mujoco-usd-converter, Newton, Isaac Sim 6.0, kit-app-template (Kit 110.0 - ) ,
These have already been migrated to OpenUSD v.25.11 or later.

Nested rigid bodies are commonly used in game engines (such as Unreal Engine and Unity), and in the past, special care had to be taken when developing connectors and converters for OpenUSD.
Since this is no longer necessary in OpenUSD v25.11 and later, porting Physics structures has become significantly more efficient.

Impact of RB.006

https://github.com/NVIDIA/skills

The physical-ai-simready-conform-profile within this skills section references simready-foundation.
In this workflow, RB.006 and RB.012 are referenced as Physics joints as part of the preparation for SimReady.

If a user needs to make this USD file compatible with SimReady after converting it from URDF or MuJoCo, they will follow this workflow.
This is because Skills routes it that way.

URDF/MuJoCo to USD (urdf_usd_converter/mujoco_usd_converter) -> General validation ->
simready-validate -> simready-conform-profile

As a result, RB.006 causes the nested rigid body structure to be replaced, leading to a failure.

It seems that Skills also uses physics_rigid_bodies/validation.py for validation.

Note:
Replacement using RB.006 will be performed by LLMs such as Claude Code(Claude sonnet).
RB.006 will be loaded from skills via the LLM.

USD file containing rigid bodies with a nested structure

If we need a USD file containing a nested rigid body structure for testing, I think it would be easiest to convert the URDF model.
The following is one of the commonly used sample URDFs.

https://github.com/Daniella1/urdf_files_dataset/blob/main/urdf_files/matlab/franka_description/robots/frankaEmikaPanda.urdf

If we clone this urdf_files_dataset repository locally using git clone and load it into Isaac Sim 6.0 (5.x is not supported!), we can see the nested rigid body structure.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading rigid-body-no-nesting.md and the related RB.012 requirement, then inspect physics_rigid_bodies/validation.py and the simready-conform-profile workflow described in the issue. Resolve whether RB.006 should be version-scoped or removed, and update the specification and any validation references consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.