You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+15-16Lines changed: 15 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,3 @@
1
-
2
1
<aid="T_DEF03274"></a>
3
2
4
3
# <spanstyle="color:rgb(213,80,0)">Introduction to Quadcopter Modeling & Simulation</span>
@@ -18,7 +17,7 @@ _Created with R2025a. Compatible with R2025a and later releases._
18
17
19
18
# Information
20
19
21
-
This curriculum module contains interactive [MATLAB® live scripts](https://www.mathworks.com/products/matlab/live-editor.html) that teach the fundamental principles of how a quadcopter operates.
20
+
This curriculum module contains interactive [MATLAB® live scripts](https://www.mathworks.com/products/matlab/live-editor.html) that teach the fundamental principles behind how a quadcopter operates.
@@ -28,7 +27,7 @@ This curriculum module contains interactive [MATLAB® live scripts](https://www.
28
27
29
28
## Background
30
29
31
-
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 additional skills for industrial applications or research.
30
+
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.
32
31
33
32
34
33
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 <imgsrc="Images/EndIcon.png"width="19"alt="EndIcon.png"> Stop button in the **RUN** section of the **Live Editor** tab in the MATLAB Toolstrip.
@@ -41,7 +40,7 @@ Contact the [MathWorks Educator Content Development Team](mailto:onlineteaching@
41
40
42
41
## Prerequisites
43
42
44
-
It is expected that students taking this course will 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.
43
+
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.
45
44
46
45
47
46
To help with the background requirements, Online Self\-Paced Courses are available on MATLAB Academy, which the students can use to learn more:
@@ -79,7 +78,7 @@ To help with the background requirements, Online Self\-Paced Courses are availab
79
78
-[Control System Modeling Essentials](https://matlabacademy.mathworks.com/details/control-system-modeling-essentials/otmlslcsme)
80
79
-[PID Control Techniques](https://matlabacademy.mathworks.com/details/pid-control-techniques/otmlslpct)
81
80
82
-
Each of these courses awards a certificate upon completion. The courses can also be assigned as homework.
81
+
Each of these courses awards a certificate upon completion. The courses can also be assigned as homework alongside the course.
83
82
84
83
<aid="H_330E72C3"></a>
85
84
@@ -91,16 +90,16 @@ Use the [<img src="Images/OpenInMO.png" width="136" alt="OpenInMO.png">](https:/
91
90
92
91
### **On Desktop:**
93
92
94
-
Download or clone this repository. Open MATLAB, navigate to the folder containing these scripts, and double\-click [UAV.prj](<matlab: openProject("UAV.prj")>). It will add the appropriate files to your MATLAB path, set up your starting folder, and open an app that asks you where you would like to start.
93
+
Download or clone this repository. Open MATLAB, navigate to the folder containing these scripts and double\-click on [UAV.prj](<matlab: openProject("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.
95
94
96
95
97
-
Ensure you have all the required products ([listed below](#H_E850B4FF)) installed. If you need to include a product, use the Add\-On Explorer to add it. To install an add\-on, go to the **Home** tab and select <imgsrc="Images/AddOnsIcon.png"width="16"alt="AddOnsIcon.png"> **Add-Ons** > **Get Add-Ons**.
96
+
Ensure you have all the required products ([listed below](#H_E850B4FF)) 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 <imgsrc="Images/AddOnsIcon.png"width="16"alt="AddOnsIcon.png"> **Add-Ons** > **Get Add-Ons**.
98
97
99
98
<aid="H_E850B4FF"></a>
100
99
101
100
## Products
102
101
103
-
[MATLAB®](http://www.mathworks.com/products/matlab.html), [Simulink®](https://www.mathworks.com/products/simulink.html), [Stateflow®](https://www.mathworks.com/products/stateflow.html), [Aerospace Blockset](https://www.mathworks.com/products/aerospace-blockset.html), and [Simulink® Real\-Time™](https://www.mathworks.com/products/simulink-real-time.html) are used throughout. The [RigidTransforms](#M_5db9) script also uses the [Image Processing Toolbox™](https://www.mathworks.com/products/image-processing.html), and the [Computer Vision Toolbox™](https://www.mathworks.com/products/computer-vision.html).
102
+
[MATLAB®](http://www.mathworks.com/products/matlab.html), [Simulink®](https://www.mathworks.com/products/simulink.html), [Stateflow®](https://www.mathworks.com/products/stateflow.html), [Aerospace Blockset](https://www.mathworks.com/products/aerospace-blockset.html), and [Simulink® Real\-Time™](https://www.mathworks.com/products/simulink-real-time.html) are used throughout. The [RigidTransforms](#M_5db9) script also uses the [Image Processing Toolbox™](https://www.mathworks.com/products/image-processing.html), and the [Computer Vision Toolbox™](https://www.mathworks.com/products/computer-vision.html). The [Trajectory Generation](#M_3cef) script also uses the [Robotics System Toolbox™](https://www.mathworks.com/products/robotics.html). The [QuadcopterBasics](#M_531f) script and [PropellerModel](#M_72c8) script also use the [Symbolic Math Toolbox™](https://www.mathworks.com/products/symbolic.html).
104
103
105
104
<aid="H_E8C62B23"></a>
106
105
@@ -126,12 +125,12 @@ Introduction to mathematical modeling with six degrees of freedom.
126
125
127
126
||||
128
127
| :-- | :-- | :-- |
129
-
| <imgsrc="Images/SixDOFBlock.png"width="171"alt="SixDOFBlock.png"> <br> |**In this script, students will...** <br> $\bullet$ Learn about movement in 6 degrees of freedom. <br> |**Models referenced** <br> $\bullet$ Modeling a Six Degree of Freedom Motion Platform <br> |
128
+
| <imgsrc="Images/SixDOFBlock.png"width="171"alt="SixDOFBlock.png"> <br> |**In this script, students will...** <br> $\bullet$ Learn about movement in 6 degrees\-of\-freedom. <br> |**Models referenced** <br> $\bullet$ Modeling a Six Degree of Freedom Motion Platform <br> |
@@ -141,7 +140,7 @@ Create a simple propeller model using blade element theory and dimensional analy
141
140
| :-- | :-- | :-- |
142
141
| <imgsrc="Images/PropellerBlock.png"width="171"alt="PropellerBlock.png"> <br> |**In this script, students will...** <br> $\bullet$ Construct a minimal physical model of a quadcopter propeller. <br> $\bullet$ Understand how rotor speed produces thrust and torque. <br> $\bullet$ Understand how thrust and torque depend on the width of a rotor. <br> |**Models referenced** <br> $\bullet$ [SimplePropellerModel.slx](./Models/SimplePropellerModel.slx) <br> |
Investigate the use of PID control systems on a quadcopter.
167
+
Investigate using PID control systems on a quadcopter.
169
168
170
169
||||
171
170
| :-- | :-- | :-- |
@@ -184,22 +183,22 @@ Improve the fidelity of a quadcopter model with Simscape elements.
184
183
| :-- | :-- | :-- |
185
184
| <imgsrc="Images/SimscapeFamily.png"width="171"alt="SimscapeFamily.png"> <br> |**In this script, students will...** <br> $\bullet$ Use pulse width modulation on a DC motor <br> $\bullet$ Model a propeller in Simscape <br> |**Models referenced** <br> $\bullet$ Build and Simulate a Simple DC Motor <br> $\bullet$ [Propeller\_Model.slx](./Models/Propeller_Model.slx) <br> $\bullet$ [Propeller\_Ref\_Speed.slx](./Models/Propeller_Ref_Speed.slx) <br> |
| <imgsrc="Images/Quadcopter.png"width="171"alt="Quadcopter.png"> <br> |**In this script, students will...** <br> $\bullet$ Explore the fully implemented model to see the various subsystems: electrical, mechanical, and maneuver controller. <br> $\bullet$ Work on exercises on motor sizing, testing stability and range, integrating a 3D propeller, and more. <br> |**Models referenced** <br> $\bullet$ Quadcopter Drone Model in Simscape <br> |
201
+
| <imgsrc="Images/Quadcopter.png"width="171"alt="Quadcopter.png"> <br> |**In this script, students will...** <br> $\bullet$ Explore the fully implemented model to see the various subsystems\-electrical, mechanical and maneuver controller. <br> $\bullet$ Work on exercises on motor sizing, testing stability and range, integrating a 3D propeller, and more. <br> |**Models referenced** <br> $\bullet$ Quadcopter Drone Model in Simscape <br> |
203
202
204
203
<aid="TMP_89b5"></a>
205
204
@@ -225,7 +224,7 @@ 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.
227
+
Suggest additional directions that students may be interested in exploring including Advanced Control, Working with ROS and Gazebo, and the Challenge Projects.
0 commit comments