# Attitude Active Disturbance Rejection Control of the Quadrotor and Its Parameter Tuning

Authors: Suiyuan Shen; Jinfa Xu
Journal: International Journal of Aerospace Engineering
 (2020)

---

## Abstract

The internal uncertainty and external disturbance of the quadrotor will have a significant impact on flight control. Therefore, to improve the control system’s dynamic performance and robustness, the attitude active disturbance rejection controller (ADRC) of the quadrotor is established. Simultaneously, an adaptive genetic algorithm-particle swarm optimization (AGA-PSO) is used to optimize the controller parameters to solve the problem that the controller parameters are difficult to tune. The performance of the proposed ADRC is compared with that of the sliding mode controller (SMC). The simulations revealed that the dynamic performance and robustness of the ADRC is better than that of the SMC.


---

## Body

## 1. Introduction

A quadrotor aircraft is a kind of multirotor helicopter which can realize vertical take-off and landing. It can complete the mission in various harsh environments and is widely used in military and civil fields. With the increase of application fields, the requirements for quadrotor aircraft’s actual control effect are higher and higher. There are always internal uncertainty (unmodeled dynamic or parameter uncertainty) and external uncertainty (unknown disturbance of external environment) in quadrotor aircraft, which will lead to a large error between the mathematical model and the actual flight, so the accuracy of attitude control cannot be guaranteed in the real plane, which makes the design of flight controllers more difficult. Early researchers used the Proportional Integral Differential (PID) algorithm to design the flight control system of quadrotor aircraft [1–3]. The structure is simple and easy to implement, but the antidisturbance ability is weak, and the control effect is general. Researchers have recently turned their attention to intelligent control, such as the fuzzy control [4–6] and neural network [7–9]. Although good results have been achieved, it still has the disadvantages of weak robustness and difficulty in improving system performance.Active disturbance rejection control (ADRC) [10–14] is a new control technology that does not depend on the system model. It can estimate and compensate for the sum disturbance caused by various external disturbances and internal disturbances determined by the system’s mechanism in real time. Combined with the exceptional nonlinear state error feedback, excellent control quality can be obtained. ADRC has small overshoot characteristics, fast response speed, high control precision, strong antidisturbance ability, and simple structure [15, 16]. Reference [17] designed an ADRC based on an improved extended state observer for multiple-input multiple-output systems and achieved good control results. Reference [18] designed four improved ADRC for the nonlinear model of a 6-DOF quadrotor system for height and attitude stabilization and compared the PID controller’s performance. The simulation results showed that the improved ADRC is stable and can offset external disturbance and system uncertainty, which is better than the PID controller.The defect of ADRC is that there are many controller parameters, so it is difficult to tune the controller parameters. The particle swarm optimization (PSO) algorithm is widely used in the optimization of controller parameters. This method integrates the idea of “individual learning” by simulating the foraging activities of natural creatures. The algorithm is simple and has a memory function, and it also has the characteristics of rapid convergence [19–21]. Reference [22] used the PSO algorithm to optimize the parameters of the ADRC and achieved good results. However, the PSO algorithm’s global search ability is low, the search accuracy is not high, and it is easy to fall into the optimal local solution [23]. The genetic algorithm (GA) is a natural optimization algorithm with a diverse population and strong global search ability [24]. Reference [25] used GA to optimize the ADRC’s parameters and achieved good results. Because of this, this paper proposes an adaptive genetic algorithm-particle swarm optimization (AGA-PSO), which combines the excellent global search ability of AGA to avoid particles falling into the local extremum prematurely, thus increasing the rate of obtaining optimal global solution and accelerating the convergence speed of the algorithm.Aiming at the quadrotor’s attitude control problem, this paper designs an ADRC strategy by analyzing the mathematical model of the quadrotor and considering the uncertain internal disturbance and external disturbance of the system. Aiming at the problem that the ADRC’s parameters are difficult to tune, a parameter tuning method of the ADRC based on the AGA-PSO hybrid optimization algorithm is designed. Its effect is verified through simulation experiments. Finally, the quadrotor’s attitude control with disturbance is simulated, which demonstrates the robustness and antidisturbance of the ADRC.


## 2. ADRC for Quadrotor Attitude Control

### 2.1. Flight Dynamic Model

The quadrotor model shown in Figure1 is a typical nonlinear controlled plant. Four-rotor systems generate control forces and control moments and form attitude motion under control forces and control moments. Therefore, the controlled plant of the quadrotor is a multiple-input multiple-output nonlinear system. The specific parameters of the quadrotor are shown in Table 1. The figure shows two sets of coordinate systems, namely, the North-East-Earth navigation coordinate system (indicated by G, the origin is at the take-off point, the coordinate axis xG points north, yG points east, and zG is perpendicular to the ground down) and the aircraft body coordinate system (represented by P, the origin is at the center of mass of the body, the coordinate axis xP is parallel to the plane of the paddle and points forward, yP is parallel to the plane of the paddle and points to the right, and zP is perpendicular to the plane of the paddle and points downward).Figure 1
Schematic diagram of the quadrotor shape and coordinate system.Table 1
Parameters of the quadrotor.
ParameterValueUnitl0.2mJx0.03kg·m2Jy0.03kg·m2Jz0.04kg·m2KL0.12N/VKn=−Ks0.004N·m/VAssuming that the quadrotor is a uniformly symmetrical rigid body, and ignoring factors such as the rotor gyro effect, References [26, 27] obtain the quadrotor attitude mathematical model as follows.
(1)θ¨=Jz−JyJxϕ̇ψ̇+lKLJxu1−u2,(2)ϕ¨=Jx−JzJyθ̇ψ̇+lKLJyu4−u3,(3)ψ¨=Jy−JxJzθ̇ϕ̇+KnJzu1+u2+KsJzu3+u4,where ψ, θ, and ϕ are the yaw angle, pitch angle, and roll angle, respectively; u1, u2, u3, and u4 are the voltage of the 4 rotor motors; l is the distance from the rotor axis to the center of mass of the quadrotor; Jx, Jy, and Jz are the moment of inertia of the pitch, roll, and yaw axes, respectively; KL is the propeller lift coefficient; Ks is the clockwise torque coefficient of the rotor; and Kn is the counterclockwise torque coefficient of the rotor.The attitude angle dynamic equations are second-order nonlinear coupled equations, so that the unknown nonlinear function of each attitude angle dynamic equation is(4)f1•=Jz−JyJxϕ̇ψ̇,(5)f2•=Jx−JzJyθ̇ψ̇,(6)f3•=Jy−JxJzθ̇ϕ̇,the unknown disturbance quantity is ω1, ω2, and ω3, and the virtual control quantity is recorded as M=M1M2M3; then, the three-axis attitude angle dynamic equation is expressed as
(7)θ¨=ω1+f1•+M1,(8)ϕ¨=ω2+f2•+M2,(9)ψ¨=ω3+f3•+M3,and the dynamic coupling ωi+fi• of the internal and external disturbances is estimated by ESO through state expansion and is dynamically compensated as the feedback signal of the control law. The system becomes a linear integrator series control system. The system output after dynamic compensation linearization is Y=y1y2y3T=θϕψT.The actual control quantityU=u1u2u3u4 of the four motors of the quadrotor is obtained by transforming the virtual control quantity, namely,
(10)u1u2u3u4=lKLJx0KnJz−lKLJx0KnJz0−lKLJyKsJz0lKLJyKsJzTM1M2M3.


