USD Parsing tools for MJC, PhysX and Custom Newton Attributes#710
Merged
eric-heiden merged 51 commits intoOct 27, 2025
Merged
Conversation
This comment was marked as spam.
This comment was marked as spam.
Signed-off-by: Milad Rakhsha <mrakhsha@nvidia.com>
dee9a59 to
fd18c8c
Compare
Signed-off-by: Milad Rakhsha <mrakhsha@nvidia.com>
3dbf9d8 to
1ff7645
Compare
Member
|
lurking here - looking at how you convert from MJC attribute to newton I will probably poke you in the context of making sure that we get the inverse transform correct as well when setting up the MjWarp model. |
Member
Author
|
Thanks @andrewkaufman for the feedback. This PR still needs a bunch of cleaning and more importantly, changes in terms of how we consume the parsed data. I will incorporate your comments in the final version. I just created this draft PR to share some ideas with newotn/sim_usd folks in terms of how we can consume assets with potentially mixed schemas for various solvers; |
96ffb7a to
6771b9e
Compare
…utes Signed-off-by: Milad Rakhsha <mrakhsha@nvidia.com>
4e2d76d to
5a99b5f
Compare
Signed-off-by: Milad Rakhsha <mrakhsha@nvidia.com>
5a99b5f to
1c93865
Compare
Signed-off-by: Milad Rakhsha <mrakhsha@nvidia.com>
c7149d9 to
805a110
Compare
aa5daae to
4a8d2e9
Compare
Signed-off-by: Milad Rakhsha <mrakhsha@nvidia.com>
c8f2812 to
582a4c4
Compare
3 tasks
This was referenced Dec 1, 2025
This was referenced Dec 8, 2025
This was referenced Dec 16, 2025
Closed
4 tasks
This was referenced Jan 7, 2026
This was referenced Jan 17, 2026
eric-heiden
added a commit
to eric-heiden/newton
that referenced
this pull request
Jan 28, 2026
…-physics#710) Signed-off-by: Milad Rakhsha <mrakhsha@nvidia.com> Signed-off-by: Eric Heiden <eric-heiden@outlook.com> Co-authored-by: Eric Heiden <eric-heiden@outlook.com>
This was referenced Jan 29, 2026
Merged
This was referenced Feb 5, 2026
This was referenced Feb 13, 2026
Closed
This was referenced Feb 24, 2026
Merged
This was referenced Mar 6, 2026
mmacklin
pushed a commit
to mmacklin/newton
that referenced
this pull request
Apr 7, 2026
…-physics#710) Signed-off-by: Milad Rakhsha <mrakhsha@nvidia.com> Signed-off-by: Eric Heiden <eric-heiden@outlook.com> Co-authored-by: Eric Heiden <eric-heiden@outlook.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related to #709. There are a few things being considered here;
Development of the newton schema/attributes; This is the newtonic way of authoring USD. They are attributes that are missing in UsdPhysics, but defined in other engines like physX or mujoco, and Newton can directly use them in model builder, e.g. joint armature or geoms contact margin, etc.
When working with physX-based assets, we should still be able to remap the physX values to newton. The same applies to Mujoco. We should be able to make use of the mujoco attributes that are recognized by Newton.
The user can define priority for parsing, i.e. define which engine attributes should be preferred.
There are attributes that are specific to each engine/solver, and we may not be able to directly use them. They are usually prefixed with defined terms, like physxCollision, physxRigidBody, etc. For mujoco, we can reuse these later on when building the mjModel though. This PR makes these attributes accessible as part of the parsing results.
The USD asset can define custom attributes that are expected to become part of the model/state/control attributes. Parsing of these special attributes are made possible in this PR. The custom attributes are expected to follow the
newton:assignment:frequency:attribute_namewhere assignment can be model/state/control/contact and frequency defines whether the attribute_name is a per body/shape/articulation etc.Description
Newton Migration Guide
Please ensure the migration guide for warp.sim users is up-to-date with the changes made in this PR.
docs/migration.rstis up-to dateBefore your PR is "Ready for review"
newton/tests/test_examples.py)pre-commit run -aSummary by CodeRabbit
New Features
Public API
Tests & Assets