Set finite inertia for collisionless / visual-only rigid links#2198
Open
yalcintur wants to merge 4 commits into
Open
Set finite inertia for collisionless / visual-only rigid links#2198yalcintur wants to merge 4 commits into
yalcintur wants to merge 4 commits into
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates EntityPrim post-load behavior to prevent PhysX GPU dynamics articulation crashes by marking joints that touch non-physical links (e.g., visual-only links or meta links without collision meshes) as excluded from articulation solving when gm.USE_GPU_DYNAMICS is enabled. The intent is to keep CPU dynamics behavior unchanged while making GPU dynamics more robust to “non-physical” articulation bodies.
Changes:
- Invoke a new post-load pass that scans joints and sets
physics:excludeFromArticulation=Truefor joints referencing non-physical link prims (GPU dynamics only). - Add
_exclude_non_physical_joints_from_gpu_articulations()to compute non-physical link paths and apply the exclusion flag within a USD editing context.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Profiling ReportBaselines (GPU dynamics)
Scenes
Non-physics features (GPU dynamics)
Deep profile artifactsDownload deep profile HTML reports and raw .prof files from the Actions artifacts (artifact prefix:
Legend
|
upload_report: Run #5284
🎉 All tests passed!Github Test Reporter by CTRF 💚 🔄 This comment has been updated |
…pal axes for them still
for more information, see https://pre-commit.ci
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.
GPU dynamics crashes caused by collisionless rigid links participating in articulations.
Collisionless links, such as visual-only or semantic/meta links, were assigned a tiny mass but could still end up with degenerate inertia properties. PhysX GPU articulation solving is less tolerant of these singular mass properties and could fail in GPU solver prep / zero-body kernels (e.g resetVelocity kernel etc.).