Presets and tasks#

Two names, two roles:

Idea

Meaning

Preset

Reusable recipeapply_*(cfg) mutates an existing env cfg in place

Task

Registered CLI name for one robot + preset stack (--task Wbc-…)

Presets are not separate environments. They reweight motion_* rewards, swap RsiCfg strategy, drop or swap modular reference observation terms (ref_*), or toggle termination thresholds on slots already defined in make_base_wbc_env_cfg(). Different papers use different reference/proprio layouts — presets encode those choices without forking MDP code; see Observations.

Tasks add registration: task_id, robot_id, experiment_name, and a build_env_cfg callable that wires robot + preset(s).

preset  = apply_zest(cfg, reward_body_names=..., ...)
task    = WbcTaskConfig(task_id="Wbc-…", build_env_cfg=builder_that_calls_preset)

Same preset, many robots#

apply_wbc is robot-agnostic — the task builder passes body name tuples from the robot entity. The in-tree g1 reference and extension robots (e.g. H2) can share the same preset with different constants.

Same robot, many tasks#

One robot entity can expose multiple tasks by stacking different presets:

  • apply_wbc → default WBC

  • apply_zest → paper reproduction

  • apply_wbc + apply_se_actor → state-estimation actor obs

Compose presets in order: base cfg → primary preset → optional obs/IMU tweaks.

Neutral code, cited methods#

Presets use generic RSI names (similarity_ema, binary_failure). Paper labels (ZEST, BeyondMimic, …) live in docs and task descriptions — see Research & citations.

Reference#

Preset list, apply_zest walkthrough, in-tree task catalog, and comparison tables: Tasks and presets. Live signatures: Presets, Env and task registry.