Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refines collision groups further based on asset's settings #1328

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

Mayankm96
Copy link
Contributor

@Mayankm96 Mayankm96 commented Oct 29, 2024

Description

Previously, we supported only two types of collision groups for an asset:

  • -1: global collision group (collides with all assets in the scene)
  • 0: local collision group (collides with other assets in the same environment)

However, in some cases (for instance, dynamic obstacles), you may want to further refine the collisions within the same environment.

This MR implements the filter collision function in the interactive scene to handle this case.

The implementation is far from perfect. Would be great to discuss this further and make it cover more cases.

Type of change

  • New feature (non-breaking change which adds functionality)

Checklist

  • I have run the pre-commit checks with ./isaaclab.sh --format
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have updated the changelog and the corresponding version in the extension's config/extension.toml file
  • I have added my name to the CONTRIBUTORS.md or my name already exists there

for prim_path_expr in prim_path_exprs:
prim_paths += sim_utils.find_matching_prim_paths(prim_path_expr)
else:
prim_paths = self.env_prim_paths
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a new feature from physics that will let us do the environment collision filtering automatically through physics replication. we should probably think about how to incorporate this with the collision group logic.

asset_paths = sim_utils.find_matching_prim_paths(asset_cfg.prim_path)
self._global_prim_paths += asset_paths

# store prims in collision groups
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

might make sense to do the collision group creation separately so that we can also use this for the direct workflow?

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.

2 participants