Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Environment Configuration — Parallelism

Set the number of environments, choose their spacing, then choose whether they share scenery and position.

1. Set the number of environments

env.num_envs overrides env.scene.num_envs:

srb agent rand -e _manipulation env.scene.num_envs=16
srb agent zero -e _manipulation env.num_envs=128

Environments share one batched DirectEnv; cross-environment collisions are filtered.

2. Set environment spacing

Visual sensor isolation has not been established. Spacing alone does not guarantee cameras cannot see another environment.

env.spacing, when set, supplies env.scene.env_spacing; otherwise the scene default is used:

srb agent rand -e _manipulation env.num_envs=64 env.scene.env_spacing=20.0
srb agent rand -e _manipulation env.num_envs=32 env.spacing=10.0

If env.stack=true, spacing is forced to 0.0.

3. Choose environment stacking

env.stack controls whether environments share scenery and position:

ValueEffect
falseIndependent scenes and positions; greater diversity, initialization cost, and memory use.
trueShared scenery and position; faster initialization and lower memory use, but less diversity.

With particles and multiple environments, SRB forces env.stack=false and logs a warning.

srb agent rand -e _manipulation env.num_envs=16 env.stack=true

Note: These registered task IDs default to env.stack=true: excavation_demo, lunalab, velocity_tracking, locomotion_velocity_tracking, waypoint_navigation, locomotion_waypoint_navigation, orbital_waypoint_navigation, formation_following, formation_following_decentralized, formation_following_orbital, moonfall, traversal, and landing. Stacking shares scenery and forces spacing to zero, so pass env.stack=false for visual observations or independent scenery, for example:

srb agent train --algo dreamer --env waypoint_navigation \
  env.num_envs=64 env.stack=false