You are on page 1of 6

Available online at www.sciencedirect.

com

ScienceDirect
Trajectory Tracking
IFAC PapersOnLine for5731–5736
53-2 (2020) a Multicopter under
Trajectory Tracking for a Multicopter  under
Trajectory Tracking for
a Quaternion
Trajectory Tracking for a Multicopter
Multicopter
Representation
a under
 under
a Quaternion
Trajectory Tracking Representation
for a Multicopter under
a Quaternion
a Nguyen
Quaternion Representation
Representation 
Huu Thien
a Nguyen
Quaternion

Ngoc Thinh Nguyen
Representation
∗∗
IonelaProdan ∗∗∗
Huu Thien ∗ Ngoc Thinh

Nguyen
Fernando Lobo Pereira
∗∗ Ionela Prodan ∗∗∗
∗∗
∗ ∗∗∗
Huu
Huu Thien Thien Nguyen NguyenFernando ∗ Ngoc Thinh

Ngoc Thinh Lobo Nguyen
Pereira ∗∗∗∗∗ Ionela
Nguyen
∗∗
Ionela Prodan
Prodan ∗∗∗
∗∗∗

Huu∗Thien Nguyen Fernando


Ngoc -Thinh
Fernando
∗ Lobo Pereira
Lobo Nguyen
Pereira ∗∗∗
Ionela Prodan ∗∗∗
Research Unit SYSTEC Research Center∗ for Systems and
∗ Research Unit SYSTEC

Technologies, Fernando
hosted at Faculty Lobo
- Research Pereira
Center for
of Engineering, Systems
Porto and
University,
∗ Research Unit SYSTEC -- Research
Research Center for for Systems and

Technologies,
Research and at hosted
Unit
Institute at Faculty
SYSTEC for of Engineering,
Systems and Center
Robotics, Porto University,
Systems
Porto. and
Technologies,
Research hosted at Faculty
Faculty of Engineering,
Engineering, Porto University,
E-mail: huu-thien.nguyen@outlook.com, flp@fe.up.pt and
Technologies, and atUnit
hosted SYSTEC
Institute at for - Research
of
Systems and Center
Robotics, for Systems
Porto University,
Porto.

Technologies, and at Institute


athosted for
for Systems
at Faculty and
and Robotics, Porto.
∗∗
Univ. and
E-mail: Institute forofRobotics
Systems
huu-thien.nguyen@outlook.com,
of Luebeck, Institute Engineering,Robotics, Porto
and flp@fe.up.pt
Cognitive University,
Porto. Systems,
∗∗ Univ.
∗∗ E-mail:
of
and
E-mail: at huu-thien.nguyen@outlook.com,
Luebeck,
InstituteInstitute
for for
Systems
huu-thien.nguyen@outlook.com, Robotics
and and
Robotics,flp@fe.up.pt
Cognitive
Porto.
flp@fe.up.pt Systems,
∗∗ Univ.
Luebeck, Germany. Email: nguyen@rob.uni-luebeck.de
∗∗
Univ. of Luebeck,
Luebeck,
E-mail:
of Luebeck,
Germany. Institute
Email: for nguyen@rob.uni-luebeck.de
huu-thien.nguyen@outlook.com,
Institute for Robotics
Robotics † and and flp@fe.up.pt
Cognitive Systems,
Cognitive Systems,
∗∗∗
Univ. Grenoble Alpes, Grenoble INP , LCIS, Valence, France.
∗∗∗
∗∗
Univ.
Univ. Luebeck,
Grenoble
of
Luebeck, Germany.
Luebeck,
Germany.Alpes, Email:
Grenoble
Institute
Email: for nguyen@rob.uni-luebeck.de
INP
Robotics † , and
LCIS,
nguyen@rob.uni-luebeck.de

