File Exchange

image thumbnail


version (51.4 MB) by D
Parameter driven Simulink model for quadcopter simulation and control system design


Updated 14 May 2016

From GitHub

View license on GitHub

Editor's Note: This file was selected as MATLAB Central Pick of the Week

A package of documentation and software supporting MATLAB/Simulink based dynamic modeling and simulation of quadcopter vehicles for control system design.
IMPORTANT: Not tested on MATLAB/Simulink beyond 2013a! The 2014b release appears to cause issues with the animation function and may cause other as of yet other undiscovered issues. Please share bugs with the author via email and be sure to specify the OS and version of MATLAB/Simulink being used. Users are encouraged to run these files on MATLAB 2013a if possible.

A video of the project can be found at:

Check out the document titled "Simulation and Control" within the "Documentation" file for instructions on how to run the Simulink models, and also have a look at the README file that comes with the download.

Cite As

D (2021). Quad-Sim (, GitHub. Retrieved .

Comments and Ratings (26)

Kangmin Lee

@Shreyas Kudari I'm not the creator but you can check out the drone dynamics in quadcopterDynamicsSFunction.m file. I don't think ground effect and other effects due to aerodynamics is included, but you can edit the file in order to do so.

Francisco Molina

Shreyas Kudari

Does the physics account for ground effects (prop wash)?

Abdulbaset Eljubrani

Mahmoud Ghorab

Khanh Tran Ngoc

Michael Janicki

Hi David,

My name is Michael Janicki and I am building a quadcopter with my capstone team at the University of Washington in the Mechanical Engineering department. I am trying to get your simulation to work but I am not sure what the "block" parameter is in the "quadcopterDynamicsSFunction.mat" and I was hoping you could shed some light on this.

Thank you very much!

Willie Smit

hossein bahrami

i need to your detias dynamics difranciel
please if possible , send me this file
thank you

shady zahran

i think there is something wrong in the PC-Quadcopter

if u give the quadcopter a path to move in x-direction only it suppose to make an angle theta and hold it until it stop but thats not whats happening here if y make the trajectory move in x direction only u will find that the controller give a command to make an angle for just one second and then it return to zero again although u will find that the quad is still moving in the x-direction without any angle theta.
and thats weird becuase it suppose to do an angle in order to be able to move in that direction.
plz if any body can help me with this??

jeevan HL

Yumeng Zhang

saidi moussaab

saidi moussaab

jing cui

keheng site

No v1.2 package can be downloaded?

Sala Darenfed

I would like to deploy your controller on a Beaglebone black computer. Any suggestions on addtional hardware would be great.

Youshaa Murhij

I had some errors while running the GUI_Modeling
Any suggestions?


Hey David,

Your teams work is really amazing. I myself have been working on a quadcopter since September and I am using a Beaglebone Black.

The material you have provided in this package is extensive and golden. Shall get back to you soon. Thank You.

Mohammad Al-Husseini

This is a great project and excellent work...
My partner Kassem Dabaje sent an email today concerning a question. I just want to make sure it will be seen.
Thank you..

abdullah alshehri

This is a great work.


Hello Karuna,
Unfortunately the "perfect" one-stop resource for quadrotor vehicle dynamics hasn't turned up in my research yet. Different authors choose to model different effects, and between notation ambiguities and other issues it can be hard to compare different models to one another. At some point I hope to find time to update the documentation included with this download so that it can at least be a more complete and reliable resource. Till then, have a look at the various documents and books listed in the "Bibliography" included with the Quad-Sim download, many of which I found useful.
However, note that as you are a self-proclaimed "hobbyist," some of the documents may get into details that exceed your level of interest.

One of the most relevant resources mentioned in the Bibliography I provided is a paper which uses VERY different notation to what I used:
R. Mahony, V. Kumar, and P. Corke, “Multirotor Aerial Vehicles: Modeling, Estimation, and Control of a Quadrotor,” in IEEE Robotics and Automation Magazine, vol. 19, Sept. 2012, pp. 20-32
(I think this paper can be found for free online, but I am not sure)

Good luck, and check back once in a while if you have interest, I may get around to making some substantial documentation upgrades, particularly in the area of mathematical modeling documentation.

Karuna Mudliyar

Hello david, amazing work, and thanks for uploading model.

Can you let me know, the reference or documentation for modelling and control of quadrotor. If you have any link please share it. It would be helpful for the hobbyist like me.

DAVID Torres

Great job! Thanks!!

Karuna Mudliyar

This is a great work. Really amazed..!! Keep it up..!!!

Sergio Biagioni

MATLAB Release Compatibility
Created with R2013a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Quadcopter Dynamic Modeling and Simulation/Data Acquisition & Analysis/MATLAB Data Analysis

Quadcopter Dynamic Modeling and Simulation/Graphical User Interfaces

Quadcopter Dynamic Modeling and Simulation/Simulation Files/Functions

Quadcopter Dynamic Modeling and Simulation/Simulation Files/Path Command Files

Quadcopter Dynamic Modeling and Simulation/Simulation Files/Block Library/QDMS4CSD

Quadcopter Dynamic Modeling and Simulation/Simulation Files/Simulink Models