IET Control Theory & Applications Research Article On-line aerodynamic identification of quadrotor and its application to tracking control ISSN 1751-8644 Received on 3rd July 2017 Accepted on 21st August 2017 E-First on 26th September 2017 doi: 10.1049/iet-cta.2017.0664 www.ietdl.org Wenchao Lei1,2, Chanying Li1,2 1Key Laboratory of Systems and Control, Academy of Mathematics and Systems Science, Chinese Academy of Sciences, Beijing 100190, People's Republic of China 2School of Mathematical Sciences, University of Chinese Academy of Sciences, Beijing 100049, People's Republic of China E-mail: cyli@amss.ac.cn Abstract: This study investigates the aerodynamic effects and the tracking control problem of quadrotor-type unmanned aerial vehicles. The authors first present the on-line identification of the aerodynamic parameters by using the recursive least squares algorithm based on the measurement outputs of the accelerometer. Then, the non-linear discrete-time trajectory tracking controllers with aerodynamic compensation have been designed. Through identifying and compensating the external aerodynamics on line, the simulation results show that the tracking performance has been enhanced, especially when the vehicle is in some flight envelopes where the aerodynamics have significant effects on the quadrotor dynamics, such as the large-acceleration flight regime. 1 Introduction An autonomous unmanned aerial vehicle (UAV) has considerable potential for varieties of applications such as surveillance, search and rescue, remote inspection and mobile sensor network. With the rapid improvements in micro-electro-mechanical system, miniature inertial measurement unit, new material and so on, small-scale UAVs are growing in popularity. In earlier times, fixed-wing unmanned aircrafts have been used mainly for military purpose. Compared with these conventional fixed-wing aerial vehicles, rotary-wing aerial vehicles are capable of vertical take-off and landing and hovering above the target. Therefore, they are more suitable for assignments in limited spaces and for civilian purposes, such as indoor environments, disaster scenes and farming tasks. In recent years, the quadrotor UAV, one type of such rotarywing UAV with four rotors, simple configuration, low-cost sensors and high manoeuvrability, becomes a standard experimental platform for UAV research, such as flight control method, simultaneous localisation and mapping, navigation and formation control [1–3]. The model of quadrotor has been studied by using rigid body dynamics. The corresponding position and attitude control methods are mainly presented for a simplified model derived through the small-angle approximation or the linear approximation [4–6]. The existing investigations on control methods mainly include proportional–integral–derivative, feedback linearisation, sliding mode, backstepping and so on (e.g. [7–12]). However, as a quadrotor is dynamically underactuated and its states are highly coupled, most of the existing simplified models only suit for a quasi-steady flight envelope. For example, a large number of current works model the quadrotor dynamics without considering the complex aerodynamics generated by rotors [9–12]. As a result, the coupled relationship between the dynamics and the aerodynamics has been neglected. Actually, the aerodynamic effects, such as blade flapping and induced drag, have important influence on the vehicle flight performance, as discussed in [4, 13]. On the other hand, these effects are amplified on quadrotor due to its small scale, high sensitivity to aerodynamic perturbation and the complexity of rotor aerodynamics. Therefore, high-performance non-linear control methods are needed to achieve stability, fast response, and robustness to aerodynamic perturbation. In fact, aerodynamic effects have been thoroughly investigated for conventional large-scale helicopters [14, 15]. For the small-scale quadrotor, only a small part of the literature has considered these aerodynamic effects when studying the model and analysing the IET Control Theory Appl., 2017, Vol. 11 Iss. 17, pp. 3097-3106 © The Institution of Engineering and Technology 2017 control performance [5, 13, 16–19]. More specifically, Bouabdallah and Siegwart [5] present the aerodynamic model of rotor but only use it in the simulation model without combining it with the control problem of the dynamics. Hoffmann et al. in [16] have studied three separate aerodynamic effects and validated their influence through flight tests using the Stanford testbed but keep the aerodynamic identification and controller design as the future work. After that, they have further investigated these effects in [17], designed the aerodynamic compensation with a simple flapping model and validated the result in experiments. Besides, Omari et al. [13] have also considered the flapping effect and provided an off-line identification method. Recently, Kaya and Kutay [18] have modelled the aerodynamics of quadrotor with a lumped parameter model and identified the unknown parameters off line through the wind tunnel tests. By using the momentum and blade element theories established for helicopter [15], Bangura et al. [19] have studied the aerodynamic theory of quadrotor in detail, developed several models for different rotor geometries, and discussed the aerodynamic effects. These models are suitable for establishing the interaction between rotor aerodynamics and quadrotor dynamics. Motivated by the above works, we study the influence of aerodynamics on quadrotor dynamics and aim to improve the tracking control performance in this paper. The main contribution is that we propose a method to identify the aerodynamic parameters from the aerodynamic model on line by using the recursive estimation algorithm based on the measurement outputs of the accelerometer, and then design the non-linear discrete-time controllers with aerodynamic compensation for the trajectory tracking problem of quadrotor according to the ‘certainty equivalence principle’ [20]. The designed control laws are easy to implement on digital computers. By simulation, we show that, when the vehicle is in some flight envelopes with large acceleration, the designed trajectory tracking controllers with aerodynamic compensation can improve the tracking performance effectively. Our results not only are consistent with the previous works on analysing aerodynamic effects of quadrotors (e.g. [13, 16–18]), but also provide a more useful on-line implementation method compared with the off-line (static) test approach [18]. Another advantage of this work is that the rotor aerodynamics are based on the blade element theory, so that the proposed models could cover more flight regimes than the commonly used models which are 3097 Fig. 1 ‘ +’ configuration of the quadrotor only based on the momentum theory (e.g. [16, 17]), see Remark 1(ii) in Section 2.3. In addition, unlike the additive-affine disturbance models used in [6], the blade element theory provides us a more detailed aerodynamic disturbance model, which is beneficial to the aerodynamic identification and compensation. In the most works on the trajectory tracking control, the secondary aerodynamic forces are usually regarded as unknown disturbances and overcome by the robustness of the designed controllers, see [9– 12]. From this point, the modelling method under the blade element theory can give us a better understanding of the coupling relationship between the rotor aerodynamics and the frame dynamics. Moreover, compared with the quadrotor dynamic models studied in the majority of the existing literature, our system models remove the small-angle assumption (e.g. [5, 6, 8, 12]) and do not use the linear approximation (e.g. [6]). By this way, we preserve the non-linear characteristics of the original system as much as possible in our model, so that the true dynamics are better approximated and the proposed model serves as a favourable simulation model for the future studies on various control methods. The remaining of this paper is organised as follows: Section 2 introduces the system modelling of quadrotor dynamics and rotor aerodynamics. Section 3 presents the aerodynamic identification method. The non-linear discrete-time trajectory tracking controllers for the quadrotor and the related performance analysis have been developed in Section 4. Section 5 presents the simulation results of the designed tracking controllers with aerodynamic compensation. Concluding remarks are provided in Section 6. 2 ϖi ∈ ℝ, i = 1, 2, 3, 4 denote the angular speeds of rotor i and T i, Hi, Qi denote the magnitudes of its thrust, hub-force and drag torque, respectively. The distance between rotor shaft and CoM is d. The air density and acceleration of gravity are ρ and g, respectively. For each rotor with the same geometric properties, we use r, c, θtw, Nb, Cl and Cd denote its radius, average chord, twist angle, number of blades, lift and drag coefficients, respectively. For calculation, let [ ⋅ ]× denote the skew-symmetric matrix related to the cross product, i.e. [a]×b = a × b, ∀a, b ∈ ℝ3. The notation ^ A, ∀A ∈ ℝ p × q, p, q > 0 denotes the estimation of A. The canonical basis of ℝ3 is {e1, e2, e3}, where e1 = (1, 0, 0)T, e2 = (0, 1, 0)T and e3 = (0, 0, 1)T, and the Euclidean norm in ℝn is denoted by ∥ ⋅ ∥. Finally, for a matrix P ∈ ℝn × n, we use λ(P), λmin(P) and λmax(P) denote its eigenvalues, minimum eigenvalue and maximum eigenvalue, respectively. 2.2 Model of quadrotor dynamics To improve the tracking control performance, we have considered the horizontal force, usually viewed as unknown disturbance in the previous works, in the dynamics. The equations of motion is [4] 2.1 Notations The centre of mass (CoM) of the vehicle is denoted by G. Its mass and inertia matrix are m and J, respectively. Let → → → ℐ ≜ {O; i o, j o, k o} with a fixed point O and ℬ ≜ {G; i , j , k } with k pointing downward be the fixed North-East-Down inertial frame and the right-hand body-fixed frame, respectively. For the simplicity, a ∈ ℝ3[ ↪ ℐ] (or [ ↪ ℬ]) denotes that the vector a ∈ ℝ3 is expressed in frame ℐ (or ℬ). Let ξ ∈ ℝ3[ ↪ ℐ] denote the position of G with respect to (w.r.t.) frame ℐ. The orientation of frame ℬ w.r.t. frame ℐ is given by a rotation matrix R ∈ SO(3) ≜ {A ∈ ℝ3 × 3 | AT A = I3, | A | = 1}, where In denotes the identity matrix in ℝn × n and |A|, ∀A ∈ ℝn × n is the determinant of A. The velocity is v = ξ̇ ∈ ℝ3[ ↪ ℐ], or denote it by V ≜ (V x, V y, V z)T = RTv ∈ ℝ3[ ↪ ℬ]. Moreover, Ω ∈ ℝ3[ ↪ ℬ] is the angular velocity of frame ℬ, w.r.t. frame ℐ. The Euler angle is denoted by η ≜ (ϕ, θ, ψ)T, where roll angle: −π/2 < ϕ < π/2, pitch angle: −π/2 < θ < π/2 and yaw angle: −π < ψ < π. Then, let 3098 Ṙ = R[Ω]×, (2) JΩ̇ = − [Ω]× JΩ + Γ, (3) −H x F ≜ RT f = −Hy − D, (4) −T d(T 4 − T 2) d(T 1 − T 3) Γ= In this section, we present a modified quadrotor dynamic model, which reflects the coupling relationship between aerodynamics and the vehicle states and hence can be used in the aerodynamic identification and designing the improved tracking controllers, as will be shown in Sections 3 and 4. We focus on a class of simple and typical quadrotor with ‘ +’ configuration (see Fig. 1) and assume that the structure of quadrotor is rigid and symmetrical. At first, we introduce the following basic notations. → (1) where f ∈ ℝ3[ ↪ ℐ] and Γ ∈ ℝ3[ ↪ ℬ] are the nonconservative force and torque applied to the vehicle, respectively. In our work, the force and torque are further expressed as System modelling → → → mξ̈ = mge3 + f , 4 ∑ ( − 1)iQi . (5) i=1 The body drag D is modelled by CDxV x Dx 1 D ≜ Dy = ρS V x2 + V y2 + V z2 CDyV y , 2 Dz CDzV z (6) where S is a chosen reference area and {CDx, CDy, CDz} ≪ Cd are the drag coefficients of the whole vehicle [15, 21]. The hub force H x, Hy generated by rotor are Hx = Vx 2 2 Vx + Vy 4 H, Hy = Vy 2 V x + V y2 H, (7) 4 and T = ∑i = 1 T i, H = ∑i = 1 Hi. The rotation matrix is chosen as [9] cθcψ sϕsθcψ − cϕsψ cϕsθcψ + sϕsψ R = cθsψ −sθ sϕsθsψ + cϕcψ cϕsθsψ − sϕcψ sϕcθ cϕcθ (8) with s( ⋅ ) denotes sin( ⋅ ) and c( ⋅ ) for cos( ⋅ ). Note that we have ignored the un-modelled forces, torques and the modelling errors so that we can focus on analysing the aerodynamic effects. IET Control Theory Appl., 2017, Vol. 11 Iss. 17, pp. 3097-3106 © The Institution of Engineering and Technology 2017 2.3 Model of rotor aerodynamics Ti = Now, we establish the model of aerodynamic forces and torques in frame ℬ for the rotors. All the notations with subscript i are defined for rotor i without declaration. Let Cl = Clαα, Hi = Qi = (9) Cd0 1 1 N ρcr3Clαϖi2 μ − θ λ μ + λi2 μi , 4 b Clα i 3 0 i i (10) 1 N ρcr4Cd0ϖi2 1 + 3μi2 + (T iλi + Hi μi)r, 8 b (11) where the symbols ρ, r, c, θtw, Nb are explained in Section 2.1. The rotor hub advance ratio μi and vertical inflow ratio λi are [15, 19] λi = 1 ρcr2Cd0 V x2 + V y2ϖi 2 2 − ρcrθtwClα V x2 + V y2 V iI − V z 3 2 1 1 + ρcClα V x2 + V y2 V iI − V z , 2 ϖi (15) 1 3 ρcr4Cd0ϖi2 + ρcr2Cd0 V x2 + V y2 4 4 1 + T i V iI − V z + Hi V x2 + V y2 , ϖi (16) Cd = Cd0, 1 2 3 N ρcr3Clαϖi2 θtw 1 + μi2 − λi , 4 b 3 2 μi = (14) Hi = where Clα > 0 is the 2D lift-curve-slope of the blade element and assumed to be a constant without serious loss of accuracy, α is the angle of attack and Cd0 > 0 is a constant. By the blade element theory and [19, Equations (67)–(69) in Section 4], the aerodynamics of rotor i including the induced drag and torque caused by the blade flapping effect can be modelled as Ti = 1 1 ρcr3θtwClαϖi2 − ρcr2Clα V iI − V z ϖi 3 2 +2ρcrθtwClα V x2 + V y2 , ∥ V xe1 + V ye2 ∥ = ϖir V x2 + V y2 , ϖir ∥ V iI e3 − V ze3 ∥ V iI − V z = . ϖir ϖir (12) (13) The notation V iI > V z is the vertical induced velocity of the air flow → and its direction always coincides with that of k . Remark 1: i. The blade flapping effect enters this aerodynamic model mainly through the hub force Hi. Its first component with term (Cd0 /Clα)μi corresponds to the profile drag of the rotor blades when it pass through the air. The remaining part including −(1/3)θ0λi μi + λi2 μi is the induced in-plane force induced by the tilting of the tip path plane, i.e. the blade flapping effect, see [19, Equations (53)–(59)]. As a result, the last term T iλi + Hi μi r in (11) has considered both the tilt of the thrust force and the secondary hub force included in Hi (see [19, Equations (60)–(63)]), which are the results of blades flapping phenomenon. Note that, as the influence of blade flapping is so small compared with the thrust force, it has been neglected when modelling T i. ii. Compared with the models based on momentum theory (e.g. [16, 17], models (9)–(13) can cover more general flight regimes, such as vortex ring state, turbulent wake state and so on, because the blade element theory is based on elemental force and torque which does not require the streamtube model and ideal fluid assumptions [15]. iii. Bangura et al. [19] have presented a more complex model of aerodynamics for the ideal rotor blades used in the majority of quadrotors (see [19, Sections 5 and 6]). In fact, the identification method proposed later can easily be extended to this complex model because its expression is similar to the model considered here, i.e. (9)–(13). Qi = where the induced velocity V iI satisfies (see [15]) V iI = T i /2ρπr2 V x2 + V y2 + (V iI − V z)2 . (17) Remark 2: i. Expressions (14)–(16) coincide with the models proposed in [18], where the lumped parameters are calculated through offline wind-tunnel tests and do not used in the control designs. We will show an on-line identification method in Section 3. The identified aerodynamic parameters will help us to compensate the aerodynamic disturbances in real time and lead to the improved tracking controller design in Section 4. ii. By combining (14) and (17), V iI can be solved through some numerical iteration algorithms [15, pp. 97–98], such as the fixed point iteration and Newton–Raphson iteration by setting I V hover = (mg/4)/(2ρπr2), the induced velocity in hovering state, as the initial value. Then, we propose the following rearranged aerodynamic model: T i = T im + δTi, (18) Hi = Him + δHi, (19) Qi = Qim + δQi, (20) where the main terms are T im = kTmϖi2, kTm Him = kHm V x2 + V y2ϖi, kHm Qim = kQmϖi2, kQm 1 ρcr3θtwClα, 3 1 ≜ ρcr2Cd0, 2 1 ≜ ρcr4Cd0, 4 ≜ and the secondary terms δTi, δHi and δQi are the remaining parts of T i, Hi and Qi, see (14)–(16). With (18)–(20), the thrust T and torque Γ in (4) and (5) can be decomposed as T = T m + δT , 4 Γ = Γm + δΓ, (21) 4 where T m = ∑i = 1 T im, δT = ∑i = 1 δTi and Choosing Nb = 2 (this means that each rotor owns two blades) and substituting (12)–(13) into (9)–(11), we have IET Control Theory Appl., 2017, Vol. 11 Iss. 17, pp. 3097-3106 © The Institution of Engineering and Technology 2017 3099 Γm = d(T 4m − T 2m) d(δT4 − δT2) d(T 1m − T 3m) d(δT1 − δT3) 4 ∑ ( − 1) Qim i , δΓ = i=1 4 Φk = ∑ ( − 1) δQ i i=1 . −V x, kφ1, k On-line aerodynamic identification The aerodynamic identification is mainly accomplished on line by virtue of the outputs of the accelerometer and using the recursive least squares (RLS) algorithm. We assume that S is given, the basic propeller characteristics c, r, θtw and air density ρ are already measured through the material properties of rotors and other onboard sensors. Denote the unknown aerodynamic parameters Clα, Cd0 and CDx, CDy, CDz as T ϑC = Cd0, Clα, CDx, CDy, CDz . A three-axis accelerometer measures the non-gravitational acceleration acting on the vehicle and its measurement is expressed in frame ℬ, see [22] for a more detailed discussion. The measured data can be modelled by [4, 22] Aaccel = 1 F + Baccel + Waccel, m (22) where Aaccel ∈ ℝ3[ ↪ ℬ] denotes its output, Baccel ∈ ℝ3 is a constant bias vector and vector Waccel ∈ ℝ3 represents the measurement noise. We assume that each component of Waccel is the white Gaussian noise. Remark 3: In most of the existing works, an accelerometer is used to obtain the attitude information [4, 23]. The reason is that the acceleration of a vehicle is very small under most circumstances, such as indoor environments or the quasi-steady flight modes. As a result, combining (1) and (4) results (1/m)F ≃ − RTge3, and hence T Aaccel ≃ − R ge3 + Baccel + Waccel . (23) Then, this approximated model combined with the output of the three-axis gyroscope can be used to estimate the attitude information. However, when the vehicle has large acceleration, the accelerometer cannot provide correct attitude information through (23). Therefore, as discussed in [13, 22], we use (22) to estimate the aerodynamic parameters and hence could avoid the smallacceleration assumption. We also emphasise that the effects of aerodynamic forces and torques are especially important when the vehicle suffers large acceleration because the aerodynamics change rapidly in this case, see (14)–(16) and the simulation results shown in Section 5. Without loss of generality, we ignore the device bias Baccel as it can be calibrated in advance, i.e. Baccel = 0 in (22). Let the sampling period be h and the subscript k means the variables take values at time t = kh. Then, by (4), (7) and (14) and (15), model (22) is simplified as the following discrete-time model: Yk = ΦTk ϑC + Wk, where for T k ≥ 0, Yk ≜ yx, k, yy, k, yz, k ∈ ℝ3 k ≥ 0, 3 and Wk ≜ wx, k, wy, k, wz, k ∈ ℝ denote the values of sensor output Aaccel and measurement noise Waccel at time t = kh, respectively. The regression matrix Φk satisfies 3100 Φbody, k T ∈ ℝ5 × 3, where i Similarly, the hub forces H x, Hy can be calculated directly through (7) and (19). Now, these aerodynamic models establish the connection between rotor aerodynamics and the vehicle states. They will be used in the following identification process and controller design. 3 1 Φ m rotor, k −V x, kφ2, k Φrotor, k ≜ −V y, kφ1, k −V y, kφ2, k , 0 −φ3 and Φbody, k ≜ φ4, kdiag{ − V x, k, − V y, k, − V z, k}. The regressors φ j, j = 1, 2, 3, 4 are defined as follows: φ1 = 4 1 ρcr2 ∑ ϖi, 2 i=1 4 4 2 1 1 φ2 = − ρcrθtw ∑ (V iI − V z) + ρc ∑ (V iI − V z)2 , 3 2 i=1 ϖi i=1 φ3 = 4 4 1 1 ρcr3θtw ∑ ϖi2 − ρcr2 ∑ (V iI − V z)ϖi 3 2 i=1 i=1 +8ρcrθtw(V x2 + V y2), 1 φ4 = ρS V x2 + V y2 + V z2 . 2 For any given symbol s ∈ {x, y}, denote T ϑs ≜ Cd0, Clα, CDs , Φs, k ≜ 1 T −V s, kφ1, k, − V s, kφ2, k, − V s, kφ4, k , m and, for s = z, T ϑz ≜ Clα, CDz , Φ z, k ≜ 1 T −φ3, k, − V z, kφ4, k . m Then, we get three linear regression models ys, k = ΦTs, kϑs + ws, k, k ≥ 0, s ∈ {x, y, z} . For each s ∈ {x, y, z}, the following well-known RLS algorithm can be used to estimate parameter ϑs [20]: ^ ^ ϑs, k + 1 = ϑs, k + Ks, kεs, k, ^ εs, k = ys, k − ΦsT, kϑs, k, Ks, k = Ps, kΦs, k ΦsT, k Ps, kΦs, k + 1 (24) −1 , Ps, k + 1 = Ins − Ks, kΦTs, k Ps, k, ^ where ns is the dimension of ϑs. The initial value ϑs, 0 and Ps, 0 = δPs, 0 Ins with δPs, 0 > 0 are taken arbitrarily. However, some better initial value can be chosen if we have some prior information as discussed in the following Remark 4. Note that (24) can be easily applied on line in a digital computer. As the rotor aerodynamic coefficients Cd0, Clα are estimated ^ multiple times at each sampling time, i.e. Cd0, s, k for s ∈ {x, y} and ^ Clα, s, k for s ∈ {x, y, z}, we simply combine them with some weights βd0, s, k ≥ 0, s ∈ {x, y}, βlα, s, k ≥ 0, s ∈ {x, y, z} in this work, i.e. the final values of the estimated rotor aerodynamic coefficients are given by ^ ^ ^ Cd0, k = βd0, x, kCd0, x, k + βd0, y, kCd0, y, k (25) IET Control Theory Appl., 2017, Vol. 11 Iss. 17, pp. 3097-3106 © The Institution of Engineering and Technology 2017 ^ ^ ^ Clα, k = βlα, x, kClα, x, k + βlα, y, kClα, y, k (26) ^ +βlα, z, kClα, z, k, where ∑s ∈ {x, y} βd0, s, k = 1 and ∑s ∈ {x, y, z} βlα, s, k = 1. According to the structure of Φs, k, it is reasonable to choose βd0, x, k βlα, x, k |V x, k| = = , βd0, y, k βlα, y, k |V y, k| βlα, z, k = 1 − ε, and ε ≥ 0 is small enough. ^ ^ Next, we obtain the estimated rotor aerodynamics T i(t), H i(t), ^ ^ Qi(t) and body drag D(t) at each time interval [kh, (k + 1)h] by replacing the values of Clα, Cd0 and CDx, CDy, CDz in (6) and (14)– (16) with the estimated values given by (24)–(26) at each sampling ^ ^ ^ time t = kh. Furthermore, the estimated aerodynamics D, H x, H y, ^ ^ ^ ^ ^ ^ ^ T m, Γm, δT , δΓ and the estimated coefficients kTm, k Hm, kQm could also be calculated and used in the tracking controllers. 4 Tracking controller design with aerodynamic compensation In this section, we show how to design discrete-time control laws so that the position of the vehicle ξ ∈ ℝ3 could track a given desired trajectory ξd ∈ ℝ3. The secondary terms of forces and torques (caused by D, δTi, Hi and δQi) will be compensated through the aerodynamic identification results simultaneously. We assume that the states of the quadrotor have been measured from the onboard sensors or estimated from the embedded state estimators in the flight controllers with high accuracy [8, 23]. Hence, states ξ, v, η, Ω and ϖi, i = 1, 2, 3, 4 can be used in the parameter estimators and the feedback controllers directly. Also let the mass m and the inertial matrix J of the quadrotor be known (e.g. [24]). In the following controller design, the main thrust T m and main torque Γm are chosen as the control inputs. In fact, they are completely determined by four rotor speeds ϖi, i = 1, 2, 3, 4 through the following relationship: T m, Γm T T = Πm ϖ12, ϖ22, ϖ32, ϖ42 , (27) where the allocation matrix Πm ≜ kTm kTm kTm kTm 0 −dkTm 0 dkTm dkTm 0 −dkTm 0 −kQm kQm −kQm kQm . The coefficients kTm, kQm are defined in Section 2.3 and their initial estimated values can be measured through static thrust test [18] as discussed in the following Remark 4(ii). Remark 4: i. After designing T m, Γm, the rotor speed ϖi, i = 1, 2, 3, 4 are solved from (27) by replacing the coefficients kTm, kQm in Πm ^ ^ with the estimated values kTm, kQm in our simulation. ii. The static test results correspond to (14)–(16) with V = 0. By combining (14) and (17), it is easy to calculate that 1 T i, static ≜ kT , staticϖi2 = kTmϖi2 − ρcr2ClαV iI, staticϖi, 2 where V iI, static ≜ 1 1 2 2 2 1 c C + crθ C − cC ϖ . 2 16π 2 lα 3π tw lα 8π lα i IET Control Theory Appl., 2017, Vol. 11 Iss. 17, pp. 3097-3106 © The Institution of Engineering and Technology 2017 According to the parameters given in Section 5, the last term (1/2)ρcr2ClαV iI, staticϖi is relatively small and hence kT , static can be chosen as the initial estimated value of kTm. The same analysis is applied to static torque Qi, static and leads to Qi, static ≜ kQ, staticϖi2 = kQmϖi2 + T i, staticV iI, static 1 . ϖi The considered system is underactuated, since there are six degrees of freedom and only four independent control inputs. Moreover, we should note that these inputs are idealised. In practise, the motor dynamics must overcome the load drag torques to achieve the desired speeds. Hence, a hierarchical control architecture is usually adopted for controlling the translational dynamics [9, 10, 25]. The lowest-level controls the motor speeds ϖi, i = 1, 2, 3, 4. The middle-level is designed to control the attitude. Finally, the top-level is in control of position to track the given desired trajectory. In our work, we do not consider the motor control loop and hence the control inputs are given by (27) directly. 4.1 Position control For any given position ξd with velocity vξd ≜ ξ̇d and acceleration aξd ≜ ξ̈d to be tracked, let the tracking errors be eξ ≜ ξ − ξd, ev ≜ v − vξd and the virtual position tracking control input uξd = ge3 + 1 f − aξd . m (28) Under the sampling period h, the translational dynamics (1) becomes the following discrete-time system: eξ, k + 1 ev, k + 1 I3 = 0 h2 hI3 eξ, k I3 + 2 uξd, k . I3 ev, k hI3 (29) The classical proportional–integral form controller gives us the following discrete-time feedback control law: uξd, k = − Kξd, peξ, k + Kξd, dev, k, (30) where the diagonal matrix 0 < Kξd, p, Kξd, d ∈ ℝ3 × 3. As we mainly show how to compensate the aerodynamics in the feedback controller and its influence on tracking performance, the integral of the tracking error has not been considered here. Now, the designed virtual control law uξd, k is used to design T m, k and give the desired attitude ηd, k (or Rd, k). From the expression of F in (4), it yields that f = −R(H x + Dx)e1 − R(Hy + Dy)e2 −R(T m + δT + Dz)e3 . (31) Substituting the estimated aerodynamics (see Section 3) into (31) according to the certainty equivalence principle and combining it with (28) and (30), the desired attitude should satisfy ^ ^ uT , k ≜ Rd, k T m, k + δT , k − 1 + Dz, k e3 ^ ^ ^ ^ ≃ −Rd, k − 1 H x, k − 1 + Dx, k e1 −Rd, k − 1 H y, k − 1 + Dy, k e2 (32) −m uξd, k − ge3 + aξd, k . The notation uT , k ≜ (uT x, k, uT y, k, uTz, k)T[ ↪ ℐ] denotes the desired thrust. Remark 5: We have introduced a sampling delay for the desired attitude Rd in the right hand side of (32) to overcome its unsolvability, which means that the compensation of hub force has 3101 a sampling delay. The initial value of Rd is set to be Rd, − 1 = I3. At ^ ^ ^ the same time, the estimated secondary aerodynamics δT , H x, H y caused by rotors are taking values at t = (k − 1)h, because we have the rotor speeds ϖi, k − 1, i = 1, 2, 3, 4 and will design ϖi, k, i = 1, 2, 3, 4 by combining (27), the following (33) and (40) where the same sampling delay strategy has been used. Then, by taking the Euclidean norm on both sides of (32) and note that ∥ Rd, ke3 ∥ = 1, the main thrust is given by ^ ^ T m, k = ∥ uT , k ∥ − δT , k − 1 − Dz, k . (33) Moreover, with the predesigned yaw angle ψ d, (32) gives the desired roll angle and pitch angle through ϕd, k = arcsin uT x, ksin ψ d, k − uT y, kcos ψ d, k , ∥ uT , k ∥ (34) θd, k = arctan uT x, kcos ψ d, k + uT y, ksin ψ d, k . uT z, k (35) Hence, we obtain the desired attitude ηd, k = ϕd, k, θd, k, ψ d, k sampling time t = kh. T at Remark 6: To generate the desired attitude, we require that the vertical thrust satisfies uTz, k ≠ 0 (subscript z denotes the third component of a vector). According to (8) and (32), we need uξd, z, k ≠ ^ 1 ^ H x, k − 1 + Dx, k sθd, k − 1 m ^ which gives a singular point of uξd, z, k when designing uξd, k by (30). This can easily be modified as uξd, z, k = ūξd, z, k + ϵ with a small enough ϵ > 0 in the digital computer. To estimate the first and second derivatives of ϕd, we view its third derivative ϕ⃛ d as disturbance and then the following high-gain observer [26]: 0 e AosdsBo ϕd, k, (36) where −l1 1 0 Ao = −l2 0 1 , −l3 0 0 l1 Bo = l2 l3 with constants l1, l2, l3 > 0, gives the estimated values of ϕ̇d and ϕ̈d ^ ^ at t = kh, i.e. ϕ̇d, k = xϕ, 2, k, ϕ̈d, k = xϕ, 3, k. The initial value can be set as xϕ, 1, − 1, xϕ, 2, − 1, xϕ, 3, − 1 ^ ^ T = 0, 0, 0 T. The same observer is designed to get θ̇d, k and θ̈d, k. Finally, we assume ψ̇ d, ψ̈ d are given. By combining (34)–(36), the desired value of η̇d, η̈d at t = kh are ^ ^ T ^ ^ T −sϕ (37) the attitude dynamics can be transformed as η̈ = −1 d W −1(η) dη̇ d W (η)Ω = = Ω + W −1(η)Ω̇ dt dt dt = −W −1(η) Ẇ(η)W −1(η)Ω − Ω̇ (38) = −W −1(η) Ẇ(η)W −1(η)Ω + J−1 [Ω]× JΩ − Γm − δΓ ≜ uηd + η̈d . Γm, δΓ are defined before and uηd is the virtual tracking control input for attitude dynamics. Then, the same discrete-time PD controller design as shown in (29) and (30) yields uηd, k = Kηd, peη, k + Kηd, deη̇, k, (39) where eη ≜ η − ηd, eη̇ ≜ η̇ − η̇d and the diagonal matrix 0 < Kηd, p, Kηd, d ∈ ℝ3 × 3. Note that the value of η̇ is calculated through (37) and it is also used to compute matrix Ẇ(η). Combining the definition of uηd in (38) with (39) results the following main torque input: ^ +g − aξd, z, k ≜ ūξd, z, k, h −sθ sϕcθ η̇ ≜ W(η)η̇, cϕcθ +[Ωk]× JΩk − δΓ, k − 1 . − H y, k − 1 + Dy, k sϕd, k − 1cθd, k − 1 ∫ 0 cϕ Γm, k = J W(ηk) uηd, k + η̈d, k + Ẇ(ηk)W −1(ηk)Ωk ^ xϕ, 1, k xϕ, 1, k − 1 xϕ, 2, k = e Aoh xϕ, 2, k − 1 + xϕ, 3, k − 1 xϕ, 3, k 1 Ω= 0 0 η̇d, k = ϕ̇d, k, θ̇d, k, ψ̇ d, k , η̈d, k = ϕ̈d, k, θ̈d, k, ψ̈ d, k . 4.2 Attitude control According to (3) and the following standard kinematic relationship: (40) The secondary torque δΓ is replaced by its estimated value according to the certainty equivalence principle. 4 Remark 7: Let T static ≜ ∑i = 1 T i, static and d(T 4, static − T 2, static) Γstatic ≜ d(T 1, static − T 3, static) 4 ∑ ( − 1)iQi static i=1 . , Note that, this static thrust and torque allocation structure has been adopted in a large amount of literature on quadrotor control, such as [5, 6, 8–12]. Then, compared with the following classical thrust and torque controllers without aerodynamic compensation T static, k = ∥ − m uξd, k − ge3 + aξd, k ∥ , Γstatic, k = J W(ηk) uηd, k + η̈d, k + Ẇ(ηk)W −1(ηk)Ωk +[Ωk]× JΩk, the tracking controllers we proposed in (33) and (40) can not only identify the allocation matrix Πm on line but also compensate the estimation of the secondary aerodynamics (such as hub forces and induced drags) simultaneously. As a result, the final control design process has utilised the real-time information contained in the thrust and torque models. 4.3 Performance analysis To verify the effectiveness of the controllers designed in Sections 4.1 and 4.2, we give a performance analysis of the corresponding closed-loop systems here. For the translational dynamics, decompose the non-conservative force in (4) as F = Fm + δF with Fm ≜ − T me3 and δF ≜ − (H x + Dx)e1 − (Hy + Dy)e2 − (δT + Dz)e3. Assume that ~ ^ ∥ δF ∥ ≤ M1 and the aerodynamic estimated error δ F ≜ δF − δF 3102 IET Control Theory Appl., 2017, Vol. 11 Iss. 17, pp. 3097-3106 © The Institution of Engineering and Technology 2017 ~ satisfies ∥ δ F ∥ < ϵ1 for some small non-negative ϵ1 ≪ M1, where ^ ^ ^ ^ ^ ^ ^ δF ≜ − (H x + Dx)e1 − (H y + Dy)e2 − (δT + Dz)e3. For the attitude ~ ^ dynamics, define δ Γ ≜ δΓ − δΓ. We also assume that ~ ∥ δ Γ ∥ ≤ ϵ2 ≪ M2 with M2 being the bound of the norm of δΓ. Finally, we ignore the sampling delay introduced in (32), (33) and (40). It is easy to see that, under the control laws given by (28)–(33) and (39) and (40), the error dynamics of both translational dynamics and attitude dynamics can reduce to the following cascade form with a proper dimension ẋ1 = x2, (41) ẋ2 = − k p x1 − kd x2 + dx, k p, kd > 0. (42) ~ Since ϵ1 ≪ M1, then ∥ m−1 Rδ F ∥ ≪ ∥ m−1 RδF ∥. As a result, by (43), it is easy to see the ultimate bound of (eξT, evT)T under the controllers with aerodynamic compensation is significantly smaller than that in the case without compensation. The similar conclusion holds for the attitude dynamics. 5 Consider a quadrotor with the constant parameters given in Table 1, where the mass and distance parameters are measured from our actual vehicle, the rotor aerodynamic coefficients are calculated in the curve fitting toolbox of MATLAB by using the off-line test data, and the body drag coefficients are chosen such that {CDx, CDy, CDz} ≪ Cd0. Finally, the following inertia matrix is computed according to [21, Equations (1a)–(1e)]: For the position, by ignoring the underlying attitude tracking error in (30), we have x1 = eξ, x2 = ev, k p = Kξd, p, kd = Kξd, d and J= ~ dx = − m−1 Rδ F for the controller with aerodynamic compensation or dx = − m−1 RδF for the controller without aerodynamic compensation. Furthermore, the attitude dynamics correspond to ~ x1 = eη, x2 = eη̇, k p = Kηd, p, kd = Kηd, d and dx = W −1 J−1δ Γ or dx = W −1 J−1δΓ. As a results, we just need to consider the one-dimensional case of cascade system (41) and (42). Now, assume |dx | ≤ Mdx for some constant Mdx > 0 (corresponds to ϵ1, ϵ2 and M1, M2) and let x ≜ (x1, x2)T, Δ x ≜ (0, dx)T, A≜ 0 −k p 1 . −kd k p p22 + kd 1 1 p22 , Q=2 kp 0 0 kd p22 − 1 0.9560 0 0.1019 0 0.1019 0.9417 0.1019 × 10−2 kg ⋅ m2 . 0.1019 1.8762 In our simulation, the basic non-linear models (1)–(13) and (17) are viewed as the true system with Euler difference time Δt = 0.0001 s. The superiority of the proposed controller with aerodynamic compensation are exhibited in the following two examples for this quadrotor. Example 1: For illustrating the tracking performance of the designed non-linear discrete-time controllers (33) and (40), we choose the following desired rectangle trajectory motivated by Huang et al. [17]. For a given end time T end > 0 and constant v0 > 0, we set The system (41) and (42) can be rewritten as ẋ = Ax + Δ x. By k p, kd > 0, we see A is Hurwitz. Then, according to [26, Theorem 4.6], for any given positive definite symmetric matrix Q, there exists a positive definite symmetric matrix P that satisfies the Lyapunov equation PA + AT P = − Q. For simplicity, in our analysis, set P= Simulation results ξd = 0≤t< T v0T end v0T end , v0t − , −5 , 4 4 T end T end ≤t< , 4 2 T 3v0T end v0T end − v0t, , −5 , 4 4 T end 3T end ≤t< , 2 4 3T end ≤ t ≤ T end, 4 0, v0T end − v0t, − 5 T, , T end , 4 v0t, 0, − 5 T, which owns large acceleration in the four corners. The desired yaw angle is ψ d ≡ 0, i.e. always points the north. Note that, ξd is expressed in frame ℐ and hence the third element of ξd is where constant p22 > 1/kd > 0. Choose the Lypunov function as V(x) = xT Px. Then V̇(x) = xT PA + AT P x + 2xT PΔ x = − xTQx + 2xT PΔ x T Table 1 Parameters of the quadrotor used in simulation Parameters values 2 22 ≤ − x Qx + 2 1 + p Mdx ∥ x ∥ ≤ −(1 − γ)λmin(Q) ∥ x ∥2 2 − γλmin(Q) ∥ x ∥ − 2 1 + p22 Md x ∥ x ∥ ≤ −(1 − γ)λmin(Q) ∥ x ∥2 , ∀∥x∥ ≥ 2 2 1 + p22 Md x , γλmin(Q) where γ ∈ (0, 1) and λmin(Q) = 2 min {k p, kd p22 − 1}. Finally, according to [26, Theorem 4.18], we conclude that, there is a T ≥ 0 such that ∥ x(t) ∥ ≤ 2 λmax(P) 1 + p22 Md2 x 2 2 λmin(P)γ min {k p, kd p22 − 1} , ∀t ≥ T, where the eigenvalues of P are λ(P) = (k p + 1)p22 + kd ± 2 (k p − 1)p22 + kd + 4 . 2 IET Control Theory Appl., 2017, Vol. 11 Iss. 17, pp. 3097-3106 © The Institution of Engineering and Technology 2017 (43) m d r c θtw 0.985 kg 0.225 m 0.120 m 0.025 m S Clα πd 2 3.320 15∘ Cd0 0.220 CDx 0.010 CDy 0.010 CDz 0.020 kTm 1.508 × 10−5 N/(rad/s)2 kHm 4.772 × 10−5 N/(rad/s)2 kQm 3.436 × 10−7 N ⋅ m/(rad/s)2 g ρ 9.810 m/s2 1.205 kg/m3 3103 Fig. 3 On-line aerodynamic parameters identification results of Example 1. Note that, the time starts at t = 10 s in this figure → can be further seen in Fig. 2, where −k o has been used to denote the direction of the altitude. Then, we set T end = 60 s, v0 = 5 m/s, and the sampling period h = 0.01 s. The initial states of quadrotor are ξ0 = 0.2, − 0.2, − 0.1 T, T ξ̇0 = ξ̈0 = 0, 0, 0 T, η0 = 1 , − 1 , 5 , η̇0 = η̈0 = 0, 0, 0 T . The parameters of high-gain observer satisfy l1 = 3ωo, l2 = 3ωo2 , l3 = ωo3 , ωo = 6. The controller parameters are given by ∘ Fig. 2 Simulation results of Example 1 → (a) Trajectory tracking results, (b) Tracking results in the direction of − k o, (c) Induced velocities of four rotors, (d) Time averages of the tracking error norms ∥ eξ ∥ and ∥ eη ∥ → in the direction of k o, i.e. pointing downward. As a result, we set the third element of ξd as −5 to get a non-negative altitude. This 3104 ∘ ∘ Kξd, p = diag{0.3, 0.3, 0.3}, Kξd, d = diag{0.9, 0.9, 0.9}, Kηd, p = diag{0.8, 0.8, 0.8}, Kηd, d = diag{2.4, 2.4, 2.4} . We need to adjust these parameters so that the attitude control loop obtains a faster convergence speed than that of the position control loop. The trajectory tracking results are shown in Fig. 2a, where the tracking trajectory without aerodynamic compensation corresponds to that the estimated secondary aerodynamics in controllers (33) and (40) are view as zero. In particular, Fig. 2b shows the tracking → results in the direction of −k 0, which is consistent with the results in [17]. More specifically, considering the thrust variation resulting from aerodynamics could reduce the flight height effectively when the vehicle encounters braking at the vertices of the trajectory. Furthermore, we illustrate the change of the induced velocities of the four rotors in Fig. 2c. It can be seen that there exists rapid change when the vehicle encounters braking and hence it influences the rotor thrusts. Finally, the time averages of the tracking error norms ∥ eξ ∥ and ∥ eη ∥ are illustrated in Fig. 2d, which coincide with the analysis results given in Section 4.3. As illustrated in Figs. 2a–d, when the vehicle is in the rising level, the difference between the conventional controllers without aerodynamic compensation and the designed controllers with compensation is small. However, when the vehicle encounters rapid braking and cornering at the corners (the vertices of the given desired trajectory), the controllers with aerodynamic compensation can reduce the tracking error effectively. At the same time, the difference of the two tracking errors becomes obvious. This phenomenon is caused by the drastic change of the acceleration which further leads to the sudden change of aerodynamic forces and torques. From a theoretical point of view, the sudden change of the aerodynamic forces and torques at the corners could increase the bounds M1 and M2 (see Section 4.3), which can be explained by (14)–(21) and Fig. 2c. However, as long as the RLS estimators are sufficiently excited by the regression vectors φ j, j = 1, 2, 3, 4 (see Section 3), the estimation error bounds ϵ1, ϵ2 in Section 4.3 could keep small enough. Therefore, the ultimate bound of the trajectory tracking error characterised by (43) under the controllers with aerodynamic compensation could be smaller than that caused by IET Control Theory Appl., 2017, Vol. 11 Iss. 17, pp. 3097-3106 © The Institution of Engineering and Technology 2017 Finally, Fig. 3 shows the on-line aerodynamic parameter ^ T identification results with initial values ϑs, 0 = 0.5 Cd0, Clα, CDs , T ^ s ∈ {x, y}, ϑz, 0 = 0.5 Clα, CDz , Ps, 0 = 50Ins, s ∈ {x, y, z} and βlα, z ≡ 1. To simulate the true accelerometer sensor, a bias vector Baccel = 0.001, − 0.001, 0.001 T has been added and the measurement noise vector Waccel satisfies ws, k ∼ N(0, 0.052), ∀s ∈ {x, y, z}. It shows that the RLS algorithm can identify the ^ aerodynamic parameters quickly. Note that, C Dz in Fig. 3 has been influenced by the accelerometer bias. Example 2: Here, we choose a circular orbit to show the performance of the tracking controllers and estimators for the concerned quadrotor. Let the end time T end = 60 s, if t ∈ [0, 20], we set ξd = −28cos T π π t , 28sin t , −5 , 20 20 else if t ∈ (20, 30], we set ξd = 28cos T π π t − 20 , − 28sin t − 20 , − 5 . 10 10 For t ∈ (30, 60], the vehicle will try to repeat this circular route. We set all the initial states of vehicle as zeros, i.e. the vehicle is locating below the centre of the circle. The desired yaw angle is still set to zero. The parameters of the high-gain observer, controllers and estimators are chosen as the same as those in Example 1. Figs. 4a– d show the trajectory tracking results, the altitude tracking results, the time averages of ∥ eξ ∥ and ∥ eη ∥ and the identification results of the aerodynamic parameters, respectively. All of the above show that the tracking performance has been improved by identifying and compensating the external aerodynamics. 6 Conclusion In this paper, we have studied a modified quadrotor model and compensated the identified external aerodynamics in the designed controllers to improve the tracking performance. The estimation algorithm of aerodynamics can also be used in other control design methods. Future works include designing estimators for the more comprehensive model of aerodynamics proposed in [19] (as explained in Remark 1(iii)), analysing the closed-loop stability of the whole system, and applying the estimators and controllers in the actual vehicle to validate the results through experimentation. 7 [1] [2] [3] [4] [5] [6] Fig. 4 Simulation results of Example 2 → (a) Trajectory tracking results, (b) Tracking results in the direction of − k o, (c) Time averages of the tracking error norms ∥ eξ ∥ and ∥ eη ∥, (d) On-line aerodynamic [7] parameters identification results. The time also starts at t = 10 s [8] the controllers without compensation, as shown in Figs. 2d and 4c in Example 2. [9] IET Control Theory Appl., 2017, Vol. 11 Iss. 17, pp. 3097-3106 © The Institution of Engineering and Technology 2017 References Du, H., Li, S.: ‘Attitude synchronization control for a group of flexible spacecraft’, Automatica, 2014, 50, (2), pp. 646–651 Wang, Y.Q., Wu, Q.H., Wang, Y.: ‘Distributed consensus protocols for coordinated control of multiple quadrotors under a directed topology’, IET Control Theory Appl., 2013, 7, (14), pp. 1780–1792 Purvis, K.B., Khammash, M.: ‘Estimation and optimal configurations for localization using cooperative UAVs’, IEEE Trans. Control Syst. Technol., 2008, 16, (5), pp. 947–958 Mahony, R., Kumar, V., Corke, P.: ‘Multirotor aerial vehicles: modeling, estimation, and control of quadrotor’, IEEE Robot. Autom. Mag., 2012, 19, (3), pp. 20–32 Bouabdallah, S., Siegwart, R.: ‘Full control of a quadrotor’. Proc. 2007 IEEE/RSJ Int. Conf. Intelligent Robots and Systems, San Diego, CA, October 2007, pp. 153–158 Alexis, B., Nikolakopoulos, G., Tzes, A.: ‘Model predictive quadrotor control: attitude, altitude and position experimental studies’, IET Control Theory Appl., 2012, 6, (12), pp. 1812–1827 Du, H., Shen, H., Zhu, W.: ‘Control of a hovering quadrotor aircraft based finite-time attitude control algorithm’. Proc. 12th IEEE Int. Conf. Control and Automation, Kathmandu, Nepal, June 2016, pp. 192–197 Lu, H., Liu, C.J., Coombes, M., et al.: ‘Online optimisation-based backstepping control design with application to quadrotor’, IET Control Theory Appl., 2016, 10, (14), pp. 1601–1611 Zuo, Z., Wang, C.L.: ‘Adaptive trajectory tracking control of output constrained multi-rotors systems’, IET Control Theory Appl., 2014, 8, (13), pp. 1163–1174 3105 [10] [11] [12] [13] [14] [15] [16] [17] 3106 Zuo, Z.: ‘Trajectory tracking control design with command-filtered compensation for a quadrotor’, IET Control Theory Appl., 2010, 4, (11), pp. 2343–2355 Das, A., Subbarao, K., Lewis, F.: ‘Dynamic inversion with zero-dynamics stabilisation for quadrotor control’, IET Control Theory Appl., 2009, 3, (3), pp. 303–314 Lee, D., Jim, H.K., Sastry, S.: ‘Feedback linearization vs. adaptive sliding mode control for a quadrotor helicopter’, Int. J. Control Autom. Syst., 2009, 7, (3), pp. 419–428 Omari, S., Hua, M.D., Ducard, G., et al.: ‘Nonlinear control of VTOL UAVs incoporating flapping dynamics’. Proc. 2013 IEEE/RSJ Int. Conf. Intelligent Robots and Systems, Tokyo, Japan, November 2013, pp. 2419–2425 Fay, G.: ‘Derivation of the aerodynamic forces for the mesicopter simulation’, Technical Report, Stanford University, Stanford, CA, 2001 Leishman, J.G.: ‘Principles of helicopter aerodynamics’ (Cambridge University Press, Cambridge, 2000, 2nd edn., 2006) Hoffmann, G.M., Huang, H., Waslander, S., et al.: ‘Quadrotor helicopter flight dynamics and control: theory and experiment’. Proc. AIAA Guidance, Navigation and Control Conf. and Exhibit, Hilton Head, South Carolina, August 2007, pp. 1–20 Huang, H., Hoffmann, G.M., Waslander, S.L., et al.: ‘Aerodynamics and control of autonomous quadrotor helicopters in aggressive maneuvering’. Proc. 2009 IEEE Int. Conf. Robotics and Automation, Kobe, Japan, May 2009, pp. 3277–3282 [18] [19] [20] [21] [22] [23] [24] [25] [26] Kaya, D., Kutay, A.T.: ‘Aerodynamic modeling and parameter estimation of a quadrotor helicopter’. Proc. AIAA Atmospheric Flight Mechanics Conf., Atlanta, GA, June 2014, pp. 2014–2558 Bangura, M., Melega, M., Naldi, R., et al.: ‘Aerodynamics of rotor blades for quadrotors’, arXiv preprint, arXiv:1601.00733, 2016 Goodwin, G.C., Sin, K.S.: ‘Adaptive filtering prediction and control’ (Prentice-Hall, New Jersey, 1984, 1st edn.) Bangura, M., Mahony, R.: ‘Nonlinear dynamic modeling for high performance control of a quadrotor’. Proc. Australasian Conf. Robotics and Automation, Victoria University of the Wellington, New Zealand, December 2012, pp. 1–10 Martin, P., Salaün, E.: ‘The true role of accelerometer feedback in quadrotor control’. Proc. 2010 IEEE Int. Conf. Robotics and Automation, Anchorage, AK, May 2010, pp. 1623–1629 Metni, N., Pflimlin, J.M., Hamel, T., et al.: ‘Attitude and gyro bias estimation for a VTOL UAV’, Control Eng. Pract., 2006, 14, (12), pp. 1511–1520 Ma, C., Chen, M.Z.Q., Lam, J., et al.: ‘Joint unscented Kalman filter for dual estimation in a bifilar pendulum for a small UAV’. Proc. 10th Asian Control Conf., Kota Kinabalu, Malaysia, May 2015, pp. 1–6 Roberts, A., Tayebi, A.: ‘Adaptive position tracking of VTOL UAVs’, IEEE Trans. Robot., 2011, 27, (1), pp. 129–142 Khalil, H.K.: ‘Nonlinear system’ (Prentice-Hall, New Jersey, 1996, 3rd edn., 2002) IET Control Theory Appl., 2017, Vol. 11 Iss. 17, pp. 3097-3106 © The Institution of Engineering and Technology 2017