1

Geometric Surface-Based Tracking Control of a
Quadrotor UAV

arXiv:1802.08920v1 [] 24 Feb 2018

Michalis Ramp1 and Evangelos Papadopoulos2 , Senior Member, IEEE

Abstract—New quadrotor UAV control algorithms are developed, based on nonlinear surfaces composed of tracking errors
that evolve directly on the nonlinear configuration manifold,
thus inherently including in the control design the nonlinear
characteristics of the SE(3) configuration space. In particular,
geometric surface-based controllers are developed and are shown,
through rigorous stability proofs, to have desirable almost global
closed loop properties. For the first time in regards to the
geometric literature, a region of attraction independent of the
position error is identified and its effects are analyzed. The
effectiveness of the proposed ‘surface based’ controllers are
illustrated by simulations of aggressive maneuvers in the presence
of disturbances and motor saturation.

precision pose tracking by tuning three gains per controller and
are able to follow an attitude tracking command and a position
tracking command. (b) In contrast to other GNCSs such as
like [1], [8] - [12], rigorous stability proofs are developed
and regions of attraction both with and without restrictions on
the initial position/velocity error are identified. A region of
attraction independent of the initial position/velocity error is
desired since it introduces simplicity in trajectory design. The
proposed strategies are validated in simulation in the presence
of motor saturation and wind disturbances.
II. Q UADROTOR K INETICS M ODEL

I. I NTRODUCTION
Quadrotor unmanned aerial vehicles are characterized by
a simple mechanical structure comprised of two pairs of
counter rotating outrunner motors where each one is driving a dedicated propeller, resulting in a platform with high
thrust-to-weight ratio, able to achieve vertical takeoff and
landing (VTOL) maneuvers and operate in a broad spectrum
of flight scenarios. Quadrotors have good flight endurance
characteristics and acceptable payload transporting potential
for a plethora of applications. Although the quadrotor UAV
has six degrees of freedom, it is underactuated since it has
only four inputs and can only track four commands or less.
A plethora of theoretical and experimental works regarding quadrotors exist including results demonstrating aerobatic
maneuvers [1], decentralized collision avoidance for multiple
quadrotors [2], safe passage schemes satisfying constraints on
velocities, accelerations, and inputs [3], backsteping control
laws [4], and hybrid global/robust controllers [5], [6], [7].
This work follows the geometric framework. A geometric
nonlinear control system (GNCS) for a quadrotor UAV is
developed directly on the special Euclidean group, thus inherently entailing in the control design the characteristics of the
nonlinear configuration manifold, and avoiding singularities
and ambiguities associated with minimal attitude representations. The key contributions of this work are: (a) An attitude
and a position controller is developed based on nonlinear surfaces composed by tracking errors that evolve directly on the
nonlinear configuration manifold. These controllers allow for
1 M. Ramp is with the Department of Mechanical Engineering, National Technical University of Athens, (NTUA) 15780 Athens, Greece.

rampmich@mail.ntua.gr
2 E. Papadopoulos is with the Department of Mechanical Engineering,
NTUA, 15780 Athens (tel: +30-210-772-1440; fax: +30-210-772-1455).

egpapado@central.ntua.gr

The quadrotor studied is comprised by two pairs of counter
rotating out-runner motors, see Fig. 1. Each motor drives a
dedicated propeller and generates thrust and torque normal
to the plane produced by the centers ofmass (CM) of the
four rotors. An inertial
 reference frame IR E1 , E2 , E3 and a
body-fixed frame Ib e1 , e2 , e3 are employed with the origin
of the latter to be located at the quadrotor CM, which belongs
to the four rotor CM plane. Vectors e1 and e2 are co-linear
with the two quadrotor legs , see Fig. 1.

e3
f3
f4

E3

f2
f1
e2

x
E2

e1

E1

Fig. 1: Quadrotor with coordinate frames, and actuator forces.

The following apply throughout the paper. The actual control input is the thrust of each propeller, which is co-linear with
e3 . The first and third propellers generate positive thrust when
rotating clockwise, while the second and fourth propellers
generate positive thrust when rotating counterclockwise.
The
P4
magnitude of the total thrust is denoted by f = i=1 fi ∈ R,
where fi and other system variables are defined in Table I.

Submitted to Mediteranean Conference on Control and Automation (MED18)

2

TABLE I: Definitions of variables.
R3

x∈
v ∈ R3
b ω ∈ R3
R ∈ SO (3)
b u ∈ R3
fi ∈ R
bT ∈ R+
g∈R
d ∈ R+
J ∈ R3×3
m∈R
λmin,max (.)

A. Attitude Control Mode (ACM)

Quadrotor CM position wrt. IR in IR
Quadrotor CM velocity wrt. IR in IR
Quadrotor angular velocity wrt IR in Ib
Rotation matrix from Ib to IR frame
Controller generated torque b u=[b u1 ; b u2 ; b u3 ] in Ib
Force produced by the i-th propeller along e3
Torque coefficient
Gravity constant
Distance between system CM and each motor axis
Inertial matrix (IM) of the quadrotor in Ib
Quadrotor total mass
Minimum, maximum eigenvalue of (.) respectively

An attitude control system able to follow an arbitrary
smooth desired orientation Rd (t) ∈ SO(3) and its associated
angular velocity b ω d (t) ∈ R3 is developed next under the
assumption that δ R = 03×1 .
1) Attitude tracking errors: For a given tracking command
(Rd , b ω d ) and current attitude and angular velocity (R, b ω),
two sets of geometric attitude tracking errors are considered.
Each set consists of an attitude error function Ψ : SO(3) ×
SO(3) → R, and an attitude error vector eR ∈ R3 , defined as
follows. The first set is, [9]:
1
tr[I − RTd R] ≥ 0
2
1
eR (R, Rd ) = S −1 (RTd R − RT Rd )
2
Ψ(R, Rd ) =

The motor torques, τ i , corresponding to each propeller are
assumed to be proportional to thrust,
τ i = (−1)i bT fi e3 , i = 1, .., 4

(1)

i

where the (−1) term connects each propeller with the correct rotation direction (clockwise and counterclockwise). The
control inputs include the total propeller thrust f and torque,
b
u, given by,


 
1
1
1
1
f1
 
 0

f2 
f
d
0
−d
F, F =  
=
(2)
b
 −d