### 2.2. ADRC Features

ADRC consists of the tracking differentiator (TD), extended state observer (ESO), and state error nonlinear control law (SENCL), as shown in Figure2. TD is used to quickly obtain the tracking signal and its derivative signal of the input signal. ESO estimates the extended state formed by the state quantity, internal uncertainty, and external disturbances. Then, the nonlinear combination of the state quantity’s error is used as the control quantity of the system to realize the effective control of the quadrotor.Figure 2
Block diagram of ADRC.


#### 2.2.1. TD

Taking the second-order system as an example, a discrete form of the nonlinear tracking differentiator is designed as follows:(11)x1k+1=x1k+hx2k,x2k+1=x2k+hfstx1k−vk,x2k,r,h,(12)fstx1,x2,r,h=−rsigna,a>d,−rad,a≤d,(13)a=x2+a0−d2signy,y>d0,x2+yh,y≤d0,(14)d=rh,d0=dh,a0=d2+8ry,y=x1+x2h.The output state variablex1k is the fast tracking signal of the input signal vk, and the state variable x2k is its differential signal. It not only overcomes the influence of noise signal amplification but also eliminates the phenomenon of origin flutter. In the formula, k is expressed as the k-th moment of signal sampling, h is the discrete sampling time step, r is the speed factor, and the h and r parameters are adjustable, which determine the speed of the output signal tracking.


#### 2.2.2. Simulation Verification of TD

Given the input signalvt=4cos2πt+nt, as shown in Figure 3, the discrete sampling period is h=0.001, the velocity factor is r=800, and the noise signal nt is the random white noise of amplitude 2.Figure 3
Input signal.When a classic differentiator implemented with a short time constant inertia link performs signal differentiation processing, the differentiator’s signal amplification effect is noticeable. Equation (15) is the classic differentiator processing formula.
(15)yt=1Tv−1Ts+1v.Record the output of the second inertia link asv̄=1/Ts+1v; then, when the input signal changes slowly and the time constant T is small, there is
(16)yt=1Tvt−v¯t≈1Tvt−vt−T≈v̇t.Obviously, the smaller the time constantT, the closer the output yt is to the derivative v̇t.The tracking signal and differential signal simulation results of the classical differentiator and tracking differentiator are shown in Figure4. The noise amplification effect of the products shown in Figure 4(a) is noticeable. As shown in Figure 4(b), the noise suppression effect of the results is noticeable.Figure 4
Effect curve of TD.
(a)
Classical differentiator output tracking signal and differential signal(b)
Output tracking signal and differential signal of TD


#### 2.2.3. ESO

Suppose the nonlinear uncertain plant with external disturbance is(17)ẋ1=x2,ẋ2=fx,w,t+btu,y=x1.Letx3=fx,w,t+bt−b0u be the new expanded state variable, and x3 contains its own uncertainties and external disturbances; let ẋ3=gt, and the system (17) expands into a new control system, namely,
(18)ẋ1=x2,ẋ2=x3+b0u,ẋ3=gt,y=x1,where u and y are the input and output signals of the system; fx,w,t is the unknown nonlinear system function; wt is the disturbance; x and ẋ represent the corresponding derivative of x; and b0 is the compensation coefficient.Design the following ESO for the extended system (18) of the system (17).
(19)e=z1−y,ż1=z2−β1e,ż2=z3−β2fale,λ1,ζ+b0u,ż3=−β3fale,λ2,ζ,(20)fale,λ,ζ=eζ1−λ,e≤ζ,eλsigne,e>ζ,where λi>0 (i=1,2,3,⋯,n), βi (i=1,2,3,⋯,n+1) is the gain coefficient, ζ is the step size, and fal• is the saturation nonlinear function; the output variable of ESO (19) can track the state variable of the system (18), namely,
(21)z1→x1,z2→x2,z3→x3.The estimated valuezn+1 of the expanded state variable is used as a compensation value for the unknown plant and external disturbance, which linearizes the controlled system and can effectively suppress the interference signal in the state variable.The control signal of the system (17) is designed as u=u0−z3/b0; then,
(22)ẋ1=x2,ẋ2=x3+b0u0−z3b0,y=x1.Under the extended state estimation value compensation, the system becomes linear controlled plants, namely,(23)ẋ1=x2,ẋ2=b0u0,y=x1,that is, the dynamic compensation linearization processing of the nonlinear controlled plant.The essence of the system (18) is to regard the series part of the system (17) which is different from the standard integral series type as the total disturbance (including internal disturbance and external disturbance). ESO estimates the total disturbance by using the input and output information of the system and compensates for the total disturbance by designing a control law, thus transforming the system into a standard integral series structure.


#### 2.2.4. SENCL

Taking the second-order system as an example, a SENCL algorithm using a combination offal functions is
(24)e1=v11−z1,e2=v21−z2,u0=β01fale1,α1,ς+β02fale2,α2,ς,where v11 and v21 are the tracking signal and differential signal of TD, respectively; β01 and β02 are the adjustable control gain; and fal function can effectively suppress the occurrence of signal chattering and has a good signal filtering effect.


#### 2.2.5. ADRC Simulation Verification Example

Given the second-order controlled plant system model,(25)ẋ1=x2,ẋ2=−30x2+50sinπt+200u,where fx1,x2=−30x2 represents an unknown function, wt=50sinπt represents a disturbance, and b0=200.After discretizing the abovementioned continuous domain controlled plant, simulation is performed with a square wave signal with an amplitude of 2. TD is designed according to Section2.2.1, ESO is designed according to Section 2.2.3, and SENCL is designed according to Section 2.2.4; the relevant parameters are shown in Table 2.Table 2
Parameters of ADRC.
TDESOSENCLValueh=0.01, r=18ξ=0.004, β1=150, β2=320, β3=3000, α1=0.5, α2=0.25α1=0.7, α2=2, ς=0.02, β01=5, β02=0.4The simulation results are shown in Figure5. z1, z2, and z3 are the state estimates of ESO that respond to the process curve; x1, x2, and x3 are the response curves of the system (25) state variables and expansion state. It can be seen from the figure that the output estimation value of ESO can track the state variables of the system well, including the extended state variables of the internal disturbance and external disturbance of the system.Figure 5
The observation effect of ESO.Figure6 shows the results of the square wave input control response under the action of SENCL, including the white noise to measure the interference signal. It can be seen that the control has no overshoot and can quickly enter a stable state, indicating that the controller has strong robustness.Figure 6
Square wave response tracking.


