Bouncing in Isaac Gym | PIG (PPO for Isaac Gym) | Mini Paper | Poster
🏀 Balancing is Boring, Let’s Try Bouncing! CS3316 Reinforcement Learning Course Project.
big/
contains the Ball Bouncing task settings in Isaac Gympig/
implements the lightweight library PIG.checkpoints/
includes some useful checkpoints trained by me. (Not large, so I directly put them in the repo).
Please install NVIDIA Isaac Gym Preview Release 4 and Isaac Gym Benchmark Environments by following their instructions.
Tested in:
isaacgym 1.0rc4
isaacgymenvs 1.3.4
rl-games 1.6.0
torch 1.8.1
hydra-core 1.3.2
Run test using provided checkpoints. Valid task names are: BallBounce
, BallBalance
and Cartpole
.
Using RL Games checkpoints.
python run_rl_games.py test=True checkpoint=checkpoints/rl_games/{checkpoint_name}.pth task={task_name}
Using PIG checkpoints.
python run_pig.py test=True checkpoint=checkpoints/pig/{checkpoint_folder} task={task_name}
The checkpoint_folder
should contain both actor.pth
and critic.pth
.
Note: RL Games and PIG use different configs. Modify the config files in big/env/cfg/train/
according to your needs!
We provide some template config files (With hyper parameters tuned in RTX 3080). Copy it to {task_name}PPO.yaml
according to your needs.
Using RL Games for training.
python run_rl_games.py task={task_name}
Using PIG for training.
python run_pig.py task={task_name}
You can add configuration and command line arguments illustrated in IsaacGymEnvs. Some useful command line arguments:
headless=True
Don't render. Very useful in training.num_envs=64
Sometimes too many environments will make CUDA OOM.max_iterations=100
Configuring the max epoch num.
As described in Paper, we find some ways to control the height of bouncing.
Left to Right:
Height Limited: 1.5. With
The name "GOODBOUNCE" not only means our Ball Bouncing task is interesting and "good", but also is the name of a song which ranks 4th in BOFU2016 by EBIMAYO. BGA: Youtube