{'fraction_non_alphanumeric': 0.027172319421366435, 'fraction_numerical': 0.007330661714397419, 'mean_word_length': 4.706358059118795, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Review: Modeling and Classical Controller Of Quad-rotor

This paper presents an overview of the most effective ideas for the Quad-rotor project. The concept of modeling using different methods is presented. The modeling part presented the nonlinear model, and the concept of linearization using small disturbance theory. Parameter identifications part explained the most important parameters that affect the system stability and tried to get suitable solutions for these problems and identify some parameters experimentally. Data filtration, Kalman filter, Structure design, motor distribution, aerodynamic effect, analysis of shroud and its effect on the resultant thrust were explained. The control part incorporates different classical schemes such as PD and PID controllers to stabilize the Quad-rotor. Also, different ideas are presented to stabilize the quad rotor using PID controllers with some modification to get high maneuverability and better performance.


INTRODUCTION
Nowadays, automatic flying of intelligent vehicles represents a huge field of applications. The rapid development of microcontroller affects all control applications which mean new control theory, new researches, and new challenges. The application of the hovering aerial vehicles gave chances for researchers to present better controllers to achieve, the more aggressive mission for the Quad-rotor. In the beginning of this century, the chance to apply new control algorithms to small aircraft increased rapidly. The rapid developments in applications are also due to the advances in computation systems, communication systems, motors, and sensors which are getting very cheaper with to higher performance. Using new microcontrollers will give Quad-rotor chance to be smaller with higher performance. Nonlinear control theories and difficult applications are the target of the researchers to present and develop more controllers that were very difficult to be implemented using microcontrollers with higher sample rate. Some of these nonlinear controllers are back step controller, and sliding mode controller. Also the optimal control is presented, especially LQR (Linear Quadratic Regulator) and LQG (Linear Quadratic Gaussian) controllers to stabilize the Quad-rotor. Classic controllers are widely used to stabilize the Quad-rotor with some modification to be suitable for all systems and could give smoother responses with lower sample rate. This paper focused on the classic controller for its simplicity in implementation and tuning.
However, the robustness of the classic controller are low, so some modifications are presented to these controllers to be more robust. The most important works in classic controller are applied with small modifications to stabilize the Quadrotor [1][2][3][4][5].
There are a lot of applications for the Quad-rotor such as line tracking [6][7][8], photo capturing, pollution measuring, and high endurance flight using fixed wing to reduce the power consuming [9].
Line tracking is one of the most important applications for the Quad-rotor. A lot of trials presented to simulate this idea and to get successful results [6][7][8]. The concept of line tracking is to make the system autonomous, and give it certain track and make the system follows this track. But the application for this system will be limited to indoor, as it need sensors to get a position as a feedback with high accuracy.
Power saving is one of the applications for Quad-rotor using classical control [9]. Fixed wing is used to generate force as a thrust, and lift. This concept will make the mathematical model of the Quad-rotor changed, and the condition of symmetry will be violated.
The fault that may occur to the brushless motor [10] will make the system failure. So using alternative ideas to control the system even any failure occurs to the motors, also this paper presented the idea and control algorithm to control the system for the new case.

A. General:
For studying the mathematical model of the Quad-rotor, we need to make some assumptions for system dynamics. Some of these assumptions are as below.
• Quad-rotor's structure is symmetric around. • Quad-rotor UAV consists of a rigid frame equipped with four rotors.
• No mass changes during motion (time invariant). • COG (Center of Gravity) is fixed at the origin of the Quad-rotor.

•
Thrust and drag constants are proportional to the square value of the motor's speed.
The first method is Newton-Euler method; this method depends on the rigid body equations that result from Newton's second law [11,20]. The second method is Euler-Lagrange; this method depends on the energy and kinematics to get the mathematical model [12,19]. But these two techniques should give the same results.
There is another term comes from the gyroscopic effect due to the high RPM for motors, but it will be vanished during the linearization [11].There are some techniques to rearrange the rotor of the Quad-rotor; but these techniques will be more complex than the normal case of Quad-rotor at modelling and control design [21], some of these techniques use different sizes of rotors in the same system which mean different thrust and drag, and also some of them fix the rotors in different distances from the origin which means that the assumptions of symmetry will be violated. Another technique is used to make one rotor of the four rotor change the direction by 90 degrees to get axial motion only [16], this technique give a chance for the system to get fast motion along one axis. Also, it increases the maneuverability of the system.

B. Nonlinearlity and multi-imput:
The mathematical model of the Quad-rotor is nonlinear; so the classical control can't be used directly without transforming this mathematical model from time domain to sdomain.
As a condition of the transformation, linear and timeinvariant model is necessary. Some methods are applied to linearize the nonlinear model; one of the most popular methods is the small disturbance theory [11,22] to linearize the system.
The Quad-rotor system is MIMO (multi-input multioutput); which means that it is a function of the four rotors. So we need to get a technique that makes the system SISO (single-input single-output). Some ideas were suggested to get just one input for each output [20,23]. This technique may not be completely correct as the four rotors don't have the same performance, but it has a small effect and this effect can be solved by the controller action. After using this technique, we can get the output such as the altitude as a function of single input [11].

C. Rotor and motor identification:
There are a lot of projects tried to design the blade of the Quad-rotor. Some of these projects gave an analytical estimation for the system parameters. And other projects gave a numerical solution for the rotor performance using simulation programs [24].
There is other type of the projects tried to get the rotor parameters by experimental methods; this technique depends on changing the RPM's values and get the corresponding thrust and drag. By changing the rotor's RPM we can get a linear relation between the square values of the angular velocity versus thrust and drag [25][26][27]. Some techniques used duct or shroud; the target from these techniques is to get higher thrust [28][29]. Also, some projects used this technique for safety.

D. Saturation:
For the Quad-rotor system, the control action will be limited by the specifications of the motors. So give action to the motors over the maximum limit may cause a failure to the motors. So limits are needed in the controller (saturation). The saturation for motor action will be considered as a nonlinear term, also it will have a great effect in the system response [30,31]; the settling time for the system will be longer than the normal case without saturation. So during designing the control system, we have to consider this effect in simulation before implementing it in the Quad-rotor platform.

E. Sample time:
There are two methods for controlling the Quad-rotor. The first method is to make the system full autonomous to achieve the mission without any interrupt from another system like ground station during flight. This method is applied for some systems such as the line tracking; the required mission is provided on the system microcontroller. Feedback will be provided to the microcontroller automatically from sensors, after that the controller will take the suitable action to achieve the required mission. In this case the controller code is already written on the microcontroller.
The other method will be the same like the first method except the situation of the controller code. The controller code will be stored on ground station and the Quad-rotor will send the feedback to the ground station and receive the control action from the ground station.
For both of these two methods, the sample time will be critical for the system stability. There will be a certain limit for the sample time to stabilize the Quad-rotor; this limit will be function of the Quad-rotor size. The size of the Quad-rotor will increase proportionally with the maximum limit of the sample time.
In the normal case of the small Quad-rotor, which has diameter size around 50 centimeters, the sample time limit will be around 0.025 second [32]. The sample time also depends on the system hardware. So we need to choose microcontroller suitable for the system.

F. Motor dead zone & calibration:
Brushless motor has a small non effective region in the low values of the Pulse Width Modulation (PWM), this region is called dead zone. Dead zone is the area that the motor receives order to rotate, but it generates no rotation. This region is not constant and it depends on motors and speed controllers.
At the first using of any brushless motors, you have to make calibration. Calibration will give the maximum and minimum values of the PWM to the speed controller.

G. Filtration of sensor data:
Using the filtration for the system data was very common with researchers who are working on robots and autonomous systems such as Quad-rotor. They were using the data filtration as the sensor data had a lot of noise. This noise can make the system response unstable. One of the most common filters is Kalman filter [33][34][35], also there are other filters applied to the system, these filters depend on the accuracy of the sensors. Now, sensor data are better and we can use it without filtration, as the filtration algorithm is already embedded on the sensor chip.

H. Sensor data:
Feedback is used to design the controller; also the accuracy of sensor data has a great effect on system stability. IMU (Inertial Measurement Unit) is used as a feedback to get system angles. Now, IMU is very cheap and gives very accurate readings. Some projects can use Kalman filter [35] for more accuracy, also some projects use controllers with a combined with Kalman filter such as LQG controller.
To get position, it is complex to get the position directly during outdoor flight such as IMU. We can use different types of sensors to get altitude; one of these sensors is sonar. Sonar can give very high accurate readings, but the range of sonars is very small, it can reach to 6 meters only. Also, there are some sensors like altimeters which can give readings in high altitudes, but the accuracy of the altimeter is as small as 50 centimeters.
There are other types of sensors that can get the position. One of these sensors is global positioning system (GPS). Commercial GPS has a very low accuracy which can reach to 6 meters. In that case this accuracy will lead to instability for the Quad-rotor. One the other hand, there is GPS can get very high accuracy, but it's used in military applications and not available for all researchers. So for outdoor flight, researchers just use sonar with altimeter to control the altitude only. There are other techniques used for the indoor flight to get altitude and position by a set of cameras. These cameras are fixed in different points, then we can make some simple calculations to get the system position [8,[36][37][38][39][40][41]. One of the most important techniques that depend on this idea is called Moiré technique [42][43].

III. CLASSICAL CONTROL
The open loop transfer function of the Quad-rotor mainly consists of double integrators; also we have another pole as a motor delay. For the motor simulation, there were a lot of experiments had done to get a mathematical model. The mathematical model for the motor transfer function is a first order system with a delay of 0.1 second [12,27,31]. But the motor delay will decay faster than the double integrator and the double integrator effect will be the dominant in the system dynamics [6,11,27,31].
In designing controller for the Quad-rotor there are some steps important for nonlinear systems. So we can apply any controller to the linear model, and then apply the same controller to the real Quad-rotor platform. Sometimes after applying the controller to the real platform, we found that the system is unstable due to the effect of the linearization. So testing the controller on the linear and nonlinear simulation is very important before using it on the real model.

A. PD controller:
For this kind of controller, it can give good results in the ideal case without any disturbance. But for the real case, we will have a problem of the steady state error. Designing the controller depends on the error and the error rate only. So the control action responses due to the effect of big errors and fast disturbance. The steady state error will be very critical, as the steady state error for the Quad-rotor will be around 2 degrees. This means that high drift will happen for the Quad-rotor [23,44].

B. PID controller:
The concept of the PID is the same like the PD controller, but there is another term added to control the effect of the steady state error. Cancelling the effect of the steady state error will be represented by adding an integrator term to the controller. To apply this controller will need to get old data as a history and try to restore the system due to this history. This integrator term will take action in case of resultant error is not equal zero. On the other hand, adding the integrator term to the PID controller will lead to add an integrator to the system. So it increases the chance of the instability in the system. So tuning the system will be more critical [11,14,27,[45][46][47].

C. Improved techniques related to PID controller:
In this paper [48], different approaches of the PID controller are presented. The concept of the PID consists of three terms, proportional, derivative and integrator. The ideal case for the PID controller is illustrated in this paper, after that the structure of the three terms is changed with different signs. Also three approaches are used based on the PID controller concept to present the idea of the controllers. The performance will be varied as a result of changing the order of the block diagram. Finally, comparison between the three different approaches and their responses were discussed in details.
In this paper [6], the concept of the PID controller is applied, but there is another term is added for aggressive maneuver. This controller consists of four terms. The first three terms are the same like the ideal PID controller. And the fourth term is trying to stabilize the rate of the Euler angle rate (acceleration) and to overcome the high acceleration effect.
Identify applicable sponsor/s here. In this paper [49], a new technique for the PID controller is presented based on the genetic algorithm GA. genetic algorithm and improved genetic algorithm are applied for tuning PID controller's gains. The design steps of the controller explained the comparison between genetic algorithms and the improved genetic algorithm. Also the concept of Ziegler-Nichols method is presented and implemented in the Quad-rotor case. For the improved genetic algorithm, it can achieve a global optimal solution for the cost function with less settling time compared with the ideal case of PID controller.
In this paper [50], the fuzzy controller is applied to the system to just to get the PID controller gains which stabilize the Quad-rotor.
This technique applied the same steps for the fuzzy controller; it considered the error and rate of error as input after that makes the steps of the design, fuzzification, rule base, and defuzzification. So the resultant outputs from fuzzy algorithm are the gains of the PID controller. The results of this technique show that the settling time for the combined fuzzy-PID controller is 0.6 second, and the ideal case of the PID controller is 1.5 second.
This paper used seven memberships for the error and rate of error. It will give a very high accurate response in the shorter settling time. But the problem will be in the implementation. This controller is applied to the simulation only, but implementing this controller to the real model will be more difficult and needs hardware with high frequencies to achieve the same response.
In this paper [51], a technique called iterative learning control (ILC) was used. This technique applied an iterative method to get the suitable control action. The combination of the classic controller and previous control action are combined with the convergence condition for stability. Three different approaches were applied to control the Quad-rotor system using this technique; offline ILC, online ILC, and onlineoffline ILC. All these techniques depend on the iteration and satisfying the convergence condition. These techniques are very simple for controlling the Quad-rotor and implementation. Applying this controller will increase the robustness of the system and also overcome any disturbance. Also; it gives response with sample time longer than the ideal PID controller.
R Φ Figure 2. block diagram of PID controller In this paper [40], controlling the Quad-rotor is the same like [11], but the mathematical model replaced with another digital system to get all the .system states using a vanishing point algorithm. This algorithm can transform group on parallel lines in the three-dimension (3D) space into some intersection lines in two-dimension (2D) image, and the intersection between these lines will be the vanishing point This algorithm is valid for indoor flight only and can give a complete definition of the Quad-rotor parameters.
After estimating the system model, the PID controller is applied based on the digital model to stabilize the Quad-rotor system.
In this paper [52], the new technique is presented to make a combination of PID and particle swarm optimization (PSO) method. This technique used to find the parameters required to optimize a particular object. Applying this technique can get the minimum and maximum values for parameters such as cost function.
Also, another technique called as a bacterial foraging optimization (BFO) is used. This technique also depends on the optimization to get the system parameters. The last technique used in this paper is mixing between the two techniques and it is called (PSO-BFO).
A comparison between different control algorithms for the Quad-rotor is presented [52], and the advantages and disadvantages for each controller. So choosing your controller will depend on the mission for your Quad-rotor and the Hardware which you are using in the system IV. CONCLUSION This model solve a very important problem we met during tests the quad rotor controller which is the asymmetry that results from the motors; as each motor has a little different responses with the time. So the update of the parameter estimation in our model can put the change in motor parameters under consideration. The Quad rotor is nonlinear problem, so the initial conditions and the input will play a huge role in the control design; so using adaptive control will make the control adapt with any problem or change occur in the system. By comparing the response between the classic controller like PID and the adaptive control we will find that the contribution of nonlinearity high during using PID controller as it depends on the system model which we assume it's constant, on the other hand the adaptive will be more reliable in different cases for the flight motion and ready for any change or disturbance occur to the system and also put it as a part of the model..