Trajectory tracking control of a quadrotor UAV based on sliding mode active disturbance rejection control

Abstract. This paper proposes a sliding mode active disturbance rejection control scheme to deal with trajectory tracking control problems for the quadrotor unmanned aerial vehicle (UAV). Firstly, the differential signal of the reference trajectory can be obtained directly by using the tracking differentiator (TD), then the design processes of the controller can be simplified. Secondly, the estimated values of the UAV’s velocities, angular velocities, total disturbance can be acquired by using extended state observer (ESO), and the total disturbance of the system can be compensated in the controller in real time, then the robustness and anti-interference capability of the system can be improved. Finally, the sliding mode controller based on TD and ESO is designed, the stability of the closed-loop system is proved by Lyapunov method. Simulation results show that the control scheme proposed in this paper can make the quadrotor track the desired trajectory quickly and accurately.


Introduction
Quadrotor UAV is an underactuated system, which has some advantages such as vertical takeoff and landing, autonomous hovering, high energy efficiency [13], autonomous control, etc. Quadrotor is widely used in civil and military fields. In the civil field, quadrotor UAV can be used in power inspection, ground monitoring, aerial photography, pesticide spraying. In the military field, because of its high covertness and reliability, it is very suitable for performing battlefield reconnaissance and assessment, target discovery and other military tasks [16]. However, the multivariable, nonlinear, strong coupling and sensitivity to disturbances of the quadrotor UAV system itself make it difficult to control [27].
Air resistance and other external disturbances are also encountered during the flight, so various external interference issues need to be considered when designing the controller. In addition, the dynamic model of the quadrotor UAV is complicated, and some of these aerodynamic parameters are difficult to measure accurately, thus these unknown uncertainties further increase the difficulty of designing the controller for quadrotor UAV. In consequence, trajectory tracking control [11,29] of quadrotor UAV has attracted attentions of the researchers widely.
At present, researchers have done a lot of algorithms for quadrotor UAV, these control algorithms can be divided into linear control algorithms, nonlinear control algorithms and intelligent control algorithms. In [18,28], PID controller is proposed for controlling the quadrotor. In [23], LQR gain adjustment control is used to realize attitude and path tracking control for quadrotor UAV. Backstepping and sliding mode control have been used in quadrotor UAV, which presented in [5,10,19,22]. In [20], robust control scheme is proposed to cope with the trajectory tracking problem for UAV. There are some other control methods for quadrotor UAV such as adaptive control [3,6], predictive control [1], neural network control [8], fault tolerance control [4], etc. But these methods either rely on precise mathematical models or require knowledge of the upper bounds of uncertainties, which are easily influenced by internal uncertainties and unknown disturbances. In [25], an adaptive neural output-feedback controller have been established for a class of uncertain nonlinear systems with unmodeled dynamics and the lack of fullstate measurements. In [30], adaptive fuzzy control scheme have been used for uncertain nonsmooth nonlinear systems. In [26], Robust fuzzy adaptive control strategy is used for a class of nonaffine stochastic nonlinear switched systems. Despite the adaptive neural control or adaptive fuzzy control, the control design process is complicated, programming is difficult, for multivariable and fast response system, is not very suitable. The control method proposed in this paper has fast tracking speed and strong anti-disturbance ability, the control design process is more simplified, the controller has fewer control parameters, this method is more suitable for engineering applications.
Active disturbance rejection control technique [12,14,15] is a new control strategy emerged in the 80s of last century. The ESO is the core of the whole system, which can estimate the total disturbance including internal unknown and external disturbances, and the total disturbance can be compensated by the state error feedback control law. ADRC is a control method that does not depend on accurate system model, it has fast tracking speed, high control precision and strong anti-disturbance ability, it has been widely used in many theoretical researches, experiments and engineering applications. Because the quadrotor UAV is continually affected by external disturbances and model uncertainties, this can destabilize the UAV easily. A better method to handle with these disturbances is ADRC strategy.
In this paper, a sliding mode active disturbance rejection control strategy is proposed to deal with some difficult control problems in the quadrotor unmanned aerial vehicle system such as nonlinearity, strong coupling and sensitive to disturbance. This control method neither depend on precise mathematical models nor require knowledge of the upper bounds of uncertainties, it not only can solve the difficulty of flight control, but also can eliminate the complicated external interference and get good flight performance.
http://www.journals.vu.lt/nonlinear-analysis The main idea is to combine the advantages of sliding mode control method to track the desired trajectory smoothly with the ability of ADRC to reject the model uncertainties and external disturbances. TD is used to obtain the differential signal of the reference trajectory, which can simplify the design processes of the controller. ESO is used to obtain the estimated values of the vehicles velocities, angular velocities, total disturbance, and the total disturbance of the system can be compensated in the controller. Finally, the sliding mode controller based on ADRC is designed, and the stability of the closed-loop system is analyzed by Lyapunov method.
This paper is organized as follows: A typical quadrotor mathematical model is introduced in Section 2. Sliding mode control scheme based on ADRC for quadrotor system is designed in Section 3. Stability of the quadrotor UAV system is proved in Section 4. Results of simulation experiment are illustrated in Section 5. Finally, some concluding remarks are given in Section 6.
, Y e , Z e } is the fixed frame with respect to the earth. Quadrotor UAV is an underactuated system with six degrees of freedom and only four control inputs, and it is also a system with some characteristics such as multivariate, strong coupling, nonlinearity, sensitive to disturbance.
Assume that the quadrotor UAV is a rigid body and the body structure is symmetrical. The mathematical model of the quadrotor UAV system [2,24] can be expressed by the following equations: where x, y, y are positions of the quadrotor, θ is the pitch angle, φ is the roll angle, and ψ is the yaw angle. F 1 , F 2 , F 3 , F 4 are lift forces of the four rotors respectively, and other system parameters are shown in Table 1.
In order to simplify the design procedures and the presentation of the quadrotor flight system, the virtual control variables of the whole system U 1 , U 2 , U 3 , U 4 are introduced Combining (1), (2) and (3), the mathematical model of the quadrotor can be rewritten as Since the position loop has only one control input U 1 , therefore, we can select two intermediate variables θ and φ from the attitude loop to control position loop indirectly.
Solving system (4), we get 3 Control scheme In consideration of the quadrotor dynamic characteristics, it is concluded that the quadrotor system has two loops, and the two loops can be divided into six channels. The altitude z channel and the yaw angle ψ channel are independent channels, the x − θ channels and the y − φ channels are two cascade subsystems. Firstly, the sliding mode controller based on ADRC is applied in the position loop for translational movements. Using the reference trajectory x d , y d , z d , the virtual inputs U x , U y , U z can be obtained, then U 1 , θ d , φ d will be calculated through equations (5), (6), (7), respectively. Then, the same control strategy is used in attitude loop, θ d , φ d , ψ d are used in the rotational subsystem as the Euler angle references. Finally, U 2 , U 3 , U 4 can be obtained to achieve the quadrotor UAV stabilization. The block diagram of the quadrotor UAV control scheme is depicted in Fig. 2.

