High-Order Sliding Mode-Based Fixed-Time Active Disturbance Rejection Control for Quadrotor Attitude System

This article presents a fixed-time active disturbance rejection control approach for the attitude control problem of quadrotor unmanned aerial vehicle in the presence of dynamic wind, mass eccentricity and an actuator fault. The control scheme applies the feedback linearization technique and enhances the performance of the traditional active disturbance rejection control (ADRC) based on the fixed-time high-order sliding mode method. A switching-type uniformly convergent differentiator is used to improve the extended state observer for estimating and attenuating the lumped disturbance more accurately. A multivariable high-order sliding mode feedback law is derived to achieve fixed time convergence. The timely convergence of the designed extended state observer and the feedback law is proved theoretically. Mathematical simulations with detailed actuator models and real time experiments are performed to demonstrate the robustness and practicability of the proposed control scheme.


Introduction
Unmanned aerial vehicles (UAVs) are useful for tasks that are dangerous or unaccessible for human operation and popular in military and civilian applications such as investigation, inspection and surveillance with the advantage of moving in three-dimensional space flexibly.A quadrotor is a kind of vertical takeoff and landing (VTOL) aircraft lifted and controlled by four rotors [1].Being simpler in structure, less sensitive to damage, easier to handle and more cost-effective, quadrotors have gained more attention in small unmanned aerial system (UAS) research than traditional helicopters.Therefore, plenty of remarkable research achievements related to quadrotors have been made in recent years [2,3].
In practical terms, the position control method is designed according to specific mission requirements and could be implemented onboard or remotely, while the attitude control is performed via an onboard processor to stabilize the attitude reliably [4].Traditional efficient proportional-derivative (PD) control method has been used in the attitude control of quadrotor [5,6] and achieves good practical performance.Feedback linearization is a commonly used technique to control non-linear coupled systems and are adaptable to the controller design of quadrotor [7].In [8], the attitude states are transformed into a new state space with a nonlinear transformation to obtain a linear system on which linear error-feedback control can be applied.The idea to design a controller on a transformed linear system instead of the original non-linear system is valuable, however the results in [8] show that the linear error-feedback controller is not robust in terms of uncertainties and measurement noises.
The small low-cost quadrotor is a non-redundant aircraft which suffers from external and internal disturbances such as dynamic wind and actuator faults.In order to design the attitude controller to be robust against unknown disturbances, the observer-based online disturbance estimation and attenuation strategies have been widely studied in recent years.A disturbance observer based on Q-filter is applied in [9,10] for robust hovering control.In [11], a neural network is used to learn the uncertain terms in UAV dynamics.Aboudonia integrated a disturbance observer with feedback linearization-based control in [12] for robustness, and combined a sliding mode controller with a disturbance observer in [13].The control schemes are verified with the Dryden turbulence model and Von-Karman wind model, respectively.Disturbance observer-based trajectory tracking methods were studied in [14,15].The sliding mode-based observer and high-order sliding mode-based observer are also extensively studied to enhance the robustness of feedback linearization-based controller [16], sliding mode controller [17] and back-stepping controller [18].Shi designed extended state observers in [19,20] for the attitude control problem of quadrotors.
Active disturbance rejection control (ADRC) is proposed by Han in 2009 [21].ADRC inherits from the classical proportional-integral-derivative (PID) controller and executes in an error-driven manner.By augmenting the system uncertainty into the state vector and constructing an extended state observer (ESO), the uncertainty is observed in real-time.Aiming at replacing PID in industrial applications, the ADRC scheme is developed experimentally in the first place.Recently, Guo [22] has proved the convergence of ADRC for non-linear systems mathematically.As a practical control scheme, ADRC has been applied to many engineering aspects, such as motor control, power plant control, ship control, etc [23] (pp.[6][7][8][9].ADRC has been adopted for attitude control of a quadrotor directly in [23][24][25][26]. In order to avoid the chattering effect in the sliding mode method, Levant [27,28] designed a general-form arbitrary-order exact robust differentiator based on high-order sliding mode (HOSM) algorithm.The proposed differentiator was proved to converge in finite time with bounded uncertainties.In [29], Levant's robust differentiator was improved via an extra exponential function with an exponent greater than 1 in order to achieve fixed-time convergence regardless of the initial deviation.In [30], a kind of fixed-time observer is derived and the constraints of the corrective term is formulated.In fact, the observer in [29] is an instance of the formula of the fixed-time observer in [30].Angulo designed a fixed-time observer operated in a switching manner in [31].The observer is switched from a uniform differentiator to Levant's finite-time differentiator.Compared with the methods used in [29,30], Angulo's switching-type observer performs only one exponential function at each step.Therefore, it is more practical on micro-processors with limited computing power.The switching-type observer has been applied to hypersonic vehicle flight control system [32] and the Brunovsky system [33].An adaptive super-twisting-based controller is designed for a hypersonic vehicle in [34,35], in which a fixed-time observer is applied.In [36], a fixed-time observer and an integral terminal sliding mode method are studied for fault-tolerant control of a hypersonic vehicle.
In this paper, motivated by the ADRC structure and fixed-time observer, a fixed-time active disturbance rejection control (FTADRC) scheme based on the high-order sliding mode is proposed for the quadrotor attitude system in the presence of unknown disturbances including model uncertainty, dynamic wind, actuator fault and mass eccentricity.The proposed control scheme is analyzed theoretically and verified experimentally.The main contributions of this paper are as follows.

1.
The ESO in ADRC is improved via robust uniform high-order sliding mode differentiator to achieve fixed time convergence given bounded differential of lumped disturbance.

2.
A non-linear feedback control law combining a high-order sliding mode with feedback linearization is applied in the improved ADRC scheme.In this way, the attitude controller provides fixed-time stability.
The remainder of this paper is organized as follows.The mathematical models are presented in Section 2. The classical ADRC structure is described in Section 3. The proposed high-order sliding Electronics 2018, 7, 357 3 of 29 mode-based FTADRC is detailed in Section 4. Simulations with a Dryden wind model and experiments with simulated disturbance are carried out in Section 5. Finally, the discussions of the experiments and the conclusions are presented in Sections 6 and 7.

Rigid Body Dynamics
In this section, the quadrotor body is considered as a symmetrical rigid body attached with four sets of actuators.And the center of mass coincides exactly with the center of the body.Figure 1  The remainder of this paper is organized as follows.The mathematical models are presented in Section 2. The classical ADRC structure is described in Section 3. The proposed high-order sliding mode-based FTADRC is detailed in Section 4. Simulations with a Dryden wind model and experiments with simulated disturbance are carried out in Section 5. Finally, the discussions of the experiments and the conclusions are presented in Section 6 and Section 7.

Rigid Body Dynamics
In this section, the quadrotor body is considered as a symmetrical rigid body attached with four sets of actuators.And the center of mass coincides exactly with the center of the body.Figure 1 shows a simplified model of an "X" type quadrotor and the coordinate frames used in this paper.The body coordinate frame Obxbybzb is fixed with the quadrotor body, and the Earth coordinate frame OeNED is fixed with the ground.As the flight time is short, the rotation of the earth is neglected such that the Earth coordinate frame is static in inertial space.and angle φ and axis n of rotation as following.0 tan 1 4 The rotation matrix represented in form of MRP is expressed as follows: The mathematical model of the quadrotor attitude described by MRPs is defined as follows: .ρ can be expressed in the form of unit quaternion q = q 0 q T v T and angle φ and axis n of rotation as following.
The rotation matrix represented in form of MRP is expressed as follows: The mathematical model of the quadrotor attitude described by MRPs is defined as follows: .
. where ω = ω x ω y ω z T is the angular rate along body coordinate frame.I x , I y and I z are the diagonal elements of inertial matrix.The products of inertia are assumed to be zero.τ = τ x τ y τ z T is external torque.J r is the rotational inertia of each propeller.Ω r is linear combination of the rotor speeds Ω i (i = 1, 2, 3, 4) and calculated as follows: Each MRP ρ has a shadow MRP ρ S that represents the same orientation as ρ.Using the combination of MRPs and their shadow set, any rotation could be described without singularity.It is easy to be understand that rotating angle φ around the axis n is exactly the same as rotating angle 360 • − φ around the axis −n, as shown in Figure 2. According to [37], the shadow point of MRP ρ is formulated as follows.
It is worth noting that ρ is also the shadow point of ρ S .
Where ω ω ω is the angular rate along body coordinate frame.x I , y I and z I are the diagonal elements of inertial matrix.The products of inertia are assumed to be zero.
τ is external torque.r J is the rotational inertia of each propeller.Ω r is linear combination of the rotor speeds ( ) Ω =1, 2, 3, 4 i i and calculated as follows: Each MRP ρ has a shadow MRP S ρ that represents the same orientation as ρ .Using the combination of MRPs and their shadow set, any rotation could be described without singularity.It is easy to be understand that rotating angle φ around the axis n is exactly the same as rotating angle 360 φ −  around the axis −n , as shown in Figure 2. According to [37], the shadow point of MRP ρ is formulated as follows.
S 2 It is worth noting that ρ is also the shadow point of S ρ .

Actuator Mode
Each of the four sets of actuators consists of an electron speed regulator, a brushless direct-current (DC) motor (BLDM) and a propeller.The electron speed regulator is responsive to

Actuator Mode
Each of the four sets of actuators consists of an electron speed regulator, a brushless direct-current (DC) motor (BLDM) and a propeller.The electron speed regulator is responsive to input signals.Thus, it is modelled as a simple proportional component and neglected in following sections.

Motor Model
The circuit of the BLDM can be simplified into a series circuit composed of an equivalent resistance R M , an equivalent inductance L M and the induction power supply e M produced by rotor rotation.The input voltage u satisfies the following voltage equation of the motor circuit: where i is the current, Ω is the rotational speed of the rotor, K v is the motor velocity constant.The motor torque is proportional to the current with coefficient K T .
Because the propeller is mechanically attached with a motor rotor, we ignore the rotational inertia of the motor rotor and treat it as part of the rotational inertia of the propeller J r .The rotation dynamics equation of the propeller is formulated as follows: where Q represents the aerodynamic drag torque, which will be discussed later in the propeller aerodynamic model.The equivalent inductance L M of small BLDM is negligible.Therefore, the motor is modelled by the following first-order differential equation with input u and output Ω.

Propeller Aerodynamic Model
We build the propeller aerodynamic model for quadrotors mainly by consulting the aerodynamics for a helicopter rotor in [38].The model combines momentum theory and blade element analysis, and achieves the following equation of the inflow ratio λ: where µ is the rotor advance ratio; F is a function of λ named by Prandtl correction factor; λ c is the climb inflow ratio; σ is the rotor solidity; C lα is the lift-curve slope; θ is the blade pitch angle; r is the non-dimensional radial distance.The readers can refer to [38] for the detailed description and derivation of the above equation.
λ cannot be directly solved from the above equation as F is a non-linear function of λ.Instead, the equation could be solved in a nested iterative way as following.

2.
Solve the equation through the Newton method with initial value in the case of µ = 0: Calculate F(λ), go to step 2 and start the next iteration.
Generally, convergence is obtained after about 3 times of iteration (outer cycle).Divide the blade into N elements with length of ∆r.The rotor thrust coefficient C T and torque coefficient C Q are approximated with the sum of corresponding coefficients of each annulus with the width of ∆r as shown in Figure 3.
where C d is the drag coefficient, n = 1, , N. The trust and torque generated by the rotor could be calculated with the coefficients.
where ρ is the air density; R is the radius of the rotor disk.Divide the blade into N elements with length of Δr .The rotor thrust coefficient T C and torque coefficient Q C are approximated with the sum of corresponding coefficients of each annulus with the width of r Δ as shown in Figure 3.
Where d C is the drag coefficient, = 1,..., n N. The trust and torque generated by the rotor could be calculated with the coefficients.
( ) ( ) where ρ is the air density; R is the radius of the rotor disk.

Example of Measuring and Calculating Propeller Aerodynamic Model Parameters
Multiple parameters need to be determined before applying the above propeller aerodynamic model in simulations.We summarize the parameters in Table 1, and present the method for determination with an example.
As Table 1 shows, there are four kinds of parameters required in propeller aerodynamic model.The atmospheric parameter is directly determined with the Earth's atmospheric parameters.Propeller parameters are manually measured.Velocity parameters are calculated online according to wind speed and quadrotor motion in simulations.Aerodynamic coefficients are usually determined with the aid of an accurate structural model, which is difficult to construct.We use an experimental method to estimate the coefficients through measuring rotor trust, torque and rotation speed.

Example of Measuring and Calculating Propeller Aerodynamic Model Parameters
Multiple parameters need to be determined before applying the above propeller aerodynamic model in simulations.We summarize the parameters in Table 1, and present the method for determination with an example.
As Table 1 shows, there are four kinds of parameters required in propeller aerodynamic model.The atmospheric parameter is directly determined with the Earth's atmospheric parameters.Propeller parameters are manually measured.Velocity parameters are calculated online according to wind speed and quadrotor motion in simulations.Aerodynamic coefficients are usually determined with the aid of an accurate structural model, which is difficult to construct.We use an experimental method to estimate the coefficients through measuring rotor trust, torque and rotation speed.We use 16" carbon propellers as example for measuring and estimating.The propeller radius is 203.2 mm.The number of blades per propeller is 2. Blade chord and blade pitch angle vary with the radial position.We select 12 measurement points on the blade and measure the chord and pitch angle manually on the measurement points.The measured results are shown in Table 2.We use a tachometer (Hobbywing, Shenzhen, China), a tensionmeter (Jnsensor, Bengbu, China) and a torquemeter (Jnsensor, Bengbu, China) to measure the thrust-speed and torque-speed curves of 16" carbon propellers in static air.The three sensors are shown in Figure 4.In the measurement process, the tensionmeter and the torquemeter are fixed on a solid stable structure, while the motor with the propeller is mounted on the tensionmeter or the torquemeter with a flange.The tachometer is connected with arbitrary two phases of the three-phase motor and measures the rotation speed by counting the phase changes.The tensionmeter and the torquemeter output analog signals.The signals are converted into digital measurements with an analog-to-digital (A/D) converter and sent to the computer through a serial port.According to Equation ( 13), the rotor thrust and torque increase with the square of the rotation speed with ratio of  According to Equation ( 13), the rotor thrust and torque increase with the square of the rotation speed with ratio of C T ρπR 4 and C Q ρπR 5 respectively.We take measurements in static air and fit the thrust-speed and torque-speed curves with 2-order polynomial function.The thrust coefficient and torque coefficient are recovered from the fitting parameters.We merge the measurements from four sets of motors and propellers to get the average coefficients.The resulting curves are shown in Figure 5.It is shown that the resulting 2-order polynomial functions fit the measurements well.
According to the fitting parameters, C T and C Q are 1.36 × 10 −2 and 2.028 × 10 −3 in the case of λ c = 0 and µ = 0.The whole calculation process of C T described before is treated as a non-linear function of C lα , i.e.,

Active Disturbance Rejection Control (ADRC) Method
The ADRC method applied to a second-order system is shown in Figure 6.The method consists of three parts: tracking differentiator (TD) is used to generate the desired states given the desired outputs; extended state observer (ESO) is used to estimate the system uncertainty; non-linear state error feedback (NLSEF) is used to feedback state errors effectively.

Active Disturbance Rejection Control (ADRC) Method
The ADRC method applied to a second-order system is shown in Figure 6.The method consists of three parts: tracking differentiator (TD) is used to generate the desired states given the desired outputs; extended state observer (ESO) is used to estimate the system uncertainty; non-linear state error feedback (NLSEF) is used to feedback state errors effectively.The traditional ESO is a model-independent disturbance observer and can be employed universally in the non-linear system control problem.However, the convergence rate of the traditional ESO is not sufficient for a quadrotor attitude control problem.Therefore, this paper focuses on improving the ESO with a high-order slide mode algorithm for quadrotor attitude control problem.Additionally, the non-linear state error feedback control law is improved with a multivariable high-order slide mode algorithm.

High-Order Sliding Mode-Based Fixed-Time Active Disturbance Rejection Control (FTADRC)
The FTADRC scheme is designed within the traditional ADRC structure based on the feedback-linearization technique.A schematic block diagram of the proposed FTADRC scheme for quadrotor attitude control is shown in Figure 7.The attitude control scheme consists of five parts:  The traditional ESO is a model-independent disturbance observer and can be employed universally in the non-linear system control problem.However, the convergence rate of the traditional ESO is not sufficient for a quadrotor attitude control problem.Therefore, this paper focuses on improving the ESO with a high-order slide mode algorithm for quadrotor attitude control problem.Additionally, the non-linear state error feedback control law is improved with a multivariable high-order slide mode algorithm.

High-Order Sliding Mode-Based Fixed-Time Active Disturbance Rejection Control (FTADRC)
The FTADRC scheme is designed within the traditional ADRC structure based on the feedback-linearization technique.A schematic block diagram of the proposed FTADRC scheme for quadrotor attitude control is shown in Figure 7.The attitude control scheme consists of five parts:

•
Feedback linearization for regularizing the attitude dynamic model; • Fixed-time extended state observer (FTESO) for observing the unknown disturbances accurately;

Feedback Linearization
We remove the gyroscopic effect and reactionary torque related to the rotor speed in the attitude dynamic equations and treat them as part of the unknown disturbance.A six-dimensional system is defined with state vector , , ,  x , input vector , , u and , , y y y y .A non-linear system is achieved according to the attitude The Lie derivative and k-th Lie derivative of function x with respect to a vector-valued function ( ) f x are defined as follows:

Feedback Linearization
We remove the gyroscopic effect and reactionary torque related to the rotor speed in the attitude dynamic equations and treat them as part of the unknown disturbance.A six-dimensional system is defined with state vector x = ρ 1 , ρ 2 , ρ 3 , ω x , ω y , ω z T , input vector u = τ x , τ y , τ z T and measurable output vector y = [y 1 , y 2 , y 3 ] T .A non-linear system is achieved according to the attitude model in Equation (3).
The Lie derivative and k-th Lie derivative of function h i (x) with respect to a vector-valued function f(x) are defined as follows: A 3 × 3 matrix E(x) is constructed with the Lie derivatives ]): Substituting functions of ( 15) into E(x) yields: with a determinant of: Obviously |E(x)| > 0 holds for all ρ ∈ R 3 .Therefore, E(x) is non-singular.The relative degree vector of system ( 15) is r = [2, 2, 2] T .System (15) can be transformed into a regular form.
The formula of a three-dimensional vector φ(x) is in Appendix A. Defining a new six-dimensional . ρ 3 T , a new state equation is derived from (20). .
where φ and E are determined by the system model parameters.We divide them into the nominal parts φ, E and the uncertain parts ∆φ, ∆E.The input torque u is divided into the control torque u c and the unknown disturbance torque ∆u.φ, E and u are rewritten in the following format.
4.2.Fixed-Time Third-Order Sliding Mode Observer-Based Extended State Observer (ESO) According to (24), the equivalent disturbance torque ∆τ is related to ∆µ in the format: Since E is a non-singular matrix, the estimation of ∆τ is equivalent to the estimation of ∆µ.Augment ∆µ as an extended state ξ 3 = ∆µ, the reconstructed linear system is rewritten as: where ζ is the derivative of ξ 3 .Assume that each element of ζ is bounded.
The elements in a 3-dimensional vector ξ 1 , ξ 2 and ξ 3 are independent of each other.Motivated by [31], a fixed-time convergent extended state observer (FTESO) for each element i (I = 1,2,3) is designed as: where ξ1,i , ξ2,i and ξ3,i are the estimation of ξ 1,i .ξ 2,i and ξ 3,i respectively.δ > 0 is used to scale the estimation error.Function x k = |x| k sign(x), sign(•) represents the signum function.ε > 0 is chosen small enough.θ i is used to switch between two different exponential functions.α j,i (j = 1, 2, 3) are selected based on the boundary value L using the formulas for the HOSM differentiator in [28].
β j,i (j = 1, 2, 3) are selected such that the following matrix is Hurwitz as suggested by [31].
There are two major improvements between the above observer with the differentiators used in [31,32].
1.The switching is conducted according to the estimation error instead of an arbitrary fixed time.
2. The estimation error ξ1,i − ξ 1,i is scaled with 1/δ.The switching structure of the observer takes advantage of dealing with different estimation errors with different exponential functions.The function with exponential larger than 1 is more efficient with larger errors, while the function with exponential smaller than 1 is more efficient with smaller errors.So, we use a switch mechanism controlled by estimation errors to make full use of different exponential functions.The scaling factor is used to adjust flexibly the estimation errors for better performance.
Theorem 1. Suppose that ξ 1 and µ are available in real time.FTESO (29) converges to the true extended states ξ 1,i , ξ 2,i and ξ 3,i in a fixed time with the parameters chosen according to preceding rules.
Proof of Theorem 1. Define the following notations for observation errors.

