Synopsis of Soft Computing Techniques Used in Quadrotor Uav Modelling and Control

The aim of this article is to give an introduction to quadrotor systems with an overview of soft computing techniques used in quadrotor unmanned aerial vehicle (UAV) control, modelling, object following and collision avoidance. The quadrotor system basics, its structure and dynamic model definitions are recapitulated. Further on synopsis is given of previously proposed methods, results evaluated and conclusions drown by authors of referenced publications. The result of this article is a summary of multiple papers on fuzzy logic techniques used in position and altitude control systems for UAVs. Also an overview of fuzzy system based visual servoing for object tracking and collision avoidance is given together with a briefing of quadrotor UAV control techniques efficiency study. Conclusion is that though soft computing methods are widely used with good results, there is still place for much research to be done on find more efficient soft computing tools for simple modelling, robust dynamic control and fast collision avoidance in quadrotor UAV control.

The quadrotor architecture has low dimensions, good manoeuvrability, simple mechanics and payload capability.The main drawback is the relatively high energy consumption; however the trade-off results are very positive.This structure can be attractive in several applications, in particular for surveillance, for imaging dangerous environments, and for outdoor navigation and mapping [1,2].The study of kinematics and dynamics helps to understand the physics of the quadrotor and its behaviour [3,4].Together with modelling, the determination of the control algorithm structure is very important.Soft computing methods can be efficiently applied together with and also instead of conventional controllers [2].
The article is organized as Section 1: introduction.Section 2: modelling of the quadrotor unmanned aerial vehicles.In Section 3 fuzzy logic based control and modelling strategies for path tracking, position and altitude control of UAVs are briefed.In Section 4 fuzzy system based visual servoing is summarised.In Section 5 a control techniques efficiency study is briefed.Conclusions are given in Section 6. References are in Section 7.

