Open Access
This article is

- freely available
- re-usable

*Electronics*
**2018**,
*7*(8),
128;
doi:10.3390/electronics7080128

Article

Super-Twisting Extended State Observer and Sliding Mode Controller for Quadrotor UAV Attitude System in Presence of Wind Gust and Actuator Faults

^{1}

School of Instrumentation Science and Optoelectronics Engineering, Beihang University, Beijing 100191, China

^{2}

School of Mechanical Engineering and Automation, Beihang University, Beijing 100191, China

^{3}

State Key Laboratory of Virtual Reality Technology and System, Beijing 100191, China

^{*}

Author to whom correspondence should be addressed.

Received: 19 June 2018 / Accepted: 24 July 2018 / Published: 26 July 2018

## Abstract

**:**

This article addresses the problem of high precision attitude control for quadrotor unmanned aerial vehicle in presence of wind gust and actuator faults. We consider the effect of those factors as lumped disturbances, and in order to realize the quickly and accurately estimation of the disturbances, we propose a control strategy based on the online disturbance uncertainty estimation and attenuation method. Firstly, an enhanced extended state observer (ESO) is constructed based on the super-twisting (ST) algorithm to estimate and attenuate the impact of wind gust and actuator faults in finite time. And the convergence analysis and parameter selection rule of STESO are given following. Secondly, in order to guarantee the asymptotic convergence of desired attitude timely, a sliding mode control law is derived based on the super-twisting algorithm. And a comprehensive stability analysis for the entire system is presented based on the Lyapunov stability theory. Finally, to demonstrate the efficiency of the proposed solution, numerical simulations and real time experiments are carried out in presences of wind disturbance and actuator faults.

Keywords:

quadrotor; super twisting extended state observer (STESO); super twisting sliding mode controller (STSMC); wind disturbance; actuator faults## 1. Introduction

Quadrotor unmanned aerial vehicles (UAVs) are rapidly growing in popularity due to their wide range of civil and military applications such as surveillance, inspection, search and rescue, and disaster response. As a new kind of UAV, quadrotor is a small rotorcraft with four propellers driven by four direct current (DC) motors respectively [1]. Compared with traditional helicopters, the structure of quadrotor is simpler and more efficient, and has unique features in precise hovering, aggressive maneuver, vertical take-off and landing (VTOL) [2,3], etc. Therefore, the researches on quadrotor unmanned aerial vehicle become more and more popular in recent years, and a lot of achievements have been made [4,5,6].

The quadrotor is an underactuated and nonlinear coupled system [7]. Traditionally, the integral-type control methods are commonly used in the controller design of quadrotor UAVs and have shown to be effective in the attitude and position stabilization control of them. In [8,9], a proportional integral derivative (PID) control method was developed to obtain the stability of quadrotor. In [10], nonlinear PI/PID controller was designed to regulate the posture of quadrotor and showed robustness to aircraft systems effects. In [11], a motion controller of quadrotor has been derived by using time scale separation ideas, and numerical simulations confirmed that the motion control objective is satisfied with the proposed scheme in presence of the forces saturation of propellers, sensor noise and perturbing forces caused by wind. And in [12], the linear quadratic regulator (LQR) controller was applied to deal with the nominal system of quadrotor obtained by feedback linearization method. In order to meet some mission requirements, high precision attitude control is essential in those applications. However, when operating in outdoor environments, quadrotors would be easily affected by wind gust during the course of flight [13]. In addition to wind gust, the actuating motor-propeller system is prone to faults due to component degradation or damage to the motors or propellers, which may lead to significant performance degradation or even instability of the close-loop system [14]. Therefore, it is difficult for the traditional linear controllers to achieve the high precision control requirement under the influence of these factors. To solve this problem, many approaches have been proposed in literatures. Robust adaptive controller was introduced to eliminate the influence of wind gust in [15]. In [16], robust optimal backstepping control (ROBC) is designed to address the stabilization and trajectory tracking problem of quadrotor in the existence of wind gust. And in [14], a nonlinear robust adaptive fault-tolerant altitude and attitude tracking method was implemented to accommodating actuator faults in quadrotor without the need of a faults diagnosis mechanism. In summery, these methods were designed to improve the robustness of the system.

Alternatively, both wind gust and actuator faults can be considered as lumped disturbances and the online disturbance and uncertainty estimation and attenuation (DUEA) method would be a potential solution to this problem. In recent years, the DUEA methods have been widely studied for some types of real time systems in order to cancel the influence of lumped disturbances at the controller stage [17,18], and the framework of which can be divided into two parts, namely, a disturbance and uncertainty estimator (DUE) and a feedback controller (FC).

In the first part, DUE is designed to estimate the disturbances so that they could be compensated in the feedforward loop. To achieve this aim, a series of observers have been proposed as the DUE so far, such as disturbance observer (DO) [19,20], extended state observer (ESO) [21,22,23,24], proportional integral observer (PIO) [25,26] and acceleration based disturbance observer (ABDOB) [27], etc. By the appropriate use of the observer, disturbance rejection performance and robustness of the existing control system could be significantly improved. The extended state observer (ESO), known as the key module of active disturbance rejection control, can estimate both the states of system and the total disturbances with less dependence on model information [28,29]. This method was first proposed by Han in 1990s and the basic idea behind ESO is to view disturbance as an extended state and utilize observer to estimate it [28]. As for the ESO based control structure, the performance of closed-loop system is largely determined by the estimation accuracy of observer. The traditional ESO approaches focus primarily on dealing with slowly changing disturbances. However, it’s obvious that the disturbance torque caused by the wind gust and actuator faults happens suddenly, which can not be estimated by traditional ESO thoroughly [30]. Therefore, an enhanced ESO that can quickly estimate the disturbance is necessary in this field. In [31], a higher-order ESO is investigated and the estimation accuracy was improved, however, higher level of the observer order will lead to a higher observer gain which will in return excite the sensor noise and introduce them into the control loop. In [32], a sliding model method was used in disturbance observer to estimate the quadrotor velocities, the external disturbances such as wind and parameter uncertainties, and achieves good results, except for serious chattering. To reduce this problem, super-twisting algorithm have been adopted in design of the observer. In [33], the super-twisting observer (STO) is constructed to reject aperiodic disturbances and input unmatched periodic disturbances with reduced chattering.

In the second part, the FC is designed to guarantee fast convergence of the closed-loop system. Sliding mode control (SMC) has been known as one of the most efficiency controller in fast convergence [34]. In [35], a fixed-time second-order sliding mode control law is designed to guarantee the reaching time, independent of initial conditions. However, the robustness of the SMC is achieved at the cost of a high frequency switching of the control signal, which has a negative effect in the actuator. To reduce the chattering, a family of continuous sliding mode controllers based on super-twisting algorithm have been developed [36].

Motivated by the above observations and inspired from Ref. [33,36], a high precision attitude control law is developed for quadrotor unmanned aerial vehicle in presence of wind gust and actuator faults. The main contributions of this paper are summarized as follows:

- Propose a STESO to accurately estimate the disturbance torque caused by wind gust and actuator faults in finite time, and give the parameter selection rule of the observer;
- Design a fast convergence attitude control law based on STSMC, and give a comprehensive stability analysis on the entire system.

The remainder of the paper is organized as follows. The mathematical model and control problem is formulated in Section 2. A STESO is designed in Section 3, as well as parament selection rule of the observer is also given in this section. In Section 4, a fast convergence attitude controller is designed based on ST algorithm. Numerical simulation and real time experimental results are presented in Section 5. Finally, we conclude the paper in Section 6.

## 2. Mathematical Model and Problem Formulation

#### 2.1. Notation

$\u2225\u2022\u2225$ denotes the 2-norm of a vector or a matrix. For a given vector $\mathit{v}={[{v}_{1},\dots ,{v}_{n}]}^{T}\in {\mathbb{R}}^{n}$ , $\left|\right|\mathit{v}\left|\right|=\sqrt{{\mathit{v}}^{T}\mathit{v}}$ . For a given matrix $\mathit{A}\in {\mathbb{R}}^{n\times n}$ , ${\lambda}_{max}\left(\mathit{A}\right)$ and ${\lambda}_{min}\left(\mathit{A}\right)$ denote the maximal and minimum eigenvalue of the matrix respectively. In addition, the operator $S(\u2022)$ maps a vector $\mathit{x}={\left[\begin{array}{ccc}{x}_{1}& {x}_{2}& {x}_{3}\end{array}\right]}^{T}$ to a skew symmetric matrix as:

$$S\left(\mathit{x}\right)=\left[\begin{array}{ccc}0& -{x}_{3}& {x}_{2}\\ {x}_{3}& 0& -{x}_{1}\\ -{x}_{2}& {x}_{1}& 0\end{array}\right]$$

$sgn(\u2022)$ is the sign function, and for a scalar x:

