You are on page 1of 6

4th

4th IFAC
IFAC International Conference on
4th IFAC International
IntelligentInternational
Control and
Conference
Conference
Automation
on
on
Sciences
4th IFAC
4th IFAC International
IntelligentInternational
Control and Conference
Automation
Conference on
Sciences
on
Intelligent
June Control
1-3, 2016.
2016. and
Reims, Automation
France Sciences
Available online at www.sciencedirect.com
Intelligent
June 1-3,
Intelligent Control and
Reims,
Control Automation
France
and Automation Sciences
Sciences
June 1-3, 2016. Reims, France
June 1-3, 2016. Reims, France
June 1-3, 2016. Reims, France
ScienceDirect
IFAC-PapersOnLine 49-5 (2016) 073–078
Autonomous
Autonomous
Autonomous Fuzzy
Fuzzy
Fuzzy Control
Control
Control and
and
and Navigation
Navigation
Navigation
Autonomous
Autonomous Fuzzy
Fuzzy
of Control
Control
Quadcoptersand
and Navigation
Navigation
of
of Quadcopters
Quadcopters
of Quadcopters
of Quadcopters∗
Diego Domingos ∗∗∗ ,, Guilherme
Diego Domingos Guilherme Camargo Camargo ∗∗ ,, FernandoFernando Gomide Gomide ∗∗∗
Diego
Diego Domingos
Domingos ∗ , Guilherme Camargo ∗ , Fernando Gomide ∗
∗ , Guilherme Camargo ∗ , Fernando Gomide ∗
Diego ∗
Domingos , Guilherme Camargo , Fernando Gomide
∗ School of Electrical and Computer Engineering, University of
∗ School of Electrical and Computer Engineering, University of
∗ School of Electrical and
Campinas, Computer
Campinas, Engineering,
Brazil. University of
∗ School of Electrical and
School of Electrical and Computer
Campinas,
Campinas, Campinas,
Computer
Campinas,
Engineering,
Brazil.
Engineering,
Brazil.
University
University of of
Campinas,
Campinas, Campinas,Campinas, Brazil.
Brazil.
Abstract:
Abstract: A A quadcopter
quadcopter is
A quadcopter is a
aa multirotor
multirotor helicopter
helicopter lifted
lifted and
and propelled
propelled by
by four
four rotors.
rotors. Classic
Classic
Abstract:
and fuzzy
Abstract: controllers
A quadcopter have is
is been
a multirotor
used
multirotor for helicopter
stabilization
helicopter lifted
and
lifted and propelled
navigation
and propelled by four
control
by four ofrotors. Classic
quadcopters,
rotors. Classic
and
and fuzzy
Abstract:
fuzzy controllers
A quadcopter
controllers have
have been
isbeen used
a multirotor
used for
for stabilization
helicopter
stabilization and
lifted
and navigation
and propelledcontrol
navigation control of
by fourofrotors.quadcopters,
Classic
quadcopters,
but
and they
fuzzy
but they
and they require
controllers
require
fuzzy require
controllersconsiderable
have
have been
considerable effort
used
effort
beeneffortused toto
for
to design
design
fordesign and
stabilization tune
and tune
stabilization and
tune
andtheirtheir
their parameters.
navigation
parameters.
navigation control
controlController
of
of quadcopters,
Controller tuning
tuning
quadcopters,
but
can
but be
they a challenging
require considerable
task
considerable especially
effort when
to random
design and
and environment
tune their parameters.
and
parameters. load Controller
disturbances
Controller tuning
are
tuning of
can
but
can be
they
be a
a challenging
require
challenging task
considerable
task especially
effort
especially when
to
when random
design
randomand environment
tune
environment their and
parameters.
and load
load disturbances
Controller
disturbances are of
tuning
are of
major
can
major
can be
be concern.
a
concern.
a This
challenging
This
challenging paper
task
paper
task addresses
especially
addresses
especially the
when
the
when design
design and
random
and
random evaluation
environment
evaluation
environment of
of a
and
a
andparameter
load
parameter
load free
disturbances
free
disturbances self
self evolving
are
evolving
are of
of
major
quadcopter
major concern.
concern. This
autonomous
This paper addresses
fuzzy systemthe fordesign and
stabilization evaluation
and navigationof a parameter
navigation controlfree self evolving
of quadcopters.
quadcopters.
quadcopter
major
quadcopterconcern. This paper
autonomous
autonomous paper addresses
fuzzy system
addresses
fuzzy system
the
for
the
for
design
design and
and evaluation
stabilization
stabilization and
evaluation
and
of
of aa parameter
navigation control
parameter
control
free
of
free
of
self
self evolving
evolving
quadcopters.
Simulation
quadcopter
Simulation results
quadcopter results
autonomous
results
autonomoussuggest
suggestfuzzythat
fuzzy the
system
that system autonomous
for
the autonomous
autonomous fuzzy
stabilization control
and
fuzzy control
for stabilization control system
navigation outperforms
control
system outperforms
and navigation outperforms of classic
quadcopters.
classic fuzzy
control of quadcopters. fuzzy
fuzzy
Simulation
control.
Simulation results suggest
suggest that
that the
the autonomous fuzzy
fuzzy control system
system outperforms classic
classic fuzzy
control.
Simulation
control. results suggest that the autonomous fuzzy control system outperforms classic fuzzy
control.
© 2016, IFAC (International Federation of Automatic Control) Hosting by Elsevier Ltd. All rights reserved.
control.
Keywords:
Keywords: quadcopter control,
quadcopter control, evolving
control, evolving
evolving fuzzy fuzzy control
fuzzy control
control
Keywords:
Keywords: quadcopter
quadcopter control,
control, evolving
evolving fuzzy fuzzy control
control
Keywords: quadcopter
1. INTRODUCTION
1. INTRODUCTION
INTRODUCTION quadcopters.
quadcopters. Performance
Performance of
of the
the self
self evolving
evolving autonomous
autonomous
1.
1. INTRODUCTION quadcopters.
fuzzy controller
quadcopters. Performance
is
Performancecompared of
of the
the self
against
self evolving
a
evolvingfuzzy autonomous
controller
autonomous
1. INTRODUCTION fuzzy
fuzzy controller
quadcopters.
controller is
Performance
is compared
compared of the against
self
against a
evolving
a fuzzy
fuzzy controller
autonomous
controller
An unmanned aerial vehicle (UAV) is an aircraft that does which,
fuzzy
which,
fuzzy in
controller
in
controllerturn,
turn, has
is
has
is been
compared
been
compared shown
shownagainst
against to
to outperform
a fuzzy
outperform
a fuzzy three-
controller
three-
controller
An
An unmanned
unmanned aerial
aerial vehicle
vehicle (UAV)
(UAV) is
is an
an aircraft
aircraft that
that does
does which, in turn, has been shown to outperform three-
Annot need
unmanned a human
aerial pilot
vehicle aboard.
(UAV) Many
is an types
aircraft of
that UAVs
does mode
which,
mode PID
PIDin like
turn,
like controllers.
has
controllers. been Simulation
shown
Simulation to results
outperform
results suggest
suggest that
three-
that
not unmanned
An
not need aa human
need human pilot aboard.
aerial vehicle
pilot aboard.
(UAV) is Many
Many types that
an aircraft
types of UAVs
of does mode PID like controllers. Simulation results suggestthree-
UAVs which, in turn, has been shown to outperform that
have
not been
need developed
a human since
pilot 1900,
aboard. and their
Many study
types continued
of UAVs the
mode
the
mode autonomous
PID
autonomous
PID like
like fuzzy
controllers.
fuzzy
controllers. control
control systems
Simulation
systems
Simulation outperforms
results
outperforms
results suggest
suggest fuzzy
that
fuzzy
that
have
not
have been
need
been developed
a human
developed since
pilot
since 1900,
aboard.
1900, and
and their
Many
their study
types
study continued
of UAVs
continued the autonomous fuzzy control systems outperforms fuzzy
during
have been the first
developed Worldsince War.
1900, Later,
and between
their study 1920
continued and controllers
the autonomous
controllers
the autonomous especially
fuzzy
especially
fuzzy under
control
under
control unpredictable
systems
unpredictable
systems outperforms
outperformsenvironment
environmentfuzzy
fuzzy
during
have been the first
developed Worldsince War.
1900, Later,
and between
their study 1920
continued and controllers especially
during
1930,
during the first
first World
quadcopters
the with War.
four Later, asbetween
rotors between
propellants 1920 were and and load
controllers especially under
disturbances. under unpredictable
unpredictable environment environment
during
1930, the first World
1930, quadcopters
quadcopters with War.
World
with War.
four
Later,
four rotors
rotors
Later, as asbetween
propellants
propellants
1920 and
were
1920 were and
and controllers
and load
load disturbances.
especially
disturbances. under unpredictable environment
introduced
1930,
introduced to
quadcopters
to eliminate
with
eliminate the
four
the need
need of
rotors
of aerodynamic
as propellants
aerodynamic fuselages
were
fuselages and
and load
load disturbances.
disturbances.
1930,
introduced quadcopters
to eliminate withthe
eliminate fourneedrotors as propellants
of aerodynamic
aerodynamic were The
fuselages The paper
paper is is organized
organized as as follows.
follows. Section
Section 222 briefly
briefly reviews
reviews
of UAVs.
introduced
UAVs. to
of UAVs.
introduced to eliminate the the need
need ofof aerodynamic fuselages fuselages The The paper
paper is
quadcopter organized
ismodeling
organizedand as
as follows.
control
follows. Section
using
Section 2 briefly
aa fuzzy
briefly reviews
controller.
reviews
of
of UAVs. quadcopter
The paper
quadcopter ismodeling
organized
modeling and
as
and control
follows.
control using
Section
using a fuzzy
2 briefly
fuzzy controller.
reviews
controller.
of UAVs.
Quadcopters use four
four rotors
rotors to to produce
produce thrust.
thrust. Two Two of the Section
of the quadcopter
Section
quadcopter 33 summarizes
modeling
summarizes
modeling the
and
the
and Self-Evolving
control using
Self-Evolving
control using Parameter-Free
aa fuzzy controller.
Parameter-Free
fuzzy controller.
Quadcopters
Quadcopters use
use four rotors
rotors to produce
produce thrust. Two of Section 33 summarizes the Self-Evolving Parameter-Free
motors
Quadcopters rotate
rotateuse
motors rotate
Quadcopters usecounterclockwise
four
four rotors to
counterclockwise and
and the
to produce the other
thrust.
thethrust.
other Two two
Two of the
rotate
two rotate
rotate
of the
Rule
the Section
Rule
Section Based
Based Controller
3 summarizes
Controller
summarizes (SPARC)
the
(SPARC)
the concept
Self-Evolving
concept
Self-Evolving and
and the
Parameter-Free
the
Parameter-Free main
main
motors counterclockwise and other two Rule
steps
Rule Based
of
Based the Controller
control
Controller (SPARC)
procedure.
(SPARC) concept
Sections
concept and
4
and the
shows
the main
how
main
clockwise
motors
clockwise
motors (Huang
rotate
(Huang
rotate et
et al.,
al., 2009).
counterclockwise
2009).
counterclockwise See
and
See
and Fig.
the
Fig.
the 1.
1.other
other two
two rotate
rotate steps Based
Rule of the the Controller
control procedure.
procedure.
(SPARC) Sections
concept 4 shows
and shows
the how
main
clockwise (Huang et al., 2009). See Fig. 1. steps
SPARC
steps of of is
of isthetheusedcontrol
for
control stabilization
procedure. and Sections
and
Sections 4
navigation
4 shows
shows how
control
how
clockwise
clockwise (Huang
(Huang et
et al., 2009).
al., 2009). See Fig. 1. SPARC
steps used for
control
See Fig. 1. nonlinear sys- SPARC is used for stabilization and navigation controlstabilization
procedure. Sections navigation
4 control
how
Quadcopters
Quadcopters are are complex
are complex nonstationary
complex nonstationary
nonstationary nonlinear nonlinear sys- sys- of quadcopters.
SPARC is used Simulation
for results
stabilization and
and performance
navigation eval-
control
Quadcopters of quadcopters.
SPARC is used Simulation
for results
stabilization and
and performance
navigation eval-
control
tems,
Quadcopters
tems, and
Quadcopters
tems,
and tuning
and tuning are the
are complex
tuning complex
the
controllers
the controllers
controllers gains
nonstationary usually
gains usually
nonstationary
gains usually is
nonlinear an
is an
nonlinear
is art. of
art.
an sys-
sys-
art. of
of
quadcopters.
uation of
quadcopters.
uation of
quadcopters. the
the
Simulation
fuzzy and
Simulation
fuzzy and
Simulation
results
autonomous
results
results and
autonomous
andfuzzy
andfuzzy
performance
controllers
performance
controllers
performance
eval-
in
eval-
in
eval-
Yet,
tems,
Yet,
tems, load
and
load
and and
tuning
and
tuningparameter
the
parameter
the changes
controllers
changes
controllers like
gains
like
gains inertia,
usually
inertia,
usually and
is
and
is lateral
an art.
lateral
an art. uation
a complex
uation of
of the
the fuzzy
operational
fuzzy and
and autonomous
scenario
autonomous are fuzzy
reported
fuzzy controllers
in section
controllers in
5.
in
Yet,
and
Yet, load
up-down
load and
and parameter
wind changes
disturbances
parameter changes can like inertia,
significantly
like inertia, and
and lateral
affect the
lateral a
a complex
uation
complex of operational
the fuzzy
operational and scenario
autonomous
scenario are
are reported
fuzzy
reported in
in section
controllers
section 5.
in
5.
and
Yet,
and up-down
load andwind
up-down wind disturbances
parameter changes
disturbances can
can significantly
like inertia, and
significantly affect the
lateral
affect the Section
a complex
Section
a complex 6
6 concludes
operational
concludes
operational the
the paper
scenario
paper
scenario summarizing
are
summarizing
are reported
reported its
its findings
in section
findings
in section and
and5.
5.
performance
and up-down
performance
and up-down of
of the
wind
the
wind control
disturbances
control
disturbances system.
can
system.
can significantly
significantly affect
affect the
the Section
suggesting
Section 6
6 concludes
issues
concludes for the paper
further
the paper summarizing
development.
summarizing its
its findings
findings and
and
performance of the control system. suggesting
Section
suggesting 6 issues
concludes for further
the paper development.
summarizing its findings and
performance
performance
Contrary to
of
of the
the control
classic control
control
system.
system.
systems, fuzzy controllers de- suggesting issues issues forfor further
further development.
development.
Contrary to
Contrary to classic
classic control
control systems,
systems, fuzzyfuzzy controllers
controllers de- de- suggesting issues for further development.
pend
Contrary
Contrary mostly
pend mostly
mostly to on expert
classic
on expert
to classicexpert knowledge
control systems,
knowledge
control systems, (Pedrycz
fuzzy
(Pedrycz and Gomide,
controllers
and Gomide,
fuzzy controllers Gomide, de-
de- 2. QUADCOPTER MODELING AND CONTROL
pend
2007).
pend But
mostly on
similarly
on expertto knowledge
classic control
knowledge (Pedrycz
systems,
(Pedrycz and
they
and require
Gomide, 2.
2. QUADCOPTER
QUADCOPTER MODELING
MODELING AND
AND CONTROL
CONTROL
2007).
pend
2007). But
mostly
But similarly
on expert
similarly to
to classic
classic control
knowledge
control systems,
(Pedrycz
systems, they
and
they require
Gomide,
require 2.
2. QUADCOPTER
QUADCOPTER MODELING
MODELING AND
AND CONTROL
CONTROL
a proper
2007).
a proper
proper
2007). But choice
similarly
choice
Butchoice
similarlyof the
to
of the
the universes,
classic control
universes,
to classic control membership
systems,
membership
systems, they functions,
they require
functions,
require 2.1 Quadcopter modeling
acontrol
aacontrol
proper rules,
choicescaleof
of factors,
the universes,
and membership
gains. functions, 2.1 Quadcopter modeling
rules,
properrules,
control choicescale
scale the universes,
factors,
of factors, and gains.
universes,
and
membership
membership functions,
gains. functions, 2.1 2.1 Quadcopter modeling
control
control rules,
rules, scale
scale factors,
factors, and
and gains.
gains. 2.1 Quadcopter
Quadcopter modeling modeling
Evolving controllers
Evolving controllers
controllers form form a class
form aa class of
class of adaptive
of adaptive
adaptive systemssystems
systems that that
that The quadcopter
The model considered in this paper is based on
Evolving
can develop
Evolving their
controllers structure,
form a and
classtune their
of adaptive
adaptive parameters
systems that and
that The quadcopter
quadcopter model
model considered
considered in
in this
this paper
paper is
is based
based on
on
can
can develop
Evolving
develop their
controllers
their structure,
form
structure, a and
class
and tune
of
tune their
their parameters
systems
parameters and
and Gibiansky
The quadcopter
Gibiansky
The quadcopter (2012,
(2012, accessed
model
accessed
model June
considered
June
considered 8,
8, 2015),
in this
2015),
in this whose
paper
whose
paper is
isdynamics
based
dynamics
based on
on
gains
can
gains
can to
develop
to
develop maintain
their
maintain
their system
structure,
system
structure, performance
and tune
performance
and tune their
their in
in nonstationary
parameters
nonstationary
parameters and
and Gibiansky
has been
Gibiansky (2012,
studied
(2012, accessed
by June
Luukkonen
accessed June 8,
8, 2015),
(2011).
2015), whose
The
whose dynamics
quadcopter
dynamics
gains to maintain system performance in nonstationary has been
Gibiansky studied
(2012, by Luukkonen
accessed June 8,(2011).
2015), The
whose quadcopter
dynamics
environments
gains to
to maintain
environments
gains
environments maintain under
under
under
disturbances
system performance
disturbances
system performance
disturbances
(Lughofer,
in
(Lughofer,
(Lughofer,
2013
in nonstationary
2013 and
nonstationary
2013 and has
and frame
has
frame
has
been
been
been has studied
four
hasstudied
studied
by
four orthogonal
by Luukkonen
by Luukkonen
orthogonal
Luukkonen flat (2011).
flat rigid
(2011).
rigid
(2011). bars,
bars,
The
Theas
The quadcopter
shown
shown in
asquadcopter
quadcopter in
Angelov,
environments
Angelov, 2012).
environments 2012).
2012).underIn
under particular,
disturbances
In particular,
particular,
disturbances evolving
evolving fuzzy
(Lughofer, controllers
2013
fuzzy controllers
(Lughofer, controllersand
2013 and frame frame
Fig.
frame 1. has
A
has four
rotor
four orthogonal
is placed
orthogonal atflat
flatthe rigid bars,
extremity
rigid bars, as
asof shown
each
shown in
bar
in
Angelov,
can
Angelov,update the
2012). In
rule
In base
particular,and evolving
control
evolving fuzzy
rules
fuzzy to maintain
controllers Fig.
Fig. 1.
1. A
has
A rotor
four
rotor is
is placed
orthogonal
placed at
atflatthe
the extremity
rigid bars,
extremity asof
of each
shown
each bar
in
bar
can
can update
Angelov,
update the
2012).
the rule
In
rule base
particular,
base and
and control
evolving
control rules
fuzzy
rules to
to maintain
controllers
maintain to
Fig.
to
Fig.generate
1.
generate
1. A
A thrusts
rotor is
thrusts
rotor is orthogonal
placed
orthogonal
placed at
at the
theto
to the
extremity
the
extremity frame
frame of
ofplane.
each
plane.
each The
bar
The
bar
performance
can update
update the
performance
can
performance
whenever
rule
rule base
whenever
the
whenever
the
base
the
control
the and
control
and
control
system
control
system
control
system
rules
rules senses
to
senses
senses changes to
changes
to maintain
maintain
changes
generate
coordinate
to generatesystem
generate
coordinate
to
thrusts
thrustsis
thrusts
system is
orthogonal
also shown
orthogonal
also shown
orthogonal
to
in
to
in
to
the
Fig.
the
the frame
Fig.
frame
1.
1.
frame
plane.
plane.
plane. The
The
The
in environment
performance
in environment
environment
performance and
whenever suffers
and suffers
whenever the
suffers disturbances,
control system
disturbances,
the control system senses(Blažič
senses et
changes
(Blažičchanges al., coordinate
al., coordinate
et al., system
system is
is also
also shown
shown in
in Fig.
Fig. 1.
1.
in
in2014 and Precup
environmentPrecupand and
et al.,
al., disturbances,
2014).disturbances,
suffers (Blažič et coordinate
As Fig. 1 system
emphasizes, is also shown
rotors 1 andin Fig.
3 1.
rotate counterclock-
2014
in and
environmentPrecupand et 2014).
suffers disturbances, (Blažič
(Blažič et et al.,
al., As As Fig.
Fig. 11 emphasizes, rotors 11 and 33 rotate counterclock-
2014
2014 and
and Precup et
et al.,
al., 2014).
2014). wise,
As
wise,
As Fig.
Fig. 11 emphasizes,
whereas
whereas rotors
emphasizes,
rotors
emphasizes, 22 rotors
and
rotors
and
rotors
and
44 11rotate
and
rotate
and
rotate
33clockwise.
rotate
clockwise.
rotate
counterclock-
This
counterclock-
This
counterclock-setup
setup
2014
This and
paper Precup et
investigates al., 2014).
the use of a self-evolving parameter wise,
allows whereas
the threerotors
basic 2 and 4
rotations rotate
of the clockwise.
quadcopter This setup
frame:
This
This paper
paper investigates
investigates the
the use
use of
of a
a self-evolving
self-evolving parameter
parameter wise,
allows
wise, whereas
the
whereas threerotors
basic
rotors 2
2 and 4
rotations
and 4 rotate
of
rotate the clockwise.
quadcopter
clockwise. This
This setup
frame:
setup
free
This
free
This fuzzy
paper
fuzzy rule-based
investigates
rule-based
paper rule-based controller
the use
controller
investigatescontroller of called
a
called
the use of called SPARC
self-evolving
SPARC
a self-evolving (Sadeghi-
parameter
(Sadeghi-
parameter allows
yaw
allows the
around
the three
Z
three basic
axis,
basic pitchrotations
around
rotations of
of X the
the quadcopter
axis, and
quadcopter roll frame:
around
frame:
free
Tehran
free fuzzy
fuzzy et al., 2012)
rule-based for stabilization
controller called SPARC
and
SPARC (Sadeghi-
navigation
(Sadeghi- of yaw
allows
yaw around
the
around Z
three
Z axis,
basic
axis, pitch
pitch around
rotations
around of X
X the axis,
axis, and
quadcopter
and roll
roll around
frame:
around
Tehran
free
Tehran fuzzy et rule-based
et al., 2012)
al., 2012) for for stabilization
controller called and
stabilization and
SPARC navigation
(Sadeghi-
navigation of Y
of yaw
Y
yaw axis.
around
around Z
axis. Z axis,
axis, pitch
pitch around
around X X axis,axis, andand roll
roll around
around
Tehran
Tehran et
et al.,
al., 2012)
2012) for
for stabilization
stabilization and
and navigation
navigation of
of Y
Y axis.
axis.

 The last