Tracking Differentiator
The tracking differentiator for the desired attitude ρ d = [ρ 1,d , ρ 2,d , ρ 3,d ] T based on the above feedback linearization model is obtained by directly applying the TD in the classical ADRC structure. .
where function fhan 3 is the vector version of tracking function fhan in [21].It performs function fhan for each element of the 3-D vectors.The above tracking differentiator outputs the desired linearized states ξ 1,d and ξ 2,d .Considering the multi-solution characteristic of MRP in describing rotation, the shadow tracking differentiator for ρ S d should also be constructed as follows.

Multivariable High-Order Sliding Mode (HOSM)-Based Fixed-Time Non-Linear Feedback Law
Define the sliding surface and shadow sliding surface: where C is a 3 × 3 diagonal matrix with positive elements of main diagonal.For tracking the desired attitude described by the MRP set ρ d , ρ S d , there are two candidate sliding mode surfaces to approach.We force the quadrotor moving towards the "nearby candidate" in σ, σ S with minimal 2-norm.Without loss of generality, the fixed-time feedback law is designed and analyzed for σ in the following.
Inspired by [39], we use 2-norm of the 3-dimension vector σ to apply the high-order sliding mode algorithm on the above multivariable system.A fixed-time second-order sliding mode control law with disturbance rejection is designed as: where k 1 > 0, k 2 > 0, 0 < p 1 < 1, 0 < p 2 < 1, and the notation σ represents 2-norm of vector σ.According to Theorem 1, ξ3 becomes equal to ∆µ in a fixed time.Substituting ( 39) into ( 38), the close-loop dynamic equation of σ can be obtained. .
Theorem 2. Consider the closed-loop system (40), the sliding variable σ and its derivative When the initial value of the system satisfies the inequation σ(0) > 1, according to the above equation, one can obtain: Inequation (43) can be rewritten as: Denote the time consumed for σ(t) reducing from σ(0) to 1 to T 1 , i.e., σ(T 1 ) = 1.Integrate Equation (44), and it can be found that T 1 is bounded by a fixed value that is independent of initial value σ(0).
The control torque is calculated according to the first equation in (24).
The feedback law (39) performs exponential functions on the 2-norm of σ instead of three Euler angles used in [15].In this way, the exponential functions-related computation is reduced.This characteristic is helpful when using a low-cost advanced RISC (reduced instruction set computing) machine (ARM) microprocessor that is ineffective to nonlinear functions such as exponential, trigonometric and inverse trigonometric functions.
By means of input-output feedback linearization, the non-linear attitude system is transformed into a linear system and the parameters in the observer and controller are adjusted in a standard way [28].More importantly, the matrix B for tuning the disturbance estimation and compensation in traditional ADRC [21] is a model-related parameter even though the whole method is independent of the type of system function.This means the parameter is hard to tune in attitude control of quadrotor that the control torque is not generated directly by the controller output.The HOSM-based FTESO and non-linear feedback law are constructed based on the equivalent linear model, such that the observer and the controller are completely independent without common parameters and can be adjusted individually.In conclusion, the proposed FTADRC method is tuned more easily than the traditional ADRC method.

