Skip to content

[arxiv 2025] Official implementation of "Humanoid Goalkeeper: Learning from Position Conditioned Task-Motion Constraints"

License

Notifications You must be signed in to change notification settings

InternRobotics/Humanoid-Goalkeeper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Humanoid Goalkeeper

arXiv Website 🚀 License: CC BY-NC-SA 4.0 YouTube 🎬

Official implementation of the paper Humanoid Goalkeeper: Learning from Position Conditioned Task-Motion Constraints by

Junli Ren*, Junfeng Long*, Tao Huang, Huayi Wang, Zirui Wang, Feiyu Jia, Wentao Zhang, Jingbo Wang†, Ping Luo†, Jiangmiao Pang

Teaser image


🛠️ Installation Instructions

Clone this repository

git clone https://github.com/InternRobotics/Goalkeeper.git
cd Goalkeeper

Create a conda environment:

conda create -n gk python=3.8
conda activate gk

Download and install Isaac Gym:

cd isaacgym/python && pip install -e .

Install rsl_rl (PPO implementation) and legged gym and other requirements:

cd rsl_rl && pip install -e . && cd .. 
cd legged_gym &&  pip install -e . && cd .. 
pip install -r requirements.txt

▶️ Usage

Training:

cd legged_gym/legged_gym/scripts/
python train.py --exptid=xxx

Evaluation:

cd legged_gym/legged_gym/scripts/
python play.py --exptid=xxx

Note: Switch to the escape branch to train and evaluate the escape task.

Note: For a quick try, two reference checkpoints are available in legged_gym/resources/weight/. Copy one to your experiment log directory (e.g., logs/<EXPT_ID>/) to directly evaluate the policy.

🧰 Troubleshooting

ImportError: libpython3.8.so.1.0: cannot open shared object file: No such file or directory

# Replace /path_to_conda_env_gk with your actual conda env path
sudo cp /path_to_conda_env_gk/lib/libpython3.8.so.1.0 /usr/lib/

CUDA out of memory

GPU limitation, try less environments.

📈 Training Cost (for reference)

  • GPU: on RTX 4090 (24G)
  • Goalkeeper task: typically ~ 20k episodes to converge
  • Escape task: ~ 40k episodes for stable jump-escape motion

✉️ Contact

For any questions, please email junlir@connect.hku.hk. We will respond as soon as possible.

📝 Citation

If you find our work useful, please consider citing:

@article{ren2025humanoidgoalkeeper,
  title={Humanoid Goalkeeper: Learning from Position Conditioned Task-Motion Constraints},
  author={Ren, Junli, Long, Jungfeng, Huang, Tao and Wang, Huayi, Wang, Zirui and Jia, Feiyu, Zhang, Wentao and Wang, Jingbo, Ping Luo and Pang, Jiangmiao},
  year={2025}
}

📄 License

The code is licensed under the CC BY-NC-SA 4.0 International License Creative Commons License. Commercial use is not allowed without explicit authorization.

About

[arxiv 2025] Official implementation of "Humanoid Goalkeeper: Learning from Position Conditioned Task-Motion Constraints"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages