You are on page 1of 22

This article has been accepted for publication in a future issue of this journal, but has not been

fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TAES.2020.2988836, IEEE
Transactions on Aerospace and Electronic Systems

IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS 1

Fast Nonsingular Terminal Sliding Mode Flight


Control for Multirotor Aerial Vehicles
Arioberto L. Silva Jr and Davi A. Santos

Abstract

This paper is concerned with the robust flight control of multirotor aerial vehicles (MAVs) subject to bounded
force and torque disturbances. The focus is on the entire class of MAVs containing an arbitrary even number (≥ 4)
of fixed (not vectoring) rotors. To deal with this problem, firstly, a ubiquitous hierarchical control architecture in
which the attitude control loop is nested inside the position control loop is adopted and augmented with a control
allocator which makes the design of the control laws themselves independent of the rotor arrangement. Specially, the
control allocation problem is formulated as a quadratic program that minimizes the thrust commands and accounts
for the thrust range and rate bounds. Secondly, geometric attitude and position control laws are designed separately
using a multi-input fast nonsingular terminal sliding mode control (FNTSMC) strategy, which guarantees singularity-
free finite-time stability and robustness. The main contributions are: 1) the augmentation of the hierarchical control
scheme for extending its applicability to any fixed-rotor MAV; and 2) a detailed geometric design and finite-time
stability analysis of the position and attitude control loops using the FNTSMC theory. The system is evaluated on
computational simulations as well as on a hardware-in-the-loop experiment, showing that it is effective, simple to
implement and adjust, and reliable to operate in nonlinear regimes as well as under bounded disturbances.

Index Terms

Multirotor aerial vehicle, quadrotor, flight control, control allocation, terminal sliding mode control, hardware-in-
the-loop simulation.

I. I NTRODUCTION

As reported in the literature, the multirotor aerial vehicles (MAVs) with fixed (in contrast to vectoring) rotors
have an under-actuated dynamics, since they have six degrees of freedom (DOF), including three in position and
three others in attitude, but they provide only four independent control efforts, which are a thrust magnitude and
three orthogonal torque components [1]. However, in practical applications, it is enough to independently control
just four DOFs, the MAV’s three-dimensional position and its heading angle, while stabilizing the 2-DOF attitude
of the airframe with respect to the local horizontal plane. To deal with this characteristic, most of the literature
has adopted a control architecture in which the attitude control loop is nested inside the position control loop, and
the attitude and position control laws are designed separately by considering that the inner loop has much faster
dynamics [2].
Based on the aforementioned architecture, several control methods have been applied to the design of attitude
and position control laws, specially for quadrotors, in the last fifteen years. The present paper is particularly

April 15, 2020 DRAFT

0018-9251 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Canberra. Downloaded on April 30,2020 at 06:37:39 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TAES.2020.2988836, IEEE
Transactions on Aerospace and Electronic Systems

IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS 2

interested in the multivariable terminal sliding mode control (TSMC) approach, which offers a convenient framework
for designing control laws for nonlinear systems subject to disturbances and parameter/model uncertainties, with
guaranteed stability and robustness [3]–[5]. The key point of these methods is the use of a suitable nonlinear sliding
surface that ensures a finite-time convergence in the sliding phase and therefore during all the state trajectory. The
main issues of the original TSMC are a control singularity and a slow convergence when the state is far from
the target. Both aspects has been tackled, at least in particular scenarios, in [6]–[9] and [10], [11], respectively. In
particular, reference [11] proposes a multivariable fast nonsingular TSM (FNTSM) control law for a quite general
nonlinear multi-input uncertain model.
Recent applications of second-order, finite-time, continuous, and adaptive sliding mode techniques to flight control
of MAVs are found in [12]–[21]. It is worth mentioning that all these references present single-input controllers;
in other words, their control laws are based on decoupled one-DOF dynamics, meaning that the problem geometry
is not thoroughly faced. Reference [22] presents and compares two multivariable sliding mode control designs (a
convencional and an adaptive one) in a gentle tutorial fashion, but he is not concerned with the the mathematical
proves neither with the attitude geometry. On the other hand, reference [23] derives geometric (and multivariable)
position and attitude control laws for achieving finite-time stability, but does not consider disturbances. All of the
above papers are particularly concerned with quadrotor UAVs.
The aim of the present paper is to contribute with the MAV control literature in two main points. The first one is
the generalization of the control architecture adopted in [2], [23]–[25] by adding to it two control allocation modules,
one for generating the three-dimensional attitude command and the other one for computing the individual thrust
commands. The latter makes the modified architecture suitable for any MAV with (simple or double) fixed rotors; in
particular, it is formulated as a quadratic program which minimizes the thrust commands and accounts for the thrust
range and rate bounds. The second main contribution is the application of a multi-input FNTSM control approach
introduced in [11] to the design of geometric position and attitude control laws so as to guarantee singularity-free
fast convergence rate, finite-time stability, and robustness against force and torque disturbances. Therefore, different
from the above-cited literature, the proposed control architecture is not particular for quadrotor UAVs, but for an
important class of MAVs. Finally, it is worth mentioning that the proposed FNTSM control design and stability
proof is carefully detailed so as one could easily understand and extend it to many existing or oncoming sliding
mode control methods.
The remaining text is organized in the following manner. Section II derives a unifying model for MAVs with
fixed rotors and defines the respective flight control problem. Section III tackles the paper’s main problem by first
presenting the hierarchical control architecture and then designing the flight (attitude and position) control laws and
the control allocators. Section IV evaluates the overall proposed method and verifies its properties using simulation
and experiment. Finally, Section V concludes the paper.

A. Notation

Consider a reference Cartesian coordinate system (CCS) SG , {G; x̂G , ŷG , ẑG }, fixed on the ground at a known
point G with the ẑG axis pointing upward vertically. For our purposes, SG can be considered an inertial frame.

April 15, 2020 DRAFT

0018-9251 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Canberra. Downloaded on April 30,2020 at 06:37:39 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TAES.2020.2988836, IEEE
Transactions on Aerospace and Electronic Systems

IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS 3

Also consider a body CCS SB , {B; x̂B , ŷB , ẑB }, attached to the MAV airframe at its center of mass B, with the
x̂B axis pointing forward, the ŷB axis pointing to the airframe’s left side, and the ẑB axis pointing upward, normal
to the airframe.
Denote the set of real and integer numbers by R and Z, respectively, and the set of positive real numbers
by R>0 . Moreover, denote the special orthogonal group by SO(3) and the 2-sphere by S2 . To clarify the vector
notation adopted here (specially in Section II), consider two different kinds of vectors: physical (geometric) vectors
and algebraic vectors. Physical vectors are denoted by italic letters with a right arrow superscript, e.g., ~a. The
corresponding algebraic vector resulting from the projection of ~a onto an arbitrary CCS SA is denoted by the same
letter, but in a regular bold format, with the subscript A, i.e., aA ∈ R3 . Matrices are denoted by bold uppercase
letters. The 2-norm and the ∞-norm of an algebraic vector are denoted by k.k and k.k∞ , respectively. The notation
A  0 is adopted to say that A ∈ Rn × n is positive definite. Let ~a be an arbitrary physical vector. The relation
between its representations aA and aB is aA = DA/B aB , where DA/B ∈ SO(3) is the attitude matrix of SA w.r.t.
SB . The inverse of DA/B (which coincides with its transpose) is sometimes denoted by DB/A . Now, let ~a A/B

B/G
represent a physical quantity of SA relative to SB , e.g., ~r denotes the relative position of SB w.r.t. SG . Let ei
denote an n-dimensional (for some n) standard unit vector. The ith component of a is denoted by ai and sometimes
by eT a and ~b as well as the respective algebraic representations in SA ,
i a. Now, consider two physical vectors ~

aA = [a1 a2 a3 ]T and bA . Denote the SA representation of the vector product ~a × ~b by the matrix multiplication
[aA ×]bA , where [aA ×] is the following skew-symmetric matrix:
 
0 −a3 a2
 
[aA ×] ,  a3 −a1  .
 
0
 
−a2 a1 0

II. P ROBLEM D EFINITION

This section first presents a unifying dynamic modeling for the class of MAVs containing fixed (single or double)
rotors, symmetrically distributed around the airframe. From now on, this class is simply referred to as MAVs with
fixed rotors. At the end, it presents the statement of a robust flight control problem for such MAVs.

A. Equations of Motion

This subsection derives the equations of motion of MAVs with fixed rotors, treating the rotational and the
translational motions separately.
1) Rotational Motion: Let us represent the MAV attitude by the attitude matrix DB/G of SB w.r.t. SG . In this
case, the attitude kinematics is described by [26]:
B/G
h i
B/G
Ḋ = − ΩB × DB/G , (1)
B/G
where ΩB ∈ R3 is the SB representation of the angular velocity of SB w.r.t. SG .
On the other hand, the attitude dynamics of SB w.r.t. SG can be derived from the Euler equation [27]
h i
B/G
ḢB + ΩB × HB = TcB + TdB , (2)

April 15, 2020 DRAFT

0018-9251 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Canberra. Downloaded on April 30,2020 at 06:37:39 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TAES.2020.2988836, IEEE
Transactions on Aerospace and Electronic Systems

IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS 4

where HB ∈ R3 , TcB ∈ R3 , and TdB ∈ R3 are the SB representations of the total angular momentum of the MAV, the
control torque, and the disturbance torque, respectively. The control torque TcB is detailed in II-C. The disturbance
torque TdB is unknown, but we assume that it is bounded by

kTdB k∞ ≤ ρT , (3)

where ρT ∈ R>0 is a known parameter. The total angular momentum is obtained in the sequel by considering the
rotational motion of both the airframe and the rotors.
Assume that the MAV has an even number nr ≥ 4 of identical fixed rotors. Moreover, assume that they are
fixed with the rotation axes normal to the airframe, and distributed symmetrically around the vehicle. Therefore,
one can consider that the propellers only rotate about ẑB and the inertia matrices of the rotors in SB are identical
and constant. Denote the inertia matrices of one separate rotor and of the airframe, both in SB , by JrB ∈ R3×3 and
JaB ∈ R3×3 , respectively. Finally, consider that rotor 1 rotates clockwise, rotor 2 rotates counterclockwise, rotor 3
rotates clockwise, and so on. Therefore, the total angular momentum HB is given by
nr
B/G
X
HB = JB ΩB + JrB (−1)i ωi e3 , (4)
i=1

where JB , JaB + nr JrB , ωi ∈ R is the rotation speed of rotor i, and e3 , [0 0 1]T .


Thus, by replacing (4) into (2), one can obtain the attitude dynamic model in SB :
" nr
! # nr
B/G −1 B/G
X B/G
X
r
(−1) ωi e3 × ΩB + J−1
i r
(−1)i ω̇i e3 + J−1 TcB + TdB .

Ω̇B = JB JB ΩB + JB B J B B (5)
i=1 i=1
B/G
2) Translational Motion: Let us represent the MAV position by the SG representation rG ∈ R3 of the position
vector of SB w.r.t. SG . The translation kinematics is simply modeled in SG by
B/G B/G
ṙG = vG , (6)
B/G
where vG ∈ R3 denotes the SG representation of the velocity of SB w.r.t. SG .
On the other hand, the translational dynamic model in SG is immediately obtained by the Newton’s law as
B/G 1 c 1
v̇G = F − ge3 + FdG , (7)
m G m
where m ∈ R>0 is the vehicle’s mass, g ∈ R>0 is the gravity acceleration, and FcG ∈ R3 and FdG ∈ R3 are the SG
representations of the control and disturbance forces. The disturbance force FdB is unknown, but we assume that it
is bounded by
kFdB k∞ ≤ ρF , (8)

where ρF ∈ R>0 is a known parameter. The control force FcG is detailed in II-C.

B. Actuator Modeling

Figure 1 illustrates the MAV configurations considered here. They are equipped with fixed (instead of vectorable)
rotors, which can be either single or double. In general, each rotor produces two efforts on the MAV airframe, both
along the ẑB axis: a thrust force and a reaction torque. Their magnitudes are usually modeled, respectively, by [25]:

fi = kf ωi2 , (9)

April 15, 2020 DRAFT

0018-9251 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Canberra. Downloaded on April 30,2020 at 06:37:39 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TAES.2020.2988836, IEEE
Transactions on Aerospace and Electronic Systems

IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS 5

𝑓𝑛𝑟 −1 , 𝜏𝑛𝑟 −1

𝑓𝑛𝑟 , 𝜏𝑛𝑟 𝑓𝑖 , 𝜏𝑖 𝑓1 , 𝜏1
𝑓𝑖 , 𝜏𝑖
𝑓1 , 𝜏1
𝑓𝑛𝑟 , 𝜏𝑛𝑟
𝑓𝑖+1 , 𝜏𝑖+1 𝑓2 , 𝜏2
B
𝑓7 , 𝜏7
𝑓3 , 𝜏3
B 𝑓5 , 𝜏5
𝑓4 , 𝜏4
𝑓2 , 𝜏2

𝑓3 , 𝜏3 𝑓8 , 𝜏8 𝑓4 , 𝜏4
𝑓6 , 𝜏6

(a) (b)

Fig. 1: Schematic representation of MAVs with fixed single (a) or double (b) rotors.

τi = kτ ωi2 , (10)

where kf ∈ R>0 and kτ ∈ R>0 are aerodynamic coefficients. Dividing (10) by (9), one can relate the thrust force
and reaction torque by τi = kfi , with k , kτ /kf .
Assume that fi , ∀i, are bounded by the following range and rate admissible sets:

fi ∈ [fmin , fmax ], (11)

fi − fi− ∈ [−δfmax , δfmax ], (12)

where fi− ∈ [fmin , fmax ] is the thrust force of the ith rotor at the previous control update instant and fmin , fmax ,
and δfmax are known parameters. Note that there is no need for considering bounds on τi since it can be rewritten
in terms of fi .
Finally, the motor-driver dynamics can be modeled by
1 kω
ω̇i = − ωi + ω̄i , ∀i = 1, . . . , nr , (13)
Tω Tω
where ω̄i ∈ R is the rotation speed command of the ith rotor, kω is a DC gain and Tω is a time constant.

C. Resulting Control Efforts

Considering the configurations of Figure 1, this subsection provides general expressions for the control force
FcB , DB/G FcG and torque TcB as a function of the thrust forces fi , ∀i = 1, ..., nr . To start with, note that FcB has
only one non-zero component (the ẑB one), given by
nr
X
c
F = fi , (14)
i=1

which clearly coincides with the magnitude of FcB or FcG .

April 15, 2020 DRAFT

0018-9251 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Canberra. Downloaded on April 30,2020 at 06:37:39 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TAES.2020.2988836, IEEE
Transactions on Aerospace and Electronic Systems

IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS 6

Remark 1. The control force can be rewritten as FcG = F c DG/B e3 ≡ F c nG , where nG ∈ R3 is the SG representation
of ẑB . The vector nG can be seen as a 2-DOF attitude representation of the airframe with respect to the local
horizontal plane. Therefore, for an MAV with fixed rotors, equation (7) becomes
B/G 1 c 1
v̇G = F nG − ge3 + FdG . (15)
m m
From the above equation, it becomes clear that the translational dynamics depend on the attitude of the airframe
w.r.t. the local horizontal plane. In this case, it is usual to say that the rotational dynamics are cascaded with the
translational dynamics.

On the other hand, the control torque TcB is the sum of the rotor reaction torques and the thrust moments, i.e.,

nr
X nr
X
TcB = (−1)i+1 kfi e3 − [e3 ×]aiB fi , (16)
i=1 i=1