Non-Linear Control Allocation
The control torque is allocated to four actuators according to the actuator models.After the motors reach the steady state, the PWM signals outputted by the controller are proportional to the rotor speeds.Given the quadratic dependence of thrust and torque upon rotor speed, a simple nonlinear control allocation method is used in this paper.
where r i , (i = 1, 2, 3, 4) represents the duty circle of PWM signal for each actuator, l is the distance between the rotor and the center of mass of the quadcopter, F is the whole thrust provided by remote controller, λ T and λ Q are the coefficients related to actuator models which can be approximately calculated with maximum thrust T max , maximum torque Q max and maximum duty circle r max . (50)

Simulation Results
A simulation model for quadrotor attitude control is built according to the mathematical models and data acquired in Section 2. The structure of the simulation model is shown in Figure 8.The controller module includes the control method to be verified.The output signals are passed into a zero-order holder before the mathematical models in order to simulate the discrete calculation on the digital processor.The model part includes the motor model, propeller aerodynamic model, and rigid body dynamic model.The unknown wind is added into the model as external disturbance.The rotor thrust and torque are influenced by the wind speed near the propeller.As the quadrotor body is acting as an obstruction to the wind, the wind attenuates while it passes through the body.As a result, the wind speed at the upwind side is larger than the wind speed at the downwind side.The wind attenuation is related to the interaction between the quadrotor body and the wind.In this paper, the wind speed is resolved into a component w parallel to the rotor disk and a component u perpendicular to the rotor disk.The attenuation of u is neglected so that u is constant near the quadrotor body.w decreases proportionally with the distance traveled along the quadrotor body.Figure 9 is a graphical representation of w decreasing with its travel along the quadrotor body.The green dashed line is the component w passing the body centroid.The wind speed near other three rotors is calculated as follows: ( ) where γ w is the attenuation factor, i d is the distance between rotor i with w p along vector w .The unknown wind is added into the model as external disturbance.The rotor thrust and torque are influenced by the wind speed near the propeller.As the quadrotor body is acting as an obstruction to the wind, the wind attenuates while it passes through the body.As a result, the wind speed at the upwind side is larger than the wind speed at the downwind side.The wind attenuation is related to the interaction between the quadrotor body and the wind.In this paper, the wind speed is resolved into a component w parallel to the rotor disk and a component u perpendicular to the rotor disk.The attenuation of u is neglected so that u is constant near the quadrotor body.w decreases proportionally with the distance traveled along the quadrotor body.Figure 9 is a graphical representation of w decreasing with its travel along the quadrotor body.The green dashed line is the component w passing the body centroid.p i (i = 1, 2, 3, 4) represents four rotor centers.After projecting p i on the gray line, the projection point closest to the wind direction is selected as the windward point p w .The wind speed near the rotor corresponding to p w is supposed to be w.The wind speed near other three rotors is calculated as follows: where γ w is the attenuation factor, d i is the distance between rotor i with p w along vector w.
windward point w p .The wind speed near the rotor corresponding to w p is supposed to be w .
The wind speed near other three rotors is calculated as follows: ( ) where γ w is the attenuation factor, i d is the distance between rotor i with w p along vector w .The above wind attenuation leads to different thrust at the upwind side and downwind side and in turn generates a wind-related overturning torque which acts as the disturbance in attitude control system.
The commonly used Dryden turbulence model is used to generate random wind.The fundamental of the Dryden model is constructing a transfer function based on spectrum functions The above wind attenuation leads to different thrust at the upwind side and downwind side and in turn generates a wind-related overturning torque which acts as the disturbance in attitude control system.
The commonly used Dryden turbulence model is used to generate random wind.The fundamental of the Dryden model is constructing a transfer function based on spectrum functions of atmospheric turbulence velocity and its gradient to convert the white noise signal to a colored noise signal.The Dryden module in aerospace toolbox of Simulink (Version 8.9, MathWorks., Natick, MA, United States, 2017) is used in this paper to generate random wind speed.The low-altitude intensity in the model is set to 10m/s.The other parameters are decided according to MIL-F-8785C standard.The wind speed along three axes of Earth coordinates framed with an altitude of 6m is shown in Figure 10.We present the mathematical simulations of proposed FTADRC attitude control method on a quadrotor model with the parameters in Table 3.The other parameters related to propeller shape and aerodynamics are chosen as Subsection 2.3.The first four parameters in Table 3 are used in the controller.Practically, l is easy to measure, while the inertias are hard to obtain.So, the nominal parameters are selected as the last column.We present the mathematical simulations of proposed FTADRC attitude control method on a quadrotor model with the parameters in Table 3.The other parameters related to propeller shape and aerodynamics are chosen as Section 2.3.The first four parameters in Table 3 are used in the controller.Practically, l is easy to measure, while the inertias are hard to obtain.So, the nominal parameters are selected as the last column.
In the simulations, the position of the quadrotor is assumed to be free from the forces that include the propeller thrust and gravity.A square wave signal with amplitude of 20 • , period of 8s is used as the desired roll angle input to analyze the step response.The random wind generated by the Dryden model is added into the simulation since the 15th second in order to compare the proposed FTADRC with the traditional ADRC in the absence and presence of dynamic wind disturbance.The simulation results of two different attitude control methods are shown in Figures 11-16. is difficult to track for both FTESO and ESO.However, the sudden disturbance vanishes quickly as the motor tracks the desired speed, and the attitude of the quadrotor is not seriously affected.is difficult to track for both FTESO and ESO.However, the sudden disturbance vanishes quickly as the motor tracks the desired speed, and the attitude of the quadrotor is not seriously affected.As illustrated in Figure 11, quick convergence of the roll angle is achieved by both methods before 15 s with no disturbances because we tune the parameters of the two different controllers to achieve high-gain feedback control.With the presence of simulated dynamic wind, FTADRC tracks the desired attitude more accurately than traditional ADRC.Figures 14-16 indicate that the disturbance estimation of FTESO is more precise than traditional ESO.
The sharp peaks in Figures 14-16 are caused by motor inertia which is generally neglected in previous researches.The motors are not able to provide the rapidly changing control torque to follow the step input.The deviation of control torque acts as a rapidly changing disturbance which is difficult to track for both FTESO and ESO.However, the sudden disturbance vanishes quickly as the motor tracks the desired speed, and the attitude of the quadrotor is not seriously affected.

