# DiffPhysDrone **Repository Path**: Zardy/DiffPhysDrone ## Basic Information - **Project Name**: DiffPhysDrone - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-05 - **Last Updated**: 2026-01-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Vision-based Agile Flight Training Code ## Overview This repository contains the training code for our research on **Learning Vision-based Agile Flight via Differentiable Physics**. Accepted by [**Nature Machine Intelligence'25**](https://www.nature.com/articles/s42256-025-01048-0). [Project webpage](https://henryhuyu.github.io/DiffPhysDrone_Web/) is alive. ## Quick Demos ### Single Agent Flights
GIF 1 GIF 2
### Swarm Tasks
GIF 1 GIF 2
## Environment Setup ### Python Environment 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. ### Build CUDA Ops To build the CUDA operations, run the following command: ```bash pip install -e src ``` ## Training To start the training process, use the following command: ```bash # For multi-agemt python main_cuda.py $(cat configs/multi_agent.args) # For single-agemt python main_cuda.py $(cat configs/single_agent.args) ``` ## Evaluation 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: ```bash cd ./LinuxNoEditor/Blocks.sh -ResX=896 -ResY=504 -windowed -WinX=512 -WinY=304 -settings=$PWD/settings.json ``` ## Citation If using this repository, please cite our work ``` @article{zhang2025learning, title={Learning vision-based agile flight via differentiable physics}, author={Zhang, Yuang and Hu, Yu and Song, Yunlong and Zou, Danping and Lin, Weiyao}, journal={Nature Machine Intelligence}, pages={1--13}, year={2025}, publisher={Nature Publishing Group} } ``` Then, run the following command to evaluate the trained model: ```bash python eval.py --resume --target_speed 2.5 ```