bwrooney's picture
Upload README.md with huggingface_hub
f13fcd8 verified
|
Raw
History Blame Contribute Delete
4.18 kB
---
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.