Time-optimal path parameterization (TOPP) quadrotor trajectory planners, presented two ways.
-
- Authors: Katherine Mao, Igor Spasojevic, M Ani Hsieh, Vijay Kumar
- An optimization-based TOPP quadrotor trajectory planner which explicitly incorporates quadrotor rigid body dynamics and constraints for both vehicle states and input bounds (ie. motor thrusts).
- Video
-
- Authors: Katherine Mao, Hongzhan Yu, Ruipeng Zhang, Igor Spasojevic, M Ani Hsieh, Sicun Gao, Vijay Kumar
- An LSTM-based TOPP quadrotor trajectory planner trained on trajectories from TOPPQuad
- Video
Pre-requisities
pip install casadi cvxopt roma tqdm torchdiffeqIn the folder of choice
git clone [email protected]:maokat12/lbTOPPQuad.git
cd rotorpy
git submodule init
git subdodule update- If there are issues with installing the rotorpy submodule, you may need to swith to ssh
The TOPPQuad_demo notebook provides examples on how to run both the TOPPQuad and lbTOPPQuad planners, in subsections TOPPQuad Demo and lbTOPPQuad Demo respectively. The model included for the lbTOPPQuad Demo is trained on trajectories with a maximum velocity of 5m/s. See here for more information on the learned model.
- Planner: We use the lightweight Python-based quadrotor planner RotorPy
If you used either planner in your research, please cite our work(s).
TOPPQuad
@inproceedings{mao2024toppquad,
title={TOPPQuad: Dynamically-Feasible Time-Optimal Path Parametrization for Quadrotors},
author={Mao, Katherine and Spasojevic, Igor and Hsieh, M Ani and Kumar, Vijay},
booktitle={2024 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
pages={13136--13143},
year={2024},
organization={IEEE}
}
lbTOPPQuad
@misc{mao2025sequencemodelingtimeoptimalquadrotor,
title={Sequence Modeling for Time-Optimal Quadrotor Trajectory Optimization with Sampling-based Robustness Analysis},
author={Katherine Mao and Hongzhan Yu and Ruipeng Zhang and Igor Spasojevic and M Ani Hsieh and Sicun Gao and Vijay Kumar},
year={2025},
eprint={2506.13915},
archivePrefix={arXiv},
primaryClass={cs.RO},
url={https://arxiv.org/abs/2506.13915},
}