Experimental Results
In order to verify the effectiveness of the proposed FTADRC attitude control method in practical applications, we have developed a flight control unit (FCU) mainly using an STM32F103 micro-processor (STMicroelectronics, Geneva, Switzerland) and two ICM-20689 inertial measurement units (IMUs, InvenSense, San Jose, CA, United States).The angular speed and acceleration information provided by the two IMUs is averaged to generate more accurate measurements.An external HMC5983 magnetometer (Honeywell, Morris Plains, NJ, United States) is used for assisting the attitude determination process.The attitude determination algorithm in [40] is applied to the FCU providing attitude measurements.The core components including micro-processor and sensors cost less than 40 US dollars.In the experiments, the proposed fixed-time disturbance rejection control method consumes less than 1 ms on the 72 MHz ARM processor.
The experiments are conducted with a self-assembled QR450 quadrotor.The experimental setup consists of a remote controller, a ground control station (GCS) and the quadrotor with FCU onboard is shown in Figure 17.A pair of Xbee modules is used for communication between the FCU and GCS.
The quadrotor frame is made by aluminium alloy and carbon fiber to lower costs, and it has been deformed after being used for more than a year in plenty of flight tests, as shown in Figure 18.The deformations result in additional disturbances as the parameters are set ignoring them.The parameters are chosen as Table 4, in which I x , I y and I z are estimated intuitively without precise measurement.
fixed-time disturbance rejection control method consumes less than 1ms on the 72 MHz ARM processor.
The experiments are conducted with a self-assembled QR450 quadrotor.The experimental setup consists of a remote controller, a ground control station (GCS) and the quadrotor with FCU onboard is shown in Figure 17.A pair of Xbee modules is used for communication between the FCU and GCS.The quadrotor frame is made by aluminium alloy and carbon fiber to lower costs, and it has been deformed after being used for more than a year in plenty of flight tests, as shown in Figure 18.The deformations result in additional disturbances as the parameters are set ignoring them.The parameters are chosen as Table 4, in which x I , y I and z I are estimated intuitively without precise measurement.setup consists of a remote controller, a ground control station (GCS) and the quadrotor with FCU onboard is shown in Figure 17.A pair of Xbee modules is used for communication between the FCU and GCS.The quadrotor frame is made by aluminium alloy and carbon fiber to lower costs, and it has been deformed after being used for more than a year in plenty of flight tests, as shown in Figure 18.The deformations result in additional disturbances as the parameters are set ignoring them.The parameters are chosen as Table 4, in which x I , y I and z I are estimated intuitively without precise measurement.The experiments are conducted indoors without Global Positioning System (GPS) signals.To assure flight security, the quadrotor is controlled remotely.The external unknown disturbance is simulated in three different ways.The performance of rejecting disturbance is verified respectively in all cases.

