A generalized proportional integral observer–based robust tracking design approach for quadrotor unmanned aerial vehicle

This article mainly studies the trajectory tracking control for quadrotor unmanned aerial vehicle with unknown time-varying disturbances including parametric uncertainties, model errors, and external disturbances such as wind effects. Conventional backstepping control schemes usually cannot guarantee the performance when it faces the time-varying disturbances. Improved schemes, such as integral backstepping, can only compensate the disturbances in a relatively slow way. By introducing disturbance observer technology into the design of controller, a composite generalized proportional integral observer–based robust control design method is developed. First, by utilizing the generalized proportional integral observer, the lumped time-varying disturbances of unmanned aerial vehicle are estimated. Secondly, combining the value of disturbance estimation and feedforward controller by using backstepping control technology together, a composite controller has been developed, which can be called as backstepping control + generalized proportional integral observer. The proposed control method has a better capability of disturbance rejection and is easy to implement. Simulation and experimental results illustrate the good robustness and tracking performance of the proposed scheme.


Introduction
In recent years, there are growing concerns about quadrotor drone with the expanding scope of application. 1 Compared with traditional fixed wing aircrafts, the quadrotor unmanned aerial vehicle (UAV) has distinct advantages, that is, simple mechanical structure, agile maneuverability and capability of vertical takeoff and landing, and so on. The quadrotors have good mobilities, which are useful for rescue work where people in danger environment, especially in cluttered or complicated space. These distinguishing advantages allow the quadrotor UAV to be broadly used in military fields and civil industries, such as filmmaking, traffic monitoring, environmental surveillance, and searching and rescue operations. 2 In these complex tasks, the performance of quadrotor UAV largely lies in the design of flight controller. With the expanding application, great effort of researchers is devoted to the controller design of quadrotor UAV. Various control methods have been reported in the literature. 3 The proportional integral derivative (PID) control has been very widely used in quadrotor control, 4 mainly because the designed controller is simple and easy to implement. However, due to the linear characteristics, which limited the control precision, PID cannot guarantee the increasing demand for tracking accuracy. With the development of microelectronic technology, it allowed various advanced nonlinear control algorithms being used in quadrotor control, such as sliding mode controller, 5 backstepping controller, 6 and model predictive controller. 7 Later, for the purpose of enhancing the robustness of quadrotor UAV system, many advanced control theories were proposed for the quadrotor UAV design, such as methods based on hierarchy theory 8 and Lyapunov function. 9 The effectiveness of the methods mentioned above is proven theoretically and experimentally.
In addition, model mismatches and external disturbances, like rotor damages, payloads, and winds, are not considered in the controller design of the proposed schemes mentioned above, which obviously degraded the performance of the flight controllers. 10 Considering the effect of model errors, external disturbances, and parametric uncertainties, feedforward compensation design of those disturbances can be proved an efficient method. Nevertheless, it is unrealistic to measure all these disturbances because of the complexity and cost. Under these circumstances, the disturbance observer technique can be regarded as an alternative. Some disturbance observer-based control schemes have been used in the quadrotor UAV in recent years. 11 An extended state observer (ESO) is developed to estimate the lumped disturbance, which includes the uncertainties and external disturbances of quadrotor UAV control. 12 The effects of the disturbance can be estimated and compensated by feedforward in real time, and the results demonstrated a better immunity to disturbance. Considering the problems of parameter variations and noise in quadrotor UAV system, a sliding model observer has been proposed by Madani and Benallegue. 13 However, the abovementioned disturbance observer methods mainly focus on slow-varying disturbances. In real applications, the disturbances in UAV may be caused by winds, friction, and model errors, which are very complicated and better to be expressed in time series polynomial forms. The generalized proportional integral observer (GPIO) can observe not only the slow-varying disturbances but also the timevarying ones. 14 To sum up, a GPIO-based robust tracking design scheme is proposed in this article for quadrotor UAV system in the presence of unknown time-varying disturbances including parametric uncertainties, external disturbances, and model errors. The composite controller is composed of two parts.
One is the GPIO, which is designed to observe the lumped time-varying disturbances. Another is backstepping controller, the disturbance estimated value is utilized to compensate the lumping disturbances in the process of backstepping controller design.
The noteworthy characteristics of this article are listed as follows: (1) The proposed GPIO-based controller can deal with not only constant disturbance but also lumped time-varying disturbances of quadrotor UAV system, such as the parametric uncertainties, model errors, and external disturbances. (2) The proposed GPIO-based controller can estimate velocities of the UAV. Compared with the velocity obtained by differentiation, the observed velocity is less affected by measurement noise.
The remainder of this article is arranged as follows. The mathematical model of quadrotor UAV is given in detail in the second section. A detail design procession of composite controller is introduced in the third section. In the fourth section, the validity and feasibility of the proposed methods against time-varying disturbances are demonstrated by simulation and experimental results. The final section of the article is conclusion.

