search for


An Autonomous Control of Fuzzy-PD Controller for Quadcopter
Int. J. Fuzzy Log. Intell. Syst. 2017;17(2):107-113
Published online July 1, 2017
© 2017 Korean Institute of Intelligent Systems.

Do Khac Tiep, and Young-Jae Ryoo

Department of Control Engineering and Robotics, Mokpo National University, Mokpo, Korea
Correspondence to: Young-Jae Ryoo, ( )
Received January 8, 2017; Revised June 23, 2017; Accepted June 23, 2017.
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License ( which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

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

Keywords : Quadcopter, Fuzzy control, Attitude control, PID controller, MATLAB/Simulink
1. Introduction

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 [48]. The Fuzzy logic has also been implemented in helicopter control [911]. 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.

2. Dynamical Modelling and Control Forces

2.1 Dynamical Modelling

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 (OBXBYBZB). 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 u1 (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:



  1. pn - the Inertial North position of the quadcopter in the Inertial frame,

  2. pe - the Inertial East position of the quadcopter in the Inertial frame,

  3. h - the Inertial Vertical height of the quadcopter in the Inertial frame,

  4. u - the body frame velocity vector along body x-axis,

  5. v - the body frame velocity vector along body y-axis,

  6. w - the body frame velocity vector along body z-axis,

  7. φ- the Roll angle in body frame x-axis,

  8. θ - the Pitch angle in body frame y-axis,

  9. ψ - the Yaw angle in body frame z-axis,

  10. p - the roll rate along the x-axis,

  11. q - the pitch rate along the y-axis,

  12. r - the yaw rate along the z-axis,

  13. g - gravitational acceleration,

  14. Jxx - Rotational Inertia along the x-axis,

  15. Jyy - Rotational Inertia along the y-axis,

  16. Jzz - 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 Eq. (2):


2.2 Control Forces and Torques

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 Eqs. (3) to (6), where u1 controls the motion along the z-axis, u2 controls rotation along the x-axis (roll angle), u3 controls the rotation along the y-axis (pitch angle) and u4 controls rotation along the z-axis (yaw angle). The ui designed controllers should set values to parameters which determine the four rotor speed parameters by Eqs. (3) to (6).

It is really to imagine the overall system described as constituted os two subsystems, the angular rotations, and the linear translations.

3. Design Controller

3.1 PD Controller

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 KP, KI and KD 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].

3.2 Fuzzy Adaptive Control

3.2.1 Generalized fuzzy control scheme

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.

3.2.2 Fuzzy gain scheduled PD control

The transfer function of a conventional PD controller is:



  1. Kp - the proportional gain,

  2. Kd - 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 [Kpmin; Kpmax] and [Kdmin; Kdmax] are predetermined ranges of Kp, Kd, 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:

If Input 1=xand Input 2=y,then Output is z=ax+by+c.

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).

4. Simulation Results

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 1013.

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).

5. Conclusion

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.

Conflict of Interest

No potential conflict of interest relevant to this article was reported.

Fig. 1.

Configuration, inertial and body fixed frame [1].

Fig. 2.

Connection of the two subsystem of the overall dynamical system.

Fig. 3.

Generic fuzzy control scheme.

Fig. 4.

Block diagram of fuzzy PD controller.

Fig. 5.

Basic structure of a Fuzzy controller.

Fig. 6.

Control surfaces for Kp and Kd.

Fig. 7.

Fuzzy adaptive control strategy.

Fig. 8.

Euler’s angles with PD controller.

Fig. 9.

Euler’s angles with fuzzy-PD controller.

Fig. 10.

Trajectory tracking by PD controller.

Fig. 11.

Trajectory tracking by fuzzy-PD controller.

Fig. 12.

Trajectory tracking by PD controller 3D.

Fig. 13.

Trajectory tracking by fuzzy-PD controller 3D.


Table 1

Fuzzy PD rules for Kp


Table 2

Fuzzy PD rules for Kd


Table 3

Quadcopter model parameters