Case 1. Eccentric mass
In this case, an iron mass block of 194 g acting as the eccentric mass is hung from the right-hand front corner of the quadrotor frame, as shown in Figure 19.The original quadrotor without the eccentric mass is 1195 g.The eccentric mass is equivalent to 16% of the original quadrotor and 64% of individual motor thrust during hovering in weight.In addition, the block waves during flight and generates time-varying disturbance.The iron block hung from a corner of the frame mainly acts as an unknown constant torque in the attitude control system.In a simple error-driven control method, the constant disturbance torque will cause an attitude bias. in all cases.

Case 1. Eccentric mass
In this case, an iron mass block of 194g acting as the eccentric mass is hung from the right-hand front corner of the quadrotor frame, as shown in Figure 19.The original quadrotor without the eccentric mass is 1195g.The eccentric mass is equivalent to 16% of the original quadrotor and 64% of individual motor thrust during hovering in weight.In addition, the block waves during flight and generates time-varying disturbance.The iron block hung from a corner of the frame mainly acts as an unknown constant torque in the attitude control system.In a simple error-driven control method, the constant disturbance torque will cause an attitude bias.

Case 2. Sudden fault of a single motor
In this case, we simulate the actuator fault of motor 1 (right hand front motor) with a programed effectiveness loss of 30%, which means the output duty circle of motor 1 is multiplied by 0.7.The time of fault and recovery is controlled by a digital switch on the remote controller.As a non-redundant system, the quadrotor is sensitive to motor faults.The attitude model is uncontrollable if any of the four motors is completely disabled.So, we employ a programed motor effectiveness loss instead of a complete motor failure to model an in-flight actuator fault.
In the experiment, the fault occurs at 6.4s and the motor recovers at 32.4s.The curves of attitude angles are shown in Figures 24-26, and the curves of estimated disturbances are shown in Figure 27.The roll angle quickly changes to 19.8°, and the pitch angle quickly changes to −14.8° as a result of the motor fault.FTESO converges to the disturbances caused by the fault and the attitude angles track the desired values after 16s.
The recovery of the motor is also treated as an external disturbance.It can be easily known from the motor model that the acceleration of the motor is slower than the deceleration.Thus, the recovery process has less impact on the quadrotor with a bounded disturbance differential-based FTESO.The roll angle changes to −16.4°, and the pitch angle changes to 14.4° 0.4s after the motor recovers from the fault.The disturbance estimations of FTESO approximately turn back to the values before the motor fault 5.6s after the recovery.