last author
author thanks
thanks CNPq,
CNPq, the the Brazilian
Brazilian National
National Council
Council for for Y
Let axis.
ξ be the vector of the absolute coordinates and η the
 TheThe lastandauthor thanks CNPq, the Brazilian National Council for
Let
Let ξ
ξ be
be the
the vector
vector of
of the
the absolute
absolute coordinates
coordinates and
and η
η the
the

Scientific
 The
Scientific lastand Technological
author thanks
Technological Development,
CNPq, the grant
Brazilian
Development, grant 305906/2014-3.
National Council
305906/2014-3. for Euler
Let
Euler
Let ξ
ξ angles:
be
angles:
be the
the vector
vector of
of the
the absolute
absolute coordinates
coordinates and
and η
η the
the
The last author thanks CNPq, the Brazilian
Scientific and Technological Development, grant 305906/2014-3. National Council for Euler angles:
Scientific and Technological Development, grant
Scientific and Technological Development, grant 305906/2014-3. 305906/2014-3. Euler angles:
Euler angles:
Copyright
2405-8963 ©
Copyright © 2016,
2016 IFAC
IFAC (International Federation of Automatic Control) Hosting by Elsevier Ltd. All rights reserved.
Copyright © 2016
2016 IFAC
IFAC
Copyright
Copyright © 2016
Peer review© under IFAC
2016 responsibility
IFAC of International Federation of Automatic Control.
10.1016/j.ifacol.2016.07.092
IFAC ICONS 2016
74
June 1-3, 2016. Reims, France Diego Domingos et al. / IFAC-PapersOnLine 49-5 (2016) 073–078

    the angular velocity of rotors 1 and 3, and decreasing the