MODELLING OF QUADROTOR UNMANNED AERIAL VEHICLES
As is well summarised in [1,2] rotary wing aerial vehicles have distinct advantages over conventional fixed wing aircrafts in surveillance and inspection tasks because they can take-off and land in limited spaces and easily fly above the target.A quadrotor is a four rotor helicopter.An example of one is shown in Figure 1.Helicopters are dynamically unstable and therefore suitable control methods are needed to make them stable.Although unstable dynamics is not desirable, it is good from the agility point of view.The instability comes from changes in the helicopter parameters and from disturbances such as a wind gust or air density variation [1,2].A quadrotor helicopter is controlled by varying the rotor speed, thereby changing the lift forces [3,4].It is an under-actuated dynamic vehicle with four input forces and six outputs coordinates.One of the advantages of using a multi-rotor helicopter is the increased payload capacity.Quadrotors are highly manoeuvrable, which allows for vertical take-off and landing, as well as flying into hard-to-reach areas.Disadvantages are the increased helicopter weight and increased energy consumption due to extra motors.Since the machine is controlled via rotor speed changes, it is more suitable to utilize electric motors.Large helicopter engines, which have a slow response, may not be satisfactory without incorporating a proper gear-box system [1,2].
Unlike typical helicopter models (and regular helicopters), which have variable pitch angles, a quadrotor has fixed pitch angle rotors, and the rotor speeds are controlled in order to produce the desired lift forces [1,2].
The quadrotor is satisfactory well modelled [1][2][3][4][5][6][7][8][9][10][11][12] with a four rotors in a cross configuration as presented in Figure 1.This cross structure is quite thin and light, however it shows robustness by linking mechanically the motors (which are heavier than the structure).Each propeller is connected to the motor through the reduction gears.All the propellers axes of rotation are fixed and parallel.Furthermore, they have fixed-pitch blades and their air flows point downwards (to get an upward lift).These considerations point out that the structure is quite rigid and the only things that can vary are the propeller speeds.
As shown in Figure 1, one pair of opposite propellers of quadrotor rotates clockwise (2 and 4), whereas the other pair rotates anticlockwise (1 and 3).This way it is able to avoid the yaw drift due to reactive torques.This configuration also offers the advantage of lateral motion without changing the pitch of the propeller blades.Fixed pitch simplifies rotor mechanics and reduces the gyroscopic effects.Control of quadrotor is achieved by commanding different speeds to different propellers, which in turn produces differential aerodynamic forces and moments.For hovering, all four propellers rotate at same speed.For vertical motion, the speed of all four propellers is increased or decreased by the same amount, simultaneously.In order to pitch and move laterally in that direction, speed of propellers 3 and 1 is changed conversely.Similarly, for roll and corresponding lateral motion, speed of propellers 2 and 4 is changed conversely.To produce yaw, the speed of one pair of two oppositely placed propellers is increased while the speed of the other pair is decreased by the same amount.This way, overall thrust produced is same, but differential drag moment creates yawing motion.In spite of four actuators, the quadrotor is still an under-actuated system [1,2].
To describe the motion of a 6 DOF rigid body it is usual to define two reference frames: the earth inertial frame (E-frame), and the body-fixed frame (B-frame) -see Figure 2. Equations of motion are more conveniently formulated in the B-frame because the inertia matrix is time-invariant, advantage of body symmetry can be taken to simplify the equations, measurements taken on-board are easily converted to B-frame and control forces are readily available in the B-frame [1,2].
The E-frame (OXYZ) is chosen as the inertial right-hand reference.Y points toward the North, X points toward the East, Z points upwards with respect to the Earth, and O is the axis origin.This frame is used to define the linear position (in meters) and the angular position (in radians) of the quadrotor.The B-frame (oxyz) is attached to the body.x points toward the quadrotor front, y points toward the quadrotor left, z points upwards and o is the axis origin.The origin o is chosen to coincide with the center of the quadrotor cross structure.This reference  reference is right-hand, too [1,2].The linear velocity v (m/s), the angular velocity Ω (rad/s), the forces F (N) and the torques T (N m) are defined in this frame.The linear position of the helicopter (X, Y, Z) is determined by coordinates of the vector between the origin of the B frame and the origin of the E-frame according to the equation.The angular position (or attitude) of the helicopter (, , ) is defined by the orientation of the B-frame with respect to the E-frame.This is given by three consecutive rotations about the main axes which take the E-frame into the B-frame.The "roll-pitch-yaw" set of Euler angles can be used.The vector that describes the quadrotor position and orientation with respect to the E-frame can be written in the form [1,2]: The rotation matrix between the E-and B-frames has the following form [5]: The corresponding transfer matrix has the form: In the previous two equations (and in the following) this notation has been adopted: s = sin(), c = cos(), t = tan().The system Jacobian matrix, taking (2) and (3), can be written in the form: where 0 33 is a zero-matrix.The generalized quadrotor velocity in the B-frame has a form: .( 5) Finally, the kinematical model of the quadrotor can be defined in the following way [1,2]: .( 6) The dynamics of a generic 6 DOF rigid-body system takes into account the mass of the body m (kg) and its inertia matrix I (N m s 2 ).Two assumptions have been done in this approach : • the first one states that the origin of the body-fixed frame is coincident with the centre of mass (COM) of the body.Otherwise, another point (COM) should be taken into account, which could make the body equations considerably more complicated without significantly improving model accuracy [1,2], • the second one specifies that the axes of the B-frame coincide with the body principal axes of inertia.In this case the inertia matrix I is diagonal and, once again, the body equations become simpler [1,2].
The dynamic model of a quadrotor can be defined in the following matrix form: where is the system Inertia matrix, represents the matrix of Coriolis and centrifugal forces and G B is the gravity matrix.These matrices have known forms as presented in [5].
A generalized force vector Λ has the form: , where: is the gyroscopic propeller matrix and TP J is the total rotational moment of inertia around the propeller axis.The movement aerodynamic matrix has the form [1,2]: where b (N s 2 ) and d (N m s 2 ) are thrust and drag factors, respectivelly, and l (m) is the distance between the centre of the quadrotor and the centre of the propeller.Equation (11) defines the overall propellers' speed (rad s −1 ) and the propellers' speed vector (rad s −1 ) used in equation (8).

