Adaptive sliding mode disturbance observer–based funnel trajectory tracking control of quadrotor with external disturbances

This paper studies trajectory tracking control problem of quadrotor in the presence of external disturbances. A new control scheme integrating adaptive sliding mode disturbance observer (ASMDO) with backstepping funnel control is designed in both position loop and attitude loop. Adaptive sliding mode disturbance observer is utilized to estimate and compensate the external disturbances of quadrotor system, which relaxed the upper bound requirement in conventional sliding mode disturbance observer (SMDO) whilst adapting the gain of discontinuous term to a level as small as possible for consideration of chattering mitigation. The modiﬁed funnel function not only guarantees the dynamic quality in the tracking process but also avoids derivative operation of Euclidian norm of tracking error in the backstepping design. To guarantee stabilization of closed-loop system, Lyapunov stability criterion is utilized in the overall controller design process. Finally, the effectiveness and superiority of the proposed scheme are illustrated by simulation results.


INTRODUCTION
In the past decade, quadrotor has gained extensive attention in the aircraft enthusiasts and research groups due to its distinctive features and wide range of potential applications, such as anti-terrorism, rescue, power plant inspection, plant protection and so forth [1][2][3][4][5][6]. In addition, for the more complicated missions (e.g. cooperative transportation [7]), formation of quadrotor is considered to be an effective way and fruitful results [8][9][10][11] in multi-agent system can be borrowed for references. Among these application scenarios, trajectory tracking control is the basis of all desired tasks. However, quadrotor is in nature of an underactuated, that is, fewer actuators than the degree-of-freedom, high non-linear and strong coupled system, which brings difficulties to the design of high-performance flight controller. To address this problem, the hierarchical control structure is an effective method for it [12] and has been widely adopted in the existing relevant literatures [12][13][14][15][16][17][18][19]. It is worth noting that a common feature among the aforementioned works is that only the system stability and steady-state performance are investigated, and the transition performance cannot be prescribed analytically, which plays a significant part in the control process since, for example, high overshoot of state variables tracking errors may cause system divergence. Therefore, it is better to introduce a control strategy to obtain a good transition performance. Recently, a new prescribed performance control (PPC) approach is originally studied in [20], which can be applied to ensure the transition and steady-state performance of output tracking errors and applications have been reported in many control systems, such as quadrotors [21][22][23][24], robotics [25,26], multi-agent systems [27,28] and switched non-linear systems [29,30]. However, as pointed out in [31], because of the introducing inverse transformation function in PPC, considerable complex function and partial differential terms are included in the controller, which adds difficulties in implementation and application. Moreover, this method may suffer from singularity for a certain prescribed performance condition. In another line, funnel control can also be utilized to improve the transition performance of control systems, and as comparison made in [31], funnel control is simpler and more effective than PPC. Several applications based on this method have been developed in [32][33][34][35][36]. To address the problem of unknown dead zone in robotic manipulator systems while guaranteeing the transient behaviour of tracking error, a backstepping funnel control is proposed in [32], where the dead zone is represented as a linear time-varying system and the bound of input dead zone is not required. Different from [32], the neural network-based funnel controller is proposed in [33], in which neural network is utilized to estimate the non-linear dead zone. In [34], funnel control is applied to ensure the transient and steady-state performance of velocity and altitude tracking for air-breathing hypersonic vehicles. For the motion control of non-linear servomechanisms, observers-based funnel control strategies are developed in [35,36] to achieve prescribed tracking performance. In these applications, all of modified funnel variables are based on the vertical distance between funnel boundary and Euclidian norm of error, which leads to the derivative operation of Euclidian norm of error occurs in the controller design process. However, as a matter of fact, when the error varies from positive to negative or negative to positive, the Euclidian norm of error is not differentiable at origin. Thereby, the designed controller cannot work normally in this case. This is the fatal drawback of the modified funnel error variable in the above literature. Thus, to remedy this defect, a new funnel error variable is proposed here.
On the other hand, the unmeasured external disturbances are unavoidable in practical flight surroundings of quadrotor, which would reduce control performance and even cause instability of system. To weaken the influence of these disturbances, sliding mode disturbance observer (SMDO), appealing for its robustness, has been developed in [37][38][39]. However, the main obstacles for application of SMDO lie in two aspects. One is the requirement of knowledge of disturbances, the other is larger chattering phenomenon induced by designed/selected conservative gain. In light of these constraints, as one of advantages in suppressing chattering phenomenon, [40][41][42] proposed second-order sliding mode-based controllers/observers. Besides, efforts with gain-adaption scheme have been done in [37,38,43]. However, in deep view of these adaption methods, none of them adapt to a level where they are as small as possible and yet the sustained sliding is guaranteed. Recently, an attempt to release the requirement of knowledge of disturbances and reduce the gain as much as possible to mitigate chattering phenomenon has been performed in [44]. However, the convergence of a sliding variable cannot be ensured in theory since there is no quantitative connection between the socalled equivalent control and disturbances outside the sliding surface. Thus, inspired by [43], a combined adaptive scheme is proposed, which not only guarantees convergence of sliding variable but also overcomes the main obstacles existing in conventional SMDO.
In view of the above discussions, two important improvements in funnel control and SMDO are made here and employed in the trajectory tracking control of quadrotor system with external disturbances. First, to promote the transition and steady-state performance of tracking error, a new funnel variable is adopted to avoid the derivative operation of Euclidian norm of error that occurs in the controller design process. Thereby, it is more suitable for application. Then, to estimate and compensate external disturbances, gain-adaption scheme is adopted in SMDO. Different from existing methods in references, this scheme does not require the knowledge of disturbances and reduces the gain of the discontinuous term as much as possible to achieve chattering mitigation. By utilizing hierarchical structure and backstepping technique, funnel control and SMDO are unified in the same framework, which markedly fulfill the task of trajectory tracking of quadrotor with external disturbances. This paper is organized as follows: In Section 2, the mathematical model with external disturbances is derived for the quadrotor. The brief introduction of funnel control is presented in Section 3. The explanation of adaptive sliding mode disturbance observer (ASMDO) is provided in Section 4. The detailed controller design procedures is arranged in Section 5. In Section 6, simulation results and analysis are presented and the conclusions are drawn in Section 7.