Valence,
Cognitive France.
Systems,
E-mail: ionela.prodan@lcis.grenoble-inp.fr.
∗∗∗
∗∗∗ Univ. Grenoble Alpes, Grenoble INP
INP † ,, Univ.
LCIS, Valence, France.
∗∗∗ †
† Luebeck,
Univ.Institute E-mail:
GrenobleofGermany. ionela.prodan@lcis.grenoble-inp.fr.
Alpes,
Engineering Email:
Grenoble nguyen@rob.uni-luebeck.de
and Management LCIS,Grenoble
Valence, France.
Alpes.
Univ.
∗∗∗ †† Institute E-mail:
Grenoble
E-mail:
of ionela.prodan@lcis.grenoble-inp.fr.
Alpes, Grenoble INP
ionela.prodan@lcis.grenoble-inp.fr.
Engineering and Management , LCIS, Valence,
† Univ. Grenoble Alpes.
France.
† Institute of Engineering and Management Univ. Grenoble Alpes.
† Institute E-mail: ionela.prodan@lcis.grenoble-inp.fr.
of Engineering and Management Univ. Grenoble Alpes.
Abstract: This paper proposes
† Institute a two-layer
of Engineering and hierarchical
Management Univ. control schemeAlpes.
Grenoble for trajectory tracking
Abstract:
of a multicopter This papersystem proposes a two-layer
using attitude hierarchical
quaternion. Wecontrol schemethe
first present for differential
trajectory tracking
flatness
Abstract:
of a
Abstract:multicopter This
This paper
system
paper proposes
using
proposes a
a two-layer
attitude
two-layer hierarchical
quaternion.
hierarchical We control
first
control scheme
present
scheme for
the
for trajectory
trajectory tracking
differential flatness
tracking
properties of the system and then, exploit them to design the feedback linearization laws for
of
of a multicopter
Abstract:
properties ofThis system
the paper
system using
and
proposes attitude
then, exploit
a two-layer quaternion.
them We
to design
hierarchical first
thepresent
control schemethe
feedback differential
linearization
for trajectory flatness
laws
trackingfor
theaposition
multicopter controller at using
the high attitude
control quaternion.
level. Next, We the first present
computed-torque the differential
control method flatness is
properties
the
of aposition
multicopterofcontroller
the system
system at and
the
using then,
high exploit
control
attitude themNext,
level.
quaternion. to design
design
We thefirst thepresent
feedback
computed-torque linearization
control method
thelinearization laws foris
properties
employed of
for the
stabilizing theand then,
attitude exploit
quaternion. them Theto whole the
controlfeedback
scheme isdifferential
illustrated flatness
laws
through for
the
employed
the position
properties
position for
of controller
stabilizing
the system
controller at
atthethe
and
the high
attitude
then,
high control
exploit
control level.
quaternion. them
level. Next,
Theto
Next, the
whole
design
the computed-torque
control
the scheme
feedback
computed-torque is control
illustrated
linearization
control method
through
laws
method foris
is
simulations while the position controller is further tested under experiments over a nano-drone
employed
simulations
the
employedposition for
for stabilizing
while the
controller
stabilizing atthe
position
thetheattitude
controller
high
attitude quaternion.
control is further
level.
quaternion. The
Next,
The whole
tested the
whole control
under scheme
experiments
computed-torque
control scheme is
is illustrated
over
controla
illustrated through
nano-drone
method
through is
quadcopter platform.
simulations
quadcopter
employed
simulations while
forplatform. the
the position
stabilizing
while controller
the attitude
position controller is
is further
quaternion.furtherThe tested
wholeunder
tested control
under experiments over
over aa nano-drone
scheme is illustrated
experiments through
nano-drone
quadcopter
Copyright ©platform.
simulations platform.
2020 The
while positionThis
the Authors. is an open
controller access article
is further tested under under CC BY-NC-NDover
the experiments license
a nano-drone
quadcopter
Keywords: Quaternion;
(http://creativecommons.org/
quadcopter platform. Trajectory tracking;
licenses/by-nc-nd/4.0) Differential flatness; Feedback linearization;
Computed Quaternion;
Keywords: torque control; Trajectory
Multicopter tracking;
unmannedDifferential
vehicleflatness; Feedback linearization;
Keywords: Quaternion;
Keywords:
Computed torque control;
Quaternion; Trajectory
Multicopter
Trajectory tracking;
unmanned
tracking; Differential
vehicleflatness;
Differential flatness; Feedback
Feedback linearization;
linearization;
Computed Quaternion;
Keywords:
Computed torque control;
torque control; Multicopter
Trajectory
Multicopter unmanned
tracking;
unmanned vehicleflatness; Feedback linearization;
Differential
vehicle
Computed 1. INTRODUCTION
torque control; Multicopter unmannedet al., 2015; Johnson and Leang, 2014; Alaimo et al., 2013;
vehicle
1. INTRODUCTION et al., 2015;
Fresk Johnson and Leang,
and Nikolakopoulos, 2013). 2014; Alaimothe
Between et al., 2013;
three of
1.
1. INTRODUCTION
INTRODUCTION et
et al.,
Fresk
al., 2015;
and
2015; Johnson
Johnson and
Nikolakopoulos,
and Leang,
Leang,2013). 2014; Alaimo
Between
2014; Alaimo et
the
et al., 2013;
three
al., of
2013;
them,
Multicopters (also referred to as multirotor aerial vehi- Fresk and Nikolakopoulos, 2013). Between the three using Euler angles (roll, pitch, yaw) is the most
of
Multicopters
cles) are receiving (also1. INTRODUCTION
areferred
growing to as multirotor
interest in both researchaerial vehi-and et them,
Fresk
popular andusing
al., 2015; Euler
Johnsondueangles
and
Nikolakopoulos,
method to its (roll,
Leang,2013). pitch,
2014; yaw)interpretation
Alaimo
Between
straightforward iset the
the al., most
2013;
three of
Multicopters
cles) are
Multicopters (also
receiving
(also areferred
growing
referred to as
interest
to as multirotor
in both
multirotor aerial
research
aerial vehi-
and
vehi- them,
popular
Fresk
them, andusing
method
using Euler
Eulerdue angles
to
Nikolakopoulos,
angles its (roll,
(roll, pitch,
straightforward
2013). pitch, yaw)
Between
yaw) is
the
is the
interpretation
the most
three
mostof
industry communities due to their broad range of aerial (e.g., popular
the vehicle’s direction is measured by the yaw angle).
method due to its straightforward interpretation
cles) are
Multicopters
cles) are
industry receiving
(also
receiving
communities aareferred
growing
growing
due interest
to
to as
interest
their in both
multirotor
in
broad both research
aerial
research
range of and
vehi-
and
aerial (e.g.,
them,
popular the usingvehicle’s
method Euler direction
due angles
to its is measured
(roll, pitch,
straightforward by
yaw) the isyawthe angle).
interpretation most
applications such as target tracking, package delivery, and The (e.g.,
Euler angles representation suits various control de-
the vehicle’s direction
industry
cles) communities
are receiving
industry
applications
structural communities
such as
inspection
due
a target
growing
(Floreano
to their
tointerest
due tracking,their
and Wood,
broad
in both
broad
package range of
research
range
2015). of aerial
Inaerial
delivery, most The
signsEuler
and popular
(e.g., themethod
such angles
as PID,due
vehicle’s LQR, its is
representation measured
to Lyapunov-based
direction by
suits various
straightforward
is measured the
bycontrol,
the yaw
control
yaw angle).
interpretation de-
angle).
feedback
applications
industry
applications such
communities as target
such asinvolving tracking,
due tracking,
target tomulticopter
their package
broad
package delivery,
range of
delivery, and
aerial The
signs
(e.g.,
The Euler
such
the
Euler angles
as PID,
vehicle’s
angles representation
LQR,
directionLyapunov-based
representation is suits
measured
and linearization, Model Predictive Control, etc., as pointed suits various
by control,
the
various control
yaw feedback
control de-
angle).
de-
structural inspection
of the applications (Floreano and Wood, 2015).
systems, Intrajec-
most
structural
of the inspection
applications
applications
structural such
inspection as (Floreano
involving
target
(Floreano and
multicopter
tracking,
and Wood,
package
Wood, 2015).
systems, In
delivery,
2015). In most
trajec-
and
most signs
signs such
linearization,
The Euler
such as
as PID,
Model
angles
PID, LQR,
LQR, Lyapunov-based
Predictive
representation
Lyapunov-basedControl,
suits control,
etc.,
various
control, as feedback
pointed
control
feedbackde-
tory tracking is an indispensable control task and hence, out by Nascimento and Saska (2019), and the references
linearization, Model Predictive Control, etc., as pointed
of the applications
structural
of
torythe inspection
applications
tracking is an involving
(Floreano
involving
indispensable multicopter
and
multicopter Wood,
control systems,
2015).
systems,
task and Intrajec-
most
trajec-
hence, out
signs by
therein. such
linearization, Nascimento
as
However,PID,
Model and
LQR,
some Saska
serious (2019),
Lyapunov-based
Predictive Control,
drawbacks and of the
control,
etc.,
this references
as feedback
pointed
represen-
the number of related research works has substantially out by Nascimento and Saska (2019), and the references
tory tracking ofis an indispensable control task and hence, therein. However, some serious drawbacks of the
this represen-
of
tory
the
beenthe applications
tracking
number
increasing is related
an
sinceinvolving
indispensable
research
the multicopter
early works
2000s hassystems,
control(Nascimento
task and trajec-and linearization,
hence,
substantially out
tation by are
therein.
theModel
Nascimento
However,
presence
some
Predictive
and Saska
of Control,
(2019),
singularities
serious drawbacks
and etc.,
that
of
can
this
as pointed
references
occur
represen-
in
the
been
tory
the number
increasing
tracking
number of
is related
since
an research
the
indispensableearly works
2000s
control has substantially
(Nascimento
task and and
hence, tation
out by
therein. are the
Nascimento
However, presence
and
some of singularities
Saska
serious (2019),
drawbacks that
and of can
the
this occur
references
represen- in
Saska, 2019).ofA related
popularresearchsolution works has substantially
is to decouple the mul- some tation
specific circumstances (e.g., when the vehicle rotates
are the presence of singularities that can occur in
been
Saska,
the
been increasing
2019).
number
increasing ofA since
popular
related
since the early
solution
research
the early 2000s
is
works
2000s to (Nascimento
decouple
has the
substantially
(Nascimento and
mul-
and some
therein.
tation specific
However,
are the circumstances
some
presence serious
of (e.g., when
drawbacks
singularities the of
that vehicle
this
can rotates
represen-
occur in
ticopter dynamics by employing a hierarchical two-layer up some
to a perpendicular position), and the “gimbal lock”,
specific circumstances (e.g., when the vehicle rotates
Saska,
been
Saska,
ticopter 2019).
increasing
2019).
dynamics A
A popular
since
popular
by the solution
employingearly
solution is
2000s
a is to
to decouple
(Nascimento
decouple
hierarchical the
the mul-
and
mul-
two-layer up
tation
some
which to a areperpendicular
specific
happens the presence
circumstances
when twoposition),
of singularities
axes(e.g.,
of and
when the
rotation that
the “gimbal
can
vehicle
align lock”,
occur
rotates
together, in
control scheme (Mellinger and Kumar, 2011; Formentin up to a perpendicular position), and the “gimbal lock”,
ticopter
Saska,
ticopter
control dynamics
2019).
dynamics
scheme by
A (Mellinger
popular employing
bywhich solution
employingand aais hierarchical
Kumar, toguarantees
decouple
hierarchical two-layer
the mul- some
two-layer
2011; Formentin which
up
andtothe ahappens
specific when loses
quadcopter two
circumstances
perpendicular axes
a(e.g.,
position), of when
degreerotationthe
andofthe align
vehicle
“gimbal
freedom together,
rotates
lock”,
(Diebel,
and Lovera, 2011), not only stability which happens when loses
two axes of rotation
rotation align together,
control scheme (Mellinger and Kumar, 2011; Formentin and tothe quadcopter a degree andofrequires
freedom (Diebel,
and
controlLovera,
ticopter
by singularscheme 2011),
dynamics bywhich
(Mellinger
perturbation employingnot only
and
theory Kumar, guarantees
a hierarchical
(Nascimento 2011; and Saska, up
stability
two-layer
Formentin which
2006).
and the
ahappens
perpendicular
Moreover, when
quadcopter
usingtwoposition),
axes
Euler
loses
of
angles
aa degree of
the “gimbal
align
freedom
lock”,
together,
repeatedly
(Diebel,
and
by
and Lovera,
singular
control scheme
Lovera, 2011),
perturbation which
(Mellinger
2011), which not
theory
and
not only guarantees
(Nascimento
Kumar,
only 2011;
guarantees and stability
Saska,
Formentin
stability 2006).
which
and the Moreover,
happens when
quadcopter usingtwo Euler
loses axes angles
of
degree ofrequires
rotation align
freedom repeatedly
together,
(Diebel,
2019), but is also convenient for autonomous trajectory calculating their trigonometric functions which are time-
by
and
by singular
2019), Lovera,
singular
tracking but
taskisperturbation
2011),
perturbation
alsoreal
on which
convenient theory
notfor
theory
multicopters.
(Nascimento
only guarantees
(Nascimento
autonomous and
and Saska, 2006).
Saska,
stability
trajectory and
2006). theMoreover,
calculating
consuming and
using
theiroccupy
quadcopter
Moreover, Euler
trigonometric
usingloses
Euler
significant
angles ofrequires
functions
a degree
angles whichrepeatedly
freedom
requires
computational are time-
(Diebel,
repeatedly
resources
2019),
by but
singular
2019), but is also
isperturbation
alsoreal convenient
convenient theory for autonomous
for(Nascimento
autonomousand trajectory calculating
consuming
2006).
calculating their
and
Moreover,
their
Saska, (Fresk and Nikolakopoulos, 2013).
trajectory trigonometric
occupy
using significant
Euler
trigonometric functions
angles
functions whichrepeatedly
computational
requires
which are
are time-
resources
time-
tracking task on multicopters.
tracking
Regarding
2019),
tracking task
but
taskthe
is on
also
on real
control
real multicopters.
convenientdesigns
multicopters. for within
autonomous layer, we consuming
each trajectory (Fresk and and
calculating
consuming theiroccupy
Nikolakopoulos,
and significant
trigonometric
occupy 2013).
significant computational
functions which are
computational resources
time-
resources
Regarding
can classify
tracking taskthethe
on control
existing
real designs
approaches
multicopters. withinbyeach theirlayer,attitudewe In (Fresk
orderand
consuming
(Fresk and Nikolakopoulos,
to avoid
and the aforementioned
occupy
Nikolakopoulos, 2013).
significant
2013). issues, a feasible
computational solu-
resources
Regarding
classifythe
Regarding thethecontrol
control designs within
withinbyeach layer, we
we In order toemploy
avoid the aforementioned issues,Various
a feasible solu-
can
representations: Euler designs
i)existing approaches
angles (Formentin each
their
and layer,
attitude
Lovera, tion
(Fresk
In
is
order
to
andto
the
Nikolakopoulos,
avoid the
attitude quaternion.
2013). issues, a feasible solu-
aforementioned
control
can classify
representations:
Regarding
can classify thethe
the i)existing
Euler
control
existing approaches
angles
designs
approaches (Formentin
within by
by their
each and
their attitude
Lovera,
layer,
attitudewe tion
In is
order to toemploy
avoid the
the attitude
aforementioned quaternion.
issues, Various
a feasible control
solu-
2011; Nguyen et al., 2017), ii) intrinsic rotation matrix methods tion is to
are applied for the quaternion-based dynamics
employ the attitude quaternion. Various control
representations:
can
2011; classify
representations:
Nguyen theet i)
i) Euler
existing
Euler
al., 2017),angles
approaches
anglesii) (Formentin
(Formentin
intrinsic by and
their
and
rotation Lovera,
attitude
Lovera,
matrix methods
In
tion are applied
the for the
attitude quaternion-based
the multicopters, such as PD, LQR, backstepping,solu-
order
is to to avoid
employ the aforementioned issues,
quaternion. a
Various dynamics
feasible control
(Mellinger and Kumar, 2011), and iii) quaternion (Carino of and
2011;
2011; Nguyen and et
representations:
Nguyen
(Mellinger et i)al.,
Euler
al.,
Kumar, 2017),
2017),angles
2011), ii)
ii)andintrinsic
(Formentin
intrinsic rotation matrix methods
matrix
and (Carino
rotation
iii) quaternion Lovera, of
tion
methods
feedback
are
theis multicopters,
are applied
to linearization
employ thesuch
applied for
for the
as
thePD,
attitude
(Chovancová
quaternion-based
LQR,
quaternion. backstepping,
quaternion-based
et al., Various dynamics
2016;dynamics and
control
Johnson
(Mellinger
2011; work and
This Nguyen
(Mellinger
 has et
and Kumar,
al.,
Kumar,
been 2011),
2017),
done 2011),
while and
ii)
and iii)
firstquaternion
intrinsic
the iii) rotation
quaternion
author was(Carino
matrix
(Carino
prepar- of the
of the multicopters,
feedback
methods multicopters,
linearization
are2014;
applied such
such as
as PD,
(Chovancová
for the PD, LQR,
LQR, backstepping,
et al.,
quaternion-based 2016;and
backstepping, and
Johnson
dynamics and
and Leang, Alaimo et al., 2013; Fresk Niko-
 This work has been done while the first author was prepar-
(Mellinger
ing his and
Master Kumar,
project at 2011),
Univ. and
Grenoble iii) quaternion
Alpes, Grenoble(Carino
INP, feedback
and
of the
feedbackLeang, linearization
multicopters,2014;
linearization Alaimo
such(Chovancová
as et PD,
(Chovancová al., et
2013;
LQR,et al.,
al., 2016;
Fresk
backstepping,
2016; and Johnson
Niko-
and
Johnson
 This work has been done while the first author was prepar- lakopoulos, 2013). Next, based on the unit norm property
ingThis

LCIS,hisF-26000,
Master
work has project
been done
Valence, at Univ.
France. while Grenoble
Also,thethefirst Alpes,
workauthor Grenoble
is financially INP,
was prepar-
sup- and
feedback
and Leang,
lakopoulos,
Leang, 2014;
2013).
linearization
2014; Alaimo
Next,
Alaimo et
based
(Chovancová
et al.,
on
al., 2013;
the
et
2013;unit Fresk
al., norm
2016;
Fresk and
and Niko-
property
Johnson
Niko-
ing
LCIS,his Master
hisF-26000, project
Valence, at Univ.
France. Grenoble
Also,thethefirst Alpes,
work Grenoble
is financially INP,
sup- of the quaternion, Yang (2012) used his own proposed
ing
ported
 This Master
by:
work SYSTEC
has project
been R&D at
done Univ.
Unit Grenoble
UIDB+P/00147/2020
while Alpes,
author Grenoble
funded
was INP,
prepar-by lakopoulos,
of the 2013).
2014; Next,
quaternion, Yang based
(2012) on the unit norm property
LCIS,
LCIS,hisF-26000,
ported by: SYSTEC
F-26000, Valence,
Valence, R&D France.
Unit
France. Also, the
the work
UIDB+P/00147/2020
Also, work – is financially sup-
fundedINP,
isNORTE-01-0145-
financially by
sup-
and
“reducedLeang,
lakopoulos, 2013).
quaternion Alaimo
Next,
model” based a used
etforal.,
on 2013;
the his
unit
spacecraft own
Freskby and
norm proposed
Niko-
property
using only
FCT/MCTES
ing Master (PIDDAC);
project at Project
Univ. STRIDE
Grenoble Alpes, Grenoble of the
“reduced
lakopoulos,
of the quaternion,
quaternion
2013).
quaternion, Yang
model”
Next,
Yang (2012)
based for
(2012) a
on used his
spacecraft
the
used unit
his own
by
norm
own proposed
using only
property
proposed
ported
FCT/MCTES
ported
LCIS, by: SYSTEC
by: SYSTEC
FEDER-000033,
F-26000, (PIDDAC);
funded
Valence, R&D
R&D Unit
Project
by Unit
N2020,
France. UIDB+P/00147/2020
STRIDE
UIDB+P/00147/2020
Also, ERDF;
the work – funded
NORTE-01-0145-
andisProject funded
MAGIC
financially by
by
sup- 3 quaternion components that always satisfy the norm
“reduced
3
of quaternion
the
“reduced quaternion
quaternion,
quaternion model”
components
Yang
model” for
that
(2012)
for a
a spacecraft
always
used his
spacecraft by
satisfy
own
by using
proposed
using
the only
only
norm
FCT/MCTES
FEDER-000033,
FCT/MCTES
ported by: SYSTEC(PIDDAC);
funded
(PIDDAC);
PTDC/EEI-AUT/32485/2017 R&D Project
by Unit
N2020,
Project
funded STRIDE
ERDF;
STRIDE –
and NORTE-01-0145-
Projectfunded
– NORTE-01-0145-
by FEDER-COMPETE2020
UIDB+P/00147/2020 MAGIC by constraint, in order to design an LQR controller. Carino
3 quaternion
constraint,
“reduced in components
order to designthat an always
LQR satisfy
controller. the norm
Carino
FEDER-000033, funded
PTDC/EEI-AUT/32485/2017
FEDER-000033,
and POCI-FCT/MCTES.
FCT/MCTES funded by
by N2020,
funded
N2020, ERDF;
by
ERDF;
(PIDDAC); Project STRIDE – NORTE-01-0145- and
and Project
FEDER-COMPETE2020
Project MAGIC
MAGIC et al. (2015) exploited the relation between quaterniononly
3 quaternion quaternion model”
components for
that a spacecraft
always by
satisfy using
the norm
and
PTDC/EEI-AUT/32485/2017
and POCI-FCT/MCTES.
PTDC/EEI-AUT/32485/2017
FEDER-000033, funded by N2020, funded
fundedERDF; by
by FEDER-COMPETE2020
FEDER-COMPETE2020
and Project MAGIC
constraint,
3et al. (2015)in
quaternion
constraint, order
order to
inexploited tothe
components design
designthatan
relation LQR
LQR controller.
between
analways quaternion
satisfy
controller. theCarinoand
norm
Carino
and
and POCI-FCT/MCTES.
POCI-FCT/MCTES.
PTDC/EEI-AUT/32485/2017 funded by FEDER-COMPETE2020 et
et al.
al. (2015)
constraint,
(2015) inexploited
order
exploited to the
the relation
design
relation an between
LQR
between quaternion
controller.
quaternion and
Carino
and
and POCI-FCT/MCTES.
2405-8963 Copyright © 2020 The Authors. This is an open access article under the CC BY-NC-ND license.et al. (2015) exploited the relation between quaternion and
Peer review under responsibility of International Federation of Automatic Control.
10.1016/j.ifacol.2020.12.1602
5732 Huu Thien Nguyen et al. / IFAC PapersOnLine 53-2 (2020) 5731–5736

axis-angle representation to derive a feedback linearization Also, the relation between the quaternion derivative and
controller for the attitude, subsequently, they continued the multicopter angle rate is given by Carino et al. (2015):
with a feedback linearization for the position controller. 1

q̇ = q ⊗ ω, (3)
Even though the foregoing works are technically sound, we 2
 
believe that these contributions still lack several important in which, ω

 = 0 ω  ∈ R4 extends the angle rate vector
considerations. E.g., the model is linearized around the ω = [ωx ωy ωz ] ∈ R3 and the operation ⊗ is defined in
hovering condition (Chovancová et al., 2016), and hence, Carino et al. (2015); Chovancová et al. (2016). Hereinafter,
under more challenging scenarios, the control perfor- we provide explicitly the inverse formulation of (3) which
mances cannot be guaranteed. Moreover, the unit quater- will be employed in later analysis:
nion norm constraint is not strictly examined (Johnson     
and Leang, 2014; Alaimo et al., 2013; Fresk and Niko- 0 q 0 q1 q2 q3 q̇0
lakopoulos, 2013), or is simply guaranteed by renormal-  ωx  −q1 q0 q3 −q2  q̇1 
ω  = 2 −q −q q , (4)
ization after each iteration (Carino et al., 2015), which y 2 3 0 q1  q̇2 
probably introduces error into the system due to analytical ωz −q3 q2 −q1 q0 q̇3
drift through multiple integrations, and may eventually which can be more synthetically expressed by:
cause divergence and instability (Whitmore, 2000). ω = Q(q)q̇, (5)
Therefore, we present in this paper, several contributions with q = [q1 q2 q3 ] as in (1). Note that (5) is obtained

which can compensate for the drawbacks and provide by introducing the following relation to (4):
significant advantages w.r.t. the aforementioned works: 
• a complete flatness-based representation of the non- q0 = 1 − (q12 + q22 + q32 ), (6)
linear multicopter dynamics using the attitude quater- which follows from the unit norm (1).
nion;
• a feedback linearization control law constructed based 2.2 Multicopter dynamics with the quaternion formulation
on the foregoing flatness property, able to linearize
the multicopter translational dynamics without any The translational dynamics of the multicopter system
simplifications; are obtained by using Newton’s second law of motion
• a computed-torque attitude controller that fully ex- (Formentin and Lovera, 2011; Nguyen et al., 2017):
ploits the attitude quaternion and guarantees their
unit norm property. mξ̈ = mg + Rez T, (7)
The remainder of the paper is organized as follows. Section with ξ  [x y z] ∈ R , the position, g = [0 0 −g] , the
 3 

2 presents the mathematical model of a standard multi- gravity pointing downward, m, the system mass, R the
copter system using the attitude quaternion and its differ- rotation matrix from (2), ez  [0 0 1] the unit vector of
ential flatness property. Section 3 details the hierarchical the z-axis, and T ∈ R+ the input thrust.
control design for trajectory tracking. Next, the simulation Next, the rotational dynamics of the multicopter are
and experimental results are given and discussed in Section considered as those of a 3-dimensional rigid body and
4. Finally, Section 5 provides conclusions and considers hence, are given by Carino et al. (2015); Nguyen et al.
future works. (2017):
J ω̇ + ω × (Jω) = τ (8)
with J = diag{Jx , Jy , Jz } ∈ R3×3 the inertia tensor, ω the
2. MULTICOPTER MODEL
angle rate as in (3), and τ  [τx τy τz ] ∈ R3 gathering
the input torques.
In this section, we recapitulate the multicopter dynamics It will be more convenient to consider the matrix forms of
expressed by using the attitude quaternion as given in the dynamics (7)–(8), which are explicitly given as follows:
Carino et al. (2015); Chovancová et al. (2016). Next, the      
differential flatness properties of the system are derived ẍ 0 T 
2(q0 q2 + q1 q3 )
from its mathematical model. ÿ = 0 + 2(q2 q3 − q0 q1 )  , (9)
z̈ −g m q2 − q2 − q2 + q2
0 1 2 3
     −1 
2.1 Rotation kinematics with quaternion ω̇x (Jy − Jz )Jx−1 ωy ωz J x τx
ω̇y = (Jz − Jx )Jy−1 ωz ωx  + Jy−1 τy  . (10)
ω̇z −1 −1
The attitude of the multicopter system is described by (Jx − Jy )Jz ωx ωy J z τz
 
using a unit quaternion q  q0 q  ∈ R4 in which, Remark 1. By comparing the quaternion-based rotation
q0 ≥ 0 and q  [q1 q2 q3 ] ∈ R , all satisfy:
 3 matrix (2) with the one resulted from the Euler angles ap-
proach detailed in Formentin and Lovera (2011); Nguyen
q02 + q12 + q22 + q32 = 1. (1) et al. (2017), the relations between quaternion and Euler
The orientation of the body frame attached to the vehicle angles are as follows:
 
w.r.t. the global frame fixed to the ground is given through   2(q0 q1 + q2 q3 )
the following rotation matrix (Chovancová et al., 2016):  arctan
φ 1 − 2(q12 + q22 ) 
     
1 − 2(q22 + q32 ) 2(q1 q2 − q0 q3 ) 2(q0 q2 + q1 q3 )  θ  =  arcsin[2(q0 q2 − q1 q3 )] 

, (11)
R = 2(q1 q2 + q0 q3 ) 1 − 2(q12 + q32 ) 2(q2 q3 − q0 q1 ). (2) ψ  2(q 0 q 3 + q 1 q 2 ) 
arctan
2(q1 q3 − q0 q2 ) 2(q0 q1 + q2 q3 ) 1 − 2(q12 + q22 ) 1 − 2(q22 + q32 )
Huu Thien Nguyen et al. / IFAC PapersOnLine 53-2 (2020) 5731–5736 5733

being (φ, θ, ψ), the roll, pitch and yaw angles, respectively. et al., 2015; Nguyen et al., 2017). The position controller
Similar results can also be found in Diebel (2006).  at the high control level compares the reference position
ξr with the actual position ξ received as feedback from
2.3 Flatness-based representation the system, in order to calculate the thrust T and the
 