where aiB ∈ R3 is the SB representation of the displacement between rotor i and the center of mass B.
Equations (14) and (16) can be rewritten together in matrix form as
 
Fc
  = Γf, (17)
TcB

where f , [f1 f2 ... fnr ]T ∈ Rnr is the vector of individual thrusts and
 
1 1 1 ... 1
 
 T
eT eT ... eT

 e2 a1B 2 a2B 2 a3B 2 anr B  ∈ R4×nr ,

Γ, (18)
 −eT T T
1 a1B −e1 a2B −e1 a3B ... −e1 anr B
T
 

 
k −k k ... −k

with e1 , [1 0 0]T and e2 , [0 1 0]T .

D. Problem Statement

The main problem of this paper is to design a flight control system, for tracking desired position and heading,
(a) which is appropriate for any MAV with fixed rotors placed symmetrically around the airframe, with the rotation
axes parallel to its normal, as modeled in II-A-II-C, (b) with robust position and attitude control laws that take
into account the bounds of the disturbance torque (3) and force (8), and (c) with a control allocation for the set
of rotors that minimizes the rotor energy expenditure, while respecting (17), as well as the thrust range and rate
bounds (11)-(12), respectively.

III. F LIGHT C ONTROL S TRATEGY

This section proposes a flight control degign, for MAVs with fixed rotors, which solves the problem enunciated in
II-D. It starts by establishing a control architecture in Section III-A. Then, robust attitude and position control laws
are designed in III-B and III-C, respectively, using a multivariate fast nonsingular terminal sliding mode control
(FNTSMC) policy. Section III-D details the control allocations.

April 15, 2020 DRAFT

0018-9251 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Canberra. Downloaded on April 30,2020 at 06:37:39 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TAES.2020.2988836, IEEE
Transactions on Aerospace and Electronic Systems

IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS 7

A. Hierarchical Control Architecture

In view of the cascaded dynamics of the MAVs with fixed rotors (see Remark 1), the present paper adopts the
ubiquitous control architecture in which the attitude control loop is nested inside the position control loop [2], [23].
The corresponding block diagram is shown in Figure 2. In this control architecture, the position controller (PC)
B/G B/G B/G
receives a position command r̄G ∈ R3 as well as position rG and velocity vG feedback and provides a
c
resulting force command F̄G = F̄ c n̄G factored into a magnitude F̄ c ∈ R and a unit vector n̄G ∈ S2 . On the other
hand, the 2-DOF control of the airframe attitude w.r.t. the local horizontal plane (represented by nG in Remark 1)
is slaved by the position controller (PC). However, the architecture adopts a 3-DOF attitude controller (AC) with
B/G
command input D̄ ∈ SO(3) generated (in the control allocator CA 1) taking into account both n̄G ∈ S2 (which
is a command for nG ) and an external heading command ψ̄ ∈ [0, 2π) ⊂ R. The AC also receives attitude DB/G and
c
angular velocity ΩB/G feedback and provides a torque command T̄B ∈ R3 . Finally, in the control allocator CA 2, the
c
four independent control actions F̄ c and T̄B are used to compute the individual thrust commands f¯i , ∀i = 1, ..., nr ,
for the available rotors.

Loop 1
Loop 2
B/G
𝐫G 𝐅G𝑐 𝐹𝑐
PC 𝑓𝑖 , ∀𝑖
𝐧G 𝐓B𝑐 CA 2 MAV
𝐃B/G
𝜓 CA 1 AC
B/G
𝐃B/G , 𝛀B
B/G B/G
𝐫G , 𝐯G

Fig. 2: Hierarchical flight control architecture for MAVs with fixed rotors. PC: position controller; AC: attitude
controller; CA 1, CA 2: control allocators.

The essential difference of the proposed architecture compared to the one commonly found in the literature
[23] is the explicit consideration of control allocators CA 1 and CA 2 aiming at, respectively, making clearer the
relationship between PC and AC and turning the overall scheme suitable for any MAV with fixed rotors.
The functionalities of the proposed flight control architecture are detailed in the following subsections. The
assumption below will be considered in what follows.

Assumption 1.
1.1. The closed-loop attitude dynamics are much faster than the closed-loop position dynamics and the external
heading command.
1.2. The rotor dynamics are negligible and the rotor’s static parameters are exactly known.
1.3. The rotor inertia matrix JrB is negligible.

Assumption 1.1 can usually be ensured by a suitable tuning of the involved position and attitude controllers [2].
Assumption 1.2 might be reasonably guaranteed provided that the MAV rotors have fast dynamics compared to the

April 15, 2020 DRAFT

0018-9251 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Canberra. Downloaded on April 30,2020 at 06:37:39 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TAES.2020.2988836, IEEE
Transactions on Aerospace and Electronic Systems

IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS 8

airframe motion and their parameters are precisely known. Assumption 1.3 is adopted to simplify the formulations,
but it is in general a plausible choice since the airframe inertia is usually much more relevant athan the rotor’s one.

B. Attitude Controller

This subsection designs the attitude controller using a multivariate fast nonsingular terminal sliding mode control
policy.
1) Design Model: Define the geometric attitude and angular velocity errors
B/G T
 
D̃ , DB/G D̄ , (19)
B/G B/G
Ω̃ , ΩB − Ω̄B , (20)
B/G B/G
where D̄ ∈ SO(3) is the attitude command and Ω̄B ∈ R3 is the angular velocity command. Consider the
parameterization of D̃ by the vector p̃ ∈ R3 of modified Rodrigues parameters (MRP) [28],
 
D̃ − D̃32
1  23 
p̃ =  D̃31 − D̃13  , (21)
 
ζ(ζ + 2)  
D̃12 − D̃21
p
where ζ , 1 + D̃11 + D̃22 + D̃33 and D̃ij is the ij-element of D̃.
Using MRP, the attitude error kinematics can be described by [28]
1 1 1 T
p̃˙ = (1 − p̃T p̃)Ω̃ − [Ω̃×]p̃ + (Ω̃ p̃)p̃. (22)
4 2 2
From (5) and (20), one can immediately derive the error dynamic model as
" nr
! # nr
˙ −1
Ω̃ = JB
B/G
JB ΩB + JB r
X
i B/G
(−1) ωi e3 × ΩB + JB JB −1 r
X
(−1)i ω̇i e3 + J−1
 ˙ B/G
TcB + TdB − Ω̄ . (23)
B B
i=1 i=1
B/G
Now, from Assumption 1.1, one can consider that the 3-DOF attitude command D̄ (which comes from the
external heading command ψ̄ and the 2-DOF attitude command n̄G provided by the PC) is constant with respect
to time. Consequently, one can also assume that Ω̃ ≡ Ω
B/G ˙ B/G = 0. On the other hand, from Assumption
and Ω̄ B B
c
1.2, one can consider T̄B = TcB . Therefore, considering the above discussion as well as Assumption 1.3, the design
model for the attitude controller is obtained from (22)-(23) as
 
1 
B/G 1 h B/G i 1  B/G T
p̃˙ = 1 − p̃T p̃ ΩB − ΩB × p̃ + ΩB p̃ p̃, (24)
4 2 2
B/G
h  i
B/G B/G c
Ω̇B = J−1 × ΩB + J−1 T̄B + TdB .

B JB ΩB B (25)

Based on the above model, one can define the attitude control design problem.
c
Subproblem 1. The attitude control design problem is to derive a control law, for the control torque command T̄B ,
which regulates the uncertain system (24)-(25) at the origin in finite time.

By solving the above subproblem, it is clear that the 3-DOF attitude DB/G will track the attitude command
B/G
D̄ , with finite-time convergence properties, thus supporting the overall control system of Figure 2.

April 15, 2020 DRAFT

0018-9251 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Canberra. Downloaded on April 30,2020 at 06:37:39 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TAES.2020.2988836, IEEE
Transactions on Aerospace and Electronic Systems

IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS 9

To simplify future formulations, define


 
1 T

B/G 1 h B/G i 1  B/G T
F1 , 1 − p̃ p̃ ΩB − ΩB × p̃ + ΩB p̃ p̃, (26)
4 2 2
h  i
B/G B/G
F2 , J−1
B JB ΩB × ΩB . (27)

2) Control Law: The idea of the FNTSMC was introduced in [11]. In particular, the same sliding variable defined
in that reference is adopted here. It is given by

˙
Sa , p̃ + Λ1 signΓ1 p̃ + Λ2 signΓ2 p̃, (28)

where Λ1 , diag(λ11 , λ12 , λ13 ), Γ1 , diag(γ11 , γ12 , γ13 ), Λ2 , diag(λ21 , λ22 , λ23 ), Γ2 , diag(γ21 , γ22 , γ23 ),
with λ1i > 0, λ2i > 0, γ1i > 1, 1 < γ2i < 2, ∀i, and
 
γ11
sign(p̃1 )|p̃1 |
 
signΓ1 p̃ ,  sign(p̃2 )|p̃2 |γ12 . (29)
 
 
γ
sign(p̃3 )|p̃3 | 13

The vector signΓ2 p̃˙ is defined in the same way as signΓ1 p̃.
The following three lemmas are presented to simply the proof of Theorem 1. Their proofs are in Appendix A.

Lemma 1. It holds that


d 
Γ −I

˙
signΓ1 p̃ = Γ1 diag |p̃| 1 3 p̃,

(30)
dt
h iT
Γ1 −I3 γ −1 γ −1 γ −1
where |p̃| , |p̃1 | 11 |p̃2 | 12 |p̃3 | 13 .

Lemma 2. Consider two diagonal matrices A = diag(A11 , ..., Ann ) ∈ Rn×n and B = diag(B11 , ..., Bnn ) ∈ Rn×n
and a vector a = [a1 . . . an ]T ∈ Rn . Assume that A + B = In . It holds that
 
A
diag |a| signB (a) = a. (31)

B/G B/G
Lemma 3. The Jacobian matrix ∆ , ∂F1 /∂ΩB is nonsingular, ∀p̃ ∈ R3 and ∀ΩB ∈ R3 .

The following theorem provides an attitude control law that solves Subproblem 1 by means of a multivariate fast
nonsingular terminal sliding mode control (FNTSMC) strategy based on the sliding variable defined in (28).

Theorem 1. The attitude control law



c Sa Sa ∂F1
T̄B = −JB ∆−1 C1 + C2 Sa + ∆J−1

B
ρT + F1 + ∆F2 + . . .
kSa k kSa k ∂ p̃
    i
Γ −I
· · · + Λ−1
2 Γ2
−1
I3 + Λ1 Γ1 diag |p̃| 1 3 sign2I3 −Γ2 p̃˙ , (32)

where C1 , diag(C1,1 , C1,2 , C1,3 )  0, C2 , diag(C2,1 , C2,2 , C2,3 )  0, almost-globally regulates the state
 
B/G
p̃, ΩB of system (24)–(25) at the origin, along the manifold Sa = 0, in finite time and without singularities.
 
B/G
Proof. First, let us show that the control law (32) brings the state p̃, ΩB of (24)–(25) to the manifold Sa = 0
in finite time and keeps it there robustly. For this end, consider the following Lyapunov candidate V = ST
a Sa /2.

April 15, 2020 DRAFT

0018-9251 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Canberra. Downloaded on April 30,2020 at 06:37:39 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TAES.2020.2988836, IEEE
Transactions on Aerospace and Electronic Systems

IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS 10

Using the design model (24)–(25), the sliding variable defined in (28), and Lemma 1, the time derivative of V can
be expressed as
h  
V̇ = ST ˙ + Λ1 Γ1 diag |p̃|Γ1 −I3 p̃˙ + . . .

a
  
Γ2 −I3 ∂F1 c
· · · + Λ2 Γ2 diag p̃˙ F1 + ∆ F2 + J−1 −1 d

B T̄B + JB TB . (33)
∂p̃
c
By replacing the torque command T̄B of (32) into (33), after simplifications with the aid of Lemma 2, it follows
that   
˙ Γ2 −I3 Sa −1 Sa −1 d
V̇ = −ST Λ Γ
a 2 2 diag p̃ C1 + C S
2 a + ∆JB
ρ T − ∆JB TB . (34)
kSa k kSa k

Since kTdB k ≤ ρT , it follows that


 Γ −I   Sa

V̇ ≤ − ST Λ
a 2 2Γ diag ˙
p̃ 2 3
C1 + C2 a ,
S (35)
kSa k
!
 γ2i −1  STa C1 Sa
V̇ ≤ − min λ2i γ2i p̃i
˙ T
+ Sa C2 Sa , (36)
i∈{1,2,3} kSa k
!
 γ2i −1  ST Sa
V̇ ≤ − min λ2i γ2i p̃˙i min (C1,j ) a + min (C2,k )ST
a Sa , (37)
i∈{1,2,3} j∈{1,2,3} kSa k k∈{1,2,3}
Finally, equation (37) can be rewritten in the form

˙ V 1/2 − η2 p̃
˙ V,
 
V̇ ≤ −η1 p̃ (38)

where
 √  γ2i −1 
η1 p̃˙ , 2 min λ2i γ2i p̃˙i min (C1,j ),
i∈{1,2,3} j∈{1,2,3}
 γ2i −1 
η2 p̃˙ , 2 min λ2i γ2i p̃˙i

min (C2,j ).
i∈{1,2,3} j∈{1,2,3}

From equation (38), one can see that if all the components of p̃˙ are different from zero, then V̇ < 0, which
˙ is zero, then V̇ ≤ 0 (which
ensures finite-time convergence to Sa = 0. However, if at least one component of p̃
does not ensure the finite-time convergence), thus demanding further investigation. By taking the time derivative of
(24), it results
¨ = ∂F1 F1 + ∆ F2 + J−1 T̄c + J−1 Td .

p̃ B B B B (39)
∂p̃
c
By replacing the torque command T̄B of (32) into (39), we have
   
¨ = − C1 Sa + C2 Sa − ∆J−1 Sa ρT − ∆J−1 Td . . .

p̃ B B B
kSa k kSa k
  
Γ1 −I3 ˙ (40)
· · · − Λ−1
2 Γ−1
2 I 3 + Λ1 Γ1 diag |p̃| sign2I3 −Γ2 p̃.

Now, suppose that p̃˙i = 0 for some i. Therefore, the ith component of sign2I3 −Γ2 p̃˙ is also zero. In this case,
from (40),
 
Sai
p̃¨i ≤ − C1,i + C2,i Sai , if Sai > 0, (41)
kSa k
 
Sai
p̃¨i ≥ − C1,i + C2,i Sai , if Sai < 0, (42)
kSa k

April 15, 2020 DRAFT

0018-9251 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Canberra. Downloaded on April 30,2020 at 06:37:39 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TAES.2020.2988836, IEEE
Transactions on Aerospace and Electronic Systems

IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS 11

and, consequently, Sai > 0 ⇒ p̃¨i ≤ −C1,i , while Sai < 0 ⇒ p̃¨i ≥ C1,i .
Consider a vicinity |p̃˙i | ≤ ε of p̃˙i = 0, where ε is a small positive number. Since C1,i > 0, one can see that
if p̃˙i enters inside such an ε-vicinity while being out of Sai = 0, then the latter implications ensure that |p̃¨i | > 0
and, consequently, p̃˙i will scape from zero in finite time. In other words, p̃˙i = 0 is not an attractor. Therefore,
 
B/G
the finite-time convergence of the state p̃, ΩB to the manifold Sa = 0 (as well as its maintenance there) is
guaranteed.
 