f3 
0
d
0
u
−bT bT −bT bT
f4
with F ∈ R4 the thrust vector, and the 4 × 4 matrix to be
always full rank for d, bT ∈ R+ .
The spatial configuration of the quadrotor UAV is described
by the quadrotor attitude and the location of its center of mass,
both with respect to IR . The configuration manifold is the
special Euclidean group SE(3)=R3 × SO(3). The total thrust
produced by the propellers, in IR , is given by Rf e3 . The
equations of motion of the quadrotor are given by,
ẋ = v
mv̇ = −mgE3 + Rf e3 + δ x

(3)

Jb ω̇ = b u − b ω × Jb ω + δ R

(4)

b

Ṙ = RS( ω)

(5)

where δ x , δ R are disturbance terms and S(.) : R3 → so(3) is
the cross product map given by,
S(r)=[0, −r3 , r2 ; r3 , 0, −r1 ; −r2 , r1 , 0]
S −1 (S(r))=r

(6)

III. Q UADROTOR T RACKING C ONTROLS
Given the underactuated nature of quadrotors, in this paper
two flight modes are considered:
• Attitude Control Mode: The controller achieves tracking
for the attitude of the quadrotor UAV.
• Position Control Mode: The controller achieves tracking
for the quadrotor CM position and a pointing attitude
associated with the quadrotor yaw.
Using these flight modes in suitable successions, a quadrotor
can perform a complex desired flight maneuver. Moreover it
will be shown that each mode has stability properties that allow
the safe switching between flight modes (end of Section III).

(7)
(8)

where tr[.] is the trace function. The second according to [13]:
q
Ψ(R, Rd ) = 2 − 1 + tr[RTd R] ≥ 0
(9)
1
1
eR (R, Rd ) = S −1 (RTd R−RT Rd )(1+tr[RTd R])− 2(10)
2
Both (7),(9) yield the angular velocity error vector, eω ∈R3 ,
eω (R, b ω, Rd , b ω d ) = b ω − RT Rd b ω d

(11)

For the ACM, the controller is designed to be compatible with
both sets of eR . This is because the first set given by {(7), (8)}
bestows excellent tracking properties to the controller if the
orientation tracking error remains less than 90o wrt. an axisangle rotation; however for an orientation error larger than
90o , the magnitude of the attitude error vector, (8), is not
proportional to the orientation error and results to deteriorating
performance as the state approaches the antipodal equilibrium
(see [13] for more details). In contrast to this, the second set
given by {(9), (10)} does not suffer from this problem but is
marginally outperformed by the first set if the attitude error
is less than 90o . Thus depending on the flight conditions, the
user can choose which set of attitude tracking errors to use.
Note that the maximum attitude difference, that of 180o with
respect to an equivalent axis-angle rotation between R and Rd ,
occurs when the rotation matrices are antipodal; then (7) or (9)
yield Ψ(R, Rd )=2, i.e. 100% error. If both rotation matrices
express the same attitude i.e., R=Rd , then Ψ(R, Rd )=0, i.e.
0% error. Important properties regarding (7)-(11), including
the associated attitude error dynamics used throughout this
work are included in Proposition 1 and Proposition 2 found
in Appendix A.
2) Attitude tracking controller: A controller is developed
stabilizing eR , eω , to zero exponentially, almost globally under
the assumption that δ R = 03×1 .
Proposition 3. For η, kR , kω ∈ R+ , with,
η > kR /kω 2

(12)

and initial conditions satisfying,
Ψ(R(0), Rd (0)) < 2

(13)

keω (0)k < 2ηkR (2 − Ψ(R(0), Rd (0)))

(14)

2

3

and for a desired arbitrary smooth attitude Rd (t) ∈ SO(3) in,
L2 = {(R, Rd ) ∈ SO(3) × SO(3)|Ψ(R, Rd ) < 2} (15)
then, under the assumption of perfect parameter knowledge,
we propose the following nonlinear surface-based controller,


kR
b
b
b
u= ω×J ω−J
ėR + ad + ηsR
(16)
kω
where ad is defined in App. A(51) and the surface sR is,
sR = kR eR + kω eω

(17)

Then, the zero equilibrium of the quadrotor closed loop
attitude tracking error (eR , eω ) = (0, 0) is almost globally
exponentially stable; moreover there exist constants µ, τ > 0
such that
Ψ(R, Rd ) < min{2, µe−τ t }

(18)

Proof. See Appendix B.
The convergence properties introduced by sR to the developed attitude controller are analyzed at the end of Section III
with the developed position controller.
The initial angular velocity can be arbitrarily large by using
sufficiently large gains. The region of attraction given by (13)(14) ensures that the initial attitude error is less than 180o with
respect to an axis-angle rotation for a desired Rd (i.e., Rd (t)
is not antipodal to R(t)). Consequently exponential stability
is guaranteed almost globally. This is the best that one can do
since it has been shown that the topology of SO(3) prohibits
the design of a smooth global controller, [14].
Because (16) is developed directly on SO(3), it avoids
singularities and ambiguities associated with minimum attitude
representations like Euler angles or quaternions completely.
Also this controller can be applied to the attitude dynamics of
any rigid body and not only on quadrotor systems.
Since attitude tracking does not depend on f , the ACM is
more suited to short durations of time. The thrust magnitude
can be selected to achieve an additional objective compatible
with the attitude tracking command, i.e. track a desired altitude
command [1], [8], [10].
Finally, despite developing (16) under the assumption that
δ R = 03×1 , its robustness properties will be tested during simulation in presence of motor saturation and wind disturbances.
B. Position Control Mode (PCM)
Under the assumption that δ x = 03×1 , a control system
is developed for the position dynamics of the quadrotor,
stabilizing the tracking errors to zero asymptotically, almost
globally.
1) Position tracking errors: For an arbitrary smooth position tracking instruction xd ∈ R3 , the tracking errors for the
position and the velocity are taken as,
ex = x − xd , ev = v − ẋd

(19)

For kx , kv ∈R+ the position nonlinear surface is defined as,
sx = kx ex + kv ev

(20)

In the PCM, the attitude dynamics must be compatible with
the desired position tracking. This results in the definition of
a position-induced attitude matrix, Rx (t)∈SO(3), for use as
an attitude command. To define this matrix, first the desired
thrust direction of the quadrotor, e3x , is computed by,
e3x =

