• Stars
    star
    830
  • Rank 54,379 (Top 2 %)
  • Language
    MATLAB
  • Created over 7 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Quadrotor control, path planning and trajectory optimization

Quadrotor Control, Path Planning and Trajectory Optimization

step

(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.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

More Repositories

1

irl-imitation

Implementation of Inverse Reinforcement Learning (IRL) algorithms in Python/Tensorflow. Deep MaxEnt, MaxEnt, LPIRL
Python
559
star
2

reinforcement_learning

Implementation of selected reinforcement learning algorithms in Tensorflow. A3C, DDPG, REINFORCE, DQN, etc.
Python
148
star
3

non-convex

Self-contained implementation of non-convex optimization algorithms in python. Steepest Descent, Conjugate Gradient, Newton's Method, Quasi-newton (BFGS), l-BFGS
Python
76
star
4

image_mosaic_stitching

Implemented a pipeline for 2D image mosaic and stitching. Feature extraction & matching, Adaptive Non-Maximal Suppression (ANMS), geometric blur, RANSAC
MATLAB
65
star
5

orientation_tracking-unscented_kalman_filter

Implemented Unscented Kalman Filter (UKF) for orientation tracking. Sensors fusion of accelerometer, and gyroscope
MATLAB
59
star
6

vision-based_estimations

Vision-based Robot 3D Pose and Velocities Estimations
MATLAB
37
star
7

seamless_face_replacement

Implemented a pipeline for automatic face replacement in videos (without deep learning). Image morphing, triangulation, TPS, Poisson blending, etc.
MATLAB
33
star
8

Teaism

A full-fledged yet minimalistic CUDA-based convolutional neural network library from scratch in C++
C++
15
star
9

image_color_segmentation-gmm

Implemented Gaussian Mixture Models (GMM) for image color segmentation.
MATLAB
15
star
10

twitter_users_gender_classification

92% gender prediction accuracy based on users' tweets and profile pictures.
MATLAB
11
star
11

SLAM-particle-filter

Particle-filter based SLAM.
MATLAB
9
star
12

face_morphing_tps

Implemented face morphing algorithm based on Thin-Plate Splines
MATLAB
5
star
13

path_planning_imitation_learning

Path planning on high resolution aerial map based on imitation learning. Learn a cost-to-go map from demonstrations.
MATLAB
3
star
14

gestures_recognition_hmm

Implemented a Hidden Markov Model (HMM) for gestures recognition
MATLAB
3
star
15

3d_reconstruction-ICP

Implemented Iterative Closest Point (ICP) method for 3d reconstruction
TeX
2
star