reference quaternion qr = q0r qr  = [q0r q1r q2r q3r ] .
Differential flatness definition: Consider the nonlinear Then, the last three components of the latter term, qr =
system in general form: [q1r q2r q3r ] , are sent to the attitude controller at the low
ẋ(t) = f (x(t), u(t)), (12) control level to track. Note that, the low control level is
with the state x(t) ∈ R and input vectors u(t) ∈ Rm .
n required to run at a higher frequency than the high-level
The system (12) is differentially flat if there exists a flat to establish the closed-loop stability for the whole scheme
output z(t) ∈ Rm (Fliess et al., 1995): (Nascimento and Saska, 2019).
z(t) = Υ(x(t), u(t), u̇(t), · · · , u(s) (t)) (13) 3.1 Feedback linearization position controller
such that the states and inputs can be algebraically
expressed in terms of z(t) and a finite number of its higher-
order derivatives 1 :
x(t) = Υx (z(t), ż(t), · · · , z(r) (t)), (14a)
Position controller
u(t) = Υu (z(t), ż(t), · · · , z(r+1) (t)). (14b)
Attitude controller
Flatness properties of the multicopter: Multicopter dynamics
The multicopter system (5)–(10) is differentially flat with
the flat output z ∈ R4 defined as follows: Fig. 1. Hierarchical control scheme of the multicopter.
(15)

