Locomotion-Grounded Humanoid Soccer: Task-Gated Reinforcement Learning of a Multi-Directional Kicking Library
Organizations: School of Electrical Engineering, KAIST, Daejeon, Republic of Korea
Abstract
Recent humanoid soccer systems make motion tracking the substrate and derive locomotion from it, typically by steering a motion-reference anchor toward the ball. This yields strong shooting results, but locomotion is trained only on the narrow, deterministic command distribution ball approach induces, never evaluated as a capability in its own right. We invert the stack: a general, command-conditioned locomotion policy is trained first as the substrate, and N motion-guided kicking skills are added on top as task-gated layers, so the reachable gait space is set by the locomotion curriculum rather than any reference clip. Because every skill starts from and returns to this same commandable state, locomotion also becomes a composition hub (O(N) transitions rather than O(N^2)), and post-strike stabilisation is handed back to the trained controller rather than scripted per clip. We instantiate this on a 29-DoF Unitree G1 with seven retargeted kicking skills spanning 259.5 degrees of nominal aim direction, including lateral, rearward and weak-foot strikes a single forward-facing reference cannot express, and report shooting accuracy alongside command-tracking, terrain and push-recovery results with the full skill library attached, an axis prior humanoid soccer systems do not report. The library is validated on hardware across forward, lateral, rearward and commanded approaches.
Figures & tables
| Locomotion substrate | Skill repertoire | Handoff | |||||||
| Method | Platform | Free | Omni | Multi | Motion | Lateral | Rearward | Loco | Kick |
| command | directional | skill | guided | target | target | Kick | Loco | ||
| Haarnoja et al. [ 1 ] | Miniature | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✓ | |
| STOFT [ 19 ] | Bipedal | ✗ | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ | ✓ |
| Reactive [ 6 ] | Humanoid | ✗ | ✗ | ✓ | ✓ | ||||
| Striker [ 4 ] | Humanoid | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✓ | |
| Locomotion group ( ) | Kicking group ( ) | ||
| Term | Dim | Term | Dim |
| Base angular velocity | Motion reference | ||
| Projected gravity | Reference orientation | ||
| Command | Base angular velocity | ||
| Joint position | Joint position | ||
| Joint velocity | Joint velocity | ||
| Term | Term | ||
| Motion tracking | |||
| Global root pos. | Global root orient. | ||
| Relative body pos. | Relative body orient. | ||
| Global body lin. vel. | Global body ang. vel. | ||
| Global feet lin. vel. | Strike joint null-sp. | ||
| Strike leg null-sp. | |||
| Skill | Foot | Nominal | Reachable band |
| bearing | ( ) | ||
| skill_1 | right | ||
| skill_2 | right | ||
| skill_3 | left | ||
| skill_4 | right | ||
| skill_5 | right |
| Method | Bearing range | Dist. (m), tol. | suc.@ m (%) | suc.@ m (%) | Shot err. (m) | (m/s) | Hit (%) | Alive (%) |
| PPO [ 24 ] | forward | n/r | ||||||
| AMP [ 11 ] | forward | n/r | ||||||
| PAiD [ 3 ] | forward | n/r | ||||||
| RoboNaldo [ 2 ] , stage 2, free-kick | forward, | , n/r | ||||||
| RoboNaldo [ 2 ] , stage 3, free-kick | forward, | , n/r | ||||||
| RoboNaldo [ 2 ] , stage 3, moving-ball | forward, | , n/r |
| Skill | mean | |||||||
| Suc.@ (%) | ||||||||
| Suc.@ (%) | ||||||||
| Shot err. (m) | ||||||||
| (m/s) | ||||||||
| Hit (%) | ||||||||
| Alive (%) |
| Skill | Teacher | ||||
| skill_1 | |||||
| skill_2 | |||||
| skill_3 | – | ||||
| skill_4 | – | ||||
| skill_5 | – | – | |||
| skill_6 | – | – |
| Direction | Trigger condition | Alive | Hit | Suc.@ | Suc.@ |
| Kick Loco | end of authored clip | n/a | n/a | n/a | |
| Kick Loco | random tick, incl. strike | n/a | n/a | n/a | |
| Loco Kick | from state | ||||
| Loco Kick | in motion, range | ||||
| Loco Kick | in motion, range | ||||
| Loco Kick | in motion, full range |
| MAE | Terr. | Push | ||||
| fwd. | back. | (m/s), (rad/s) | (%) | (%) | ||
| Loco-only, seed | ||||||
| s.d. over seeds | ||||||
| With library | ||||||
| Skill | All | |||||||
| (deg) | – | |||||||
| Suc.@ (%) | ||||||||
| + calibration | ||||||||
| Suc.@ (%) | ||||||||
| + calibration |