mgE3 − m kkxv ev − asx + mẍd
kmgE3 − m kkxv ev − asx + mẍd k

∈ S2 , a∈R+ (21)

where it is assumed that by selecting xd , ẋd , ẍd hereafter,
kmgE3 − m

kx
ev − asx + mẍd k > 0
kv

Secondly the user defines a desired yaw direction e1d ∈ S2 of
the e1 body-fixed axis of the quadrotor such that e1d ∦ e3x .
This is used to find the position-induced heading, e1h , [8],
e1h =

(e3x × e1d ) × e3x
k(e3x × e1d ) × e3x k

The position related attitude Rx (t)∈SO(3), b ω x (t)∈R3×1 is,


e3x × e1h
, e3x , b ω x =S −1(RTx Ṙx ) (22)
Rx = e1h ,
ke3x × e1h k
and the attitude dynamics are guided to follow Rx (t), b ω x (t).
2) Position tracking controller: Under the assumption that
δ x = 03×1 , a control system is developed, for the position
dynamics of the quadrotor UAV, achieving almost global
asymptotic stabilization of (ex ,ev ,eR ,eω ) to the zero equilibrium through the action/effect of the soon to be introduced
Propositions 4 and 5.
For a sufficiently smooth pointing direction e1d (t) ∈ S2 , and
a sufficiently smooth position tracking instruction xd (t) ∈ R3
the following position controller is defined,
kx
ev −asx +mẍd )T Re3 (23a)
k
v

kR
b
b
b
b
ėR +adx +ηsRx (23b)
u(Rx , ω x )= ω×J ω−J
kω x