z  [x y z q3 ] ,
For the position controller at the high-level, we employ
with (x, y, z) the 3D position from (9) and q3 the fourth the flat representations (16)–(17) to design the feedback
element of the quaternion q from (1). linearization controller as follows:
Hereinafter, we will show the flatness-based representation
qir = Γqi (ξ̈ ∗ , q3r ), (19a)
of the multicopter’s states and inputs. First, from (9),
the first three elements of the quaternion q as in (1) are T = ΓT (ξ̈ ∗ ), (19b)
expressed as follows: with i ∈ {0, 1, 2}, q3r the reference of q3 defined by the
q0 = Γq0 (ẍ, ÿ, z̈, q3 , g), (16a) users and the corrective term ξ̈ ∗  [ẍ∗ ÿ ∗ z̈ ∗ ] given by:

q1 = Γq1 (ẍ, ÿ, z̈, q3 , g), (16b) ∗
˙
ξ̈ = ξ̈r + Kpξ ξ + Kdξ ξ + Kiξ ξ dt, (20)
q2 = Γq2 (ẍ, ÿ, z̈, q3 , g), (16c)
and the thrust T is obtained as: with ξ = ξr − ξ and Kpξ , Kdξ , Kiξ are diagonal positive

T = m ẍ2 + ÿ 2 + (z̈ + g)2 , (17) definite matrices from R3 .
with [x y z q3 ] the flat output chosen as in (15) and g Proposition 2. By applying the controller (19a)–(19b) to
the gravity. The explicit expressions for (16)–(17) are (9), it follows that the closed loop linear system (21) is
derived in the Appendix A. For further use, we shorten the stable. 
descriptions (16)–(17) to qi = Γqi (ξ̈, q3 ) with i ∈ {0, 1, 2} ¨ξ + Kpξ ξ + Kdξ ˙ ξ + Kiξ ξ dt = 0. (21)
and T = ΓT (ξ̈).
Next, by introducing (5) into (8), we obtain the input Proof. From (19), with z̈ ∗ ≥ −g, we obtain the following
torque τ as follows: relations:
τ = J [Q(q)q̈ + Dq [Q(q)q̇]q̇] + [Q(q)q̇] × [JQ(q)q̇], (18) 2(q0r q2r + q1r q3r )T /m = ẍ∗ , (22a)
with Dq (·) the Jacobian w.r.t. q. (18) can be easily inter- 2(q2r q3r − q0r q1r )T /m = ÿ ∗ , (22b)
preted in the flat output space by introducing (16b)–(16c).
(q02r − q12r − q22r + q32r )T /m − g = z̈ ∗ , (22c)
The flatness representations of the multicopter system as q02r + q12r + q22r + q32r = 1. (22d)
in (16)–(18) can be used for various applications such
as constrained trajectory generation and control designs From (22a)–(22c), the control law (19) drives the transla-
(Nguyen et al., 2018). In the next section, we will exploit tional dynamics (9) to:
them to design feedback linearization control laws.
(23)
 
