This repository contains the training code for our research on Learning Vision-based Agile Flight via Differentiable Physics.
The code is tested with the following environment:
- PyTorch: 2.2.2
- Python: 3.11
- CUDA: 11.8
The code should be compatible with other PyTorch and CUDA versions.
To build the CUDA operations, run the following command:
pip install -e src
To start the training process, use the following command:
# For multi-agemt
python main_cuda.py $(cat configs/multi_agent.args)
# For single-agemt
python main_cuda.py $(cat configs/single_agent.args)
You need to download the simulation validation code from the GitHub release page. To evaluate the trained model in multi-agent settings, use the following command to launch the simulator:
cd <path to multi agent code supplementary>
./LinuxNoEditor/Blocks.sh -ResX=896 -ResY=504 -windowed -WinX=512 -WinY=304 -settings=$PWD/settings.json
If using this repository, please cite our work
@misc{zhang2024newtonslawslearningvisionbased,
title={Back to Newton's Laws: Learning Vision-based Agile Flight via Differentiable Physics},
author={Yuang Zhang and Yu Hu and Yunlong Song and Danping Zou and Weiyao Lin},
year={2024},
eprint={2407.10648},
archivePrefix={arXiv},
primaryClass={cs.RO},
url={https://arxiv.org/abs/2407.10648},
}
Then, run the following command to evaluate the trained model:
python eval.py --resume <path to checkpoint> --target_speed 2.5