quadrotor

Quadrotor control, path planning and trajectory optimization

https://github.com/yrlu/quadrotor

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.7%) to scientific vocabulary

Keywords

astar controller dijstra drone path-planning pd-controller planning quadrotor trajectory-optimization trajectory-planning uav unmanned-aerial-vehicle
Last synced: 4 months ago · JSON representation ·

Repository

Quadrotor control, path planning and trajectory optimization

Basic Info
  • Host: GitHub
  • Owner: yrlu
  • Language: MATLAB
  • Default Branch: master
  • Homepage:
  • Size: 37.5 MB
Statistics
  • Stars: 962
  • Watchers: 22
  • Forks: 291
  • Open Issues: 10
  • Releases: 1
Topics
astar controller dijstra drone path-planning pd-controller planning quadrotor trajectory-optimization trajectory-planning uav unmanned-aerial-vehicle
Created over 8 years ago · Last pushed over 1 year ago
Metadata Files
Readme Citation

README.md

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:

bibtex @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

Owner

  • Name: Yiren Lu
  • Login: yrlu
  • Kind: user
  • Location: New York
  • Company: Waymo Research

M.S.E. in Robotics '17, GRASP Lab, UPenn

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Lu"
  given-names: "Yiren"
  orcid: "https://orcid.org/0000-0002-7924-2488"
title: "yrlu/quadrotor: Quadrotor Control, Path Planning and Trajectory Optimization"
version: 1.0.0
doi: 10.5281/zenodo.6796215
date-released: 2017-07-01
url: "https://github.com/yrlu/quadrotor"

GitHub Events

Total
  • Watch event: 173
  • Fork event: 15
Last Year
  • Watch event: 173
  • Fork event: 15