[ẍ ÿ z̈] = [ẍ∗ ÿ ∗ z̈ ∗ ] ,
3. TRACKING CONTROL DESIGN FOR THE or,
MULTICOPTER ẋ = Ax x + Bx ξ̈ ∗ , (24)
 
with x  ξ  ξ̇   [x y z ẋ ẏ ż] being the transla-

This section addresses the tracking control design for the
multicopter system (9)–(10). We make use of the standard tional position and velocity, ξ̈ ∗  [ẍ∗ ÿ ∗ z̈ ∗ ] denoting


hierarchical two-layer control scheme illustrated in Fig. virtual control inputs designed as in (20). The two matrices
1 which is usually employed in the literature (Carino Ax ∈ R6×6 and Bx ∈ R6×3 are defined as:
   
1 Any system admitting a flat description has the number of flat 03×3 I3×3 03×3
Ax = , Bx = . (25)
outputs z(t) equal to the number of inputs u(t) (Fliess et al., 1995). 03×3 03×3 I3×3
5734 Huu Thien Nguyen et al. / IFAC PapersOnLine 53-2 (2020) 5731–5736

Remark 1. In Carino et al. (2015), the authors introduce in Nguyen et al. (2017).
different feedback linearization designs for the position The parameters of the quadcopter used for simulation are
controller in more compact forms. However, their con- chosen as:
trollers implicitly constrain the fourth element of the
reference quaternion, q3r as in (19), to be zero, which - m = 0.025 [kg], Jx = Jy = 4.856 × 10−3 [kgm2 ],
does not hold for applications requiring yawing such as Jz = 8.801 × 10−3 [kgm2 ], CD = 0.8, ρ = 1.225
aerial photography and filming. Therefore, the flatness- [kg/m3 ], A = 0.01425 [m2 ].
based feedback linearization controller proposed in (19),
which takes into account a general value of q3r , provides 4.2 Simulation results
more flexibility for the users. 
We first generate a reference trajectory starting from the
3.2 Computed-torque attitude controller initial position [1.8 2.27 0.6] at t = 0s, which hovers at


the position [2.9 3 1.2] during the time period 6s ≤ t ≤



For the low control level, we apply the CTC (Computed
14s, and finally, arrives to the final position [3.6 2 0.6]

Torque Control) method (Tzafestas, 2013), a special feed-
back linearization design for nonlinear systems admitting at t = 20s. The reference q3r as employed in (19) is fixed
Lagrangian dynamics, to design the attitude controller. at zero. The simulation is performed in Matlab/Simulink
Let us consider the rotational dynamics written in the 2017a with Yalmip (Löfberg, 2004) and MPT Toolboxes
form of (18). Then the CTC method provides the input (Herceg et al., 2013) using the solver ode4 with sampling
torque as follows: time 0.01s.
τ = JQ(q)τ  + JDq [Q(q)q̇]q̇ + [Q(q)q̇] × [JQ(q)q̇], (26) The control gains of the two controllers introduced in
in which, J is the inertial tensor from (8), Q(q) is as in Section 3 are gathered in Table 1.
(5), Dq (·) is the Jacobian w.r.t. q, and τ  is a corrective
Table 1. Control gains for the simulation.
term given by:

Controller Control gains Unit
τ  = q̈r + Kpq q + Kdq ˙ q + Kiq q dt, (27)
Kpξ = diag(60, 60, 60) [s−2 ]
with q = qr − q, qr the reference quaternion from Position controller Kdξ = diag(6, 6, 6) [s−1 ]
the position controller, and Kpq , Kdq , Kiq are diagonal Kiξ = diag(0.1, 0.1, 0.1) [s−3 ]
positive definite matrices from R3 . Kpq = diag(2000, 2000, 2000) [s−2 ]
Remark 2. Even though the attitude controller (26) tracks Attitude controller Kdq = diag(10, 10, 10) [s−1 ]
only three components q1r , q2r , q3r of the quaternion, the
[s−3 ]
first component q0 still converges to q0r . This is proved by Kiq = diag(10, 10, 5)
the following assertions obtained from (6) and (22d):
 1.001
simulation reference
q0 = 1 − (q12 + q22 + q32 ), 1
q0

 (28)
q0r = 1 − (q12r + q22r + q32r ), 0.999
0 −2 2 4 6 8 10 12 14 16 18 20
2 ·10
in which, [q1 q2 q3 ] converges to [q1r q2r q3r ] , and hence,
 
1
the attitude tracking capability is always guaranteed.
q1

0
Furthermore, it is important to choose the gains of both −1 simulation reference
−2
attitude and position controllers such that q as in (27) 0 −2 2 4 6 8 10 12 14 16 18 20
2 ·10
converges to 0 faster than ξ from (21) in order to ensure 1
good tracking capability (Nguyen et al., 2017). 
q2

0
−1 simulation reference
4. SIMULATION AND EXPERIMENTAL RESULTS −2
0 −5 2 4 6 8 10 12 14 16 18 20
1 ·10
This section provides first the simulation results of the 0.5
q3

0
feedback linearization controllers proposed in Section 3. −0.5 simulation reference
Subsequently, the high-level position controller (19) is −1
0 2 4 6 8 10 12 14 16 18 20
further illustrated through real experiments over a nano- Time [s]
drone platform.
Fig. 2. Quaternion tracking results under simulation.
4.1 Simulation model At first, we provide the quaternion tracking results of the
attitude controller (26)–(27) in Fig. 2. We observe that
For the simulation model to be realistic, we add the drag
besides some chattering behavior in q3 around t = 1s due
force (Fox and McDonald, 1994) to dynamics (7):
to the instability inherent in the numerical differentiation,
mξ̈ = mg + Rez T + FD , (29) the three components q1 , q2 , q3 generally track well their
in which, the drag FD is calculated by: references. Thus, even though q0 is not explicitly controlled
1 by the CTC controller (26)–(27), it still follows the refer-
FD = − ρCD A|ξ̇|ξ̇, (30) ence q0r as shown in the first plot of Fig. 2.
2
with CD the drag coefficient, ρ the fluid density, ξ̇ the Next, the position references (plotted in red dashed lines)
velocity and A the cross-section of the multicopter as used and their tracking results under simulation (plotted in blue
Huu Thien Nguyen et al. / IFAC PapersOnLine 53-2 (2020) 5731–5736 5735

solid lines) are given in Fig. 3. Without any noticeable 4


tracking errors, the position controller (19)–(20) shows its 3

x [m]
robustness, albeit the drag in (30) is not taken into account 2
during the controller design procedure. In the next section, 1 simulation experiment reference
we will apply this position controller for controlling a real 0
quadcopter platform under the same tracking scenario. 0 2 4 6 8 10 12 14 16 18 20
4
4.3 Experimental results 3

y [m]
2
The experimental video could be viewed online at: 1 simulation experiment reference
https://youtu.be/NIdCI6FJXHM. The experiment is done 0
indoor, with no wind disturbance. 0 2 4 6 8 10 12 14 16 18 20
1.5
The experimental platform includes a quadcopter Crazyflie 1

z [m]
(CF) and a Loco Positioning System (LPS) (Bitcraze,
2019; Nguyen et al., 2018), which comprises of 6 fixed, 0.5 simulation experiment reference
known position anchors in the room and a tag attached to 0
the Crazyflie. The platform provides feedback on the quad- 0 2 4 6 8 10 12 14 16 18 20
copter position, by continuously measuring the distances Time [s]
between the tag and the anchors. The data transmission Fig. 3. Position with disturbances.
between the ground station PC and the Crazyflie is accom-
plished by 2.4GHz low-latency/long-range radio messages 0.4 reference experiment
between the tag and the Crazyradio PA radio USB dongle 0.2
connected to the PC. q1 0
−0.2
By decoupling the translational and rotational dynamics −0.4
of the Crazyflie with the proposed hierarchical control 0 2 4 6 8 10 12 14 16 18 20
approach, the autonomous trajectory tracking task could 0.4 reference experiment
be accomplished by utilizing the high-level controller on 0.2
q2

the PC. The CF has its built-in controller which can only 0
track the references of the thrust and the roll, pitch, yaw −0.2
light push heavy pushes
angles. Hence, the reference quaternion from the position −0.4
0 2 4 6 8 10 12 14 16 18 20
controller (19) needs to be transformed into these Euler 0.1 reference experiment
angles by using relation (11) before being sent to the CF. 0.05
0
q3

From Fig. 3, we see that under experiment (actual results


plotted in green solid lines), the CF tracks well the -0.05
reference trajectory (red dashed lines), especially along the -0.1
0 2 4 6 8 10 12 14 16 18 20
x and the y axes. For the altitude results, there are small Time [s]
tracking errors due to the low precision of the LPS when Fig. 4. Quaternion with disturbances.
measuring the height (a similar problem is mentioned in
Nguyen et al. (2018)). Furthermore, we apply an external simulated motion
disturbance (we push) the CF three times at t = 8.11s, 1.4
reference trajectory
t = 8.57s, and t = 14.19s in order to test the robustness 1.2 experimental motion
of the position controller (19)–(20). As can be seen from initial position
hovering position
Fig. 3, the controller can compensate rapidly the errors. 1
final position
z [m]

Fig. 5 provides the 3D view of the whole simulation 0.8


and experimental scenarios in which the altitude tracking 0.6
errors can be clearly observed.
0.4
Fig. 4 shows the quaternion tracking performances of the
CF’s built-in controller. In general, the actual quaternion 4
results (plotted in green solid lines) follow their references 3
4.5
(plotted in red dotted lines). The chattering behavior y [m]
2
1.5 2 2.5 3 3.5 4
in the references can be diminished by choosing more x [m]
appropriate control gains. The first push applied at t = Fig. 5. 3D trajectory with disturbances.
8.11s has no significant effect on the system behavior.
However, at t = 8.57s and t = 14.19s, the heavier resentation. We first provide the differential flatness prop-
pushes do show visible effect: the references q1r and q2r erties of the system which are further employed to de-
immediately reverse their signs, which indicates the control sign a feedback linearization position controller at the
effort of the position controller (19)–(20) to compensate high control level. Next, at the low-level, the standard
the errors. computed-torque control method is applied to stabilize the
5. CONCLUSIONS rotational sub-system around the desired quaternion sent
from the position controller. The proposed approaches are
This paper presented a hierarchical control design for illustrated through simulations and experiments over a real
multicopter trajectory tracking under the quaternion rep- quadcopter platform. Future works consist in seeking a
5736 Huu Thien Nguyen et al. / IFAC PapersOnLine 53-2 (2020) 5731–5736

new flat output which may result in a less convoluted flat Nguyen, N.T., Prodan, I., and Lefèvre, L. (2018). Flat
representation, analyzing the robustness of the controlled trajectory design and tracking with saturation guaran-
system under saturation inputs and disturbances, as well tees: a nano-drone application. International Journal of
as testing with more aggressive trajectories. Control, 1–14, Article in Press.
Nguyen, N.T., Prodan, I., Stoican, F., and Lefevre, L.
REFERENCES (2017). Reliable nonlinear control for quadcopter tra-
jectory tracking through differential flatness. IFAC-
Alaimo, A., Artale, V., Milazzo, C., Ricciardello, A., and PapersOnLine, 50(1), 6971–6976.
Trefiletti, L. (2013). Mathematical modeling and control Tzafestas, S.G. (2013). Introduction to mobile robot con-
of a hexacopter. In 2013 International Conference trol. Elsevier.
on Unmanned Aircraft Systems (ICUAS), 1043–1050. Whitmore, S.A. (2000). Closed-form integrator for the
IEEE. quaternion (euler angle) kinematics equations. US
Bitcraze (2019). Crazyflie 2.0. Patent 6,061,611.
https://www.bitcraze.io/crazyflie-2/. [Online; Yang, Y. (2012). Spacecraft attitude determination and
accessed July 19, 2019]. control: Quaternion based method. Annual Reviews in
Carino, J., Abaunza, H., and Castillo, P. (2015). Quadro- Control, 36(2), 198–219.
tor quaternion control. In 2015 International Confer-
ence on Unmanned Aircraft Systems (ICUAS), 825–831. Appendix A. PROOF FOR THE FLAT
IEEE. REPRESENTATIONS OF THE QUADCOPTER
Chovancová, A., Fico, T., Hubinskỳ, P., and Duchoň, F. DYNAMICS
(2016). Comparison of various quaternion-based control
methods applied to quadrotor with disturbance observer Gathering the translational dynamics (9) and the norm
and position estimator. Robotics and Autonomous constraint (1), we have the system of equations:
Systems, 79, 87–98. mẍ/T = 2(q0 q2 + q1 q3 ), (A.1a)
Diebel, J. (2006). Representing attitude: Euler angles, unit
mÿ/T = 2(q2 q3 − q0 q1 ), (A.1b)
quaternions, and rotation vectors. Matrix, 58(15-16),
1–35. m(z̈ + g)/T = q02 − q12 − q22 + q32 , (A.1c)
Fliess, M., Lévine, J., Martin, P., and Rouchon, P. (1995). 2 2 2 2
1 = q0 + q 1 + q 2 + q 3 . (A.1d)
Flatness and defect of non-linear systems: introductory Squaring both sides of (A.1a)–(A.1c), then taking their
theory and examples. International journal of control, sum leads to:
61(6), 1327–1361.  2 2  
Floreano, D. and Wood, R.J. (2015). Science, technology q0 + q12 + q22 + q32 = ẍ2 + ÿ 2 + (z̈ + g)2 m2 /T 2 .
and the future of small autonomous drones. Nature, (A.2)
521(7553), 460–466. Replacing (A.1d) to the left hand side of (A.2), and taking
Formentin, S. and Lovera, M. (2011). Flatness-based con- the square root of both sides, the thrust can be calculated
trol of a quadrotor helicopter via feedforward lineariza- as follows: 
tion. In Proceedings of the 50th IEEE Conference on T = m ẍ2 + ÿ 2 + (z̈ + g)2 . (A.3)
Decision and Control and European Control Conference Taking the sum of both sides of (A.1c) and (A.1d), we
(CDC-ECC), 6171–6176. have:
Fox, R.W. and McDonald, A.T. (1994). Introduction to q02 + q32 = [1 + (z̈ + g)m/T ] /2. (A.4)
fluid mechanics. John Wiley. Replacing (A.3) to (A.4), we arrive to 2 :