## 2.1. Flight Dynamic Model

The quadrotor model shown in Figure1 is a typical nonlinear controlled plant. Four-rotor systems generate control forces and control moments and form attitude motion under control forces and control moments. Therefore, the controlled plant of the quadrotor is a multiple-input multiple-output nonlinear system. The specific parameters of the quadrotor are shown in Table 1. The figure shows two sets of coordinate systems, namely, the North-East-Earth navigation coordinate system (indicated by G, the origin is at the take-off point, the coordinate axis xG points north, yG points east, and zG is perpendicular to the ground down) and the aircraft body coordinate system (represented by P, the origin is at the center of mass of the body, the coordinate axis xP is parallel to the plane of the paddle and points forward, yP is parallel to the plane of the paddle and points to the right, and zP is perpendicular to the plane of the paddle and points downward).Figure 1
Schematic diagram of the quadrotor shape and coordinate system.Table 1
Parameters of the quadrotor.
ParameterValueUnitl0.2mJx0.03kg·m2Jy0.03kg·m2Jz0.04kg·m2KL0.12N/VKn=−Ks0.004N·m/VAssuming that the quadrotor is a uniformly symmetrical rigid body, and ignoring factors such as the rotor gyro effect, References [26, 27] obtain the quadrotor attitude mathematical model as follows.
(1)θ¨=Jz−JyJxϕ̇ψ̇+lKLJxu1−u2,(2)ϕ¨=Jx−JzJyθ̇ψ̇+lKLJyu4−u3,(3)ψ¨=Jy−JxJzθ̇ϕ̇+KnJzu1+u2+KsJzu3+u4,where ψ, θ, and ϕ are the yaw angle, pitch angle, and roll angle, respectively; u1, u2, u3, and u4 are the voltage of the 4 rotor motors; l is the distance from the rotor axis to the center of mass of the quadrotor; Jx, Jy, and Jz are the moment of inertia of the pitch, roll, and yaw axes, respectively; KL is the propeller lift coefficient; Ks is the clockwise torque coefficient of the rotor; and Kn is the counterclockwise torque coefficient of the rotor.The attitude angle dynamic equations are second-order nonlinear coupled equations, so that the unknown nonlinear function of each attitude angle dynamic equation is(4)f1•=Jz−JyJxϕ̇ψ̇,(5)f2•=Jx−JzJyθ̇ψ̇,(6)f3•=Jy−JxJzθ̇ϕ̇,the unknown disturbance quantity is ω1, ω2, and ω3, and the virtual control quantity is recorded as M=M1M2M3; then, the three-axis attitude angle dynamic equation is expressed as
(7)θ¨=ω1+f1•+M1,(8)ϕ¨=ω2+f2•+M2,(9)ψ¨=ω3+f3•+M3,and the dynamic coupling ωi+fi• of the internal and external disturbances is estimated by ESO through state expansion and is dynamically compensated as the feedback signal of the control law. The system becomes a linear integrator series control system. The system output after dynamic compensation linearization is Y=y1y2y3T=θϕψT.The actual control quantityU=u1u2u3u4 of the four motors of the quadrotor is obtained by transforming the virtual control quantity, namely,
(10)u1u2u3u4=lKLJx0KnJz−lKLJx0KnJz0−lKLJyKsJz0lKLJyKsJzTM1M2M3.


## 2.2. ADRC Features

ADRC consists of the tracking differentiator (TD), extended state observer (ESO), and state error nonlinear control law (SENCL), as shown in Figure2. TD is used to quickly obtain the tracking signal and its derivative signal of the input signal. ESO estimates the extended state formed by the state quantity, internal uncertainty, and external disturbances. Then, the nonlinear combination of the state quantity’s error is used as the control quantity of the system to realize the effective control of the quadrotor.Figure 2
Block diagram of ADRC.


### 2.2.1. TD

Taking the second-order system as an example, a discrete form of the nonlinear tracking differentiator is designed as follows:(11)x1k+1=x1k+hx2k,x2k+1=x2k+hfstx1k−vk,x2k,r,h,(12)fstx1,x2,r,h=−rsigna,a>d,−rad,a≤d,(13)a=x2+a0−d2signy,y>d0,x2+yh,y≤d0,(14)d=rh,d0=dh,a0=d2+8ry,y=x1+x2h.The output state variablex1k is the fast tracking signal of the input signal vk, and the state variable x2k is its differential signal. It not only overcomes the influence of noise signal amplification but also eliminates the phenomenon of origin flutter. In the formula, k is expressed as the k-th moment of signal sampling, h is the discrete sampling time step, r is the speed factor, and the h and r parameters are adjustable, which determine the speed of the output signal tracking.


### 2.2.2. Simulation Verification of TD

Given the input signalvt=4cos2πt+nt, as shown in Figure 3, the discrete sampling period is h=0.001, the velocity factor is r=800, and the noise signal nt is the random white noise of amplitude 2.Figure 3
Input signal.When a classic differentiator implemented with a short time constant inertia link performs signal differentiation processing, the differentiator’s signal amplification effect is noticeable. Equation (15) is the classic differentiator processing formula.
(15)yt=1Tv−1Ts+1v.Record the output of the second inertia link asv̄=1/Ts+1v; then, when the input signal changes slowly and the time constant T is small, there is
(16)yt=1Tvt−v¯t≈1Tvt−vt−T≈v̇t.Obviously, the smaller the time constantT, the closer the output yt is to the derivative v̇t.The tracking signal and differential signal simulation results of the classical differentiator and tracking differentiator are shown in Figure4. The noise amplification effect of the products shown in Figure 4(a) is noticeable. As shown in Figure 4(b), the noise suppression effect of the results is noticeable.Figure 4
Effect curve of TD.
(a)
Classical differentiator output tracking signal and differential signal(b)
Output tracking signal and differential signal of TD


### 2.2.3. ESO

