Skip to content

Latest commit

 

History

History
77 lines (49 loc) · 3.41 KB

README.md

File metadata and controls

77 lines (49 loc) · 3.41 KB

Quadrotor Control, Path Planning and Trajectory Optimization

DOI

step

(Click the image above to watch real quadrotor demonstrations)

Following MEAM 620 Advanced Robotics course at University of Pennsylvania.

🚫 For Penn students: Please DO NOT spoil the learning experience by using this repository as a shortcut for your assignments. Most importantly, DO NOT violate the honor code!

Repository Contents

This repository contains MATLAB code for:

  • Quadrotor PD controllers
  • Path planning algorithms (Dijkstra, A*)
  • Trajectory optimization algorithms (Minimum Snap/Acceleration Trajectory)

If you use this software in your publications, please cite it using the following BibTeX entry:

@misc{lu2017quadrotor,
  author = {Lu, Yiren and Cai, Myles and Ling, Wudao and Zhou, Xuanyu},
  doi = {10.5281/zenodo.6796215},
  month = {7},
  title = {{Quadrotor control, path planning and trajectory optimization}},
  url = {https://github.com/yrlu/quadrotor},
  year = {2017}
}

PD Controller

  • Run code: change trajectories in file control/runsim.m and run.
  • See quadrotor_dynamics.pdf for dynamic modeling of the quadrotor.
  • See control/controller.m for implementation of the PD controller.
  • Visualization below. Desired (blue) vs Actual (red)

Trajectory 1: Step

step step step

Trajectory 2: Circle

step step step

Trajectory 2: Diamond

step step step

Path Planning and Trajectory Optimization

  • Run code: traj_planning/runsim.m and run path 1 or path 3.
  • See project_report.pdf for more details about trajectory generation
  • See traj_planning/path_planning/dijkstra.m for implementation of path finding algorithms (dijstra, A*).
  • See traj_planning/traj_opt7.m for implementations of minimium snap trajectory.
  • See traj_planning/traj_opt5.m for implementations of minimium acceleration trajectory.
  • Visualization below.

Minimum Acceleration Trajectory

step step step

step step step

Minimum Snap Trajectory

step step step

(with way points constraints)

step step step