x Φ
ξ= y (1) η= θ (2) velocity of rotors 2 and 4.
z ψ The angular velocity vector ω is:
 
1 0 −Sθ
ω = 0 CΦ Cθ SΦ · η̇ (9)
0 −SΦ C θ SΦ

Therefore, the equation of motion can be written as:


 
0
mẍ = 0 + RTB + F D (10)
−mg

The drag force F D and the Euler, rigid body motion are
Fig. 1. Four rotors quadcopter specified by:

The rotation around the inertial system is defined by the 1


FD = ρCD Av 2 (11) I ω̇ + ω × (Iω) = τ (12)
orthogonal matrix R. Assume Sx = sin(x) and Cx = 2
cos(x). Thus From the equations above, we obtain the Newton-Euler
  equation:
Cψ Cθ Cψ Sθ SΦ − Spsi CΦ Cψ Sθ CΦ + Sψ SΦ
R = Sψ C θ Sψ Sθ SΦ + C ψ C Φ Sψ Sθ C Φ − C ψ SΦ (3)  
w˙x
−Sθ C θ SΦ Cθ CΦ ẇ = w˙y = I −1 (τ − ω × (Iω)) (13)
w˙z
The quadcopter frame has four orthogonal bars aligned
with the x and y axis, which results in an inertial matrix
I of the form Finally, the quadcopter rotational motion is:
   