Mathematical model of quadrotor UAV
Two main reference frames are considered in this article, which can be found in Figure 1. 15 One is the body coordinate system O xyz , and the second is the ground coordinate system O e x e y e z . The mathematical model of quadrotor UAV system can be obtained under some specific assumptions. 16,17 Dynamic model where m denotes the quadrotor mass, T is the thrust force generated by the four rotors given by T ¼ Þis the lift generated by the ith rotor in the free air, t is the rotational torque, and J is the vehicle inertia matrix. v and ! are the linear velocity and angular velocity of the UAV, respectively.
The transformation between the ground coordinate system and the body coordinate system can be implemented through coordinate transformation matrix. Therefore, in the ground coordinate system, the vehicle dynamic model can be described as where r ¼ ½x; y; z T and v ¼ ½_ x; _ y; _ z T denote the position vector and the velocity vector in the ground coordinate system, respectively. g is the gravity acceleration and d T ¼ ½d 4 ; d 5 ; d 6 denotes the compound disturbances, which include modeling dynamic error, internal uncertainty, and external disturbance. e 3 ¼ ½0 ; 0 ; 1 T is the unit vector in the ground coordinate system and R is the body coordinates to the ground coordinate system transformation matrix expressed as

Kinematics model
The conversion relations between the attitude angle and the flying round the body axis angular rate can be described as where q ¼ ½'; q; is the Euler angle vector and

State space model of quadrotor
First, define where ' is the roll angle, q is the pitch angle, and is the yaw angle. Ignoring the effects of aerodynamics, and regarding the x, y, z motions as outcome of pitch, roll, or yaw rotations, the full quadrotor dynamic model can be written as ð1Þ: : : : : : where U x ¼ Àsinx 3 and U y ¼ Àsinx 1 cosx 3 . The inputs of the system posed on U 1 , U 2 , U 3 , and U 4 . Here, the variable u x and u y can be seen as a virtual command to achieve the desired x À y translational motion. 18

Feedforward compensation based on GPIO
In the quadrotor UAV system, the disturbances including model errors, parametric uncertainties, and external disturbances are time-varying. According to Taylor polynomial, it can be written as follows 19 To enhance the disturbance rejection ability, a feedforward approach is added. According to the system (5) ð1Þ: the GPIO can be designed as follows where w 1 , w 2 , w 3 , and w 4 are the estimations of x 1 , x 2 , d 1 , and _ d 1 , define w 1 asd 1 . r 1 , r 2 , r 3 , and r 4 are observer gains, which can be calculated through configuring the poles of the observer 20 Using the similar steps, we can obtain the estimated value of d 2 , d 3 , d 4 , d 5 , and d 6 , and define them asd 2 ,d 3 , d 4 ,d 5 , andd 6 . Remark 1. The main advantages of the GPIO are that (1) it has a higher observation accuracy in the existence of timevarying disturbances and (2) it does not depend on the model parameters, only the information of the input, output, and system order should be known. Hence, the transmit performances can be improved by introducing the estimated value ! 3 t ð Þ.

The design of composite control
In the strict feedback form, backstepping control (BSC) technique can stabilize the system by a recursive method. The recursive procedure often included two steps: (1) choosing an appropriate Lyapunov function and (2) designing the part of feedback control. By introducing the virtual control variable, it could design the satisfied virtual control step by step, and the real control output can be obtained in the final step [13].

BSC for the rotational motion.
For differential equation (7), the first step we consider the tracking error and using the Lyapunov theorem by considering the Lyapunov function z 1 positive definite and its time derivative negative semi-definite The stability of z 1 can be obtained by introducing a virtual control input a 1 , make ; ðk 1 > 0Þ and let us proceed to a variable change by making Choose Lyapunov function as and its time derivative So it can be conducted that U 2 should be to make Using the similar steps above to find U 3 and U 4 where z 3 ¼ x 3r À x 3 , z 4 ¼ x 3 À a 2 and a 2 ¼ k 3 z 3 þ _ x 3r ; ðk 3 > 0Þ. And where z 5 ¼ x 5r À x 5 , z 6 ¼ x 5 À a 3 and a 3 ¼ k 5 z 5 þ _ x 5r ; ðk 5 > 0Þ.

