The unmanned aerial vehicle (UAV) modeling and control have been recently actively studied. A quadcopter has nonlinear characteristics to which classical control methods are not adequate for its stabilization control. The nonlinearity of fuzzy control is a good characteristic suitable for such quadcopter system control. This paper presents a model of the quadcopter which is expressed with Newton-Euler equations. It also describes both a classical PID controller and a fuzzy system that adjusts the PD controller gains, for stabilizing a quadcopter and controlling its attitude. It is quite a new trial to apply fuzzy control to quadcopter control although there have been various fuzzy control applications in the literature. The designed system has been tested and analyzed in terms of their performance. The experiments showed that the Fuzzy-PD controller outperforms the classical PD control
Flight control and application of unmanned aerial vehicle (UAV) is an active and challenging topic of research, of crucial importance to numerous civilian and military applications. Flight control is a fundamental problem foe multirotor and aerial vehicles in general. Linear methods have been applied to UAVs with success in many researcher and applications, but are limited applicability for extended flight envelope region, i.e., aggressive maneuvers, where the linearity of the system is no longer valid. Additionally, one can only guarantee stability of the closed loop system for small regions around the equilibrium point, which are extremely difficult to compute. Nonlinear controllers based on nested saturations have also been proposed for the tracking of arbitrary trajectories. Due to the nature of the controller, a restriction on the admissible values of the thrust input and on the range of the uncertainties of the parameters of the torque generation subsystem is necessary.
In this paper, linear and nonlinear solutions for controlling quadcopter will be mentioned. A classical PD linear controller will be developed for the case of simply autonomous control in which require of tracking accuracy is low. For higher demand on the performance of controller, a PD-controller will be developed which yields good tracking results yet they need the availability of the system nonlinearities, which is generally accepted as a drawback. In progress, a hybrid PD-fuzzy controller will be proposed for better performance.
Simulation results prove that proposed adaptive hybrid PD-fuzzy controller give better results in the term of response time and settling time in the quadcopter application as compare to convention PD controller. The Fuzzy logic control is an active field in the last couple of decades, and it has been implemented on various dynamical systems [4–8]. The Fuzzy logic has also been implemented in helicopter control [9–11]. Although Fuzzy control of dynamical systems has seen presented extensively in the literature, application of this to quadcopter control is quite new.
This paper will be presented a fuzzy-PD controller for the quadcopter. Additionally, detailed model of the quadcopter is given. The performances of the fuzzy-PD controllers are compared to classical PID controllers using Matlab simulations.
To keep track of the quadcopter two different coordinate frames are used to represent the position and orientation in three dimensions, the earth frame (Oxyz) and the body frame (O_{B}X_{B}Y_{B}Z_{B}). The earth frame is a fixed frame used as an unmoving reference. The body frame axes are aligned with sensors which are convenient when reading sensor data and controlling the angular orientation (attitude).
The quadcopter can be modeled with four rotors in the cross configuration. The throttle movement is provided by increasing (or decreasing) all the rotor speeds by the same amount. It leads a vertical force u_{1} (N) with respect to a body-fixed frame which raises or lowers the quadcopter.
The rolling movement is provided by increasing (or decreasing) the left rotor’s speed and decreasing (or increasing) the right rotor’s speed at the same time. The pitch movement is provided by the same way but with other two motors. The front and rear motors rotate counter-clockwise while other two motors rotate clockwise, so yaw command is derived by increasing (or decreasing) counter-clockwise motors speed and decreasing (or increasing) clockwise motor speeds at the same time.
The generic dynamics of the quadcopter are derived through Newton-Euler formulation. Kinematic and Dynamic equations can be rewritten as follows:
where
p_{n} - the Inertial North position of the quadcopter in the Inertial frame,
p_{e} - the Inertial East position of the quadcopter in the Inertial frame,
h - the Inertial Vertical height of the quadcopter in the Inertial frame,
u - the body frame velocity vector along body x-axis,
v - the body frame velocity vector along body y-axis,
w - the body frame velocity vector along body z-axis,
φ- the Roll angle in body frame x-axis,
θ - the Pitch angle in body frame y-axis,
ψ - the Yaw angle in body frame z-axis,
p - the roll rate along the x-axis,
q - the pitch rate along the y-axis,
r - the yaw rate along the z-axis,
g - gravitational acceleration,
J_{xx} - Rotational Inertia along the x-axis,
J_{yy} - Rotational Inertia along the y-axis,
J_{zz} - Rotational Inertia along the z-axis.
These three Euler angles form the vector. The position of the vehicle in the inertial frame is given by the vector. The transformation of vectors from the body fixed frame to the inertial frame is given by the rotation matrix R. A rotational matrix as given in
The four rotational velocities ω_{i} of the rotors and the thrust factor of the rotor (b) are the input variables of the real vehicle, but in with regard to the obtained model a transformation of the input is suitable. Therefore, the artificial input variables can be defined as follows:
As mentioned before the inputs chose like
It is really to imagine the overall system described as constituted os two subsystems, the angular rotations, and the linear translations.
Because of their simple structure and robust performance, PD controllers are the widely used in control systems. The PD control scheme is named after its three correcting terms, whose sum constitutes the manipulated variable (MV). The proportional, integral, and derivative terms are summed to calculate the output of the PD controller. Defining u(t) as the controller output, the final form of the PD algorithm is:
where K_{P}, K_{I} and K_{D} are called the propositional, integral and derivative gains, respectively. For adjusting the controller parameters the Ziegler-Nichols method will be used and response of the system [13].
Fuzzy control technique is comparatively new in which input variables are mapped on to membership function this process is called fuzzification and the membership values quantify the implication degree of a rule from rule base. On the basis of rule base a conclusion is made using inference mechanism, in the end, defuzzification converts membership values into the crisp output [15]. The generalized fuzzy control system is given as Figure 3.
The Fuzzy controller has four main components: (1) The “rule-base” holds the knowledge, in the form of a set of rules, of how best to control the system. (2) The inference mechanism evaluates which control rules are relevant at the current time and then decides what the input to the plant should be. (3) The fuzzification interface simply modifies the inputs so that they can be interpreted and compared to the rules in the rule-base. And (4) the defuzzification interface converts the conclusions reached by the inference mechanism into the inputs to the plant.
The transfer function of a conventional PD controller is:
where
K_{p} - the proportional gain,
K_{d} - the derivative gain.
A Takagi-Sugeno (TS) type Fuzzy Logic Controller (FLC) tunes the PD gains online where the tracking error ‘e’ and the change of the tracking error ‘edot’. The PD gains online are used to determine control parameters. Linear transformation gives the modified controller gains as follows [2]:
with [K_{pmin}; K_{pmax}] and [K_{dmin}; K_{dmax}] are predetermined ranges of K_{p}, K_{d}, respectively [12].
The type of Fuzzy Controllers used in this research is are based on Takagi-Sugeno (TS) type fuzzy inference mechanism. A typical rule in a Sugeno fuzzy model has the form:
The fuzzy-PD controller, which takes error “e” and rate of change-in-error “ce” as the input to the controller. The Fuzzy controller rules have used to modify PD gains. The self-tuning the PD controller refers to finding the fuzzy relationship between the two component of PD controller. According to the principle of fuzzy control modifying the two component so as to meet different requirements for control gains. When “ce” and “e” are different, making the control object yield a static a good dynamic and static performance. For selecting the variables of “ce” and “e” choose seven fuzzy input values: negative big (NB), negative medium (NM), negative small (NS), zero (Z), positive small (PS), positive medium (PM) and positive big (PB). We choose four fuzzy output values: big (B), medium (M), small (S), zero (Z).
In order to verify the validity and efficiency of the control algorithm proposed in this paper, simulations of typical trajectory tracking under certain conditions are performed on Matlab/Simulink using data listed in Table 3.
As being expected, the same scaling is ensured for the same type of results with different control scheme where possible.
The derised trajectory (the blue line) almost matches the giventrajectory (the red line) in Figures 10
The results of two methods for three Euler angles are showed in Figures 8 and 9. Additionally, figures show differences between two methods, classical PD controller and fuzzy-PD controller.
From Figures 9, 11, 13 clearly can understand that by using the Fuzzy system for tuning the PD gains the performances improved. Overshoot in three Euler angles and trajectory tracking are less than classical PD gains. In two other angles, you can see big different between classical PD controller and Fuzzy PD controller.
Figures 9, 11, 13 depict the flight trajectory of quadcopter by applying proposed fuzzy-PD controller. As expected, the design methodology makes the quadcopter tracks the desired trajectories in a satisfactory way. From Figure 9 to Figure 12 we can see the actual trajectory (the blue line) almost matches the given trajectory (the red line).
In this paper presents modelling, a classical PD controller and a fuzzy supervisory controller for tuning the PD controller. Although the literature has presented extensively fuzzy control of a dynamical system, application of this technology to quadcopter control is quite new. Flexibility and efficiency is allowed by the application of intelligent strategy fuzzy logic in the design of control systems.
A quadcopter is controlled by designed and implemented fuzzy-PD controller. This vehicle has a complex dynamics due to the coupling of the different variables that represent the motion.
The dependence of the classical controllers on the quadcopter model is much more than the fuzzy controller uses. The controller suitable for nonlinear system control because the fuzzy controller is nonlinear. greatly better was the controller than the classical PD controller as you can see in the result section. Eliminating overshoots than the big overshoots in the classical PD controller is the biggest advantages of the fuzzy PD controller and the other one is smaller setting time than the classical PD controller.
This research was financially supported by the Human Resource Training Program for Regional Innovation and Creativity through the Ministry of Education and National Research Foundation of Korea (NRF-2015H1C1A1035841) and the Demonstration of Energy New Business through the Smart Energy Campus.
No potential conflict of interest relevant to this article was reported.
Configuration, inertial and body fixed frame [
Connection of the two subsystem of the overall dynamical system.
Generic fuzzy control scheme.
Block diagram of fuzzy PD controller.
Basic structure of a Fuzzy controller.
Control surfaces for
Fuzzy adaptive control strategy.
Euler’s angles with PD controller.
Euler’s angles with fuzzy-PD controller.
Trajectory tracking by PD controller.
Trajectory tracking by fuzzy-PD controller.
Trajectory tracking by PD controller 3D.
Trajectory tracking by fuzzy-PD controller 3D.
Fuzzy PD rules for
e/ce | NB | NM | NS | Z | PS | PM | PB |
---|---|---|---|---|---|---|---|
NB | B | B | B | B | B | B | B |
NM | S | B | B | B | B | B | S |
NS | S | S | B | B | B | B | S |
Z | S | S | B | B | S | S | S |
PS | S | S | B | B | B | S | S |
PM | S | B | B | B | B | B | S |
PB | B | B | B | B | B | B | B |
Fuzzy PD rules for
e/ce | NB | NM | NS | Z | PS | PM | PB |
---|---|---|---|---|---|---|---|
NB | B | B | B | B | B | B | B |
NM | S | B | B | B | B | B | S |
NS | S | S | B | B | B | B | S |
Z | S | S | B | B | S | S | S |
PS | S | S | B | B | B | S | S |
PM | S | B | B | B | B | B | S |
PB | B | B | B | B | B | B | B |
Quadcopter model parameters
Parameter | Value | Units |
---|---|---|
Mass of quadcopter ( | 9.8 | kg |
Gravitational acceleration ( | 1 | m/s^{2} |
Length of wings ( | 0.24 | m |
Residual Rotational Inertia ( | 104 × 10^{−6} | kg·m^{2} |
Rotational Inertia along | 8.1×10^{−3} | kg·m^{2} |
Rotational Inertia along | 8.1×10^{−3} | kg·m^{2} |
Rotational Inertia along | 14.2 × 10^{−3} | kg·m^{2} |
Motor constant ( | 6.2×10^{−3} | Ns^{2}/rad^{2} |
E-mail: dotiep84@gmail.com
E-mail: yjryoo@mokpo.ac.kr