Principle:Google deepmind Dm control Team Configuration
| Metadata | |
|---|---|
| Knowledge Sources | dm_control |
| Domains | Multi-Agent Reinforcement Learning, Robotics Simulation |
| Last Updated | 2026-02-15 00:00 GMT |
Overview
Team configuration is the principle of organising autonomous agents into opposing groups with distinct identities and morphologies so that a multi-agent competitive task can be defined and trained.
Description
In multi-agent environments that model team-based competition, each participant must be assigned to a team and given a physical embodiment (walker). Team configuration addresses three concerns:
- Team assignment -- Every agent is labelled with a team identifier (e.g. HOME or AWAY) so that reward signals, observations, and game logic can distinguish allies from opponents.
- Walker morphology selection -- Each agent is instantiated with a particular body type. Different morphologies (a simple sphere-based boxhead, a multi-legged ant, or a full humanoid) present different locomotion challenges and action-space dimensionalities.
- Visual differentiation -- Agents on different teams are rendered with distinct colours (e.g. blue for home, red for away) so that both the learning algorithm's observations and human viewers can tell teams apart.
The configuration step is performed once before the environment is compiled. After configuration, the resulting list of players is handed to the task and arena, which wire up physics contacts, observations, and reward logic.
Usage
Team configuration is used whenever a practitioner needs to:
- Set up a symmetric N-versus-N competitive match.
- Experiment with heterogeneous teams (mixing walker types).
- Scale the number of players per side to study emergent cooperative behaviour.
Theoretical Basis
Team configuration is conceptually equivalent to defining the agent population in a multi-agent Markov game. Formally, a team-based competitive environment is specified by:
Given:
N -- number of players per team
W -- walker morphology type
C_home -- RGBA colour for the home team
C_away -- RGBA colour for the away team
For i in 1..N:
home_walker_i = instantiate_walker(name="home_i", colour=C_home, type=W)
away_walker_i = instantiate_walker(name="away_i", colour=C_away, type=W)
players = [Player(HOME, home_walker_i) for i in 1..N]
+ [Player(AWAY, away_walker_i) for i in 1..N]
The resulting players list defines a 2N-agent system where each agent's action space is determined by its walker morphology and each agent's team label determines the sign of its reward.