Jipeng Kong*,
Xinzhe Liu*,
Yuhang Lin,
Jinrui Han,
Sören Schwertfeger,
Chenjia Bai†,
Xuelong Li†
* First Author † Corresponding Author
This repository contains the official implementation for **Learning Soccer Skills for Humanoid Robots: A Progressive Perception-Action Framework **.
Soccer is a challenging task for humanoid robots, requiring tightly integrated perception and whole-body control. We propose PAiD (Perception-Action integrated Decision-making), a progressive framework with three stages: motion-skill acquisition via human motion tracking, lightweight perception-action integration for positional generalization, and physics-aware sim-to-real transfer. Experiments on the Unitree G1 show robust, human-like kicking across static/rolling balls, varied positions, disturbances, and indoor/outdoor scenarios.
This repository contains:
- Core task/environment code:
source/whole_body_tracking/soccer - Training & play scripts:
scripts/rsl_rl - Motion datasets and labels:
motions
The kick motions used in our paper are publicly released in motions.
-
Install Isaac Lab v2.1.1 by following the installation guide. We recommend using the Pip installation.
-
Clone this repository:
# Option 1: SSH
git clone git@github.com:TeleHuman/HumanoidSoccer.git
# Option 2: HTTPS
git clone https://github.com/TeleHuman/HumanoidSoccer.git- Using a Python interpreter that has Isaac Lab installed, install the library
pip install -e source/whole_body_trackingpython scripts/rsl_rl/train_multi.py --task Tracking-Flat-G1-SoccerDestination-RNN-v0 \
--motion_path motions/soccer-motions \
--num_envs 4096 \
--headlesspython scripts/rsl_rl/play_multi.py --task Tracking-Flat-G1-SoccerDestination-RNN-v0 \
--motion_path motions/soccer-motions \
--num_envs 1 python scripts/rsl_rl/train_multi.py --task Tracking-Terrain-G1-RNN-v0 \
--motion_path motions/soccer-motions \
--run_name test \
--num_envs 4096 \
--headless python scripts/rsl_rl/train_multi.py --task Tracking-Flat-G1-SoccerDestination-RNN-v0 \
--motion_path motions/soccer-motions \
--load_run {run_name} \
--run_name test_resume \
--num_envs 4096 \
--resume True \
--headless python scripts/rsl_rl/play_multi.py --task Tracking-Flat-G1-SoccerDestination-RNN-v0 \
--motion_path motions/soccer-motions \
--num_envs 1 - Release PAiD training code
- Release PAiD motion dataset
- Release PAiD domain randomization code
If you find this work useful in your research, please consider citing:
@misc{kong2026learningsoccerskillshumanoid,
title={Learning Soccer Skills for Humanoid Robots: A Progressive Perception-Action Framework},
author={Jipeng Kong and Xinzhe Liu and Yuhang Lin and Jinrui Han and Sören Schwertfeger and Chenjia Bai and Xuelong Li},
year={2026},
eprint={2602.05310},
archivePrefix={arXiv},
primaryClass={cs.RO},
url={https://arxiv.org/abs/2602.05310}
}This codebase is under CC BY-NC 4.0 license. You may not use the material for commercial purposes, e.g., to make demos to advertise your commercial products.
For further collaborations or discussions, please feel free to reach out to:
- First Author: Jipeng Kong kongjp2024@shanghaitech.edu.cn , Xinzhe Liu liuxzh2023@shanghaitech.edu.cn.
- Corresponding Author (Chenjia Bai): baicj@chinatelecom.cn