B/G
Now we consider that the state p̃, ΩB has reached the sliding manifold Sa = 0. From the definition of Sa
in (28), the ith component of Sa = 0 can be written as
γ1i  γ2i
p̃i + λ1i sign (p̃i ) |p̃i | + λ2i sign p̃˙i p̃˙i = 0, (43)

which implies in

sign p̃˙i = −sign (p̃i ) ,



(44)
 γ 1/γ2i
|p̃i | + λ1i |p̃i | 1i
p̃˙i = −sign(p̃i ) . (45)
λ2i
Equation (45) is known to show finite-time convergence to (p̃i , p̃˙i ) = (0, 0) (see [11] or [29]). In summary, once
   
B/G
the manifold Sa = 0 is reached by the state p̃, ΩB , the finite-time convergence of p̃, p̃˙ to the origin is
   
B/G
guaranteed. From (24), one can see that p̃, p̃˙ = (0, 0) implies in p̃, ΩB = (0, 0). Therefore, in the sliding
 
B/G
motion, it is also ensured the finite-time convergence of the state p̃, ΩB to the origin.
Finally, one can see that the control law (32) does not involve any term containing negative powers (which is
frequent in many terminal sliding mode formulations) and the Jacobian of Lemma 3 (whose inverse appears in the
control law) is nonsingular for all bounded states, ensuring that it is singularity-free, thus completing the proof. 

Remark 1. The error MRP p̃ is defined by p̃ , a tan(ϑ/4), where a ∈ S2 is the principal Euler axis, and ϑ ∈ R is
the principal Euler angle (see [26], p.51). Therefore, if ϑ = 2πj rad, ∀j ∈ Z\{0}, then p̃ will be unbounded and,
as one can verify, the control law (32) will also be unbounded. This is why Theorem 1 claims for an almost-global
regulation rather than a global regulation. In other words, in the best case, such a singularity is reached when the
B/G
attitude displacement between DB/G and D̄ is represented by a principal Euler angle of ±2π rad. In practice
such a displacement would be too large for a control error, especially if the attitude controller is suitably tuned and
B/G
the system commands r̄G and ψ̄ are reasonably smooth.

Remark 2. Reference [11] presents an implicit formula for the convergence time of a differential equation in the form
of (43). Moreover, it compares that time with the one resulting from the conventional nonsingular terminal sliding
motion differential equation [6], showing that, under equivalent parameters, (43) has a faster convergence. Going
back to the linear sliding mode motion [30], which is governed by a linear time-invariant differential equation, its
convergence is exponential, thus showing a good rate when the state is far from the origin, but a poor rate as the
state approaches it.

Remark 3. It is well-known from the SMC literature [31] that due to the presence of the multidimensional sign
function Sa /kSa k, the practical implementation of the control law (32) (e.g., subject to actuator delays) will show

April 15, 2020 DRAFT

0018-9251 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Canberra. Downloaded on April 30,2020 at 06:37:39 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TAES.2020.2988836, IEEE
Transactions on Aerospace and Electronic Systems

IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS 12

a chattering behavior. There are many standard mechanisms to reduce this chattering; the simpler one is just to
replace Sa /kSa k by its sigmoid approximation
Sa
Ψδ (Sa ) , , (46)
kSa k + δ
where δ ∈ R>0 is a small constant.

C. Position Controller

This subsection designs the position controller using the same multivariate fast nonsingular terminal sliding mode
control adopted in III-B.
1) Design Model: Define the position and velocity control errors
B/G B/G
r̃ , rG − r̄G , (47)
B/G B/G
ṽ , vG − v̄G , (48)
B/G B/G
where v̄G , r̄˙ G .
Using (6)–(7), the dynamics of the above errors can be immediately described by

r̃˙ = ṽ, (49)


1 1 B/G
ṽ˙ = FcG − ge3 + FdG − v̄˙ G , (50)
m m
B/G
From Assumption 1.1, one can consider that DB/G ≡ D̄ . On the other hand, from Assumption 1.2, one
c G/B c c B/G
can assert that FcB ≡ F̄B . Consequently, FcG , DG/B FcB ≡ D̄ F̄B , F̄G . Moreover, assuming that r̄G is
B/G
reasonably smooth, v̄˙ G can be considered small and treated as a disturbance included in FdG . Considering the
above discussion, the design model for the position controller is obtained from (49)-(50) as

r̃˙ = ṽ, (51)


1 c 1
ṽ˙ = F̄G − ge3 + FdG . (52)
m m
Based on the above model, one can now define the position control design problem.
c
Subproblem 2. The position control design problem is to derive a control law, for the control force command F̄G ,
which regulates the uncertain system (51)-(52) at the origin in finite time.
B/G
By solving the above subproblem, it is clear that the 3-DOF position rG will track the position command
B/G
r̄G , with finite-time convergence properties, thus supporting the overall control system of Figure 2.
2) Control Law: The same FNTSMC strategy of Subsection III-B is adopted here. Now, denote the sliding
variable by
˙
Sp , r̃ + Λ3 signΓ3 r̃ + Λ4 signΓ4 r̃, (53)

where Λ3 , diag(λ31 , λ32 , λ33 ), Γ3 , diag(γ31 , γ32 , γ33 ), Λ4 , diag(λ41 , λ42 , λ43 ), and Γ4 , diag(γ41 , γ42 , γ43 ),
with λ3i > 0, λ4i > 0, γ3i > 1, 1 < γ4i < 2, ∀i.

April 15, 2020 DRAFT

0018-9251 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Canberra. Downloaded on April 30,2020 at 06:37:39 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TAES.2020.2988836, IEEE
Transactions on Aerospace and Electronic Systems

IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS 13

The following theorem provides a position control law that solves Subproblem 2 by means of the FNTSMC
strategy based on the sliding variable defined in (53).

Theorem 2. The position control law


  
c Sp 1 Sp  
Γ3 −I3

2I3 −Γ4 ˙
F̄G = −m C3 + C4 Sp + ρF − ge3 + Λ−1
4 Γ−1
4 I3 + Λ3 Γ3 diag |r̃| sign r̃ ,
kSp k m kSp k
(54)

where C3 , diag(C3,1 , C3,2 , C3,3 )  0, C4 , diag(C4,1 , C4,2 , C4,3 )  0, globally regulates the state (r̃, ṽ) of
system (51)–(52) at the origin, along the manifold Sp = 0, in finite time and without singularities.
The proof of Theorem 2 is omitted since it is analogous to Theorem 1. The same comments of Remark 2 and
Remark 3 (regarding the attitude control law) are extendable to the position control law (54).

D. Control Allocations

This subsection formulates the control allocators CA 1 and CA 2.


1) Control Allocator 1: Let us start by defining the corresponding control allocation problem.
B/R
Subproblem 3. The control allocation problem of CA 1 is to compute the 3-DOF attitude command D̄ ∈ SO(3)
c c
from the 2-DOF attitude command n̄G ∈ S2 given by n̄G , F̄G /kF̄G k and an external heading command ψ̄ ∈
[0, 2π).
B/R
To obtain D̄ , first note that by definition its third line is the transpose of n̄G . Then, consider the formula to
convert from Euler angles in the 1-2-3 sequence to the attitude matrix [26]:
 
∗ ∗ ∗
 
B/R
D̄ = ∗ ∗ ∗ , (55)
 
 
sθ̄ −cθ̄sφ̄ cθ̄cφ̄

where s and c stands for sin and cos, respectively, and compute φ̄ and θ̄ from

φ̄ = −atan eT T
2 n̄G /e3 n̄G , (56)

θ̄ = asin eT
1 n̄G . (57)

Finally, considering the external heading command ψ̄, one can compute
 
cψ̄cθ̄ cψ̄sθ̄sφ̄ + sψ̄cφ̄ −cψ̄sθ̄cφ̄ + sψ̄sφ̄
 
