Default WBC stack#
Task id: Wbc-G1 · In-tree reference on robot g1.
Default WBC + deploy stack — ZEST Table S4 tracking on all motion keybodies, reward-aligned RSI, deploy-style actor obs.
Preset:
apply_wbc(presets/wbc.py) — see Tasks and presetsBuilder:
g1_wbc_env_cfg()=g1_base_cfg()+apply_wbc(...)Paper link: ZEST Table S4 (with deploy extras) — arXiv:2602.00401
What this task changes#
Rewards#
Table S4 on all 14 motion keybodies (
G1_MOTION_BODY_NAMESin core)Extra:
motion_body_lin_vel/motion_body_ang_vel@ 0.5motion_joint_vel,foot_slip,angular_momentum@ 0Regularizers:
survival1.0,action_rate_l1−0.1,joint_acc−5e−6,joint_limit−1.0,actuator_torque_soft_limit−0.1
RSI#
Reward-aligned similarity_ema — RSI (reference-state initialization).
Terminations#
anchor_posz 0.35ee_body_posz-only on ankles + wrists (0.25)keybody_ground_contact_force> 2000 N
Actor observations#
Removes
ref_joint_vel(deploy-style)
Dim rules and preset deltas: Observations.
Train & play#
uv run wbc-mjlab-train --task Wbc-G1 --dataset samples
uv run wbc-mjlab-train --robot g1 --dataset samples # shorthand
uv run wbc-mjlab-play --task Wbc-G1 --dataset samples --viewer viser
Logs: logs/rsl_rl/wbc_g1/<run>/ · params/policy.onnx · params/config.yaml
Tips#
Best starting point for multi-clip training and hardware deploy export.
Compare against ZEST reproduction for ZEST paper repro (4 EE bodies, no EE-z term).
Add
--cache-motion-bundleon train/play for faster restarts.See Deploy export for export handoff.