← Paper Digest

Playing Soccer Like Humans Do: Learning Versatile and Agile Humanoid Soccer via Latent Motion Priors

Haoyu Shao, Yunshen Wang, Jingze Zhang, Shaohang Zhu, Yong-Lu Li, Tianzhu Zhang, Baoxiong Jia, Siyuan Huang

November 2026

Real G1 traps an incoming ball and then kicks it.

TL;DR SoccerBot trains one skill-conditioned RL policy that moves, dribbles, traps and kicks a ball on a Unitree G1, acting as a residual on a latent motion prior distilled from human soccer motion capture. In simulation it kicks successfully 97.0% of the time and dribbles 89.9%, and it transfers zero-shot to the real robot with motion-capture ball tracking.

What they do

Earlier humanoid soccer systems cover only some skills, chain separate controllers with a state machine, or learn without human motion data and move unnaturally. SoccerBot learns moving, dribbling, trapping and kicking in a single skill-conditioned policy built on a latent motion prior from human soccer data, then deploys it zero-shot on a Unitree G1.

How it works

  • Motion tracker. Human soccer clips from Soccer-X are retargeted to the G1, and segments that cannot be tracked under hardware torque limits are dropped, leaving about 2.5 h. An RL tracking policy learns to imitate them.
  • Latent motion prior. The tracker is distilled, DAgger-style, into an encoder, a state-conditioned prior and a decoder. The prior and decoder are then frozen.
  • Soccer policy. PPO learns a residual on the prior’s latent from a skill one-hot, a velocity command, the ball state and proprioception. Transition state initialization starts some episodes from the end states of other skills, so the policy learns to switch skills.
  • Sim-to-real. Training randomizes friction, restitution, ball mass and damping, latency and pushes, and adds observation noise. On hardware, motion capture tracks the ball.

Results

  • Simulation (2,500 episodes per skill): 97.04% kicking and 89.88% dribbling success, the highest of all methods. PPO never dribbles, AMP traps 23.08% of passes, and ASE neither kicks nor dribbles.
  • Trapping is weaker (83.08%, below PPO and both ablations): the policy often blocks fast passes with an extended leg and the ball rebounds too far.
  • Transition initialization raises Dribble→Kick from 78.0% to 87.5% and Move→Dribble from 71.5% to 78.5%.
  • Real robot (20 trials per skill): moving speed error barely changes (19.14% in sim, 21.53% real), but kick speed error grows from 8.12% to 47.38% and a trapped ball travels 1.07 m instead of 0.31 m.

Limitations

The sim-to-real gap is large for dribbling, trapping and kick speed, which the authors partly attribute to the rigid simulated ball. Deployment needs external motion capture, the policy has only four skills, and there is no multi-robot play.

Videos

Real G1 dribbles the ball between poles.
Real G1 kicks the ball forward, 1x speed.

Figures

From Figure 1: Real-world soccer skills on the Unitree G1 (moving, trapping, dribbling and kicking), all from one uni...
From Figure 1: Real-world soccer skills on the Unitree G1 (moving, trapping, dribbling and kicking), all from one unified policy.
From Figure 2: The three stages. A motion-tracking expert is trained on retargeted human soccer motion, distilled int...
From Figure 2: The three stages. A motion-tracking expert is trained on retargeted human soccer motion, distilled into a latent motion prior with a variational encoder-decoder, and a skill-conditioned policy then controls residual latents over the frozen prior. Real-world deployment uses motion capture for the ball state.
From Figure 3: Joint t-SNE of the prior latent, the task residual latent and the final latent. The four skills overla...
From Figure 3: Joint t-SNE of the prior latent, the task residual latent and the final latent. The four skills overlap in the prior and separate into distinct regions once the skill-conditioned residual is added.
Abstract

Humanoid soccer requires a robot to seamlessly combine agile locomotion, ball manipulation, and impact-rich contact dynamics across a continuous, dynamic behavioral spectrum. Yet existing approaches either cover only a limited set of skills, or forego motion priors entirely and produce unnatural behaviors, leaving the combination of a unified skill set and human-like motion quality unaddressed. We present soccerbot, a hierarchical reinforcement learning framework that resolves both limitations through a structured latent motion prior distilled from large-scale human soccer motion capture data. By constraining policy learning within this dynamically plausible motion manifold, a single skill-conditioned policy naturally learns to perform moving, dribbling, trapping, and kicking in a unified formulation, while inherently producing human-like motion and fluid transitions during commanded skill switching. Augmented by robustness-oriented simulation design, soccerbot transfers zero-shot to the Unitree G1 humanoid robot, demonstrating agile, natural, and robust execution of the full soccer skill repertoire under real-world conditions.

Summaries are written automatically from each paper's text. Figures and videos come from the paper and its project page; all credit goes to the authors.