Case 2. Sudden fault of a single motor
In this case, we simulate the actuator fault of motor 1 (right hand front motor) with a programed effectiveness loss of 30%, which means the output duty circle of motor 1 is multiplied by 0.7.The time of fault and recovery is controlled by a digital switch on the remote controller.As a non-redundant system, the quadrotor is sensitive to motor faults.The attitude model is uncontrollable if any of the four motors is completely disabled.So, we employ a programed motor effectiveness loss instead of a complete motor failure to model an in-flight actuator fault.
In the experiment, the fault occurs at 6.The recovery of the motor is also treated as an external disturbance.It can be easily known from the motor model that the acceleration of the motor is slower than the deceleration.Thus, the recovery process has less impact on the quadrotor with a bounded disturbance differential-based FTESO.The roll angle changes to −16.4°, and the pitch angle changes to 14.4° 0.4s after the motor recovers from the fault.The disturbance estimations of FTESO approximately turn back to the values before the motor fault 5.6s after the recovery.The recovery of the motor is also treated as an external disturbance.It can be easily known from the motor model that the acceleration of the motor is slower than the deceleration.Thus, the recovery process has less impact on the quadrotor with a bounded disturbance differential-based FTESO.The roll angle changes to −16.4 • , and the pitch angle changes to 14.4 • 0.4 s after the motor recovers from the fault.The disturbance estimations of FTESO approximately turn back to the values before the motor fault 5.6 s after the recovery.