Suppose the nonlinear uncertain plant with external disturbance is(17)ẋ1=x2,ẋ2=fx,w,t+btu,y=x1.Letx3=fx,w,t+bt−b0u be the new expanded state variable, and x3 contains its own uncertainties and external disturbances; let ẋ3=gt, and the system (17) expands into a new control system, namely,
(18)ẋ1=x2,ẋ2=x3+b0u,ẋ3=gt,y=x1,where u and y are the input and output signals of the system; fx,w,t is the unknown nonlinear system function; wt is the disturbance; x and ẋ represent the corresponding derivative of x; and b0 is the compensation coefficient.Design the following ESO for the extended system (18) of the system (17).
(19)e=z1−y,ż1=z2−β1e,ż2=z3−β2fale,λ1,ζ+b0u,ż3=−β3fale,λ2,ζ,(20)fale,λ,ζ=eζ1−λ,e≤ζ,eλsigne,e>ζ,where λi>0 (i=1,2,3,⋯,n), βi (i=1,2,3,⋯,n+1) is the gain coefficient, ζ is the step size, and fal• is the saturation nonlinear function; the output variable of ESO (19) can track the state variable of the system (18), namely,
(21)z1→x1,z2→x2,z3→x3.The estimated valuezn+1 of the expanded state variable is used as a compensation value for the unknown plant and external disturbance, which linearizes the controlled system and can effectively suppress the interference signal in the state variable.The control signal of the system (17) is designed as u=u0−z3/b0; then,
(22)ẋ1=x2,ẋ2=x3+b0u0−z3b0,y=x1.Under the extended state estimation value compensation, the system becomes linear controlled plants, namely,(23)ẋ1=x2,ẋ2=b0u0,y=x1,that is, the dynamic compensation linearization processing of the nonlinear controlled plant.The essence of the system (18) is to regard the series part of the system (17) which is different from the standard integral series type as the total disturbance (including internal disturbance and external disturbance). ESO estimates the total disturbance by using the input and output information of the system and compensates for the total disturbance by designing a control law, thus transforming the system into a standard integral series structure.


### 2.2.4. SENCL

Taking the second-order system as an example, a SENCL algorithm using a combination offal functions is
(24)e1=v11−z1,e2=v21−z2,u0=β01fale1,α1,ς+β02fale2,α2,ς,where v11 and v21 are the tracking signal and differential signal of TD, respectively; β01 and β02 are the adjustable control gain; and fal function can effectively suppress the occurrence of signal chattering and has a good signal filtering effect.


### 2.2.5. ADRC Simulation Verification Example

Given the second-order controlled plant system model,(25)ẋ1=x2,ẋ2=−30x2+50sinπt+200u,where fx1,x2=−30x2 represents an unknown function, wt=50sinπt represents a disturbance, and b0=200.After discretizing the abovementioned continuous domain controlled plant, simulation is performed with a square wave signal with an amplitude of 2. TD is designed according to Section2.2.1, ESO is designed according to Section 2.2.3, and SENCL is designed according to Section 2.2.4; the relevant parameters are shown in Table 2.Table 2
Parameters of ADRC.
TDESOSENCLValueh=0.01, r=18ξ=0.004, β1=150, β2=320, β3=3000, α1=0.5, α2=0.25α1=0.7, α2=2, ς=0.02, β01=5, β02=0.4The simulation results are shown in Figure5. z1, z2, and z3 are the state estimates of ESO that respond to the process curve; x1, x2, and x3 are the response curves of the system (25) state variables and expansion state. It can be seen from the figure that the output estimation value of ESO can track the state variables of the system well, including the extended state variables of the internal disturbance and external disturbance of the system.Figure 5
The observation effect of ESO.Figure6 shows the results of the square wave input control response under the action of SENCL, including the white noise to measure the interference signal. It can be seen that the control has no overshoot and can quickly enter a stable state, indicating that the controller has strong robustness.Figure 6
Square wave response tracking.


## 2.2.1. TD

Taking the second-order system as an example, a discrete form of the nonlinear tracking differentiator is designed as follows:(11)x1k+1=x1k+hx2k,x2k+1=x2k+hfstx1k−vk,x2k,r,h,(12)fstx1,x2,r,h=−rsigna,a>d,−rad,a≤d,(13)a=x2+a0−d2signy,y>d0,x2+yh,y≤d0,(14)d=rh,d0=dh,a0=d2+8ry,y=x1+x2h.The output state variablex1k is the fast tracking signal of the input signal vk, and the state variable x2k is its differential signal. It not only overcomes the influence of noise signal amplification but also eliminates the phenomenon of origin flutter. In the formula, k is expressed as the k-th moment of signal sampling, h is the discrete sampling time step, r is the speed factor, and the h and r parameters are adjustable, which determine the speed of the output signal tracking.


## 2.2.2. Simulation Verification of TD

Given the input signalvt=4cos2πt+nt, as shown in Figure 3, the discrete sampling period is h=0.001, the velocity factor is r=800, and the noise signal nt is the random white noise of amplitude 2.Figure 3
Input signal.When a classic differentiator implemented with a short time constant inertia link performs signal differentiation processing, the differentiator’s signal amplification effect is noticeable. Equation (15) is the classic differentiator processing formula.
(15)yt=1Tv−1Ts+1v.Record the output of the second inertia link asv̄=1/Ts+1v; then, when the input signal changes slowly and the time constant T is small, there is
(16)yt=1Tvt−v¯t≈1Tvt−vt−T≈v̇t.Obviously, the smaller the time constantT, the closer the output yt is to the derivative v̇t.The tracking signal and differential signal simulation results of the classical differentiator and tracking differentiator are shown in Figure4. The noise amplification effect of the products shown in Figure 4(a) is noticeable. As shown in Figure 4(b), the noise suppression effect of the results is noticeable.Figure 4
Effect curve of TD.
(a)
Classical differentiator output tracking signal and differential signal(b)
Output tracking signal and differential signal of TD


## 2.2.3. ESO

Suppose the nonlinear uncertain plant with external disturbance is(17)ẋ1=x2,ẋ2=fx,w,t+btu,y=x1.Letx3=fx,w,t+bt−b0u be the new expanded state variable, and x3 contains its own uncertainties and external disturbances; let ẋ3=gt, and the system (17) expands into a new control system, namely,
(18)ẋ1=x2,ẋ2=x3+b0u,ẋ3=gt,y=x1,where u and y are the input and output signals of the system; fx,w,t is the unknown nonlinear system function; wt is the disturbance; x and ẋ represent the corresponding derivative of x; and b0 is the compensation coefficient.Design the following ESO for the extended system (18) of the system (17).
(19)e=z1−y,ż1=z2−β1e,ż2=z3−β2fale,λ1,ζ+b0u,ż3=−β3fale,λ2,ζ,(20)fale,λ,ζ=eζ1−λ,e≤ζ,eλsigne,e>ζ,where λi>0 (i=1,2,3,⋯,n), βi (i=1,2,3,⋯,n+1) is the gain coefficient, ζ is the step size, and fal• is the saturation nonlinear function; the output variable of ESO (19) can track the state variable of the system (18), namely,
(21)z1→x1,z2→x2,z3→x3.The estimated valuezn+1 of the expanded state variable is used as a compensation value for the unknown plant and external disturbance, which linearizes the controlled system and can effectively suppress the interference signal in the state variable.The control signal of the system (17) is designed as u=u0−z3/b0; then,
(22)ẋ1=x2,ẋ2=x3+b0u0−z3b0,y=x1.Under the extended state estimation value compensation, the system becomes linear controlled plants, namely,(23)ẋ1=x2,ẋ2=b0u0,y=x1,that is, the dynamic compensation linearization processing of the nonlinear controlled plant.The essence of the system (18) is to regard the series part of the system (17) which is different from the standard integral series type as the total disturbance (including internal disturbance and external disturbance). ESO estimates the total disturbance by using the input and output information of the system and compensates for the total disturbance by designing a control law, thus transforming the system into a standard integral series structure.


