You are on page 1of 6

Available online at www.sciencedirect.

com

ScienceDirect
IFAC PapersOnLine 55-1 (2022) 752–757
Design
Design and
and Test
Test of
of a
a Controller
Controller for
for the
the
Design
Design and
and Test
Test
Pluto of
of
1.2 a
a Controller
Controller
Quadcopter for
for the
the
Design and Test
Pluto
Pluto of
1.2 a Controller
Quadcopter for the
Pluto 1.2
1.2 Quadcopter
Quadcopter
Nitika Pluto 1.2
∗ Quadcopter ∗∗
Nitika Jaggi Jaggi ∗∗ Dr. Dr. Koena Koena Mukherjee
Mukherjee
∗∗∗
∗∗
∗∗
Nitika
Nitika Jaggi
Dr.
Jaggi ∗ Dr. Koena
Munmun
∗ Dr. KoenaKhanra Mukherjee
Mukherjee
∗∗∗ ∗∗
∗∗
Nitika Dr.
Jaggi Munmun
∗ Dr. KoenaKhanra Mukherjee
∗∗∗ ∗∗
Nitika Dr. Jaggi
Dr. Munmun
Munmun Dr. KoenaKhanra
Khanra Mukherjee
∗∗∗
∗∗∗
∗ Dr. Munmun
Dr. Institute
Munmun Khanra ∗∗∗
Khanra Silchar
∗ National of Technology
∗ National Institute of Technology Silchar
∗ National
∗ (e-mail: Institute
National
(e-mail: Institute of
of Technology
nitika.jaggi19@gmail.com).
Technology
nitika.jaggi19@gmail.com).
Silchar
Silchar
∗ National
∗∗ (e-mail: Institute of Technology
nitika.jaggi19@gmail.com). Silchar
National
National Institute
Institute
∗∗ (e-mail: nitika.jaggi19@gmail.com).
National Institute of
of
of Technology
Technology
Technology Silchar
Silchar
Silchar
∗∗ (e-mail: nitika.jaggi19@gmail.com).
∗∗ National
(e-mail:
(e-mail:
∗∗ National Institute of Technology
koena@ei.nits.ac.in)
nitika.jaggi19@gmail.com).
Institute of Technology Silchar
Silchar
∗∗∗
∗∗ (e-mail:
National koena@ei.nits.ac.in)
Institute of Technology Silchar
∗∗∗National (e-mail:
National koena@ei.nits.ac.in)
Institute
Institute of
of Technology Silchar
∗∗∗ National
(e-mail:
(e-mail: Institute of Technology Silchar
Technology
koena@ei.nits.ac.in)
koena@ei.nits.ac.in) Silchar
∗∗∗ National
∗∗∗ (e-mail:
(e-mail:
National Institute
(e-mail:Institute
of Technology
munmun@ei.nits.ac.in)
koena@ei.nits.ac.in)
Institute of Technology
munmun@ei.nits.ac.in)
Silchar
Silchar
∗∗∗ National
(e-mail: of Technology
munmun@ei.nits.ac.in) Silchar
National
(e-mail: Institute of Technology
munmun@ei.nits.ac.in) Silchar
(e-mail: munmun@ei.nits.ac.in)
(e-mail: munmun@ei.nits.ac.in)
Abstract: Quadcopters are being utilized in varying applications like product delivery and
Abstract:
Abstract: Quadcopters
Quadcopters are
are being
being utilized
utilized in
in varying
varying applications
applications like
like product
product delivery
delivery and
and
surveillance.
Abstract: The
The controllers
surveillance.Quadcopters controllers are designed
being
designed must
must be
utilized bein tested
varying
tested extensively
applications
extensively in
in both
like
both simulations
product
simulations and
and flight
delivery and
flight
Abstract:
surveillance.
tests
Abstract:before Quadcopters
The
being controllers
Quadcopters deployed are
are being
designed
on
being the utilized
must
actual
utilized bein varying
tested
system.
in varying Thisapplications
extensively
paper
applications in like
both
presents
like product
simulations
a delivery
Proportional
product and
delivery and
flight
plus
and
surveillance.
tests before
surveillance. The
being
The controllers
deployed
controllers designed
on the
designed must
actual
must be
be tested
system.
tested extensively
This paper
extensively in both
presents
in both simulations
a Proportional
simulations and
and flight
plus
flight
tests before(PD)
Derivative
surveillance.
tests before beingbased
The
being deployed
Cascade
controllers
deployed on thethe
designed
on actual
controlmust
actual algorithm
besystem.
system. This
testedtoThisallow paper
extensively
paperthe inpresents
quadcopter a Proportional
Proportional
both simulations
presents a to go toand plus
itsflight
goal
plus
Derivative
tests before (PD)
being based Cascade
deployed control algorithm toThis
allow the quadcopter to go to its goal
Derivative
location.
tests The
before
Derivative (PD)whole
being
(PD) based Cascade
control
deployed
based Cascade isonsplit
on the
the actual
control
into
actual
control algorithm
four system.
system. to
subsystems-
algorithm to allow
This one
allow
paper
to
paperthe
the
presents
control
presents eachaa output.
quadcopter
quadcopter
Proportional
to
to go
go to its
Simulation
Proportionalto its
plus
goal
plus
goal
location.
Derivative
location. The
The (PD)whole
whole control
based Cascade
control is
is split
split into
control
into four
four subsystems-
algorithm
subsystems-to one
allow
one to
tothecontrol each
quadcopter
control each output.
to
output. go Simulation
to its
Simulation goal
results
Derivative
location.
results of
of the
The
the(PD)same
whole
same are
based presented
Cascade
control
are presentedis splitto
to validate
control
into algorithm
four
validate the proposed
subsystems-
the to
proposed allowmethod.
one tothe
method. Further,
quadcopter
control each
Further, Pluto
to
output.
Pluto 1.2,
go to anitsopen-
Simulation
1.2, an goal
open-
location.
results
source
location. of The
the
drone,
The whole
same
is used
whole control
are
as presented
a
control is
testbed
is split
splitto
forinto
the
into four
validateproject.
four subsystems-
the proposed
Since
subsystems- one
there
one to
method.
was
to control
no each
Further,
prebuilt
control each output.
Pluto
navigation
output. Simulation
1.2, an open-
support,
Simulation
results
source
results of the same
drone,
of is used are
as presented
a testbed to
for validate
the project. the proposed
Since there method.
was no Further,
prebuilt Pluto
navigation 1.2, an open-
support,
source
results
source of the
a Vision-based the same
drone,
drone, is
same
is used
used
are
as
Navigation
are
as
presented
a testbed
systemfor
presented
a testbed
to validate
the
tousing
for validate
the project.
an overhead
project.
the
the proposed
Since
Since there
camera
proposed there
method.
was
andno
method.
was
Further,
prebuilt
ArUco
no Further,
prebuilt
Pluto
tagsnavigation 1.2,
1.2, an
is developed.
Pluto
navigation an open-
support,
This
open-
support,
a
a Vision-based
source drone,
Vision-based is Navigation
used as a system
testbed using
for the an
project. overhead
Since camera
there and
was ArUco
no prebuilttags is developed.
navigation This
support,
estimated
source
a drone,
Vision-based isNavigation
position usedisassent
Navigation system
to Pluto
a testbed
system using
for the
using an
as aoverhead
1.2 project.
an Sincecamera
Multiwii
overhead Serialwas
there
camera and
and ArUco
Protocol
no prebuilt
ArUco tags
(MSP)
tags is developed.
packet
navigation
is developed.via This
WiFi
support,
This
estimated
a Vision-based position is sent
Navigation to Pluto 1.2 as aaoverhead
Multiwii Serial Protocol (MSP) packet via WiFi
estimated
communication.
a Vision-based
estimated position
position Foris
Navigation
is sent
this,
sent asystem
tonew
system
to Pluto
Pluto
using
MSP 1.2
using
1.2
an
as
command
an
as Multiwii
aaoverhead
Multiwii
camera
Serial
is written
camera
Serial byand
and ArUco
Protocol
ArUco(MSP)
modifying
Protocol
tags
the is
tags
(MSP)
developed.
packet
isdrone’s
developed.
packet via This
WiFi
firmware.
via This
WiFi
communication.
estimated
communication. position For
Foristhis,
sent
this, a
a tonew
new PlutoMSP
MSP 1.2 command
as
command is
Multiwii
is written
Serial
written by
by modifying
Protocol
modifying the
(MSP)
the drone’s
packet
drone’s firmware.
via WiFi
firmware.
Finally,
estimated the
communication. complete
position Foris navigation
sent
this, to
a new Pluto and
MSP 1.2 communication
as
command a Multiwii
is system
Serial
written by are
Protocoltested
modifying in
(MSP)
the flight.
packet
drone’s The via system
WiFi
firmware.
Finally, the
communication. completeFor navigation
this, and communication system are tested in flight. The system
Finally,
developed the
communication.
Finally, the forcomplete
Pluto
completeFor 1.2
this,is a
aa new
navigation
navigation novelMSP
new and
MSP
and
command
one communication
and, therefore,
command
communication
is
is written
asystem
written by
by are
contribution
system
modifying
tested
modifying
are to the
tested
the
in
theOpen
in
drone’s
flight.
drone’s
flight. The firmware.
source
The system
aerial
firmware.
system
developed
Finally,
developed the for
for Pluto
complete
Pluto 1.2
1.2 is
is a
navigation
a novel
novel one
and
one and,
communication
and, therefore,
therefore, a
a contribution
system
contributionare to
tested
to the
in
the Open
flight.
Open source
The
source aerial
system
aerial
robotics
Finally,
developed community.
the forcomplete
Pluto 1.2navigation
is a novel and
one communication
and, therefore, asystem
contributionare tested
to in
the flight.
Open The
source system
aerial
robotics
developed community.
for Pluto 1.2 is
robotics
Copyrightcommunity.
developed
robotics ©for2022
community. Pluto
The 1.2 is a
Authors.a novel
novel one and,
This isone and, access
an open
therefore,
therefore, a contribution
articleaunder
contribution
the CC BY-NC-ND
to
to the
the Open
Open source
source aerial
license aerial
robotics
robotics community.
community.
(https://creativecommons.org
Keywords: Quadcopter, PD /licenses/by-nc-nd/4.0/)
control, Cascade control, Pluto 1.2, Vision based navigation,
Keywords:
Keywords: Quadcopter,
Quadcopter, PD
PD control,
control, Cascade
Cascade control,
control, Pluto
Pluto 1.2,
1.2, Vision
Vision based
based navigation,
navigation,
ArUco,
Keywords:
ArUco, WiFi,
WiFi, Multiwii
Quadcopter,
Multiwii Serial
PD
Serial Protocol.
control,
Protocol. Cascade control, Pluto 1.2, Vision based navigation,
Keywords:
ArUco,
Keywords: WiFi, Quadcopter,
Multiwii
Quadcopter, PD
Serial
PD control,
Protocol.
control, Cascade
Cascade control,
control, Pluto
Pluto 1.2,
1.2, Vision
Vision based
based navigation,
navigation,
ArUco,
ArUco, WiFi,
WiFi, Multiwii
Multiwii Serial
Serial Protocol.
Protocol.
ArUco,1.WiFi, Multiwii Serial Protocol.
INTRODUCTION of
1. INTRODUCTION of backstepping
backstepping to to control
control aa quadcopter.
quadcopter. It It uses
uses PD PD control
control
1.
1. INTRODUCTION
INTRODUCTION of
for
of backstepping
attitude
backstepping to
to control
stabilisation
control aa well
as quadcopter.
as position
quadcopter. It
It uses
control.
uses PD
PD control
Özbek
control
Quadcopters are being 1. INTRODUCTION
developed for use in various ap- of
1. INTRODUCTION of
forbackstepping
attitude to control
stabilisation asa quadcopter.
well as position It uses
control.PD control
Özbek
Quadcopters are being developed for use in various ap- for
et
forbackstepping
attitude
al. (2016)
attitude to control
stabilisation
compare
stabilisation as
asa well
differentquadcopter.
well as position
strategies
as position Iti.e.
uses
control.
PID,
control.PD control
Özbek
Sliding
Özbek
Quadcopters
plications like are being
medical developed
aid delivery, for
as use
an in various
emergency ap-
first et al.
for (2016)stabilisation
attitude compare different as well strategies
as position i.e. PID, Sliding
control. Özbek
et
modeal. (2016)
and compare different
as wellstrategies i.e. aaPID, Sliding
Quadcopters
plications
Quadcopters
plications
responder,
Quadcopters
likeare
like
for
being
medical
are beingaid
medical
surveillance,
are being
developed
aid delivery,for
developed
delivery,
etc.
developed They
as use
for
as
for use
an
are
use
in
in various
an emergency
emergency
variouswith
helicopters
in various ap- for
ap-
first
first
ap-
et
mode
et al. and fuzzy
attitude
al. (2016)
(2016) fuzzy logic
logic for
stabilisation
compare
compare for controller
different
controller
different
design
as position
strategies
design i.e.
strategies
of
i.e.
quadcopter.
ofcontrol.
PID,
quadcopter.
PID,
Özbek
Sliding
Sliding
plications
responder, like
for medical
surveillance,aid delivery,
etc. They as an
are emergency
helicopters first
with
first mode mode
It
et al. and
compares
(2016)
and fuzzythem logic
compare on for
the controller
basis
different of design
tracking
strategies of
i.e.a quadcopter.
precision,
PID, ap-
Sliding
plications
responder,
four counter
plications like
for
like medicalpropellers
surveillance,
rotating
medical aid delivery,
aid delivery,
etc. They
placedasare
as an
an emergency
in helicopters
the same plane.
emergency with
first mode
It and fuzzy
It compares
compares
plicability
mode and fuzzy
of
fuzzy
them
them
logic
logic
control
logic
onfor
on
thecontroller
for
the
signals,
for
basis of design
controller
basis of
quality
controller
tracking
design
tracking
of
design
of aa quadcopter.
precision,
of precision,
transient
of a quadcopter.
response
quadcopter.
ap-
ap-
responder,
four counter
responder, forrotating
for surveillance,
propellers
surveillance, etc. They
etc. They
placed are
arein helicopters
the same
helicopters with
plane.
with It compares
plicability of them
control on the
signals,basis of
quality tracking
of precision,
transient response ap-
four counter
Theycounter rotating
are controlled
responder, forrotating propellers
by
surveillance, differential placed
etc. They in helicopters
adjustment
are the same
same
of the plane. It
an- plicability
with and compares
energy them
ofefficiency.
control on the
onsignals, basis of
quality tracking
of precision,
transient response ap-
four
They
four
They are controlled
counter
are controlled
rotating propellers
by differential
propellers placed in
in the
adjustment
placed the of the
same the an- It
plane.
plane. andcompares
plicability
energyof
plicability
them
control
efficiency.
ofefficiency.
the basis
control signals,
signals, quality
of tracking
quality of
precision,
of transient
transient response
response
ap-
gularcounter
four
They velocities
are controlledof theby
rotating by differential
rotors.
propellers
differential adjustment
Quadcopters
placed in
adjustment can same
the of
move
of the an-
freely
plane.
an- and energy
plicability of control signals, quality of transient response
gular
They velocities
are controlledof the
theby rotors. Quadcopters
differential adjustment can move
move
of the
the an- and
freely Just energy
as efficiency.
gular
in
in 3D
They
gular velocities
space
are
3D velocities
gular space
velocities
i.e.
controlledof
they
i.e. of the
they
of the
rotors.
have
by
rotors.
have
rotors.
6 Quadcopters
6 degrees
differential
degrees of
adjustment
Quadcopters
of
Quadcopters
can
freedom(DOF).
can
freedom(DOF).
can
of
move
move
freely
But
an-
freely
But
freely
and as important
energy
Just energy
and efficiency.
important
efficiency.
as
as testing
testing the the designed
designed controllers
controllers in in
in 3D space i.e. they
thehave 6 Just as
simulation, important
is to as
deploy testing
the the designed
controller onto controllers
aa hardware in
they
gular
in
they
in 3D
3D
have
space
have
space
only
velocitiesi.e.
only
i.e.
4 rotors
of
they
4 rotors
they
rotors.
have
have 66 degrees
(actuators)
degrees
(actuators)
degrees
of
tofreedom(DOF).
Quadcopters
of
to
of
control
freedom(DOF).
control
freedom(DOF).
all 6 DOF.
can move
all 6 DOF.
But
freely
But
But
Just as
simulation,
Just as
simulation,
testbed.
important
is to deploy
important
Plutois to
1.2,
as
as
deploy
an
testing
testing
the
open
the
the controller
the designed
designed
controller
source,
ontocontrollers
onto
programmable
hardware
controllers
aa hardware
in
in
nano
they
Thus,
in
they have
3Dhave theyonly
space are 4underactuated
i.e. theyrotors (actuators)
have(actuators)
6 degrees tofreedom(DOF).
systems.
ofto control
Independentall 66 DOF.
DOF.But Just
con- as important
simulation,
testbed. Plutois to as
antesting
1.2,deploy the
open the designed
controller
source, onto
programmable controllers
a hardware
in
nano
Thus,
they
Thus, theyonly
have
they are 44underactuated
only
are
rotors
underactuated
rotors (actuators) to control
systems.
systems. Independent
control
Independent
all
all 66 DOF. con-
simulation,
con- simulation,
DOF. testbed.
drone is Pluto
an isexcellent
is to deploy
1.2,deploy
to the source,
an choice
open
the controller
for the
controller onto It
programmable
same.
onto a hardware
is
hardware nano
small,
trol
they
Thus, of 2
have states
only namely
4 rotors x (forward/backward)
(actuators) to control ,y (right/left)
all testbed.
drone is PlutoPluto 1.2,
an excellent an open
choice source, programmable
for theprogrammable
same. It is small, nano
trol
Thus,
trol of 22they
of they are
states
are
states
underactuated
namely
namely x
systems.
x (forward/backward)
(forward/backward)
underactuated systems. Independent
,y (right/left)
Independent
,y (right/left)con-
con- testbed.
drone
robust
testbed. is
to an
crashes
Pluto 1.2,
excellent
1.2,and aneconomical.
an open source,
choice
open source,
for the
It’s same.
firmware
programmable It isis a nano
small,
mod-
nano
translation
Thus,
trol of 2
translationthey is
are
states
is lost.
namely
lost. These
underactuated
These x translations
systems.
(forward/backward)
translations are
are coupled
Independent
,y
coupled with
(right/left)
with the
con-
the drone
robust
drone is
to
is an
crashes
an excellent
and
excellent choice
economical.
choice for
for the
It’s
the same.
firmware
same. It
It isis
is a small,
mod-
small,
trol of&22Pitch
states namely x (forward/backward)
(forward/backward) ,y (right/left)
(right/left) robust
ified to crashes and economical. It’s firmware It is isa mod-
translation
Rollof
trol
translation
Roll &
translation Pitch
is
states
is
is
lost.
angles.
namely
lost.
angles.
lost.
These
These
These
x translations
translations
translations
are coupled
are coupled
are
,y
coupled with
with the
with
the
the robust ified version
drone
robust
is
to
versionan
to crashes
crashes
of
of the
excellent
the and
and
popular,
choice open
economical.
popular,
economical.
for the
open source
It’s
source
It’s
same.flight
firmware
flight
firmware
software,
is aa small,
mod-
software,
issoftware,
mod-
Roll & & Pitch
translation Pitch angles.
is angles.
lost. These translations are coupled with the ified ified
robust version
Cleanflight.
to
version It
crashesof
of the
can
the be
and popular,
programmed
economical.
popular, open
open source
in
It’s
sourceC flight
using
firmware
flight predefined
is a mod-
software,
Roll
A
Rollmathematical
& Pitch model
angles. of the quadcopter is required for Cleanflight.
ified version Itofcan
the be programmed
popular, open in
sourceC using
flight predefined
software,
A mathematical
Roll & Pitch angles. model of the quadcopter is required for ified Cleanflight.
functions
version
Cleanflight. Itofcan
It can
(DronaAviation
thebe be programmed
popular, (2016)). in has
It
open source C using
using
only predefined
one
flightpredefined disad-
software,
A mathematical
designing a controllermodel forof the
it. Thequadcopter
dynamicsis ofrequired
the system for functions
Cleanflight.
functions
vantage
Cleanflight.
(DronaAviation
It can
can
(DronaAviation
though,It be programmed
there
be is no
(2016)).
programmed
(2016)).
navigation
programmed
in
It
It
in
C
has
in has
C
only
Csupport
using
only
using
one
one
inbuilt.
disad-
predefined
disad-
predefined
A
A mathematical
designing a
mathematical model
controller
model forof
of the
it.
theThequadcopter
dynamics
quadcopter is
isof required
the
requiredsystem for
for functions
vantage (DronaAviation
though, there is no (2016)).
navigation It has only
support one
inbuilt.disad-
designing
aremathematical
A a
derived from controller for
first principles
model it. The
of theThe dynamics
by Gibiansky
quadcopter of the
(2012).
isofrequired systemPa- functions
for vantage though, (DronaAviation
there is (2016)).
no(2016)).
navigation It has only
support one
inbuilt.disad-
designing
are derivedaa from
designing
are
controller
from
controller for
for it.
first principles
principles
it. bydynamics
Theby Gibiansky
dynamics of the
the system
(2012).systemPa- functionsvantage
A controller
vantage
(DronaAviation
though,
though, there
requires is
is no
there real navigation
notime
It has
feedback
navigation
only one
support
of
support the inbuilt.disad-
position
inbuilt.
persderived
are by Bouabdallah
designing
derived a from first
controller
first and
for Siegwart
it.
principles The by Gibiansky
(2005), of
dynamics
Gibiansky (2012).
Dydek
the
(2012). et Pa-
systemPa- al. vantage
A controller
though, requires
there real
is no time feedback
navigation of
support the position
inbuilt.
pers
are by Bouabdallah
derived Bouabdallah
from first and Siegwart
first(2011) Siegwart
principles by (2005), Dydek
Gibiansky Dydek
(2012). et Pa- al. A of controller
the requires real time feedback of the position
pers
(2013),
are
pers
(2013),
pers
by
derived
by
by
Luukkonen
from
Bouabdallah
Luukkonen
Bouabdallah
and
principles
and
(2011)
and
and by
Siegwart
and
SiegwartShi
(2005),
ShiGibiansky
et al. (2020)
(2005),
et al.
(2005),
(2012).
Dydek
(2020)
Dydek
allet
allet
et
use
Pa-
use
al.
al.
al.
A
A the drone.
of controller
controller
Many
Many methods
drone.requires
requires real
methods
real time
time
can be
be used
feedback
can
feedback usedofof for
thethe
for
the the same
position
same
position
(2013),
the same
pers by Luukkonen
equations of
Bouabdallah (2011)
motion
and and toShi
Siegwart deriveet al.
the (2020)
(2005), Dydekall
mathematical et use al. of of
A the
depending
the drone.
controller
drone.upon Many
Manywhere
requires methods
the
real
methods can
quadcopter
time can be
feedback
be used
would
used of for
fly.
the theFor same
out-
position
(2013),
the same
(2013), Luukkonen
equations
Luukkonen (2011)
of motion
(2011) and
and to Shi
derive
Shi et
et al.
the
al. (2020) all
mathematical
(2020) all use
use depending
of the drone.upon Manywhere the quadcopter
methods can be wouldfor
used fly.the
for theForsameout-
same
the
model same
(2013), equations
ofLuukkonen
the quadcopter of motion
(2011) butand to
presentderive
Shi them
et al.the mathematical
in(2020)
slightly differ-
all depending
door,
of
use depending the GPS
drone.upon
is
upon Manywhere
preferred.
where the
methods
theForquadcopter
indoors,
can
quadcopter be would
Vision
used
would fly. fly.
for based
fly. theFor out-
nav-
same
For nav-
out-
the
model
the same
same equations
of the
the quadcopter
equations of motion to
but present
ofdifferent
motion present
to derive
them
derive the
in
the mathematical
slightly
mathematical differ- door,
depending GPS is
upon preferred.
where theFor indoors,
quadcopter Vision
would based For out-
model
ent ways
the same of due quadcopter
to use of
equations of but
motion frames
to them
derive of the in slightly
reference. differ-
Various
mathematical door,
igation
depending
door, GPS
is is
upon preferred.
preferred. where theFor
Kulich indoors,
(2019)
quadcopter Vision
discusses
would fly. based
the For nav-
various
out-
model
ent
modelways of
of the
due
the quadcopter
to use
quadcopterof but
different
but present
frames
present them
themof in slightly
reference.
in slightly differ-
Various
differ- igationGPS
door, GPS is preferred.
is preferred.
is preferred. Kulich For
For indoors,
(2019)
indoors, Vision
discusses
Vision based
the
based nav-
various
nav-
ent ways
strategies
model of due
for
the to use
control
quadcopterof different
have butbeen frames
discussed
present themof reference.
in
in literature.
slightly VariousThe
differ- igation
methods
door,
igation is
GPS
is preferred.
available
is
preferred. for
preferred.Kulich
localisation
Kulich For (2019)
indoors,
(2019) discusses
using vision
Vision
discusses the
based
the various
navi-
nav-
various
ent ways
strategies
ent ways due
for to
due use
useetof
control
to different
have
ofhave been frames
different discussed
frames of
of reference.
in literature.
literature.
reference. Various
VariousThe igation methodsisavailable
igation preferred. forKulich
localisation(2019) using vision the
discusses based navi-
various
strategies
paper
ent ways
strategies for
by due
for control
Castillo
to use
control ofal. been
(2004)
different
have been discussed
implements
frames
discussed of in PD control
reference.
in literature.VariousThe
The on methods
gation
gation and
methods
methods
isavailable
and augmented
preferred.
available
augmented
available
for
for
for
localisation
reality.
Kulich
localisation
localisation
ArUco
reality.(2019)
ArUco
using
using
using
tags
tags
vision
discussesare
are one
vision
vision
based
the
based
one
based
of
of
navi-
these
various
navi-
these
navi-
paper
strategiesby Castillo
for controlet al.
have (2004)
been implements
discussed in PD control
literature. The on gation
methods. and Itaugmented
is reality. ArUco tags are one of these
paper
all 12 by
strategies
paper
all
paper12 by
Castillo
states of the
for control
Castillo
states
by of the
Castillo the
et
et
et
al.
al. (2004)
quadcopter.
have
al. (2004)
quadcopter.
(2004)
implements
The nonlinear
been discussed
implements
The nonlinear
implements nonlinear
PD
PD control
dynamics
in literature.
PD control
dynamics
control
The on
on
on
methods
gation
methods.
gation and
andIt is computationally
available
Itaugmented for localisation
reality.
computationally
augmented reality.
simple,
ArUcousing
simple,
ArUco tags
tags
has
vision
hasare
are
fast
fastone detection
based of navi-
of these
detection
onedetection these
methods.
and occlusion is computationally
avoidance properties simple, has fast
(Garrido-Jurado et
all
are
paper
all 12
are 12
all
states
linearised
by
states
statesisof
linearised
12
of
Castilloand
andthe
ofand
quadcopter.
then
et al. a hover
(2004)
quadcopter.
then
thethen
The
control
implements
The is
The nonlinear
a hover control
quadcopter.
designed
PD
is designed
nonlinear
dynamics
control for
dynamics it.
on
for it. methods.
dynamics
gation
methods. and
and occlusion
methods. Itaugmented
It isis reality.
computationally
avoidance
is avoidance
computationally propertiesArUco
simple,
simple,
tags hasarefast
(Garrido-Jurado
has fast
one of
detection
fast detection
detectionet al.
these
al.
are
The
all linearised
12system
states ofpractically
the a hover control
implemented
quadcopter. The asis designed
well.
nonlinear The for
paper
dynamics it. and
and occlusion
(2014)).
occlusionIt computationally
avoidance properties
properties (Garrido-Jurado
simple, has
(Garrido-Jurado et
et al.
al.
are
The
are linearised
system
linearised is and then
practically
and then aa implemented
hover
hover control
control asis
is designed
well.
designedThe for
paper
for it.
it. (2014)).
and occlusion avoidance properties (Garrido-Jurado et al.
The system
by Ajmera
are linearised andis practically
and then a implemented
Sankaranarayananhover control(2015) as well.
is applies
designedThe paper
thefor idea it. and (2014)).
occlusion avoidance properties (Garrido-Jurado et al.
(2014)).
The
by system
Ajmera
TheAjmera
systemand andis
is practically
Sankaranarayanan
practically implemented
implemented (2015) as well.
well. The
applies
as applies Thethepaperidea (2014)).
paper (2014)).
by
The
by system is Sankaranarayanan
practically implemented (2015) as well. Thethe idea
paper
by Ajmera
by Ajmera and
Ajmera and Sankaranarayanan
and Sankaranarayanan (2015)
Sankaranarayanan (2015) applies
applies the the ideaidea
2405-8963 Copyright © 2022 The Authors.(2015) This is an applies the
open access idea
article under the CC BY-NC-ND license.
Peer review under responsibility of International Federation of Automatic Control.
10.1016/j.ifacol.2022.04.123
Nitika Jaggi et al. / IFAC PapersOnLine 55-1 (2022) 752–757 753

In this paper, we design a PD based Cascade controller for D = drag = k v


position control of a quadcopter in MATLAB/Simulink. I = moment of inertia = diag [Ix, Iy, Iz]
This controller is tested in multiple test cases in simula- [ω̃] = Cross product matrix
tion. A step ahead to that, the controller is deployed onto Translational velocity vector = v = [v1 , v2 , v3 ]
Pluto 1.2, a hardware testbed. While implementing the Angular velocity vector, ω = [ωx , ωy , ωz ]
same, a number of practical challenges are faced. A vision Input thrust vector, F = [Fx , F y , Fz ]   
based navigation system using ArUco tags is used to get lk Ω24 − Ω22 
position information. Further this data is transmitted to Input torque, τ = [τφ , τθ , τψ ] =   lk Ω23 − Ω21 
the drone via WiFi using Multiwii Serial Protocol(MSP) 2 2 2 2

b Ω 2 + Ω4 − Ω1 − Ω3
packets. For this purpose a new MSP command is written. Ωi = angular velocity of rotor i
The paper is organised as follows. Section 2 derives the l = length of quadrotor arm
mathematical model of the system. Section 3 describes the k = aerodynamic constant
control strategy used. Section 4 illustrates on the hardware b = drag factor for rotors
implementation. In section 5 the results of the simulation g = acceleration due to gravity
and hardware system are discussed. Section 6 concludes
the findings of the paper. Solving equations 1 to 4, we get the following dynamics:
 
Iy − Iz Jr l
2. MATHEMATICAL MODELLING φ̈ = θ̇ψ̇ − θ̇Ω + U2
Ix Ix Tx
 
This section describes the notation and reference frames Is − I x Jr l
θ̈ = φ̇ψ̇ + φ̇Ω + U3
used and then formulates the mathematical model of a Iy Ty Ty
generic quadcopter using the Newton - Euler method.  
Ix − I y 1
ψ̈ = φ̇θ̇ + U4
Iz Tz (5)
2.1 Notation Used
1
z̈ = −g + (cos φ cos θ) U1
Consider the following configuration of a quadcopter (fig m
1
1). The North-West-Up frame of reference has been used. ẍ = (cos φ sin θ cos ψ + sin φ sin ψ) U1
Roll axis is along x axis, pitch along y axis and yaw along m
z axis of the body fixed frame. Let the inertial frame 1
ÿ = (cos φ sin θ sin ψ − sin φ cos ψ) U1
be defined as EI : {oI , xI , yI , zI } and the body fixed m
frame be defined as EB : {ob , xb , yb , zb }. The position of Where,
 
U1 = k Ω21 + Ω22 + Ω23 + Ω24 = Collective Force (in N)
U2 = k Ω21 − Ω22  = Roll Force ( in N )
U3 = k  Ω23 − Ω21 = Pitch Force ( in N )
U4 = b Ω22 + Ω24 − Ω21 − Ω23 = Yaw Torque (in Nm)
Ω = Ω2 + Ω 4 − Ω 1 − Ω 3
Jr = Rotor inertia (in kg m2 )

2.3 Model of the system

Let the state vector, X be -


X = [x, y, z, φ, θ, ψ, ẋ, ẏ, ż, φ̇, θ̇, ψ̇] T
∈ R12
Fig. 1. Inertial reference frame and body fixed frame
attached to Quadcopter and input vector, U be -
T U = [U1 , U2 , U3 , U4 ] T
∈ R4 .
quadcopter in inertial frame EI is written as r = [ x y z ]
and orientation is represented by the 3-2-1 Euler set as The output of the system, Y, is considered to be the
Θ = [φ, θ, ψ]T . drone’s position and heading angle, defined as-
Y = [y1 , y2 , y3 , y4 ] T
= [x, y, z, ψ] T
∈ R4 .
2.2 Dynamics of the System
As can be seen from equations 5, the system is nonlinear.
The equations of motion of the quadcopter are given by To use with a linear controller, the equations need to be
Shi et al. (2020) and Gibiansky (2012) - linearised about an equilibrium point. Nonlinear systems
have infinitely many equilibrium points. In the case of
ṙ = v (1)
quadcopters, these are of 2 types- either when it is at rest
m{v̇} = [F ] + [G] + [D] (2) or when in hover state. Linearising the plant about hover
{Θ̇} = [B]{ω} (3) state for equilibrium inputs:
[I]{ω̇} + [ω̃][I]{ω} = {τ } (4) U ∗ = [mg, 0, 0, 0]T
Where, m = mass of quadcopter
The equilibrium state vector for the system is found to be:
G = gravity =[0, 0, -m g]
B = transformation matrix between angular rates & ω X ∗ = [x, y, z, 0, 0, ψ, 0, 0, 0, 0, 0, 0]T
754 Nitika Jaggi et al. / IFAC PapersOnLine 55-1 (2022) 752–757

This implies that the linearised model behaves as the The linear model is approximated within a small operating
actual system with zero roll & pitch inclinations, no region. This region was found by considering a small
translational and rotational velocities and at any x,y,z perturbation around the operating point as well as the
position and heading. Selecting ψ = π/2 and performing physical limits of parameter values on Pluto 1.2. Using
Jacobian linearisation to find A,B,C,D matrices we get the the maximum rotor speed (Ω) of the Pluto 1.2 as 30,000
following linear model: rpm and equation 2.2, the outputs from the controllers
∆Ẋ = A ∆X + B ∆U were restricted to the following values: U1 = [0, 3.1034] N,
(6) U2 = [−1E − 4, 1E − 4] N, U3 = [−1E − 4, 1E − 4] N, U4
∆Y = C ∆X + D ∆U
= [−8.49E − 3, 8.49E − 3] Nm. Similarly, desired pitch &
Where, roll angles limited to around 15 deg or 0.2 rads.

∂f 
A= = [O6×6 , I6×6 ; a6×12 ]12×12
∂X (X ∗ ,U ∗ ) 3. CONTROLLER DESIGN

∂f  Using the model obtained in eq 6, the controllability and
B= = [O8×4 ; b4×4 ]12×4
∂U (X ∗ ,U ∗ ) observability of the system was checked. The system was
found to be open loop unstable but fully controllable.
  Hence, a controller can be designed for the system.
 100000000 0 0 0
∂g  0 1 0 0 0 0 0 0 0 0 0 0 As is evident from the dynamics (eq 5), the position states
C= =
∂X  (X ∗ ,U ∗ )
001000000 0 0 0 (x & y) depend upon the attitude states ( φ , θ and ψ).
000001000 0 0 0 4×12 This implies that the attitude dynamics are faster than the
 position dynamics for a quadcopter. Any control strategy
∂g 
D= = O4×4 thus designed can exploit this property. Throughout most
∂U (X ∗ ,U ∗ ) of the literature, the complete dynamics of the quadcopter
and   are broken down into 2 - Attitude dynamics and Position
0 0 0 g 0 0 0 0 0 0 0 0 dynamics and are controlled separately.Their relationship
0 0 0 0 g 0 0 0 0 0 0 0 is shown in fig 2.
 
0 0 0 0 0 0 0 0 0 0 0 0
a=
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
 
1/m 0 0 0
0 l/Ix 0 0 
b= 
0 0 l/Iy 0
0 0 0 1/Iz Fig. 2. General control structure for quadcopters

The same can also be represented by the following transfer


function matrix: 3.1 Control Strategy employed
Y (s) = G(s)U (s)
Attitude dynamics are fast and key to stability of a quad-
Where, copter. Hence, they require a computationally simple and
 gl 
fast controller. Generally PD (Proportional plus Deriva-
0 0 0 tive) controllers are used for this purpose. The position
 Iy s4 
 gl  controller, on the other hand, is comparatively slower and
 
0 − 0 0  more complex. Depending upon the approach, both linear
G(s) = 
 1
Ix s 4 

  and nonlinear control can be used for it.
 ms2 0 0 0 
 1  The control strategy employed in this project can be seen
0 0 0 in fig 3. The complete control system has been divided
Iz s 2 into 4 subsystems. The controllers are in Cascade with
While modelling the linear as well as nonlinear system in the inner loop dedicated to the attitude controller and
MATLAB the parameters of the drone hardware used i.e. outer loop to control position. The outer loops generate the
Pluto 1.2 were considered. These are listed in Table 1. desired values or set points for the inner loops. Since, the x
Table 1. Pluto 1.2 parameters used for simula- position depends on the pitch angle (θ) and the y position
tion on the roll angle (φ), they form a separate subsystem
respectively. The Altitude (z) does not depend on any
Parameter value units orientation angle (linear model), hence it is considered as
m 0.056 kg a separate subsystem. Similarly, the heading angle (ψ)
L 0.065 m
is completely independent of the others and controlled
k 2.83e-08 Ns2
separately.
b 1.55e-10 Nms2
Ix 6.5e-05 kg m2 The attitude controllers (for φ, θ, ψ) are all chosen to
Iy 6.21e-05 kg m2 be PD controllers. Additionally, the position controllers
Iz 1.18e-04 kg m2 for x, y and z are also chosen as PD controllers. There
Jr 5.15e-07 kg m2 is a reason for this choice. Since, this is meant to be
Nitika Jaggi et al. / IFAC PapersOnLine 55-1 (2022) 752–757 755

Fig. 4. Block diagram of the practical system


and 3 axis accelerometer on-board to provide orientation
information. It uses data from a barometer sensor onboard
to estimate altitude. However, there is no sensor to provide
Fig. 3. Control strategy employed in the project the drone with its x,y position in 3D space.
implemented on a flight computer that has limited memory Keeping the available resources in mind, the Vision
and computational ability (Pluto 1.2’s flight controller based navigation method was chosen. It works on the
board is Primus V4), the controller must be simple, fast, principle of detecting special features in an image, gener-
require less memory, be easier to program in C and process ally Fiducial Markers, and tracking them to see how the
output in real time. object moves relative to them. For this project ArUco
markers were chosen as they are computationally sim-
Even though the system is nonlinear, a linear control
ple, fast to detect and quite robust to marker occlusion
approach is utilised for maintaining computational sim-
(Garrido-Jurado et al. (2014)). For this project, the 4X4
plicity. The controller thus designed has restrictions on
dictionary of markers was used. The tag was printed on
the range of values of inputs and states.These restrictions
paper and attached to the top of the canopy of Pluto 1.2.
arise not only from the operating region (where the linear
A wide angle webcam, fixed on the ceiling, tracked these
and nonlinear models are similar) but also from physical
markers using an OpenCV based Python script.
limitations like maximum rotor speeds, maximum linear
velocity, maximum roll and pitch angles, minimum thrust
4.2 Communication subsystem
input,etc.
Once the position information is retrieved, it needs to be
3.2 Tuning the controllers
sent to the drone which was quite challenging as there was
no method existing for that for Pluto 1.2. The solution was
The control strategy used has 5 PD and 1 PID (Pro- the following. Pluto 1.2 uses an ESP8266 WiFi module on-
portional plus Integral plus Derivative) controllers which board which transfers data serially between the drone and
need to be tuned. It requires finding out 13 parameters. the ground station. This is configured to act as an Access
Further, the x and y subsystems have 2 loops in cascade. Point which uses the TCP/IP connection with Telnet
It is not possible to tune these systems by trial and error protocol. The data transmitter is required to connect to
method not only due to the sheer number of parameters Pluto’s WiFi network as a Client.
but also because the system is unstable. Two approaches
were used for tuning - pole placement and Ziegler Nichols Pluto 1.2’s firmware (based on Cleanflight) transmits
(ZN) method. As mentioned in section 2.3, the upper and and receive data packaged using the Multiwii Serial Pro-
lower bounds to various parameters were used. The gains tocol (MSP). Thus, a new MSP command was added
thus obtained on the linear model, were applied to the to the firmware called MSP POS PACKET with a value of
nonlinear system. An interesting thing to note here is that 230. In response to it, 4 data bytes of data would be
since x & y are interacting in the actual plant, their outer read, the first 2 would be assigned to an extern variable
loops needed to be re-tuned at a specific operating point xpos aruco with unsigned integer datatype, MSB first.
i.e. ∆x = [ -25, 25 ], ∆y = [ -25, 25 ] and ∆z = [ -10, 150]. Similarly, the next 2 databytes would be assigned to ex-
tern variable ypos aruco. These modifications were made
4. HARDWARE IMPLEMENTATION in Magis master/src/main/io/serial msp.cpp file of
Pluto 1.2’s firmware. After this, the complete file was re-
After the controller was designed and tested in simulation, built to check for errors and generate the necessary library
it was to be implemented onto the actual hardware, Pluto file. The generated libpluto 03.a is then copied to the
1.2, a programmable, nano-drone developed by Drona libs folder of the desired position tracking program of the
Aviation Pvt Ltd. The hardware implementation requires controller written in C. This concludes the modifications
more than just the controller as shown in Fig 4. There are made in the firmware for communication.
3 major blocks to consider - the controller (rewritten in On the Client side, another ESP8266 NodeMCU module
C), Navigation system and Communication module. was connected to the computer running the Navigation
script. The Python script generates the position data in
4.1 Navigation subsystem the form of a string. This string must be sent to the drone
in the proper configuration using MSP protocol via WiFi.
In order to do set point regulation, the system needs A block diagram of the complete hardware setup is shown
information of all its 6 primary states i.e. position in x, in fig 5. Fig shows the image of the actual lab setup with
y, z axes and the attitude (roll, pitch, yaw angles) in 3D a laptop connected to the overhead camera which tracks
space. Pluto 1.2 combines data from a 3 axis gyroscope the drone (bottom left).
756 Nitika Jaggi et al. / IFAC PapersOnLine 55-1 (2022) 752–757

Fig. 8. Controller performance for pure translation in


backward direction

Fig. 5. Block diagram of the complete system

Fig. 9. Controller performance for pure translation along


left direction

Fig. 10. Controller performance for pure translation in the


Fig. 6. Photograph of the actual lab setup right direction
5. RESULTS & DISCUSSION

5.1 Controller designed

The designed controller was tested for different scenarios


in simulation.The fig 7 and 8 show the performance of
the controller when given a pure translation step input
in x axis in forward and backward directions respectively.
The fig 9 and 10 show the performance of the controller Fig. 11. Controller performance for increasing altitude
when given a step input of 50m in y axis in left and
right directions respectively. The fig 11 and 12 show the
performance of the controller when given a step input of
100m to increase altitude and step of 50m to decrease
altitude respectively.

Fig. 12. Controller performance for decreasing altitude

estimator to Node MCU. The program in Node MCU


also successfully packages the data packets and transmits
Fig. 7. Controller performance for pure translation in them to the drone. Pluto 1.2’s firmware identifies the
forward direction MSP command received from Node MCU and responds
accordingly too. This shows that the whole navigation
& communication system works properly. Fig 13 shows a
5.2 Navigation and Communication system still from a video recorded of the experiment which tested
the back-end communication and navigation system. The
The ArUco tag on the quadcopter is correctly identi- image on the left shows the quadcopter position being
fied and its position is properly estimated. The position detected before taking off and right image shows the same
string is successfully transmitted from the Python position while in flight.
Nitika Jaggi et al. / IFAC PapersOnLine 55-1 (2022) 752–757 757

Dydek, Z.T., Annaswamy, A.M., and Lavretsky, E. (2013).


Adaptive Control of Quadrotor UAVs: A Design Trade
Study With Flight Evaluations. IEEE Transactions
on Control Systems Technology, 21(4), 1400–1406. doi:
10.1109/TCST.2012.2200104.
Garrido-Jurado, S., Muñoz-Salinas, R., Madrid-Cuevas,
F., and Medina-Carnicer, R. (2016). Generation of
fiducial marker dictionaries using Mixed Integer Linear
Programming. Pattern Recognition, 51, 481–491. doi:
10.1016/j.patcog.2015.09.023.
Fig. 13. Flight test of Navigation & Communication sys- Garrido-Jurado, S., noz Salinas, R.M., Madrid-Cuevas, F.,
tem and Marı́n-Jiménez, M. (2014). Automatic generation
6. CONCLUSION and detection of highly reliable fiducial markers under
occlusion. Pattern Recognition, 47(6), 2280 – 2292. doi:
The main objective of this work was to design a position http://dx.doi.org/10.1016/j.patcog.2014.01.005.
controller for a quadcopter and test its performance on Gibiansky, A. (2012). Quadcopter Dynamics and Simula-
hardware. Pluto 1.2 is an excellent platform for researchers tion.
to work with aerial robotics as it is open source and Kulich, T. (2019). Indoor navigation using vision-based
economical. The only drawback it had was the lack of localization and augmented reality.
Navigation support.This functionality was only available Luukkonen, T. (2011). Modelling and control of quad-
in Robot Operating System (ROS) and not in C. Without copter.
knowledge of where the drone is in 3D space, its position Romero-Ramirez, F.J., Muñoz-Salinas, R., and Medina-
cannot be controlled. Carnicer, R. (2018). Speeded up detection of squared
fiducial markers. Image and Vision Computing, 76, 38–
With the setup developed in this project, the position of 47. doi:10.1016/j.imavis.2018.05.004.
Pluto 1.2 can be estimated by Computer Vision and ArUco Schaub, H. and Junkins, J.L. (2009). Analytical mechanics
tags and be transmitted wirelessly to the drone. This setup of space systems. AIAA education series. American
allows control systems researchers to easily develop their Institute of Aeronautics and Astronautics, Reston, VA,
controllers in C. As per the author’s knowledge, such a 2nd ed edition. OCLC: ocn432595022.
system has not been built previously for Pluto drones. The Shi, D., Wu, Z., and Chou, W. (2020). Anti-disturbance
author considers this to be her contribution to the open trajectory tracking of quadrotor vehicles via gen-
source robotics community. Using this method, researchers eralized extended state observer. Journal of Vi-
can easily build cheap experimental platforms for testing bration and Control, 26(13-14), 1173–1186. doi:
their controllers. This shows the promise of bringing the 10.1177/1077546319892752.
notoriously expensive aerial robotics within the reach of a Özbek, N.S., Önkol, M., and Efe, M. (2016). Feedback con-
wider research community. trol strategies for quadrotor-type aerial robots: a survey.
Transactions of the Institute of Measurement and Con-
REFERENCES trol, 38(5), 529–554. doi:10.1177/0142331215608427.
Ajmera, J. and Sankaranarayanan, V. (2015). Trajectory
Tracking Control of a Quadrotor. IEEE, Trivandram.
Alex (2012). New MultiwiiSerialProtocol - MultiWii. URL
http://www.multiwii.com/forum/viewtopic.php?t=1516.
Bouabdallah, S., Noth, A., and Siegwart, R. (2004).
Pid vs lq control techniques applied to an indoor mi-
cro quadrotor. 2004 IEEE/RSJ International Con-
ference on Intelligent Robots and Systems (IROS),
3, 2451–2456. doi:10.1109/IROS.2004.1389776. URL
http://ieeexplore.ieee.org/document/1389776/.
Bouabdallah, S. and Siegwart, R. (2005). Backstep-
ping and Sliding-mode Techniques Applied to an In-
door Micro Quadrotor. In Proceedings of the 2005
IEEE International Conference on Robotics and Au-
tomation, 2247–2252. IEEE, Barcelona, Spain. doi:
10.1109/ROBOT.2005.1570447.
Castillo, P., Lozano, R., and Dzul, A. (2004). Sta-
bilization of a mini-rotorcraft having four rotors.
In 2004 IEEE/RSJ International Conference on In-
telligent Robots and Systems (IROS) (IEEE Cat.
No.04CH37566), volume 3, 2693–2698. IEEE, Sendai,
Japan. doi:10.1109/IROS.2004.1389815.
DronaAviation (2016). API Reference Using Cygnus IDE.
DronaAviation (2018). Building native code with Cygnus
IDE(firmware hex file).

You might also like