Ixx 0 0 Iyy − Izz
I = 0 Iyy 0 (4)    I ωy ωz
−1 
0 0 Izz τΦ Ixx I − xx
I 
 zz xx
ωx ωz 
ẇ =  τθ Iyy  − 
−1
 (14)
Because the bars are equal, and their weight are uniformly −1  Iyy 
τψ Izz  Ixx − Iyy 
distributed along the respective lengths, we may assume ωx ωy
Ixx = Iyy . Each rotor i generates a force fi perpen- Izz
dicular to the frame plane. The intensity of the rotor
forces depend on the angular velocity of the motors ωi , The model was implemented using the V-REP framework
and each motor produces a torque τMi . The relationship (see Rohmer et al. (2013) for a detailed description of V-
between angular velocity, force, and torque are as follows: REP). V-REP allows creation of the quadcopter model
specified above, and offers resources to simulate the quad-
fi = Kωi2 (5) τMi = bωi2 + IM ω̇i (6) copter dynamics when subjected to various environment
where K is a thrust constant, IM is the moment of inertia configurations and situations.
about the motor z axis and b is the drag coefficient. Thus, The following parameter values were adopted in this work:
the overall thrust in the quadcopter frame is: gravitational acceleration g = 9.81m/s2 , thrust constant
 0   0 