PATH TRACKING
The nonlinear, multivariable and coupled characteristics make the quadrotor difficult to control.In a general approach two loops are used for the quadrotor UAV control system: the outer loop is the position controller and the inner loop is the attitude controller.The controller of outer loop for position includes information such as instantaneous position and speed.While the inner loop for attitude controller includes the posture information.
The position controller receives as inputs the difference between the desired position (X,Y,Z) and current position, the outputs are the desired angles (φ, θ, ψ) to move towards the desired position, and it is provided for the attitude controller in the inner loop.The attitude controller outputs the desired rotor speed to the motor controller.

PID CONTROLLERS WITH FUZZY SYSTEMS BASED ADAPTIVE GAIN PARAMETERS
As described in [13,14] fuzzy logic systems can be used for adaptive tuning of PID controllers for stabilisation and path tracking of quadrotor UAVs.A PID controller consists of a proportional, an integral and a derivative feedback control action, which represent the current, past and anticipated future errors that cover all the time history of the error signal.
The relevant gains are KP, KI and KD.By adjusting these parameters, the performance and stability of the system can be achieved.The mathematical representation of PID controller is given as: With fixed three gain parameters a PID controller provides good performance only for linearized systems in a narrow operation range.To overcome the nonlinearity problem fuzzy logic systems can be used for adaptive tuning of PID gain parameters [16,17].Fuzzy logic consists of four components: fuzzyfication, fuzzy ruled base, inference engine, and defuzzyfication: • fuzzyfication refers to the process of transforming crisp input values into grades of membership using linguistic terms of fuzzy sets, • fuzzy rule base is the main part of fuzzy logic systems.This component is based on if-then rules.The fuzzy rule base defines how to react on each input combination, • inference engine applies the fuzzy rule base to form the output for defuzzyfication, • defuzzyfication is a method to obtain numerical data from the output of a fuzzy rule base.
For a self-tuning fuzzy PID controller the tracking error can be considered as an input for two controllers: once for a classical PID control algorithm to minimize error position, and also to a fuzzy logic system for adjusting KP, KI, and KD gain parameters of the PID controller (13).
In [13] 3 fixed position and size triangular membership functions (MFs) were used for fuzzyfication of the error signal as input and for the gain parameter output; a fixed set of 3 fuzzy rules were defined.Results of [13] show that the performance of both the classical PID and the fuzzy logic based self-tuning PID control method is acceptable in static cases of no load variation.The self-tuning PID control based on fuzzy logic is able to compensate for variations in payload to achieve good path tracking.The classical PID control algorithm by itself cannot track the circular path while the self-tuning PID base on fuzzy logic provides a good performance solution also for this problem [13].
In [14] a wide range of disturbances are modelled.Gravity and buoyancy are combined into a single force.The fluid inertia force related to the acceleration of the airship motion is represented by additional mass.In the body coordinate system the direction of the lift force remains constant.While in the inertial system the driving force of lift is decomposed into three directions along the three coordinate axes.The quadrotor airship is more susceptible to influence of air resistance during flight because of its large surface area.In [14] six fuzzy adaptive controllers are proposed for tuning the gain parameters of PID controllers, one control output for each state variable of (1).For each fuzzy adaptive controller in [14] seven fixed MFs (of Z, S and triangular types) are defined for input fuzzyfication and output defuzzyfication.The fuzzy rule base is defined constant by expert knowledge.Results in [14] show that for a quadrotor airship model the fuzzy adaptive PID algorithm has a better performance than the classical PID control system.