B/R
D̄ =  −sψcθ̄ −sψ̄sθ̄sφ̄ + cψ̄cφ̄ sψ̄sθ̄cφ̄ + cψ̄sφ̄ . (58)
 
 
sθ̄ −cθ̄sφ̄ cθ̄cφ̄
2) Control Allocator 2: Considering Assumption 1.2, the actuator-set model given in (17) yields

Γf̄ = τ , (59)

April 15, 2020 DRAFT

0018-9251 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Canberra. Downloaded on April 30,2020 at 06:37:39 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TAES.2020.2988836, IEEE
Transactions on Aerospace and Electronic Systems

IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS 14

T
where f̄ , [f¯1 f¯2 . . . f¯nr ]T ∈ Rnr and τ , F c (TcB )T ∈ R4 . Moreover, the actuator bounds (11)–(12) become,


∀i,

f¯i ∈ [fmin , fmax ], (60)

f¯i − f¯i− ∈ [−δfmax , δfmax ], (61)

where f¯i− denotes the command for fi− .


The control allocation problem of CA 2 can now be defined as follows.
c
Subproblem 4. Consider the virtual control input τ̄ , [F̄ c (T̄B )T ]T ∈ R4 provided by the motion controllers. The
allocation control problem of CA 2 is to compute the actuator commands f̄ of minimum energy which ensures that
the resulting control effort τ is equal to the corresponding virtual control input τ̄ and respects the range and rate
bounds (60)–(61).

The above problem can be immediately recast in the form of a quadratic program (QP), yielding

min kf̄k2 (62)


f̄∈Rnr

s.t.

Γf̄ = τ̄ , (63)

f¯i ∈ [fmin , fmax ], ∀i = 1, ..., nr , (64)

f¯i − f¯i− ∈ [−δfmax , δfmax ], ∀i = 1, ..., nr . (65)

There are many (commercial and free) efficient solvers available to deal with the QP in (62)–(65), which turn
it a mature problem [32]. The following remark comments on the existence and unicity of solution to the above
problem.

Remark 4. Depending on the value of the inputs τ̄ and f¯i− , the above QP may be feasible or not. Denote the
admissible set of this problem by A , {(τ̄ , f¯i− ) ∈ R4 ×R : (63)–(65) are satisfied}. In other words, if (τ̄ , f¯i− ) ∈ A,
then the above QP will be feasible, otherwise it will be infeasible. Therefore, one way to keep this problem feasible
along the flight is to ensure that at any time, (τ̄ , f¯i− ) ∈ A, which can be done, e.g., using a reference governor
[33] to manage the system’s position and heading commands accordingly. Further, in case (τ̄ , f¯i− ) ∈ A, then the
optimal solution will be unique, since the cost function and the feasible set (63)–(65) are both convex. Finally, it
is worth pointing out that if nr = 4 (minimum within the considered MAV class), the feasible set of the above QP
is a singleton, whose element can be immediately obtained by inverting (63).

IV. E VALUATION

The multivariate flight control design proposed in Section III is now evaluated using pure numerical simulation
as well as a hardware-in-the-loop (HIL) experiment.

April 15, 2020 DRAFT

0018-9251 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Canberra. Downloaded on April 30,2020 at 06:37:39 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TAES.2020.2988836, IEEE
Transactions on Aerospace and Electronic Systems

IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS 15

A. Numerical Simulation

To confirm the results in Theorem 1 and Theorem 2, the proposed control laws are first evaluated numerically
on their respective design models, using the physical parameters of Table I. The control system parameters have
been tuned as Λ1 = Λ2 = Λ3 = Λ4 = I3 , Γ1 = Γ3 = 1.01I3 , Γ2 = Γ4 = 1.5I3 , C1 = C3 = 2I3 , C2 = C4 = I3 ,
√ √
ρT = 0.05 3, ρF = 0.7 3, and δ = 0.01.

TABLE I: Parameters of simulated MAV.

Description Symbol Value


Total mass m 0.7 kg
Total inertia matrix JB diag(0.02, 0.02, 0.03) kgm2
Arm length l 0.2 m
Force coefficient kf 3.13 × 10−5 N/(rad/s)2
Torque coefficient kτ 7.5 × 10−7 Nm/(rad/s)2
Motor speed coefficient kω 1
Motor time constant Tω 0.01 s

The simulation scenario is defined as follows. The torque and force disturbances are drawn from uniform random
distributions over the supports kTdB k∞ ≤ 0.05 Nm and kFdG k∞ ≤ 0.7 N, respectively. The attitude control law is
excited with an attitude step command from the origin to point (π/6, π/6, π/6) rad. On the other hand, the position
control law is submitted to a three-dimensional position step command from the origin to point (1, 1, 1) m. Figures
3 and 4 show the results in comparison with the corresponding nonsingular terminal sliding mode control (NTSMC)
policy which can be obtained from the proposed design by setting Λ1 = Λ3 = 03×3 (see [11]).
Figure 3 shows the attitude errors along the time as well as in the phase plane. In the time plots, one can see that
the FNTSMC is faster than the NTSMC, as expected. Moreover, Theorem 1 is verified in the time plots since the
error components reach zero in finite time. On the other hand, the phase plane plots clearly identifies the reaching
and sliding control steps. Figure 4 shows similar results for the position controller.

B. Hardware-in-the-Loop Simulation

The aim now is to evaluate the overall control architecture of Figure 2 in a more realistic setup. For this end, we
propose a hardware-in-the-loop (HIL) simulation using the 3-DOF Hover experiment by Quanser, which consists
of a quadrotor-like frame mounted on a 3-DOF pivot joint that enables only the rotational motion. Figure 5 shows
a picture of the experiment. The hover is controlled in real time by a DSP contained in a PCI-interfaced board,
using four DC motors as well as the attitude feedback provided by three encoders. On the other hand, the DSP is
programmed and monitored (in real time) by MATLAB/Simulink, via Real-Time Workshop. In this HIL scheme,
using a unique Simulink diagram, the hover is programmed to emulate the MAV attitude motion, while the coupled
translational motion is numerically simulated using equations (6)–(7) with m = 0.7 kg.
Table II presents the 3-DOF Hover parameters, extracted from the manual of the manufacturer; they are used
to adjust the attitude control law and the control allocator AC 2. The following scenario is considered in the

April 15, 2020 DRAFT

0018-9251 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Canberra. Downloaded on April 30,2020 at 06:37:39 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TAES.2020.2988836, IEEE
Transactions on Aerospace and Electronic Systems

IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS 16

initial state
sliding surfaces

Fig. 3: Rotational control errors along the time (above) and in the phase plane (below).

experimental test. The force disturbance components are simulated as sine waves with an amplitude of 0.01 N and a
frequency of π rad, while the torque disturbance comes naturally from the environment due to the interaction between
the air flow and the bench. The control system parameters are set to Λ1 = 10I3 , Λ2 = Λ3 = Λ4 = I3 , Γ1 = 1.5I3 ,
Γ2 = Γ3 = Γ4 = 1.1I3 , C1 = diag(0.2, 0.2, 0.05), C2 = diag(0.8, 0.8, 0.05), C3 = C4 = diag(0.2, 0.2, 0.5),
B/G
ρT = 0.001, ρF = 0.01, and δ = 0.01 (for both control laws). The position command r̄G is built as the sequence
of line segments connecting the initial position w0 = [0 0 0]T and the waypoints w1 = [0 0 10]T m, w2 = [10 0 10]T
m, and w3 = [10 10 10]T m, with a constant speed reference v̄ = 0.5 m/s and a constant heading command ψ̄ = 0.
Figures 6–8 show the results.

TABLE II: Parameters of the Quanser 3-DOF Hover adopted in the simulation setup.

Description Symbol Value


Arm length l 0.1969 m
Moment of inertia for x-axis Jx 0.0552 kgm2
Moment of inertia for y-axis Jy 0.0552 kgm2
Moment of inertia for z-axis Jz 0.1104 kgm2
Force coefficient kf 0.1188 N/V
Torque coefficient kτ 0.0036 Nm/V