Mass of quadcopter (m)9.8kg
Gravitational acceleration (g)1m/s2
Length of wings (l)0.24m
Residual Rotational Inertia (Jr)104 × 10−6kg·m2
Rotational Inertia along x-axis (Jxx)8.1×10−3kg·m2
Rotational Inertia along y-axis (Jyy)8.1×10−3kg·m2
Rotational Inertia along z-axis (Jzz)14.2 × 10−3kg·m2
Motor constant (Ke)6.2×10−3Ns2/rad2

  1. Desa, H, Ahmed, SF, and Azfar, AZ (2013). Adaptive hybrid control algorithm design for attitude stabilization of quadrotor (UAV). Archives Des Sciences. 66, 51-64.
  2. Zhao, ZY, Tomizuka, M, and Isaka, S (1993). Fuzzy gain scheduling of PID controllers. IEEE Transactions on Systems, Man, and Cybernetics. 23, 1392-1398.
  3. Jang, JSR (1993). Anfis: adaptive-network-based fuzzy inference system. IEEE Transactions on Systems, Man, and Cybernetics. 23, 665-685.
  4. Wang, LX (1997). A Course in Fuzzy Systems and Control. Upper Saddle River, NJ: Prentice Hall
  5. Lee, CC (1990). Fuzzy logic in control systems: fuzzy logic controller-part I. IEEE Transactions on Systems, Man, and Cybernetics. 20, 404-418.
  6. Reznik, L (1997). Fuzzy Controllers Handbook. Boston, MA: Newnes
  7. Fung, EHK, Wong, YK, Ma, Y, Yuen, CWM, and Wong, WK (2011). Smart hanger dynamic modeling and fuzzy controller design. International Journal of Control, Automation and Systems. 9, 691-700.
  8. Hafaifa, A, Laaouad, F, and Laroussi, K (2011). A numerical structural approach to surge detection and isolation in compression systems using fuzzy logic controller. International Journal of Control, Automation and Systems. 9, 69-79.
  9. Sugeno, M (1999). Development of an intelligent unmanned helicopter. Fuzzy Modeling and Control: Selected Works of M Sugeno, Nguyen, HT, and Prasad, NR, ed. Boca Raton, FL: CRC Press
  10. Kadmiry, B, and Driankov, D 2001. Fuzzy control of an autonomous helicopter., Proceedings of 9th IFSA World Congress and 20th NAFIPS International Conference, Vancouver, Canada, Array, pp.2797-2802.
  11. Cavalcante, C, Cardoso, J, Ramos, JJG, and Neves, OR 1995. Design and tuning of a helicopter fuzzy controller., Proceedings of 1995 IEEE International Conference on Fuzzy Systems, Yokohama, Japan, Array, pp.1549-1554.
  12. Erginer, B, and Altug, E (2012). Design and implementation of a hybrid fuzzy logic controller for a quadrotor VTOL vehicle. International Journal of Control, Automation and Systems. 10, 61-70.
  13. Ziegler, JG, and Nichols, NB (1942). Optimum settings for automatic controllers. ASME Transaction. 64, 759-768.
  14. Voos, H 2009. Nonlinear control of a quadrotor micro-UAV using feedback-linearization., Proceedings of 2009 IEEE International Conference on Mechatronics, Malaga, Spain, Array, pp.1-6.

Do Khac Tiep received his B.S. from Electrical and Electronics Department of Vietnam Maritime University, Haiphong, Vietnam in 2009. He received M.S. degree of Vietnam Maritime University in 2012. From 2009 to 2015, he was a teacher at Viet Nam Maritime University. Since 2016, he has been studying doctor course in the Department of Control Engineering and Robotics, Mokpo National University, South Korea.


Young-Jae Ryoo received his Ph.D., M.S., and B.S. degree in the Department of Electrical Engineering, Chonnam National University, Korea in 1998, 1993, and 1991, respectively. He was a visiting researcher in North Carolina A&T State University, US in 1999. He was a visiting professor in the Department of Mechanical Engineering, Virginia Tech, US from 2010 to 2012. He is currently a professor in the Department of Control Engineering and Robotics, Mokpo National University, Korea from 2000. He also served as a director with the intelligent space laboratory in Mokpo National University, where he is responsible for the research projects in the area of intelligence, robotics and vehicles. He is currently a board member of Korean Institute of Intelligent Systems from 2002, an editor for the Journal of Korean Institute of Electrical Engineering from 2010, an editor for the Journal of Fuzzy Logic and Intelligent Systems from 2009, and a committee member of the International Symposium on Advanced Intelligent Systems from 2005. He served as a general chair of International Symposium on Advanced Intelligent System in 2015 and 2015. He won the outstanding paper awards, the best presentation awards, and the recognition awards in International Symposiums on Advanced Intelligent Systems. He is the author of over 200 technical publications. His research interests include intelligent space, humanoid robotics, legged robotics, autonomous vehicles, unmanned vehicles, wheeled robotics and biomimetic robotics.