K = 3.0 · 10−6 N/(rad/s)2 , and drag coefficient b = 1.0 ·
 0   0  10−7 N · m/(rad/s)2
T =   4
  =   2 
4  (7)
fi k ωi The V-REP physical model consists basically of:
i=1 i=1 • four uniform and rigid bars with width and height
Af = 1.5cm, length Lf = 23.5cm, and mass Mf =
If l is the length of the bar, the distance between the center 78g;
of the quadcopter and a propeller, then the torques in the • 4 uniform and rigid cubes with edges Af = 1.5cm and
frames are:
  mass Mp = 50g as landing supports;
  lk(−ω22 + ω42 ) • one rigid cube with edges Af = 1.5cm and mass
τΦ lk(−ω1 + ω3 )
2 2
Mc = 1.0kg as the center of mass of the quadcopter.
 
τ B = τθ =   4  (8) • one suction-based device located at the center of the
τψ  
τM i quadcopter to catch and hold objects and payloads.
i=1 • four uniform and rigid cylinders with dm = 2.7cm,
height Am = 2.8cm and mass Mm = 80g as rotors,
From (8) we notice that a positive pitch rotation is
and propellers with null mass.
achieved by increasing the angular velocity of rotors 1 and
2 and decreasing the velocity of rotors 3 and 4. Analo- Using the values above, the moment of inertia about the
gously, positive roll rotation can be done by increasing motor z axis is IM = 7.6g·m2 , and from (4), assuming total
the speed of the rotors 1 and 4, and decreasing the speed quadcopter mass Mquad = 1.513kg, the inertial matrix of
of 2 and 3. The yaw rotation is completed by increasing quadcopter model becomes:

