unilab.envs.locomotion.common.terrain_spawn¶
Spawn-origin managers for locomotion envs.
BaseSpawnManager is a no-op default: every env spawns at the world origin
(plus the existing per-env xy jitter from the dr_provider). Used whenever the
env has no procedural terrain — flat scenes don’t need spatial separation
TerrainSpawnManager overrides this for terrain scenes: it indexes
terrain_origins[level, type_col] so each env spawns on a specific cell, and
optionally promotes/demotes level per-env on episode end. With
enabled=True levels start at 0; with enabled=False levels are uniformly
distributed and never change — but spawn still uses cell-aware xyz so robots
land on the correct surface height.
Classes
Default no-op spawn manager: returns zeros, records nothing. |
|
TerrainCurriculumCfg(enabled: 'bool' = False, promote_frac: 'float' = 0.5, demote_frac: 'float' = 0.25, cycle_top_frac: 'float' = 0.5, spawn_height_margin: 'float' = 0.05, seed: 'int | None' = None) |
|
- class unilab.envs.locomotion.common.terrain_spawn.BaseSpawnManager[source]¶
Bases:
objectDefault no-op spawn manager: returns zeros, records nothing.
- class unilab.envs.locomotion.common.terrain_spawn.TerrainCurriculumCfg[source]¶
Bases:
objectTerrainCurriculumCfg(enabled: ‘bool’ = False, promote_frac: ‘float’ = 0.5, demote_frac: ‘float’ = 0.25, cycle_top_frac: ‘float’ = 0.5, spawn_height_margin: ‘float’ = 0.05, seed: ‘int | None’ = None)
- Parameters:
- class unilab.envs.locomotion.common.terrain_spawn.TerrainSpawnManager[source]¶
Bases:
BaseSpawnManager- Parameters:
- __init__(num_envs, terrain_origins, cell_size, cfg, terrain_surface_sampler=None, spawn_height_points=None)[source]¶