Tracking differentiator design
Since the quadrotor is an underactuated system, which has four control objectives: altitude z, position x, position y and yaw angel ψ, therefore the TD [25] should be designed for these four channels. Taking the altitude channel as an example, the design algorithm is given by Here v z1 is the tracking signal for z d , and v z2 is the differential signal of v z1 , r is the speed factor, which can determine the convergence speed, and h is the filtering factor, fhan(·) denotes the optimal synthetic rapid control function, which is proposed as fsg(a, d) .

Extended state observer design
In order to compensate the disturbances in the controller and to obtain the velocities and angular velocities of the UAV, let x 1 = x, x 2 =ẋ, x 3 = f 1 , y 1 = y, y 2 =ẏ, y 3 = f 2 , where f i (i = 1, 2, 3, 4, 5, 6) are total disturbances of the each channel, therefore the six channels' ESO of the quadrotor UAV system can be designed as where β 1 , β 2 , β 3 are observer gains, and

Sliding mode controller design
TD can provide the differential signals of the target track. The velocities, angular velocities and the total disturbance of the UAV are come from the ESO. Combining the advantages of the sliding mode control strategy to track the desired trajectory smoothly with the ability of the ADRC to handle with model uncertainties and external disturbances, therefore the sliding mode controller based on TD and ESO can be designed as follows.
The sliding mode function of the quadrotor's six channels can be written as where x d , y d , z d , ψ d are references of the system, θ d , φ d are obtained from equations (6) and (7), respectively. Then the sliding mode control law based on ADRC of the six channels can be designed as where k θ1 > 0, k φ1 > 0, k ψ1 > 0, k x1 > 0, k y1 > 0, k z1 > 0, and where f is the total disturbance, U x = U 1 (cos ψ sin θ cos φ + sin ψ sin φ), the linear extended state observer of equation (9) can be constructed as and L = [β 1 β 2 β 3 ] T are observer gain parameters.

