visual-only mesh fallback + visual/collision group split, refactors make_mjcf_from_robot_description.py to reuse the new logic - #265
Open
saikishor wants to merge 4 commits into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## use/collision_tags/select_collision_meshes #265 +/- ##
==============================================================================
+ Coverage 81.39% 81.62% +0.22%
==============================================================================
Files 30 30
Lines 5203 5267 +64
Branches 559 558 -1
==============================================================================
+ Hits 4235 4299 +64
Misses 674 674
Partials 294 294
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
scastro-nasa
force-pushed
the
use/collision_tags/visual_only_groups
branch
from
August 31, 2026 13:15
27d7947 to
113151f
Compare
Collaborator
|
@saikishor I put my changes up in #298 Just to check though, you do have upstack changes that prevent the visual and collision meshes from both being processed redundantly, right? That's #268 ? |
Member
Author
Yess exactly |
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.

Description
Second in the series splitting up #209 (see that PR for full context).
Builds on top of #264 by giving visual and collision geoms their own distinct roles instead of sharing one code path:
visualclass). Visual meshes are kept as plain references —.stl/.objuntouched, only.daeconverted (MuJoCo can't load DAE) — and are placedunder
assets/visual/. They are never decomposed, and the URDF material colour is carried over as the geom'srgba.collisionclass). Collision primitives (box/sphere/cylinder/capsule) are used as-is; collision meshes are used as a single whole-mesh collision unless the linkis explicitly listed in a
decompose_meshinput, in which case they're convex-decomposed with obj2mjcf underassets/decomposed/. Decomposition is therefore opt-in per link rather than automatic.make_mjcf_from_robot_description.pywas refactored to reuse this shared logic instead of duplicating it.