Fresk, E. and Nikolakopoulos, G. (2013). Full quaternion 1 z̈ + g
based attitude control for a quadrotor. In 2013 European q0 = √  − 2q32 + 1. (A.5)
Control Conference (ECC), 3864–3869. IEEE. 2 ẍ2 + ÿ 2 + (z̈ + g)2
Herceg, M., Kvasnica, M., Jones, C., and Morari, M. Rewriting (A.1a) and (A.1b) in the matrix form leads to:
(2013). Multi-Parametric Toolbox 3.0. In Proc. of the     
m ẍ
q3 q0 q1
European Control Conference, 502–510. Zürich, Switzer- = . (A.6)
−q0 q3 q2 2T ÿ
land. http://control.ee.ethz.ch/ mpt.
Johnson, N.L. and Leang, K.K. (2014). Enhanced Next, we have that:
    
proportional-derivative control of a micro quadcopter. q1 m 1 q3 −q0 ẍ
In ASME 2013 Dynamic Systems and Control Confer- = × 2 . (A.7)
q2 2T q0 + q32 q0 q3 ÿ
ence. American Society of Mechanical Engineers Digital Replacing (A.3) and (A.5) to (A.7) leads to:
Collection. 
Löfberg, J. (2004). Yalmip : A toolbox for model- ẍq3 − √12 ÿ  2 z̈+g − 2q32 + 1
ing and optimization in MATLAB. In Proceedings
2 2
ẍ +ÿ +(z̈+g)
q1 =  , (A.8a)
of the CACSD Conference. Taipei, Taiwan. URL (z̈ + g) + ẍ2 + ÿ 2 + (z̈ + g)2
http://users.isy.liu.se/johanl/yalmip. 
Mellinger, D. and Kumar, V. (2011). Minimum snap ÿq3 + √12 ẍ  2 z̈+g − 2q32 + 1
trajectory generation and control for quadrotors. In
2 2
ẍ +ÿ +(z̈+g)
q2 =  . (A.8b)
Proceedings of the 2011 IEEE International Conference (z̈ + g) + ẍ2 + ÿ 2 + (z̈ + g)2
on Robotics and Automation (ICRA), 2520–2525.
Nascimento, T.P. and Saska, M. (2019). Position and Thus, completing the proof.
attitude control of multi-rotor aerial vehicles: A survey. 2 We only consider z̈ ≥ −g, which is always true for nominal
Annual Reviews in Control. operation.

You might also like