74
IFAC ICONS 2016
June 1-3, 2016. Reims, France Diego Domingos et al. / IFAC-PapersOnLine 49-5 (2016) 073–078 75

 
0.005388 0 0 structure and parameters of evolving controllers can be
I quad = 1.513· 0 0.005388 0 kg·m2 (15) computed in real-time to account for deviations from
0 0 0.010684 desirable states of the plant caused by disturbances and
parameter variations.
2.2 Fuzzy control of Quadcopters This paper uses the Self Evolving Parameter Free Rule
Based Controller (SPARC), an adaptive approach intro-
The fuzzy controller adopted in this paper for pitch, alti- duced in (Sadeghi-Tehran et al., 2012). No initial control
tude, yaw, and roll control is each a three mode-like fuzzy rule or parameters are required prior to the initialization of
controller whose input variables are the corresponding the system. The only values needed are the control output
error, the error derivative, and the integral of the error, range and the reference values ranges.
as detailed in (Santos et al., 2010). Each controller is
a Mamdani like controller with centroid defuzzification. SPARC works according to three main steps: initialization,
They use trapezoidal membership functions to granulate update, and control. The initialization step requires an
the universes of the error, error derivative and integral initial data sample y0 at k = 0 and a corresponding
of the error, except at the center where the membership reference value ref0 . From these two initial values, a state
function is triangular. The gains of the input and out- vector with two components, respectively, the error and
put variables of the controllers are tuned via trial and the variation of the error, x0 = [e0 , ∆e0 ]T is produced
error. The structure of the fuzzy control system of the with:
quadcopter is shown in Fig. 2, where SAM denotes an e0 = ref0 − y0 (16) ∆e0 = e0 (17)
aggregation module, and Quad means the quadcopter.
The first data cloud is created using x0 as its focal point.
Initial values of the variables needed for the recursive
calculation of the local density γ, the local scattering σ of
the first data cloud, and the global scatter Γ are also set
in this step. The second step, update, follows initialization
and is performed for every k = 1, .... In this step, the vector
xk = [ek , ∆ek ]T is input to the controllers where:
ek = refk−1 − yk k = 1, 2, ... (18)
∆ek = ek − ek−1 k = 1, 2, ... (19)

The third step, control, computes the control signal uk and


adapts the controller structure as specified by the number
of clouds.
Using a Cauchy Kernel, the local density γki of the i-th
data cloud at k can be computed recursively using:
Mi
γki = i = 1, ..., N (20)
M i (xTk xk + 1) − 2αki + βki

