Views
No views yet
g1_backend deployment stack
(importable as sim2real) and for
tele_humanoid_benchmark's
g1_bridge.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.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.)tele_humanoid_benchmark checkout (resolves the g1_backend repo root
for you, filters to weights, skips files already present, supports per-family
download):1python -m robocasa.scripts.download_g1_checkpoints --all
2python -m robocasa.scripts.download_g1_checkpoints --family sonic1unset all_proxy ALL_PROXY # the Hub client's httpx does not speak SOCKS
2hf download bwrooney/g1_backend-checkpoints --local-dir <g1_backend>/checkpoints--local-dirmatters. This repo holds the family folders at its root, so downloading without pointing atcheckpoints/scatterssonic/,amo/,heft/,scalebfm/andalmi/into theg1_backendrepo root — where, unlike undercheckpoints/, they are not gitignored.
Do not fetch these on the robot. The G1 runs withHF_HUB_OFFLINE=1; checkpoints reach it viasync-robot.sh.
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 |
1almi/flat_dual/
2 lower.onnx 1,293,550 legs: obs(100)+history(500) -> 12
3 upper.onnx 965,073 waist+arms: obs(144) -> 17
4amo/
5 amo_jit.pt 17,819,339 TorchScript whole-body policy
6 adapter_jit.pt 1,661,974
7 adapter_norm_stats.pt 1,996
8heft/pmg/
9 policy.onnx 24,324,327
10scalebfm/humanoid_transformer_m/
11 policy.onnx 13,021,189
12sonic/low_latency/g1/
13 planner_sonic.onnx 773,952,989 GR00T kinematic planner
14 model_decoder.onnx 149,763,762
15 model_encoder.onnx 45,933,505policy.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).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.humanoid_transformer_m)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)license: other is a placeholder — check each upstream project's terms before
redistributing or using commercially.