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