Fig. 2. Fuzzy control system where M i is the number of input data samples associated
with the i-th data cloud, N is the number of clouds, and
The fuzzy control system of Fig. 2 is not adaptive and αk = xTk ξ ik
its performance may degrade when operating in non-
stationary environments under unpredictable load and ξ ik = ξ ik−1 + xk−1 ξ i0 = [0, 0]T (21)
environment disturbances. This is mainly because the βki = i
βk−1 + xk−1 2
β0i =0
control strategy encoded in the fuzzy control rules and
controller gains are fixed and may not account for distinct Using the local density, the corresponding normalized
operational scenarios that occur in a mission. An approach activation degree is
to overcome this limitation is to use adaptive control such γi
as evolving fuzzy control. λik = N k i = 1, ..., N (22)
j=1 γki
3. EVOLVING FUZZY CONTROL
Similarly, the global density can be computed recursively
using:
Contrary to classic control frameworks, where design and
parameter tuning demand deep understanding of the plant k−1
Γik = (23)
dynamics, mathematical models, and trade-offs among k − 1(z Tk z k + 1) − 2Ak + Bk
control objectives, evolving fuzzy controllers form a high
level framework in which the controller structure and where z k = [xT
k , uk ] and
respective parameters self develop simultaneously. They Ak = z Tk Ξk
do not need detailed knowledge of the system dynamics
and parameters, and do not depend of the characteristics Ξk = Ξk−1 + z k−1 Ξ0 = [0, 0, 0]T (24)
of the environment because they are data-driven. The 2
Bk = Bk−1 + xk−1  B0 = 0

75
IFAC ICONS 2016
76
June 1-3, 2016. Reims, France Diego Domingos et al. / IFAC-PapersOnLine 49-5 (2016) 073–078

The control output is given by: ur1 ,k = ualt,k − upitch,k + uroll,k − uyaw,k
N
 N ur2 ,k = ualt,k + upitch,k + uroll,k + uyaw,k
γki Qi (28)
uk = G(xk ) = λik Qi = 
i=1
N
(25) ur3 ,k = ualt,k + upitch,k − uroll,k − uyaw,k
i=1 i=1 γki ur4 ,k = ualt,k − upitch,k − uroll,k + uyaw,k
where where the index ri refers to the rotors r1 , r2 , r3 , and r4 as
numbered in Fig. 1.
Qik = Qik−1 + ∆Qik (26)
∆Qik = C · λik−1 (xk−1 ) · ek (xk−1 ) (27) 4.2 Navigation control
Summing up, the algorithm steps are: The navigation control performs trajectory tracking using
(1) Initialize using the first input data; evolving latitude and longitude controllers. The inputs
(2) Update rules consequents using (26) and (27); of these controllers are the actual latitude and longitude
(3) Compute the activation degrees using (22); values ylat,k , ylon,k , and their corresponding references
(4) Compute the control signal using (25); reflat,k , reflon,k . The output of the navigation controllers
(5) Compute the global density using (23); are pitch and roll refpitch,k and refroll,k reference values
(6) Update data clouds using global densities and data which are forwarded to the picth and roll controllers shown
cloud radius: either generate new data cloud or up- in Fig. 4.
date existing ones.
5. SIMULATION RESULTS
4. AUTONOMOUS FUZZY CONTROL AND
5.1 Training
NAVIGATION
The first step for safe autonomous navigation and control
The autonomous, evolving control and navigation of the of quadcopters evolving is training. SPARC is a real
quadcopter system was developed using an individual time adaptive controller, and we assume that there is no
SPARC controller for pitch, roll, yaw, altitude, latitude information available other than the references. Training
and longitude control. An overview of the control system is done allowing one control action at a time (either
is depicted in Fig. 4 where each evolving fuzzy controller row, pitch, yaw or altitude), keeping the remaining ones
block is marked by a double border box. As before, SAM operating to maintain stable and safe operation. The
is the signal aggregation module. resulting data clouds are stored as starting values for the
complete mission control. Figures 4 and 5 show the altitude
controller performance during training.

Fig. 4. Altitude control training: reference (red), actual


altitude (blue)

Notice that the error and overshoot values decrease during


training. The evolving nature of the controller consistently
creates data clouds that produce control signals able to
track the references. Figures 6 and 7 show the roll control,
and Figures 8 and 9 the yaw control during training.

5.2 Mission
Fig. 3. Evolving stabilization and navigation evolving
control.
This section evaluates the performance of the fuzzy and
the autonomous evolving fuzzy controllers to accomplish
a trajectory tracking and load picking and delivering mis-
4.1 Stabilization sion under random wind disturbances, and a balancing
load behavior due to malfunction in the suction-based
At each k, the pitch, roll, yaw and altitude controllers in- device during load pick and hold. This causes parameter
puts are, respectively, the state variables of the quadcopter (quadcopter mass) change. Because the load is assumed to
ypitch,k , yroll,k , yyaw,k , yalt,k . The reference signals, deter- be assymetrically coupled in the quadcopter, it balances
mined by the mission to be performed by the quadcopter, during flight which means that the moment of inertia
are refpitch,k , refroll,k , refyaw,k , refalt,k . The outputs of of the quadcopter becomes time-varying. Also, the area
the evolving fuzzy controllers upitch,k , uroll,k , uyaw,k and and weight of the load results in larger wind drag forces,
ualt,k are input to SAM to produce drive signals uri ,k as which change the characteristics of the quadopter. Figure
follows: 10 sumarizes the mission: the red line shows the reference