Case 3. Wind and damaged propeller
In this case, we install a damaged propeller on motor 2 (left hand front motor) and use two electrical fans to generate the external wind as shown in Figure 28.We make the quadrotor hover in the wind by remote control.The average wind speed generated by the two electrical fans is around 4.5 m/s.The main purpose of this case is to show the performance of FTADRC method with common lumped disturbances in quadrotor attitude control such as wind disturbance and propeller damage.Figures 29-31 present the tracking errors of attitude angles of FTADRC and conventional ADRC control schemes.The tracking errors of roll and pitch angles using FTADRC control scheme keep below 2 • with average values around 0 • , while the tracking errors of roll and pitch angles using the ADRC control scheme have peak-to-peak values larger than 15 • and obviously non-zero average values.Figure 32 shows disturbance estimation with FTADRC and traditional ADRC schemes.The disturbance introduced by the wind is hard to evaluate accurately because of the complicated wind dynamics related to the electrical fans.However, it still could be seen from Figure 32 that the disturbance estimation using FTADRC changes faster than that using conventional ADRC.Along with the tracking errors of attitude angles, it can be demonstrated that FTADRC responds more quickly to the external disturbances and tracks the input attitude more accurately than conventional ADRC.
schemes.The disturbance introduced by the wind is hard to evaluate accurately because of the complicated wind dynamics related to the electrical fans.However, it still could be seen from Figure 32 that the disturbance estimation using FTADRC changes faster than that using conventional ADRC.Along with the tracking errors of attitude angles, it can be demonstrated that FTADRC responds more quickly to the external disturbances and tracks the input attitude more accurately than conventional ADRC.schemes.The disturbance introduced by the wind is hard to evaluate accurately because of the complicated wind dynamics related to the electrical fans.However, it still could be seen from Figure 32 that the disturbance estimation using FTADRC changes faster than that using conventional ADRC.Along with the tracking errors of attitude angles, it can be demonstrated that FTADRC responds more quickly to the external disturbances and tracks the input attitude more accurately than conventional ADRC.

Discussion
In the experiment with eccentric mass, the quadrotor takes off from the ground slowly so that the eccentric mass could be regard as a disturbance accumulating during take-off.Thus, its influence on attitude angles is not obvious and FTESO converges to the lumped disturbances quickly.During the flight, the attitude of the quadrotor accurately tracks the desired attitude with disturbances rejected by FTESO.This experiment together with the simulations demonstrate the stability and robustness of FTADRC in the presence of slowly varying disturbance such as dynamic wind and eccentric mass.
In the experiment with a motor fault, the disturbance caused by the fault takes effect rapidly.Strictly speaking, the differential of disturbance exceeds the bound set in FTESO, and the proposed FTADRC is not suitable for such a case theoretically.However, the results show that the attitude system of quadrotor is stabled by FTADRC except that FTESO consumes more time for convergence.Therefore, the proposed robust control scheme could be applied to the practical situations beyond the theoretical constraints.
Since the motor merely fails in flight and the centroid of mass is generally adjusted before flight, the conditions in the previous two cases are rigorous, and not normal in the practical operation of quadrotors.The last case with damaged propeller and unknown wind represents a more common operation situation of a low-cost quadrotor.In this experiment, the proposed FTADRC and conventional ADRC attitude control schemes are compared.The performance of FTADRC clearly exceeds the conventional ADRC according to the results.

Conclusions
In this paper, the FTADRC scheme is proposed based on a HOSM method for the attitude control of a quadrotor with unknown disturbance.The control scheme employs a fixed-time ESO for observing the lumped disturbance, and uses a multivariable fixed-time second-order sliding mode method to fast approach the sliding surface for a feedback-linearized system.Detailed mathematical models are built for simulation analysis.According to the comparative simulation and experiment results, the attitude control accuracy is improved compared with the traditional ADRC because FTESO achieves higher precision than the ESO, and the control scheme is effective on a low-cost flight control unit.It can be concluded that the proposed FTADRC is robust toward dynamic wind, mass eccentricity, and motor fault.Additionally, FTADRC is practical for a low-cost quadrotor because of its high time-efficiency.

Supplementary Materials:
The video of the experiment with eccentric mass is available online at https://youtu.be/hf8jx9WN6Ec.The video of the experiment with a motor fault is available online at https://youtu.be/ HxRsjkjuvY4.The code on STM32F103 used in the experiments is available online at https://1drv.ms/f/s!ApzqIuEnpaPHhSaF6lRLL5F_qh0Y.