BSC for the translational motion.
The attitude control U 1 can be deducted by using the similar approach mentioned above where z 11 ¼ x 11r À x 11 , z 12 ¼ x 11 À a 6 , and a 6 ¼ k 11 z 11 þ _ x 11r ; ðk 11 > 0Þ. According to the model (5), the motion of the axes x and y are determined by U 1 . By calculating the Lyapunov function, the U x and U y can be computed as follows where z 7 ¼ x 7r À x 7 , z 8 ¼ x 7 À a 4 , and a 4 ¼ k 7 z 7 þ _ x 7r ; ðk 7 > 0Þ, and where z 9 ¼ x 9r À x 9 , z 10 ¼ x 9 À a 5 , and a 5 ¼ k 9 z 9 þ _ x 9r ; ðk 9 > 0Þ. For a similar process of stability analysis, the readers can refer to the study of Wang et al. 21 The control principle diagram of BSC law based on the GPIO can be seen in Figure 2.
The stability analysis of the controller is input-to-state stable (ISS) if there exist a class KL function b and a class K function g such that for any initial state x t 0 ð Þ and any bounded input uðtÞ the solution xðtÞ exists for all t ! t 0 and satisfies 15 . Let V : ½0; 1Þ Â R n ! R be a continuously differentiable function such that 8ðt; x; uÞ 2 ½0; 1Â R n Â R a 1 ðk x kÞ V ðt; xÞ a 2 ðk x kÞ @V @t þ @V @x f ðt; x; uÞ ÀW 3 ðxÞ; 8 k x k! rðk u kÞ > 0 where a 1 ; a 2 and class K functions, r a class K function, and W 3 ðxÞ a continuous positive definite function on R n . Then system (17) is ISS with g ¼ a À1 1 a 2 r. Theorem 1. If the quadrotor UAV system (7) satisfies Assumption 1 and the control law u is chosen as (17), then the disturbances of quadrotor UAV system (7) can be removed from the output channel in the steady state under the proposed GPIO-based BSC (17), on the condition that the observer parameters in (8) are properly selected such that A e is Hurwitz matrix.
Proof. For the quadrotor UAV system, the state estimation errors are defined as Taking the derivative of (20) and combining it with (10) and (7) together, the observation error dynamics can be expressed as follows : The characteristic polynomial of the observer error dynamics is then derived and given by By selecting all the parameters in PðsÞ such that make the matrix A e a Hurwitz matrix, then by Assumption 1 and noting that lim t!1 d ðnÀ2Þ ðtÞ ¼ 0, according to Lemma 3, it can be concluded that the observer error e for the GPIO is asymptotically stable for the disturbances dðtÞ, which implies lim t!1 e d ¼ 0 it is easy to get the following equation where k 1 > 0 and k 2 > 0 are the controller gains to be designed, and e d ¼ dðtÞ Àd ðtÞ.
It is easy to conduct that system (24) is asymptotically stable. And for system (19), the Lyapunov function of the system can be chosen as follows When k h k! je d j jj kAkc , we can get _ V h Àð1 À cÞh T Ah From Lemma 2, it is clear that system (24) is ISS. Meanwhile, the observation error e d of the GPIO is asymptotically stable for disturbances dðtÞ. According to Lemma 3, system (5) is asymptotically stable. This completes the proof.

Simulation and experimental results
In order to validate the proposed control algorithm, BSC, BSC þ ESO, and BSC þ GPIO are examined by both numerical simulations and experiment in the presence of time-varying disturbances. List of the values used as model parameters are listed in Table 1. Parameters similar to the real quadrotor are selected to make a realistic model.

Simulation results
The controller parameters are as follows: k 1 ¼ 10, k 2 ¼ 12, k 3 ¼ 6, k 4 ¼ 3, and the observer gain r ¼ 50. The initial position, the initial velocity, the initial attitude angle, and the initial attitude rate are all equal to zero (½x; y; z T ¼ ½0; 0; 0 T , ½_ x; _ y; _ z T ¼ ½0; 0; 0 T , ½'; q; T ¼ ½0; 0; 0 T , and ½ _ '; _ q; T ¼ ½0; 0; 0 T ). The time-varying unknown disturbances adding to the system are chosen as In simulations, a spiral trajectory example is exhibited. The desired trajectory is  It can be seen from Figures 3 to 5, under the circumstance of existing time-varying disturbances, the proposed controller can drive the quadrotor UAV tracking the desired trajectory fast and accurately, which cannot be achieved by the backstepping controller. According to Figures 6 to 8, in contrast to BSC, steady-state error of GPIO-based BSC is smaller and the convergence rate is faster.