f (xd , ẋd , ẍd )=(mgE3 −m

where sRx , adx , are given by (17), App. A(51), and ėRx is
given by App. A(42) if {(7), (8)} are used and is given by
App. A(47) if {(9), (10)} are used. The desired attitude matrix
that is utilized in all the components of (23b) is given by (22).
The utilization of nonlinear surfaces resulted to the thrust
feedback expression, (23a), comprised by three gains. However (23a) can be scaled to a PD form as in [1]. Since (23a)
is paired with the newly developed attitude controller (23b), it
forms a new PCM controller of improved closed loop response
wrt. [1], see Sect. IV, and its behavior/closed-loop stabilization
properties are investigated next.
The closed loop system defined by (3)-(5) under the action
of (23a)-(23b) is shown to achieve almost global asymptotic
stabilization of (ex ,ev ,eR ,eω ) to the zero equilibrium by the
combined action of Propositions 4 and 5. Specifically (23b)
drives R(t) to asymptotically track Rx (t) and combined with
(23a), asymptotic position tracking is achieved. The first result
of exponential stability for a sub-domain of the quadrotor
closed loop position dynamics is presented next.

4

Proposition 4. Considering the controllers in (23a), (23b)
and for initial conditions in the domain,
Dx = {(ex , ev , eR , eω ) ∈ R3 × R3 × R3 × R3 |
Ψ(R(0), Rx (0)) < ψp < 1}

(24)

and for ẍd ∈ R3×1 , B ∈ R+ such that the following holds,
kmgE3 + mẍd k ≤ B
We define Π1 , Π2 ∈ R2×2 as,
"
#
mk2 θ
akx2 (1−θ)
−akx kv θ− 2kxv
Π1 =
,
mk2 θ
−akx kv θ− 2kxv
akv2 −θ(mkx +akv2 )


Bkx 0
Π2 =
Bkv 0

(25)

(26)

where θ < θmax ∈ R+ and θmax is given by,
ak 2
, δ1 + δ2 },
(27)
θmax = min{ 2 v
akv +mkx
p
k 2 4kx4 kv4 a4 + 4kx5 kv2 a3 m + 2kx6 m2 a2
δ1 = 2 v
kx4 m2
2
2 4
ak
a k
δ2 = −4 2 v2 −2 v
m kx
mkx
If {(7), (8)} is used, the attitude error bound, ψp , satisfies,
q
θmax = ψp (2 − ψp )
while if the set {(9), (10)} is used, ψp satisfies,
r
ψp
)
θmax = ψp (1 −
4
In conjunction with suitable gains η, kR , kω ∈ R+ , such that,
 2

kΠ2 k2
k
0
λmin (W3 ) >
, W3 = R
(28)
0 kω2
4ηλmin (Π1 )
then the zero equilibrium of the closed loop errors
(ex , ev , eR , eω ) is exponentially stable in the domain given
by (24). A region of attraction is identified by (24), (27), and
keω (0)k2 < 2ηkR (ψp − Ψ(R(0), Rx (0)))

(29)

Proof. See Appendix C.
Proposition 4 requires that the norm of the initial attitude
error is less than θmax to achieve exponential stability (the
upper bound of θ, (27), depends solely on the control gains
and the quadrotor mass) which corresponds to a slightly
reduced region of attraction in comparison to the regions in
[1], [8] - [12]. This is because no restriction on the initial
position/velocity error is applied during the stability proof.
This approach is not only novel, wrt. the geometric quadrotor
literature, but it also offers the advantage of simplifying the
trajectory design procedure. In contrast, the region of attraction
in other geometric treatments includes bounds on the initial
position or velocity (see [1], [8] - [12]) meaning that the
trajectory should comply to the position/velocity bounds and
also to the attitude bound, a more involved/complicated task.
If a user prefers a larger basin of exponential stability, this
can be achieved by introducing bounds on the initial position/velocity (see Appendix C, Section (f) for more details).

Then two new regions of attraction are produced involving
larger initial attitude errors and are given by (29) and,
Ψ(R(0), Rx (0)) < ψp < 1, kex/v (0)k < ex/vmax (30)
ak 2
}
(31)
θ < θmax = min{ 2 v
akv +mkx
where the second inequality in (30) denotes either a bound
on the initial position error, exmax , or a bound on the initial
velocity error, evmax , but not on both (see Appendix C,
Section (f) for more details and expressions regarding Π1 ,
Π2 , that comply with (28)). Depending on user preference,
the trajectory design procedure can be realized using either
one of the three regions of attraction ({(24), (27), (29)},
{(29), (30), (31)} using exmax and {(29), (30), (31)} using
evmax ) guiding us to favorable conditions for switching between flight modes. For completeness, all three regions of
exponential stability were derived; however this work focuses
on the region given by {(24), (27), (29)}.
Finally, the proposition that follows shows that the structure
of the position controller is characterized by almost global exponential attractiveness. This compensates for the reduced position/velocity free region of attraction and introduces greater
freedom to the user in regards to control objectives, since the
region of attraction does not depend explicitly on the initial
position/velocity error. If the quadrotor initial states are outside
of (24), with respect to the initial attitude, Proposition 3 still
applies due to the action of (23b). Thus the attitude state enters
(24) in finite time t∗ and the results of Proposition 4 take
effect. The result regarding the position mode is stated next.
Proposition 5. For initial conditions satisfying (14), and
ψp ≤ Ψ(R(0), Rx (0)) < 2

(32)

and a uniformly bounded desired acceleration (25), the thrust
magnitude defined in (23a), in conjunction with the control
moment (23b), renders the zero equilibrium of (ex , ev , eR , eω )
almost globally exponentially attractive.
Proof of Proposition 5. See Proposition 4 in [8] but apply
the thrust feedback expression (23a).
Proposition 5 shows that during the finite time that it takes
for the attitude states to enter the region of attraction for
exponential stability (24), (29), the position tracking errors
(19) remain bounded. The calculated region of exponential
attractiveness given by (32) ensures that the initial attitude
error is less than 180o with respect to an axis-angle rotation
for a desired Rx (i.e., Rx (t) is not antipodal to R(t)).
Consequently the zero equilibrium of the tracking errors is
almost globally exponentially attractive.
Note that for both control modes III-A (III-B), through the
utilization of the nonlinear surfaces sR , (sx ), the closed loop
dynamics of the nonlinear system are altered, enabling the
user to influence the convergence of the system to the zero
equilibrium by using three gains per surface. First by using
the gains η, (a), to affect the reaching time to the surface,
by penalizing the combined surface error, followed by the
gains kR , kω , (kx , kv ), to affect the convergence time when
on/near the surface by penalizing independently the attitude,
angular velocity, (position, translational velocity), errors. This

5

is showcased in Fig. 2, where the quadrotor response is shown
during an attitude maneuver, Fig. 2a, and a position maneuver,
Fig. 2b. In both cases, the same simulation is repeated but with
larger gains η, (a), resulting in faster reaching times, see black
solid lines in Fig. 2a,2b. In Fig. 2a, by doubling η, the reaching
time from tsR =0.169 improves to tsR =0.099 and in Fig. 2b,
by increasing a by four, the reaching time from tsx =1.999
improves to tsx =0.569. As a result, the strict algebraic relation
to the gains imposed by the proposed controller design,
introduces ”sliding like” closed loop dynamics, see description
in Fig. 2, and allows for finer control on the convergence rate
to the zero equilibrium by using the insights gained by the
Lyapunov analysis. Also the sliding behavior is achieved here
without the signum function; thus chattering is avoided.

keω k[ rad
s ]

8

sR →
tsR =0.099
tsR =0.169

6
4

0.015

tsx =0.569

0.5
keR k

1

0
0

(a)

Specifically we use (33) to calculate the RMS control effort
difference, ∆fRM S (t), given by,
proposed
benchmark
∆fRM S (t) = fRM
(t) − fRM
(t)
S
S

(34)

and tune our developed GNCS such that (34) is negative during
the simulation at all times so that the benchmark controller has
equal or larger control authority. By comparing the controller
performance, if the developed GNCS produces the least error
with less control effort it is deemed superior. The system
parameters were taken from a real quadrotor described in [15]:
J = [0.0181, 0, 0; 0, 0.0196, 0; 0, 0, 0.0273] kg m2

0.01

m = 1.225 kg, d = 0.23 m, bT = 0.0121 m

0.005

2
0
0

sx →

0.02

kev k[ ms ]

10

To analyze GNCSs consisting of different structure and
strategies, a criterion is needed for a commensurate comparison of their performance. To this end the Root-Mean-Square
(RMS) of the thrusts is used as a criterion, given by,
v
u Z t 4
u1
X
[fi (t)]2 dτ
(33)
fRM S (t) = t
t 0 1

tsx =1.999
0.005

0.01
kex k[m]

and the actuator constraints, see [15], are given by:
0.015

(b)

Fig. 2: Sliding behavior produced by, (16), ((23a), (23b)) using {(9), (10)}.
(2a) Convergence to sR for a step of 179.9999o . (2b) Convergence to sx for
a position step to xd =[1; 1; 1]cm. The black and dashed green lines indicate
the reaching phase to sR,x followed by sliding behavior indicated by blue
lines. The black lines indicate usage of higher sliding gains η, a. The reaching
times, tsR,x , are colored accordingly.

Due to the combined action of (23a) with (23b) it was possible to identify, for the first time wrt. the geometric literature, a
region of attraction independent of the initial position/velocity
error. This is a new development in regards to the geometric
literature. Additionally the developed expression, (23a), with
the third gain allows for more intuitive tuning thus offering
further refinement of the closed loop response.
Concluding, by the combined action of Propositions 4 and
5, asymptotic almost global stabilization of (ex ,ev ,eR ,eω ) to
the zero equilibrium is achieved. Since both flight modes have
almost global stability properties, the closed loop system is
robust to switching between flight modes. The only consideration in respect to trajectory planning is that the desired
trajectory must agree with (13)-(14). Despite developing (23a),
(23b) under the assumption that δ x =03×1 , the robustness of
the controller will be tested during simulation in the presence
of motor saturation and wind disturbances.
IV. R ESULTS
The effectiveness of the developed GNCS is verified through
simulations. First by a comparison with the GNCS in [1], to
verify the claims from Section III-B2 in regards to the thrust
magnitude (23a), followed by an aggressive recovery/trajectory
tracking maneuver in the presence of motor saturations and
noise to test the effectiveness and robustness of the developed
GNCS.

fi,min = 0[N], fi,max = 6.9939[N]
The wind profile shown in Fig. 4d is used in conjunction with
the drag equation, [16], with the drag coefficient and reference
area matrices of the quadrotor to be given by,
CD =diag(0.2,0.22,0.5), AD =diag(0.0907,0.0907,0.4004)m2
The torque due to wind is calculated by assuming that the disturbance force is applied at 0.04e3 . Finally all the simulations
were conducted using fixed-step integration with dt=1·10−3 s.
A. Geometric-NCS comparison
For this comparison, the GNCS in [1] was selected as a
benchmark since it is the first quadrotor GNCSs developed
directly on SE(3), it demonstrates remarkable results in aggressive maneuvers, and to validate the claims of Sect. III-B2.
The controllers utilize the first set of error vectors given
by {(7), (8)}, and no saturation/disturbances are included, to
conclude controller competence. The gains were tuned using
(34) as follows. First the attitude gains were tuned for a desired
pitch command of 90o followed by tuning the position gains
for a desired xd =[1; 1; 1][cm]. Tuning the attitude controller
first, ensures that during the PCM, the attitude controller embedded in the position control loop will produce homogeneous
control effort. Also the gains must be compliant to (12), (28).
The developed controller gains are:
kω =150, kR =5625, η=0.8
kv =59.82, kx =894.62, a=0.5071
The benchmark controller [1] parameters used are:
kω = [2.1720, 0, 0; 0, 2.3520, 0; 0, 0, 3.2760]
kR =[65.16, 0, 0; 0, 70.56, 0; 0, 0, 98.28], kv =38.71, kx =375.61

6

The initial conditions (IC’s) are: x(0) = v(0) = b ω(0) =
03×1 , R(0) = I. The results are presented in Fig. 3.
Examining Fig. 3b, the effectiveness of (16) (solid black
line: 1) with respect to the benchmark controller (dashed blue
line: 2) in performing attitude maneuvers is demonstrated as Ψ
converges to zero faster and with less control effort, see Fig. 3a
inner plot. The quadrotor response for a position command to
xd =[1; 1; 1][cm] is shown in Fig (3c,3d). Examining Fig. (3d),
it is clear that the developed position controller ((23a), (23b))
performs equally well with the benchmark controller. However
the attitude error during the position maneuver is negotiated
better by the developed position controller as Ψ converges
to zero faster and with a smaller overall error, Ψ<0.078, vs
Ψ<0.1198, an important prevalence. In Fig. 3a the value of,
(34), is displayed for both the attitude (inner plot), and position
(outer plot), maneuvers. Notice that the benchmark controller
underperforms despite using more control effort, see Fig. 3a.
2

0

−600
−800

−1000
0

1.5

2
1

−50
Ψ

−400

∆fRM S (t) [N]

∆fRM S (t) [N]

−200

−4

x 10

0

0
0.19 0.195 0.2

1

−100
0.5

−150
0
0.1

0.1
0.2

0.2

0.3

0
0

0.4

0.05

0.1
t [s]

t [s]

(a)
−15

−7

1

Ψ

0
0.8

0.04

0.9

1

||ex || [m]

x 10

0.06

0.2

(b)

0.1
0.08

0.15

0.015

1

0.01

0.5

0.005

x 10

0
0.9

0.95

1

0.02
0
0

0.05
t [s]

(c)

0.1

0
0

0.5
t [s]

1

(d)

Fig. 3: Quadrotor response after the tuning procedure. (3a) RMS control effort
by (34). (3b) Response for a step command of 90o . (3c,3d) Response for a
position command to xd =[1; 1; 1][cm]. (3c) Attitude error given by (7). (3d)
Position error, kex k. Solid lines (1): Developed, Dashed lines (2): Benchmark.

The reason that (34) exhibits large values in Fig. 3a, is due
to the high gains used to achieve precise trajectory tracking. As
a result because the controllers are fed with step commands,
extremely large control efforts are observed.
In view of the above, the ability of the developed PCM in
achieving the position command coequally to [1] but with less
control effort while simultaneously negotiate the attitude error
more efficiently again with less control effort makes it more
effective and validates the claims of Sect. III-B2.
B. Aggressive recovery/trajectory tracking maneuver
A complex flight maneuver is conducted, in the presence
of motor saturation and noise due to wind, involving transitions between flight modes. In this simulation, the developed
controllers utilize the second set of error vectors given by,

{(9), (10)}. The maneuver was selected to showcase both
the trajectory tracking for position and attitude, and the
recovery capabilities of the developed GNCS. The IC’s are:
x(0) = [0; 0; 5], v(0) = b ω(0) = 03×1 , R(0) = I. Since
this simulation contains portions characterized by large error
vectors, softer gains are needed to ensure smooth behavior and
minimize motor saturation. The gains used are:
kω =40, kR =400, η=1.002
kv =7.06, kx =12.46, a=0.5081
The flight scenario, to be achieved through the concatenation
of the two flight modes, is described next:
(a) (t < 4): Position Mode: Translation from the IC’s to
xd = [0; 1; 10], vd = [0; 0; 7], e1d = [1; 0; 0] using smooth
polynomials of eighth degree (SP8th ).
(b) (4 ≤ t < 4.4): Attitude Mode: The quadrotor performs
a 180o pitch maneuver, i.e. goes inverted. Rd (t) was
designed by defining the pitch angle using SP8th .
(c) (4.4 ≤ t < 4.9): Attitude Mode: The quadrotor recovers
from its inverted state to Rd (t) = I, i.e. point to point
command.
(d) (4.9 ≤ t ≤ 10): Position Mode: Translation to xd =
[−1; 1.5; 10], e1d = [1; 0; 0] using SP8th with IC’s equal
to the values of the states of the quadrotor at the end of
the attitude mode.
Simulation results of the maneuver are illustrated in Fig.
4 where the duration that the attitude mode is utilized is
illustrated by the magenta colored intervals. The percentage
attitude error using (9) is shown in Fig. 4a. It is observed that
up to t = 4.4, i.e. the beginning of the quadrotor recovery
from the inverted position, the quadrotor atttitude error is
maintained below 5% (below 9o wrt. an axis-angle rotation).
During the recovery interval (4.4 < t < 4.9), despite the
large attitude error of 77.64% introduced by the attitude step
command, the quadrotor successfully converges to the desired
orientation undeterred by the disturbances due to wind and
motor saturations, see Fig. 4c, 4d. The position response is
shown in Fig. 4b. During the position mode, i.e. t < 4 and
t > 4.9, the states track the reference trajectories effectively,
see Fig. 4b. At the position mode interval, kex k (not shown
here due to space) increases above 0.06m, to 0.5m, only
between 3 < t < 4 where the wind increases rapidly, see Fig.
4d for the wind profile. The effect of the wind at the same
interval is evident also by the noisy motor thrusts, see Fig. 4c
at 3 < t < 4. A simulation conducted in the absence of wind,
not shown due to space, showed that the noisy behavior in
Fig. 4c is eradicated and kex k < 0.06 throughout the position
mode interval. Concluding, the effectiveness of the proposed
GNCSs in performing precise trajectory tracking maneuvers
(attitude/position) and recovery maneuvers in the presence
of motor saturations and disturbances was shown. The safe
switching between flight modes, stated at the end of Section
III-B, was also demonstrated.
V. C ONCLUSION AND F UTURE W ORK
In this paper, new controllers for a quadrotor unmanned
micro aerial vehicle were developed, based on nonlinear

7

80

−6

−6

4

0
−0.5
−1
0

x 10

x 10

6

40

x, xd [m]

Ψ[%]

60 3
4

2

2

1
0
0

2

0

4

0
0

6

8

5
t [s]

10

6
4
2
0
0

10

5
t [s]

10

Wind Velocity
6

2

4

6

8

10

( ms )

f3 N

6
4
2
0
0

5

(b)

4
2
0

2

4

6

8

10

0

2

4

6

8

10

8

10

Wind Direction
−100

2

4

6

8

10

(o )

f1 N
f2 N

6
4
2
0
0

f4 N

(a)
6
4
2
0
0

10

1

0
0
15
10
5
0
0

20

5

−150
−200

2

4

6

t [s]

8

10

−250
0

2

4

6

t

(c)

(d)

Fig. 4: Complex trajectory tracking. (4a) Attitude error given by (9). (4b)
Position state x(t) (solid black line) and reference xd (t) (blue dashed line).
(4c) Thrusts (Developed). (4d) Wind profile.

[8] T. Lee, M. Leok, and N. McClamroch, ”Geometric tracking control of
a Quadrotor UAV on SE(3)”, arXiv:1003.2005v1. [Online]. Available:
http://arxiv.org/abs/1003.2005v1
[9] T. Lee, ”Robust Adaptive Geometric Tracking Controls on
SO(3) with an Application to the Attitude Dynamics of a
Quadrotor UAV”, arXiv:1108.6031, 2011. [Online]. Available:
http://arxiv.org/abs/1108.6031
[10] T. Lee, M. Leok, and N.H. McClamroch, ”Non-linear robust tracking
control of a quadrotor UAV on SE(3)”, in Asian Journal of Control,
2013, vol. 15, No. 3, pp. 1-18.
[11] F.A. Goodarzi, D. Lee, and T. Lee, ”Geometric Adaptive Tracking
Control of a Quadrotor UAV on SE (3) for Agile Maneuvers”, in ASME
Journal of Dynamic Systems, Measurement and Control, 137(9), 091007,
Sep. 01, 2015.
[12] F.A. Goodarzi, D. Lee, and T. Lee, ”Geometric Nonlinear PID Control of
a Quadrotor UAV on SO(3)”, in Proc. of European Control Conference,
pp. 3845-3850, Zurich, Switzerland, February 2013.
[13] T. Lee, ”Geometric Tracking Control of the Attitude Dynamics of
a Rigid Body on SO(3),” in Proceeding of the American Control
Conference, 2011, pp. 1885-1891.
[14] S. P. Bhat and D. S. Bernstein, ”A topological obstruction to continuous global stabilization of rotational motion and the unwinding
phenomenon,” Syst. Control Lett., vol. 39, no. 1, 2000, pp. 63-70.
[15] Falkenberg O., Witt J., Piltz U., Weltin U., Werner H. (2012) ”Model
Identification and H∞ Attitude Control for Quadrotor MAV’s,” In:
Su CY., Rakheja S., Liu H. (eds) Intelligent Robotics and Applications.
ICIRA 2012. Lecture Notes in Computer Science, vol 7507. Springer,
Berlin, Heidelberg.
[16] Batchelor, G. K., ”An Introduction to Fluid Dynamics”, Cambridge
University Press. ISBN 0-521-66396-2.

A PPENDIX A
surfaces and employing tracking errors that evolve directly on
the nonlinear configuration manifold, inherently including in
the control design the nonlinear characteristics of the SE(3)
configuration space. Through rigorous stability proofs, the
developed controllers were shown to have desirable closed
loop properties that are almost global. A region of attraction,
independent of the position error, was produced and analyzed
for the first time, wrt. the geometric literature. The effectiveness of the developed GNCS was validated by numerical
simulations of aggressive maneuvers, in the presence of motor
saturations and disturbances due to wind.
Our future work will include experimental trials and an
investigation of the developed GNCS robustness properties.

The attitude tracking errors associated with the attitude
error functions studied in [9], [13], and related properties are
summarized next.
Proposition 1. Employing {(7), (8)}, for a given tracking
command Rd and current attitude R, the following hold:
(i) Ψ is locally positive-definite about R = Rd and,
keR (R, Rd )k2 = (2 − Ψ(R, Rd ))Ψ(R, Rd ) (35)
(ii) A lower bound of Ψ is given as follows,
1
keR (R, Rd )k2 ≤ Ψ(R, Rd )
2

(iii) Let ψ ∈ R+ . If Ψ(R, Rd ) < ψ < 2, then the upper
bound of Ψ is given by,

R EFERENCES
[1] T. Lee, M. Leok, and N.H. McClamroch, ”Geometric tracking control of
a Quadrotor UAV on SE(3)”, in Proc. of IEEE Conference on Decision
and Control (CDC), 2010, pp. 5420-5425.
[2] J. Gillula, G. Hofmann, H. Huang, M. Vitus, and C. Tomlin, ”Applications of hybrid reachability analysis to robotic aerial vehicles”, Int. J.
Robust Nonlinear Control, 2011, Vol 30, No. 3, pp. 335-354.
[3] D. Mellinger, and V. Kumar, ”Minimum snap trajectory generation
and control for quadrotors”, in Proc. of the International Conference on
Robotics and Automation (ICRA), 2011, Shanghai, pp. 2520-2525.
[4] R. Mahony, and T. Hamel, ”Robust trajectory tracking for a scale model
autonomous helicopter”, in International Journal of Robust and Nonlinear
Control, Vol 14, No. 12, 2004, pp. 1035-1059, DOI: 10.1002/rnc.931.
[5] P. Casau, R. G. Sanfelice, R. Cunha, D. Cabecinhas, and C. Silvestre,
”Global trajectory tracking for a class of underactuated vehicles” in Proc.
of the American Control Conference (ACC), pp. 419-424, Washington,
US, 2013.
[6] A. Abdessameud and A. Tayebi, ”Global trajectrory tracking control
of VTOL-UAVs without linear velocity measurements”, in Automatica,
vol. 46, pp. 1053-1059, 2010.
[7] R. Naldi, M. Furci, R. G. Sanfelice, L. Marconi, ”Robust global
trajectory tracking for underactuated VTOL aerial vehicles using innerouter loop control paradigms”, IEEE Transactions on Automatic Control,
vol. 62, no. 1, pp. 97-112, Jan 2017.

(36)

Ψ(R, Rd ) ≤

1
keR (R, Rd )k2
2−ψ

(37)

(iv) The left-trivialized derivative of Ψ is given by,
T∗I LR (DR Ψ(R, Rd )) = eR

(38)

(v) The critical points of Ψ, where eR = 0, are {Rd } ∩
{Rd exp(πS(s)), s ∈ S2 }.
As to {(9), (10)}, the attitude error vector is well defined
in (15). Thus for a tracking command Rd and current attitude
R,
(vi) Ψ is locally positive-definite about R = Rd .
(vii) In (15) the left-trivialized derivative of Ψ is given by,
T∗I LR (DR Ψ(R, Rd )) = eR

(39)

(viii) The critical points of Ψ, where eR = 0, are {Rd } ∩
{Rd exp(πS(s)), s ∈ S2 } and there exists only one
critical point {Rd } in (15).

8

(ix) Ψ is locally quadratic in (15), since
2

implying that the attitude error function is bounded by,
2

keR (R, Rd )k ≤Ψ(R, Rd )≤ 2keR (R, Rd )k (40)
Proof of Proposition 1. See [9] for statements (i)-(v). See
[13] for statements (vi)-(ix).
The associated attitude error dynamics of (7)-(11) to be used
in the subsequent control design are given next.
Proposition 2. The error dynamics of {(7), (8)} satisfy:
Ψ̇(R, Rd ) = eTR eω
ėR = E(R, Rd )eω
1
E(R, Rd ) = {tr[RT Rd ]I − RT Rd }
2
kE(R, Rd )k ≤ 1
kėR k ≤ keω k

(41)
(42)
(43)
(44)
(45)

Employing {(9), (10)}, the following hold:

Ψ(R(t), Rd (t)) ≤ ψa < 2, ∀t ≥ 0

(57)

where ψa = V (0)/ηkR . Thus R(t) ∈ L2 .
(c) Exponential Stability: Using (36), (37), for {(7), (8)} and
(40) for {(9), (10)} it follows that V is bounded,
zTR W1 zR ≤ V ≤ zTR W2 zR

(58)

where W1 , W2 are positive definite matrices given by,




w2 0
w1 − k2R
, W2 =
(59)
W1 =
kω
0 k2ω
− k2R
2
2
kR
k2
2
+ ηkR kω , w2 = R +
ηkR kω (60)
2kω
2kω
2 − ψa
k2
k2
w1 = R + 2ηkR kω , w2 = R + 4ηkR kω (61)
2kω
2kω

w1 =

Ψ̇(R, Rd ) = eTR eω

(46)

ėR = E(R, Rd )eω
{tr[RT Rd ]I − RT Rd + 2eR eTR }
q
E(R, Rd ) =
2 1 + tr[RTd R]

(47)

where (60) is for {(7), (8)} and (61) is for {(9), (10)}.
Thus the following inequalities hold,

(48)

λmin (W1 )kzR k2 ≤ V ≤ λmax (W2 )kzR k2

1
kėR k ≤ keω k
2
The time derivative of (11) is given by,

V̇ ≤ −ηλmin (W3 )kzR k
(49)

Then for τ =

ηλmin (W3 )
λmax (W2 )

2

(62)
(63)

the following holds,

V̇ ≤ −τ V

(64)

b

ėω = ω̇ + ad
= J−1

b


u − b ω × Jb ω + ad

ad = S(b ω)RT Rd b ω d − RT Rd b ω̇ d

(50)
(51)

Proof of Proposition 2. See [10], [9], for (41)-(45). See [13],
for (46)-(49). See [13], or [10], [9], for (50)-(51).
A PPENDIX B
Proof of Proposition 3. We employ a sliding methodology
in (15) by defining the nonlinear surface in terms of the
attitude configuration errors {(7), (8)} or {(9), (10)} and
apply Lyapunov analysis.
(a) Lyapunov candidate: We define,
V =

1 T
s sR + 2ηkR kω Ψ
2kω R

Differentiating (52) and substituting (16) we get,
 2

k
0
V̇ = −ηzTR W3 zR , W3 = R
0 kω2

(52)

(53)

where zR = [keR k; keω k].
(b) Boundedness of Ψ(R, Rd ): We define the Lyapunov function,
1
VΨ = eTω eω + ηkR Ψ
(54)
2
kR
V̇Ψ ≤ −(ηkω −
)keω k2 ≤ 0
(55)
kω
Equations (54-55) imply that VΨ (t) ≤ VΨ (0), ∀t ≥ 0.
Applying (14) we obtain,
ηkR Ψ(R(t), Rd (t))≤VΨ (t)≤VΨ (0)<2ηkR

(56)

Thus the zero equilibrium of the attitude tracking error
eR , eω is exponentially stable almost globally.
Using (37) for {(7), (8)}, then,
(2 − ψa )λmin (W1 )Ψ ≤ V (t) ≤ V (0)e−τ t

(65)

Using (40) for {(9), (10)}, then,
1
λmin (W1 )Ψ ≤ V (t) ≤ V (0)e−τ t
(66)
2
Thus Ψ exponentially decreases and from (57) we arrive
to (18). This completes the proof. 
A PPENDIX C
Proof of Proposition 4. A sliding methodology is utilized
through the definition of the surface in terms of the error
vectors defined in (19), followed by Lyapunov analysis. The
position mode necessitates analysis of the coupled attitude and
position dynamics. Thus the preceding analysis of the attitude
mode, is utilized here to characterize the properties of the
closed loop system under the action of the controllers with
the difference that Rd (t) is substituted with Rx (t). This is
because differentiation of the Lyapunov function V in (52),
parametrized by Rx , gives the same result for V̇ as in (53)
and thus it can be considered in (85).
(a) Boundedness of eR (R, Rx ): The assumptions of Proposition 4 imply compliance to Proposition 3 by replacing
Rd with Rx . Thus the properties of (16) still apply in this
analysis. Resultantly by replacing Rd with Rx , (55) still
holds and equation (29) in (54) leads to,
ηkR Ψ(R(t), Rx (t))≤VΨ (t)≤VΨ (0)<ηkR ψp

(67)

9

signifying that the attitude error function is bounded by,
Ψ(R(t), Rx (t)) ≤ ψp < 1, ∀t ≥ 0

(68)

(b) Position Error Dynamics: The analysis that follows is
developed in the following domain,
D = {(ex , ev , eR , eω ) ∈ R3 × R3 × R3 × R3 |
Ψ(R, Rx ) ≤ ψp < 1}

(69)

Proposition A. For initial conditions in (69), the cosine
between Re3 and Rx e3 is given by (Rx e3 )T Re3 and the
following holds,
(Rx e3 )T Re3 ≥ 1 − Ψ(R, Rx ) > 0

(70)

The sine of the angle between Re3 and Rx e3 is given by
((Rx e3 )T Re3 )Re3 − Rx e3 and using (35),
k((Rx e3 )T Re3 )Re3 − Rx e3 k ≤ keR k

(71)

where for {(7), (8)} it holds that,
q
p
keR k = Ψ(2 − Ψ) ≤ ψp (2 − ψp ) = θ < 1 (72)
while for {(9), (10)}, (see [13]),
r
r
Ψ
ψp
keR k = Ψ(1 − ) ≤ ψp (1 −
) = θ < 1 (73)
4
4
Proof of Proposition A. See [10], [9].
Equation (70) is used by adding and subtracting
f Rx e3 ((Rx e3 )T Re3 )−1 in (3) to obtain,
mv̇ = − m

kx
ev − asx + X + mẍd
kv

(74)

3

where f ∈ R, X ∈ R are given by,
(75)


X = kUk (Rx e3 ) Re3 )Re3 − Rx e3
(76)
kx
U = mgE3 − m ev − asx + mẍd
(77)
kv
Then by taking the time derivative of (19), the error
dynamics of ev are given by,
kx
ev − asx + X
(78)
kv
(c) Translational dynamics Lyapunov candidate: We define,
m T
Vx =
s sx + akx kv eTx ex
(79)
2kv x
Differentiating (79) and substituting (78) we get,
mėv = − m