Author
shows a simplified model of an "X" type quadrotor and the coordinate frames used in this paper.The body coordinate frame O b x b y b z b is fixed with the quadrotor body, and the Earth coordinate frame O e NED is fixed with the ground.As the flight time is short, the rotation of the earth is neglected such that the Earth coordinate frame is static in inertial space.Electronics 2018, 7, x FOR PEER REVIEW 3 of 31

Figure 1 .
Figure 1.Definition of coordinate frames.We use modified Rodrigues parameters (MRPs) to represent rigid rotation to avoid the singularity problem of the Euler angles and additional normalization requirement of the unit quaternions.MRPs are expressed in the form of three-dimensional vectors

Figure 1 .
Figure 1.Definition of coordinate frames.We use modified Rodrigues parameters (MRPs) to represent rigid rotation to avoid the singularity problem of the Euler angles and additional normalization requirement of the unit quaternions.MRPs are expressed in the form of three-dimensional vectors ρ = ρ 1 ρ 2 ρ 3 T

Figure 2 .
Figure 2. Graphic representation of original modified Rodrigues parameter (MRP) and shadow MRP

Figure 2 .
Figure 2. Graphic representation of original modified Rodrigues parameter (MRP) and shadow MRP.
take measurements in static air and fit the thrust-speed and torque-speed curves with 2-order polynomial function.The thrust coefficient and torque coefficient are recovered from the fitting parameters.We merge the measurements from four sets of motors and propellers to get the average coefficients.The resulting curves are shown in Figure5.It is shown that the resulting 2-order polynomial functions fit the measurements well.

Figure 6 .
Figure 6.Structure of active disturbance rejection controller for second-order system.

Figure 6 .
Figure 6.Structure of active disturbance rejection controller for second-order system.

• 31 Figure 7 .
Figure 7. Block diagram of the proposed fixed-time active disturbance rejection control (FTADRC) attitude control scheme.

Figure 7 .
Figure 7. Block diagram of the proposed fixed-time active disturbance rejection control (FTADRC) attitude control scheme.

.σ
reach the origin in fixed time.Proof of Theorem 2. Given (40), the 3-dimension vectors .σ and σ are parallel in opposite directions.That means the direction of σ does not change with time, and the following equation holds..
gray line, the projection point closest to the wind direction is selected as the windward point w p .The wind speed near the rotor corresponding to w p is supposed to be w .

Figure 9 .
Figure 9. Chart of calculating the wind speed around each propeller.

Figure 9 .
Figure 9. Chart of calculating the wind speed around each propeller.
Electronics 2018, 7, x FOR PEER REVIEW 18 of 31 of atmospheric turbulence velocity and its gradient to convert the white noise signal to a colored noise signal.The Dryden module in aerospace toolbox of Simulink (Version 8.9, MathWorks., Natick, MA, United States, 2017) is used in this paper to generate random wind speed.The low-altitude intensity in the model is set to 10m/s.The other parameters are decided according to MIL-F-8785C standard.The wind speed along three axes of Earth coordinates framed with an altitude of 6m is shown in Figure 10.

Figure 10 .
Figure 10.Random wind speed generated by Dryden model.

Figure 10 .
Figure 10.Random wind speed generated by Dryden model.

Table 3 .
Parameters of the quadrotor in simulations.

Figure 14 .
Figure 14.Curves of observation error for

Figure 15 .
Figure 15.Curves of observation error for

Figure 14 .
Figure 14.Curves of observation error for

Figure 15 .
Figure 15.Curves of observation error for

Figure 15 .
Figure 15.Curves of observation error for

Figure 16 .
Figure 16.Curves of observation error for

Figure 18 .
Figure 18.Deformation of quadrotor frame used in the experiments.

Figure 19 .
Figure 19.A mass block hung from the right hand front corner is used as the eccentric mass.The curves of the attitude angles are shown in Figures 20-22, and the curves of the estimated disturbances are shown in Figure 23.The roll and pitch angles are affected by the eccentric mass and the control errors increase to about 2° in 1.5s after the quadrotor takes off from the ground.The FTESO tracks the unknown disturbances in about 3s with an initial value of 0. The fast-changing desired roll and pitch angles are produced by remote controller to test the controller's performance.By estimating and attenuating the estimated disturbances, the attitude angles are tracked accurately.

Figure 19 . 31 Figure 20 .
Figure 19.A mass block hung from the right hand front corner is used as the eccentric mass.The curves of the attitude angles are shown in Figures 20-22, and the curves of the estimated disturbances are shown in Figure 23.The roll and pitch angles are affected by the eccentric mass and the control errors increase to about 2 • in 1.5 s after the quadrotor takes off from the ground.The FTESO tracks the unknown disturbances in about 3 s with an initial value of 0. The fast-changing desired roll and pitch angles are produced by remote controller to test the controller's performance.By estimating and attenuating the estimated disturbances, the attitude angles are tracked accurately.Electronics 2018, 7, x FOR PEER REVIEW 23 of 31
4 s and the motor recovers at 32.4 s.The curves of attitude angles are shown in Figures 24-26, and the curves of estimated disturbances are shown in Figure 27.The roll angle quickly changes to 19.8 • , and the pitch angle quickly changes to −14.8 • as a result of the motor fault.FTESO converges to the disturbances caused by the fault and the attitude angles track the desired values after 16 s.
present the experimental results of the FTADRC and conventional ADRC schemes.In each figure, panel (a) indicates the result of FTADRC, and panel (b) indicates the result of conventional ADRC.

Figure 28 .
Figure 28.Experimental environment with wind and damaged propeller.

Figure 28 .
Figure 28.Experimental environment with wind and damaged propeller.

Figure 28 .
Figure 28.Experimental environment with wind and damaged propeller.

Table 1 .
Parameters used in the aerodynamic model of propeller.

Table 2 .
Chord length and pitch angle of the blade.

Table 3 .
Parameters of the quadrotor in simulations.

Table 4 .
Control parameters used in the experiments.