Skip to content

[Question] How to filter collisions between multiple robots within a single environment in IsaacLab? #2540

@RyuuChou17

Description

@RyuuChou17

How to filter collisions between multiple robots within a single environment in IsaacLab?

I am currently trying to simulate multiple robots with different topologies. Firstly, I planned to spawn them in separate environments. However, according to the documentation, the MultiUsdFileCfg class only supports robots with the same topology (i.e., the same number of links and joints), which makes that approach unsuitable for my case.

As a workaround, I decided to spawn multiple robots in a single local environment. However, I want to ensure that the robots do not physically collide with each other during the simulation.

I came across the collision_group in ArticulationCfg, which controls whether collisions are checked within the local environment or globally. However, it does not seem to provide a fine-grained way to filter collisions between different robots.

I also looked into disabling collisions entirely using the collision_enabled option in CollisionPropertiesCfg, but that causes the robot to fall through the terrain, which is not acceptable.

Is there any way to selectively filter or mask collisions between different robots in the same environment, while still allowing each robot to interact with the terrain normally?

If there is currently no proper way to achieve this, a possible improvement might be to modify the collision_group so that collisions are only checked between objects that share the same collision group.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions