Introduction

In the past few years, quadrotors have been widely applied in various fields, such as telecommunication relay, surveillance, and agriculture1,2,3,4. The quadrotor UAV itself has nonlinear, strong coupling, and underactuated characteristics, and it is easily affected by external wind disturbances and payload disturbances during flight5,6. Therefore, how to develop the high-precision tracking controller for quadrotor is a challenging issue, especially in the case of multiple disturbances.

A number of researchers have proposed many control schemes for the quadrotor. Proportional integral derivative (PID) strategy has been used to design UAV control framework as a classic method7,8,9. However, PID is sensitive to disturbances and its parameter tuning process is complex. In10, a nonsingular terminal sliding mode control (SMC) scheme was constructed based on finite time technology. Wang et al.11 developed a backstepping control scheme for the quadrotor with model uncertainty and external disturbance. In order to simultaneously address the unknown disturbance and control input constraints in the UAV system, Alsaade et al.12 designed a trajectory tracking control strategy using H\({\infty }\) technology. An adaptive fractional-order SMC framework was proposed to achieve fast speed and high accuracy performance for the UAV in13. In addition, there exist many other methods, such as prescribed performance control14,15, fixed-time control16,17, predefined-time control18,event-triggered control19,20,fuzzy control21. However, the above methods rely too much on accurate mathematical models of UAV. If the mathematical model of UAV is not accurate enough or the UAV is subject to external unknown disturbances during flight, the above control methods cannot guarantee the flight performance of the UAV.

Many learning based methods have also been applied to UAV control, which have low model dependence and better adaptive capabilities. They can intelligently process uncertain information and are suitable for solving control problems in high complexity systems. Gao et al.22 adopted neural network to approximate the nonlinear terms in the system model for UAV fault-tolerant control. Shen and Xu23 estimated unknown disturbances in the quadrotor UAV system using function approximation ability of radial basis function (RBF) neural network. Other neural network algorithms were investigated in24,25. Reinforcement learning methods for UAV were studied in26,27. In28, reinforcement learning and backstepping technology were combined to study the optimized tracking control scheme of the quadrotor UAV system. However, learning based methods require a significant amount of computation. The onboard CPU is limited in computation and does not have the ability of real-time control. In addition, it is difficult to analyze the stability and reliability of the system through theoretical methods.

According to the disadvantages and advantages of the above methods, a novel active disturbance rejection control (ADRC) strategy was proposed by Han29. This method combines the advantages of modern control theory and PID controller, with strong anti-disturbance ability and fast response speed. Extended state observer (ESO) is the core part of ADRC, which considers external and internal disturbances of the system as total disturbances and expands them into new state variables for estimation and compensation. At present, ESO has been adopted in the industry, such as electric power system and Texas Instruments30,31,32. However, how to apply it to practical quadrotor UAV system and complete the effective combination of control theory and practical engineering is still worth further research.

Inspired by the above analysis, model based control methods rely on accurate mathematical models of UAV. If the mathematical model is not precise enough, the control performance will be greatly affected. Based on learning methods, although they do not rely on complex mathematical models, they require a large amount of computation and are difficult to implement in engineering. This paper aims to construct the UAV flight controller with superior control performance and engineering applications by combining the advantages of model algorithms and learning methods. This paper employs ESO and neural network techniques to study the trajectory tracking problem of UAV under wind and payload disturbances, the main contributions of this paper are summarized as follows.

  • Different from various forms of ESO have been previously proposed, such as classical nonlinear ESO and adaptive ESO33, an ESO with only one parameter is constructed for the UAV system to estimate and compensate for lumped disturbance composed of wind and payload disturbances. It only requires fewer parameters to be designed, greatly improving debugging efficiency. Furthermore, it is proved that the estimation error of the observer can converge to 0.

  • Compared with the results based on accurate UAV model in11,16, this paper constructs the adaptive neural network position controller that does not rely on the system model is developed. Based on the Lyapunov method, the adaptive law of the neural network weights is derived, and a rigorous stability proof is given, which proves that the position tracking error of the whole UAV closed-loop system is uniformly ultimately bounded (UUB).

  • Compared with the results in18,20, the effectiveness of the proposed control strategy are only verified through numerical simulation. Furthermore, this paper conducts UAV anti-disturbacne flight experiments by building a physical experimental platform, and the combination of theory and practical application is completed.

