Skip to content

Draft Rep 0158: OpenUSD interoperability#29

Open
adamdbrw wants to merge 111 commits into
openrobotics:mainfrom
adamdbrw:rep-0158-openusd-interoperability
Open

Draft Rep 0158: OpenUSD interoperability#29
adamdbrw wants to merge 111 commits into
openrobotics:mainfrom
adamdbrw:rep-0158-openusd-interoperability

Conversation

@adamdbrw
Copy link
Copy Markdown

@adamdbrw adamdbrw commented May 12, 2026

A new REP for OpenUSD interoperability within ROS simulation ecosystem. The chief goal is to make simulation assets that work out of the box for all of us across simulators.

The REP is accompanied by https://github.com/ros-simulation/openusd-schemas repository, which hosts the implementation.

Essential implementation PRs:

Following the merge, I will start a discussion thread on Discord.

@adamdbrw adamdbrw requested review from gbiggs and tfoote as code owners May 12, 2026 12:07
adamdbrw and others added 28 commits May 12, 2026 14:09
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Corrections to 1.1. and 1.2

Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Updated mass = 0 issue and introduced some detail

Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Expanded on Inertia representation and mass

Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Developed sub-criteria with more rigor

Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Corrections, removed the version recommendation

Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
adamdbrw and others added 29 commits May 12, 2026 14:09
Co-authored-by: Franco Cipollone <franco.c@ekumenlabs.com>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
- removed dictionary entry
- removed empty def for frame override

Co-authored-by Mateusz Żak <mateusz.zak@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Co-authored-by: Mateusz Żak <mateusz.zak@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Co-authored-by: Mateusz Żak <mateusz.zak@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
- Add a Layer Encoding rule: ascii for light, crate for heavy
- Update the extenctions to canonical

Co-authored-by: Renato Gasoto <rgasoto@nvidia.com>
Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
State directly that:
- assets must not duplicate the same ROS interface in another form
- persisted runtime artifacts go in the proprietary layer

Co-authored-by: Renato Gasoto <rgasoto@nvidia.com>
Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
* Newton schemas are actually generatedSchema.usda, which is not valid input to `usdGenSchema`

Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Co-authored-by: Mateusz Żak <mateusz.zak@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Michał Pełka <michal.pelka@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
- Move schema.usda up out of schema/ subdirs to follow OpenUSD convention (cf. usdLux)
- Rename rigid_body_controller dir to rigid_body_twist_controller for consistency
- Drop libraryPrefix (defaults to capitalized libraryName, gives PascalCase C++ class names)
- Update README schema-path references accordingly

Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
* this is to maintain per-controller libraries and avoid duplications in generated C++ identifiers (UsdRosControlDiffDriveRosControlDiffDriveAPI).

Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Co-authored-by Mateusz Zak <mateusz.zak@robotec.ai>

Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
:
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Wording polish and update of the chapter number

Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Assorted improvements

Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
- Renaming according to rep-0001 and proper catalogue structure for merge
- Removed extensions and core schemas - these are submitted to ros-simulation/openusd-schemas instead.

Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>
@adamdbrw adamdbrw force-pushed the rep-0158-openusd-interoperability branch from 015d143 to 159ca5a Compare May 12, 2026 12:10
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.

4 participants