↖ DemosLIVE SIMULATION
UNITREE G1 · SOCCER LAB

A little touch.
A learned instinct.

Getting the team readyLoading the robot, physics, and two pretrained policies…
INSIDE THE EXPERIMENT

Two policies. One ball.

A small PPO coach observes the ball and target at 5 Hz and adjusts the G1’s walking command. Unitree’s recurrent walking policy controls 12 leg joints at 50 Hz. MuJoCo simulates contact at 500 Hz.

The robot mostly nudges the ball as it walks. It can miss, lose the ball, or time out. Success means the ball enters the 0.5 m target circle, checked every 0.2 simulated seconds. Attempts last up to 20 simulated seconds.

The unmodified native checkpoint reached the target in 84 of 100 fixed-seed episodes in our Docker reproduction. This is a simulation result, not a real-world guarantee. Browser results and performance are documented separately.

Choose Target or Ball to edit a paused setup; choose Camera to orbit and zoom. On a focused field, arrow keys move the selected object and Enter starts or pauses. Reset restores your current setup; New layout loads the next seeded setup.

Watch reference plays a recorded native rollout. It is labeled as replay and does not react to target edits. Return to live to try your own setup.

Everything runs locally. No account, server inference, or WebGPU is required. Mobile testing uses Chrome viewport emulation; physical-phone speed is unverified.

Source, results & model checkpoints ↗
Sources & licenses ↗