System stability analysis
Assumption 1. The state variables of the quadrotor UAV are measurable and can be used for the sliding mode controller design [9].

Simulation results
The trajectory tracking simulation research of quadrotor UAV system is carried on using MATLAB. In order to illustrate the mobility and the validity of the proposed sliding mode ADRC strategy, a cylindrical spiral as a reference trajectory is used in the simulation, the effectiveness and advantages of the proposed control scheme are presented by comparative performances with the classical active disturbance rejection control.
The results of trajectory tracking are demonstrated in Fig. 3. The simulation results of position control and attitude control are shown in Figs. 4 and 5, respectively. Figure 6 shows the error comparison of the two methods, and Fig. 7 shows the control inputs of the UAV system. In these figures, the black lines represent the reference trajectory, the blue   lines and the red lines represent the responses of the quadrotor UAV in cases of applying the sliding mode ADRC and classical ADRC, respectively. It can be seen from the Fig. 3 that although the initial value of the position is far away from the reference trajectory, the control scheme that proposed in this paper can hold the quadrotor UAV track the cylindrical spiral trajectory instantly and accurately, and the performance of the sliding mode ADRC is better than the classical ADRC. The control strategy proposed in this paper has faster response, higher precision, less overshoot and less errors than classical ADRC. From Fig. 4, there is a higher overshoot in position x response controlled by classical ADRC than the response controlled by sliding mode ADRC, the response speed of the proposed method in position z is faster than the classical ADRC obviously and the tracking errors of the three positions achieved by the proposed controller are lesser than the errors that achieved by classical ADRC.
The ways that the sliding mode ADRC and the classical ADRC make the UAV follow the rotational references are shown in Fig. 5. Although the yaw angle responses of the two methods can track its corresponding desired trajectory rapidly and accurately, but the proposed scheme has better transient performances than classical ADRC, the pitch angle and the roll angle responses from the classical ADRC are more oscillatory at the beginning of the trajectory than the sliding mode ADRC. It can be clearly observed that the variation ranges of pitch angel and roll angel of sliding mode ADRC are more narrow and the adjustment time are shorter than classical ADRC. It is clearly that the errors of the proposed scheme are less than classical ADRC, especially the error x and error y of classical method are much bigger than sliding mode ADRC. From Fig. 6, it can be seen clearly that the performances are improved by sliding mode ADRC. Because there is no sign function in the controller, it can be seen from the Fig. 7 that the control inputs does not appear chattering in the sliding mode ADRC strategy.

Concluding remarks
The sliding mode ADRC scheme is designed for the quadrotor UAV in this paper. The differential signal of the reference trajectory can be obtained directly by using TD, the estimated values of the quadrotor's velocities, angular velocities, total disturbance can be acquired by ESO, and the total disturbance of the system can be compensated in the sliding mode controller.
Combining the sliding mode control and ADRC technique can maximize the advantages of the two control methods. Sliding mode control strategy can hold the quadrotor follow the reference trajectory in a smooth way with the ability of ADRC to reject the model uncertainties and external disturbances.
It can be seen from the simulation results that whether position tracking or angel tracking can follow the reference trajectory quickly and accurately. As can be seen from the comparison with classical ADRC, the performances of the quadrotor have been improved a lot. Therefore, it can be concluded that the control scheme proposed in this paper is an effective control method with strong robustness and anti-disturbance ability.