A Review on Comparative Remarks, Performance Evaluation and Improvement Strategies of Quadrotor Controllers

: The quadrotor is an ideal platform for testing control strategies because of its non-linearity and under-actuated conﬁguration, allowing researchers to evaluate and verify control strategies. Several control strategies are used, including Proportional-Integral-Derivative (PID), Linear Quadratic Regulator (LQR), Backstepping, Feedback Linearization Control (FLC), Sliding Mode Control (SMC), and Model Predictive Control (MPC), Neural Network, H-inﬁnity, Fuzzy Logic, and Adaptive Control. However, due to several drawbacks, such as high computation, a large amount of training data, approximation error, and the existence of uncertainty, the commercialization of those control technologies in various industrial applications is currently limited. This paper conducts a thorough analysis of the current literature on the effects of multiple controllers on quadrotors, focusing on two separate approaches: (i) controller hybridization and (ii) controller development. Besides, the limitations of the previous works are discussed, challenges and opportunities to work in this ﬁeld are assessed, and potential research directions are suggested.


Introduction
A quadrotor is an unmanned aerial vehicle (UAV) that manages its operation using cross-configured two pairs of opposite directional rotors. It takes flight by maintaining produced thrust and torque by rotors. The necessary actions can be characterized by the roll, pitch, yaw, and upward-downward thrust for quadrotor movement. However, Autopilot design for autonomous quadrotors is a difficult task that entails several interconnected components [1].
Multifarious applications of quadrotors among civilians and the military draw attention among researchers and practitioners to explore more. The civilian application includes aerial photography, an inspection of industrial pipelines, traffic monitoring, crop monitoring, fire detection, rescue operations, weather forecasting, news coverage, etc., whereas military application incorporates border patrolling, surveillance, and warfare [2].
Quadrotor offers fixed-pitch rotors and Vertical Take-Off Landing (VTOL). However, it is highly challenging to maneuver because the system is under-actuated with four inputs to control six outputs. Different control strategies have been developed to handle the procedure by considering application factors like high agility, smooth maneuverability, outdoor noise, disturbances, and payload.
Several type of quadrotor controller have been introduced by the referenced literature, which includes Proportional-Integral-Derivative (PID), Linear Quadratic Regulator (LQR), Backstepping, Feedback Linearization Control (FLC), Sliding Mode Control (SMC), Model Predictive Control (MPC), Linear Quadratic Gaussian (LQG), Neural Network, H-infinity, Fuzzy Logic, and Adaptive Control. These controllers can be classified into three categories such as linear, nonlinear, and learning-based controller [3][4][5]. For instance, Mahony et al. (2012) provides a primer on modeling, estimation, and control for multirotor aerial vehicles, including the quadrotor configuration [6].  provides a tutorial on platform configuration, modeling techniques, developing a detailed nonlinear model, analyzing aerodynamic effects, and identifying a quadrotor model [7]. However, much literature also introduces another type of controller known as the hybrid controller that includes two or more control strategies.
This study briefly introduces and analyses some commonly used controllers such as PID, LQR, Backstepping, FLC, SMC, MPC, Neural Network, H-infinity, Fuzzy Logic Adaptive Control for a quadrotor. This study's main contribution is a comprehensive discussion that includes the applications and the limitations of the controllers to provide a proper understanding that may help the user choose a suitable one. Moreover, the present study remarkably overcomes several shortcomings of the literature [2,5,[8][9][10][11][12][13] especially in the performance evaluation, challenges and solutions of the controllers to a certain extent on the quadrotor platform based on past studies.

Linear Control Techniques
LQR control, PD or PID control, H∞ algorithm, and gain scheduling are the most commonly and conventionally applied linear control techniques. In the early 1970s, a full-scale helicopter, CH-53A, could achieve waypoints autonomously using a classical linear controller [5].

PID Controller
PID controller can be considered as one of the most widely used feedback controllers for quadrotors [14] because of its simplicity to design and low complexity in implementation on the system. Moreover, it shows high efficiency both in simulation and experimental work on the quadrotor platform. The great advantage of this controller is that it is not mandatory to know the dynamics of the quadrotor properly to design the controller where the trial and error approach for tuning gains of the controller can be sufficient. Studies show that many researchers successfully implemented PID controller on quadrotor platform [15][16][17][18][19][20][21][22][23][24][25][26][27][28]. Interestingly, Ghiglino et al. (2013) developed online self-tuning PID to tackle disturbances, whereas other types of PID perform offline optimization, which often very time-consuming [29]. Figure 1 illustrates a block diagram of a PID controller. The classical PID controller is only applied with the linear model. This controller allows designing the controller according to the desired model performance. However, it becomes more challenging to design a well-performed PID controller when the model is nonlinear. The gain cannot be chosen systematically as the classical PID controller requires.

