--- license: other license_name: mixed-upstream license_link: LICENSE tags: - robotics - humanoid - unitree-g1 - whole-body-control - onnx - sim2real library_name: g1_backend --- # g1_backend checkpoints Exported whole-body control policies for the **Unitree G1**, packaged for the [`g1_backend`](https://github.com/uni-loco-manip/sim2real) deployment stack (importable as `sim2real`) and for [`tele_humanoid_benchmark`](https://github.com/dwei-k/tele_humanoid_benchmark)'s `g1_bridge`. These are **deploy artifacts converted from upstream research code**, not original training runs. See [Provenance](#provenance) before redistributing. ## Install From a `tele_humanoid_benchmark` checkout (resolves the `g1_backend` repo root for you, skips files already present, supports per-family download): ```bash python -m robocasa.scripts.download_g1_checkpoints --all python -m robocasa.scripts.download_g1_checkpoints --family sonic ``` Or directly: ```bash unset all_proxy ALL_PROXY # the Hub client's httpx does not speak SOCKS hf download bwrooney/g1_backend-checkpoints --local-dir /checkpoints ``` > **`--local-dir` matters.** This repo holds the four family folders at its > root, so downloading without pointing at `checkpoints/` scatters `sonic/`, > `amo/`, `heft/` and `scalebfm/` into the `g1_backend` repo root — where, > unlike `checkpoints`, they are not gitignored. > Do not fetch these on the robot. The G1 runs with `HF_HUB_OFFLINE=1`; > checkpoints reach it via `sync-robot.sh`. ## Contents 979 MiB, 14 files, four families. Each family's `policy.yaml` is the entry point the backend loads. | family | path | consumed by | size | |---|---|---|---| | `sonic` | `sonic/low_latency/g1/` | `g1_bridge/backends/sonic.py` | 924.7 MiB | | `heft` | `heft/pmg/` | `g1_bridge/backends/generic.py` | 23.2 MiB | | `amo` | `amo/` | `g1_bridge/backends/amo.py` | 18.6 MiB | | `scalebfm` | `scalebfm/humanoid_transformer_m/` | `g1_bridge/backends/generic.py` | 12.4 MiB | ```text amo/ amo_jit.pt 17,819,339 TorchScript whole-body policy adapter_jit.pt 1,661,974 adapter_norm_stats.pt 1,996 policy.yaml 5,636 heft/pmg/ policy.onnx 24,324,327 policy.yaml 10,374 policy.json 705 scalebfm/humanoid_transformer_m/ policy.onnx 13,021,189 policy.yaml 12,137 policy.json 327 sonic/low_latency/g1/ planner_sonic.onnx 773,952,989 GR00T kinematic planner model_decoder.onnx 149,763,762 model_encoder.onnx 45,933,505 policy.yaml 5,414 ``` SONIC ships an encoder/decoder **pair** rather than a single fused `policy.onnx`; `g1_backend`'s `SplitOnnxBridgeTracking` is selected automatically when that key is present. ## Scope This release contains exactly the four families above. Some code and docs in the two repos reference paths that are **not** part of it: - `sonic/release/*` — `g1_bridge/sonic_utils/ckpt.py` declares a `release` variant; only `low_latency` ships, and it is the default (`--sonic-ckpt new`). - `sonic/low_latency/smpl/policy.yaml` — a fallback in `g1_bridge/configs/g1_sonic.json`, overwritten at runtime before it is read. - `sonic/release/smpl/human_joints_info.pkl` — used by `sim2real/teleop/smpl_stream.py`. - `heft/pmg/policy-semantic.yaml` — `generic.py`'s `default_policy_config`, which `POLICY_CONFIGS` supersedes. - `mimic-lite/*`, `bfm-zero/*`, `holomotion/*` and other families listed in the `g1_backend` README. None of these are on the benchmark's runtime path. ## Provenance Converted deploy artifacts from upstream research projects, not original training runs: - **sonic** — NVIDIA GEAR-SONIC / GR00T-WholeBodyControl (low-latency variant) - **scalebfm** — ScaleBFM (`humanoid_transformer_m`) - **amo**, **heft** — converted for this deployment stack **License:** the upstream terms differ per family and are not asserted here. `license: other` is a placeholder — check each upstream project's terms before redistributing or using commercially.