This is an example implementation of the paper "Time-Optimal Planning for Quadrotor Waypoint Flight" by Philipp Foehn, Angel Romero, Davide Scaramuzza
published in Science Robotics, Volume 6, Issue 56, 2021.
Check out the video, the paper, and follow the instructions below.
If you use this code in an academic context, please cite the following Science Robotics 2021 paper.
Philipp Foehn, Angel Romero, Davide Scaramuzza, "Time-Optimal Planning for Quadrotor Waypoint Flight," 2021, Science Robotics, Volume 6, Issue 56, DOI: 10.1126/scirobotics.abh1221
Bibtex:
@article {foehn2021CPC,
author = {Foehn, Philipp and Romero, Angel and Scaramuzza, Davide},
title = {Time-Optimal Planning for Quadrotor Waypoint Flight},
volume = {6},
number = {56},
elocation-id = {eabh1221},
year = {2021},
doi = {10.1126/scirobotics.abh1221},
publisher = {Science Robotics},
URL = {https://robotics.sciencemag.org/content/6/56/eabh1221},
eprint = {https://robotics.sciencemag.org/content/6/56/eabh1221.full.pdf},
journal = {Science Robotics}
}
- Make sure you have Python3 running.
- Clone this repository with
git clone git@github.com:uzh-rpg/rpg_time_optimal.git
. - Navigate into the root folder of the clone repository
cd rpg_time_optimal
. - Install the requirements
pip3 install -r requirements.txt
- Download CasADi from the official website or with
pip install casadi
. - Run the example with
python3 example/optimization.py
. - Show some sparkly plots with
python3 example/plotting.py
.
This will create output .csv
files with the trajectory and some .pdf
visualizing the result.