$$sgn=\left\{\begin{array}{cc}{\displaystyle \frac{x}{\left|x\right|},}& \left|x\right|\ne 0\\ 0,& \left|x\right|=0\end{array}\right.$$

For a vector $\mathit{x}={\left[\begin{array}{ccc}{x}_{1}& {x}_{2}& {x}_{3}\end{array}\right]}^{T}$ and $r\ge 0$, define:

$$sig{\left(\mathit{x}\right)}^{r}=\left[\begin{array}{c}{\displaystyle {\left|{x}_{1}\right|}^{r}sgn\left({x}_{1}\right)}\\ {\displaystyle {\left|{x}_{2}\right|}^{r}sgn\left({x}_{2}\right)}\\ {\displaystyle {\left|{x}_{3}\right|}^{r}sgn\left({x}_{3}\right)}\end{array}\right]$$

#### 2.2. Quaternion Operations

In order to avoid the singularity problem of trigonometric functions, unit quaternion $\mathit{q}={\left[\begin{array}{cc}{q}_{0}& {\mathit{q}}_{\mathit{v}}^{T}\end{array}\right]}^{T}\in {\mathbb{R}}^{4}$, $\u2225\mathit{q}\u2225=1$ is used to represent rotation [37] of the quadrotor. Following are the operations we used.

The quaternion multiplication is:

$${\mathit{q}}_{1}\otimes {\mathit{q}}_{2}=\left[\begin{array}{c}{q}_{01}{q}_{02}-{\mathit{q}}_{\mathit{v}1}^{T}{\mathit{q}}_{\mathit{v}2}\\ {q}_{01}{\mathit{q}}_{\mathit{v}2}+{q}_{02}{\mathit{q}}_{\mathit{v}1}-S\left({\mathit{q}}_{\mathit{v}2}\right){\mathit{q}}_{\mathit{v}1}\end{array}\right]$$

The relationship between rotation matrix ${\mathit{C}}_{\mathit{A}}^{\mathit{B}}$ and $\mathit{q}$ is calculated as:

$${\mathit{C}}_{\mathit{A}}^{\mathit{B}}=({q}_{0}^{2}-{\mathit{q}}_{\mathit{v}}^{T}{\mathit{q}}_{\mathit{v}}){\mathit{I}}_{3}+2{\mathit{q}}_{\mathit{v}}{\mathit{q}}_{\mathit{v}}^{T}+2{q}_{0}S\left({\mathit{q}}_{\mathit{v}}\right)$$

$${\dot{\mathit{C}}}_{\mathit{A}}^{\mathit{B}}=-S\left(\mathit{\omega}\right){\mathit{C}}_{\mathit{A}}^{\mathit{B}}$$

The derivative of a quaternion is given by the quaternion multiplication of the quaternion $\mathit{q}$ and the angular velocity of the system $\mathit{\omega}$ :

$$\dot{\mathit{q}}=\left[\begin{array}{c}{\dot{q}}_{0}\\ {\dot{\mathit{q}}}_{\mathit{v}}\end{array}\right]=\frac{1}{2}\mathit{q}\otimes \left[\begin{array}{c}0\\ \mathit{\omega}\end{array}\right]=\frac{1}{2}\left[\begin{array}{c}-{\mathit{q}}_{\mathit{v}}^{T}\\ S\left({\mathit{q}}_{\mathit{v}}\right)+{q}_{0}{\mathit{I}}_{3}\end{array}\right]\mathit{\omega}$$

The quaternion error ${\mathit{q}}_{\mathit{e}}$ is given as the quaternion multiplication of the conjugate of the actual quaternion $\mathit{q}$ and the desired quaternion ${\mathit{q}}_{\mathit{d}}$ :

$${\mathit{q}}_{\mathit{e}}={\mathit{q}}_{\mathit{d}}^{\ast}\otimes \mathit{q}=\left[\begin{array}{c}{q}_{0}{q}_{0d}+{{\mathit{q}}_{\mathit{v}}}^{\mathit{T}}{\mathit{q}}_{\mathit{vd}}\\ {q}_{0d}{\mathit{q}}_{\mathit{v}}-{q}_{0}{\mathit{q}}_{\mathit{vd}}+S\left({\mathit{q}}_{\mathit{v}}\right){\mathit{q}}_{\mathit{vd}}\end{array}\right]$$

#### 2.3. Kinematics and Dynamics of Quadrotor

In this section, the kinematic and dynamic differential equations of the quadrotor are established. The quadrotor can be considered as a rigid cross frame attached with four rotors, and the center of gravity coincides with the body-fixed frame origin.

The simplified model of the quadrotor is presented in Figure 1, rotors $R1$ and $R3$ rotate counterclockwise and rotors $R2$ and $R4$ rotate clockwise. Each propeller rotates at the angular speed ${\Omega}_{i}\in [{\Omega}_{i,min},{\Omega}_{i,max}]$ and produces a force ${F}_{i}$ (i = 1, 2, 3, 4) along the negative z-direction relative to the body frame [37,38]:
where ${k}_{T}>0$ denotes the aerodynamic coefficient which consists formed of the atmospheric density $\rho $, the radius of the propeller r, and the thrust coefficient ${c}_{T}$. In addition, due to the spinning of the rotors, a reaction torque ${M}_{i}$ (i = 1, 2, 3, 4) is generated on the quadrotor body by each rotor:
where ${k}_{D}>0$ denotes the drag coefficient of the rotor, which depends on the same factors as ${k}_{T}>0$ .

$${\mathit{F}}_{\mathit{i}}=\left[\begin{array}{c}0\\ 0\\ -{k}_{T}{\Omega}_{i}^{2}\end{array}\right]$$

$${\mathit{M}}_{\mathit{i}}=\left[\begin{array}{c}0\\ 0\\ {(-1)}^{i+1}{k}_{D}{\Omega}_{i}^{2}\end{array}\right]$$

In the mathematical model of quadrotor, three coordinate frames are considered: the non-moving inertial frame ${E}_{I}:\left\{{o}_{I},{x}_{I},{y}_{I},{z}_{I}\right\}$, the body-fixed frame ${E}_{B}:\left\{{o}_{B},{x}_{B},{y}_{B},{z}_{B}\right\}$ and the desired frame ${E}_{D}:\left\{{o}_{D},{x}_{D},{y}_{D},{z}_{D}\right\}$ to represent the actual attitude and desired attitude of quadrotor respectively. Note that North-East-Down (NED) coordinates are used to define all frames. Attitude angle and angular velocities of the body-fixed frame ${E}_{B}$ with respect to the inertial frame ${E}_{I}$ are written as $\Theta ={\left[\begin{array}{ccc}\varphi & \theta & \psi \end{array}\right]}^{T}$ and $\mathit{\omega}={\left[\begin{array}{ccc}{\omega}_{x}& {\omega}_{y}& {\omega}_{z}\end{array}\right]}^{T}$ respectively, and the quaternion expression of the attitude is $\mathit{q}={\left[\begin{array}{cc}{q}_{0}& {\mathit{q}}_{\mathit{v}}\end{array}\right]}^{T}$.

The variation of the orientation is achieved by varying the angular speed of a specific rotor. The torque created around a particular axis with respect to the body-fixed frame is defined as follows:
where l denotes the distance from the rotors to the center of mass and $\mathit{u}$ represents the control signal to be designed.

$$\mathit{u}=\left[\begin{array}{c}{\tau}_{\varphi}\\ {\tau}_{\theta}\\ {\tau}_{\psi}\end{array}\right]=\stackrel{\mathit{M}}{\overbrace{\left[\begin{array}{cccc}0& -l{k}_{T}& 0& l{k}_{T}\\ l{k}_{T}& 0& -l{k}_{T}& 0\\ -{k}_{D}& {k}_{D}& -{k}_{D}& {k}_{D}\end{array}\right]}}\left[\begin{array}{c}{\Omega}_{1}^{2}\\ {\Omega}_{2}^{2}\\ {\Omega}_{3}^{2}\\ {\Omega}_{4}^{2}\end{array}\right]$$

Assuming a symmetric mass distribution of the quadrotor, the nominal inertia matrix $\mathit{J}=\phantom{\rule{4.pt}{0ex}}\mathrm{diag}({J}_{x},{J}_{y},{J}_{z})$ is diagonal. With the disturbances $\mathit{d}={\left[\begin{array}{ccc}{d}_{x}& {d}_{y}& {d}_{z}\end{array}\right]}^{T}$ caused by wind gust ${\mathit{d}}_{\mathit{w}}$ and actuator faults ${\mathit{d}}_{\mathit{u}}$ into consideration, the attitude dynamic model of the quadrotor can be obtained as the following differential equations:

$$\left[\begin{array}{c}{J}_{x}{\dot{\omega}}_{x}\\ {J}_{y}{\dot{\omega}}_{y}\\ {J}_{z}{\dot{\omega}}_{z}\end{array}\right]+\left[\begin{array}{c}({J}_{z}-{J}_{y}){\omega}_{y}{\omega}_{z}\\ ({J}_{x}-{J}_{z}){\omega}_{x}{\omega}_{z}\\ ({J}_{y}-{J}_{z}){\omega}_{x}{\omega}_{y}\end{array}\right]=\left[\begin{array}{c}{\tau}_{\varphi}\\ {\tau}_{\theta}\\ {\tau}_{\psi}\end{array}\right]+\left[\begin{array}{c}{d}_{x}\\ {d}_{y}\\ {d}_{z}\end{array}\right]$$

According to Equation (4), we summarized the mathematical model of the quadrotor as:

$$\left\{\begin{array}{c}{\displaystyle \dot{\mathit{q}}=\frac{1}{2}\mathit{q}\otimes {\left[\begin{array}{cc}0& \mathit{\omega}\end{array}\right]}^{T}}\hfill \\ {\displaystyle \dot{\mathit{\omega}}=-{\mathit{J}}^{-1}S\left(\mathit{\omega}\right)\mathit{J}\mathit{\omega}+{\mathit{J}}^{-1}\mathit{u}+{\mathit{J}}^{-1}\mathit{d}}\hfill \end{array}\right.$$

In practice, we can use micro electro mechanical system (MEMS) inertial measurement unit (IMU) to measure the attitude information $\mathit{\omega}$ and $\mathit{q}$ .

#### 2.4. Lumped Disturbaces

#### 2.4.1. Wind Gust

Wing gust produces a strong disturbance torque on the quadrotor. In this article, a Dryden wind gust model is introduced [39]. We assume that the disturbance caused by wind gust ${\mathit{d}}_{\mathit{w}}$ is proportional to the speed of wind gust, therefore, ${\mathit{d}}_{\mathit{w}}$ can be described based on the random theory [40] and defined as a summation of sinusoidal excitations:
where ${d}_{w,k}\left(t\right)$ is a time-dependent description of the wind disturbance in $k=x,y,z$ channel in a given time t. ${\varpi}_{i,k}$ and ${\phi}_{i,k}$ are randomly selected frequencies and phase shifts, ${n}_{i,k}$ is the number of sinusoids, ${a}_{i,k}$ is the amplitude of the sinusoid, and ${d}_{w,k}^{0}$ is the static wind disturbance.

$${d}_{w,k}\left(t\right)={d}_{w,k}^{0}+\sum _{i=1}^{{n}_{k}}{a}_{i,k}sin({\varpi}_{i,k}t+{\phi}_{i,k})$$

#### 2.4.2. Actuator Faults

In this article, we consider actuator faults represented by partial loss of effectiveness in the rotors. For instance, caused by structural damage to a propeller [14], battery power loss [41], etc. Thus, the actuator faults in this article are modeled as follows, for $i=1,\dots ,4$:
where ${\Omega}_{i}$ represents the commanded rotor angular velocity, ${\Omega}_{i}^{\ast}$ is the loss of angular velocity, and ${\alpha}_{i}\in \left[0,\overline{\alpha}\right)$ is an unknown ratio characterizing the occurrence of a partial loss of effectiveness fault in rotor i with $\overline{\alpha}$ being a known upper bound needed to maintain the controllability of the quadrotor. For instance, in the extreme case of complete failure ${b}_{i}=\overline{\alpha}$ , the quadrotor becomes uncontrollable. The case of ${b}_{i}=1$ represents a healthy rotor, and $0\le {\alpha}_{i}<\overline{\alpha}<1$ represents a faulty rotor with partial loss of effectiveness.
where the fault time profile function ${\beta}_{i}(t-{T}_{i})$ is assumed to be a step function with unknown fault occurrence time ${T}_{i}$ for $i=1,\dots ,4$, that is:

$${\Omega}_{i}^{\ast}={\alpha}_{i}{\Omega}_{i}$$

$${\mathit{d}}_{\mathit{u}}=\mathit{M}\left[\begin{array}{c}{\displaystyle {\alpha}_{1}^{2}{\Omega}_{1}^{2}{\beta}_{1}\left(t-{T}_{1}\right)}\\ {\displaystyle {\alpha}_{2}^{2}{\Omega}_{2}^{2}{\beta}_{2}\left(t-{T}_{2}\right)}\\ {\displaystyle {\alpha}_{3}^{2}{\Omega}_{3}^{2}{\beta}_{3}\left(t-{T}_{3}\right)}\\ {\displaystyle {\alpha}_{4}^{2}{\Omega}_{4}^{2}{\beta}_{4}\left(t-{T}_{4}\right)}\end{array}\right]$$

$$\begin{array}{c}\hfill {\beta}_{i}\left(t-{T}_{i}\right)=\left\{\begin{array}{ccc}0,\hfill & if& t<{T}_{i}\\ 1,\hfill & if& t\ge {T}_{i}\end{array}\right.\end{array}$$

In summary, we can see that the disturbances $\mathit{d}={\mathit{d}}_{\mathit{w}}+{\mathit{d}}_{\mathit{u}}$ acting on quadrotor are high-order, non-Gaussian and happen suddenly, furthermore, their randomness and nonlinearity are also very strong.

#### 2.5. Problem Formulation

The purpose of this article is to achieve the high precision tracking to the desired attitude in presence of wind gust and actuator faults. Therefore, the dynamics of attitude error should be introduced. We use ${\mathit{\omega}}_{\mathit{d}}={\left[\begin{array}{ccc}{\omega}_{d,x}& {\omega}_{d,y}& {\omega}_{d,z}\end{array}\right]}^{T}$ and ${\mathit{q}}_{\mathit{d}}={\left[\begin{array}{cc}{q}_{0d}& {\mathit{q}}_{\mathit{vd}}\end{array}\right]}^{T}$ to denote the desired angular velocities and attitude respectively, thus the tracking error vector of the angular velocities ${\mathit{\omega}}_{\mathit{e}}={\left[\begin{array}{ccc}{\omega}_{e,x}& {\omega}_{e,y}& {\omega}_{e,z}\end{array}\right]}^{T}$ can be expressed as:

$${\mathit{\omega}}_{\mathit{e}}=\mathit{\omega}-{\mathit{C}}_{\mathit{d}}^{\mathit{b}}{\mathit{\omega}}_{\mathit{d}}$$

Then, we can obtain the dynamics of ${\mathit{\omega}}_{\mathit{e}}$ according to Equations (3), (10) and (15):
where ${\mathit{C}}_{\mathit{d}}^{\mathit{b}}$ can be calculated according to Equations (2) and (5). And according to Equations (4), (5), and (15), we can obtain the kinematics of attitude tracking error:

$$\begin{array}{cc}\hfill {\dot{\mathit{\omega}}}_{\mathit{e}}=& S\left({\mathit{\omega}}_{\mathit{e}}\right){\mathit{C}}_{\mathit{d}}^{\mathit{b}}{\mathit{\omega}}_{\mathit{d}}-{\mathit{C}}_{\mathit{d}}^{\mathit{b}}{\dot{\mathit{\omega}}}_{\mathit{d}}-{\mathit{J}}^{-1}S\left(\mathit{\omega}\right)\mathit{J}\mathit{\omega}+{\mathit{J}}^{-1}\mathit{u}+{\mathit{J}}^{-1}\mathit{d}\hfill \end{array}$$

$${\dot{\mathit{q}}}_{\mathit{e}}=\frac{1}{2}{\mathit{q}}_{\mathit{e}}\otimes {\left[\begin{array}{cc}0& {\mathit{\omega}}_{\mathit{e}}\end{array}\right]}^{T}=\frac{1}{2}\left[\begin{array}{c}-{\mathit{q}}_{\mathit{ve}}^{T}\\ S\left({\mathit{q}}_{\mathit{ve}}\right)+{q}_{0e}{\mathit{I}}_{3}\end{array}\right]{\mathit{\omega}}_{\mathit{e}}$$

Therefore, the problem we try to tackle in this work is to design a continuous control law $\mathit{u}$ , which guarantees errors of attitude angles ${\mathit{q}}_{\mathit{e}}$ and angular velocities ${\mathit{\omega}}_{\mathit{e}}$ asymptotic converge to zero in the presence of the lumped disturbances $\mathit{d}$.

Figure 2 illustrates the control structure that we designed. Based on the DUEA control methodology, the attitude tracking problem for quadrotor can be divided into two components:

- Design the feedforward loop so that the lumped disturbances are estimated by STESO and compensated this way.
- Design the feedback loop that regulates the orientation of quadrotor to track the desired attitude produced by the commander timely.

## 3. Design and Analysis of Super Twisting Extended State Observer

Through the analysis in previous section, we can see that the lumped disturbances acting on quadrotor are high-order and rapidly changing, therefore, it is difficult for traditional ESO to estimate them thoroughly [30]. Higher-order ESO have been applied in some articles. However, higher observer orders will lead to higher control gains with fixed bandwidth. Which will in return excite the sensor noise and introduce them into the control loop. By introducing super twisting algorithm, excessively high observer gain can be avoided. In this section, the STESO is proposed and the convergence analysis and parameter selection rule of STESO are given.

#### 3.1. Design of STESO

Consider the dynamics Equation (10) of quadrotor, since the angular velocities $\mathit{\omega}$ can be measured by the MEMS gyroscope, the original control input can be reformulated by employing the feedback linearization technique as:

$$\mathit{u}={\mathit{u}}^{\ast}+S\left(\mathit{\omega}\right)\mathit{J}\mathit{\omega}$$

Therefore, we can obtain the linearized model of the quadrotor as $\mathit{J}\dot{\mathit{\omega}}={\mathit{u}}^{\ast}+\mathit{d}$.

It is supposed that each component of the linearized model is independent from each other. Hence, the controller policy developed from one channel can be directly applied to the other two and the description of only the i-th channel is sufficient $(i=x,y,z)$. In this way, the one-dimensional dynamic of the quadrotor is obtained as:

$${J}_{i}{\dot{\mathit{\omega}}}_{i}={\tau}_{i}^{\ast}+{d}_{i}$$

Introducing a new state vector ${\mathit{\xi}}_{\mathit{i}}={\left[\begin{array}{cc}{\xi}_{1,i}& {\xi}_{2,i}\end{array}\right]}^{T}$ whose components are defined as ${\xi}_{1,i}={J}_{i}{\mathit{\omega}}_{i}$ and augmenting lumped disturbances ${d}_{i}$ as an extended state ${\xi}_{2,i}={d}_{i}$ , the reconstructed system is rewritten as:
where ${\delta}_{i}$ is the derivative of ${d}_{i}$. Assume that the system states are bounded, then the existence of a constant ${f}_{i}^{+}$ is ensured such that the inequality $\left|{\delta}_{i}\right|<{f}_{i}^{+}$ holds for any time.

$$\left\{\begin{array}{c}{\dot{\xi}}_{1,i}={\xi}_{2,i}+{\tau}_{i}^{\ast}\hfill \\ {\dot{\xi}}_{2,i}={\delta}_{i}\hfill \end{array}\right.$$

It can be verify that the pair $(\mathit{A},\mathit{C})$ is observable. Then, consider ${\widehat{\xi}}_{\mathit{i}}$ as the estimation of ${\xi}_{\mathit{i}}$, STESO can be designed as follows:
where ${a}_{i}$ and ${b}_{i}$ are the observer gains to be designed.

$$\left\{\begin{array}{c}{\dot{\widehat{\xi}}}_{1,i}={\widehat{\xi}}_{2,i}+{\tau}_{i}^{\ast}+{a}_{i}{\left|{\xi}_{1,i}-{\widehat{\xi}}_{1,i}\right|}^{\frac{1}{2}}sgn\left({\xi}_{1,i}-{\widehat{\xi}}_{1,i}\right)\hfill \\ {\dot{\widehat{\xi}}}_{2,i}={b}_{i}sgn\left({\xi}_{1,i}-{\widehat{\xi}}_{1,i}\right)\hfill \end{array}\right.$$

Define the estimation error variables ${\tilde{\mathit{\xi}}}_{\mathit{i}}={\left[\begin{array}{cc}{\tilde{\xi}}_{1,i}& {\tilde{\xi}}_{2,i}\end{array}\right]}^{T}$ as ${\tilde{\mathit{\xi}}}_{\mathit{i}}={\mathit{\xi}}_{\mathit{i}}-{\widehat{\mathit{\xi}}}_{\mathit{i}}$ , and the dynamics of the ${\tilde{\mathit{\xi}}}_{\mathit{i}}$ can be obtained as follows:

$$\left\{\begin{array}{c}{\dot{\tilde{\xi}}}_{1,i}={\widehat{\xi}}_{2,i}-{a}_{i}{\left|{\xi}_{1,i}-{\widehat{\xi}}_{1,i}\right|}^{\frac{1}{2}}sgn\left({\xi}_{1,i}-{\widehat{\xi}}_{1,i}\right)\hfill \\ {\dot{\tilde{\xi}}}_{2,i}={\delta}_{i}-{b}_{i}sgn\left({\xi}_{1,i}-{\widehat{\xi}}_{1,i}\right)\hfill \end{array}\right.$$

The dynamics of the estimation error, presented in Equation (22), have the form of a non-recursive exact robust differentiator. Therefore, the errors ${\tilde{\xi}}_{1,i}$ and ${\tilde{\xi}}_{2,i}$ will converge to zero in a finite time if the gains ${a}_{i}$ and ${b}_{i}$ are chosen appropriately. The convergence analysis and parameter selection rule will be demonstrated following.

#### 3.2. Convergence Analysis and Parameter Selection Rule

Firstly, introduce a new state vector ${\mathit{\eta}}_{\mathit{i}}={\left[\begin{array}{cc}{\eta}_{1,i}& {\eta}_{2,i}\end{array}\right]}^{T}$ as ${\eta}_{1,i}={\left|{\tilde{\xi}}_{1,i}\right|}^{\frac{1}{2}}sgn\left({\tilde{\xi}}_{1,i}\right)$, ${\eta}_{2,i}={\tilde{\xi}}_{2,i}$ and take the time derivative of ${\mathit{\eta}}_{\mathit{i}}$, we have:
which can be rewritten as:

$$\left\{\begin{array}{c}{\displaystyle {\dot{\eta}}_{1,i}=\frac{1}{2}{\left|{\tilde{\xi}}_{1,i}\right|}^{-\frac{1}{2}}\left(-{a}_{i}{\left|{\tilde{\xi}}_{1,i}\right|}^{\frac{1}{2}}sgn\left({\tilde{\xi}}_{1,i}\right)+{\tilde{\xi}}_{2,i}\right)}\hfill \\ {\displaystyle {\dot{\eta}}_{2,i}=-{b}_{i}sgn\left({\tilde{\xi}}_{1,i}\right)+{\delta}_{i}}\hfill \end{array}\right.$$

$${\dot{\mathit{\eta}}}_{\mathit{i}}={\left|{\tilde{\xi}}_{1,i}\right|}^{-\frac{1}{2}}\stackrel{\mathit{A}}{\overbrace{\left[\begin{array}{cc}\frac{-{a}_{i}}{2}& \frac{1}{2}\\ -{b}_{i}& 0\end{array}\right]}}{\mathit{\eta}}_{\mathit{i}}+\stackrel{\mathit{B}}{\overbrace{\left[\begin{array}{c}0\\ 1\end{array}\right]}}{\delta}_{i}$$

Then, introduce a positive definite matrix $\mathit{P}=\frac{1}{2}\left[\begin{array}{cc}4{b}_{i}+{a}_{i}^{2}& -{a}_{i}\\ -{a}_{i}& 2\end{array}\right]$ and consider the following Lyapunov function:

$${V}_{i}={{\mathit{\eta}}_{\mathit{i}}}^{T}\mathit{P}{\mathit{\eta}}_{\mathit{i}}$$

Notice that in Equation (25), ${V}_{i}$ is continuous but is not differentiable at ${\tilde{\xi}}_{1,i}=0$, and it is positive definite and radially unbounded if ${b}_{i}>0$ , thus we have:

$${\lambda}_{min}\left(\mathit{P}\right){\u2225{\mathit{\eta}}_{\mathit{i}}\u2225}^{2}\le {V}_{i}\le {\lambda}_{max}\left(\mathit{P}\right){\u2225{\mathit{\eta}}_{\mathit{i}}\u2225}^{2}$$

Take the time derivative of ${V}_{i}$ and define $\mathit{Q}={\mathit{A}}^{T}\mathit{P}+\mathit{PA}$, we have:
where $|{\delta}_{i}|<{f}_{i}^{+}$ and $\mathit{Q}=\frac{{a}_{i}}{2}\left[\begin{array}{cc}2{b}_{i}+{a}_{i}^{2}& -{a}_{i}\\ -{a}_{i}& 1\end{array}\right]$ is positive defined. Notice that:

$$\begin{array}{cc}\hfill {\dot{V}}_{i}& ={\left|{\tilde{\xi}}_{1,i}\right|}^{-\frac{1}{2}}{{\mathit{\eta}}_{\mathit{i}}}^{T}\left({\mathit{A}}^{T}\mathit{P}+\mathit{PA}\right){\mathit{\eta}}_{\mathit{i}}+{\delta}_{i}\left({\mathit{B}}^{T}\mathit{P}{\mathit{\eta}}_{\mathit{i}}+{{\mathit{\eta}}_{\mathit{i}}}^{T}\mathit{PB}\right)\hfill \\ & \le -{\left|{\tilde{\xi}}_{1,i}\right|}^{-\frac{1}{2}}{{\mathit{\eta}}_{\mathit{i}}}^{T}\mathit{Q}{\mathit{\eta}}_{\mathit{i}}+2{f}_{i}^{+}{\mathit{B}}^{T}\mathit{P}{\mathit{\eta}}_{\mathit{i}}\hfill \end{array}$$

$$\begin{array}{cc}2{f}_{i}^{+}{\mathit{B}}^{T}\mathit{P}{\mathit{\eta}}_{\mathit{i}}\hfill & ={\left|{\tilde{\xi}}_{1,i}\right|}^{-\frac{1}{2}}{f}_{i}^{+}\left({\left|{\tilde{\xi}}_{1,i}\right|}^{\frac{1}{2}}\left(-{a}_{i}{\eta}_{1,i}+2{\eta}_{2,i}\right)\right)\hfill \\ & ={\left|{\tilde{\xi}}_{1,i}\right|}^{-\frac{1}{2}}{f}_{i}^{+}\left(\left|{\eta}_{1,i}\right|\left(-{a}_{i}{\eta}_{1,i}+2{\eta}_{2,i}\right)\right)\hfill \\ & \le {\left|{\tilde{\xi}}_{1,i}\right|}^{-\frac{1}{2}}{f}_{i}^{+}\left({a}_{i}{\left|{\eta}_{1,i}\right|}^{2}+2\left|{\eta}_{1,i}\right|\left|{\eta}_{2,i}\right|\right)\hfill \\ & \le {\left|{\tilde{\xi}}_{1,i}\right|}^{-\frac{1}{2}}{f}_{i}^{+}\left({a}_{i}{\left|{\eta}_{1,i}\right|}^{2}+{\left|{\eta}_{1,i}\right|}^{2}+{\left|{\eta}_{2,i}\right|}^{2}\right)\hfill \\ & ={\left|{\tilde{\xi}}_{1,i}\right|}^{-\frac{1}{2}}{{\mathit{\eta}}_{\mathit{i}}}^{T}\left[\begin{array}{cc}{f}_{i}^{+}({a}_{i}+1)& 0\\ 0& {f}_{i}^{+}\end{array}\right]{\mathit{\eta}}_{\mathit{i}}\hfill \\ & =-{\left|{\tilde{\xi}}_{1,i}\right|}^{-\frac{1}{2}}{{\mathit{\eta}}_{\mathit{i}}}^{T}\Delta \mathit{Q}{\mathit{\eta}}_{\mathit{i}}\hfill \end{array}$$

Thus according to Equations (27) and (28), we have:
where $\Delta \mathit{Q}=-\left[\begin{array}{cc}{f}_{i}^{+}({a}_{i}+1)& 0\\ 0& {f}_{i}^{+}\end{array}\right]$ and $\mathit{Q}+\Delta \mathit{Q}=\frac{{a}_{i}}{2}\left[\begin{array}{cc}2{b}_{i}+{a}_{i}^{2}-2{f}_{i}^{+}\frac{{a}_{i}+1}{{a}_{i}}& -{a}_{i}\\ -{a}_{i}& 1-\frac{2{f}_{i}^{+}}{{a}_{i}}\end{array}\right]$.

$${\dot{V}}_{i}\le -{\left|{\tilde{\xi}}_{1,i}\right|}^{-\frac{1}{2}}{{\mathit{\eta}}_{\mathit{i}}}^{T}\left(\mathit{Q}+\Delta \mathit{Q}\right){\mathit{\eta}}_{\mathit{i}}$$

From Equation (29), we can find that ${\dot{V}}_{i}$ is negative definite on condition that $\mathit{Q}+\Delta \mathit{Q}$ is positive definite, what is exactly the case if:

$$\left\{\begin{array}{c}{a}_{i}>2{f}_{i}^{+}\hfill \\ {b}_{i}>{f}_{i}^{+}\frac{{a}_{i}^{2}}{{a}_{i}\phantom{\rule{3.33333pt}{0ex}}-\phantom{\rule{3.33333pt}{0ex}}2{f}_{i}^{+}}+{f}_{i}^{+}\frac{{a}_{i}\phantom{\rule{3.33333pt}{0ex}}+\phantom{\rule{3.33333pt}{0ex}}1}{{a}_{i}}\hfill \end{array}\right.$$

Then, analyze the finite time convergence of ${\mathit{\eta}}_{\mathit{i}}$, according to Equation (26), we have:

$${\left|{\tilde{\xi}}_{1,i}\right|}^{\frac{1}{2}}<\u2225{\mathit{\eta}}_{\mathit{i}}\u2225\le \frac{{V}_{i}^{\frac{1}{2}}}{{\lambda}_{min}^{\frac{1}{2}}\left(\mathit{P}\right)}$$

And according to Equations (29) and (31), we can conclude that:
where $\gamma =\frac{{\lambda}_{min}^{\frac{1}{2}}\left(\mathit{P}\right){\lambda}_{min}\left(\mathit{Q}\phantom{\rule{3.33333pt}{0ex}}+\phantom{\rule{3.33333pt}{0ex}}\Delta \mathit{Q}\right)}{{\lambda}_{max}\left(\mathit{P}\right)}>0$.

$$\begin{array}{cc}{\dot{V}}_{i}\hfill & \le -{\lambda}_{min}^{\frac{1}{2}}\left(\mathit{P}\right){\lambda}_{min}\left(\mathit{Q}+\Delta \mathit{Q}\right){\u2225{\mathit{\eta}}_{\mathit{i}}\u2225}^{2}{V}_{i}^{-\frac{1}{2}}\hfill \\ & \phantom{\rule{3.0pt}{0ex}}\le -\frac{{\lambda}_{min}^{\frac{1}{2}}\left(\mathit{P}\right){\lambda}_{min}\left(\mathit{Q}\phantom{\rule{3.33333pt}{0ex}}+\phantom{\rule{3.33333pt}{0ex}}\Delta \mathit{Q}\right)}{{\lambda}_{max}\left(\mathit{P}\right)}{V}_{i}^{\frac{1}{2}}\hfill \\ & \phantom{\rule{3.0pt}{0ex}}=-\gamma {V}_{i}^{\frac{1}{2}}\hfill \end{array}$$

Indeed, separating variables and integrating inequality Equation (32) over the time interval $0<\tau <t<0$ , we obtain:
where ${V}_{i,0}$ is the initial value of ${V}_{i}\left(t\right)$. Consequently, ${V}_{i}\left(t\right)$ reaches zero in a finite time ${T}_{r}$ that is bounded by:

$${V}_{i}^{\frac{1}{2}}\left(t\right)\le -\frac{1}{2}\gamma t+{V}_{i,0}^{\frac{1}{2}}$$

$${T}_{r}=2{V}_{i,0}^{\frac{1}{2}}{\gamma}^{-1}$$

## 4. Design of Super Twisting Sliding Mode Controller

Sliding mode control (SMC) has been known as one of the most important tools for those systems subjected to disturbances and uncertainties, while chattering is inevitable in those methods. In order to reduce the chattering, supper twisting SMC is introduced in this section. The main objective of the FC is to guarantee that the state of attitude $\mathit{q}$ and $\mathit{\omega}$ converge to the reference values ${\mathit{q}}_{\mathit{d}}$ and ${\mathit{\omega}}_{\mathit{d}}$ timely. Thus, the sliding mode manifold in this article is chosen as follows:
where ${\mathit{k}}_{1}=\mathrm{diag}({k}_{1,x},{k}_{1,y},{k}_{1,z})$ is a positive defined three dimensional coefficient matrix to be designed. Take time derivative of $\mathit{s}={\left[\begin{array}{ccc}{s}_{x}& {s}_{y}& {s}_{z}\end{array}\right]}^{T}$, we have:

$$\mathit{s}={\mathit{k}}_{1}{\mathit{q}}_{\mathit{e}}+\mathit{J}{\mathit{\omega}}_{\mathit{e}}$$

$$\dot{\mathit{s}}={\mathit{k}}_{1}{\dot{\mathit{q}}}_{\mathit{e}}+\mathit{J}{\dot{\mathit{\omega}}}_{\mathit{e}}$$

Then, submitting Equation (16) into (36):

$$\begin{array}{cc}\dot{\mathit{s}}=\hfill & {\mathit{k}}_{1}{\dot{\mathit{q}}}_{\mathit{e}}+\mathit{u}+\mathit{d}+\mathit{J}(S\left({\mathit{\omega}}_{\mathit{e}}\right){\mathit{C}}_{\mathit{d}}^{\mathit{b}}{\mathit{\omega}}_{\mathit{d}}-{\mathit{C}}_{\mathit{d}}^{\mathit{b}}{\dot{\mathit{\omega}}}_{\mathit{d}})-S\left(\mathit{\omega}\right)\mathit{J}\mathit{\omega}\hfill \end{array}$$

Define the control signal $\mathit{u}$ as:
and plug Equation (38) into (37), we have:
where $\tilde{\mathit{d}}=\mathit{d}-\widehat{\mathit{d}}$ is the estimation error of multiple disturbances, and according to the analysis of the previous section, $\tilde{\mathit{d}}$ is bounded and converges to zero in finite time. Define $\mathit{\sigma}={\left[\begin{array}{ccc}{\sigma}_{x}& {\sigma}_{y}& {\sigma}_{z}\end{array}\right]}^{T}$ as $\mathit{\sigma}=-{\int}_{o}^{t}{\mathit{k}}_{3}sig{\left(\mathit{s}\right)}^{0}d\tau +\tilde{\mathit{d}}$ , then Equation (39) can be rewritten as:
where the positive defined matrix ${\mathit{k}}_{2}=\mathrm{diag}({k}_{2,x},{k}_{2,y},{k}_{2,z})$ and ${\mathit{k}}_{3}=\mathrm{diag}({k}_{3,x},{k}_{3,y},{k}_{3,z})$ are the controller parameters to be determined.

$$\begin{array}{cc}\mathit{u}=\hfill & -\left(\mathit{J}(S\left({\mathit{\omega}}_{\mathit{e}}\right){\mathit{C}}_{\mathit{d}}^{\mathit{b}}{\mathit{\omega}}_{\mathit{d}}-{\mathit{C}}_{\mathit{d}}^{\mathit{b}}{\dot{\mathit{\omega}}}_{\mathit{d}})-S\left(\mathit{\omega}\right)\mathit{J}\mathit{\omega}\right)-{\mathit{k}}_{1}{\dot{\mathit{q}}}_{\mathit{e}}-{\mathit{k}}_{2}sig{\left(\mathit{s}\right)}^{\frac{1}{2}}-{\int}_{o}^{t}{\mathit{k}}_{3}sig{\left(\mathit{s}\right)}^{0}d\tau -\widehat{\mathit{d}}\hfill \end{array}$$

$$\dot{\mathit{s}}=-{\mathit{k}}_{2}sig{\left(\mathit{s}\right)}^{\frac{1}{2}}-{\int}_{o}^{t}{\mathit{k}}_{3}sig{\left(\mathit{s}\right)}^{0}d\tau +\tilde{\mathit{d}}$$

$$\left\{\begin{array}{c}{\displaystyle {\dot{s}}_{i}={\sigma}_{i}-{k}_{2,i}{\u2225{s}_{i}\u2225}^{\frac{1}{2}}sgn\left({s}_{i}\right)}\\ {\displaystyle {\dot{\sigma}}_{i}={\dot{\tilde{d}}}_{i}-{k}_{3,i}sgn\left({s}_{i}\right)d\tau \phantom{\rule{0.277778em}{0ex}}\phantom{\rule{0.277778em}{0ex}}\phantom{\rule{0.277778em}{0ex}}\phantom{\rule{0.277778em}{0ex}}}\end{array}\right.,\phantom{\rule{0.277778em}{0ex}}\phantom{\rule{0.277778em}{0ex}}\phantom{\rule{0.277778em}{0ex}}i=x,y,z$$

Subject to the restriction of article length, the convergence analysis and parameter selection rule of the STSMC will not be introduced in detail. Since Equation (40) has the same form as Equation (22), the detailed convergence analysis can refer to the contents of the previous section. Meanwhile according to Equation (30), the controller parameters can be chosen as:

$$\left\{\begin{array}{c}{k}_{2,i}>2\u2225{\dot{\tilde{d}}}_{i}\u2225\hfill \\ {k}_{3,i}>\u2225{\dot{\tilde{d}}}_{i}\u2225\frac{{k}_{2,i}^{2}}{{k}_{2,i}-2\u2225{\dot{\tilde{d}}}_{i}\u2225}+\u2225{\dot{\tilde{d}}}_{i}\u2225\frac{{k}_{2,i}+1}{{k}_{2,i}}\hfill \end{array}\right.$$

## 5. Simulation and Experimental Results

In order to evaluate the performance of the proposed control method, numerical simulation and real world experimental results are carried out in this section.

#### 5.1. Simulation Results

We present the numerical simulations of the proposed STESO based DUEA control strategy on a model generated by the online toolbox of Quan and Dai [43], and the values of the nominal model parameters are list in Table 1.

In numerical simulations, the position of quadrotor is free and only the attitude of it is controlled. We assume that the rotor $R1$ fails in the 6th second, and loses $20\%$ of effectiveness, which means ${T}_{1}=6$ s and ${\alpha}_{1}=0.2$ in Equation (13). Then, according to [15], the disturbance torque caused by the wind field is proportional to the wind speed, and we assume that the three-axis components of ${\mathit{d}}_{\mathit{w}}={\left[\begin{array}{ccc}{d}_{w,x}& {d}_{w,y}& {d}_{w,z}\end{array}\right]}^{T}$ are equal ${d}_{x}={d}_{y}={d}_{z}={d}_{w}$ without loss of generality. The values of ${\varpi}_{k,i}$ are taken between $0.01\pi $ rad/s and $2.5\pi $ rad/s. The disturbance torque of wind gust used in numerical simulation is Equation (42).

$$\begin{array}{cc}{d}_{w}=\hfill & 0.01sin\left(2.5\pi t-3\right)+0.02sin\left(2\pi t+7\right)+0.06sin\left(\pi t+0.6\right)\hfill \\ & +0.03sin\left(0.5\pi t-9.5\right)+0.02sin\left(0.3\pi t\right)+0.12sin\left(0.1\pi t+4.5\right)\hfill \\ & +0.01sin\left(0.05\pi t+2\right)+0.003sin\left(0.01\pi t+3\right)+0.05\hfill \end{array}$$

The numerical simulation is carried out in MatLab/Simulink with a fixed-sampling time of 1 ms. And to validate the performance of the proposed control strategy, two simulation cases are presented in this part. The initial conditions of the attitude angles and angular velocities are set to zero, and the desired reference commands are selected as:

$${\Theta}_{ref}={\left[\begin{array}{ccc}15sin\left(0.4\pi t\right)& 15cos\left(0.4\pi t\right)& 0\end{array}\right]}^{T}\phantom{\rule{0.277778em}{0ex}}deg$$

#### 5.1.1. Case A: STESO vs. 2nd-Order ESO

In order to verify the enhancement of STESO relative to traditional Higher-order ESO, three comparative simulations are conducted on condition that use nonlinear PD controller as the FC. The controller gains are chosen as ${\mathit{K}}_{\mathbf{1}}={\mathit{I}}_{\mathbf{3}}$ and ${\mathit{K}}_{\mathbf{2}}=5{\mathit{I}}_{\mathbf{3}}$ [44], the observer gains of STESO are chosen as ${a}_{i}=24$ and ${b}_{i}=50$, and the bandwidth of 2nd-order ESO is chosen as 10 rad/s, i.e., the observer gains are $\mathit{L}={\left[\begin{array}{ccc}30& 300& 1000\end{array}\right]}^{T}$ [45].

Figure 3, Figure 4 and Figure 5 show the comparison in attitude tracking results of nonlinear PD controller with STESO, 2nd-order ESO and without DUE. From those figures, we can see that the desired attitude commands can be tracked effectively by the controller with DUE. Moreover, the tracking errors are further reduced by introducing STESO as the DUE instead of 2nd-order ESO. Figure 6 shows the comparison in lumped disturbances estimation results of STESO and 2nd-order ESO. It is obvious that compared with STESO, some phase delay exist in the estimation results of the 2nd-order ESO, which leads to its estimation error convergences into a bounded area. Meanwhile, the estimation errors of STESO almost asymptotically convergence to zero. Especially when the disturbance torque suddenly changes, STESO has more advantages. In general, from the numerical simulation results, we can be conclude that STESO has a higher disturbance estimation accuracy, which in turn improves attitude control accuracy.

#### 5.1.2. Case B. STSMC vs. Nonlinear PD

In order to verify the fast convergence of STSMC, two comparative simulations are performed with the same STESO of different controllers. The controller gains of STSMC are chosen as ${\mathit{k}}_{1}=\mathrm{diag}(1,1,1)$, ${\mathit{k}}_{2}=\mathrm{diag}(5,5,5)$, ${\mathit{k}}_{3}=\mathrm{diag}(20,20,20)$, the STESO and nonlinear PD parameters are the same with those provided in previous.

The comparison in attitude tracking results between STSMC and Nonlinear PD are illustrated in Figure 7. From this figure, we can see that quickly convergence of the attitude of quadrotor can be achieved by using STSMC as the FC. And by introducing ST algorithm into SMC, the chattering is reduced.

#### 5.2. Experimental Results

In order to evaluate the effectiveness of the developed algorithm in practical applications, we have also tested the proposed control scheme on a selfassembled GF360 quadrotor, where an open-source flight controller PIXHAWK [46,47] was used as the autopilot of the quadrotor.

#### 5.2.1. Case A: STESO vs. 2nd-Order ESO

In this case, quadrotor is freely flying and we mainly aim to achieve the fast stabilization of quadrotor attitude on condition that actuator faults occur. According to the simulation results, we can conclude that STESO algorithm has advantage in quick response to the lumped disturbances. And in order to verify its effectiveness in actual flight, three comparative real time experiments are conducted to handle the sudden lose of rotor effectiveness. The experimental setup is shown in Figure 8, and freely flying is performed. As it is dangerous to damage the propeller during flight, we use software to set up a sudden lose of rotor effectiveness in pitch channel at the 10th second. We choose the traditional nonlinear PD controller as the FC in these experiments, where the performances of the PD controller with STESO, 2nd-order ESO or without DUE are compared. The gains of the PD controller are chosen as ${\mathit{k}}_{1}=\mathrm{diag}(7,7,2.8)$ and ${\mathit{k}}_{2}=\mathrm{diag}(0.15,0.15,2)$, the gains of the STESO are ${a}_{i}=1$ and ${b}_{i}=0.24$, the bandwidth of the 2nd-order ESO is 4 rad/s, i.e., the observer gains are $\mathit{L}={\left[\begin{array}{ccc}12& 48& 64\end{array}\right]}^{T}$.

The experiment curves of the attitude are plotted in Figure 9 and Figure 10. From Figure 9, we can see that when the same loss of rotor effectiveness occurs, the deflections of pitch angle and angular rate in PD controller with STESO method are the smallest and the recovery times are the shortest. Figure 11 show the disturbances estimate curves of proposed STESO and 2nd-order ESO respectively. It can be seen that the convergence time of STESO is shorter that 2nd-order ESO. In general, the comparison of the experiment results are list detailly in Table 2. Furthermore, the corresponding control torques are shown in Figure 12.

#### 5.2.2. Case B: Proposed Method vs. Nonlinear PD

The main propose in this case is to show the performance of the developed method for quadrotor subject to lumped disturbances such as wind disturbance and actuator fault. As shown in Figure 13, We install a damaged propeller on the $R1$ to perform the fault of the actuator, and then keep the quadrotor hovering in wind gust by remote control. In order to ensure the same experimental conditions, our experiments is run in a controlled indoor environment. We use an electrical fan with adjustable wind speed to generate the disurbance torque acting on the pitch channel of quadrotor. The average wind speed is around 4.5 m/s and turn on the electric fan at the 30 s. The experiments are carried out in our lab without GPS signals.

Figure 14 shows the estimation results of the STESO. From this figure, we can see that the actuator fault in $R1$ leads to a steady disturbance torque acting on the quadrotor in hovering flight, i.e., ${d}_{u,x}\approx 0.04$ Nm, ${d}_{u,y}\approx -0.03$ Nm and ${d}_{u,z}\approx -0.07$ Nm. The wind gust mainly leads to the stochastic disturbance torque in each channel, plus a steady torque about −0.01 Nm in pitch channel. The attitude control results in this case are shown in Figure 15 and Figure 16. It can be observed that the control performance is improved by introducing the proposed method compared with the nonlinear PD controller. In addition, the root mean square (RMS) errors of the attitude angles obtained by the proposed controller and PD controller are list in Table 3. And Figure 17 illustrates the control inputs in each channel.

## 6. Conclusions

In this paper, the problem of high precision attitude tracking for quadrotor in the presence of wind gust and actuator fault is investigated. In order to estimate and attenuate the disturbances timely and accurately, a STESO is proposed and successfully implemented as the DUE in experiments. Also, a STSMC is designed as the FC to drive the attitude angle and angular velocity to their desired value in finite time. From the comparative simulation and experiment results, we can conclude that when the parameter selection rule given in this article of is satisfied, the proposed super-twisting algorithm based controller can relize the fast converge to the desired attitude precisely with less chattering. And compared with the traditional Higher-order ESO, STESO has a higher disturbance estimation accuracy, which in turn improves attitude control accuracy.

References

## Supplementary Materials

The Simulinlk simulation algorithm is available online at https://pan.baidu.com/s/1I-OVIDoOKMJhaNP-KbFjsA, password: 1l3i.

## Author Contributions

Conceive and design the algorithm, Z.W. and D.S.; Perform the experiments, D.S.; Software, D.S.; Project administration, Z.W. and W.C.; Supervision, Z.W.

## Funding

This work was funded by the State Key Development Program for Basic Research of China (Grant No. 2013CB035503).

## Conflicts of Interest

The authors declare no conflicts of interest.

## References

- Stepaniak, M.J.; van Graas, F.; de Haag, M.U. Design of an Electric Propulsion System for a Quadrotor Unmanned Aerial Vehicle. J. Aircr.
**2009**, 46, 1050–1058. [Google Scholar] [CrossRef] - Gupte, S.; Mohandas, P.I.T.; Conrad, J.M. A Survey of Quadrotor Unmanned Aerial Vehicles. In Proceedings of the IEEE Southeastcon, Orlando, FL, USA, 15–18 March 2012. [Google Scholar]
- Ozbek, N.S.; Onkol, M.; Efe, M.O. Feedback control strategies for quadrotor-type aerial robots: A survey. Trans. Inst. Meas. Control
**2016**, 38, 529–554. [Google Scholar] [CrossRef] - Bouabdallah, S.; Becker, M.; Siegwart, R. Autonomous miniature flying robots: Coming soon! IEEE Robot Autom Mag.
**2007**, 14, 88–98. [Google Scholar] [CrossRef] - Han, W.X.; Wang, Z.H.; Shen, Y. Fault estimation for a quadrotor unmanned aerial vehicle by integrating the parity space approach with recursive least squares. Proc. Inst. Mech. Eng. Part G J. Aerosp. Eng.
**2018**, 232, 783–796. [Google Scholar] [CrossRef] - Tian, B.L.; Ma, Y.X.; Zong, Q. A Continuous Finite-Time Output Feedback Control Scheme and Its Application in Quadrotor UAVs. IEEE Access
**2018**, 6, 19807–19813. [Google Scholar] [CrossRef] - Huang, M.; Xian, B.; Diao, C.; Yang, K.Y.; Feng, Y. Adaptive Tracking Control of Underactuated Quadrotor Unmanned Aerial Vehicles via Backstepping. In Proceedings of the 2010 American Control Conference, Baltimore, MD, USA, 30 June–2 July 2010; pp. 2076–2081. [Google Scholar]
- Salih, A.L.; Moghavvemi, M.; Mohamed, H.A.F.; Gaeid, K.S. Flight PID controller design for a UAV quadrotor. Sci. Res. Essays
**2010**, 5, 3660–3667. [Google Scholar] - Lee, K.U.; Kim, H.S.; Park, J.B.; Choi, Y.H. Hovering Control of a Quadrotor. In Proceedings of the 2012 12th International Conference on Control, Automation and Systems (Iccas), JeJu Island, Korea, 17–21 October 2012; pp. 162–167. [Google Scholar]
- González-Vázquez, S.; Moreno-Valenzuela, J. A New Nonlinear PI/PID Controller for Quadrotor Posture Regulation. In Proceedings of the 2010 IEEE Electronics, Robotics and Automotive Mechanics Conference, Morelos, Mexico, 28 September–1 October 2010; pp. 642–647. [Google Scholar]
- González-Vázquez, S.; Moreno-Valenzuela, J. Motion Control of a Quadrotor Aircraft via Singular Perturbations. Int. J. Adv. Robot. Syst.
**2013**, 10, 368. [Google Scholar] [CrossRef] - Liu, H.; Lu, G.; Zhong, Y.S. Robust LQR Attitude Control of a 3-DOF Laboratory Helicopter for Aggressive Maneuvers. IEEE Trans. Ind. Electron.
**2013**, 60, 4627–4636. [Google Scholar] [CrossRef] - Munoz, F.; Gonzalez-Hernandez, I.; Salazar, S.; Espinoza, E.S.; Lozano, R. Second order sliding mode controllers for altitude control of a quadrotor UAS: Real-time implementation in outdoor environments. Neurocomputing
**2017**, 233, 61–71. [Google Scholar] [CrossRef] - Avram, R.C.; Zhang, X.D.; Muse, J. Nonlinear Adaptive Fault-Tolerant Quadrotor Altitude and Attitude Tracking With Multiple Actuator Faults. IEEE Trans. Control Syst. Technol.
**2018**, 26, 701–707. [Google Scholar] [CrossRef] - Wang, C.; Song, B.F.; Huang, P.F.; Tang, C.H. Trajectory Tracking Control for Quadrotor Robot Subject to Payload Variation and Wind Gust Disturbance. J. Intell. Robot. Syst.
**2016**, 83, 315–333. [Google Scholar] [CrossRef] - Basri, M.A.M.; Husain, A.R.; Danapalasingam, K.A. Stabilization and trajectory tracking control for underactuated quadrotor helicopter subject to wind-gust disturbance. Sadhana Acad. Proc. Eng. Sci.
**2015**, 40, 1531–1553. [Google Scholar] [CrossRef] - Chen, W.H.; Ohnishi, K.; Guo, L. Advances in Disturbance/Uncertainty Estimation and Attenuation. IEEE Trans. Ind. Electron.
**2015**, 62, 5758–5762. [Google Scholar] [CrossRef] - Yang, J.; Chen, W.H.; Li, S.H.; Guo, L.; Yan, Y.D. Disturbance/Uncertainty Estimation and Attenuation Techniques in PMSM Drives-A Survey. IEEE Trans. Ind. Electron.
**2017**, 64, 3273–3285. [Google Scholar] [CrossRef] - Wang, Z.; Wu, Z. Nonlinear attitude control scheme with disturbance observer for flexible spacecrafts. Nonlinear Dyn.
**2015**, 81, 257–264. [Google Scholar] [CrossRef] - Wang, Z.; Wu, Z.; Du, Y.J. Adaptive sliding mode backstepping control for entry reusable launch vehicles based on nonlinear disturbance observer. Proc. Inst. Mech. Eng. Part G J. Aerosp. Eng.
**2016**, 230, 19–29. [Google Scholar] [CrossRef] - Pu, Z.Q.; Yuan, R.Y.; Yi, J.Q.; Tan, X.M. A Class of Adaptive Extended State Observers for Nonlinear Disturbed Systems. IEEE Trans. Ind. Electron.
**2015**, 62, 5858–5869. [Google Scholar] [CrossRef] - Wang, H.D.; Huang, Y.B.; Xu, C. ADRC Methodology for a Quadrotor UAV Transporting Hanged Payload. In Proceedings of the 2016 IEEE International Conference on Information and Automation (ICIA), Ningbo, China, 1–3 August 2016; pp. 1641–1646. [Google Scholar]
- Xia, Y.Q.; Pu, F.; Li, S.F.; Gao, Y. Lateral Path Tracking Control of Autonomous Land Vehicle Based on ADRC and Differential Flatness. IEEE Trans. Ind. Electron.
**2016**, 63, 3091–3099. [Google Scholar] [CrossRef] - Dou, J.X.; Kong, X.X.; Wen, B.C. Altitude and attitude active disturbance rejection controller design of a quadrotor unmanned aerial vehicle. Proc. Inst. Mech. Eng. Part G J. Aerosp. Eng.
**2017**, 231, 1732–1745. [Google Scholar] [CrossRef] - Busawon, K.K.; Kabore, P. Disturbance attenuation using proportional integral observers. Int. J. Control
**2001**, 74, 618–627. [Google Scholar] [CrossRef] - Gao, Z.W.; Breikin, T.; Nang, H. Discrete-time proportional and integral observer and observer-based controller for systems with both unknown input and output disturbances. Opt. Control Appl. Meth.
**2008**, 29, 171–189. [Google Scholar] [CrossRef] - Alcan, G.; Unel, M. Robust Hovering Control of a Quadrotor Using Acceleration Feedback. In Proceedings of the 2017 International Conference on Unmanned Aircraft Systems (Icuas’17), Miami, FL, USA, 13–16 June 2017; pp. 1455–1462. [Google Scholar]
- Han, J.Q. From PID to Active Disturbance Rejection Control. IEEE Trans. Ind. Electron.
**2009**, 56, 900–906. [Google Scholar] [CrossRef] - Wang, W.; Gao, Z. A comparison study of advanced state observer design techniques. In Proceedings of the American Control Conference, Denver, CO, USA, 4–6 June 2003; Volume 6, pp. 4754–4759. [Google Scholar]
- Madonski, R.; Herman, P. Survey on methods of increasing the efficiency of extended state disturbance observers. ISA Trans.
**2015**, 56, 18–27. [Google Scholar] [CrossRef] [PubMed] - Godbole, A.A.; Kolhe, J.P.; Talole, S.E. Performance Analysis of Generalized Extended State Observer in Tackling Sinusoidal Disturbances. IEEE Trans. Control Syst. Technol.
**2013**, 21, 2212–2223. [Google Scholar] [CrossRef] - Madani, T.; Benallegue, A. Sliding mode observer and backstepping control for a quadrotor unmanned aerial vehicles. In Proceedings of the 2007 American Control Conference, New York, NY, USA, 9–13 July 2007; Volume 1–13, pp. 2462–2467. [Google Scholar]
- Chuei, R.; Cao, Z.W.; Man, Z.H. Super Twisting Observer based Repetitive Control for Aperiodic Disturbance Rejection in a Brushless DC Servo Motor. Int. J. Control Autom. Syst.
**2017**, 15, 2063–2071. [Google Scholar] [CrossRef] - Utkin, V. On Convergence Time and Disturbance Rejection of Super-Twisting Control. IEEE Trans. Autom. Control
**2013**, 58, 2013–2017. [Google Scholar] [CrossRef] - Li, P.; Ma, J.J.; Zheng, Z.Q. Disturbance-observer-based fixed-time second-order sliding mode control of an air-breathing hypersonic vehicle with actuator faults. Proc. Inst. Mech. Eng. Part G J. Aerosp. Eng.
**2018**, 232, 344–361. [Google Scholar] [CrossRef] - Tian, B.L.; Liu, L.H.; Lu, H.C.; Zuo, Z.Y.; Zong, Q.; Zhang, Y.P. Multivariable Finite Time Attitude Control for Quadrotor UAV: Theory and Experimentation. IEEE Trans. Ind. Electron.
**2018**, 65, 2567–2577. [Google Scholar] [CrossRef] - Chovancova, A.; Fico, T.; Hubinsky, P.; Duchon, F. Comparison of various quaternion-based control methods applied to quadrotor with disturbance observer and position estimator. Robot. Auton. Syst.
**2016**, 79, 87–98. [Google Scholar] [CrossRef] - Bouabdallah, S.; Siegwart, R. Full control of a quadrotor. In Proceedings of the 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems, San Diego, CA, USA, 29 October–2 November 2007; Volume 9, pp. 153–158. [Google Scholar]
- Waslander, S.; Wang, C. Wind Disturbance Estimation and Rejection for Quadrotor Position Control. In Proceedings of the AIAA Infotech@Aerospace Conference and AIAA Unmanned...Unlimited Conference, Seattle, WA, USA, 6–9 April 2009. [Google Scholar]
- Chen, Y.M.; He, Y.L.; Zhou, M.F. Decentralized PID neural network control for a quadrotor helicopter subjected to wind disturbance. J. Cent. South Univ.
**2015**, 22, 168–179. [Google Scholar] [CrossRef] - Önder, E.M. Battery power loss compensated fractional order sliding mode control of a quadrotor UAV. Asian J. Control
**2012**, 14, 413–425. [Google Scholar] - Shtessel, Y.; Edwards, C.; Fridman, L.; Levant, A. Sliding Mode Control and Observation; Springer: New York, NY, USA, 2014. [Google Scholar]
- Quan, Q.; Dai, X. Flight Performance Evaluation of UAVs. Available online: http://flyeval.com/ (accessed on 20 April 2018).
- Shi, D.; Wu, Z.; Chou, W. Harmonic Extended State Observer Based Anti-Swing Attitude Control for Quadrotor with Slung Load. Electronics
**2018**, 7, 83. [Google Scholar] [CrossRef] - Shi, D.; Wu, Z.; Chou, W. Generalized Extended State Observer Based High Precision Attitude Control of Quadrotor Vehicles Subject to Wind Disturbance. IEEE Access
**2018**, 6, 2169–3536. [Google Scholar] [CrossRef] - Meier, L.; Tanskanen, P.; Heng, L.; Lee, G.H.; Fraundorfer, F.; Pollefeys, M. PIXHAWK: A micro aerial vehicle design for autonomous flight using onboard computer vision. Auton. Robot.
**2012**, 33, 21–39. [Google Scholar] [CrossRef] - Meier, L.; Tanskanen, P.; Fraundorfer, F.; Pollefeys, M. The Pixhawk Open-Source Computer Vision Framework for Mavs. In Proceedings of the International Conference on Unmanned Aerial Vehicle in Geomatics (UAV-G), New York, NY, USA, 14–16 September 2011; Volume 38-1, pp. 13–18. [Google Scholar]

**Figure 8.**Experimental setup of the quadrotor hovering with sudden lose of rotor effectiveness in Case A.

**Figure 9.**Experimental curves of $\theta $ and ${\mathit{\omega}}_{y}$ with different DUE in Case A.

**Figure 16.**Experimental curves of angular rates ${\mathit{\omega}}_{x}$, ${\mathit{\omega}}_{y}$, ${\mathit{\omega}}_{z}$ in Case B.

Parameter | Description | Value |
---|---|---|

m | Mass | $1.79$ kg |

${J}_{x}$ | Roll inertia | $1.335\times {10}^{-2}$$\mathrm{kg}\xb7{\mathrm{m}}^{2}$ |

${J}_{y}$ | Pitch inertia | $1.335\times {10}^{-2}$$\mathrm{kg}\xb7{\mathrm{m}}^{2}$ |

${J}_{z}$ | Yaw inertia | $2.465\times {10}^{-2}$$\mathrm{kg}\xb7{\mathrm{m}}^{2}$ |

l | Motor moment arm | $0.18$ m |

g | Gravity acceleration | $9.81$$\mathrm{m}\xb7{\mathrm{s}}^{-2}$ |

${k}_{T}$ | Aerodynamic coefficient | $8.82\times {10}^{-6}$$\mathrm{N}/{(\mathrm{rad}/\mathrm{s})}^{2}$ |

${k}_{D}$ | Drag coefficient | $1.09\times {10}^{-7}$$\mathrm{N}\xb7\mathrm{m}/{(\mathrm{rad}/\mathrm{s})}^{2}$ |

${\Omega}_{i,max}$ | Maximum rotational speed | 8214 r/min |

${\Omega}_{i,min}$ | Minimum rotational speed | 100 r/min |

Deflection | Recovery Time | Convergence Time | |||
---|---|---|---|---|---|

$\mathit{\theta}$ | ${\mathit{\omega}}_{\mathit{y}}$ | $\mathit{\theta}$ | ${\mathit{\omega}}_{\mathit{y}}$ | ||

Without Estimator | 0.085 rad | 0.78 rad/s | 8.86 s | 0.232 s | / |

2nd-order ESO + PD | 0.076 rad | 0.79 rad/s | 5.71 s | 0.224 s | 0.718 s |

STESO + PD | 0.061 rad | 0.70 rad/s | 4.41 s | 0.208 s | 0.547 s |

Actuator Fault Only | Actuator Fault+Wind Gust | |||||
---|---|---|---|---|---|---|

$\mathit{\varphi}$ | $\mathit{\theta}$ | $\mathit{\psi}$ | $\mathit{\varphi}$ | $\mathit{\theta}$ | $\mathit{\psi}$ | |

nonlinear PD | 0.0082 | 0.0072 | 0.0187 | 0.0160 | 0.0202 | 0.0204 |

STESO + STSMC | 0.0094 | 0.0052 | 0.0135 | 0.0136 | 0.0116 | 0.0132 |

© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).