Quadcopter Drone Model

Source Notebook

Model of a quadcopter drone

Examples

Basic Examples (3) 

Retrieve the model:

In[1]:=
ResourceData[\!\(\*
TagBox["\"\<Quadcopter Drone Model\>\"",
#& ,
BoxID -> "ResourceTag-Quadcopter Drone Model-Input",
AutoDelete->True]\)]
Out[1]=

The icon:

In[2]:=
ResourceData[\!\(\*
TagBox["\"\<Quadcopter Drone Model\>\"",
#& ,
BoxID -> "ResourceTag-Quadcopter Drone Model-Input",
AutoDelete->True]\), "Icon"]
Out[2]=

The annotation:

In[3]:=
ResourceData[\!\(\*
TagBox["\"\<Quadcopter Drone Model\>\"",
#& ,
BoxID -> "ResourceTag-Quadcopter Drone Model-Input",
AutoDelete->True]\), "Annotation"]
Out[3]=

Scope & Additional Elements (4) 

Available content elements:

In[4]:=
\!\(\*
TagBox[
RowBox[{"ResourceObject", "[", "\"\<Quadcopter Drone Model\>\"", "]"}],
#& ,
BoxID -> "ResourceTag-Quadcopter Drone Model-Input",
AutoDelete->True]\)["ContentElements"]
Out[4]=

The available model types:

In[5]:=
ResourceData[\!\(\*
TagBox["\"\<Quadcopter Drone Model\>\"",
#& ,
BoxID -> "ResourceTag-Quadcopter Drone Model-Input",
AutoDelete->True]\), "AvailableModelTypes"]
Out[5]=

The operating point:

In[6]:=
ResourceData[\!\(\*
TagBox["\"\<Quadcopter Drone Model\>\"",
#& ,
BoxID -> "ResourceTag-Quadcopter Drone Model-Input",
AutoDelete->True]\), "OperatingPoint"]
Out[6]=

The parameters:

In[7]:=
ResourceData[\!\(\*
TagBox["\"\<Quadcopter Drone Model\>\"",
#& ,
BoxID -> "ResourceTag-Quadcopter Drone Model-Input",
AutoDelete->True]\), "Parameters"]
Out[7]=

Visualizations (2) 

The drone is in free-fall without any inputs:

In[8]:=
{nssm, pars} = Table[ResourceData[\!\(\*
TagBox["\"\<Quadcopter Drone Model\>\"",
#& ,
BoxID -> "ResourceTag-Quadcopter Drone Model-Input",
AutoDelete->True]\), elem], {elem, {"NonlinearStateSpaceModel", "Parameters"}}]
Out[8]=

A plot of the drone's vertical position:

In[9]:=
OutputResponse[{nssm /. pars, {0, 0, 0, 0, 0, 0, 100}}, {0, 0, 0, 0}, {t, 0, 10}];
Plot[%[[-1]], {t, 0, 4.5}, PlotRange -> All]
Out[10]=

Analysis (3) 

Compute a set of estimator gains for the linear model:

In[11]:=
{ssm, pars} = Table[ResourceData[\!\(\*
TagBox["\"\<Quadcopter Drone Model\>\"",
#& ,
BoxID -> "ResourceTag-Quadcopter Drone Model-Input",
AutoDelete->True]\), e], {e, {"StateSpaceModel", "Parameters"}}]
Out[11]=

The model's eigenvalues:

In[12]:=
Eigenvalues[First[Normal[ssm] /. pars]]
Out[12]=

Compute a set of estimator gains:

In[13]:=
MatrixForm[
 EstimatorGains[
  ssm /. pars, {-15, -2 + I, -2 - I, -1.5 + I, -1.5 - I, -1 + 0.8 I, -1 - 0.8 I, -2}]]
Out[13]=

Suba Thomas, "Quadcopter Drone Model" from the Wolfram Data Repository (2025)  

Data Resource History

Source Metadata

Publisher Information