quadrotor
quadrotor copied to clipboard
Quadrotor control, path planning and trajectory optimization
Quadrotor Control, Path Planning and Trajectory Optimization
(Click above image for real quadrotor demos)
Following MEAM 620 Advanced Robotics course at University of Pennsylvania.
(For Penn students: DO NOT spoil the fun by looking at this repo and not working on your assignments! and most importantly, DO NOT violate the honor code!)
This repo includes matlab code for:
- Quadrotor PD controller
- Path planning algorithms (Dijkstra, A*)
- Trajectory optimizations (Minimum Snap/Acceleration Trajectory)
Please cite this work using the following bibtex if you use the software in your publications
@software{Lu_yrlu_quadrotor_Quadrotor_Control_2022,
author = {Lu, Yiren},
doi = {10.5281/zenodo.6796215},
month = {7},
title = {{yrlu/quadrotor: Quadrotor Control, Path Planning and Trajectory Optimization}},
url = {https://github.com/yrlu/quadrotor},
version = {1.0.0},
year = {2017}
}
PD Controller
- Run code: change trajectories in file
control/runsim.mand run. - See quadrotor_dynamics.pdf for dynamic modeling of the quadrotor.
- See
control/controller.mfor implementation of the PD controller. - Visualization below. Desired (blue) vs Actual (red)
Trajectory 1: Step

Trajectory 2: Circle

Trajectory 2: Diamond

Path Planning and Trajectory Optimization
- Run code:
traj_planning/runsim.mand run path 1 or path 3. - See project_report.pdf for more details about trajectory generation
- See
traj_planning/path_planning/dijkstra.mfor implementation of path finding algorithms (dijstra, A*). - See
traj_planning/traj_opt7.mfor implementations of minimium snap trajectory. - See
traj_planning/traj_opt5.mfor implementations of minimium acceleration trajectory. - Visualization below.
Minimum Acceleration Trajectory


Minimum Snap Trajectory

(with way points constraints)