DYNAMIC MODELLING
The sketch of the quadrotor system is shown in Figure 1. In order to establish the mathematical model of quadrotor, two possible coordinate frames, inertial coordinate and body coordinate frames, are adopted here, because the appropriate choice of the coordinate system is very important in describing the space motion of quadrotor. For example, it is more convenient to express the gravity of the flight vehicle in the inertial coordinate system. To illustrate the lift acting on the quadrotor, the body coordinate frame is more suitable. As shown in Figure 1, where R and W , presented as formula (2) and (3), are the translational and rotational velocity transformation matrices between inertial coordinate frame E and body fixed frame B, respectively.
where C * , S * and T * in matrices R and W are shorthand for cos( * ), sin( * ) and tan( * ), respectively. Dynamics of quadrotor system, by using Newton-Euler equation, with external disturbances can be expressed in the body fixed frame as: where m is the mass of quadrotor. F b is the resultant force produced by rotors and F ext = {d x , d y , d z } are the external disturbance forces expressed in body fixed frame.
is the symmetric positive define inertia matrix with J x , J y and J z which represent the rotational inertia around coordinate axes of is the torque generated by rotors, where Ω j , j = f , b, l , r represent the rotary speed of the front, backward, left and right rotors, respectively; d , l , respectively, represent the drag coefficient and the distance from one of the rotors to the centre mass of the quadrotor; b denotes the thrust coefficient. ext = {d , d , d } are the external time varying disturbances torque.