76
IFAC ICONS 2016
June 1-3, 2016. Reims, France Diego Domingos et al. / IFAC-PapersOnLine 49-5 (2016) 073–078 77

Fig. 5. Data clouds created after training of the altitude Fig. 9. Data clouds created after training of yaw controller.
controller. Solid circles are focal points, and dashed The solid circles are focal points, and dashed ellipses
ellipses data clouds. the data clouds (rules).
bances. The load, marked by a white square, is located at
the right end of the conveyor, at the end of the red path.
As soon as the quadcopter picks the load it should fly back,
deliver the load into the bucket marked by a white circle at
the top left of the figure, and return to the starting point.
Fig. 6. Roll control training: reference (red), roll (blue)

Fig. 10. Mission under wind and load pick and hold
disturbances.
Fig. 7. Data clouds created after training of roll controller.
Solid circles are focal points, and dashed ellipses data 5.3 Performance evaluation
clouds.
To evaluate the performance of the controllers, the mean
square error (M SE) of altitude, pitch, roll, navigation
latitude and longitude were computed during the mission
simulation. The M SE is computed using:
T
1 
M SE = (y•,k − ref•,k )2 k = 1, ..., T (29)
Fig. 8. Yaw control training: references (red), yaw (blue) T
k=1

trajectory whose starting point is at the middle bottom, where T is the simulation horizon and • means either pitch,
and black bars are fans that generate random wind distur- roll, yaw, altitude, longitude or latitude.

77
IFAC ICONS 2016
78
June 1-3, 2016. Reims, France Diego Domingos et al. / IFAC-PapersOnLine 49-5 (2016) 073–078

Figures 11 and 12 show the trajectories of the quadcopter 6. CONCLUSION


under SPARC and fuzzy control, respectively. The M SE
performance is summarized in Table 1 Quadcopters are very complex non-linear systems and
often operates in nonstationar environments under un-
predictable disturbances. In this scenario classic control
approaches may become ineffective.
This paper has addressed the use of an advanced adap-
tive fuzzy control approach and compared its performance
against Mamdani like fuzzy controllers. More precisely, the
paper has investigaded the perfornance of a self evolving
parameter free rule based controller to control a quad-
copter during a complex mission. Simulation results show
that the autonomous evolving approach achieves superior
performance, especially in stabilization and navigation
under unpredictable environment disturbances simultane-
ously with parameter variations.
Future work should translate the current solution into a
harware and software implementation for an actual quad-
copter, and a generalization of the conceptual approach.

REFERENCES
Angelov, P. (2012). Autonomous Learning Systems: From
Data Streams to Knowledge in Real-time. John Wiley
Fig. 11. SPARC: reference (red) and actual path (blue).
& Sons.
Blažič, S., Škrjanc, I., and Matko, D. (2014). A robust
fuzzy adaptive law for evolving control systems. Evolv-
ing systems, 5(1), 3–10.
Gibiansky, A. (2012, accessed June 8, 2015).
Quadcopter dynamics, simulation, and control.
http://andrew.gibiansky.com/blog/physics/
quadcopter-dynamics/.
Huang, H. et al. (2009). Stanford testbed of autonomous
rotorcraft for multi-agent control. In 2009 IEEE/RSJ
International Conference on Intelligent Robots and Sys-
tems, 404–405.
Lughofer, E. (2013). On-line assurance of interpretability
criteria in evolving fuzzy systems–achievements, new
concepts and open issues. Information Sciences, 251,
22–46.
Luukkonen, T. (2011). Modelling and control of quad-
copter. Independent research project in applied mathe-
matics, Espoo.
Pedrycz, W. and Gomide, F. (2007). Fuzzy Systems
Engineering. IEEE Press/Wiley.
Precup, R.E., Filip, H.I., Rădac, M.B., Petriu, E.M.,
Fig. 12. Fuzzy: reference (red) and actual path (blue) Preitl, S., and Dragoş, C.A. (2014). Online identification
of evolving takagi–sugeno–kang fuzzy models for crane
systems. Applied Soft Computing, 24, 1155–1163.
Table 1. M SE Performance Rohmer, E., Singh, S.P., and Freese, M. (2013). V-
rep: A versatile and scalable robot simulation frame-
Control Fuzzy SPARC work. In Intelligent Robots and Systems (IROS), 2013
IEEE/RSJ International Conference on, 1321–1326.
Altitude 0.0099 0.0053 IEEE.
Pitch 15.1051 4.7004 Sadeghi-Tehran, P., Cara, A.B., Angelov, P., Pomares,
H., Rojas, I., and Prieto, A. (2012). Self-evolving
Roll 22.0005 4.0608 parameter-free rule-based controller. In Fuzzy Systems
NavX 0.1908 0.0647 (FUZZ-IEEE), 2012 IEEE International Conference on,
1–8. IEEE.
NavY 0.2141 0.1607 Santos, M., López, V., and Morata, F. (2010). Intelligent
fuzzy controller of a quadrotor. In Intelligent Systems
Clearly, SPARC significantly outperforms the fuzzy con- and Knowledge Engineering (ISKE), 2010 International
troller. Conference on, 141–146. IEEE.

78

You might also like