zap-heavy-fo-guang · fo-guang robotics profile

Fo Guang.

A humanoid robotics workbench in one template. zap-heavy-fo-guang overlays zap-heavywith the Unitree G1 sim2sim stack: MuJoCo Playground MJX/PPO training, ONNX policy playback, the God's Eye View telemetry bridge, and ABot-Recon reconstruction from the G1 head camera.

fork the robotics workbench
plan-safe
zap harness bake zap-heavy-fo-guang    # plan-only
zap harness doctor zap-heavy-fo-guang
compose — zap.config.ts
compose
createRuntime({
  weight: "heavy",
  plugins: [box({ template: "zap-heavy-fo-guang", size: "large" })],
})

The pipeline

Train, play back, stream, reconstruct.

One bake wires the full loop: a policy trained in simulation walks the G1, its telemetry streams out as RobotFrames, and the head camera feeds a dense 3D reconstruction — all inside the sandbox boundary.

  1. 01

    Train the policy

    MuJoCo Playground trains a G1 joystick policy with MJX/PPO on flat and rough terrain, then exports it to ONNX.

  2. 02

    Play back sim2sim

    The exported ONNX policy drives the G1 in the sim2sim player — a step that runs fine on CPU-only boxes.

  3. 03

    Stream telemetry

    The God's Eye View bridge streams RobotFrames over a UNIX socket — inbound-only, with robot /command and /map disabled.

  4. 04

    Reconstruct the scene

    ABot-Recon rebuilds dense 3D structure from the G1 head camera, with CPU inference and optional INT8 quantization.

GPU trains, CPU replays

The bake detects the box and layers CUDA only where it helps.

bake.sh probes nvidia-smi and layers jax[cuda12] only on GPU boxes; FO_GUANG_CPU_ONLY=1 (or =0) overrides. MJX/PPO training needs the GPU lane; sim2sim playback and ABot-Recon inference run CPU-only, and the mode is recorded in ~/.zap/template.json.

gpu box

Full workbench: MJX/PPO training, ONNX export, sim2sim playback, telemetry, and reconstruction.

jax[cuda12] layered over Playground's CPU JAX pin

cpu-only box

Replay and reconstruct: sim2sim playback of an exported policy plus ABot-Recon CPU inference, where INT8 quantization trades weight memory, not time.

cpuOptimized: true · no CUDA step

Invariants

Inbound-only telemetry. Nothing secret is ever baked.

The overlay follows the same discipline as the rest of Zap: it is an overlay of zap-heavy (no named snapshot), every cloned repo and wheel is pinned and recorded, and zap harness doctor verifies the whole install — including that no credential landed on disk.

Inbound-only telemetry

The bridge streams RobotFrames out to God's Eye View over a UNIX socket. Robot /command and /map stay disabled.

no hosted ports

No baked secrets

GEV_ROBOT_INGEST_TOKEN and friends arrive at runtime through the BYOK/env allowlist only — never in the template or snapshot.

byok · runtime-only

Pinned and recorded

MuJoCo Playground, God's Eye View, and ABot-Recon are cloned at pinned refs; every ref and wheel version is written to ~/.zap/template.json.

recorded refs

Start with zero side effects.

Bake is plan-only by default and doctor never spends. Nothing acquires a sandbox until you say so.

Back to Zap
safe first run
plan-safe
zap harness bake zap-heavy-fo-guang    # plan-only
zap harness doctor zap-heavy-fo-guang