<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Nonlinear Quadrotor Control Based on Simulink Support Package for Parrot Minidrones ? ??</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Bauman Moscow State Technical University</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Moscow</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Russia v-algolu@hotmail.com</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Ishlinsky Institute for Problems in Mechanics RAS</institution>
          ,
          <addr-line>Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>113</fpage>
      <lpage>127</lpage>
      <abstract>
        <p>This paper deals with nonlinear control design for Parrot Mambo or Parrot Rolling Spider quadcopters using the Simulink Support Package for Parrot Minidrones. A full rigid body model of the ying vehicle that doesn't assume smallness of the Euler angles is considered. For synthesis of the control the nonlinear dynamics inversion and integrator backstepping approaches are used. Block diagrams illustrate how the control laws are applied to Parrot Minidrone ight control and can be used in nonlinear control education. Exercises to design nonlinear Parrot Minidrone control algorithms as Simulink Subsystem blocks are suggested.</p>
      </abstract>
      <kwd-group>
        <kwd>Nonlinear control Control education Integrator backstepping</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>During the last two decades control of quadrotors became extremely popular
among control theorists and practitioners. There are many reasons for such
popularity. In spite of the fact that a quadrotor is inherently an underactuated
mechanical system, it demonstrates nice controllability properties. This turned
quadrotors into a test application for many control theories. Moreover, in
contrast to wide-spread in control theory academical or educational mechanical
examples, see e.g. [4], quadcopters can be considered as real industrial systems
which are employed in many civil and military tasks.</p>
      <p>Such theoretical and practical appeal resulted in a bulk of papers, see e.g. [2,
3, 5{7, 9{12, 15{17]. To solve position reference trajectory tracking control
problems di erent approaches can be found in the literature, e.g. the PID and LQR
control (see [7, 10]), integrator backstepping based designs ([3, 11]) or neural
networks (see e.g. [2]). Unknown model parameters, in particular, uknown
quadcopter mass and moments of inertia, were accounted for in [1] and [13]. Still, it
remains a challenge for a quadcopter control system to account for the in uence
of external uncontrolled disturbances, e.g. wind, and to satisfy state and control
constraints during quadrotor motion, see e.g. [14{16].</p>
      <p>The main feature of the current paper is that the suggested nonlinear
control algorithms and the corresponding block diagrams are presented for the
purpose of implementation on the Parrot Minidrones (Parrot Mambo or
Parrot Rolling Spider) using the Simulink Support Package for Parrot Minidrones
(SSPPM) [18]. This package is included in the Matlab environment and is
being actively developed. SSPPM allows to create Parrot Minidrones ight control
algorithms using Simulink blocks and deploy control algorithms directly on the
drone via a Bluetooth wireless network.</p>
      <p>Parrot Minidrones together with the SSPPM can be considered as a nice and
a ordable control laboratory equipment due to a very low price of the minidrones
and availability of the Matlab/Simulink environment at technical universities.
The Parrot Mambo and Parrot Rolling Spider Minidrones are equipped with
an ultrasonic sensor, accelerometer, gyroscope, pressure sensor and a downward
facing camera, from which one can restore acceleration, angular velocity, altitude
and displacement in the horizontal plane.</p>
      <p>The appeal of using Parrot Minidrones together with the SSPPM for control
education purposes is also underpinned by the fact that the SSPPM is a thorough
modelling environment ready for implementation on the hardware. It contains
all necessary default control system components, such as a quadrotor nonlinear
mathematical model with the identi ed physical parameters, the state estimator
subsystem that recovers state of the model from the measured data, a tuned
PID controller to realize some basic angular and position reference motions.
Moreover, researchers can replace any component of the system with their own
one and test how their control or state estimation algorithm performs on a
trueto-life quadrotor model or real ying device.</p>
      <p>The paper is organized as follows. The quadcopter equations of motion are
revised in Section 2. The synthesis of nonlinear control for tracking reference
altitude and angular position trajectories is considered in Section 3. Section 4
presents design of nonlinear control for tracking reference position trajectories.
Nonlinear adaptive control in case when the quadcopter mass and its moments
of inertia are treated as unknown constants is discussed in Section 5. Section 6
gives numerical simulation and experimental results. Finally, the paper concludes
with some remarks in Section 7.
2</p>
      <p>Mathematical Model of Quadcopter Motion
Consider a quadcopter rigid body model, with translational and rotational
dynamics described by the following systems, respectively, (see e.g. [5, 10]):
m  = F
cos cos sin
cos sin sin</p>
      <p>Let us note that for a quadcopter the thrust F and the vector of torques M
are functions of the four rotor angular velocities i and can be modeled by
0 1 sin tg
C = @ 0 cos
0 sin sec
cos tg 1
sin
cos sec</p>
      <p>A :</p>
      <p>l
b=k
1 1
l 0
0 l
b=k b=k
1
where fi = k i2 is the thrust force of the i-th rotor; k and b are the rotors lift
and drag aerodynamic coe cients, respectively; l is the distance between the
quadrotor center of mass and the rotors.
3</p>
      <p>Attitude and Altitude Control
In this section we consider the synthesis of nonlinear control for tracking
reference altitude and angular position trajectories. Let the angular = 0(t) and the
altitude z = z0(t) reference signals be given as twice continuously di erentiable
functions of time. Suppose that absolute values of the roll and the pitch at
any time does not reach the value of =2 to avoid singularity of the C and G
functional matrices de ned in this paper.</p>
      <p>
        Introduce the tracking error variables ez = z z0(t), e = 0(t) and
rewrite the equations (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) and (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) in the variables ez and e , respectively, as
mz =
      </p>
      <p>mg + F cos cos
where = (x; y)T and z are coordinates of the vehicle center of mass in the
inertial frame; , , are roll, pitch and yaw angles, respectively, = ( ; ; )T;
m stands for the quadcopter mass, g is the acceleration due to gravity; F
represents the thrust produced by the quadcopter rotors; M = (Mx; My; Mz)T is
the vector of torques; ! = (!x; !y; !z)T is the vector of angular velocities in the
body- xed frame, I = diag(Ix; Iy; Iz) is the diagonal inertia matrix,
The control problem is to nd F and M such that</p>
      <p>F
m
ez =
g +
cos cos</p>
      <p>z0(t)
e = C_ ! + CI 1M</p>
      <p>CI 1!</p>
      <p>I!</p>
      <p>0(t):
lim ez(t) = 0;
t!+1</p>
      <p>
        lim e (t) = 0:
t!+1
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        )
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        )
(
        <xref ref-type="bibr" rid="ref5">5</xref>
        )
Choose the stabilizing control laws as below
      </p>
      <p>m
F = (g + z0(t)
cos cos</p>
      <p>k2ez) ;
M = !</p>
      <p>I! + IC 1 0(t)</p>
      <p>C_ !</p>
      <p>C1e_</p>
      <p>
        C2e
;
where k1 &gt; 0, k2 &gt; 0 are positive gain coe cients and C1 &gt; 0, C2 &gt; 0 are
positive de nite gain matrices. Then, the equations (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) and (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) with the controls
(
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) and (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ), respectively, are written as
ez + k1e_z + k2ez = 0;
      </p>
      <p>e + C1e_ + C2e = 0;
with the equilibrium point ez = 0, e = 0 being globally asymptotically stable.</p>
      <p>
        One can take the gain coe cients k1 &gt; 0, k2 &gt; 0 and matrices C1 &gt; 0,
C2 &gt; 0 to guarantee that jezj z if t tz and ke k if t t . Here
z = 0:05ez(0), = 0:05e (0); tz and t are the desired transient times,
respectively; k k stands for the Euclidian norm. As the desired characteristic
polynomials of equations (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ) one takes
      </p>
      <p>Qz( ) =
2 + 2!z
+ !z2;
respectively, where !z = 4:8=tz, ! = 4:8=t . This results in k1 = 2!z, k2 = !z2
and C1 = 2! E, C2 = !2E. Here, E is the identity matrix of size 3 3.</p>
      <p>
        Figure 1 illustrates how the control laws (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) and (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) are applied to Parrot
Minidrone ight control with the help of Simulink Support Package for Parrot
Minidrones. For educational purposes we propose the following exercise.
(
        <xref ref-type="bibr" rid="ref6">6</xref>
        )
(
        <xref ref-type="bibr" rid="ref7">7</xref>
        )
(
        <xref ref-type="bibr" rid="ref8">8</xref>
        )
(a) 0(t) = [0; 0; 0]T , z0(t) = 1;
(b) 0(t) =
z0(t) =
      </p>
      <p>In both cases the following initial conditions are suggested: z(0) = z_(0) = 0,
(0) = !(0) = 0.</p>
      <p>Hint. In case (b) nd the coe cients ai to ful ll the initial and terminal
conditions on z(t).
4</p>
      <p>Horizontal and Vertical Position Control
In the current section we deal with the design of nonlinear control for tracking
reference position trajectories. Let the altitude z = z0(t) and the x; y position =
0(t) = [x0(t); y0(t)]T reference signals be four times continuously di erentiable.</p>
      <p>For the convenience sake, introduce the new control variables
(M~ x; M~ y; M~ z)T = M~ = C_ ! + CI 1 (M
!</p>
      <p>
        I!)
(
        <xref ref-type="bibr" rid="ref9">9</xref>
        )
and rewrite the system (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) as
      </p>
      <p> = M~ :</p>
      <p>Let a reference yaw trajectory 0(t) be given (see [5] for a discussion why to
choose a reference yaw trajectory at this stage instead of a pitch or roll reference
behavior). De ne the tracking error variable e = 0(t). Then, the yaw
tracking control M~ z is written as</p>
      <p>Mz = 0(t)
~
k3e_</p>
      <p>
        k4e ;
e + k3e_ + k4e
= 0
where k3 &gt; 0, k4 &gt; 0 are some positive gain coe cients. Hence, the zero
equilibrium of the closed-loop yaw error dynamics given by
(
        <xref ref-type="bibr" rid="ref10">10</xref>
        )
(
        <xref ref-type="bibr" rid="ref11">11</xref>
        )
(
        <xref ref-type="bibr" rid="ref12">12</xref>
        )
is globally asymptotically stable.
      </p>
      <p>
        Next, the system (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) with control (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) takes the form
 = (g + z0(t)
k1e_z
      </p>
      <p>k2ez)
cos tg
sin tg
+ sin tg sec
cos tg sec
:
(IV ) =
cos
sin</p>
      <p>sin
cos
where fi are nonlinear scalar functions of the state.</p>
      <p>
        Introduce the tracking error variable e = 0(t) and let G denote the
matrix of coe cients of controls M~ x and M~ y in (
        <xref ref-type="bibr" rid="ref12">12</xref>
        ). Then, the x; y trajectory
tracking control is written using nonlinear dynamics inversion as
      </p>
      <p>i
C4e :
Here the gain matrices Ci &gt; 0 are such that the zero equilibrium of the resulting
closed-loop system given by</p>
      <p>
        e(
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) + C1e(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) + C2e + C3e_ + C4e = 0
is globally asymptotically stable.
      </p>
      <p>
        Additionally, to ful ll the condition ke k
and t is the required transient time, one takes
if t
t , where
= 0:05e (0)
as the desired characteristic polynomial of each equation of the system (
        <xref ref-type="bibr" rid="ref14">14</xref>
        ). This
choice yields C1 = 4! E, C2 = 6!2E, C3 = 4!3E, C4 = !4E, where E is the
identity matrix of size 2 2.
      </p>
      <p>
        Figure 2 describes how the control laws (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ), (
        <xref ref-type="bibr" rid="ref10">10</xref>
        ) and (
        <xref ref-type="bibr" rid="ref13">13</xref>
        ) are applied to
Parrot Minidrone ight control using Simulink Support Package for Parrot Minidrones.
Finally, the following exercise is suggested.
(
        <xref ref-type="bibr" rid="ref13">13</xref>
        )
(
        <xref ref-type="bibr" rid="ref14">14</xref>
        )
      </p>
      <p>Exercise 2. Design a nonlinear Parrot Minidrone control algorithm as a
Simulink Subsystem block to track the following reference trajectories:
(a) 0(t) = [0; 0]T , z0(t) = 1,</p>
      <p>0(t) = 0.
(b) 0(t) = [cos t; sin t]T , z0(t) = 1,</p>
      <p>0(t) = t + =2.</p>
      <p>The initial conditions are (0) = _(0) = 0, z(0) = z_(0) = 0, (0) = !(0) = 0.</p>
    </sec>
    <sec id="sec-2">
      <title>Adaptive Control</title>
      <p>This section considers the synthesis of nonlinear adaptive control for tracking
reference altitude and angular position trajectories. The quadcopter mass m and
components Ix, Iy, Iz of the diagonal inertia matrix I are treated as unknown
constants.</p>
      <p>
        Let J = [Ix; Iy; Iz]T and D( ), = [ 1; 2; 3]T be the diagonal matrix with
the elements dii = i, i = 1; 2; 3. Then, the following equalities hold
and the equations (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) can be written as
!
      </p>
      <p>I!</p>
      <p>SI!; I! D(!)J;</p>
      <p>0 0 !z !y 1
S = @ !z 0 !x A</p>
      <p>
        !y !x 0
and introduce the error e! = ! 1, where 1 is the desired reference behavior
of the ! variable to be de ned later. The time derivative of V1(e ) along the
trajectories of the system (
        <xref ref-type="bibr" rid="ref15">15</xref>
        ) is given by
      </p>
      <p>
        V_1(e ) = eT e_ = eT [Ce! + C 1
_0(t)] :
(
        <xref ref-type="bibr" rid="ref16">16</xref>
        )
The choice 1 = C 1 _0(t) C 1K1e , where K1 &gt; 0 is some positive de nite
matrix, transforms (
        <xref ref-type="bibr" rid="ref16">16</xref>
        ) into the form
      </p>
      <p>V_1(e ) = eT Ce!
eT K1e :</p>
      <p>
        Further, introduce the estimation error J~ = J J^, where J^ is an estimate
for the unknown parameter vector J . Hence, since J is a constant vector, the
following equality holds J~_ = J^_. To nd the tracking control M consider the
function
where a &gt; 0 is a positive de nite matrix. The time derivative of V2(e ; e!; J~)
along the trajectories of the system (
        <xref ref-type="bibr" rid="ref15">15</xref>
        ) is written as
      </p>
      <p>V_2(e ; e!; J~) = eT e_ + eT! Ie_! + J~T a 1J~_
= eT Ce!</p>
      <p>eT K1e + eT! (M
=</p>
      <p>eT K1e + eT! CT e + M
J~T [SD(!) + D( _ 1)]T e!</p>
      <p>SD(!)J</p>
      <p>I _ 1)
SD(!)J^</p>
      <p>D( _ 1)J^</p>
      <p>J~T a 1J^_
J~T a 1J^_;
where _ 1 = C_ 1 _0(t) + C 1 0(t) C_ 1K1e
unknown parameter estimation error J~ one takes
C 1K1e_ . To eliminate the</p>
      <sec id="sec-2-1">
        <title>Finally, the choice</title>
        <p>where K2 &gt; 0 is a positive de nite matrix, results in
_
J^ =</p>
        <p>a [SD(!) + D( _ 1)]T e!:
M = SD(!)J^ + D( _ 1)J^</p>
        <p>CT e</p>
        <p>
          K2e!;
V_2(e ; e!) =
eT K1e
eT! K2e! &lt; 0:
Therefore, for the system (
          <xref ref-type="bibr" rid="ref15">15</xref>
          ) in closed-loop form with the control (
          <xref ref-type="bibr" rid="ref18">18</xref>
          ) and
parameter update law (
          <xref ref-type="bibr" rid="ref17">17</xref>
          ) by the LaSalle-Yoshizawa theorem holds the following:
e (t) ! 0 as t ! +1.
        </p>
        <p>Next, consider the reference altitude trajectory tracking adaptive control
problem.</p>
        <p>Let m^ be an estimate of the unknown quadcopter mass m. De ne also the
error variable</p>
        <p>
          The control problem is to nd F in (
          <xref ref-type="bibr" rid="ref4">4</xref>
          ) which guarantees that
m~ = m
        </p>
        <p>m^ :
lim ez(t) = 0:
t!+1</p>
        <p>V1(ez) = 21 ez2 &gt; 0
V_1(ez) = eze_z = ez ( + 2) :</p>
        <p>
          V_1(ez) = ez
c1ez2:
(
          <xref ref-type="bibr" rid="ref17">17</xref>
          )
(
          <xref ref-type="bibr" rid="ref18">18</xref>
          )
(19)
        </p>
        <p>To nd the stabilizing control F using the backstepping approach consider
rst the function
and introduce the error variable = e_z 2, where 2 is the desired reference
behavior of e_z to be given later. The time derivative of V1(ez) is as follows
The choice 2 =
c1ez, where c1 &gt; 0 is some positive constant, gives</p>
        <p>
          Notice that the unknown coe cient 1=m of the thrust F in the system (
          <xref ref-type="bibr" rid="ref4">4</xref>
          )
can be written as
1
m
=
1
m^
m~
mm^
:
Additionally, since m is a constant, from (19) follows that m~_ =
nd the tracking control F consider the function
(20)
m^_ . Finally, to
V2 (ez; ; m~ ) = V1(ez) + 21 2 +
        </p>
        <p>
          1
2kam
m~ 2 &gt; 0:
Its time derivative along the trajectories of the system (
          <xref ref-type="bibr" rid="ref4">4</xref>
          ) in view of (20) is
written as follows
        </p>
        <p>V_2 (ez; ; m~ ) = eze_z +
= ez</p>
        <p>c1ez2 +
To eliminate the unknown values of m and m~ one chooses</p>
      </sec>
      <sec id="sec-2-2">
        <title>Finally, one takes</title>
        <p>m^_ =
ka</p>
        <p>cos cos :
F
m^
F =</p>
        <p>m^
cos cos
-1
-2
0
15
20
air pressure
ultrasonic
0.6
0.4
/s 0.2
d
a
r
, y 0
, x
-0.2
-0.4
-0.6</p>
        <p>0
1
0.8
0.6
s
/
d
ra 0.4
, z
0.2</p>
        <p>0
-0.2
0
5
5
x (quadrotor)
y (quadrotor)
x &amp;
y (matlab)
1 (rad/s) versus time (s) (blue line) and</p>
        <p>2 (rad/s) versus time (s) (blue line) and
5
5</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Conclusion</title>
      <p>This paper extended the functionality of the Simulink Support Package for
Parrot Minidrones (SSPPM) by proposing nonlinear quadrotor control algorithms.
We suggested using Parrot Minidrones together with the SSPPM as a nice and
a ordable control laboratory equipment for nonlinear control education. Block
diagrams illustrated how the control laws could be applied to Parrot Minidrone
ight control. Exercises to design nonlinear Parrot Minidrone control algorithms
as Simulink Subsystem blocks were suggested. The experimental results show
rather good performance of the designed station-keeping control laws on the
Parrot Mambo Minidrone.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tao</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jiang</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Trajectory tracking of a quadrotor with unknown parameters and its fault-tolerant control via sliding mode fault observer</article-title>
          .
          <source>Proceedings of the Institution of Mechanical Engineers, Part I: Journal of Systems and Control Engineering</source>
          <volume>229</volume>
          (
          <issue>4</issue>
          ),
          <volume>279</volume>
          {
          <fpage>292</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Dierks</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jagannathan</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Output feedback control of a quadrotor UAV using neural networks</article-title>
          .
          <source>IEEE transactions on neural networks 21(1)</source>
          ,
          <volume>50</volume>
          {
          <fpage>66</fpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Falconi</surname>
            ,
            <given-names>G.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marvakov</surname>
            ,
            <given-names>V.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Holzapfel</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Fault tolerant control for a hexarotor system using Incremental Backstepping</article-title>
          .
          <source>In: IEEE Conference on Control Applications</source>
          , pp.
          <volume>237</volume>
          {
          <issue>242</issue>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Fantoni</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lozano</surname>
          </string-name>
          , R.:
          <article-title>Non-linear control for underactuated mechanical systems</article-title>
          . Springer-Verlag (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Glazkov</surname>
            ,
            <given-names>T.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Golubev</surname>
            ,
            <given-names>A.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gorbunov</surname>
            ,
            <given-names>A.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krishchenko</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          :
          <article-title>Control of quadcopter motion in the horizontal plane</article-title>
          .
          <source>AIP Conference Proceedings</source>
          <volume>2116</volume>
          ,
          <issue>380003</issue>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Golubev</surname>
            ,
            <given-names>A.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thway</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gorbunov</surname>
            ,
            <given-names>A.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krishchenko</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Utkina</surname>
            <given-names>N.V.</given-names>
          </string-name>
          :
          <article-title>Construction of quadrocopter programmed motion in a at labyrinth</article-title>
          .
          <source>AIP Conference Proceedings</source>
          <volume>2116</volume>
          ,
          <issue>380004</issue>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Khatoon</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gupta</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Das</surname>
            ,
            <given-names>L. K.</given-names>
          </string-name>
          :
          <article-title>PID &amp; LQR control for a quadrotor: Modeling and simulation</article-title>
          .
          <source>In: 2014 International Conference on Advances in Computing Proceedings, Communications and Informatics</source>
          , pp.
          <volume>796</volume>
          {
          <issue>802</issue>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Krstic</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kanellakopoulos</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kokotovic</surname>
            ,
            <given-names>P.V.</given-names>
          </string-name>
          :
          <article-title>Nonlinear and adaptive control design</article-title>
          . John Wiley and Sons, New York (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Loianno</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brunner</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McGrath</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kumar</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Estimation, control, and planning for aggressive ight with a small quadrotor with a single camera and IMU</article-title>
          .
          <source>IEEE Robotics and Automation Letters</source>
          <volume>2</volume>
          (
          <issue>2</issue>
          ),
          <volume>404</volume>
          {
          <fpage>411</fpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Luukkonen</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Modelling and control of quadcopter</article-title>
          .
          <source>Independent research project in applied mathematics</source>
          , http://sal.aalto. /publications/pdf- les/ eluu11 public.pdf.
          <source>Last accessed 14 Sept 2020</source>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Madani</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benallegue</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Backstepping control for a quadrotor helicopter</article-title>
          .
          <source>In: 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems Proceedings</source>
          , pp.
          <volume>3255</volume>
          {
          <issue>3260</issue>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Nguyen</surname>
            ,
            <given-names>N.T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Prodan</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stoican</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lefevre</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Reliable nonlinear control for quadcopter trajectory tracking through di erential atness</article-title>
          .
          <source>IFAC-PapersOnLine</source>
          <volume>50</volume>
          (
          <issue>1</issue>
          ),
          <volume>6971</volume>
          {
          <fpage>6976</fpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Rashid</surname>
            ,
            <given-names>M.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Akhtar</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Adaptive control of a quadrotor with unknown model parameters</article-title>
          .
          <source>In: 9th International Bhurban Conference on Applied Sciences and Technology Proceedings</source>
          , pp.
          <volume>8</volume>
          {
          <issue>14</issue>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Sanchez-Cuevas</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heredia</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ollero</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Characterization of the aerodynamic ground e ect and its in uence in multirotor control</article-title>
          .
          <source>International Journal of Aerospace Engineering</source>
          .
          <year>2017</year>
          , (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Shi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wu</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chou</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Generalized extended state observer based high precision attitude control of quadrotor vehicles subject to wind disturbance</article-title>
          .
          <source>IEEE Access 6</source>
          ,
          <issue>32349</issue>
          {
          <fpage>32359</fpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Spedicato</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Notarstefano</surname>
          </string-name>
          , G.:
          <article-title>Minimum-time trajectory generation for quadrotors in constrained environments</article-title>
          .
          <source>IEEE Transactions on Control Systems Technology</source>
          <volume>26</volume>
          (
          <issue>4</issue>
          ),
          <volume>1335</volume>
          {
          <fpage>1344</fpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , Liu,
          <string-name>
            <surname>J.</surname>
          </string-name>
          :
          <article-title>Adaptive formation control of quadrotor unmanned aerial vehicles with bounded control thrust</article-title>
          .
          <source>Chinese Journal of Aeronautics</source>
          <volume>30</volume>
          (
          <issue>2</issue>
          ),
          <volume>807</volume>
          {
          <fpage>817</fpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <article-title>Simulink Support Package for Parrot Minidrones</article-title>
          . https://www.mathworks.com/ help/supportpkg/parrot.
          <source>Last accessed 14 Sept 2020</source>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>