g1_backend checkpoints

Exported whole-body control policies for the Unitree G1, packaged for the g1_backend deployment stack (importable as sim2real) and for tele_humanoid_benchmark's g1_bridge.

These are deploy artifacts converted from upstream research code, not original training runs. See Provenance before redistributing.

Weights only β€” the manifests live in git

A checkpoint family is a manifest plus its weights, and the two are versioned separately:

  • policy.yaml / policy.json β€” the entry point each backend loads. They pin joint order, scales and observation layout, so they have to move in lockstep with the code that reads them. They are tracked in g1_backend's git, not published here.
  • *.onnx / *.pt β€” this repo. Too large for git, and they change far less often.

So a g1_backend checkout already has every manifest and only needs the weights. (This repo carried the manifests until 2026-08-10; a checkout from before they were tracked in git needs a git pull first.)

Install

From a tele_humanoid_benchmark checkout (resolves the g1_backend repo root for you, filters to weights, skips files already present, supports per-family download):

python -m robocasa.scripts.download_g1_checkpoints --all
python -m robocasa.scripts.download_g1_checkpoints --family sonic

Or directly:

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 family folders at its root, so downloading without pointing at checkpoints/ scatters sonic/, amo/, heft/, scalebfm/ and almi/ into the g1_backend repo root β€” where, unlike under 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

981 MiB, 10 weight files, five families. Each lands next to the policy.yaml its family's git checkout already provides.

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
almi almi/flat_dual/ g1_bridge/backends/almi.py 2.2 MiB
almi/flat_dual/
  lower.onnx                 1,293,550   legs: obs(100)+history(500) -> 12
  upper.onnx                   965,073   waist+arms: obs(144) -> 17
amo/
  amo_jit.pt                17,819,339   TorchScript whole-body policy
  adapter_jit.pt             1,661,974
  adapter_norm_stats.pt          1,996
heft/pmg/
  policy.onnx               24,324,327
scalebfm/humanoid_transformer_m/
  policy.onnx               13,021,189
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

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. ALMI likewise ships a pair, but a concurrent one: lower and upper are independent actors whose outputs are concatenated into one 29-D action every tick (DualBranchPolicyMixin, selected by upper_model_path in its manifest).

Scope

This release contains exactly the five 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)
  • almi β€” mjlab-loco Mjlab-Velocity-Flat-Unitree-G1-Dual, model_10000.pt, exported by scripts/export_almi_onnx.py (each branch verified against a torch reimplementation of mjlab's EncoderMLPModel forward pass)
  • 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.

Downloads last month

-

Downloads are not tracked for this model. How to track
Video Preview
loading