LYAPUNOV STABLE BACKSTEPPING CONTROL WITH AN ADAPTIVE FUZZY MODEL
In [15] it is presented how a robust control method with an adaptive fuzzy model can overcome wind disturbance, which buffet the vehicle with periodic wind vortices.For adaptive-fuzzy altitude control of the roll, pitch, and yaw the nonlinear functions of ( 6) are modelled by fuzzy systems.The notation used is as follows -from (8) ; from (1) so that the system (6) becomes : (14) where I X,Y,Z are body inertia terms.The J r rotor inertia term is used with lever as: (15) In [15] the fuzzyfication encoding of angular position error inputs consists of normalized Gaussian MFs with centres placed on a fixed, evenly spaced lattice and of widths like , where each c i is a centre on the lattice and N is the number of MFs.The decoding of control outputs is accomplished with one dimensional Gaussian MFs with widths , but with centres that can be changed adaptively.The output of the decoding is , where is a vector of output MF centres.According to the standard approximation theory, if the density of encoding lattice points is high enough then the output of the decoding scheme can uniformly approximate nonlinear functions in a local region as where k = 4, 5, 6 for i = 1, 2, 3. Thus the approximation error of nonlinear functions is bounded.If the actual centres of output MFs are the error between actual and ideal centres is . By taking filtered tracking errors for i=1,2,3 where L is a positive constant, the following Lyapunov control function can be defined as .Assuming there is a bounded external disturbance the derivative of V is bounded and Lyapunov stability of the proposed control method is presented in [15].The resulting control is stable, computationally efficient, and theoretically robust to disturbance.It achieves high performance while eliminating centre drift [15].

DIRECT PD LIKE FUZZY CONTROLLERS FOR POSITION AND ALTITUDE CONTROL
In [18] a direct fuzzy PD controller approach is used for altitude control and path tracking of a quadrotor UAV.To control each 3 angular position error a normalized input/output Sugeno type fuzzy engine was used with 3 MFs on both input and output and a fixed rule base defined by expert knowledge.The fuzzy attitude control design proposed in [18] was verified within simulations by comparison to a back-stepping approach control design.Path tracking efficiencies are very similar for both attitude control systems.In [18] the proposed fuzzy attitude control revealed slightly better performance in case of a rapid trajectory direction changes.The only significant difference was in the first segment of the flight, where the proposed fuzzy solution obtains the desired trajectory much faster than the back-stepping solution [18].
In [19] a PD like fuzzy controller is described for position control to compensate for nonlinear disturbance such as the wind.For the position controller of the robot, there are two inputs to the fuzzy logic controller.The first is the error, which is the difference between the target position of the robot and actual position of the robot.The second input is the first derivative of error with respect to time ė.Then the fuzzy controller outputs the force for moving to the target position.For the output of fuzzy controller in [19] a simplified fuzzy inference method is used with fixed MFs and an expert knowledge based fuzzy rule set is defined.The result in [19] is that the proposed fuzzy controller is more suitable for path tracking in outdoor condition than a simple PD controller.But the proposed fuzzy controller still presented not so good results for the response and steady-state error when a fair wind was blowing.

