| --- |
| 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 <g1_backend>/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. |
|
|