=Paper= {{Paper |id=Vol-2783/paper08 |storemode=property |title=Nonlinear Quadrotor Control Based on Simulink Support Package for Parrot Minidrones |pdfUrl=https://ceur-ws.org/Vol-2783/paper08.pdf |volume=Vol-2783 |authors=Alexey Golubev,Timur Glazkov |dblpUrl=https://dblp.org/rec/conf/birthday/GolubevG20 }} ==Nonlinear Quadrotor Control Based on Simulink Support Package for Parrot Minidrones== https://ceur-ws.org/Vol-2783/paper08.pdf
Nonlinear Quadrotor Control Based on Simulink
  Support Package for Parrot Minidrones ? ??

                   Alexey E. Golubev1[0000−0002−1511−4583] and
                     Timur V. Glazkov2[0000−0002−2409−2910]
          1
             Bauman Moscow State Technical University, Moscow, Russia
                                v-algolu@hotmail.com
       2
         Ishlinsky Institute for Problems in Mechanics RAS, Moscow, Russia
                                   t.glazkov@bk.ru



       Abstract. This paper deals with nonlinear control design for Parrot
       Mambo or Parrot Rolling Spider quadcopters using the Simulink Sup-
       port Package for Parrot Minidrones. A full rigid body model of the flying
       vehicle that doesn’t assume smallness of the Euler angles is considered.
       For synthesis of the control the nonlinear dynamics inversion and inte-
       grator backstepping approaches are used. Block diagrams illustrate how
       the control laws are applied to Parrot Minidrone flight control and can
       be used in nonlinear control education. Exercises to design nonlinear
       Parrot Minidrone control algorithms as Simulink Subsystem blocks are
       suggested.

       Keywords: Nonlinear control · Control education · Quadrotor UAVs ·
       Integrator backstepping.


1    Introduction

During the last two decades control of quadrotors became extremely popular
among control theorists and practitioners. There are many reasons for such pop-
ularity. 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 con-
trast 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.
    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 prob-
lems different 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
?
   This work is supported by the Russian Foundation of Basic Research (projects 19-
   07-00817 and 20-07-00279)
??
   Copyright c 2020 for this paper by its authors. Use permitted under Creative Com-
   mons License Attribution 4.0 International (CC BY 4.0).
114    A. E. Golubev, T. V. Glazkov

networks (see e.g. [2]). Unknown model parameters, in particular, uknown quad-
copter 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 influence
of external uncontrolled disturbances, e.g. wind, and to satisfy state and control
constraints during quadrotor motion, see e.g. [14–16].
    The main feature of the current paper is that the suggested nonlinear con-
trol algorithms and the corresponding block diagrams are presented for the
purpose of implementation on the Parrot Minidrones (Parrot Mambo or Par-
rot Rolling Spider) using the Simulink Support Package for Parrot Minidrones
(SSPPM) [18]. This package is included in the Matlab environment and is be-
ing actively developed. SSPPM allows to create Parrot Minidrones flight control
algorithms using Simulink blocks and deploy control algorithms directly on the
drone via a Bluetooth wireless network.
    Parrot Minidrones together with the SSPPM can be considered as a nice and
affordable 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.
    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 identified 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 true-
to-life quadrotor model or real flying device.
    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     Mathematical Model of Quadcopter Motion
Consider a quadcopter rigid body model, with translational and rotational dy-
namics described by the following systems, respectively, (see e.g. [5, 10]):
                                                              
                             − cos γ cos ψ sin θ + sin γ sin ψ
                 mξ¨ = F                                         ,           (1)
                             − cos γ sin ψ sin θ − cos ψ sin γ
                               Nonlinear quadrotor control based on SSPPM         115

                            mz̈ = −mg + F cos θ cos γ                             (2)
and
                                η̇ = Cω,
                                                                                  (3)
                                I ω̇ = M − ω × Iω,
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 rep-
resents 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-fixed frame, I = diag(Ix , Iy , Iz ) is the diagonal inertia matrix,
                                                            
                                 1 − sin γ tg θ − cos γ tg θ
                        C =  0 − cos γ            sin γ     .
                                 0 sin γ sec θ cos γ sec θ

   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
                                                   
                      F           1   1     1    1       f1
                    Mx   0
                        =           l    0 −l      f2  ,
                                                        
                    My   −l 0            l    0   f3 
                      Mz         b/k −b/k b/k −b/k       f4

where fi = kΩi2 is the thrust force of the i-th rotor; k and b are the rotors lift
and drag aerodynamic coefficients, respectively; l is the distance between the
quadrotor center of mass and the rotors.


3     Attitude and Altitude Control
In this section we consider the synthesis of nonlinear control for tracking refer-
ence altitude and angular position trajectories. Let the angular η = η0 (t) and the
altitude z = z0 (t) reference signals be given as twice continuously differentiable
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 defined in this paper.
    Introduce the tracking error variables ez = z − z0 (t), eη = η − η0 (t) and
rewrite the equations (2) and (3) in the variables ez and eη , respectively, as
                                       F
                          ëz = −g +     cos θ cos γ − z̈0 (t)                    (4)
                                       m
and
                   ëη = Ċω + CI −1 M − CI −1 ω × Iω − η̈0 (t).                  (5)
    The control problem is to find F and M such that

                         lim ez (t) = 0,       lim eη (t) = 0.
                        t→+∞                 t→+∞
116       A. E. Golubev, T. V. Glazkov

      Choose the stabilizing control laws as below
                               m
                     F =               (g + z̈0 (t) − k1 ėz − k2 ez ) ,        (6)
                           cos θ cos γ
                                                                        
                M = ω × Iω + IC −1 η̈0 (t) − Ċω − C1 ėη − C2 eη ,             (7)
where k1 > 0, k2 > 0 are positive gain coefficients and C1 > 0, C2 > 0 are
positive definite gain matrices. Then, the equations (4) and (5) with the controls
(6) and (7), respectively, are written as
                    ëz + k1 ėz + k2 ez = 0,   ëη + C1 ėη + C2 eη = 0,       (8)
with the equilibrium point ez = 0, eη = 0 being globally asymptotically stable.
   One can take the gain coefficients k1 > 0, k2 > 0 and matrices C1 > 0,
C2 > 0 to guarantee that |ez | ≤ ∆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 (8) one takes
                Qz (λ) = λ2 + 2ωz λ + ωz2 ,     Qη (λ) = λ2 + 2ωη λ + ωη2 ,
respectively, where ωz = 4.8/tz , ωη = 4.8/tη . This results in k1 = 2ωz , k2 = ωz2
and C1 = 2ωη E, C2 = ωη2 E. Here, E is the identity matrix of size 3 × 3.
   Figure 1 illustrates how the control laws (6) and (7) are applied to Parrot
Minidrone flight control with the help of Simulink Support Package for Parrot
Minidrones. For educational purposes we propose the following exercise.




            Fig. 1. Angular stabilization and altitude control block diagram.


   Exercise 1. Design a nonlinear Parrot Minidrone control algorithm as a
Simulink Subsystem block to track the following reference trajectories:
(a) η0 (t) = [0, 0, 0]T , z0 (t) = 1;
                        T
              [0, 0, 0] , t ≤ 5,
             
(b) η0 (t) = [0, 0, 0.2πt − π]T , t ∈ (5, 15),
             
                [0, 0, 2π]T , t ≥ 15;
             
              5
              P a ti , t ∈ [0, 5],
                      i
    z0 (t) = i=0
             
                1, t ≥ 5.
                                Nonlinear quadrotor control based on SSPPM         117

   In both cases the following initial conditions are suggested: z(0) = ż(0) = 0,
η(0) = ω(0) = 0.
   Hint. In case (b) find the coefficients ai to fulfill the initial and terminal
conditions on z(t).


4     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 differentiable.
     For the convenience sake, introduce the new control variables

                (M̃x , M̃y , M̃z )T = M̃ = Ċω + CI −1 (M − ω × Iω)                (9)

and rewrite the system (3) as
                                        η̈ = M̃ .
    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). Define the tracking error variable eψ = ψ − ψ0 (t). Then, the yaw
tracking control M̃z is written as

                            M̃z = ψ̈0 (t) − k3 ėψ − k4 eψ ,                      (10)

where k3 > 0, k4 > 0 are some positive gain coefficients. Hence, the zero equi-
librium of the closed-loop yaw error dynamics given by

                                ëψ + k3 ėψ + k4 eψ = 0

is globally asymptotically stable.
    Next, the system (1) with control (6) takes the form

                      ξ¨ = (g + z̈0 (t) − k1 ėz − k2 ez )
                                                                                  (11)
                                                               
                                − cos ψ tg θ + sin ψ tg γ sec θ
                           ×                                      .
                                − sin ψ tg θ − cos ψ tg γ sec θ

     To find the x, y tracking control law rewrite the system (11) with control (10)
as                            
                    (IV )      f1
                  ξ       =        − (g + z̈0 − k1 ėz − k2 ez ) sec θ
                               f2
                                                                          (12)
                         cos ψ − sin ψ       0      sec θ         M̃x
                   ×                                                    ,
                         sin ψ cos ψ      sec2 γ tg γ tg θ        M̃y
where fi are nonlinear scalar functions of the state.
   Introduce the tracking error variable eξ = ξ − ξ0 (t) and let G denote the
matrix of coefficients of controls M̃x and M̃y in (12). Then, the x, y trajectory
118       A. E. Golubev, T. V. Glazkov

tracking control is written using nonlinear dynamics inversion as
                                       
                        M̃x               f1    (4)
                                   =G−1 −    + ξ0 (t)
                        M̃y               f2
                                                                        i         (13)
                                          (3)
                                    − C1 eξ − C2 ëξ − C3 ėξ − C4 eξ       .

Here the gain matrices Ci > 0 are such that the zero equilibrium of the resulting
closed-loop system given by
                         (4)          (3)
                        eξ + C1 eξ + C2 ëξ + C3 ėξ + C4 eξ = 0                  (14)

is globally asymptotically stable.
    Additionally, to fulfill the condition keξ k ≤ ∆ξ if t ≥ tξ , where ∆ξ = 0.05eξ (0)
and tξ is the required transient time, one takes

              Qξ (λ) = λ4 + 4ωξ λ3 + 6ωξ2 λ2 + 4ωξ3 λ + ωξ4 , ωξ = 7.8/tξ

as the desired characteristic polynomial of each equation of the system (14). This
choice yields C1 = 4ωξ E, C2 = 6ωξ2 E, C3 = 4ωξ3 E, C4 = ωξ4 E, where E is the
identity matrix of size 2 × 2.
    Figure 2 describes how the control laws (6), (10) and (13) are applied to Par-
rot Minidrone flight control using Simulink Support Package for Parrot Minidrones.
Finally, the following exercise is suggested.




                         Fig. 2. Position control block diagram.



   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, ψ0 (t) = 0.
(b) ξ0 (t) = [cos t, sin t]T , z0 (t) = 1, ψ0 (t) = t + π/2.
                                        ˙
      The initial conditions are ξ(0) = ξ(0) = 0, z(0) = ż(0) = 0, η(0) = ω(0) = 0.
                               Nonlinear quadrotor control based on SSPPM          119

5    Adaptive Control

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.
    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

                          ω × Iω ≡ SIω,   Iω ≡ D(ω)J,
                                                  
                                        0 −ωz ωy
                                  S =  ωz 0 −ωx 
                                       −ωy ωx 0

and the equations (3) can be written as

                                η̇ = Cω,
                                                                                  (15)
                                I ω̇ = M − SD(ω)J.

The reference angular position trajectory tracking problem is to find the con-
trol M such that
                                lim eη (t) = 0,
                                   t→+∞

where eη = η − η0 (t) is the tracking error, η0 (t) is the reference angular position
trajectory.
    To find the stabilizing control M let us use the adaptive integrator backstep-
ping technique, see [8]. To that end, consider first the function

                                             1 T
                                V1 (eη ) =    e eη > 0
                                             2 η
and introduce the error eω = ω − χ1 , where χ1 is the desired reference behavior
of the ω variable to be defined later. The time derivative of V1 (eη ) along the
trajectories of the system (15) is given by

                    V̇1 (eη ) = eTη ėη = eTη [Ceω + Cχ1 − η̇0 (t)] .             (16)

The choice χ1 = C −1 η̇0 (t) − C −1 K1 eη , where K1 > 0 is some positive definite
matrix, transforms (16) into the form

                            V̇1 (eη ) = eTη Ceω − eTη K1 eη .

    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 find the tracking control M consider the
function
                             ˜ = V1 (eη ) + 1 eTω Ieω + 1 J˜T Γa−1 J˜ > 0,
               V2 (eη , eω , J)
                                            2           2
120       A. E. Golubev, T. V. Glazkov

                                                                                 ˜
where Γa > 0 is a positive definite matrix. The time derivative of V2 (eη , eω , J)
along the trajectories of the system (15) is written as

                           ˜ = eTη ėη + eTω I ėω + J˜T Γa−1 J˜˙
            V̇2 (eη , eω , J)
                                                                           ˙
             = eTη Ceω − eTη K1 eη + eTω (M − SD(ω)J − I χ̇1 ) − J˜T Γa−1 Jˆ
                                                                  
             = −eTη K1 eη + eTω C T eη + M − SD(ω)Jˆ − D(χ̇1 )Jˆ
                                    T              ˆ˙
             − J˜T [SD(ω) + D(χ̇1 )] eω − J˜T Γa−1 J,

where χ̇1 = Ċ −1 η̇0 (t) + C −1 η̈0 (t) − Ċ −1 K1 eη − C −1 K1 ėη . To eliminate the
unknown parameter estimation error J˜ one takes
                               ˙                        T
                              Jˆ = −Γa [SD(ω) + D(χ̇1 )] eω .                     (17)

Finally, the choice

                       M = SD(ω)Jˆ + D(χ̇1 )Jˆ − C T eη − K2 eω ,                 (18)

where K2 > 0 is a positive definite matrix, results in

                         V̇2 (eη , eω ) = −eTη K1 eη − eTω K2 eω < 0.

Therefore, for the system (15) in closed-loop form with the control (18) and pa-
rameter update law (17) by the LaSalle-Yoshizawa theorem holds the following:
eη (t) → 0 as t → +∞.
    Next, consider the reference altitude trajectory tracking adaptive control
problem.
    Let m̂ be an estimate of the unknown quadcopter mass m. Define also the
error variable
                                  m̃ = m − m̂.                              (19)
      The control problem is to find F in (4) which guarantees that

                                          lim ez (t) = 0.
                                        t→+∞

    To find the stabilizing control F using the backstepping approach consider
first the function
                                           1
                                 V1 (ez ) = e2z > 0
                                           2
and introduce the error variable ζ = ėz − χ2 , where χ2 is the desired reference
behavior of ėz to be given later. The time derivative of V1 (ez ) is as follows

                                V̇1 (ez ) = ez ėz = ez (ζ + χ2 ) .

The choice χ2 = −c1 ez , where c1 > 0 is some positive constant, gives

                                     V̇1 (ez ) = ez ζ − c1 e2z .
                                Nonlinear quadrotor control based on SSPPM         121

    Notice that the unknown coefficient 1/m of the thrust F in the system (4)
can be written as
                                 1     1    m̃
                                   =     −      .                          (20)
                                m      m̂ mm̂
                                                                   ˙ Finally, to
                                                             ˙ = −m̂.
Additionally, since m is a constant, from (19) follows that m̃
find the tracking control F consider the function

                                             1        1
                 V2 (ez , ζ, m̃) = V1 (ez ) + ζ 2 +       m̃2 > 0.
                                             2      2ka m

Its time derivative along the trajectories of the system (4) in view of (20) is
written as follows
                                                  1      ˙
            V̇2 (ez , ζ, m̃) = ez ėz + ζ ζ̇ +        m̃m̃
                                                 ka m
                                            F                  F m̃
             = ez ζ − c1 e2z + ζ −g +           cos θ cos γ −        cos θ cos γ
                                             m̂                mm̂
                                   1      ˙
             − z̈0 + c1 ėz −          m̃m̂
                                ka m
                                                                          
                       2                     F
             = −c1 ez + ζ ez − g +              cos θ cos γ − z̈0 + c1 ėz
                                            m̂
                                              
                    F                   1 ˙ m̃
             − ζ cos θ cos γ + m̂                   .
                    m̂                  ka        m

To eliminate the unknown values of m and m̃ one chooses

                                ˙ = −ka ζ F cos θ cos γ.
                               m̂                                                  (21)
                                          m̂
   Finally, one takes

                              m̂
                   F =                (g + z̈0 − c1 ėz − ez − c2 ζ) ,             (22)
                          cos θ cos γ

where c2 > 0 is a positive constant, to obtain

                           V̇2 (ez , ζ) = −c1 e2z − c2 ζ 2 < 0.

    Hence, for the system (4) in closed-loop form with the control (22) and pa-
rameter update law (21) by the LaSalle-Yoshizawa theorem one has ez (t) → 0
as t → +∞.
    Figure 3 describes how the control laws (22), (21) and (18), (17) are applied
to Parrot Minidrone flight control using Simulink Support Package for Parrot
Minidrones. Additionally, the following exercise is suggested.
    Exercise 3. Design an adaptive nonlinear Parrot Minidrone control algorithm
as a Simulink Subsystem block to track the reference trajectories given in Exer-
cise 1.
122           A. E. Golubev, T. V. Glazkov




            Fig. 3. Adaptive angular stabilization and altitude control block diagram.



6          Simulation and Experimental Results

Figures 4 – 10 show numerical simulation and experimental results for the Ex-
ercise 1. For numerical simulations we used the values of the quadrotor model
parameters which were taken from the SSPPM files. Figures 4, 5 give attitude
behaviour of the quadrotor under the control laws (6) and (7). The altitude per-
formance for the considered hovering task is shown in figure 6. The quadrotor
body-frame and rotor angular velocities are given in figures 7 – 10. Let us note
that the simulation and experimental results show rather good performance of
the designed station-keeping control laws (6) and (7) on the Parrot Mambo
Minidrone.


           0.2
                                                                            (quadrotor)
          0.15                                                              (quadrotor)
                                                                            & (matlab)
           0.1

          0.05
, , rad




             0

          -0.05

           -0.1

          -0.15

           -0.2
                  0              5                10                 15                   20
                                                  t, s

Fig. 4. Quadrotor pitch and roll angles (rad) versus time (s) (solid lines) and their
simulated values (dashed line).
                               Nonlinear quadrotor control based on SSPPM               123

                 8
                                                       (quadrotor)      (matlab)


        , rad    6



                 4



                 2



                 0


                     0    5                 10                 15                  20
                                           t, s

Fig. 5. Quadrotor yaw angle (rad) versus time (s) (solid line) and its simulated values
(dashed line).




        3
                                        air pressure       ultrasonic    z (matlab)

        2


        1
 z, m




        0


        -1


        -2
             0           5                  10                   15                     20
                                            t, s

Fig. 6. Quadrotor altitude (m) versus time (s) (blue and red lines) and its simulated
values (yellow line).
124              A. E. Golubev, T. V. Glazkov


              0.6
                                       x
                                           (quadrotor)          y
                                                                    (quadrotor)          x
                                                                                             &   y
                                                                                                     (matlab)

              0.4


              0.2
, y , rad/s




                0
     x




              -0.2


              -0.4


              -0.6
                     0             5                     10                         15                          20
                                                         t, s

Fig. 7. Quadrotor angular velocities wx , wy (rad/s) versus time (s) (solid lines) and
their simulated values (dashed line).




                1
                                                                       z
                                                                           (quadrotor)           z
                                                                                                     (matlab)

              0.8


              0.6
, rad/s




              0.4
     z




              0.2


                0


              -0.2
                     0             5                     10                         15                          20
                                                         t, s

Fig. 8. Quadrotor angular velocity wz (rad/s) versus time (s) (blue line) and its sim-
ulated values (red line).
                               Nonlinear quadrotor control based on SSPPM                 125


           300
                                                         1
                                                             (quadrotor)   1
                                                                               (matlab)

           250


           200
 , rad/s




           150
      1




           100


            50


             0
                  0        5                10                       15                   20
                                            t, s

Fig. 9. Quadcopter rotor angular velocity Ω1 (rad/s) versus time (s) (blue line) and
its simulated values (red line).




             0
                                                     2
                                                         (quadrotor)       2
                                                                               (matlab)

            -50


           -100
, rad/s




           -150
    2




           -200


           -250


           -300
                  0        5                10                       15                   20
                                            t, s

Fig. 10. Quadcopter rotor angular velocity Ω2 (rad/s) versus time (s) (blue line) and
its simulated values (red line).
126     A. E. Golubev, T. V. Glazkov

7     Conclusion

This paper extended the functionality of the Simulink Support Package for Par-
rot Minidrones (SSPPM) by proposing nonlinear quadrotor control algorithms.
We suggested using Parrot Minidrones together with the SSPPM as a nice and
affordable control laboratory equipment for nonlinear control education. Block
diagrams illustrated how the control laws could be applied to Parrot Minidrone
flight 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.


References
 1. Chen, F., Zhang, K., Wang, Z., Tao, G., Jiang, B.: Trajectory tracking of a quadro-
    tor with unknown parameters and its fault-tolerant control via sliding mode fault
    observer. Proceedings of the Institution of Mechanical Engineers, Part I: Journal
    of Systems and Control Engineering 229(4), 279–292 (2015)
 2. Dierks, T., Jagannathan, S.: Output feedback control of a quadrotor UAV using
    neural networks. IEEE transactions on neural networks 21(1), 50–66 (2010)
 3. Falconi, G.P., Marvakov, V.A., Holzapfel, F.: Fault tolerant control for a hexarotor
    system using Incremental Backstepping. In: IEEE Conference on Control Applica-
    tions, pp. 237–242 (2016)
 4. Fantoni, I., Lozano, R.: Non-linear control for underactuated mechanical systems.
    Springer-Verlag (2002)
 5. Glazkov, T.V., Golubev, A.E., Gorbunov, A.V., Krishchenko, A.P.: Control of
    quadcopter motion in the horizontal plane. AIP Conference Proceedings 2116,
    380003 (2019)
 6. Golubev, A.E., Thway, N., Gorbunov, A.V., Krishchenko, A.P., Utkina N.V.: Con-
    struction of quadrocopter programmed motion in a flat labyrinth. AIP Conference
    Proceedings 2116, 380004 (2019)
 7. Khatoon, S., Gupta, D., Das, L. K.: PID & LQR control for a quadrotor: Model-
    ing and simulation. In: 2014 International Conference on Advances in Computing
    Proceedings, Communications and Informatics, pp. 796–802 (2014)
 8. Krstić, M., Kanellakopoulos, I., Kokotović, P.V.: Nonlinear and adaptive control
    design. John Wiley and Sons, New York (1995)
 9. Loianno, G., Brunner, C., McGrath, G., Kumar, V.: Estimation, control, and plan-
    ning for aggressive flight with a small quadrotor with a single camera and IMU.
    IEEE Robotics and Automation Letters 2(2), 404–411 (2017)
10. Luukkonen, T.: Modelling and control of quadcopter. Independent re-
    search project in applied mathematics, http://sal.aalto.fi/publications/pdf-files/
    eluu11 public.pdf. Last accessed 14 Sept 2020
11. Madani, T., Benallegue, A.: Backstepping control for a quadrotor helicopter. In:
    2006 IEEE/RSJ International Conference on Intelligent Robots and Systems Pro-
    ceedings, pp. 3255–3260 (2006)
12. Nguyen, N.T., Prodan, I., Stoican, F., Lefevre, L.: Reliable nonlinear control for
    quadcopter trajectory tracking through differential flatness. IFAC-PapersOnLine
    50(1), 6971–6976 (2017)
                              Nonlinear quadrotor control based on SSPPM        127

13. Rashid, M.I., Akhtar, S.: Adaptive control of a quadrotor with unknown model
    parameters. In: 9th International Bhurban Conference on Applied Sciences and
    Technology Proceedings, pp. 8–14 (2012)
14. Sanchez-Cuevas, P., Heredia, G., Ollero, A.: Characterization of the aerodynamic
    ground effect and its influence in multirotor control. International Journal of
    Aerospace Engineering. 2017, (2017)
15. Shi, D., Wu, Z., Chou, W.: Generalized extended state observer based high pre-
    cision attitude control of quadrotor vehicles subject to wind disturbance. IEEE
    Access 6, 32349–32359 (2018)
16. Spedicato, S., Notarstefano, G.: Minimum-time trajectory generation for quadro-
    tors in constrained environments. IEEE Transactions on Control Systems Technol-
    ogy 26(4), 1335–1344 (2018)
17. Wang, R., Liu, J.: Adaptive formation control of quadrotor unmanned aerial vehi-
    cles with bounded control thrust. Chinese Journal of Aeronautics 30(2), 807–817
    (2017)
18. Simulink Support Package for Parrot Minidrones. https://www.mathworks.com/
    help/supportpkg/parrot. Last accessed 14 Sept 2020