- Release motion capture data
- Release BBC Training Pipeline
- Release TSC-teacher Training Pipeline
- Release TSC-student Training Pipeline
- Release EASI Training Pipeline
- Release motion retargeting pipeline
- Release deployment pipeline
- Create a new python virtual environment with
python 3.8
conda create -n agility python=3.8
conda activate agility- Install
pytorch 2.3.1withcuda-11.8
pip install torch==2.3.1+cu118 torchvision==0.18.1+cu118 torchaudio==2.3.1+cu118 -f https://download.pytorch.org/whl/cu118/torch_stable.html- Install
Isaac Gym- Download and install Isaac Gym Preview 4
cd isaacgym/python pip install -e .
- Try running an example
cd examples python 1080_balls_of_solitude.py- For troubleshooting, check docs in
isaacgym/docs/install.html
- Clone this repository and install the additional dependencies
git clone https://github.com/NJU-RLC/quadrupedal-agility.git
cd quadrupedal-agility
pip install -r requirements.txtGo to bbc/legged_gym/scripts and run
python train.py --task go2_locomotion --experiment_idx 0 --device_id 0 --headless True- Train ~200k iterations (~4 days on 3090). The trained policy is saved in
bbc/logs/go2_locomotion/0/model.pt. - Use
--resume --load_run 0to start training from a saved checkpoint.
Before training, please copy the trained BBC model model.pt to tsc/weights/bbc (A pre-trained model has been provided). Then go to tsc/legged_gym/scripts and run
# Train TSC-teacher
python train.py --proj_name agility --exptid base --device_id 0 --randomize_start --randomize_base_mass --randomize_base_com --push_robots
# Train TSC-student
python train.py --proj_name agility --exptid dist --device_id 0 --resume --resumeid base --use_camera- Train ~30k iterations (~20 hours on 3090) for TSC-teacher, and ~15k iterations (~17 hours on 3090) for TSC-student. The trained policies are saved in
tsc/logs/agility/base/model.ptandtsc/logs/agility/dist/model.pt. - Use
--resume --resumeid base/distto start training from a saved checkpoint.
The EASI-optimized simulator parameter settings are adopted for BBC training. More details about EASI can be found at EASI.
Go to bbc/legged_gym/scripts and run
python play.py --task go2_locomotion --load_run 0- Continuously press
W/Sfor acceleration and deceleration, control steering withA/D, and switch behavior modes between1-5.
Go to tsc/legged_gym/scripts and run
# Play TSC-teacher
python play.py --proj_name agility --exptid base
# Play TSC-student
python play.py --proj_name agility --exptid dist --use_camera- Switch to next/prev robot with
[ ], switch between free camera and following camera withF.
If you found any part of this code useful, please consider citing:
@article{fu2025learning,
title={Learning Diverse Natural Behaviors for Enhancing the Agility of Quadrupedal Robots},
author={Huiqiao Fu and Haoyu Dong and Wentao Xu and Zhehao Zhou and Guizhou Deng and Kaiqiang Tang and Daoyi Dong and Chunlin Chen},
year={2025},
eprint={2505.09979},
archivePrefix={arXiv},
primaryClass={cs.RO},
url={https://arxiv.org/abs/2505.09979}
}
The code is built upon the open-sourced IsaacGymEnvs, rsl_rl, legged_gym, MetalHead, and extreme-parkour.