Figure 6 shows the controlled position together with the respective position command. Despite of the disturbances,
the controlled position shows a fast finite-time convergence to the vicinity of the command (the convergence is not
exactly to the command because of the chattering-attenuation parameter δ; see Remark 3). Moreover, the proposed

April 15, 2020 DRAFT

0018-9251 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Canberra. Downloaded on April 30,2020 at 06:37:39 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TAES.2020.2988836, IEEE
Transactions on Aerospace and Electronic Systems

IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS 17

initial state

sliding
surfaces

Fig. 4: Translational control errors along the time (above) and in the phase plane (below).

Fig. 5: Hardware-in-the-loop simulation setup.

design based on the FNTSMC outperformed, in terms of convergence rate, the one relying on the NTSMC. On
the other hand, Figure 7 shows the controlled attitude roll and pitch angles. At the waypoints, they present some
peaks of less than 5 degrees, which are attenuated along the time, until reaching the next waypoint. Between two
consecutive waypoints, one can see an attitude oscillation with a small amplitude (around 1 degree). This is due to
the unmodeled spring-damping behavior of the 3-DOF Hover (which passively tries to bring the apparatus to the
horizontal plane).
c
Finally, Figure 8 shows the horizontal components of the torque command T̄B as well as the force magnitude
command F̄ c . The torque components show some transient peaks at the waypoints and an oscillatory and noisy

April 15, 2020 DRAFT

0018-9251 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Canberra. Downloaded on April 30,2020 at 06:37:39 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TAES.2020.2988836, IEEE
Transactions on Aerospace and Electronic Systems

IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS 18

Fig. 6: Controlled position in the HIL experiment.

Fig. 7: Controlled attitude in the HIL experiment.

behavior between them. The oscillation comes mainly from the simulated sinusoidal force disturbance, while the
noises are due to the low-quality encoder measurements. In fact, the encoder data have contact bouncing. Therefore,
when they are numerically differentiated to obtain angular velocity estimates, the resulting signal contains many
spikes. A low-pass filter is adopted to reduce this effect, but its cut-off frequency is not set to a very low value
(enough for obtaining a smooth signal) since it could introduce slow dynamics to the system, thus affecting the
overall performance. In particular, the FNTSMC produces larger control torques in comparison with the NTSMC,
which can be seen as a payment for being faster. On the other hand, the force magnitude command is relatively
smooth and shows an oscillation due to the sinusoidal force disturbance.

ascending
period

Fig. 8: Control inputs in the HIL experiment.

April 15, 2020 DRAFT

0018-9251 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Canberra. Downloaded on April 30,2020 at 06:37:39 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TAES.2020.2988836, IEEE
Transactions on Aerospace and Electronic Systems

IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS 19

V. C ONCLUSION

This paper has augmented a ubiquitous hierarchical quadcopter flight control scheme with an explicit control
allocation module which extends its applicability to any MAV with an arbitrary (even) number (≥ 4) of rotors. The
rotors are supposed to be fixed (not vectoring) and they can be mounted either isolatedly or in coaxial pairs. The
proposed scheme, as the original one, places the attitude control loop inside the position control loop and, under a
time-scale-separation assumption, it allows the respective control laws to be designed separately. In particular, this
work has proposed a new robust, multi-input, multi-output geometric design for the two control laws using a fast
nonsingular terminal sliding mode control approach. Besides showing effective and simple to tune and implement,
the proposed control design offers a new framework for the application of other sliding mode methods to the
MAV flight control problem. As indicated by recent publications [21], [22], promising extension directions for the
proposed method is to endue it with an adaptation scheme to reduce chattering without the need for a boundary-
layer approximation. Regarding the HIL experiment used here to evaluated the method, it does implement the
controller in real-time and contains real torque disturbances as well as measurement noises. Therefore, it shows up
as a practical and cost-accessible evaluation setup. However, whenever possible, we suggest for future works the
use of free flight tests for evaluation of the controllers in the presence of forced disturbances, such as in [21].

A PPENDIX

A. Proof of Lemma 1

From equation (29), it follows that


d
 
γ11
 dt (sign(p̃1 )|p̃ 1 | ) 
 
d Γ1
  d 
γ12 

sign p̃ =  (sign(p̃2 )|p̃2 | )  . (66)
dt  dt 
 
 d 
γ13
(sign(p̃3 )|p̃3 | )
dt
Since sign(p̃i ) |p̃i | = p̃i , the components of the above equation can be rewritten as
d γ d  γ −1

(sign(p̃i )|p̃i | 1i ) = p̃i |p̃i | 1i , (67)
dt dt
which implies in
d γ γ −1 γ −2 d |p̃i |
(sign(p̃i )|p̃i | 1i ) = p̃˙i |p̃i | 1i + p̃i (γ1i − 1) |p̃i | 1i . (68)
dt dt
On the other hand, one can see that
d |p̃i |
= sign(p̃i )p̃˙i . (69)
dt
By replacing the above equation into (68), we obtain
d γ γ −1
(sign(p̃i )|p̃i | 1i ) = γ1i |p̃i | 1i p̃˙i , (70)
dt
thus completing the proof. 

April 15, 2020 DRAFT

0018-9251 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Canberra. Downloaded on April 30,2020 at 06:37:39 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TAES.2020.2988836, IEEE
Transactions on Aerospace and Electronic Systems

IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS 20

B. Proof of Lemma 2

Using the notation defined in Lemma 1, one can explicitly express the left hand side of (31) to obtain
 
sign(a1 )|a1 |A11 +B11
 
A22 +B22 
sign(a )|a |


A
 2 2
diag |a| signB (a) = 
 
. (71)
 .. 

 . 

sign(an )|an |Ann +Bnn
Since A + B = In , then Aii + Bii = 1, ∀ i = 1, . . . , n. Therefore, by noting that sign(ai )|ai | = ai , we
immediately verify the result of Lemma 2. 

C. Proof of Lemma 3
B/G
First take the derivative of equation (26) w.r.t. ΩB to obtain
B/G
∂F1 (p̃, ΩB ) 1 1 1
B/G
= (1 − p̃T p̃)I3 + [p̃×] + p̃p̃T . (72)
∂ΩB 4 2 2
The determinant of the above equation can be immediately deduced, resulting
!
B/G
∂F1 (p̃, ΩB ) (p̃T p̃ + 1)3
det B/G
= . (73)
∂ΩB 64
B/G
One can see that ∀ p̃ ∈ R3 and ∀ ΩB ∈ R3 the above determinant is positive, thus showing the global
nonsingularity of the Jacobian matrix under consideration. 

ACKNOWLEDGMENT

This work has received financial support from the Sao Paulo Research Foundation (FAPESP/Brazil) (grant
2019/05334-0), from the National Council for Scientific and Technological Development (CNPq/Brazil) (grant
302637/2018-4), and from the ITA’s Graduate Program on Aeronautics and Mechanics Engineering. The authors
are grateful to the anonymous reviewers for their invaluable suggestions.

R EFERENCES

[1] D. A. Santos and A. Cunha, “Flight control of a hexa-rotor airship: Uncertainty quantification for a range of temperature and pressure
conditions,” ISA Transactions, vol. 93, pp. 268–279, 2019.
[2] S. Bertrand, N. Guénard, T. Hamel, H. Piet-Lahanier, and L. Eck, “A hierarchical controller for miniature VTOL UAVs: Design and
stability analysis using singular perturbation theory,” Control Engineering Practice, vol. 19, no. 10, pp. 1099–1108, Oct. 2011.
[3] S. T. Venkataraman and S. Gulati, “Control of nonlinear systems using terminal sliding modes,” in Proceedings of the American Control
Conference, 1992.
[4] M. Zhihong and X. H. Yu, “Terminal sliding mode control of mimo linar systems,” IEEE Transactions on Circuits and Systems, vol. 44,
no. 11, pp. 1065–1070, 1997.
[5] Y. Wu, X. Yu, and Z. Man, “Terminal sliding mode control design for uncertain dynamic systems,” Syst. Control Lett., vol. 34, no. 5, pp.
281–287, 1998.
[6] Y. Feng, X. Yu, and Z. Man, “Non-singular terminal sliding mode control of rigid manipulators,” Automatica, vol. 38, pp. 2159–2167,
2002.
[7] S. Yu, X. Yu, B. Shirinzadeh, and Z. Man, “Continuous finite-time control for robotic manipulators with terminal sliding mode,” Automatica,
vol. 41, no. 11, pp. 1957–1964, Nov. 2005.

