Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions docs/sphinx/source/en/5-reference/5-support_matrix.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,16 +86,16 @@ This table is derived from UniSim's SDK-free public static inventory. It describ

| Entrypoint | Task owner | MuJoCo | Motrix | Drake | mjwarp | Newton | SuperDex | Genesis |
|------------|------------|---|---|---|---|---|---|---|
| PPO (torch) | `go2_joystick_flat` (Go2 joystick) | Tested | Registered | Configured | - | - | Configured | - |
| PPO (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Registered | - | Tested | Registered | - | Configured |
| PPO (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Registered | - | Registered | Registered | - | Registered |
| PPO (torch) | `go2_joystick_flat` (Go2 joystick) | Tested | Tested | Configured | - | - | Configured | - |
| PPO (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Tested | - | Tested | Registered | - | Configured |
| PPO (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Tested | - | Registered | Registered | - | Registered |
| APPO (torch) | `go2_joystick_flat` (Go2 joystick) | Tested | Tested | Registered | - | - | Registered | - |
| APPO (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Registered | - | Registered | Registered | - | Registered |
| APPO (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Registered | - | Registered | Registered | - | Registered |
| APPO (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Tested | - | Registered | Registered | - | Registered |
| SAC (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Tested | - | Tested | Tested | - | Tested |
| SAC (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Registered | - | Configured | Registered | - | Configured |
| SAC (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Tested | - | Configured | Registered | - | Configured |
| FlashSAC (torch) | `go2_joystick_flat` (Go2 joystick) | Tested | Registered | Registered | - | - | Registered | - |
| FlashSAC (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Registered | - | Configured | Registered | - | Registered |
| FlashSAC (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Tested | - | Configured | Registered | - | Registered |
| FlashSAC (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Tested | - | Configured | Configured | - | Configured |

### Source Index
Expand Down
12 changes: 6 additions & 6 deletions docs/sphinx/source/zh_CN/5-reference/5-support_matrix.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,16 +77,16 @@ uv run scripts/generate_support_matrix.py --write

| Entrypoint | Task owner | MuJoCo | Motrix | Drake | mjwarp | Newton | SuperDex | Genesis |
|------------|------------|---|---|---|---|---|---|---|
| PPO (torch) | `go2_joystick_flat` (Go2 joystick) | Tested | Registered | Configured | - | - | Configured | - |
| PPO (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Registered | - | Tested | Registered | - | Configured |
| PPO (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Registered | - | Registered | Registered | - | Registered |
| PPO (torch) | `go2_joystick_flat` (Go2 joystick) | Tested | Tested | Configured | - | - | Configured | - |
| PPO (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Tested | - | Tested | Registered | - | Configured |
| PPO (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Tested | - | Registered | Registered | - | Registered |
| APPO (torch) | `go2_joystick_flat` (Go2 joystick) | Tested | Tested | Registered | - | - | Registered | - |
| APPO (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Registered | - | Registered | Registered | - | Registered |
| APPO (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Registered | - | Registered | Registered | - | Registered |
| APPO (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Tested | - | Registered | Registered | - | Registered |
| SAC (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Tested | - | Tested | Tested | - | Tested |
| SAC (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Registered | - | Configured | Registered | - | Configured |
| SAC (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Tested | - | Configured | Registered | - | Configured |
| FlashSAC (torch) | `go2_joystick_flat` (Go2 joystick) | Tested | Registered | Registered | - | - | Registered | - |
| FlashSAC (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Registered | - | Configured | Registered | - | Registered |
| FlashSAC (torch) | `g1_walk_flat` (G1 walk flat) | Tested | Tested | - | Configured | Registered | - | Registered |
| FlashSAC (torch) | `g1_motion_tracking` (G1 motion tracking) | Tested | Tested | - | Configured | Configured | - | Configured |

### Source Index
Expand Down
8 changes: 8 additions & 0 deletions src/unilab/conf/appo/task/g1_motion_tracking/motrix.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# @package _global_
defaults:
- /task/g1_motion_tracking/mujoco
- _self_

training:
task_name: G1MotionTracking
sim_backend: motrix
45 changes: 45 additions & 0 deletions src/unilab/conf/flashsac/task/g1_walk_flat/motrix.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# @package _global_
# FlashSAC Motrix owner: keeps the MuJoCo owner's FlashSAC algo identity while
# adopting the Motrix-direction reward retuning; kp/kd randomization disabled.
defaults:
- /task/g1_walk_flat/base
- _self_

training:
task_name: G1WalkFlat
sim_backend: motrix
algo:
num_envs: 4096
learning_starts: 49
max_iterations: 5000
save_interval: 1000
updates_per_step: 8
replay_buffer_n: 256
tau: 0.05
env:
events:
# Legacy Motrix owners disable kp/kd randomization.
pd_gains: null
reward:
tracking_lin_vel:
weight: 2.2
tracking_ang_vel:
weight: 1.8
penalty_ang_vel_xy:
weight: -1.2
penalty_orientation:
weight: -12.0
penalty_action_rate:
weight: -2.5
pose:
weight: -0.6
params:
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]
penalty_feet_ori:
weight: -5.0
feet_phase:
weight: 6.0
params:
tracking_sigma: 0.008
alive:
weight: 12.0
37 changes: 37 additions & 0 deletions src/unilab/conf/ppo/task/g1_motion_tracking/motrix.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# @package _global_
defaults:
- /task/g1_motion_tracking/mujoco
- _self_

training:
task_name: G1MotionTracking
sim_backend: motrix
play_env_num: 16

reward:
motion_global_root_pos:
weight: 1.0
action_rate_l2:
weight: -0.05
undesired_contacts:
func: unilab.tasks.motion_tracking.common.manager_terms.undesired_body_contacts
weight: -0.1
params:
command_name: motion
threshold: 0.05
body_names:
- pelvis
- left_hip_roll_link
- left_knee_link
- right_hip_roll_link
- right_knee_link
- torso_link
- left_shoulder_roll_link
- left_elbow_link
- right_shoulder_roll_link
- right_elbow_link

play_profile:
enabled: true
env:
render_spacing: 2.5
125 changes: 125 additions & 0 deletions src/unilab/conf/ppo/task/g1_walk_flat/motrix.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
# @package _global_
# Motrix owner: inherits the shared 29-DoF flat Manager-Based contract from
# base.yaml, then overrides contract fields for Motrix-specific tuning
# (intentionally non-transferable from MuJoCo; drop overrides to restore parity).
defaults:
- /task/g1_walk_flat/base
- _self_

training:
task_name: G1WalkFlat
sim_backend: motrix
algo:
num_envs: 2048
max_iterations: 2200
obs_groups:
actor:
- policy
critic:
- critic
actor:
obs_normalization: true
distribution_cfg:
init_std: 0.5
critic:
obs_normalization: true
algorithm:
learning_rate: 3.0e-4
entropy_coef: 5.0e-3
env:
actions:
joint_pos:
scale: 0.5
commands:
twist:
ranges:
lin_vel_x: [0.4, 0.7]
lin_vel_y: [0.0, 0.0]
ang_vel_z: [0.0, 0.0]
events:
# Legacy Motrix owners disable kp/kd randomization.
pd_gains: null
reset_root_state_uniform:
params:
velocity_range:
x: [-0.05, 0.05]
y: [-0.05, 0.05]
z: [-0.05, 0.05]
roll: [-0.05, 0.05]
pitch: [-0.05, 0.05]
yaw: [-0.05, 0.05]
terminations:
tilt:
params:
max_tilt_deg: 35.0
base_height:
params:
minimum_height: 0.5
reward:
tracking_ang_vel:
weight: 0.25
forward_progress:
func: unilab.tasks.locomotion.g1.manager_terms.forward_progress
weight: 0.0
params:
command_name: twist
under_speed:
func: unilab.tasks.locomotion.g1.manager_terms.under_speed
weight: -0.2
params:
command_name: twist
upper_body_pose:
func: unilab.tasks.locomotion.g1.manager_terms.upper_body_pose
weight: -0.05
params:
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]
penalty_feet_ori:
func: unilab.tasks.locomotion.g1.manager_terms.penalty_feet_ori
weight: 0.0
feet_phase:
weight: 1.2
params:
min_forward_speed: 0.05
feet_phase_contrast:
func: unilab.tasks.locomotion.g1.manager_terms.feet_phase_contrast
weight: 1.5
params:
frequency: 1.5
swing_height: 0.09
tracking_sigma: 0.008
min_forward_speed: 0.05
command_name: twist
feet_phase_contact:
func: unilab.tasks.locomotion.g1.manager_terms.feet_phase_contact
weight: 1.0
params:
frequency: 1.5
swing_height: 0.09
tracking_sigma: 0.008
min_forward_speed: 0.05
command_name: twist
feet_double_stance:
func: unilab.tasks.locomotion.g1.manager_terms.feet_double_stance
weight: -1.0
params:
frequency: 1.5
swing_height: 0.09
tracking_sigma: 0.008
min_forward_speed: 0.05
command_name: twist
ang_vel_xy:
weight: -0.2
base_height:
weight: -120.0
params:
target_height: 0.765
orientation:
weight: -2.5
action_rate:
weight: -0.005
pose:
weight: -0.05
play_profile:
enabled: true
env:
render_spacing: 2.0
38 changes: 38 additions & 0 deletions src/unilab/conf/ppo/task/go2_joystick_flat/motrix.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# @package _global_
defaults:
- /task/go2_joystick_flat/base
- _self_

training:
task_name: Go2JoystickFlat
sim_backend: motrix
algo:
num_envs: 1024
max_iterations: 151
obs_groups:
actor:
- actor
critic:
- critic
actor:
obs_normalization: true
distribution_cfg:
init_std: 0.5
critic:
obs_normalization: true
algorithm:
learning_rate: 3.0e-4
entropy_coef: 1.0e-3
env:
commands:
twist:
ranges:
lin_vel_x: [0.5, 0.5]
lin_vel_y: [0.0, 0.0]
ang_vel_z: [0.0, 0.0]
events:
pd_gains: null
play_profile:
enabled: true
env:
render_spacing: 2.0
13 changes: 13 additions & 0 deletions src/unilab/conf/sac/task/g1_motion_tracking/motrix.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# @package _global_
# Motrix mirrors the MuJoCo WBT training DR within its supported capability
# set. Root velocity pushes are unsupported by Motrix and stay disabled.
defaults:
- /task/g1_motion_tracking/mujoco
- _self_

training:
task_name: G1MotionTrackingSAC
sim_backend: motrix
env:
events:
push_robot: null
4 changes: 3 additions & 1 deletion tests/scripts/test_support_matrix.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,9 @@ def test_support_matrix_marks_go2_ppo_backends_as_tested():

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

Expand Down
Loading