SjohnU's picture
Sync policy checkpoints (2026-06-25T14:03:13Z)
0feb9e1 verified
|
Raw History Blame
2.07 kB

policy_checkpoints — deploy workflow

Deployment checkpoints for the ETHRC humanoid live here, synced with the private HuggingFace bucket ETHRC-humanoid/rc-humanoid-locomotion. Each run is one subfolder holding the deploy contract + weights (deploy.yaml, policy.pt, policy.onnx[.data]).

Nothing in this folder is git-tracked except the sync scripts and this doc (see .gitignore) — the weights and configs live on HF and are pulled on demand, so the repo never bloats and never drifts from the bucket.

0. One-time access (per machine)

You need to be in the ETHRC-humanoid HF org. In the training repo, run:

cd <rc_humanoid_rl_lab> && ./setup_hf.sh

It tells you to ask Darius on Discord for org access, then stores your token (~/.hf_token + HF_TOKEN in your shell profile). On a cluster, just set HF_TOKEN as a job secret instead. The pull/push scripts here read it automatically.

1. Pull the latest checkpoints

./pull_from_hf.sh

Downloads every run folder from the bucket into this directory.

2. Deploy in sim2sim

The sim2sim package drives any pulled checkpoint via --yaml <RUN_FOLDER>/deploy.yaml. Use a python with torch + mujoco (the ethrc-deploy / env_isaaclab env). After colcon build --packages-select sim2sim deployment:

# suspended (hang) — bring-up policies (knee/arm/ankle cycle, joint tracking)
ros2 run sim2sim sim2sim --yaml "$(pwd)/<RUN_FOLDER>/deploy.yaml" --base hang --view

# ground / soft-release (G1 elastic band) — standing / locomotion policies
ros2 run sim2sim sim2sim --yaml "$(pwd)/<RUN_FOLDER>/deploy.yaml" --base release --view

Without a built workspace, run the module directly: PYTHONPATH=<repo>/ros2_ws/src/sim2sim:<repo>/ros2_ws/src/deployment python -m sim2sim.sim2sim --yaml <…>/deploy.yaml --base hang --view

3. Push new checkpoints

The primary push is from the training repo right after play_export.py (<rc_humanoid_rl_lab>/upload_deploy_to_hf.sh). To push checkpoints curated here:

./push_to_hf.sh