LQR Control
Linear Quadratic Regulator (LQR) is a type of commonly used optimal linear controller for quadrotor as shown in Figure 2. This controller adopts a cost function minimizing approach, also known as the optimal control method, in order to compute the states of any system. LQR can offer a fast response, and it is easy to design. Referenced literature applied LQR on quadrotor platform in several cases [20,[30][31][32][33][34][35][36][37]. However, in many cases, it was observed that LQR offers steady-state error during tracking [15,38,39]. Therefore, Alsharif et al. (2017) introduces LQI in order to overcome the steady-state error and stabilize the system when the system is affected by noise and uncertainty [40]. LQR also requires a linear model to get an adequately controlled system, and it can handle multiple input and output simultaneously, unlike the PID controller. The main drawback of LQR compared to PID is that it often provides a steady-state error due to the lack of an integral part [41].

H∞
H∞ is a very popular control approach to ensure the robustness of the system among the linear controllers. Researchers prefer to use this control approach when a system includes uncertain parameters and unmolded dynamics. Interestingly, a study reports that it is able to overcome uncertainties up to 75% of the model [42]. Literature shows the implementations of the controller on the quadrotor platform in different ways. Some researchers use simple linear [43-45] while others introduce non-linearly [46][47][48]. Another group of researchers is interested in combining with other controllers in order to improve the performance of the controller when the system is surrounded by noise and disturbance [47,49,50].
H∞ is a robust controller that is highly performed when system contains multivariables and states are cross-coupled. Notwithstanding, it requires a well-designed model to achieve satisfactory performance and high-level of mathematical understanding to develop [51].

Gain-Scheduling
A group of linear models is designed to improve a linear model's capabilities at some operating points. This model-based approach is known as gain scheduling. Gain scheduling can be considered as one of the successful strategies to deal with the nonlinear model. Literature report several studies where a gain-scheduling approach like PID improves both linear and nonlinear controllers [52][53][54][55][56], LQR [57], SMC [58,59] etc.

Nonlinear Control Techniques
As a linear model has some limitations like poor performance around different operating points and incapability of dealing with the nonlinear part of a model, several nonlinear control approaches have been developed. Nonlinear control approaches have been developed based on a nonlinear dynamic model that may incorporate model uncertainties like noise, disturbance and gust, unmodeled parameters, or dynamics and parameter variations. Feedback linearization, model predictive control, backstepping, sliding mode, and adaptive controller are commonly used nonlinear control techniques.

Feedback Linearization
In feedback linearization (FL), the state variables of a nonlinear dynamic system are transformed into a new coordinate system of a linear dynamic system using linear tools, and afterward, it is again transformed back to the original dynamic system through inverse transformation [5]. Several successful implementations of this controller are available in the literature [60][61][62][63][64][65]. R. Bonna and J. F. Camino (2015) used feedback linearization for trajectory tracking to control rotational and translational dynamics [66]. Freddi et al. (2014) designed a quadrotor model in any failure case of a rotor by using feedback linearization. In that work, two different loops were used where one was used for regulating trajectory, and another was used for modifying the desired trajectory that was succeeded in a simulation environment [67]. Abdellah Mokhtari et al. (2006) designed a feedback linearization with the observer in order to ensure robustness to the system with a minimum amount of sensors when the system is affected by wind [68]. A block diagram of FLC has been illustrated in Figure 3. A systematic framework for modeling a controller is the main advantage of feedback linearization. It is a well-performed controller when the difference between linear and nonlinear models is insignificant. However, it cannot guarantee a satisfactory response in the presence of model uncertainties and offer the functionality of constraints handling as well. Hence, the robustness of this controller is not always satisfactory [2,69,70].

Backstepping
Backstepping is known as a recursive technique to control any under-actuated linear or nonlinear system Figure 4. It disseminates the controller into several steps and makes the system stabilized progressively [5]. It is useful when some states of the system are controlled by other states [71]. Notably, backstepping can offer promising performance when the dynamics and external disturbance are known precisely. Madani and Benallegue (2006) have applied the backstepping control approach based on Lyapunov theory to stabilize the quadcopter in the desired position and attitude. In that work, an under-actuated subsystem has been introduced to control horizontal position through roll and pitch angles, whereas a fully actuated subsystem is used to control vertical position through yaw and a propeller subsystem to control propeller forces [72]. Xing Huo et al. (2014) applied an integral backstepping controller to stabilize quadrotor attitude. In that work, the controller could ensure the promising performance of all the states of the system considering the external disturbances to the system in the simulation environment [73]. Zheng Fang and Weinan Gao (2011) advanced the earlier controller by adopting an additional feature that finally can be named as adaptive integral backstepping control algorithm in order to improve the robustness of the system in the presence of external disturbances on a quadrotor. The integral approaches can remove the steady-state error, minimize the response time, and control overshoot [74]. Niroumand et al. (2013) introduces fuzzy logic with integral backstepping for the improvement of robustness and better disturbance rejection [75]. Backstepping is one of the most chosen nonlinear control techniques that require a systematic procedure and follows recursive design methodology. It can outline the nonlinear terms in the system and, it does not require a precisely designed model, unlike feedback linearization. It can overcome the mismatched perturbations and can attain stability asymptotically. However, the main drawback of this controller is over-parameterization that implies its requirement of many parameters to give a satisfactory performance to the system that sometimes becomes very difficult to find out accurately [73,76,77].

Sliding Mode
The sliding mode controller (SMC) is a switching control technique. In this control technique, the system states are commanded towards a suitably chosen desired surface known as the sliding surface, where system states remain on the body with the help of a properly designed control law [78]. Literature introduces several successes of simple sliding mode control for quadrotors [79]. R. Xu and U. Ozguner (2006) proposed a sliding mode control to stabilize the under-actuated subsystem of the quadrotor with a PID controller's help. They validated the robustness of the controller by dealing with parametric uncertainties [80]. Swamp (2016) introduced a second-order sliding mode control that was designed based on Lyapunov theory to stabilize the quadrotor. This second-order sliding mode controller demonstrated promising results comparing to the conventional sliding mode and ensures robustness as well [81]. A simple SMC has been portrayed in Figure 5. SMC technique has achieved great attention for designing robust controllers in highorder nonlinearity of any system under uncertainties. It is less sensitive to disturbances and parametric uncertainties that can ensure robustness to the system. However, it offers a chattering problem that happens because of continuous switching of the controlled model. As a result, it may provoke energy loss, unmodeled dynamics, and system instability that is hazardous for the system sometimes [79,[82][83][84].

Model Predictive Control
Model Predictive Control (MPC) becomes one of the widespread controllers nowadays because of its capability in working with constraints and disturbances, predictive behavior, simplicity in tuning, and advanced performance with multi-variables at the same time. It is considered as a nonlinear control system that works on predicting future states and error [5]. MPC works on the basis of optimization where the cost function is minimized depending on the current control inputs and future time interval by handling the constraints of states and inputs [85]. Raffo et al. (2008) proposed an MPC to track the reference trajectory considering disturbances and integrated a nonlinear H-infinity to obtain the robustness of the system in quadcopter [46]. In a previous study, MPC is applied to attain robust performance from the system under wind-gust disturbance conditions for attitude reference tracking in the quadcopter. The system could successfully track the reference points by using a single MPC technique where constraints have been considered at control inputs [86]. Patrick Bouffard et al. (2012) used Learning-Based Model Predictive Control (LBMPC) for robustness, and it is also demonstrated that the performance can be improved by updating the model online, which performs better than linear MPC [85]. A few experimental works on MPC are available in literature [56,[85][86][87][88][89] while most of the time, nonlinear controllers with complexity are theoretical and simulation-based for quadrotor. A simple MPC has been shown in Figure 6. MPC has been used in different processes of chemical industries and refineries for more than three decades. Currently, researchers show great interest in applying it in all types of complex controlling systems because of its versatile capability, as aforementioned [85].

Adaptive Controller
The adaptive controller offers a mechanism of parametric adjustability to control a system. Structurally this nonlinear controller includes two loops where one is used for the normal feedback process, and another one is used for parameter adjustment [90]. Adaptive control is widely applied in quadrotor, and most of the time, it is coupled with other controllers like neural network [91][92][93], SMC [94][95][96], fuzzy control [97], backstepping [98][99][100][101], gain-scheduling [102], LQR [103]. Koshkouei and Zinober (2000) combined multiple techniques like adaptive backstepping with sliding mode control in order to obtain the advantages of the controllers. The adaptive technique helps to overcome the problem of parametric uncertainty; Lyapunov theory that belongs to backstepping ensures the stability of the system, and sliding mode control tackles the unmeasured disturbances [104]. Interestingly, literature shows two types of adaptive control approach [105] based on design philosophies such as self-tuning regulator [106] and model reference [54,102,[107][108][109]. Sadeghzadeh et al. (2011) introduced eight different ways to design model reference adaptive controller and they chose MIT rule to design the controller in their respective study [54]. In Figure 7, a block diagram of the adaptive controller has been portrayed.
The adaptive controller is mainly popular when the system is exploited with parametric uncertainty and model uncertainties like noise or disturbance [110]. There are five different ways for parameter adjustment of an adaptive controller like gain scheduling approach, auto-tuning, model reference, self-tuning control, and dual control. This controller is mainly used when process dynamics vary, the character of disturbances changes and engineering efficiency is concerned [90]. However, it becomes challenging to ensure robustness when the unknown parameters enter complicatedly in-process model [111]. Moreover, sometimes it performs slower in order to adapt the required parameters [90].

Learning Based Control Techniques
The learning-based controller is such a control technique that does not require an accurate and precise dynamic model, preferably some trials and flight data for training the system to control a quadrotor [5]. Fuzzy logic and neural network are considered under a learning-based controller.

Fuzzy Logic Control
Fuzzy logic control is generally introduced as a model-free and heuristic controller. It is considered as the successful outcome of fuzzy sets and systems. Successfully fuzzy controller proves its efficiency on complex nonlinear and nonanalytic systems [112]. In particular, the fuzzy controller has achieved popularity on quadrotor platforms both in standalone approach or combined with other control approaches. Santos et al. (2010) developed an intelligent fuzzy controller that could ensure satisfactory performance in the system's stability and precise movement. The controller parameters tuning with the help of inter-dependent variables were the most successful part of the work [113]. Coza and Macnab (2006) combined both adaptive and fuzzy controllers with stabilizing quadrotors under buffering wind with an unknown payload [97]. Three different types of fuzzy models [114] are very popular in the literature, such as Takagi-Sugeno (T-S) fuzzy model [115][116][117], Mamdani fuzzy model [118,119] and type-II fuzzy [120,121] that are being applied on a quadrotor.
Fuzzy control can be considered as one of the most suitable controllers for a nonlinear system with uncertainty. It has achieved great interest among the researchers as it offers the best-fitted solution when the system is complex, ill-defined, and uncertain. The most interesting part of the fuzzy controller is that it can offer the implementation of expert knowledge linguistically and can imitate human reasoning to simplify any complex system [114]. Nevertheless, it is not easy to design the linguistic control rule and analyze the system stability. In addition, it requires much time for parameter tuning [122,123], offers approximations errors [124][125][126] and shows the presence of unknown nonlinear functions [126,127] when it is required to deal with under-actuated systems. The designer's expertise and good experience are also significant to make it functional properly [128].

Neural Network Control
An artificial neural network, inspired by human brain structure, has extensively been used in modern control engineering because of its ability to deal with intractable and cumbersome systems from extracted data through a systematic learning process. This controller can adapt itself to new environments and extract the required information from noisy, vague, and inconsistent data during the learning process [129]. Several successful attempts can be found in the literature of neural networks as quadrotor controllers [130][131][132]. A sample of the block diagram a Mamdani fuzzy controller is illustrated in Figure 8.
The neural network has achieved popularity because of its advantages like human reasoning for data analysis from incomplete and inconsistent information, high excellence in learning and adaptability, and robustness to the system [11,105]. Despite all these factors, it requires ample training and cannot ensure stability to the system always [11]. A review of different controllers has been addressed in Table 1.

Controllers
Advantages Disadvantages PID Easy to choose gain; Can overcome steady-state error.
Cannot handle constraints, noise and disturbance; Cannot deal with multiple inputs and outputs at the same time.

LQR
Can deal with multiple inputs and outputs.
Sometimes fails to overcome steady-state error.
H∞ Well performed when system is multivariable with cross-coupling among channels.
Requires well-designed model.

Feedback Linearization
Systemactic model framework; Well-performed when linear and nonlinear models are almost similar.
Incapability of constraints handling and model uncertainities, poor robustness.

Systematic and recursive designed; Precisely designed model is not required;
Can handle nonlinearities to the system; Can overcome mismatched perturbations and ensures stability.
Over-parameterization; Difficult to choose proper parameters.

SMC
Well-performed in high-nonlinearity; Less sensitivity in disturbances and model uncertainities.
Chattering problem sometimes create system instability.

MPC
Predicts future behavior of the states; Deals with multiple inputs and outputs at the same time; can handle constraints at inputs and outputs; Can overcome noise and disturbances.

Adaptive
Very effective when parameters are unknown, dynamic and disturbance model changes continuously; Engineering efficiency is comparatively satisfactory.
Takes time to adapt with the parameters.

Fuzzy Logic
Offers effective solution of a complex, ill-defined and uncertain model; Does not require accurate model.
Difficult to design control rule and system analysis; Takes linger time for parameter tuning; Approximation error; Presence of unkown nonlinear function.

Neural Network
Model free; Excellent in parallel distributed processing, learning and adaptation; Provide robustness to the system.
Requires ample of data for learning; Poor system stability.

Stability of Nominal System
Almost all the linear and nonlinear controllers can ensure system stability at the nominal state and ensure nominal performance as well. However, learning-based controllers like fuzzy and neural networks do not offer system stability at nominal conditions but can provide high maneuvering performance.

Robustness
In general, linear feedback controllers are not able to ensure the robustness of the system except H∞. Moreover, a few controllers like adaptive and MPC controllers can offer robust stability to the design and acceptable robust maneuvering performance among nonlinear controllers. In contrast, others are only able to provide robustness in performance. Interestingly, fuzzy and neural networks are not efficient enough to give robust stability to the system to ensure robustness in the system's maneuvering performance.

Complexities
In general, linear controllers are easy to implement on the system and that's why for experimental work, linear controllers are very famous among the researchers. On the other hand, nonlinear and learning-based controllers are, in general, medium to high in implementation complexity, albeit they are better at showing satisfactory performance than linear controllers.

Challenges and Solution
The earlier section describes the comparison among the controllers based on nominal stability, robustness, and implementation complexity. In the section, it is found that some controllers like LQR and PID are good at offering stability at nominal conditions while they are inefficient in ensuring robustness. Table 2 details the solutions from the referenced literature on quadrotor. On the other hand, learning-based controllers like fuzzy and neural networks are not able to ensure nominal stability, whereas they are highly efficient in robust performance. Therefore, hybrid controllers are initiated as a unit where multiple controllers can work altogether in order to ensure both nominal stability and robustness to a system. For instance, LQR turns into LQG (as shown in Figure 9) when LQR adopts Kalman Filter to establish a state observer and overcome the noise of the signal [133]. Literature introduces some successful simulated performance and well-performed experimental works to overcome the incapacity and inefficiency of controllers. This study classifies the solutions based on literature into two types such as (a) a combination of other controllers with the existing controller or hybrid controller and (b) improvement of the current controller. Additionally, the improvement can be performed by adopting additional features or algorithms such as observer, estimator, integral, filter, compensator, etc., improvement of control algorithm by modification such as cascaded feature, selftuning, discretization, etc. or considering both approaches.

Conclusions
The present study outlines a review of different commonly applied controllers on a quadrotor. Different control techniques have their own specialties and limitations with their unique algorithms. Therefore, the applications and performance of the quadrotor decide the suitable controller.
Linear controllers always draw the attention of the researchers because of their simplicity in design and implementation with good experimental data. Nonlinear controllers offer features like robustness, noise and disturbance rejection, constraint handling at input and outputs, and more accurate trajectory tracking. However, a few experimental works are available in the literature using the nonlinear controller. Highly accurate parameter tuning and unmodeled parameters and dynamics make it difficult to achieve similar results from both the simulation and experiment. In the case of learning-based controllers, high computation, substantial training data, approximation error, and the presence of uncertainty are the challenges to be overcome in order to obtain satisfactory results though they are able to ensure promising performance when the system is troubled by uncertainty.
Significantly, this study discusses necessary solutions based on past studies to prevail over the available shortcomings through hybridization or improvement of an existing controller. Interestingly, some studies adopt multiple controllers and algorithms to ensure the promising performance of the controllers. Therefore, the required performance improvement of any controller depends on choosing a suitable controller, adoption of addition or modification of a controller or algorithm, or both the controller and algorithm. Future works include but are not limited to reviewing available modeling, navigation, and guidance of quadrotors.