This repo is the codebase for the SIGGRAPH 2022 conference paper with the title above. Please find the paper and demo at our project website https://brachiation-rl.github.io/brachiation/.
- Linux or macOS
- Python 3.8 or newer
Download and install custom PyBullet build
git clone git@github.com:belinghy/bullet3.git
pip install ./bullet3
Install required packages
git@github.com:brachiation-rl/brachiation.git
cd brachiation
pip install -r requirements.txt
Test installation is complete by running passive forward simulation
python run_full.py --mode test
This repo contains pretrained models and examples of generated trajectories. Run and visualize the pretrained full model controller
python run_full.py --mode play --net data/best_full.pt
Run and visualize simplified model controller
python run_simplified.py --mode play --net data/best_simple.pt
Run and visualize full model planning. This mode is slow when simulating on CPU; if needed, reduce the number of parallel simulations on L61 in run_full.py.
python run_full.py --mode plan --net data/best_full.pt
Training simplified and full model from scratch
# Step 1: Train simplified and dump trajectories in data/trajectories/
python run_simplified.py --mode train
python run_simplified.py --mode dump --net <saved-model-file>
# Step 2: Train full model (uses previously saved trajectories)
python run_full.py --mode train
If you use this code for your research, please cite our paper.
@inproceedings{brachiation2022,
author = {Reda, Daniele and Ling, Hung Yu and van de Panne, Michiel},
title = {Learning to Brachiate via Simplified Model Imitation},
year = {2022},
publisher = {Association for Computing Machinery},
booktitle = {ACM SIGGRAPH 2022 Conference Proceedings},
articleno = {24},
numpages = {9},
series = {SIGGRAPH '22}
}