Assumption 1.
The external disturbances d i and its first derivativeḋ i for any i ∈ {x, y, z, , , } are bounded with unknown upper bounds L 1i , i ∈ {x, y, z} and L 2i , i ∈ { , , }, respectively Remark 1. Although the disturbances quadrotor UAV encountered in the external environment are diverse in sources and forms, wind disturbance is considered as the most common and major factor in the fight surroundings [45][46][47][48]. Generally, the wind flow acting on the quadrotor can be decoupled into parallel to and perpendicular to the fuselage, respectively. The parallel wind flow push quadrotor away from the desired trajectory and the perpendicular wind flow rotate quadrotor away from desired attitude angles. Thus, wind disturbance can be described as force disturbance d x , d y , d z and torque disturbance d , d , d , which, similar as [21,49], are assumed to be bounded by unknown constants L 1i , i ∈ {x, y, z} and L 2i , i ∈ { , , }, respectively.
Therefore, as in [4] and according to (2)-(5), the mathematical model of quadrotor can be described by the following equation Transfer Equation (6) to the state space expression aṡ where X p = [x y z] T and X a = [ ] T are the position and attitude vectors, respectively.
, and u x , u y , u z are the virtual control inputs given by u x = (cos sin cos + sin sin ) u 1 m , This transformation will be convenient in the design of ASMDO. In the next section, the brief introduction of funnel control is presented.

FUNNEL CONTROL
The key idea of funnel control is to enforce the tracking error evolves inside the funnel formed by the two boundaries which are characterized by the reciprocal of an arbitrarily chosen bounded, continuous and function (t ) and shown in Figure 2. Accordingly, funnel is defined as the set where ‖e(t )‖ is the Euclidian norm of tracking error. In light of references [31,35], a proper boundary function F (t ) can be selected as F (t ) = ( 0 − ∞ ) ⋅ e − t + ∞ with strict positive constants 0 , ∞ and . The constant 0 is selected such that e(0) < 0 holds at initial condition. ∞ is the maximum allowable size of e(t ) at steady state and represents the lower bound of required convergent speed of e(t ). However, as stated in [50,51], the application of funnel control is limited in the control system of class S with relative degree r = 1 or 2. To release this limitation, in [31, 35 50, 51], a modified funnel variable is proposed as Nevertheless, such funnel variable may possibly suffer from the non-differentiable problem in the controller design process since the Euclidian norm of error is included. To this end, an improvement funnel variable = [ 1 (t ) 2 (t ) ⋅ ⋅ ⋅ n (t )] T is proposed, as (10), here to get rid of such trouble, and this funnel variable will be utilized in the controller design.

ASMDO
To design the ASMDO to estimate the external disturbances, the auxiliary sliding variables are introduced as: where s i are the linear velocity and angular velocity variables of quadrotor anḋs is an adaptive gain which is designed as follows. Therefore, the derivative of i iṡi For simplicity, the subscript i is omitted in the following theorem.

