[MISC] Make collision bitmasks filter local to entity for MJCF morphs.#1499
Merged
duburcqa merged 2 commits intoGenesis-Embodied-AI:mainfrom Aug 5, 2025
Merged
Conversation
YilingQiao
approved these changes
Aug 5, 2025
Kashu7100
reviewed
Aug 5, 2025
|
|
||
| Note | ||
| ---- | ||
| Genesis currently processes MJCF as if it describing a single entity instead of an actual scene. This means that |
Collaborator
There was a problem hiding this comment.
"describing" -> "describes"
Kashu7100
reviewed
Aug 5, 2025
| ---- | ||
| Genesis currently processes MJCF as if it describing a single entity instead of an actual scene. This means that | ||
| there is a single gigantic kinematic chain comprising multiple physical kinematic chains connected together using | ||
| fee joints. The definition of kinematic chain has been stretched a bit to allow us. In particular, there must be |
Collaborator
There was a problem hiding this comment.
"connected together using fee joints" -> "connected by free joints"
Collaborator
There was a problem hiding this comment.
"to allow us" -> "to allow for this"
Kashu7100
approved these changes
Aug 5, 2025
| ---- | ||
| Genesis currently processes MJCF as if it describing a single entity instead of an actual scene. This means that | ||
| there is a single gigantic kinematic chain comprising multiple physical kinematic chains connected together using | ||
| fee joints. The definition of kinematic chain has been stretched a bit to allow us. In particular, there must be |
Collaborator
There was a problem hiding this comment.
"to allow us" -> "to allow for this"
6e72d55 to
68ed585
Compare
YilingQiao
pushed a commit
to YilingQiao/Genesis
that referenced
this pull request
Aug 22, 2025
Genesis-Embodied-AI#1499) * Make collision bitmask filter local to entity for MJCF morphs. * Fix broken 'RigidSolver.links_info.entity_idx'.
winnieyangwannan
pushed a commit
to winnieyangwannan/Genesis
that referenced
this pull request
Sep 14, 2025
Genesis-Embodied-AI#1499) * Make collision bitmask filter local to entity for MJCF morphs. * Fix broken 'RigidSolver.links_info.entity_idx'.
Kashu7100
pushed a commit
to Kashu7100/Genesis
that referenced
this pull request
Jan 26, 2026
Genesis-Embodied-AI#1499) * Make collision bitmask filter local to entity for MJCF morphs. * Fix broken 'RigidSolver.links_info.entity_idx'.
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
Add extra flag to only apply collision pairs filtering based on contype / conaffinity bitmasks locally (i.e. for geometries associated with the same entity), then enforcing this flag to True for MJCF morphs, False otherwise.
Motivation and Context
The collision bitmasks filters are ill-defined for MJCF, in a sense that they are dynamically generated, based on a the combination of some original bitmasks with an optional set of explicitly excluded collision pairs. Moreover, Mujoco does not allow loading multiple MJCF in the scene, nor does it allow to add additional entities manually afterward. This meanst that contype / conaffinity can be viewed as systemically "local". As a result, it would be error prone to use them to filter collision pairs among different MJCF entities. Still, it is relevant to have the ability to enable cross-entity contype / conaffinity for primitives and meshes, since it is perfectly well-defined in this case, and basically aligns with what is done within MJCF.
How Has This Been / Can This Be Tested?
Running the example script
examples/collision/contype.pyChecklist:
Submitting Code Changessection of CONTRIBUTING document.