## 2.2.4. SENCL

Taking the second-order system as an example, a SENCL algorithm using a combination offal functions is
(24)e1=v11−z1,e2=v21−z2,u0=β01fale1,α1,ς+β02fale2,α2,ς,where v11 and v21 are the tracking signal and differential signal of TD, respectively; β01 and β02 are the adjustable control gain; and fal function can effectively suppress the occurrence of signal chattering and has a good signal filtering effect.


## 2.2.5. ADRC Simulation Verification Example

Given the second-order controlled plant system model,(25)ẋ1=x2,ẋ2=−30x2+50sinπt+200u,where fx1,x2=−30x2 represents an unknown function, wt=50sinπt represents a disturbance, and b0=200.After discretizing the abovementioned continuous domain controlled plant, simulation is performed with a square wave signal with an amplitude of 2. TD is designed according to Section2.2.1, ESO is designed according to Section 2.2.3, and SENCL is designed according to Section 2.2.4; the relevant parameters are shown in Table 2.Table 2
Parameters of ADRC.
TDESOSENCLValueh=0.01, r=18ξ=0.004, β1=150, β2=320, β3=3000, α1=0.5, α2=0.25α1=0.7, α2=2, ς=0.02, β01=5, β02=0.4The simulation results are shown in Figure5. z1, z2, and z3 are the state estimates of ESO that respond to the process curve; x1, x2, and x3 are the response curves of the system (25) state variables and expansion state. It can be seen from the figure that the output estimation value of ESO can track the state variables of the system well, including the extended state variables of the internal disturbance and external disturbance of the system.Figure 5
The observation effect of ESO.Figure6 shows the results of the square wave input control response under the action of SENCL, including the white noise to measure the interference signal. It can be seen that the control has no overshoot and can quickly enter a stable state, indicating that the controller has strong robustness.Figure 6
Square wave response tracking.


## 3. Controller Parameter Tuning

### 3.1. Parameter Tuning Principle

Different parameters have different effects on the performance of the ADRC. Table3 lists the parameters and functions of the ADRC that need to be tuned. It can be seen that the ADRC needs to tune 9 parameters, of which ζ1 and ζ2 are predetermined according to the characteristics of the controlled plant and do not need to be changed within a certain range. For this reason, the following AGA-PSO algorithm only sets 7 parameters.Table 3
ADRC tuning parameters.
ParameterDescriptionTDrThe larger is the faster the tracking speed, but the more obvious the noise amplificationhThe larger is the better the filtering effect, but the more serious the phase loss of the tracking signalESOβ1Increaseβ1 to suppress the overshoot of the system, but too large will lead to longer rise timeβ2Increase can reduce the steady-state error of the system, but too large will cause oscillationβ3Increase can reduce the lag of ESO’s estimation of the total disturbance of the controlled system, but too large will cause oscillationζ1Too large causes the current linear feedback to be too large, ESO cannot track the nonlinear signal well, and too small will cause jitterSENCLβ01Too large causes the system overshoot to increase, the rise time becomes shorter, and the system oscillatesβ02Increase can reduce the oscillation, but too large will lead to longer rise timeζ2Same asζ1


### 3.2. AGA-PSO

