Time-Optimal Planning for Quadrotor Waypoint Flight

Overview

Time-Optimal Planning for Quadrotor Waypoint Flight

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.

Video

Time-Optimal-Planning

Paper

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}
}

Instructions

  1. Make sure you have Python3 running.
  2. Clone this repository with git clone [email protected]:uzh-rpg/rpg_time_optimal.git.
  3. Navigate into the root folder of the clone repository cd rpg_time_optimal.
  4. Install the requirements pip3 install -r requirements.txt
  5. Download CasADi from the official website or with pip install casadi.
  6. Run the example with python3 example/optimization.py.
  7. Show some sparkly plots with python3 example/plotting.py.

This will create output .csv files with the trajectory and some .pdf visualizing the result.

You might also like...
(CVPR 2022) A minimalistic mapless end-to-end stack for joint perception, prediction, planning and control for self driving.
(CVPR 2022) A minimalistic mapless end-to-end stack for joint perception, prediction, planning and control for self driving.

LAV Learning from All Vehicles Dian Chen, Philipp Krähenbühl CVPR 2022 (also arXiV 2203.11934) This repo contains code for paper Learning from all veh

POT : Python Optimal Transport

POT: Python Optimal Transport This open source Python library provide several solvers for optimization problems related to Optimal Transport for signa

Official implementation of our CVPR2021 paper
Official implementation of our CVPR2021 paper "OTA: Optimal Transport Assignment for Object Detection" in Pytorch.

OTA: Optimal Transport Assignment for Object Detection This project provides an implementation for our CVPR2021 paper "OTA: Optimal Transport Assignme

Exact Pareto Optimal solutions for preference based Multi-Objective Optimization

Exact Pareto Optimal solutions for preference based Multi-Objective Optimization

Code for paper "Vocabulary Learning via Optimal Transport for Neural Machine Translation"

**Codebase and data are uploaded in progress. ** VOLT(-py) is a vocabulary learning codebase that allows researchers and developers to automaticaly ge

A Planar RGB-D SLAM which utilizes Manhattan World structure to provide optimal camera pose trajectory while also providing a sparse reconstruction containing points, lines and planes, and a dense surfel-based reconstruction.
A Planar RGB-D SLAM which utilizes Manhattan World structure to provide optimal camera pose trajectory while also providing a sparse reconstruction containing points, lines and planes, and a dense surfel-based reconstruction.

ManhattanSLAM Authors: Raza Yunus, Yanyan Li and Federico Tombari ManhattanSLAM is a real-time SLAM library for RGB-D cameras that computes the camera

A Python library for differentiable optimal control on accelerators.

A Python library for differentiable optimal control on accelerators.

Optimal Adaptive Allocation using Deep Reinforcement Learning in a Dose-Response Study

Optimal Adaptive Allocation using Deep Reinforcement Learning in a Dose-Response Study Supplementary Materials for Kentaro Matsuura, Junya Honda, Imad

Developed an optimized algorithm which finds the most optimal path between 2 points in a 3D Maze using various AI search techniques like BFS, DFS, UCS, Greedy BFS and A*

Developed an optimized algorithm which finds the most optimal path between 2 points in a 3D Maze using various AI search techniques like BFS, DFS, UCS, Greedy BFS and A*. The algorithm was extremely optimal running in ~15s to ~30s for search spaces as big as 10000000 nodes where a set of 18 actions could be performed at each node in the 3D Maze.

Comments
  • [bug] The plotting program reported errors.

    [bug] The plotting program reported errors.

    Thanks for reading my question. I have followed your instructions to run the optimization in the example and generate the .csv file. But I falsed to run plotting, And here is the error report ' Traceback (most recent call last): File "E:\zzg\pythonProject\rpg_time_optimal-main\src\trajectory.py", line 540, in load self.wp = wp.reshape(self.NW, 3).T ValueError: cannot reshape array of size 61634 into shape (20,3) '. What should I do, thank you for your answer.

    opened by Africasss 0
Owner
Robotics and Perception Group
Robotics and Perception Group
An implementation of "Optimal Textures: Fast and Robust Texture Synthesis and Style Transfer through Optimal Transport"

Optex An implementation of Optimal Textures: Fast and Robust Texture Synthesis and Style Transfer through Optimal Transport for TU Delft CS4240. You c

Hans Brouwer 33 Jan 5, 2023
Learning High-Speed Flight in the Wild

Learning High-Speed Flight in the Wild This repo contains the code associated to the paper Learning Agile Flight in the Wild. For more information, pl

Robotics and Perception Group 391 Dec 29, 2022
Flybirds - BDD-driven natural language automated testing framework, present by Trip Flight

Flybird | English Version 行为驱动开发(Behavior-driven development,缩写BDD),是一种软件过程的思想或者

Ctrip, Inc. 706 Dec 30, 2022
Official repository for "PAIR: Planning and Iterative Refinement in Pre-trained Transformers for Long Text Generation"

pair-emnlp2020 Official repository for the paper: Xinyu Hua and Lu Wang: PAIR: Planning and Iterative Refinement in Pre-trained Transformers for Long

Xinyu Hua 31 Oct 13, 2022
Simple streamlit app to demonstrate HERE Tour Planning

Table of Contents About the Project Built With Getting Started Prerequisites Installation Usage Roadmap Contributing License Acknowledgements About Th

Amol 8 Sep 5, 2022
An all-in-one application to visualize multiple different local path planning algorithms

Table of Contents Table of Contents Local Planner Visualization Project (LPVP) Features Installation/Usage Local Planners Probabilistic Roadmap (PRM)

Abdur Javaid 47 Dec 30, 2022
Related resources for our EMNLP 2021 paper

Plan-then-Generate: Controlled Data-to-Text Generation via Planning Authors: Yixuan Su, David Vandyke, Sihui Wang, Yimai Fang, and Nigel Collier Code

Yixuan Su 61 Jan 3, 2023
GNPy: Optical Route Planning and DWDM Network Optimization

GNPy is an open-source, community-developed library for building route planning and optimization tools in real-world mesh optical networks

Telecom Infra Project 140 Dec 19, 2022
Memory-efficient optimum einsum using opt_einsum planning and PyTorch kernels.

opt-einsum-torch There have been many implementations of Einstein's summation. numpy's numpy.einsum is the least efficient one as it only runs in sing

Haoyan Huo 9 Nov 18, 2022