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
16 changes: 16 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ docs/superpowers/
# Motion assets (downloaded from HF at runtime)
src/unilab/assets/motions/g1/*.npz
src/unilab/assets/motions/g1/*.csv
src/unilab/assets/motions/g1/**/*.npz
src/unilab/assets/motions/g1/**/*.csv
src/unilab/assets/motions/g1/flip
src/unilab/assets/motions/g1/flip_npz
src/unilab/assets/motions/x2/*.npz
Expand Down Expand Up @@ -101,3 +103,17 @@ src/unilab/assets/checkpoints/**/*.onnx

# Backend temp XML emitted next to robot.xml (motrix/mujoco scene materialization)
src/unilab/assets/robots/**/tmp*.xml

# Training artifacts (curves, videos, screenshots)
val/

# Agent working directory (not committed)
.sisyphus/

# Internal planning docs (not for upstream)
G1_23DOF_INIT.md
G1_23DOF_PR_CHECKLIST.md
APPO_HARDWARE_TIMING_ANALYSIS.md

# Training log artifacts (checkpoints, ONNX exports)
log/
65 changes: 65 additions & 0 deletions conf/appo/task/g1_23dof_climb_tracking/motrix.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# @package _global_
training:
task_name: G1ClimbTracking23Dof
sim_backend: motrix
play_steps: 1000
algo:
num_envs: 1024
max_iterations: 20000
save_interval: 500
env:
sampling_mode: adaptive
truncate_on_clip_end: false
sim_dt: 0.005
control_config:
action_scale:
- 0.5475464629911068
- 0.35066146637882434
- 0.5475464629911068
- 0.35066146637882434
- 0.43857731392336724
- 0.43857731392336724
- 0.5475464629911068
- 0.35066146637882434
- 0.5475464629911068
- 0.35066146637882434
- 0.43857731392336724
- 0.43857731392336724
- 0.5475464629911068
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
anchor_pos_z_threshold: 0.3
ee_body_pos_z_threshold: 0.3
terminate_on_undesired_contacts: true
noise_config:
level: 0.0
reward:
scales:
motion_global_root_pos: 0.5
motion_global_root_ori: 0.5
motion_body_pos: 2.0
motion_body_ori: 1.5
motion_body_lin_vel: 1.0
motion_body_ang_vel: 1.0
motion_ee_body_pos_z: 2.0
motion_joint_pos: 0.5
motion_joint_vel: 0.25
action_rate_l2: -0.005
joint_limit: -10.0
undesired_contacts: -0.1
std_root_pos: 0.3
std_root_ori: 0.4
std_body_pos: 0.3
std_body_ori: 0.4
std_body_lin_vel: 1.0
std_body_ang_vel: 3.14
std_joint_pos: 0.2
std_joint_vel: 1.0
65 changes: 65 additions & 0 deletions conf/appo/task/g1_23dof_climb_tracking/mujoco.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# @package _global_
training:
task_name: G1ClimbTracking23Dof
sim_backend: mujoco
play_steps: 1000
algo:
num_envs: 1024
max_iterations: 20000
save_interval: 500
env:
sampling_mode: adaptive
truncate_on_clip_end: false
sim_dt: 0.005
control_config:
action_scale:
- 0.5475464629911068
- 0.35066146637882434
- 0.5475464629911068
- 0.35066146637882434
- 0.43857731392336724
- 0.43857731392336724
- 0.5475464629911068
- 0.35066146637882434
- 0.5475464629911068
- 0.35066146637882434
- 0.43857731392336724
- 0.43857731392336724
- 0.5475464629911068
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
anchor_pos_z_threshold: 0.3
ee_body_pos_z_threshold: 0.3
terminate_on_undesired_contacts: true
noise_config:
level: 0.0
reward:
scales:
motion_global_root_pos: 0.5
motion_global_root_ori: 0.5
motion_body_pos: 2.0
motion_body_ori: 1.5
motion_body_lin_vel: 1.0
motion_body_ang_vel: 1.0
motion_ee_body_pos_z: 2.0
motion_joint_pos: 0.5
motion_joint_vel: 0.25
action_rate_l2: -0.005
joint_limit: -10.0
undesired_contacts: -0.1
std_root_pos: 0.3
std_root_ori: 0.4
std_body_pos: 0.3
std_body_ori: 0.4
std_body_lin_vel: 1.0
std_body_ang_vel: 3.14
std_joint_pos: 0.2
std_joint_vel: 1.0
86 changes: 86 additions & 0 deletions conf/appo/task/g1_23dof_flip_tracking/motrix.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# @package _global_
training:
task_name: G1FlipTracking23Dof
sim_backend: motrix
play_steps: 1000
algo:
num_envs: 1024
steps_per_env: 24
max_iterations: 3500
save_interval: 500
algorithm:
num_learning_epochs: 10
num_mini_batches: 8
clip_param: 0.2
gamma: 0.99
lam: 0.95
value_loss_coef: 1.0
entropy_coef: 0.005
learning_rate: 1.0e-3
max_grad_norm: 1.0
use_clipped_value_loss: true
schedule: adaptive
desired_kl: 0.01
adaptive_kl_factor: 2.0
adaptive_lr_factor: 1.5
optimizer: adam
tau: 1.0
target_update_freq: 1
vtrace_clip_rho: 1.0
vtrace_clip_c: 1.0
enable_compile: true
env:
sampling_mode: start
truncate_on_clip_end: true
sim_dt: 0.005
control_config:
action_scale:
- 0.5475464629911068
- 0.35066146637882434
- 0.5475464629911068
- 0.35066146637882434
- 0.43857731392336724
- 0.43857731392336724
- 0.5475464629911068
- 0.35066146637882434
- 0.5475464629911068
- 0.35066146637882434
- 0.43857731392336724
- 0.43857731392336724
- 0.5475464629911068
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
anchor_pos_z_threshold: 0.5
ee_body_pos_z_threshold: 0.5
terminate_on_undesired_contacts: true
noise_config:
level: 0.0
reward:
scales:
motion_global_root_pos: 0.5
motion_global_root_ori: 0.5
motion_body_pos: 2.0
motion_body_ori: 1.5
motion_body_lin_vel: 1.0
motion_body_ang_vel: 1.0
motion_ee_body_pos_z: 2.0
motion_joint_pos: 0.0
motion_joint_vel: 0.0
action_rate_l2: -0.005
joint_limit: -10.0
std_root_pos: 0.3
std_root_ori: 0.4
std_body_pos: 0.3
std_body_ori: 0.4
std_body_lin_vel: 1.0
std_body_ang_vel: 3.14
std_joint_pos: 0.2
std_joint_vel: 1.0
70 changes: 70 additions & 0 deletions conf/appo/task/g1_23dof_flip_tracking/mujoco.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# @package _global_
training:
task_name: G1FlipTracking23Dof
sim_backend: mujoco
play_steps: 1000
algo:
num_envs: 1024
steps_per_env: 24
max_iterations: 3500
save_interval: 500
algorithm:
entropy_coef: 0.005
num_learning_epochs: 10
num_mini_batches: 8
desired_kl: 0.01
env:
sampling_mode: start
truncate_on_clip_end: true
sim_dt: 0.005
control_config:
action_scale:
- 0.5475464629911068
- 0.35066146637882434
- 0.5475464629911068
- 0.35066146637882434
- 0.43857731392336724
- 0.43857731392336724
- 0.5475464629911068
- 0.35066146637882434
- 0.5475464629911068
- 0.35066146637882434
- 0.43857731392336724
- 0.43857731392336724
- 0.5475464629911068
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
- 0.43857731392336724
anchor_pos_z_threshold: 0.5
ee_body_pos_z_threshold: 0.5
terminate_on_undesired_contacts: true
noise_config:
level: 0.0
reward:
scales:
motion_global_root_pos: 0.5
motion_global_root_ori: 0.5
motion_body_pos: 2.0
motion_body_ori: 1.5
motion_body_lin_vel: 1.0
motion_body_ang_vel: 1.0
motion_ee_body_pos_z: 2.0
motion_joint_pos: 0.0
motion_joint_vel: 0.0
action_rate_l2: -0.005
joint_limit: -10.0
std_root_pos: 0.3
std_root_ori: 0.4
std_body_pos: 0.3
std_body_ori: 0.4
std_body_lin_vel: 1.0
std_body_ang_vel: 3.14
std_joint_pos: 0.2
std_joint_vel: 1.0
29 changes: 29 additions & 0 deletions conf/appo/task/g1_23dof_motion_tracking/motrix.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# @package _global_
training:
task_name: G1MotionTracking23Dof
sim_backend: motrix
play_steps: 1000
algo:
num_envs: 1024
max_iterations: 5000
save_interval: 500
reward:
scales:
motion_global_root_pos: 0.5
motion_global_root_ori: 0.5
motion_body_pos: 1.0
motion_body_ori: 1.0
motion_body_lin_vel: 1.0
motion_body_ang_vel: 1.0
motion_joint_pos: 0.0
motion_joint_vel: 0.0
action_rate_l2: -0.1
joint_limit: -10.0
std_root_pos: 0.3
std_root_ori: 0.4
std_body_pos: 0.3
std_body_ori: 0.4
std_body_lin_vel: 1.0
std_body_ang_vel: 3.14
std_joint_pos: 0.2
std_joint_vel: 1.0
32 changes: 32 additions & 0 deletions conf/appo/task/g1_23dof_motion_tracking/mujoco.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# @package _global_
training:
task_name: G1MotionTracking23Dof
sim_backend: mujoco
play_steps: 1000
algo:
num_envs: 1024
max_iterations: 5000
save_interval: 500
algorithm:
adaptive_kl_factor: 2.0
adaptive_lr_factor: 1.5
reward:
scales:
motion_global_root_pos: 0.5
motion_global_root_ori: 0.5
motion_body_pos: 1.0
motion_body_ori: 1.0
motion_body_lin_vel: 1.0
motion_body_ang_vel: 1.0
motion_joint_pos: 0.0
motion_joint_vel: 0.0
action_rate_l2: -0.1
joint_limit: -10.0
std_root_pos: 0.3
std_root_ori: 0.4
std_body_pos: 0.3
std_body_ori: 0.4
std_body_lin_vel: 1.0
std_body_ang_vel: 3.14
std_joint_pos: 0.2
std_joint_vel: 1.0
Loading
Loading