The core idea of the AGA-PSO algorithm is to use the PSO algorithm to quickly find the neighborhood of the global optimal solution to form a new population, in which the AGA is used to obtain the optimal global solution. Its advantage is to avoid the blindness of the initial stage of the AGA and shorten the global convergence time. The advantages of the two algorithms complement each other to achieve rapid acquisition of the optimal global solution. Figure7 shows the relationship between the two algorithms.Figure 7
AGA-PSO algorithm diagram.Suppose that a populationXi is composed of N particles, a single particle is composed of a D-dimensional space, and its position and velocity are described as
(26)Xi=xi1,xi2,xi3,⋯,xiD,i=1,2,⋯,N,(27)Vi=vi1,vi2,vi3,⋯,viD,i=1,2,⋯,N.The particle velocity determines the search direction of the particle, and the positionxi of each particle is a potential solution to the target problem. The optimal position found by a single particle individual is the individual optimal, denoted as
(28)pbest=pi1,pi2,pi3,⋯,piD,i=1,2,⋯,N.The optimal position found by all the particles in the population is the global optimal, denoted as(29)gbest=pg1,pg2,pg3,⋯,pgD.The particle individual optimization search velocity and position update formulas are(30)vijt+1=wvijt+c1r1pijt−xijt+c2r2pgjt−xijt,(31)xijt+1=xijt+vijt+1,where r1 and r2 are random numbers between 0,1, c1 and c2 are learning factors, w is the inertia weight, vij is the particle velocity, and xij is the particle position.Inertia weightw determines the influence of the previous velocity on the current velocity. A large w is good for the particles to jump out of the optimal local solution, which is suitable for global search, and a small w is good for accurate local search. Taking into account the convergence of the algorithm and the balance between the algorithm’s global search and local improvement, the following nonlinear adaptive law is used to modify the inertia weight coefficient, namely,
(32)w=wmin−wmax−wminf−fminfavg−fmin,f≤favgwmax,f>favg,where wmin and wmax are the minimum and maximum values of w, respectively; f is the current fitness of particles; favg and fmin are the average fitness and minimum fitness of all particles, respectively. The integral time absolute error (ITAE) criterion is used to calculate the particle fitness of a single control loop.
(33)J=∫0∞tetdt,where et is the absolute value of the difference between the input and the actual output of the control system. The smaller the fitness value is, the better the solution is. The fitness calculation formula of the whole control system is
(34)Jall=∑i=1H∫0∞teitQitdt,where H is the number of channels in the control system and Qit represents the channel input signal, so as to ensure that the influence weight of each channel error on the fitness value is the same, that is, normalization processing.The process of the PSO algorithm is as follows:(1)
The particle swarm is randomly initialized, including the number of particles and the position and velocity of each particle. The dimension of each particle depends on the number of parameters of the ADRC. The position of each particle in the particle swarm is the potential solution of the controller parameters(2)
The particle position as a potential solution is substituted into the ADRC system for control simulation, and the fitness of each solution is calculated(3)
The velocity and position of particles are updated iteratively according to formulas (30) and (31)(4)
Analyze and determine the optimal solution of the current individual particle and the optimal global solution of the particle swarm, and updatepbest and gbest(5)
Judge whether it has reached the number of iteration steps; if it is satisfied, output the finalpbest and the corresponding fitness value, jump out of this algorithm, and enter the subsequent process; otherwise, return to (2)The parameters of the ADRC obtain the global optimal neighborhood solution through the PSO algorithm. Then, through the iterative operation of selection, crossover, and mutation of the AGA, the target problem gradually approaches the optimal global. The process is as follows:(1)
Coding. Use real number codes to initialize population genes.(2)
Selection. Take out a certain number of individuals from the population, select them according to their fitness, and enter the progeny population to reproduce until the new population size is the same as the original population size.(3)
Crossover. As a core operation of the genetic algorithm, new individuals can be obtained, that is, new possible solutions. If the crossover probability is too large, the randomness of the algorithm is too strong, and the convergence speed of the algorithm is too slow to effectively suppress premature maturity. The adaptive crossover probability operation as shown below will benefit parameter optimization:(35)Pc=k1−k1−k2fc−favgfavg−fmin,fc≥favg,k1,fc<favg,where fc is the larger fitness of the cross individuals; favg is the average fitness of the population; and generally, k1=0.9 and k2=0.6.Randomly select two chromosomes from the population for crossover. First, determine the crossover probabilityPc by formula (35) and then generate a random number in the range 0,1. When the random number is more significant than Pc, use the arithmetic crossover to develop a new chromosome. Otherwise, no crossover will be formed. The specific operation of the cross is as follows:
(36)Ck=c1k,c2k,⋯,cNk,k=1,2,(37)Ci1=λpi1+1−λpi2,(38)Ci2=λpi2+1−λpi1,where pik is the chromosome before crossing, Cik is the chromosome after crossing, and λ is a constant. When two chromosomes are crossed, two chromosomes are randomly selected for crossover operation again until the crossing times reach the set number.
(4)
Mutation. As another core operation of the genetic algorithm, it can also obtain new individuals, that is, new possible solutions. If the mutation probability is too large, it will weaken the inheritance of excellent genes. If it is too small, it will easily fall into the local optimum, which cannot optimize the parameters. The following adaptive mutation probability operation is beneficial to parameter optimization:(39)Pm=k3−k3−k4f−favgfmax−fmin,f′≥favg,k3,f′<favg,where f is the fitness of the variant individual; fmax is the maximum fitness of the population; and generally, k3=0.1 and k4=0.01.A chromosome is randomly selected from the population to mutate. Firstly, the mutation probabilityPm is determined by formula (39), and then a random number in the range of 0,1 is generated. When the random number is greater than Pm, the polynomial mutation method is used to mutate; otherwise, no mutation will be carried out. The specific operation of mutation is as follows:
(40)δ=2u1/η+1−1,u<0.5,1−21−u1/η+1,u>0.5,(41)ci′=ci+δ△max,where ci is the quasimutated gene, ci′ is the mutated gene, u is a random number between 0,1, η is the distribution index, and △max is the maximum allowable disturbance range. After the chromosome mutation is completed, a chromosome is randomly selected for mutation operation again until the mutation number reaches the set number.In summary, the schematic diagram of the combination of the AGA-PSO algorithm and the ADRC system is shown in Figure8. The flow of the AGA-PSO algorithm is shown in Figure 9. The process is as follows:
(1)
Initialize the AGA-PSO algorithm parameters, includingc1, c2, wmin, and wmax of PSO, maximum evolution algebra NG, and other parameters(2)
Generate a population randomly and then enter the PSO algorithm flow(3)
Judge whether the solution result of the PSO algorithm has reached the global optimal solution condition (the minimum fitness value is less than the set value). If the result is satisfied, the result will be directly output as the controller optimization parameter. Otherwise, the global optimal neighborhood solution obtained by the PSO algorithm will be substituted into the AGA for encoding, selecting, crossover, and mutation operations to seek the optimal global solution(4)
Individuals of the new population enter the ADRC system simulation and calculate the fitness value to determine whether the number of iteration steps is reached (the minimum population fitness is less than the set value, or the number of iteration steps is reached). Then, it is determined whether the termination condition is met (the minimum population fitness is less than the set value). If it is satisfied, the optimization result will be output, and the controller optimization parameters will be obtained. Otherwise, it will return to the PSO algorithm flowFigure 8
AGA-PSO algorithm combined with the ADRC system.Figure 9
AGA-PSO flow chart.


### 3.3. AGA-PSO Algorithm Verification

Figure10 shows the control structure block diagram of the three-axis attitude ADRC, which is composed of three control loops: yaw angle, pitch angle, and roll angle.Figure 10
Block diagram of the control structure of the three-axis attitude angle by ADRC.Each attitude loop needs to tune 7 parameters, and three loops need to tune a total of 21 parameters. The specific parameters of AGA-PSO and PSO are shown in Table4. Given a step and square wave signal with an amplitude of 5°, Figures 11 and 12 show the attitude response and convergence curves of the unoptimized PSO and AGA-PSO algorithms, respectively. It can be seen that the AGA-PSO algorithm has a shorter adjustment time for the three attitude loops than the PSO algorithm, and the overshoot is smaller, indicating that the AGA-PSO algorithm is feasible.Table 4
The parameters of AGA-PSO and PSO.
ParameterDescriptionAGA-PSOPSONGEvolutionary algebra100—sizepopGenetic algorithm population size50—swarmsizeNumber of particles5050DNumber of parameters to be tuned2121c1Acceleration factor22c2Acceleration factor22wmaxMaximum inertia weight0.90.9wminMinimum inertia weight0.60.6MNumber of iterations100100Figure 11
The response of attitude (step signal).Figure 12
The response of attitude (square wave signal).


## 3.1. Parameter Tuning Principle

Different parameters have different effects on the performance of the ADRC. Table3 lists the parameters and functions of the ADRC that need to be tuned. It can be seen that the ADRC needs to tune 9 parameters, of which ζ1 and ζ2 are predetermined according to the characteristics of the controlled plant and do not need to be changed within a certain range. For this reason, the following AGA-PSO algorithm only sets 7 parameters.Table 3
ADRC tuning parameters.
ParameterDescriptionTDrThe larger is the faster the tracking speed, but the more obvious the noise amplificationhThe larger is the better the filtering effect, but the more serious the phase loss of the tracking signalESOβ1Increaseβ1 to suppress the overshoot of the system, but too large will lead to longer rise timeβ2Increase can reduce the steady-state error of the system, but too large will cause oscillationβ3Increase can reduce the lag of ESO’s estimation of the total disturbance of the controlled system, but too large will cause oscillationζ1Too large causes the current linear feedback to be too large, ESO cannot track the nonlinear signal well, and too small will cause jitterSENCLβ01Too large causes the system overshoot to increase, the rise time becomes shorter, and the system oscillatesβ02Increase can reduce the oscillation, but too large will lead to longer rise timeζ2Same asζ1