Theorem 1. If the adaptive gain k(t ) is changed by the following scheme
• Outside the sliding surface, k(t ) is the solution oḟ with k 1 > 0 and k(0) > 0. • In sliding phase, k(t ) is changed by the following algorithṁ where 0 < < 1, l 0 , , , are designed positive constants and the initial condition of k(t ) in dynamic equation (13) is k(t ) witht is the largest time at which (t ) = 0. Then, the sustained sliding of sliding mode variable is ensured.
Proof. For the sake of simplicity, the key points of the proof are provided, and the details can be referred to references [43] and [44], respectively. Suppose ≠ 0, from dynamics (12) and given that disturbances are bounded, it follows that k(t ) is increasing and there exists a time t 1 such that k(t 1 ) > L 1 . From t = t 1 , the gain k(t ) is large enough to make the sliding variable decreasing, and will converge to zero at time t 2 and k(t 2 ) is a finite time value. Therefore, there exists a positive constantk such thatk > k(t ) for all t ≥ 0. Consider the following Lyapunov candidate function Computing the derivative of V yieldṡ where Π = . Therefore, finite time convergence of is guaranteed from the initial condition | (0)| > 0 and the reaching time can be expressed as t r ≤ 2V (0) 1 2 Π . Suppose now that in the sliding phase, in this case, the dual layer adaptive approach in (13) is activated. Define a new scalar variable (t ) as where 0 < < 1, , depending on 0 and 1 in (16), are chosen to ensure 1 |ū eq | + 2 > |u eq (t )| by the estimate assumption [44] betweenū eq (t ) and u eq (t ) ||ū eq (t )| − |u eq (t )|| < 1 |u eq (t )| + 0 , where u eq is the equivalent control and this quantity can be approximated by low pass filteṙū eq = 1 (−(k(t ) + )sign( ) −ū eq ).
Let r (t ) as where a > 1 such that | d dt |ū eq || < aL 2 . The dynamical system related to the variables (t ) and r (t ) in (15) and (17) is analyzed by the Lyapunov candidate function Computing the derivative of V ( , r ) and combining (15) and (17) yieldṡ SinceV ( , r ) ≤ 0, it follows that both r (t ) and (t ) remain bounded. Consequentlẏ(t ) = −(l 0 + aL 2 − r (t ))sign( (t )) − 1 d dt |ū eq | remains bounded according to the boundness of (t ) and r (t ). Therefore, (t ) is absolutely continuous. From (18), it has where (t ) is absolutely continuous, and from Barbalat's Lemma, (t ) → 0 as t → ∞. Consequently, there exists a finite time t f such that | (t )| ≤ 2 for all time t > t f . From the definition of (t ), it follows and thus Then the sustained sliding of sliding mode variable is ensured. □ Remark 2. The motivation of our proposed scheme is to estimate the external disturbances without the knowledge of disturbances bound (only the boundness feature is known) whilst reducing the amplitude of the gain of discontinuous term as much as possible to mitigate potential larger chattering and make the signal easier to filter. The principle of the algorithm is that the sliding variable can approach and maintain sliding on the sliding manifold. During the sliding motion, =̇= 0 and discontinuous term takes on average value to compensate the disturbances. Therefore, by filtering the discontinuous signal, a good estimation of disturbances can be obtained in real time. The insight view of working process of algorithm would be described as follows. Suppose that the sliding variable ≠ 0 in the initial condition, the adaptive law in (12) is activated and the gain k(t ) will increase to a value large enough to counteract the bounded disturbances until the sliding mode starts. However, in this case, the gain k(t ) is obviously overestimated with respect to the upper bound of disturbances, which will result in larger chattering and harder filtering. Therefore, the second dual layer adaptive algorithm is adopted when the sliding mode variable reaches the sliding surface. This algorithm permits the gain adapt to a level where they are as small as possible and yet guarantee sustained sliding motion of sliding variable, which largely benefits to chattering mitigation and signal filtering.
Remark 3. It is worth noting that a similar adaptive scheme has been proposed in reference [43]. However, as stated in [52], the adaptive algorithm cannot obtain the minimum possible gain value of discontinuous term , which may potentially bring about larger chattering problem. Therefore, different adaption methodology is developed in [52] for searching the minimum possible gain value, but the information of upper bound of disturbance derivative is needed. To relax this condition, the dual layer nested adaptive algorithm is proposed in [44]. However, the convergence of sliding variable cannot be guaranteed by the adaptive algorithm if the initial condition of k(t ) is less than the upper bound of disturbance. Therefore, (12) is needed in reaching phase. That is the reason why these two adaptive algorithms are combined together as an observer to estimate external disturbances.

FLIGHT CONTROLLER DESIGN FOR TRANSLATIONAL MOVEMENT AND ROTATIONAL MOVEMENT
In order to achieve translational movement and rotational movement control of quadrotor in the presence of external disturbances, a double closed-loop backstepping funnel controller combined with ASMDO is designed in this section. Due to underactuated property of quadrotor, it is difficult to control six outputs independently, thus only x d , y d , z d and d are external references signals while d and d are generated by the virtual control inputs in (9). The total thrust u 1 and the desired angles d and d are solved as ) .
In what follows, the detailed controller design process is presented.

Backstepping funnel controller design for translational system
In this subsection, backstepping funnel control combined with ASMDO is developed to achieve position control of quadrotor with external disturbances. The design procedure is presented as follows.
Step 1: By introducing the tracking error e i1 (t ), i ∈ {x, y, z}, e i1 (t ) = Γ id (t ) − Γ i (t ) where Γ id (t ) are the desired signals, Γ i (t ) are corresponding output signals. The funnel variable is defined as i1 (t ) = e i1 (t ) , and the derivative of i1 (t ) iṡ The first candidate Lyapunov function is considered as The derivative of V i1 (t ) with respect to time t yieldṡ , where x i2 (t ) is virtual control input. The stabilization of i1 (t ) can be obtained by introducing the desired virtual control input as ).

