Skip to content

Commit c23f576

Browse files
committed
fix(config): restore current-task Motrix owners
1 parent 215341e commit c23f576

9 files changed

Lines changed: 281 additions & 13 deletions

File tree

‎docs/sphinx/source/en/5-reference/5-support_matrix.md‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -86,16 +86,16 @@ This table is derived from UniSim's SDK-free public static inventory. It describ
8686

8787
| Entrypoint | Task owner | MuJoCo | Motrix | Drake | mjwarp | Newton | SuperDex | Genesis |
8888
|------------|------------|---|---|---|---|---|---|---|
89-
| PPO (torch) | `go2_joystick_flat` (Go2 joystick) | Tested | Registered | Configured | - | - | Configured | - |
90-
| PPO (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Registered | - | Tested | Registered | - | Configured |
91-
| PPO (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Registered | - | Registered | Registered | - | Registered |
89+
| PPO (torch) | `go2_joystick_flat` (Go2 joystick) | Tested | Tested | Configured | - | - | Configured | - |
90+
| PPO (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Tested | - | Tested | Registered | - | Configured |
91+
| PPO (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Tested | - | Registered | Registered | - | Registered |
9292
| APPO (torch) | `go2_joystick_flat` (Go2 joystick) | Tested | Tested | Registered | - | - | Registered | - |
9393
| APPO (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Registered | - | Registered | Registered | - | Registered |
94-
| APPO (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Registered | - | Registered | Registered | - | Registered |
94+
| APPO (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Tested | - | Registered | Registered | - | Registered |
9595
| SAC (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Tested | - | Tested | Tested | - | Tested |
96-
| SAC (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Registered | - | Configured | Registered | - | Configured |
96+
| SAC (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Tested | - | Configured | Registered | - | Configured |
9797
| FlashSAC (torch) | `go2_joystick_flat` (Go2 joystick) | Tested | Registered | Registered | - | - | Registered | - |
98-
| FlashSAC (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Registered | - | Configured | Registered | - | Registered |
98+
| FlashSAC (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Tested | - | Configured | Registered | - | Registered |
9999
| FlashSAC (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Tested | - | Configured | Configured | - | Configured |
100100

101101
### Source Index

‎docs/sphinx/source/zh_CN/5-reference/5-support_matrix.md‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -77,16 +77,16 @@ uv run scripts/generate_support_matrix.py --write
7777

7878
| Entrypoint | Task owner | MuJoCo | Motrix | Drake | mjwarp | Newton | SuperDex | Genesis |
7979
|------------|------------|---|---|---|---|---|---|---|
80-
| PPO (torch) | `go2_joystick_flat` (Go2 joystick) | Tested | Registered | Configured | - | - | Configured | - |
81-
| PPO (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Registered | - | Tested | Registered | - | Configured |
82-
| PPO (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Registered | - | Registered | Registered | - | Registered |
80+
| PPO (torch) | `go2_joystick_flat` (Go2 joystick) | Tested | Tested | Configured | - | - | Configured | - |
81+
| PPO (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Tested | - | Tested | Registered | - | Configured |
82+
| PPO (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Tested | - | Registered | Registered | - | Registered |
8383
| APPO (torch) | `go2_joystick_flat` (Go2 joystick) | Tested | Tested | Registered | - | - | Registered | - |
8484
| APPO (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Registered | - | Registered | Registered | - | Registered |
85-
| APPO (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Registered | - | Registered | Registered | - | Registered |
85+
| APPO (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Tested | - | Registered | Registered | - | Registered |
8686
| SAC (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Tested | - | Tested | Tested | - | Tested |
87-
| SAC (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Registered | - | Configured | Registered | - | Configured |
87+
| SAC (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Tested | - | Configured | Registered | - | Configured |
8888
| FlashSAC (torch) | `go2_joystick_flat` (Go2 joystick) | Tested | Registered | Registered | - | - | Registered | - |
89-
| FlashSAC (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Registered | - | Configured | Registered | - | Registered |
89+
| FlashSAC (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Tested | - | Configured | Registered | - | Registered |
9090
| FlashSAC (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Tested | - | Configured | Configured | - | Configured |
9191

9292
### Source Index
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# @package _global_
2+
defaults:
3+
- /task/g1_motion_tracking/mujoco
4+
- _self_
5+
6+
training:
7+
task_name: G1MotionTracking
8+
sim_backend: motrix
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# @package _global_
2+
# FlashSAC Motrix owner: keeps the MuJoCo owner's FlashSAC algo identity while
3+
# adopting the Motrix-direction reward retuning; kp/kd randomization disabled.
4+
defaults:
5+
- /task/g1_walk_flat/base
6+
- _self_
7+
8+
training:
9+
task_name: G1WalkFlat
10+
sim_backend: motrix
11+
algo:
12+
num_envs: 4096
13+
learning_starts: 49
14+
max_iterations: 5000
15+
save_interval: 1000
16+
updates_per_step: 8
17+
replay_buffer_n: 256
18+
tau: 0.05
19+
env:
20+
events:
21+
# Legacy Motrix owners disable kp/kd randomization.
22+
pd_gains: null
23+
reward:
24+
tracking_lin_vel:
25+
weight: 2.2
26+
tracking_ang_vel:
27+
weight: 1.8
28+
penalty_ang_vel_xy:
29+
weight: -1.2
30+
penalty_orientation:
31+
weight: -12.0
32+
penalty_action_rate:
33+
weight: -2.5
34+
pose:
35+
weight: -0.6
36+
params:
37+
pose_weights: [0.01, 2.0, 5.0, 0.01, 5.0, 5.0, 0.01, 2.0, 5.0, 0.01, 5.0, 5.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0]
38+
penalty_feet_ori:
39+
weight: -5.0
40+
feet_phase:
41+
weight: 6.0
42+
params:
43+
tracking_sigma: 0.008
44+
alive:
45+
weight: 12.0
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# @package _global_
2+
defaults:
3+
- /task/g1_motion_tracking/mujoco
4+
- _self_
5+
6+
training:
7+
task_name: G1MotionTracking
8+
sim_backend: motrix
9+
play_env_num: 16
10+
11+
reward:
12+
motion_global_root_pos:
13+
weight: 1.0
14+
action_rate_l2:
15+
weight: -0.05
16+
undesired_contacts:
17+
func: unilab.tasks.motion_tracking.common.manager_terms.undesired_body_contacts
18+
weight: -0.1
19+
params:
20+
command_name: motion
21+
threshold: 0.05
22+
body_names:
23+
- pelvis
24+
- left_hip_roll_link
25+
- left_knee_link
26+
- right_hip_roll_link
27+
- right_knee_link
28+
- torso_link
29+
- left_shoulder_roll_link
30+
- left_elbow_link
31+
- right_shoulder_roll_link
32+
- right_elbow_link
33+
34+
play_profile:
35+
enabled: true
36+
env:
37+
render_spacing: 2.5
Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
# @package _global_
2+
# Motrix owner: inherits the shared 29-DoF flat Manager-Based contract from
3+
# base.yaml, then overrides contract fields for Motrix-specific tuning
4+
# (intentionally non-transferable from MuJoCo; drop overrides to restore parity).
5+
defaults:
6+
- /task/g1_walk_flat/base
7+
- _self_
8+
9+
training:
10+
task_name: G1WalkFlat
11+
sim_backend: motrix
12+
algo:
13+
num_envs: 2048
14+
max_iterations: 2200
15+
obs_groups:
16+
actor:
17+
- policy
18+
critic:
19+
- critic
20+
actor:
21+
obs_normalization: true
22+
distribution_cfg:
23+
init_std: 0.5
24+
critic:
25+
obs_normalization: true
26+
algorithm:
27+
learning_rate: 3.0e-4
28+
entropy_coef: 5.0e-3
29+
env:
30+
actions:
31+
joint_pos:
32+
scale: 0.5
33+
commands:
34+
twist:
35+
ranges:
36+
lin_vel_x: [0.4, 0.7]
37+
lin_vel_y: [0.0, 0.0]
38+
ang_vel_z: [0.0, 0.0]
39+
events:
40+
# Legacy Motrix owners disable kp/kd randomization.
41+
pd_gains: null
42+
reset_root_state_uniform:
43+
params:
44+
velocity_range:
45+
x: [-0.05, 0.05]
46+
y: [-0.05, 0.05]
47+
z: [-0.05, 0.05]
48+
roll: [-0.05, 0.05]
49+
pitch: [-0.05, 0.05]
50+
yaw: [-0.05, 0.05]
51+
terminations:
52+
tilt:
53+
params:
54+
max_tilt_deg: 35.0
55+
base_height:
56+
params:
57+
minimum_height: 0.5
58+
reward:
59+
tracking_ang_vel:
60+
weight: 0.25
61+
forward_progress:
62+
func: unilab.tasks.locomotion.g1.manager_terms.forward_progress
63+
weight: 0.0
64+
params:
65+
command_name: twist
66+
under_speed:
67+
func: unilab.tasks.locomotion.g1.manager_terms.under_speed
68+
weight: -0.2
69+
params:
70+
command_name: twist
71+
upper_body_pose:
72+
func: unilab.tasks.locomotion.g1.manager_terms.upper_body_pose
73+
weight: -0.05
74+
params:
75+
pose_weights: [0.01, 1.0, 5.0, 0.01, 5.0, 5.0, 0.01, 1.0, 5.0, 0.01, 5.0, 5.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0]
76+
penalty_feet_ori:
77+
func: unilab.tasks.locomotion.g1.manager_terms.penalty_feet_ori
78+
weight: 0.0
79+
feet_phase:
80+
weight: 1.2
81+
params:
82+
min_forward_speed: 0.05
83+
feet_phase_contrast:
84+
func: unilab.tasks.locomotion.g1.manager_terms.feet_phase_contrast
85+
weight: 1.5
86+
params:
87+
frequency: 1.5
88+
swing_height: 0.09
89+
tracking_sigma: 0.008
90+
min_forward_speed: 0.05
91+
command_name: twist
92+
feet_phase_contact:
93+
func: unilab.tasks.locomotion.g1.manager_terms.feet_phase_contact
94+
weight: 1.0
95+
params:
96+
frequency: 1.5
97+
swing_height: 0.09
98+
tracking_sigma: 0.008
99+
min_forward_speed: 0.05
100+
command_name: twist
101+
feet_double_stance:
102+
func: unilab.tasks.locomotion.g1.manager_terms.feet_double_stance
103+
weight: -1.0
104+
params:
105+
frequency: 1.5
106+
swing_height: 0.09
107+
tracking_sigma: 0.008
108+
min_forward_speed: 0.05
109+
command_name: twist
110+
ang_vel_xy:
111+
weight: -0.2
112+
base_height:
113+
weight: -120.0
114+
params:
115+
target_height: 0.765
116+
orientation:
117+
weight: -2.5
118+
action_rate:
119+
weight: -0.005
120+
pose:
121+
weight: -0.05
122+
play_profile:
123+
enabled: true
124+
env:
125+
render_spacing: 2.0
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# @package _global_
2+
defaults:
3+
- /task/go2_joystick_flat/base
4+
- _self_
5+
6+
training:
7+
task_name: Go2JoystickFlat
8+
sim_backend: motrix
9+
algo:
10+
num_envs: 1024
11+
max_iterations: 151
12+
obs_groups:
13+
actor:
14+
- actor
15+
critic:
16+
- critic
17+
actor:
18+
obs_normalization: true
19+
distribution_cfg:
20+
init_std: 0.5
21+
critic:
22+
obs_normalization: true
23+
algorithm:
24+
learning_rate: 3.0e-4
25+
entropy_coef: 1.0e-3
26+
env:
27+
commands:
28+
twist:
29+
ranges:
30+
lin_vel_x: [0.5, 0.5]
31+
lin_vel_y: [0.0, 0.0]
32+
ang_vel_z: [0.0, 0.0]
33+
events:
34+
pd_gains: null
35+
play_profile:
36+
enabled: true
37+
env:
38+
render_spacing: 2.0
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# @package _global_
2+
# Motrix mirrors the MuJoCo WBT training DR within its supported capability
3+
# set. Root velocity pushes are unsupported by Motrix and stay disabled.
4+
defaults:
5+
- /task/g1_motion_tracking/mujoco
6+
- _self_
7+
8+
training:
9+
task_name: G1MotionTrackingSAC
10+
sim_backend: motrix
11+
env:
12+
events:
13+
push_robot: null

‎tests/scripts/test_support_matrix.py‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,9 @@ def test_support_matrix_marks_go2_ppo_backends_as_tested():
8686

8787
assert row.cells["mujoco"].level == EvidenceLevel.TESTED
8888
assert row.cells["mjwarp"].level == EvidenceLevel.MISSING
89-
assert row.cells["motrix"].level is EvidenceLevel.REGISTERED
89+
# Restoring the pre-shelving owner restores its prior generated grade:
90+
# generic config coverage promotes configured Motrix owners to Tested.
91+
assert row.cells["motrix"].level is EvidenceLevel.TESTED
9092
appo_row = _row("APPO (torch)", "go2_joystick_flat")
9193
assert appo_row.cells["motrix"].level is EvidenceLevel.TESTED
9294

0 commit comments

Comments
 (0)