The layout of this paper are as follows. In Section 2, the dynamic model of the UAV is established and problem formulation is given. Section 3 presents controller design. Section 4 provides numerical simulation and actual flight results. Section 5 concludes this paper.

Fig. 1
Fig. 1
Full size image

The quadrotor and the cable suspended payload in wind environment.

Problem formulation

The structural framework of quadrotor UAV is depicted in Fig. 1. The thrust required for the quadrotor is generated by four motors driving propellers. Let \(O_e\) and \(O_b\) be the world coordinate system and the body coordinate system, respectively. Denote xy and z as the positions of UAV in 3D space. \(\phi , \theta , \psi\) are roll, pitch, and yaw angles. From34,35, the dynamic model of UAV is constructed as

$$\begin{aligned} \left\{ \begin{aligned} \ddot{\phi }(t)&=\dot{\theta }(t) \dot{\psi }(t)\left( \frac{I_y-I_z}{I_x}\right) +\frac{l}{I_x} u_2(t) \\ \ddot{\theta }(t)&=\dot{\phi }(t) \dot{\psi }(t)\left( \frac{I_z-I_x}{I_y}\right) +\frac{l}{I_y} u_3(t) \\ \ddot{\psi }(t)&=\dot{\phi }(t) \dot{\theta }(t)\left( \frac{I_x-I_y}{I_z}\right) +\frac{1}{I_z} u_4(t) \\ \ddot{x}(t)&=\frac{1}{m}[(\cos \phi (t) \cos \psi (t) \sin \theta (t) \\&\left. +\sin \phi (t) \sin \psi (t)) u_1(t)+d_{w 1}(t)+d_{q 1}\right] \\ \ddot{y}(t)&=\frac{1}{m}[(\cos \phi (t) \sin \theta (t) \sin \psi (t) \\&\left. -\cos \psi (t) \sin \phi (t)) u_1(t)+d_{w 2}(t)+d_{q 2}\right] \\ \ddot{z}(t)&=\frac{1}{m}\left[ (\cos \theta (t) \cos \phi (t)) u_1(t)-g+d_{w 3}(t)+d_{q 3}\right] \end{aligned}\right. \end{aligned}$$
(1)

where mg are the mass and gravitational acceleration of the UAV. \(I_x, I_y\) and \(I_z\) denote the moment of inertia of the UAV. l is the distance from the center of the aircraft body to the rotor axis. \(u_1(t), u_2(t), u_3(t), u_4(t)\) are control thrust provided by four motors. \(d_{w i}(t), d_{q i}(t)(i=1,2,3)\) refer to time-varying wind disturbances and cable suspended payload disturbance. It is worth noting that we focus on the position control of UAV in this paper, and it is assumed that the attitude system of UAV is not affected by multiple disturbances.

The control goal of the this paper is to develop a control strategy for the quadrotor UAV under wind and the cable-suspended payload disturbances to ensure that \(\left\{ x,y,z \right\}\) can track expected trajectory \(\left\{ x_d,y_d,z_d \right\}\), and the tracking errors are bounded.

Fig. 2
Fig. 2
Full size image

Structure of the proposed trajectory tracking control strategy.

Controller design and stability analysis

In this section, an adaptive neural network control strategy is designed based on ESO. Figure 2 depicts the structure diagram of the control scheme, and the stability of proposed control algorithm is analyzed using the Lyapunov function.

Design of the ESO

This paper considers two types of disturbance imposed on a quadrotor UAV. One is the external time-varying wind disturbance expressed by \(d_{w}\). The other is cable suspended payload disturbance, that is, \(d_{q}\). It is assumed that \(\dot{d}_w\) and \(\dot{d}_q\) are bounded, i.e., \(\left\| \dot{d}_w \right\| \leqslant \bar{d}_w, \left\| \dot{d}_q \right\| \leqslant \bar{d}_q\), where \(\bar{d}_w\) and \(\bar{d}_q\) are known constants. Therefore, the lumped disturbance \(d_f\) can be expressed as:

$$\begin{aligned} d_f=d_w+d_q \end{aligned}$$
(2)

Let \(X_1=[x, y, z]^T, X_2=[\dot{x}, \dot{y}, \dot{z}]^T, X_3=[d_{f 1}, d_{f 2}, d_{f 3}]^T\), then the position dynamics model of the UAV (1) is rewritten as

$$\begin{aligned} \left\{ \begin{array}{l} \dot{X}_1=X_2 \\ \dot{X}_2=X_3+G(x) u \\ \dot{X}_3=\dot{d}_f \end{array}\right. \end{aligned}$$
(3)

where \(u=\left[ u_x, u_y, u_z\right] ^T\), G(x) is related to the system dynamics model.

Define \(Z_1, Z_2\) and \(Z_3\) as the estimated values of \(X_1, X_2\) and \(d_f\). For the system (3) , the ESO is constructed as

$$\begin{aligned} \left\{ \begin{array}{l} \dot{Z}_1=Z_2+\beta _1\left( X_1-Z_1\right) \\ \dot{Z}_2=Z_3+\beta _2\left( X_1-Z_1\right) +G(x) u \\ \dot{Z}_3=\beta _3\left( X_1-Z_1\right) \end{array}\right. \end{aligned}$$
(4)

where \(\beta _1, \beta _2\), and \(\beta _3\) are the observer parameters. Furthermore, according to (3) and (4), the estimation error equation is obtained as

$$\begin{aligned} \left\{ \begin{aligned}&\dot{E}_1=-\beta _1E_1+E_2\\&\dot{E}_2=-\beta _2E_1+E_3\\&\dot{E}_3=-\beta _3E_1+\dot{d}_f\\ \end{aligned} \right. \end{aligned}$$
(5)

where \(E_i(t)=X_i(t)-Z_i(t), i=1,2,3\). Denote \(\xi _i(t)=E_i(t) / \omega _o^{i-1}, i=1,2,3\), the Eq. (5) is rewritten

$$\begin{aligned} \left\{ \begin{array}{l} \dot{\xi }_1(t)=-\frac{\beta _1}{\omega _o^0} \xi _1+\omega _o \xi _2 \\ \dot{\xi }_2(t)=-\frac{\beta _2}{\omega _o^1} \xi _1+\omega _o \xi _3 \\ \dot{\xi }_3(t)=-\frac{\beta _3}{\omega _o^2} \xi _1+\frac{\dot{d}_f}{\omega _o^2} \end{array}\right. \end{aligned}$$
(6)

Choose \(\beta _1=3 \omega _o, \beta _2=3 \omega _o^2, \beta _3=\omega _o^3\), the Eq. (6) is rewritten as

$$\begin{aligned} \dot{\xi }(t)=\omega _o A \xi (t)+B \frac{\dot{d}_f}{\omega _o^2} \end{aligned}$$
(7)

where \(A=\left[ \begin{array}{lll}-3 & 1 & 0 \\ -3 & 0 & 1 \\ -3 & 0 & 0\end{array}\right] , B=\left[ \begin{array}{l}0 \\ 0 \\ 1\end{array}\right] .\)

Theorem 1

It is assumed that \(\dot{d}_f\) is bounded, then there exists the finite time \(T>0\) and the positive constant \(\kappa _i\),such that \(\left| E_i(t)\right| \le \kappa _i, i=1,2,3, \forall t \ge T>0\).

Proof

From the Eq. (7) , it can get

$$\begin{aligned} \xi (t)=e^{\omega _o A t} \xi (0)+\int _0^t e^{\omega _o A(t-\tau )} B \frac{\dot{d}_f}{\omega _o^2} d \tau \end{aligned}$$
(8)

Define \(Q(t)=\int _0^t e^{\omega _o A(t-\tau )} B \frac{\dot{d}_f}{\omega _o^2} d \tau\). Since \(\dot{d}_f\) is bounded, namely \(\left| \dot{d}_f \right| \leqslant \bar{D}, \bar{D}>0\), it has

$$\begin{aligned} \left| Q_i(t)\right| \le \frac{\bar{D}}{\omega _o^3}\left[ \left| \left( A^{-1} B\right) _i\right| +\left| \left( A^{-1} e^{\omega _o A t} B\right) _i\right| \right] \end{aligned}$$
(9)

From \(A^{-1}=\left[ \begin{array}{lll}0 & 0 & -1 \\ 1 & 0 & -3 \\ 0 & 1 & -3\end{array}\right]\), it gets

$$\begin{aligned} \left| \left( A^{-1} B\right) _i\right| = {\left\{ \begin{array}{ll}1, & i=1 \\ 3, & i=2,3\end{array}\right. } \end{aligned}$$
(10)

Since A is a Hurwitz matrix, there exists a finite time \(T>0\), for all \(t \ge T, i, j=1,2,3\), such that

$$\begin{aligned} \left\{ \begin{array}{l} \left| \left( e^{\omega _o A t}\right) _{i j}\right| \le \frac{1}{\omega _o^3} \\ \left| \left( e^{\omega _o A t} B\right) _i\right| \le \frac{1}{\omega _o^3} \end{array}\right. \end{aligned}$$
(11)

Since T is related to \(\omega _o A\)36, then set

$$\begin{aligned} \begin{aligned} A^{-1}&=\left[ \begin{array}{lll} m_{11} & m_{12} & m_{13} \\ m_{21} & m_{22} & m_{23} \\ m_{31} & m_{32} & m_{33} \end{array}\right] \\ e^{\omega _o A t}&=\left[ \begin{array}{lll} n_{11} & n_{12} & n_{13} \\ n_{21} & n_{22} & n_{23} \\ n_{31} & n_{32} & n_{33} \end{array}\right] \end{aligned} \end{aligned}$$

For all \(t \ge T\), it has

$$\begin{aligned} \begin{aligned} \left| \left( A^{-1} e^{\omega _o A t} B\right) _i\right|&=\left| m_{i 1} n_{13}+m_{i 2} n_{23}+m_{i 3} n_{33}\right| \\&\le {\left\{ \begin{array}{ll}\frac{1}{\omega _o^3}, & i=1 \\ \frac{4}{\omega _o^3}, & i=2,3\end{array}\right. } \end{aligned} \end{aligned}$$
(12)

Combine equations (9), (10) and (12), it has

$$\begin{aligned} \left| Q_i(t)\right| \le \frac{3 \bar{D}}{\omega _o^3}+\frac{4 \bar{D}}{\omega _o^6} \end{aligned}$$
(13)

Denote \(\xi _{\max }(0)=\left| \xi _1(0)\right| +\left| \xi _2(0)\right| +\left| \xi _3(0)\right|\), for all \(t \ge T, i=1,2,3\), it gets

$$\begin{aligned} \left| \left[ e^{\omega _o A t} \xi (0)\right] _i\right| \le \frac{\xi _{\max }(0)}{\omega _o^3} \end{aligned}$$
(14)

then

$$\begin{aligned} \left| \xi _i(t)\right| \le \frac{\xi _{\max }(0)}{\omega _o^3}+\frac{3 \bar{D}}{\omega _o^3}+\frac{4 \bar{D}}{\omega _o^6} \end{aligned}$$
(15)

Define \(E_{\max }(0)=\left| E_1(0)\right| +\left| E_2(0)\right| +\left| E_3(0)\right|\), from \(\xi _i(t)=E_i(t) / \omega _o^{i-1}\) and (13), (14), (15), it obtains

$$\begin{aligned} \left| E_i(t)\right| \le \frac{E_{\max }(0)}{\omega _o^3}+\frac{3 \bar{D}}{\omega _o^{4-i}}+\frac{4 \bar{D}}{\omega _o^{7-i}}=\kappa _i \end{aligned}$$
(16)

From (16) and \(\bar{D}\) is a positive constant, by adjusting the bandwidth \(\omega _o\) of observer, it gets \(\left| E_i(t)\right| \longrightarrow 0\). Finally, the estimation errors are convergent. Hence, the proof of Theorem 1 is finished.\(\square\)

Design of adaptive neural network controller

An adaptive neural network controller for quadrotor is developed utilizing the disturbance estimation values of ESO. For the system (3), the output error of the system is

$$\begin{aligned} \left\{ \begin{array}{l} q=X_d-X_1 \\ \dot{q}=\dot{X}_d-X_2 \end{array}\right. \end{aligned}$$
(17)

where \(X_d=\left[ x_d,y_d,z_d \right] ^T\) represents the expected trajectory. Furthermore, taking the X-axis channel as an example, the controller design for other channels is similar to it, and the ideal UAV tracking control protocol is constructed as

$$\begin{aligned} u^*_x=\frac{1}{G(x)_1}\left( d_{f1}+\ddot{x}_d+K^T Q\right) \end{aligned}$$
(18)

where \(Q=[x_d-x, \dot{x_d}-\dot{x}]^T, K=\left[ k_p, k_d\right] ^T\). Furthermore, the roots of \(s^2+k_d s+k_P=0\) can be placed in the left half complex plane by designing K. Then, \(\dot{q}(t) \rightarrow 0, q(t) \rightarrow 0\), when \(t \rightarrow \infty\).

Based on the ESO designed above, disturbance estimation \(Z_3\) can be obtained, while G(x) is associated with model parameters, and it is difficult to acquire its accurate value. As shown in Fig. 2, the RBF neural network is a classic feedforward neural network that can approximate any nonlinear function by reasonably determining parameters in the network. Therefore, RBF neural network is designed to estimate G(x) through adaptive learning methods. The output of the neural network is

$$\begin{aligned} \hat{G}(x)=\hat{W}^T h(x) \end{aligned}$$
(19)

where \(\hat{W}\) represents weight of the network, \(x=[q, \dot{q}]^T\) is the input vector, h is the excitation function of the hidden layer expressed as

$$\begin{aligned} h_j=\exp \left( -\frac{\left\| x-c_j\right\| ^2}{2 b_j^2}\right) j=1, \ldots , 5 \end{aligned}$$
(20)

where b represents the width of Gaussian function, c is center of the function. Finally, the tracking controller based on ESO is constructed as

$$\begin{aligned} u_x=\frac{1}{\hat{G}(x)_1}\left( -Z_{3,x}+\ddot{x}_d+K^T Q\right) \end{aligned}$$
(21)

It is worth noting that the ESO based adaptive neural network controller only utilizes the expected tracking signal and output information of the system, and the controller does not depend on the system model. In addition, by utilizing the second-order derivative of the expected tracking signal, the controller parameters can be strictly selected according to pole placement method, which is conducive to fast tracking of high-speed maneuverable objects.

Theorem 2

Consider the UAV system described by (3), if the ESO (4) is adopted and the adaptive law of weights in RBF neural network is constructed as

$$\begin{aligned} \dot{\hat{W}}=-\gamma Q^T \varXi \varTheta h(x) \frac{1}{\hat{G}(x)}\left( -Z_3+\ddot{X}_d+K^T Q\right) \end{aligned}$$
(22)

where \(\gamma >0,\) \(\varXi\) is a positive definite matrix. Then, the system is asymptotically stable under the proposed controller (21).

Proof

From Eqs. (3) and (21), it has

$$\begin{aligned} \ddot{q}=-K^T Q-E_3+(\hat{G}(x)-G(x)) u^* \end{aligned}$$
(23)

Denote

$$\begin{aligned} \varrho =\left[ \begin{array}{cc} 0 & 1 \\ -k_p & -k_d \end{array}\right] , \varTheta =\left[ \begin{array}{l} 0 \\ 1 \end{array}\right] \end{aligned}$$

Then, (23) can be rewritten as

$$\begin{aligned} \dot{Q}=\varrho Q+\varTheta \left( (\hat{G}(x)-G(x)) u^*-E_3\right) \end{aligned}$$
(24)

The optimal weight value is selected as

$$\begin{aligned} W^*=\arg \min _{W \in \Omega _2}[\sup \vert \hat{G}(x)-G(x)\vert ] \end{aligned}$$
(25)

It can find such an optimal value that can ensure the stability of the entire system, and the specific details can be found in37. The network approximation error is expressed as

$$\begin{aligned} \varepsilon =\hat{G}\left( x \mid W^*\right) -G(x) \end{aligned}$$
(26)

Then, (24) is rewritten as

$$\begin{aligned} \dot{Q}=\varrho Q+\varTheta \left( \left( \left( \hat{W}-W^*\right) ^T h(x)+\varepsilon \right) u^*-E_3\right) \end{aligned}$$
(27)

The Lyapunov function is selected as

$$\begin{aligned} V_2=\frac{1}{2} Q^T \varXi Q+\frac{1}{2 \gamma }\left( \hat{W}-W^*\right) ^T\left( \hat{W}-W^*\right) \end{aligned}$$
(28)

where \(\varXi\) satisfies the following equation

$$\begin{aligned} \varrho ^T \varXi +\varXi \varrho =-\vartheta \end{aligned}$$
(29)

where \(\vartheta >0\). Then, let \(M=\varTheta \left( \left( \left( \hat{W}-W^*\right) ^T h(x)+\varepsilon \right) u^*-E_3\right) , V_3=\frac{1}{2} Q^T \varXi Q\) and \(V_4=\frac{1}{2 \gamma }\left( \hat{W}-W^*\right) ^T\left( \hat{W}-W^*\right)\), it gets

$$\begin{aligned} \begin{aligned} \dot{V}_3&=\frac{1}{2} \dot{Q}^T \varXi Q+\frac{1}{2} Q^T \varXi \dot{Q} \\&=\frac{1}{2}\left( Q^T \varrho ^T+M^T\right) \varXi Q+\frac{1}{2} Q^T \varXi (\varrho Q+M) \\&=\frac{1}{2} Q^T\left( \varrho ^T \varXi +\varXi \varrho \right) Q+\frac{1}{2} M^T \varXi Q+\frac{1}{2} Q^T \varXi M \end{aligned} \end{aligned}$$
$$\begin{aligned} \begin{aligned}&=-\frac{1}{2} Q^T \vartheta Q+\frac{1}{2}\left( M^T \varXi Q+Q^T \varXi M\right) \\&=-\frac{1}{2} Q^T \vartheta Q+Q^T \varXi M \end{aligned} \end{aligned}$$
(30)

Substitute M into (30) yields

$$\begin{aligned} \begin{aligned} \dot{V}_3 =&-\frac{1}{2} Q^T \vartheta Q+Q^T \varXi \Theta \left( \hat{W}-W^*\right) ^T h(x) u^*+Q^T \varXi \varTheta \varepsilon u^* \\ =&-\frac{1}{2} Q^T \vartheta Q+\left( \hat{W}-W^*\right) ^T Q \varXi \varTheta h(x) u^*\\&+Q^T \varXi \varTheta \varepsilon u^*-Q^T \varXi \varTheta E_3 \end{aligned} \end{aligned}$$
(31)

Take the derivative of \(V_4\), it gets

$$\begin{aligned} \begin{aligned} \dot{V}_4&=\frac{1}{2 \gamma } \dot{\hat{W}}^T\left( \hat{W}-W^*\right) +\frac{1}{2 \gamma }\left( \hat{W}-W^*\right) ^T \dot{\hat{W}} \\&=\frac{1}{\gamma }\left( \hat{W}-W^*\right) ^T \dot{\hat{W}} \\&=\frac{1}{\gamma }\left( \hat{W}-W^*\right) ^T \dot{\hat{W}} \end{aligned} \end{aligned}$$
(32)

From Theorem 1, the gain of the observer can be adjusted so that \(E_3 \rightarrow 0\), then it gets

$$\begin{aligned} \begin{aligned} \dot{V}_2&=\dot{V}_3+\dot{V}_4 \\&=-\frac{1}{2} Q^T \vartheta Q+Q^T \varXi \varTheta \varepsilon u^* \\&+\frac{1}{\gamma }\left( \hat{W}-W^*\right) ^T\left( \dot{W}+\gamma Q^T \varXi \varTheta h(x) u^*\right) \end{aligned} \end{aligned}$$
(33)

Furthermore, by combining (22), the following equation is derived

$$\begin{aligned} \begin{aligned} \dot{V}_2&=-\frac{1}{2} Q^T \vartheta Q+Q^T \varXi \varTheta \varepsilon u^* \\&=-\frac{1}{2} Q^T \vartheta Q+\frac{\varepsilon Q^T \varXi \varTheta }{\hat{G}(x)}\left( -Z_3+\ddot{X}_d+K^T Q\right) \end{aligned} \end{aligned}$$
(34)

According to \(-\frac{1}{2} Q^T \vartheta Q \le 0\), By adjusting the neural network parameters such that \(\varepsilon \rightarrow 0\), \(\dot{V}_2 \le 0\) can be obtained. Therefore, the system is stable in the Lyapunov sense. The proof of Theorem 2 is finished.\(\square\)

Numerical and experimental results

Numerical results

To verify the effectiveness and superiority of the designed algorithm, simulation experiments are carried out in MATLAB/Simulink. The physical parameters of the UAV are shown in Table 1. The control parameters are selected as \(\beta _1=60,\beta _2=1200,\beta _3=8000,k_p=5,k_d=8,c=[-1,-0.5,0,0.5,1],b=3,\gamma =1000.\) The RBFNN takes five nodes, two inputs, and one output. The initial states of the UAV are set to \(X_1=[x, y, z]^T=[0,0,0]^T\).

Table 1 The parameter value.

Case 1. The expected spiral time-varying tracking trajectory is

$$\begin{aligned} \left\{ \begin{array}{l} x_d=5 \sin (t / 3) \\ y_d=-5 \sin (t / 3) \cos (t / 3)\\ z_d=0.7 t \end{array}\right. \end{aligned}$$
(35)
Fig. 3
Fig. 3
Full size image

wind disturbances \(d_w\) and payload disturbances \(d_q\) (Case 1).

Fig. 4
Fig. 4
Full size image

The response of trajectory tracking (Case 1).

In the simulation, three other existing methods are used for comparative experiments, one is the linear active disturbance rejection control (LADRC) algorithm in38, the other is the classical sliding mode control (SMC) method, and the other is model-free based terminal SMC (MFTSMC) algorithm in39. In the simulation process, there exists no external disturbance between 0 and 20 s. As shown in Fig. 3, after t=20s, white noise \(d_{w i}(i=1,2,3)\) with a peak value of 5 is added to simulate wind disturbances with random direction and speed, and \(d_{q1}=-1.6\sin \mathrm {(}0.1t)+0.8\sin \mathrm {(}0.44t) \textrm{m}/\textrm{s}^2, d_{q2}=1.5\sin \mathrm {(}0.4t)+1.5\cos \mathrm {(}0.7t) \textrm{m}/\textrm{s}^2, d_{q3}=\cos \mathrm {(}0.7t) \textrm{m}/\textrm{s}^2\) are added to simulate payload disturbances with periodic characteristics.

Fig. 5
Fig. 5
Full size image

Response of trajectory tracking control (Case 1).

Fig. 6
Fig. 6
Full size image

Control torques (Case 1).

Figures 4 and 5 show the trajectory tracking results. Figure 6 gives the control signal curve. It can be seen that the four control algorithms can generally enable the UAV track the desired reference trajectory. Due to the existence of multiple disturbances (composed of wind disturbances and payload disturbances), the other three control methods can only rely on their own robustness for passive disturbance rejection, resulting in relatively poor steady-state performance. However, this paper uses the ESO to estimate disturbances, thereby performing feedforward compensation at control law to achieve active disturbance rejection. In addition, it combines adaptive neural network method to form composite disturbance rejection, which improves the robustness of the system. Then, the control performance of four algorithms is quantitatively analyzed. Table 2 shows the Root Mean Square Error (RMSE) of four control methods, from which it can be seen that designed control algorithm has better tracking effect than the other three.

Table 2 RMSE tracking errors(Case 1).
Fig. 7
Fig. 7
Full size image

wind disturbances \(d_w\) and payload disturbances \(d_q\) (Case 2).

Fig. 8
Fig. 8
Full size image

The response of trajectory tracking (Case 2).

Fig. 9
Fig. 9
Full size image

Response of trajectory tracking control (Case 2).

Fig. 10
Fig. 10
Full size image

Control torques (Case 2).

Case 2. The cylindrical spiral reference trajectory is denoted as: \(x_d=5 \sin (t / 3)\); \(y_d=5 \cos (t / 3)\); \(z_d=0.8 t\).The UAV is subjected to random wind and load disturbances after \(t=25 \mathrm {~s}\). As shown in Fig. 7, external wind disturbance is simulated using white noise \(d_{w i}(i=1,2,3)\) with a peak value of 5. dq1 = \(-1.5 \sin (0.2 t)+0.7 \cos (0.6 t) \textrm{m} / \textrm{s}^2\), dq2 = \(2 \sin ( t) \textrm{m} / \textrm{s}^2\), dq3 = \(2\cos (0.3 t) \textrm{m} / \textrm{s}^2\) are is used to simulate payload disturbances.

Figures 8 and 9 give the trajectory tracking results. Figure 10 shows the control signal curve. Table 3 gives the RMSE of several control strategies. From the above results, it can be seen that the proposed method has the better tracking performance and can track time-varying trajectory under multiple disturbances composed of wind and payload.

Compared to fixed points, the cylindrical spiral reference trajectory is relatively more difficult for the quadrotor UAV to track. From the Fig. 9, it can be seen that although the UAV is subject to random wind and payload disturbances during flight, the trajectory curve of the UAV is relatively smooth and the fluctuations are small under the proposed control scheme, and the flight trajectory curves of the UAV under the other three methods have significant fluctuations. The active disturbance rejection control scheme proposed in this paper utilizes ESO to estimate and compensate for disturbances, while the other three methods use their own robustness for passive disturbance rejection control with a certain time lag.

Table 3 RMSE tracking errors(Case 2).
Fig. 11
Fig. 11
Full size image

The response of trajectory tracking(Case 3).

Fig. 12
Fig. 12
Full size image

Response of trajectory tracking control(Case 3).

Case 3. On the basis of Case2, the initial states of the UAV are reset to \(X_1=[x, y, z]^T=[1,1,1]^T\), and the adaptive fractional-order control (ADFOC) algorithm in40 is added for comparative experiments. Figures 11 and 12 give the trajectory tracking results. Figure 13 shows the attitude tracking curve. It can be seen that even if the initial state of the UAV changes, the UAV subjected to multiple disturbances can still quickly track the desired trajectory and achieve better control performance.

Fig. 13
Fig. 13
Full size image

Attitude tracking performances (Case 3).

Experimental results

This section conducts flight experiments on UAV under wind and payload disturbances. Figure 14 shows the experimental platform for the flight test. The motion capture system can acquire position information of UAV in real time,

Fig. 14
Fig. 14
Full size image

Experimental testbed.

industrial fan is used to apply wind disturbance to the UAV, and a 200g water bottle is suspended under the quadrotor body as payload disturbance. The expected trajectory of the UAV is set to \(X_d=\left[ x_d, y_d, z_d\right] ^T=\left[ 0, 0, 1\right] ^T\). Figure 15 shows the experimental process. The UAV suffers wind disturbance and payload disturbance during the whole flight process, and the wind speed is sustained at 4m/s according to the anemometer. Figure 16 shows the tracking results with the average tracking errors in XYZ directions are 0.04m, 0.06 and 0.02m. The tracking error values are relatively small, and the UAV can still achieve better tracking performance even when subjected to wind and payload disturbances simultaneously. The overall trajectory curves are relatively stable without significant fluctuations, indicating the effectiveness of the designed method. The control signal curves in Fig. 17 exhibit a slight high-frequency oscillation and are generally stable, which is acceptable and executable for practical actuators.

Fig. 15
Fig. 15
Full size image

Experimental process.

Before the UAV takes off, two industrial fans blow air onto the UAV. In addition, due to a water bottle hanging below the UAV body, the UAV is simultaneously affected by external wind and payload disturbances. The UAV continuously climbs up to the desired height, and then manually adjusts the payload suspended below the body to apply random unknown disturbances to the UAV. The observer designed in this paper estimates multiple disturbances and compensates for the estimated values in the controller. From the Fig. 16, it can be seen that the flight trajectory curve of the UAV is relatively smooth and does not show significant fluctuations,indicating that the anti-disturbance control framework proposed has the better practical effects.

Fig. 16
Fig. 16
Full size image

Trajectory tracking performances.

Fig. 17
Fig. 17
Full size image

Time responses of control inputs.

Conclusion

This paper investigates the trajectory tracking issue of UAV under multiple disturbances composed of wind and payload disturbances. A composite anti-disturbance control framework is designed using ESO and neural network, and the stability of system is analyzed utilizing Lyapunov method. The superiority of the developed control strategy is verified by numerical simulation and actual flight test, and the effective combination of theory and engineering is completed. In future work, it can be extended to multi-UAV cooperative control system. Alternatively, the fault-tolerant control in the case of actuator fault is further studied.