April 15, 2020 DRAFT

0018-9251 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Canberra. Downloaded on April 30,2020 at 06:37:39 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TAES.2020.2988836, IEEE
Transactions on Aerospace and Electronic Systems

IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS 21

[8] Y. Feng, X. Yu, and F. Han, “On nonsingular terminal sliding mode control of nonlinar systems,” Automatica, vol. 49, pp. 1715–1722,
2013.
[9] Y. Feng, F. Han, and X. Yu, “Chattering free full-order sliding mode control,” Automatica, vol. 50, pp. 1310–1314, 2014.
[10] X. Yu and M. Zhihong, “Fast terminal sliding mode control design for nonlinear dynamical systems,” IEEE Transactions on Circuits and
Systems, vol. 49, no. 2, pp. 261–264, 2002.
[11] L. Yang and J. Yang, “Nonsingular fast terminal sliding-mode control for nonlinear dynamical systems,” International Journal of Robust
and Nonlinear Control, vol. 21, no. 16, pp. 1865–1879, Nov. 2011.
[12] F. Munoz, E. S. Espinoza, I. Gonzalez-Hernandez, S. Salazar, and R. Lozano, “Robust trajectory tracking for unmanned aircraft systems
using a nonsingular terminal modified super-twisting sliding mode controller,” Journal of Intelligent and Robotic Systems, vol. 93, pp.
55–72, 2019.
[13] O. Modif and S. Mobayen, “Adaptive sliding mode control for finite-time stability of quadrotor uavs with parametric uncertainties,” ISA
Transactions, vol. 72, pp. 1–14, 2018.
[14] H. L. N. N. Thanh and S. K. Hong, “Quadcopter robust adaptive second order sliding mode control based on pid sliding surface,” IEEE
Access, vol. 6, pp. 66 850–66 860, 2018.
[15] N. Ahmed and M. Chen, “Sliding mode control for quadrotor with disturbance observer,” Advances in Mechanical Engineering, vol. 10,
no. 7, pp. 1–16, 2018.
[16] H. Rios, J. Gonzalez-Sierra, and A. Dzul, “Robust tracking output-control for a quad-rotor: A continuous sliding-mode approach,” Journal
of the Franklin Institute, vol. 354, pp. 6672–6691, 2017.
[17] R. Akbar and N. Uchiyama, “Adaptive modified super-twisting control for a quadrotor helicopter with a nonlinear sliding surface,” in SICE
International Symposium on Control Systems, Okayama, 2017, pp. 93–98.
[18] M. Labbadi and M. Cherkaoui, “Robust adaptive nonsingular fast terminal sliding-mode tracking control for an uncertain quadrotor uav
subjected to disturbances,” ISA Transactions, vol. In press, 2019.
[19] D. Ma, Y. Xia, G. Shen, Z. Jia, and T. Li, “Flatness-based adaptive sliding mode tracking control for a quadrotor with disturbances,”
Journal of the Franklin Institute, vol. 355, no. 14, pp. 6300–6322, 2018.
[20] S. Nadda and A. Swarup, “On adaptive sliding mode control for improved quadrotor tracking,” Journal of Vibration and Control, vol. 24,
no. 14, pp. 3219–3230, 2018.
[21] R. Falcon, H. Rios, and A. Dzul, “Comparative analysis of continuous sliding-modes control strategies for quad-rotor robust tracking,”
Control Engineering Practice, vol. 90, pp. 241–256, 2019.
[22] L’Afflitto, R. B. Anderson, and K. Mohammadi, “An introduction to nonlinear robust control for unmanned quadrotor aircraft: How to
design control algorithms for quadrotors using sliding mode control and adaptive control techniques,” IEEE Control Systems Magazine,
vol. 38, no. 3, pp. 102–121, 2018.
[23] X. N. Shi, Y. A. Zhang, and D. Zhou, “Almost-global finite-time trajectory tracking control for quadrotors in the exponential coordinates,”
IEEE Transactions on Aerospace, vol. 53, no. 1, pp. 91–100, 2017.
[24] T. Lee, M. Leok, and N. H. McClamroch, “Geometric tracking control of a quadrotor UAV on SE(3),” in Proc. 49th IEEE Conference on
Decision and Control (CDC), Atlanta, USA, Dec. 2010, pp. 5420–5425.
[25] R. Mahony, V. Kumar, and P. Corke, “Multirotor aerial vehicle: Modeling, estimation, and control of quadrotor,” IEEE Robotics and
Automation Magazine, vol. 20, no. 32, pp. 20–32, Aug. 2012.
[26] F. L. Markley and J. L. Crassidis, Fundamentals of Spacecraft Attitude Determination and Control. Springer, 2014.
[27] H. Goldstein, C. Poole, and J. Safko, Classical Mechanics (3rd Edition). Addison Wesley, 2001.
[28] M. D. Shuster, “A survey of attitude representations,” The Jounal of the Astronautical Sciences, vol. 41, no. 4, pp. 439–517, Oct. 1993.
[29] S. P. Bhat and D. S. Bernstein, “Finite-time stability of continuous autonomous systems,” SIAM Journal on Control and Optimization,
vol. 38, no. 3, pp. 751–766, 2000.
[30] J.-J. E. Slotine and W. Li, Applied Nonlinear Control. Englewood Cliffs, NJ: Prentice Hall, 1991.
[31] V. I. Utkins, Sliding MMode in Control and Optimization. Berlim: Springer-Verlag, 1992.
[32] S. Boyd and L. Vandenberghe, Convex Optimization. Cambridge University Press, 2004.
[33] E. Gerone, S. Cairano, and I. Kolmanovsky, “Reference and command governors for systems with constraints: A survey on theory and
applications,” Automatica, vol. 75, pp. 306–328, Jan. 2017.

April 15, 2020 DRAFT

0018-9251 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Canberra. Downloaded on April 30,2020 at 06:37:39 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TAES.2020.2988836, IEEE
Transactions on Aerospace and Electronic Systems

IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS 22

Arioberto L. Silva Jr Arioberto L. Silva Jr was born in Brazil in 1994. He received the B.Sc. and M.Sc. degrees from
Aeronautics Institute of Technology in 2017 and 2018, respectively, both in Aeronautical-Mechanical Engineering. His
main research interest is flight control of multirotor aerial vehicles.

Davi A. Santos received a B.S. degree in Control and Automation Engineering from Itajuba Federal University, Brazil,
in 2004, and both an M.S. and a D.Sc. degree in Systems and Control from Aeronautics Institute of Technology,
Brazil, in 2008 and 2011, respectively. He was a visiting researcher in the Embedded Electronics Department at ESIEE
Paris, France, in 2013 and in the Electric and Computer Engineering Department at the Pennsylvania State University,
USA, in 2018. He currently has a position of Associate Professor in the Mechatronics Department at the Aeronautics
Institute of Technology. His research interests include flight control, navigation, and guidance of electric multirotor
aerial vehicles for aerial robotics and urban mobility.

April 15, 2020 DRAFT

0018-9251 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Canberra. Downloaded on April 30,2020 at 06:37:39 UTC from IEEE Xplore. Restrictions apply.

You might also like