DLSU ResCon 2017 Paper 110
DLSU ResCon 2017 Paper 110
DLSU ResCon 2017 Paper 110
Abstract: So many researchers proposed control systems for quadcopter in these past
few years. In this research paper, the proponent presented the design, development
and implementation of a PID Tuning with Fuzzy Logic based flight controller for an
unmanned aerial vehicle quadcopter using Arduino microcontroller. The proponents
introduce the brief introduction of the quadcopter, its significance and applications.
After that, it also introduces the detailed hardware for the quadcopter. The proponent
makes use of Arduino IDE for the programming platform of the Arduino and for the
simulation of the flight controller. The proponent also makes use of MATLAB Simulink
for the PID Tuning; it has been used to test, analyze and compare the performance of
the controllers in simulations and the MATLAB Fuzzy Logic toolbox for the trial and
error of the PID tuned controller. The Sugeno style of fuzzy inference system was used
in the system. Triangular membership functions were used in the control system. Two
Fuzzy inputs are constructed namely: the error, and change in error. The proponents
also constructed FAM matrix for the rules in the fuzzy logic. The output of the fuzzy
logic is normalized in the Dev C++ for fine tuning and getting the accurate and precise
outputs. The proponents used the experimentations to validate the functionality and
applicability of the designed and developed controller The results of the experiments
were satisfactory and it is concluded that it is possible to alleviate quadcopter with
PID tuned fuzzy logic based controller.
Key Words: unmanned aerial vehicle, quadcopter, Simulink, Sugeno style, Arduino
IDE, Fuzzy Logic
4. DESIGN CONSDERATIONS
Fig. 1. PID Fuzzy Logic Structure Block Diagram
4.1 The Prototype
In the figure 1, it shows the block diagram of the
PID fuzzy logic structure. The fuzzy logic controller
takes the system error denoted by “e” and the change
in error denoted by “Δe”. The output of the fuzzy logic
will goes to the PID controller namely: Kp, Ki and
Kd. The output of the PID will goes to the flight
controller of the quadcopter.
Fig.4. MPU6050
In this research, the proponents make use of the
Fig. 2. Hardware Block Diagram the MPU6050 Triple Axis Acclerometer and
Gyroscope in the system. The following reasons why
use this sensor:
Presented at the DLSU Research Congress 2017
De La Salle University, Manila, Philippines
June 20-22, 2017
a. Averaging the data that comes from system, the proponents used the Sugeno Style FIS
accelerometers and gyroscopes can produce System.
a better estimate of orientation than
obtained using accelerometer data alone.
b. Also has Digital Motion Processor (DMP)
c. Economical and cheaper than the separate
modules for the accelerometer and
gyroscope.
d. It is compatible to Arduino
Microcontroller.
Fig. 5. BMP180
This precision sensor is the best low-cost sensing
solution for measuring barometric pressure and
temperature. Because pressure changes with
altitude you can also use it as an altimeter! The
sensor is soldered onto a PCB with a 3.3V regulator,
I2C level shifter and pull-up resistors on the I2C
pins. It is also
Fig. 9. The Output (Kp)
4.2.3 HCM5883L (Magnetometer) The figure shows the Kp output. It also shows the
output of the sugeno style fuzzy interference system
and the membership functions and its parameters
namely: P, Z and N. This is only for the Kp and the
others (Ki and Kd) are in the below part of the Kp.
Fig. 6. HCM5883L
HMC5883L is a triple axis magnetometer.
Magnetometers have a wide range of uses. The axes
are labeled as X, Y, and Z. An output is provided for
each of these axes that describe the position of these
axes relative to the earth’s magnetic field.
Fig. 13. Surface View Ki Fig. 15. Graphical Representation of the Setting Time of
PID and Fuzzy Logic
8. REFERENCES
Ralph Laurence G. VIsaya, et al, DESIGN AND
DEVELOPMENT OF FUZZY LOGIC
ALGORITHM WITH VARYING SETPOINTS
FOR FAN SPEED CONTROL SYSTEM USING
ARDUINO MICROCONTROLLER, 2014