Architecture overview#
How a registered --task becomes a runnable ManagerBasedRlEnvCfg. For the
layer model (MDP, robot, preset, task), start with Concepts.
Config pipeline#
Every task cfg is assembled in the same order:
make_base_wbc_env_cfg() # shared WBC template (env/wbc_env_cfg.py)
↓
<robot>_base_cfg() # registered robot entity
↓
apply_<preset>(...) # paper / deploy recipe (presets/*.py)
↓
[optional] apply_se_actor() # actor obs swap
↓
WbcTaskConfig.build_env_cfg # --task id
Preset ↔ task concepts: Presets and tasks. Code examples: Tasks and presets.
Task registration#
WbcTaskConfig (tasks/config.py) binds:
task_id→ CLI--taskrobot_id→ registered entity +data/<robot>/experiment_name→logs/rsl_rl/<name>/build_env_cfg→ full env cfg callable
Play / eval mode#
Task builders accept play=True to disable training-only features: long episodes,
obs corruption, motion DR, assistive wrench, push events. Same pattern for every
registered robot.