# Improved Altitude Control Algorithm for Quadcopter Unmanned Aerial Vehicles
## 1 Introduction
### Related Works  
Many applications of quadcopters in the real world have been discussed in recent years. The most widely mentioned topics include autonomous landing on moving platforms [6; 7; 8; 9], precision landing for autonomous docking and wireless self-charging system [10; 11], and autonomous delivery tasks [12; 13; 14]. These applications are all, somehow, based on a reliable altitude controller. Therefore, designing an altitude controller with superior performance is one of the most common and important efforts that researchers all around the world are nowadays undertaking. To that end, several papers have addressed the altitude control problem in the literature. [PERSON] et al. [15] presented an algorithm to accomplish quadcopter trajectory tracking tasks by controlling the altitude through an adaptive dynamic controller that was capable of dealing withuncertainties in model parameters. [PERSON] [16] and [PERSON] et al. [17] used the sliding mode control (SMC) technique to control the horizontal position and attitude while also providing a significant improvement of altitude control. In other studies [18; 19; 20], the second order SMC method was also used to improve quadcopter altitude control performances. Yet another method was presented by [PERSON] et al. [21], where the authors proposed a neural network approach to control UAV altitude dynamics. The results obtained with this method were verified through comparisons with a conventional proportional-integral-derivative (PID) control system. However, these approaches [15; 16; 17; 18; 19; 20; 21] have a common disadvantage in that the SMC technique generates a high chattering control signal method which reduces the lifetime of the entire system. Although several control methods have been proposed in the literature, PID control has become the most widely used technique in a variety of applications all over the world because it is simple and easy to design and typically delivers a satisfactory performance. The PID approach was used in many studies [22; 23; 24; 25; 26; 27; 28] to achieve not only quadcopter altitude control, but also attitude stabilization and horizontal position control. In recent studies [29; 30; 31; 32], the authors proposed the use of a multi-loop control architecture (i.e., inner-loop and outer-loop) to control quadcopters in specific applications. The outer-loop controllers were designed in different ways while the inner-loop controllers were all implemented using the PID control law. Nevertheless, the conventional PID controller has several limitations. First, their fixed gains limit system performance over a wider operational range. When the required range of operation is large, the conventional PID controller is prone instability, because the nonlinearities in the system cannot be properly dealt with. Second, as conventional PIDs are based on a linear model, their performance may suffer in a nonlinear system like a quadcopter. Several studies have attempted to overcome these shortcomings. [PERSON] et al. [33] presented a gain scheduling PID controller which determines the PID gains by linearly adjusting the gain as a function of tracking errors. In another approach [34], the authors used a pickup table to schedule the PID gains in a quadrotor fault tolerant control task. Both methods were able to improve the control performance under different operating conditions. However, it is still a linear control law which means that it may not perform well in non-linear systems. Further, scheduling the gains results in discontinuous transitions which may result in sudden jerks or oscillations. A quadcopter self-tuning fuzzy PID controller where the gains are tuned nonlinearly through fuzzy logic have been proposed to address this problem [35]. [PERSON] et al. [36] introduced a nonlinear PID control to achieve asymptotic system stability under the presence of uncertainties. Another way to cope with the difficulties in control of a nonlinear system is to represent the dynamical system by the Takagi-Sugeno (T-S) fuzzy model [37].