## 3.2. AGA-PSO

The core idea of the AGA-PSO algorithm is to use the PSO algorithm to quickly find the neighborhood of the global optimal solution to form a new population, in which the AGA is used to obtain the optimal global solution. Its advantage is to avoid the blindness of the initial stage of the AGA and shorten the global convergence time. The advantages of the two algorithms complement each other to achieve rapid acquisition of the optimal global solution. Figure7 shows the relationship between the two algorithms.Figure 7
AGA-PSO algorithm diagram.Suppose that a populationXi is composed of N particles, a single particle is composed of a D-dimensional space, and its position and velocity are described as
(26)Xi=xi1,xi2,xi3,⋯,xiD,i=1,2,⋯,N,(27)Vi=vi1,vi2,vi3,⋯,viD,i=1,2,⋯,N.The particle velocity determines the search direction of the particle, and the positionxi of each particle is a potential solution to the target problem. The optimal position found by a single particle individual is the individual optimal, denoted as
(28)pbest=pi1,pi2,pi3,⋯,piD,i=1,2,⋯,N.The optimal position found by all the particles in the population is the global optimal, denoted as(29)gbest=pg1,pg2,pg3,⋯,pgD.The particle individual optimization search velocity and position update formulas are(30)vijt+1=wvijt+c1r1pijt−xijt+c2r2pgjt−xijt,(31)xijt+1=xijt+vijt+1,where r1 and r2 are random numbers between 0,1, c1 and c2 are learning factors, w is the inertia weight, vij is the particle velocity, and xij is the particle position.Inertia weightw determines the influence of the previous velocity on the current velocity. A large w is good for the particles to jump out of the optimal local solution, which is suitable for global search, and a small w is good for accurate local search. Taking into account the convergence of the algorithm and the balance between the algorithm’s global search and local improvement, the following nonlinear adaptive law is used to modify the inertia weight coefficient, namely,
(32)w=wmin−wmax−wminf−fminfavg−fmin,f≤favgwmax,f>favg,where wmin and wmax are the minimum and maximum values of w, respectively; f is the current fitness of particles; favg and fmin are the average fitness and minimum fitness of all particles, respectively. The integral time absolute error (ITAE) criterion is used to calculate the particle fitness of a single control loop.
(33)J=∫0∞tetdt,where et is the absolute value of the difference between the input and the actual output of the control system. The smaller the fitness value is, the better the solution is. The fitness calculation formula of the whole control system is
(34)Jall=∑i=1H∫0∞teitQitdt,where H is the number of channels in the control system and Qit represents the channel input signal, so as to ensure that the influence weight of each channel error on the fitness value is the same, that is, normalization processing.The process of the PSO algorithm is as follows:(1)
The particle swarm is randomly initialized, including the number of particles and the position and velocity of each particle. The dimension of each particle depends on the number of parameters of the ADRC. The position of each particle in the particle swarm is the potential solution of the controller parameters(2)
The particle position as a potential solution is substituted into the ADRC system for control simulation, and the fitness of each solution is calculated(3)
The velocity and position of particles are updated iteratively according to formulas (30) and (31)(4)
Analyze and determine the optimal solution of the current individual particle and the optimal global solution of the particle swarm, and updatepbest and gbest(5)
Judge whether it has reached the number of iteration steps; if it is satisfied, output the finalpbest and the corresponding fitness value, jump out of this algorithm, and enter the subsequent process; otherwise, return to (2)The parameters of the ADRC obtain the global optimal neighborhood solution through the PSO algorithm. Then, through the iterative operation of selection, crossover, and mutation of the AGA, the target problem gradually approaches the optimal global. The process is as follows:(1)
Coding. Use real number codes to initialize population genes.(2)
Selection. Take out a certain number of individuals from the population, select them according to their fitness, and enter the progeny population to reproduce until the new population size is the same as the original population size.(3)
Crossover. As a core operation of the genetic algorithm, new individuals can be obtained, that is, new possible solutions. If the crossover probability is too large, the randomness of the algorithm is too strong, and the convergence speed of the algorithm is too slow to effectively suppress premature maturity. The adaptive crossover probability operation as shown below will benefit parameter optimization:(35)Pc=k1−k1−k2fc−favgfavg−fmin,fc≥favg,k1,fc<favg,where fc is the larger fitness of the cross individuals; favg is the average fitness of the population; and generally, k1=0.9 and k2=0.6.Randomly select two chromosomes from the population for crossover. First, determine the crossover probabilityPc by formula (35) and then generate a random number in the range 0,1. When the random number is more significant than Pc, use the arithmetic crossover to develop a new chromosome. Otherwise, no crossover will be formed. The specific operation of the cross is as follows:
(36)Ck=c1k,c2k,⋯,cNk,k=1,2,(37)Ci1=λpi1+1−λpi2,(38)Ci2=λpi2+1−λpi1,where pik is the chromosome before crossing, Cik is the chromosome after crossing, and λ is a constant. When two chromosomes are crossed, two chromosomes are randomly selected for crossover operation again until the crossing times reach the set number.
(4)
Mutation. As another core operation of the genetic algorithm, it can also obtain new individuals, that is, new possible solutions. If the mutation probability is too large, it will weaken the inheritance of excellent genes. If it is too small, it will easily fall into the local optimum, which cannot optimize the parameters. The following adaptive mutation probability operation is beneficial to parameter optimization:(39)Pm=k3−k3−k4f−favgfmax−fmin,f′≥favg,k3,f′<favg,where f is the fitness of the variant individual; fmax is the maximum fitness of the population; and generally, k3=0.1 and k4=0.01.A chromosome is randomly selected from the population to mutate. Firstly, the mutation probabilityPm is determined by formula (39), and then a random number in the range of 0,1 is generated. When the random number is greater than Pm, the polynomial mutation method is used to mutate; otherwise, no mutation will be carried out. The specific operation of mutation is as follows:
(40)δ=2u1/η+1−1,u<0.5,1−21−u1/η+1,u>0.5,(41)ci′=ci+δ△max,where ci is the quasimutated gene, ci′ is the mutated gene, u is a random number between 0,1, η is the distribution index, and △max is the maximum allowable disturbance range. After the chromosome mutation is completed, a chromosome is randomly selected for mutation operation again until the mutation number reaches the set number.In summary, the schematic diagram of the combination of the AGA-PSO algorithm and the ADRC system is shown in Figure8. The flow of the AGA-PSO algorithm is shown in Figure 9. The process is as follows:
(1)
Initialize the AGA-PSO algorithm parameters, includingc1, c2, wmin, and wmax of PSO, maximum evolution algebra NG, and other parameters(2)
Generate a population randomly and then enter the PSO algorithm flow(3)
Judge whether the solution result of the PSO algorithm has reached the global optimal solution condition (the minimum fitness value is less than the set value). If the result is satisfied, the result will be directly output as the controller optimization parameter. Otherwise, the global optimal neighborhood solution obtained by the PSO algorithm will be substituted into the AGA for encoding, selecting, crossover, and mutation operations to seek the optimal global solution(4)
Individuals of the new population enter the ADRC system simulation and calculate the fitness value to determine whether the number of iteration steps is reached (the minimum population fitness is less than the set value, or the number of iteration steps is reached). Then, it is determined whether the termination condition is met (the minimum population fitness is less than the set value). If it is satisfied, the optimization result will be output, and the controller optimization parameters will be obtained. Otherwise, it will return to the PSO algorithm flowFigure 8
AGA-PSO algorithm combined with the ADRC system.Figure 9
AGA-PSO flow chart.


