Pranav Lad, Dhruv Chandel
Curriculum Module
Created with R2025a. Compatible with R2025a and later releases.
This curriculum module contains interactive MATLAB® live scripts that teach the fundamental principles behind how a quadcopter operates.
You can use these live scripts as demonstrations in lectures, class activities, or interactive assignments outside class. Starting from the basics of mathematical modeling, we will build up to a full simulation of a quadcopter delivering a package. We will also look at different fidelities of simulation ranging from simple cuboidal navigation models to detailed physical models to photorealistic simulations suitable for testing sensing and perception algorithms. Further resources are provided for student projects, competitions and researchers looking to develop their skills further for industrial applications or research.
The instructions inside the live scripts will guide you through the exercises and activities. Get started with each live script by running it one section at a time. To stop running the script or a section midway (for example, when an animation is in progress), use the
Stop button in the RUN section of the Live Editor tab in the MATLAB Toolstrip.
Contact the MathWorks Educator Content Development Team if you would like to request assistance, provide feedback, or if you have a question.
It is expected that students going through this course should be familiar with the basics of MATLAB programming and working with the Simulink environment. They should also have a basic understanding of ordinary differential equations, physics, and numerical simulations. Additionally, a knowledge of basic Control Systems and Physical Modeling with Simscape will also be helpful.
To help with the background requirements, Online Self-Paced Courses are available on MATLAB Academy, which the students can use to learn more:
Fundamental introductions to the tools and environments
Targeted learning for specific workflows
- Control Design Onramp with Simulink
- Circuit Simulation Onramp
- Power Electronics Simulation Onramp
- Multibody Simulation Onramp
- Simscape Battery Onramp
Each of these courses awards a certificate upon completion. The courses can also be assigned as homework alongside the course.
Use the
link to download the module. You will be prompted to log in or create a MathWorks account. The project will be loaded, and you will see an app with several navigation options to get you started.
Download or clone this repository. Open MATLAB, navigate to the folder containing these scripts and double-click on UAV.prj. It will add the appropriate files to your MATLAB path, set up your starting directory, and open an app that asks you where you would like to start.
Ensure you have all the required products (listed below) installed. If you need to include a product, add it using the Add-On Explorer. To install an add-on, go to the Home tab and select
Add-Ons > Get Add-Ons.
MATLAB®, Simulink®, Stateflow®, Aerospace Blockset, and Simulink® Real-Time™ are used throughout. The RigidTransforms script also uses the Image Processing Toolbox™, and the Computer Vision Toolbox™. The Trajectory Generation script also uses the Robotics System Toolbox™. The QuadcopterBasics script and PropellerModel script also use the Symbolic Math Toolbox™.
Introduction to numerical modeling & simulation of differential equations.
|
In this script, students will... |
Models referenced |
Introduction to mathematical modeling with six degrees of freedom.
|
In this script, students will... |
Models referenced |
Create a simple propeller model using blade element theory and dimensional analysis.
|
In this script, students will... |
Models referenced |
Describe the basic components of a quadcopter and explore a simple physical model.
|
In this script, students will... |
Explore the implications of moving in a 3D world.
|
In this script, students will... |
Models referenced |
Investigate using PID control systems on a quadcopter.
|
In this script, students will... |
Models referenced |
Improve the fidelity of a quadcopter model with Simscape elements.
|
In this script, students will... |
Models referenced |
Explore two documentation examples on trajectory generation
10. Sensor Fusion
Explore two documentation examples on trajectory generation
Explore a variety of high- and low-fidelity scenarios.
Suggest additional directions that students may be interested in exploring including Advanced Control, Working with ROS and Gazebo, and the Challenge Projects.
The license for this module is available in the LICENSE.md.
|
Available on: GitHub |
Introduction to Robotics - University of Cape Town
|
Available on: GitHub |
Or feel free to explore our other modular courseware content.
Looking for more? Find an issue? Have a suggestion? Please contact the MathWorks Educator Content Development team. If you want to contribute directly to this project, you can find information about how to do so in the CONTRIBUTING.md page on GitHub.
© Copyright 2026 The MathWorks, Inc