Experimental platform
Mechanical components. In consideration of durability, the body of this quadrotor uses carbon fiber as its structural material because of its high strength and light quality. Balance capacity is provided by its 500 mm diagonal axis, APC 12 Â 3.8 propellers and Langyu Model Co., Ltd's SUNNYSKY-X4110S motors. In addition, rubber rings offering shock absorption are used to fix the autopilot to the body, in order to achieve a better balance.
Electrical components. TDK Group Company's MPU9250 made up of a 3-axis accelerometer, a 3-axis gyro, a 3axis magnetometer, and an extra digital-out temperature sensor is used for pose estimation. MPU9250 provides a 16-bit high-resolution ADC for each axis, two modes of communication (I2C and SPI), and one embedded digital motion processor. Consequently, MPU9250 is a best choice. NEO-M8N is a GPS used to access location information.
Meanwhile, optical flow sensor and ultrasonic sensor are selected to calculate body attitude and avoid obstacles. A BeagleBone Blue (BBB) board which is a Linuxbased computer for robotics is used as the controller of the quadrotor. The BBB integrates onto a single board the OSD3358 microprocessor, together with Wi-Fi/Bluetooth, IMU/barometer, power regulation, and so on. Moreover, remote commands are received by a 6-Channel RC receiver. Wi-Fi module also can transmit remote commands and data including sensor and camera.
Pose estimation. The body attitude of the quadrotor is estimated according to filtered data of MPU9250. Digital data collected from MPU9250 are fed to a sliding mean filter to eliminate periodic interference and get high smoothness with a small amount of CPU time.
Controller software. The flight controller software based on RT-Linux consists of periodic tasks including collecting and handling sensor data and calculating and outputting control. A ground station can be installed on client computer to view flight data, send commands, and design air line. The experimental platform is shown in Figure 9.
The real-time results with the control law of BSC þ GPIO and BSC are shown in Figures 10 to 12. Figure 10 presents the sinusoid trajectory tracking curves of x-axis and tracking error under proportional   derivative (PD) controller and GPIO method. Compared with tracking error of BSC (0.6 m), it can be found that the proposed BSC þ GPIO algorithm has a higher tracking accuracy (0.2 m). Figure 11 presents the sinusoid trajectory tracking curves of y-axis and tracking error under PD controller and GPIO method. Compared with tracking error of BSC (0.4 m), it can be found that the proposed BSC þ GPIO algorithm has a higher tracking accuracy (0.2 m). Figure 12 presents the sinusoid trajectory tracking curves of z-axis and tracking error under PD controller and GPIO method. Compared with tracking error of BSC (0.15 m), it can be found that the proposed BSC þ GPIO algorithm has a higher tracking accuracy (0.08 m). From the experimental results, the lumped time-varying disturbances are compensated by the GPIO rapidly. Hence, the position of oscillations and trajectory tracking error using BSC þ GPIO are less than the ones using BSC.
According to the above results, it can be concluded that the proposed control algorithm can effectively suppress the lumped time-varying disturbances and provide better trajectory tracking performances.

Conclusion
In this article, a robust tracking design method for quadrotor UAV has been proposed to enhance the ability of disturbance rejection in case of multiple sources of timevarying disturbances. Firstly, a GPIO is introduced to observe the lumped time-varying disturbance, and a corresponding disturbance feedforward compensation part has been designed. Secondly, a BSC technique is applied in the feedback design. The proposed method can be seen as a composition of BSC and GPIO. Compared with BSC, the proposed method has greatly improved the tracking performance and the robustness against multiple sources of timevarying disturbances by both simulation and experiment.

Declaration of conflicting interests
The author(s) declared the following potential conflicts of interest with respect to the research, authorship, and/or publication of this article: The authors declare that they have no financial and personal relationships with other people or organizations that can inappropriately influence their work. There is no professional or other personal interest of any nature or kind in any product, service, and/or company that could be construed as influencing the position presented in, or the review of, the manuscript entitled "a generalized proportional integral observer-based robust tracking design approach for quadrotor unmanned aerial vehicle."