V̇x =

sTx (−asx

+ X) +

2akx kv eTx ev

(80)

Using (71-73), a bound of X is given by,
mkx
)kev k + akx kex k)keR k
kv
mkx
≤ (B + (akv +
)kev k + akx kex k)θ (81)
kv

kXk ≤ (B + (akv +

Defining zx =[kex k; kev k], using (81) in (80) we arrive,
V̇x ≤ −zTx Π1 zx + zTx Π2 zR
and by (27), Π1 is positive definite.

Vg = Vx + V

(83)

and using (36-37) or (40), (83) is bounded as follows,
zTR W1 zR +zTx Π3 zx ≤Vg ≤zTR W2 zR +zTx Π4 zx (84)
#
"
#
"
2
mk2
mkx
x
akx kv + 2kvx − mk
ak
k
+
0
x v
2
kv
, Π4 =
Π3 =
m
mkv
x
0
− mk
2
2
2
and both Π3 , Π4 matrices are positive definite. By replacing Rd with Rx in (52) and differentiating we arrive again
in (53). Using (53) and (82) the derivative of (83) is,
V̇g ≤ −zTx Π1 zx + zTx Π2 zR − ηzTR W3 zR

(85)

(e) Exponential Stability: Under the conditions (27-28) of
Proposition 4 all the matrices are positive definite and for
z = [kzx k; kzR k] equation (85) is bounded by,


λ
(Π1 ) − 21 kΠ2 k2
(86)
V̇g ≤ −zT Π5 z, Π5 = min
− 12 kΠ2 k2 ηλmin (W3 )
Moreover (28) ensures that (86) is negative definite. Thus
the zero equilibrium of the tracking errors of the complete
system dynamics is exponentially stable in (24). A region
of attraction is given by the domain (24), and (29). 
(f) Alternative regions of exponential stability: The Lyapunov
analysis above was developed in (24) without restrictions
on the initial position/velocity error. This resulted to a
complicated Lyapunov analysis and a reduced region of
exponential stability. Instead if we restrict our analysis to,
Dp = {(ex , ev , eR , eω ) ∈ R3 × R3 × R3 × R3 |
Ψ(0)<ψp <1, ker k < θ, kex (0)k < exmax }(87)

f = kUk(Rx e3 )T Re3
T

(d) Lyapunov candidate for the complete system: We define,

(82)

and bound the third order error terms that arise during the
analysis using exmax then (26), is given by

 2
0
akx (1−θ)
(88)
Π1 =
0
akv2 −θ(mkx +akv2 )
"
#
Bkx
0
(89)
Π2 =
mk2
Bkv + (2akx kv + kvx )exmax 0
Alternatively a restriction on the initial velocity error
results to domain,
Dv = {(ex , ev , eR , eω ) ∈ R3 × R3 × R3 × R3 |
Ψ(0)<ψp <1, ker k < θ, kev (0)k < evmax }(90)
then similarly using evmax to bound the third order error
terms, Π1 is given by (88) and (89) changes to,
"
#
mk2
Bkx + (2akx kv + kvx )evmax 0
Π2 =
(91)
Bkv
0
were in both cases (27) is given by
θ<min{

akv2
}
2
akv +mkx

(92)

Note that the Lyapunov analysis continues in the same
manner as in Appendix C with (88), (89), (92) (corresponding to (87)) and (88), (91), (92) (corresponding to

10

(90)) being utilized instead of (26), (27). It should be noted
that (92) signifies a larger basin than (27) but a restriction
on the initial position/velocity error is introduced and this
might not be desirable in some instances. 

