Skip to content

feat (environment): Swarm Covering Environment #273

Description

@zombie-einstein

I was looking at implementing an environment similar to this one from petting-zoo (which itself I believe is taken from an older OpenAI multi-agent env library) where a team of agents have to simultaneously cover (i.e. come within a certain range of) a set of targets (of the same size) whilst not colliding.

It should be possible to reuse some of the existing code from the search-and-rescue environment such as the agent local visualisation and matching agents to targets (the main difference between this and search-and-rescue is that the targets are fully visible and need to be continually covered instead of only found once).

  • State: A 2d space with a set of targets distributed across the space, and a set of agents with position updated each step according to their velocity. Targets can be in an uncovered/covered state if an agent is within a fixed range of them.
  • Rewards: In the original implementation they use a distance based rewards between agents and targets, but there's a couple other options that could be considered:
    • Shared rewards based on the fraction of covered targets
    • Individual rewards when an agent covers a target, that are divided if agent are covering the same target.
    • Sparse rewards awarded when the agents succeed in covering all the targets.
  • Actions: Agents individually update their velocity. In contrast to the search-and-rescue I was looking into a simplified drone/quadcopter type flight model, i.e. agent pitch/roll/rotate with some momentum (but in 2d space).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions