impulselabs ROBOT LEARNING LABConnecting
EXPERIMENT 01 / HUMANOID SOCCER

Learn. Miss. Try again.

A humanoid learning to shoot. Every update, every attempt, every outcome.

UNITREE G129 joints · MuJoCo physicsLoading experiment…
Model generationLoading
Total episodesTraining + both evaluation sets
Control stepsActual neural policy calls
Trainable parametersLSTM + motor outputs

Training cycle

Loading state
SIMULATION REPLAY

Shooting at the goal

MuJoCo Recorded simulation
Waiting for recording
LEARNING CURVE

Progress isn't a straight line.

One point = one generationHeld-out evaluation

TRAINING HEALTH

Inside the update

PPO loss
Policy change · KL
Weight change · L2
Optimizer steps

Promotion uses a separate training-validation set. An accepted update can still perform worse on held-out shots.

CHECKPOINT HISTORY

Every version. Nothing hidden.

Explore the data ↗
GenerationGoalsMissesRewardError, mDecisionArtifacts
How to read this experiment

This local PPO trainer fine-tunes a pretrained TeleHuman policy. All LSTM and motor-output weights are trainable; recurrent gradients are truncated to one step and normalization is fixed. This is a custom lightweight trainer, not a reproduction of the authors' training method.

A goal means crossing the goal line within its width. Ball height and robot balance are not part of this criterion. Error measures distance from the goal center at the crossing; a non-crossing receives a 3 m penalty. A finite evaluation sample is not proof of reliable improvement. With curriculum enabled, training starts at 2 m and narrows after repeated stage checks; the independent benchmark stays at 0.4 m. Videos replay saved policies; they are not a live training stream.