Step 2:
The deviation e i2 between virtual control x i2 and its desired value x i2d can be defined by The second funnel variable is defined by .
The second candidate Lyapunov function is considered as Finding the derivative of V i2 (t ) yieldṡ Combining with the ASMDO, the control law can be designed as By substituting u i (t ) into the derivative ofV i2 (t ) yieldṡ After the disturbance observer converges, it haṡ The stability of translational movement is guaranteed. Therefore, i1 (t ) and i2 (t ) are bounded, which implies the errors evolution remain within the designed funnel boundary.

5.2
Backstepping funnel controller design for rotational system Similar to translational movement controller design procedure, the backstepping funnel control combined with ASMDO is also designed for rotational movement. Controllers for rotational movement is presented in the following and the detailed derivative process is omitted for space limitation.
where i ∈ { , , }. Theorem 2. For the quadrotor system (6) with external disturbances, the prescribed translational movement and rotational movement control is achieved by using ASMDO and controller (19) and (20).
Proof. The proof of Theorem 2 can be obtained by the design process of the controller, and the details are not repeated here. □ Remark 4. From the design process of controller, we can see that the controller derivation is easy to carry out, and due to the improvement of the funnel function, there is no derivative operation for the absolute value of tracking error. Moreover, the ASMDO does not need the knowledge of the disturbances and the gain of the discontinuous term can be tuned as small as possible, and Lyapunov stability criterion is applied to ensure stability of closed-loop system in the design process. Therefore, the funnel variables are bounded, which implies the tracking error evolution is constrained within the region bounded by the boundary function, and the prescribed performance control for position and attitude of quadrotor with disturbances is achieved.

NUMERICAL SIMULATIONS
In order to verify the effectiveness of proposed trajectory tracking algorithm, numerical simulations have been performed on quadrotor system with external disturbances. The detailed simulation configurations are stated as follows. Model parameters are given in Table 1 (for details refer to [53]). The reference trajectory is selected as  Table 2 and Table 3, respectively.
To show the superiority of the proposed method, the compared simulation with algorithm in [15] has been done in the same initial condition and presented in Figure 3 to Figure 5. Although the method in [15] can track the desired trajectory quickly, the transition process, that is, tracking error convergence speed and maximum overshoot, cannot be specified in advance. Figure 4 shows the tracking performance in three directions, which results in the trajectory tracking performance in Figure 3. The intuitive tracking error differences between two strategies are presented in Figure 5 which show the advantages of our proposed algorithm.
To restrain the influences of external disturbances, ASMDO is employed in both position and attitude loop. Observer's parameters in both loops are presented in Table 4 and Table 5,    respectively. The estimation results of external disturbances are presented in Figure 6 and Figure 7, which indicate that the external disturbances can be well estimated by the proposed SMDO. Moreover, the evolution of discontinuous gain of sliding mode disturbance with respect to upper bound of disturbance in position and attitude loop are presented in Figure 8 and Figure 9. The dynamic adjustment method not only relaxed the requirement of a priori known disturbance upper bound but reduced    Figure 10 shows the angle tracking performance in attitude 1oop and the corresponding tracking errors remain within the designed funnel shown in Figure 11, which laid a foundation for prescribed position control.

CONCLUSION
A novel control scheme integrating ASMDO with backstepping funnel control is employed in both position loop and attitude loop. ASMDO is utilized to estimate and compensate the external disturbance of quadrotor system while funnel control guarantees the dynamic quality in the tracking process. Simulations demonstrate the effectiveness and superiority of the proposed controller. However, there are also some limitations, such as, the initial condition of e(0) < F (0) should be satisfied in funnel control method. In addition, due to sampling during execution, the crossing boundary may occur when the tracking error and boundary are very close. Thus, discrete algorithm should be further considered. For the disturbance observer, the chattering should only be reduced not eliminated while estimating the disturbance, and for the stochastic disturbances the observer does not work. In the future, these problems will be further considered in our research work.