Status: Archive - code is provided as-is, no updates expected.
This is the official material of the paper: "Improving the Generalization of End-to-End Driving through Procedural Generation".
Please visit the following links to learn more on our PGDrive simulator:
[ 📺 Website | 🏗 PGDrive Repo | 📜 Documentation | 🎓 Paper ]
# Clone this repo to local
git clone https://github.com/decisionforce/pgdrive-generalization-paper.git
cd pgdrive-generalization-paper
# Install dependencies
pip install -r requirements.txt
Before you draw the results, please decompress the /data.zip
to /data
folder.
# Generate result to results/ppo-main-result-up.pdf and results/ppo-main-result-down.pdf
python draw_ppo_results.py
# Generate result to results/sac-main-result-up.pdf and results/sac-main-result-down.pdf
python draw_sac_results.py
# Draw change density experiment result to results/change-friction-result.pdf
python eval_density.py
# Draw change friction experiment result to results/change-friction-result.pdf
python eval_friction.py
# PPO main experiments
python train_ppo.py --exp-name main_ppo --num-gpus 0
# SAC Main experiments
python train_ppo.py --exp-name main_ppo --num-gpus 0
# Change friction experiments
python train_ppo_change_friction.py --exp-name change_friction --num-gpus 0
# Change density experiments
python train_ppo_change_density.py --exp-name change_density --num-gpus 0
# For the change density / friction experiments, you need to uncomment the script to call
# get_result function, then call
python eval_density.py
python eval_friction.py
If you find this work useful in your project, please consider to cite it through:
@article{li2020improving,
title={Improving the Generalization of End-to-End Driving through Procedural Generation},
author={Li, Quanyi and Peng, Zhenghao and Zhang, Qihang and Qiu, Cong and Liu, Chunxiao and Zhou, Bolei},
journal={arXiv preprint arXiv:2012.13681},
year={2020}
}