## 3.3. AGA-PSO Algorithm Verification

Figure10 shows the control structure block diagram of the three-axis attitude ADRC, which is composed of three control loops: yaw angle, pitch angle, and roll angle.Figure 10
Block diagram of the control structure of the three-axis attitude angle by ADRC.Each attitude loop needs to tune 7 parameters, and three loops need to tune a total of 21 parameters. The specific parameters of AGA-PSO and PSO are shown in Table4. Given a step and square wave signal with an amplitude of 5°, Figures 11 and 12 show the attitude response and convergence curves of the unoptimized PSO and AGA-PSO algorithms, respectively. It can be seen that the AGA-PSO algorithm has a shorter adjustment time for the three attitude loops than the PSO algorithm, and the overshoot is smaller, indicating that the AGA-PSO algorithm is feasible.Table 4
The parameters of AGA-PSO and PSO.
ParameterDescriptionAGA-PSOPSONGEvolutionary algebra100—sizepopGenetic algorithm population size50—swarmsizeNumber of particles5050DNumber of parameters to be tuned2121c1Acceleration factor22c2Acceleration factor22wmaxMaximum inertia weight0.90.9wminMinimum inertia weight0.60.6MNumber of iterations100100Figure 11
The response of attitude (step signal).Figure 12
The response of attitude (square wave signal).


## 4. Simulation Verification of Attitude Control

The initial condition of simulation is as follows: set the yaw angle, pitch angle, and roll angle as 3°, and the simulation time is 30 s. The expected input of each loop is a square wave signal with an amplitude of 3°. The sliding mode controller (SMC) and the ADRC with the same control structure are selected. The AGA-PSO algorithm tuning ADRC parameters is shown in Table5. The SMC is designed according to the literature [28], and the specific parameters are shown in Table 5.Table 5
Parameters of ADRC and SMC (square wave signal).
TDESOSENCLSMCψh=0.021, r=5.2ξ=0.004, β1=4015, β2=2011, β3=50, α1=0.5, α2=0.25, b0=0.06α1=0.5, α2=0.25, ς=1, β01=582, β02=127λ1=67, λ2=232, a=5, b=3, p=7, q=5θh=0.022, r=9.5ξ=0.1, β1=6121, β2=2982, β3=53, α1=0.5, α2=0.25, b0=0.4α1=0.5, α2=0.05, ς=3, β01=292, β02=29λ1=41, λ2=156, a=7, b=2, p=8, q=5ϕh=0.021, r=9.7ξ=0.1, β1=6096, β2=2973, β3=49, α1=0.5, α2=0.25, b0=0.4α1=0.5, α2=0.05, ς=3, β01=286, β02=31λ1=41, λ2=156, a=7, b=2, p=8, q=5Figure13 shows the simulation results of the ADRC and SMC attitude angle control loops. It can be seen that the ADRC can track the set values of the three attitude loops more quickly without evident overshoot and steady-state error, which indicates that the ADRC attitude loop has better system performance.Figure 13
The simulation results of ADRC (square wave signal).To verify the ability of ADRC to overcome the model uncertainty (internal uncertainty), the ADRC and SMC parameters shown in Table5 are kept unchanged, while the model parameter values are reduced by about 20%, as shown in Table 6. The simulation result is shown in Figure 14. It can be seen that the control performance of ADRC has little change, while the control performance of SMC has dropped sharply, and the three attitude angles can no longer be effectively controlled. This experiment shows that even if the internal parameters of the quadrotor change greatly, the ADRC can still maintain stable control performance.Table 6
Parameters of the quadrotor (changed).
ParameterValueUnitl0.16mJx0.014kg·m2Jy0.014kg·m2Jz0.032kg·m2KL0.09N/VKn=−Ks0.003N·m/VFigure 14
The simulation results of ADRC (model parameter changes).In order to verify the resistance of ADRC to external disturbances, a step signal with an amplitude of 4° is given and a white noise with a peak value of 3° is added as an external disturbance in the attitude loops. The ADRC and SMC parameters are shown in Table7. The simulation results shown in Figure 15 are obtained. It can be seen that the SMC has obvious oscillation in three attitude loops. However, the ADRC still keeps a good control effect, which shows that the ADRC designed in this paper has good response ability of tracking step input, and the control system also has better antidisturbance performance.Table 7
Parameters of ADRC and SMC (step signal).
TDESOSENCLSMCψh=0.034, r=4.2ξ=0.004, β1=4172, β2=1903, β3=61, α1=0.5, α2=0.25, b0=0.06α1=0.5, α2=0.25, ς=1, β01=571, β02=137λ1=45, λ2=217, a=4, b=1, p=11, q=7θh=0.031, r=8.7ξ=0.1, β1=6319, β2=2893, β3=53, α1=0.5, α2=0.25, b0=0.4α1=0.5, α2=0.05, ς=3, β01=252, β02=31λ1=37, λ2=98, a=9, b=2, p=4, q= 3ϕh=0.031, r=8.6ξ=0.1, β1=6306, β2=2861, β3=49, α1=0.5, α2=0.25, b0=0.4α1=0.5, α2=0.05, ς=3, β01=255, β02=33λ1=37, λ2=98, a=9, b=2, p=4, q=3Figure 15
The simulation results of ADRC (step signal).


## 5. Conclusion

In this paper, the ADRC for attitude loops is designed by analyzing the quadrotor’s dynamic attitude model. At the same time, the AGA-PSO algorithm is used to optimize the parameters of ADRC. Finally, the simulation results show the following:(1)
The AGA-PSO algorithm combines the global convergence of the AGA and the fast convergence of the PSO algorithm. Compared with the unmodified PSO algorithm, the AGA-PSO algorithm’s performance is much improved, and a better controller parameter optimization effect is achieved(2)
Each loop of ADRC has better dynamic tracking performance, small steady-state error, short adjustment time, strong disturbance rejection, and better robustness than that of SMC(3)
The ADRC can effectively suppress disturbance by observing and compensating the internal uncertainty and external disturbance of the system



---

*Source: 8876177-2020-11-17.xml*