FUZZY CONTROL SYSTEM BASED VISUAL SERVOING
Computer vision techniques can provide UAVs with an additional source of information to perform visually guided tasks like tracking and visual servoing, inspection, pursuit and flying in formations.[20] presents a fuzzy servoing strategy using a real time flying objects following method based only on visual information to generate commands in a dynamic look and move control architecture.Considering a flying object moving with an unknown trajectory on the world space, and a flying robot with an attached fixed calibrated pinhole camera, both having an idealized flying dynamics.The control goal is to command the flying robot in order to track the target object, maintaining it always onto the camera focus with a fixed separation distance.The target is modelled as an ideally spherical surface, the projection point can be considered as the image projection of target's sphere centroid with coordinates on the camera frame.The projected diameter also can be used to estimate the distance to the target, because it is inversely proportional to the distance from the camera to the object.In [20] the problem of tracking is approached by exploiting the colour characteristic of the target.A basic colour is defined to the target by assuming a simple coloured mark to it and tracking this mark.This process is not always perfect, and changes still occur in colour distributions over time.An algorithm that has proven to deal with this issue by dynamically adapting to changes in probability distributions is the Continuously Adaptive Mean Shift [21].This algorithm is based in the mean shift originally introduced by Fukunaga and Hostetler [22].In [20] two Mamdani Fuzzy controllers were used that are based on the visual information previously described to generate yaw and pitch commands for the UAV.All the variables of the two controllers are defined using triangular membership functions.The complete controller design is fixed, based on expert knowledge.Both controllers have two inputs and one output.The controller of the yaw or heading of the UAV has for the first input the angle estimation in radians, between the UAV and the centre of the image and the centre of the object to follow.The second input is the difference between the last angle estimation and the actual angle.This controller sends velocity commands (degrees per seconds) for change of the heading position of the aircraft.The second controller acts on the pitch state of the UAV.It takes the data about the size of the object in pixels, to follow and estimate the distance.Using as the first input the actual size of the object and as the second input the difference between the last size measure and the actual size is taken.The output of the controller is velocity commands to go ahead, in the case that the object is far away; stay in the same position if the object is near at a predefined safe; or go back if it is very close to the UAV.Real tests on outdoors scenarios demonstrated the excellent behaviour of fuzzy controllers, which were generating yaw and pitch commands based on visual information, performing the action of tracking the target object from a safe distance [20].
In [23] the same setup was used as in [20].A Fuzzy Logic controller based on expert knowledge has been developed to automatize the collision avoidance.This controller acts changing the heading of the aircraft, keeping the obstacle to avoid at the right side (or left) of the image until the object can be overtaken.Excellent results have been obtained in real tests using a commercial quadrotor with a quick response and low error estimation [23].

FUZZY CONTROLER PERFORMANCE
In [2] benchmarking and qualitative evaluation of different autonomous quadrotor flight controllers is presented.Three characteristic representatives of frequently used flight control techniques are considered: PID, backstepping and fuzzy.Dynamic performances, trajectory tracking precision, energy efficiency and control robustness upon stochastic internal and/or external perturbation was considered.Two experimental scenarios are considered as the characteristic benchmarking procedures: dynamic quadrotor flight in the 3D-loop manoeuvre, and a typical cruising flight along the trajectory introduced by setting waypoints with the predefined GPS coordinates.In case of fuzzy control six Takagi-Sugeno-Kand fuzy systems were used, one for each state variable in (1).Each fuzzy system has 2 inputs, error and error rate, fuzzyfication with 3 fixed triangular membership functions, 3 singletons were used for output MFs.A fixed rule base is defined based on expert knowledge.Analysing the simulation results the backstepping method ensures the best control performances in sense of trajectory tracking precision.The other two concurrent algorithms have slightly better characteristics in sense of energy efficiency (having lower energy consumption).By increasing of flight speed dynamic effects become influential upon the system performances: the backstepping method is more sensitive to changing of flight speed than other two controllers PID and fuzzy logic controllers [2].

CONCLUSIONS
Fuzzy logic based controllers can be able to compensate for variations in payload and to achieve good path tracking; they can also track circular paths [13].A fuzzy adaptive PID algorithm has a better effect than the classical PID control system by itself [14].Fuzzy logic based controls can be made Lyapunov stable, computationally efficient, and theoretically robust to disturbance.They can achieve high performance while eliminating centre drift [15].Fuzzy logic control solutions can obtain the desired trajectory much faster than the backstepping control solution [18].
A fuzzy controller is more suitable for path tracking in outdoor condition than a simple PD controller; still it is insufficient for the response and steady-state error control when a fair wind is blowing [19].
Real tests on outdoors scenarios proved the excellent behaviour of the fuzzy controllers for yaw and pitch performing the action of tracking the target object from a safe distance [20] as well as for collision avoidance [23].

Figure 1 .
Figure 1. 3 D motion, commonly used model of the quadrotor.

Figure 2 .
Figure 2. Earth-and Body-frame used for modelling of the quadrotor system.