ArticlePDF Available

Abstract and Figures

The trajectory control problem, defined as making a vehicle follow a pre-established path in space, can be solved by means of trajectory tracking or path following. In the trajectory tracking problem a timed reference position is tracked. The path following approach removes any time dependence of the problem, resulting in many advantages on the control performance and design. An exhaustive review of path following algorithms applied to quadrotor vehicles has been carried out, the most relevant are studied in this paper. Then, four of these algorithms have been implemented and compared in a quadrotor simulation platform: Backstepping and Feedback Linearisation control-oriented algorithms and NLGL and Carrot-Chasing geometric algorithms.
Content may be subject to copyright.
Noname manuscript No.
(will be inserted by the editor)
A Survey of Path Following Control Strategies for
UAVs Focused on Quadrotors
Bartomeu Rub´ı ·Ramon P´erez ·Bernardo
Received: date / Accepted: date
Abstract The trajectory control problem, defined as making a vehicle follow a
pre-established path in space, can be solved by means of trajectory tracking or
path following. In the trajectory tracking problem a timed reference position is
tracked. The path following approach removes any time dependence of the prob-
lem, resulting in many advantages on the control performance and design.
An exhaustive review of path following algorithms applied to quadrotor ve-
hicles has been carried out, the most relevant are studied in this paper. Then,
four of these algorithms have been implemented and compared in a quadrotor
simulation platform: Backstepping and Feedback Linearisation control-oriented al-
gorithms and NLGL and Carrot-Chasing geometric algorithms.
Keywords Unmanned Aerial Vehicles ·Trajectory Control ·Path Following ·
Backstepping ·Feedback Linearization ·NLGL ·Carrot-Chasing
1 Introduction
In recent years, the growing interest to develop fully autonomous aerial vehicles,
known as Unmanned Aerial Vehicles (UAVs), has seen a civil market demand
increase compared to its military applications. The most innovative applications
include interaction of the UAVs with their environment (e.g. infrastructure main-
tenance and parcel delivery) focusing in the control and disturbance rejection.
Nevertheless, the current main applications are supervision and mapping. These
This work has been partially funded by the Spanish Government (MINECO) through the
project CICYT (ref. DPI2017-88403-R). Bartomeu Rub´ı is also supported by the Secretaria
d’Universitats i Recerca de la Generalitat de Catalunya, the European Social Fund (ESF) and
the AGAUR under a FI grant (ref. 2017FI B 00212).
Bartomeu Rub´ı, Ramon P´erez and Bernardo Morcego
Research Center for Supervision, Safety and Automatic Control (CS2AC), Universitat
Polit`ecnica de Catalunya (UPC). Rbla Sant Nebridi 22, Terrassa (Spain).
Tel.: +34-937398973
2 Bartomeu Rub´ı et al.
observations include applications as: environmental protection, including floods,
fire and other disasters; security; agriculture, both in water and plague manage-
ment; infrastructure supervision, including pipes and electrical lines. The main
advantages of the UAVs are the accessibility, security and economy of their ob-
servations. These interests drive a continuous progress both in the artificial vision
and trajectory control areas [50].
Out of all UAVs, multirotors stand out for their good manoeuvrability, stabil-
ity and payload. Initially, the object of study of these vehicles was on obtaining
controllers capable of stabilizing their attitude, the fastest and most influential
dynamics. The stabilization control problem for the particular case of a quadrotor
has been solved using different techniques such as Backstepping,Feedback Lin-
earisation,Sliding Mode Control,PID, optimal control, robust control, learning-
based control, etc [10][64][48]. Given that the stabilization control has already been
widely studied, today the challenge for quadrotors is trajectory control, fault toler-
ant control, path planning or obstacle avoidance. The trajectory control problem,
defined as making a vehicle follow a pre-established path in space, can be solved
mainly by two different approaches: using a trajectory tracking controller or with a
path following controller. For the trajectory tracking problem a reference specified
in time is tracked, where the references of the path are given by a temporal evolu-
tion of each space coordinate. Whereas path following (PF) handles the problem
of following a path with no preassigned timing information, thus any time depen-
dence of the problem is removed.
In [2] the authors demonstrate that following a geometric path is less demand-
ing than tracking a timed reference signal. They argue that, although it is possible
to perfectly track any reference with minimum phase stable systems, the tracking
error increases in non-linear systems with presence of unstable zero dynamics as
the signal frequencies approach those of the unstable zeros. PF controllers offer a
number of advantages over trajectory tracking controllers, not only these are easier
to design [42] but also result in smoother convergence to the path and less demand
on the control effort [15], a smaller transient error and a stronger robustness [77]
and the control signals are less likely to be saturated [25]. The path following prob-
lem has also applications in underwater and ground-based robots. In all of those
systems, the PF controller usually operates after another control block known as
the path planner. The path planner is a high-level controller whose mission is gen-
erally to obtain an optimal path between two given points in space. The resulting
optimal path, which commonly seeks a compromise between a minim path length
and a minimum control effort, will vary based on the problem requirements. Oc-
casionally, between the path following and the path planning controllers the path
smoothing block can be found [40][21]. The task of this block is to smooth the
path generated by the path planning algorithm considering the kinematic con-
strains of the vehicle. However, the smoothing task is typically integrated inside
the path planner. Apart from that, in some cases the path planning controller is
also responsible for the obstacle avoidance task [18][22].
Even though trajectory tracking surveys applied to multirotors are available,
such as [47], there are no path following reviews applied to these vehicles. With this
in mind, the present survey of path following focused on quadrotors is necessary.
This survey compares PF algorithms on the same scenario in equal conditions and
harmonizes the nomenclature: it gives a general definition of the path following
problem and offer details of the studied algorithms.
A Survey of Path Following Control Strategies for UAVs Focused on Quadrotors 3
A thorough review of literature related to PF control applied to quadrotors has
been carried out. It is important to mention that some papers use the term path
following when implementing controllers that track timed trajectory references.
As these papers do not follow our path following definition, they are not included
in our bibliographic review. The trajectory control problem, as opposed to the
stabilization problem, is less dependent on the plant. Therefore, PF techniques
not applied to quadrotors are also included and references for other type of UAVs
are provided. From this study, four of these PF algorithms have been chosen to
be implemented and compared. They were selected for their popularity and per-
formance. These algorithms are described in detail and applied to a simulation
The rest of the paper is organized as follows: In section 2 the Path Following
problem is defined. Section 3 exposes a literature review of the Path Following
control applied to quadrotor vehicles. In section 4 the quadrotor dynamic model
is presented and then Backstepping and Feedback Linearisation control-oriented
algorithms, and NLGL and Carrot-Chasing geometric algorithms are implemented
to solve the PF problem. Section 5 reports the simulation results of the studied
algorithms, and discusses their performance. Finally, section 6 details the conclu-
2 Path Following Problem
The topic of this paper addresses the trajectory control problem of a quadrotor
vehicle. This problem is defined as making a quadrotor follow a pre-established
path in space. Only PF control strategies are reviewed in this paper. The PF
problem [1][15][42] is defined as:
Definition 1 Path Following Problem: Let the desired path be described by a
curve in the three-dimensional space pd(γ) := [xd(γ), yd(γ), zd(γ)]T, parametrized
by the virtual arc γ[0; γf], where γfis the total virtual arc length. The control
objective is to design a control law for the vehicle that ensures convergence of the
vehicle’s position p(t) to the path pd(γ).
It is important to mention that some control-oriented algorithms may need a
timing law for the virtual arc parameter, γ(t), since some of this techniques consist
in an adaptation of a trajectory tracking algorithm, such as Backstepping.
There are several approaches to define the desired path. Dubins defines the
path as a combination of circle’s arcs and lines tangent to them [28][8]. In the
waypoint-based case the sequence of points is commonly connected by straight-
lines [21][60] or splines [84][27]. The most generic approach is a continuous function
parametrized by the virtual arc length [15][4][42].
The guidance and control system’s design to solve the PF problem is done by
applying two different methodologies: the Separated Guidance and Control (SGC)
approach and the Integrated Guidance and Control (IGC) approach [23]. The SGC
approach is based on a separation between translational dynamics and rigid-body
rotational dynamics. It consists on an outer-loop guidance law for generation of
the movement commands and an inner-loop controller to track those commands,
sometimes known as the autopilot. While the IGC approach combines both con-
trollers in the same control loop. Fig. 1 shows the typical UAVs guidance and
4 Bartomeu Rub´ı et al.
control structure, which is a hierarchical control structure. The path smoothing
block and the autopilot are represented with dashed lines as they are not always
present in this control structure. As seen above, the path smoothing task can be
integrated in the path planning block and in an IGC structure the path following
block integrates the autopilot.
Planning Path
Smoothing Path
Following Autopilot UAV
Fig. 1 Control structure.
3 Path following in quadrotors
In this section the path following state of art applied on quadrotors is reviewed.
We describe the control structures and algorithms most commonly used to solve
the path following problem. The algorithms are organized in subsections, and
a qualitative comparison is given. The algorithms are organized in subsections
and a qualitative comparison is exposed. The path following problem has been
widely studied for Ground Vehicles and fixed-wing aircrafts but its application to
quadrotors is a relatively new research field. For that reason, references for other
types of UAVs are reported when an algorithm is not found applied to quadrotors.
3.1 Backstepping
Backstepping (BS ) is a renowned technique widely used for control of non-linear
systems [75][44]. This technique is based on the Lyapunov theory. Its control ob-
jective is to force the convergence of a set of predefined errors to zero. For this
purpose, a Lyapunov function is stated for each error in such a way that if the
time derivative of those functions are negative definite, the stability of the system,
and therefore the convergence of the error to zero, is assured. Then, the control
actions of the system are obtained as the ones that make negative definite the time
derivative of all the stated Lyapunov functions.
This control strategy is used in most of the trajectory tracking control litera-
ture, as stated in [68]. Good performance in the reference tracking is achieved, as
mentioned in [66], since Backstepping is able to provide larger regions of attraction
than other types of controllers. However, as quadrotors present an underactuated
nature, the control laws that have been developed do not assure global tracking.
The solution to this problem is to eliminate the time dependence of the reference
path and thus transform the trajectory tracking problem into a path following
problem, in which it is possible to obtain a globally convergent Backstepping con-
troller while keeping a large control capability [16].
A Survey of Path Following Control Strategies for UAVs Focused on Quadrotors 5
In several publications Backstepping technique was used to solve both path
following and stabilization problems. See [15] where a BS technique is applied
using the IGC structure for the 3D control of a quadrotor. The proposed solution
consists of a non-linear state feedback controller for thrust and torque control
actions and a timing law that maintains the PF control law well-defined. This
controller guarantees global asymptotic convergence of the path following error
to zero for a wide class of desired paths and ensures that the actuation does not
grow unbounded. The performance of the proposed controller is validated with
simulation results. In [16] the authors improve their controller to deal with the
presence of constant wind disturbance. This controller includes an estimate of the
external disturbance to mitigate its effect. Experimental results demonstrate the
robustness of the controller.
In [43] the problem of time cooperative PF for multirotors with a suspended
payload is addressed. A team of multirotors transporting a suspended payload.
A robust PF controller is developed for each vehicle in the system formed by an
autopilot that controls the attitude and a BS controller that ensures each vehicle
follows the desired path along a given speed profile. Numerical results verify path
following accuracy and low coordination errors.
3.2 Lyapunov-based
Similarly to Backstepping, these algorithms are based on the Lyapunov theory.
They are developed by assuring the Lyapunov stability condition, and thus, the
convergence of the controller. The generated guidance control laws are usually
simple and effective [20].
In [25] the authors propose a 3D path following control law based on Lyapunov
theory by using the rotation matrix, that belongs to the 3D Special Orthogonal
group (SO(3)), for attitude representation. This results in a singularity-free solu-
tion and allows speed profile’s independent adjustment. The control law generates
angular rates and thrust reference commands. Experimental results for the mission
of following a desired path and for the time coordination problem [26] are given
to illustrate the efficacy of the proposed control law.
In [57] a Lyapunov-based PF controller is proposed and it is complemented with
a velocity observer and a constant disturbance estimator based on the immersion
and invariance technique. Experimental indoor results for 3D paths show that the
proposed approach fulfils the geometric specifications with an error that, according
to the authors, is acceptable.
Some of the Lyapunov-based path following algorithms perform well against
wind disturbances. As in [58], where an adaptive non-linear path following method
is applied on a fixed-wing experimental platform. In this paper, the Lyapunov
function is constructed based on the error equations and desired path function ap-
plying the vector field theory. Experimental results show good performance under
wind disturbances. [19] presents another path following application for a fixed-
wing vehicle that also takes into account wind disturbances by including an Active
Disturbance Rejection Control (ADRC) for the attitude inner-loop combined with
the Lyapunov-based control for the outer-loop. Experimental flight tests verify the
effectiveness of this method.
6 Bartomeu Rub´ı et al.
3.3 Feedback Linearisation
Feedback Linearisation, along with Backstepping, is one of the most commonly used
techniques for the control of quadrotors as discussed in [4]. The aim of this control
technique is to linearise a system in a certain region of the state space by applying a
non-linear inversion of the plant, so that non-linearities in the plant are cancelled
and linear control theory can be applied [14]. Some of the advantages of this
method are the simplicity in the control structure, the facility of implementation
[74] and formal profs of error convergence when appropriate conditions are met.
When applied to the PF problem, this method achieves the property of path
invariance. That is, to ensure that once the system reaches the path it will stay
on it for all future time [3][4].
In [68] the 3D path following problem for a quadrotor is solved by applying
input dynamic extension and input-output Feedback Linearisation (FL). The de-
signed controller allows to specify the speed on the path and the yaw angle of the
vehicle as a function of the displacement along the path. Simulation results for
a constant cruise speed along a circular path show that the quadrotor converges
to the path as well as the velocity and yaw angle converge to the desired values.
In [3] the authors propose an improvement of the previous stated controller by
implementing a transverse Feedback Linearisation plus input dynamic extension.
This enhanced controller, which fully linearises the system, allows the quadrotor
to move along the path in any desired direction, and both closed and non-closed
curves can be used for the path definition. The capabilities of the controller are
demonstrated with simulation results.
In [4], the authors of [3] adapted its PF controller to operate in the context
of fault tolerant control, in the particular case when one of the four motors is
completely disabled due to a failure. With the faulty system, only partial FL
can be achieved. That is because the three rotor system is not differentially flat
and presents uncontrolled internal dynamics. However, the uncontrolled non-linear
dynamics are proved to be bounded, and thus it is shown that the system can be
made to stay precisely on the path while the quadrotor is running only on three
In [32], a 3D PF implementation of a helicopter UAV is described. They ap-
ply the Feedback Linearisation technique basing it on the kinematic model of a
helicopter. Six PID controllers are employed to control the attitude angles and
the velocities. The main contribution of such approach is the consideration of
the desired speed of the vehicle as a function of the assigned path. Simulations
compare the designed controllers with variable and fixed velocity profile. Better
performance is achieved whith variable speed profile.
3.4 Geometric
Geometric techniques were initially described in the missile guidance and control
literature. Some of them were adapted to other type of vehicles, such as UGVs or
UAVs. Examples of these techniques are: Carrot-Chasing algorithm, Non-Linear
Guidance Law,Pure Pursuit,Line-of-sight and Trajectory Shaping guidance law.
Carrot-Chasing (CC ) [59] is a simple geometric strategy that consists on steering
the UAV toward a Virtual Target Point (VTP) located on the path. The VTP
A Survey of Path Following Control Strategies for UAVs Focused on Quadrotors 7
is periodically updated and obtained by adding a constant distance along the
path to the vehicle’s closest point. Non-Linear Guidance Law (NLGL) [65] is also
based on the VTP concept. In this case the point is calculated by creating a
circumference around the vehicle with a constant radius and taking the point in
which the circumference intersects the path. The obtained VTP is at a distance
from the vehicle equal to the radius of the circumference. Next, the acceleration
commands that steer the vehicle to the VTP are calculated. The Pure Pursuit
(PP) [9][63] algorithm tries to guide the vehicle straight to a target point on
the path. Line-of-sight (LOS ) [71][8] seeks to steer the vehicle directly towards
the closest point on the path. Pure Pursuit and Line-of-sight (PLOS ) [45] is the
combination of PP and LOS. In the Trajectory Shaping (TS) [67] guidance law,
the commanded lateral acceleration is generated as function of the vehicle heading
angle, target heading angle and line-of-sight angle.
Two algorithms based on missile guidance laws, Pure Pursuit and Trajectory
Shaping, have been implemented on a quadrotor vehicle in [53]. The concept of
VTP navigation has been utilized to generate the required curved trajectories.
A guidance algorithm based on the notion of Differential Flatness (DF) was im-
plemented as a baseline control-oriented algorithm. Simulation and experimental
results comparing these algorithms show that TS generates smaller position errors
and requires lower control effort than PP and DF approaches. Furthermore, it is
proved that missile guidance laws can be successfully utilized by a quadrotor.
In [34] various geometric algorithms, such as PP,LOS and Proportional Nav-
igation Guidance (PPN) law, are applied to the problem of autonomous landing
of a quadrotor UAV. Simulation results suggest that the PPN algorithm performs
the best in terms of time and control effort, where LOS presents the worst perfor-
In [78] a survey of some of the most common PF algorithms applied to fixed-
wing UAVs is presented. In addition to the control-oriented algorithms, Carrot-
Chasing,NLGL and PLOS are described. Simulation results comparing those al-
gorithms show that the NLGL is the geometric approach that achieves the best
performance in terms of path distance error.
3.5 Model Predictive Control
Model Predictive Control (MPC) is a well-known technique [17][33][56] that trans-
forms the control problem into an optimization problem. At any sampling time
instant, a sequence of future control values is computed by solving a finite horizon
optimal control problem. Only the first element of the computed control sequence
is used and the overall process is repeated at the next sampling time. The most
important drawback of this technique is that resources needed for computation
and memory growth rapidly with the time horizon.
In contrast to the most common path following approaches, such as the geo-
metric algorithms or the Backstepping technique, the MPC approach is able to
handle constraints on states and inputs, non-linear MIMO dynamics, and non-
linear reference paths [31].
In [62] a cascaded control structure applying the Non-linear MPC technique
for the PF outer-loop control is presented. The inner-loop control for the accel-
eration tracking is based on non-linear dynamic inversion. This controller allows
8 Bartomeu Rub´ı et al.
multirotor vehicles to follow a path whose geometry is defined as a spline in 3D
space. Simulation results demonstrate the good performance of this approach. Fur-
thermore, the obtained runtimes, well below the sample rate, suggest that it could
be implemented in on-board embedded systems. An improvement of this approach
is presented in [5], where an adaptive augmentation scheme for the inner-loop con-
troller is designed. The adaptive augmentation is based on a non-linear design plant
and uses Model Reference Adaptive Control (MRAC). Simulation results show a
stronger robustness of the adaptive augmentation in relation to the baseline con-
A trajectory optimization strategy for UAVs based on non-linear optimal con-
trol techniques is presented in [69]. The approach is based on a Virtual Targed
Vehicle (VTV) perspective where a virtual target is introduced. Numerical com-
putation results show that it is able to compute aggressive manoeuvres. In [70]
the authors extend and adapt the proposed strategy for path following in presence
of time varying wind disturbances by means of a sample-data MPC architecture.
Simulation results with a fixed-wing vehicle show the effectiveness of the predictive
PF approach.
In [37] a non-linear receding horizon guidance law is developed to solve the PF
problem on a fixed-wing vehicle. An extended Kalman filter is used to estimate
wind velocities. The proposed law achieves efficient PF by making input constraints
active. Its effectiveness is demonstrated by flight tests.
In addition to path following approaches, several trajectory tracking imple-
mentations on quadrotor vehicles are found applying the Model Predictive Control
technique. Some of them have reported experimental results showing a good per-
formance against disturbances [6][11].
3.6 Vector Field
In the Vector Field (VF ) based control, a set of vectors is virtually placed around
the path in such a way that if the vehicle follows the direction of those vectors
it will converge into the path. Those vectors are used to generate desired course
inputs to the inner-loop attitude controllers.
The first application of a path following approach using this method for a
UAV is found in [60]. In this paper Vector Field path following control laws are
developed for straight-line paths and circular arcs and orbits. Asymptotic decay of
path following errors in the presence of constant wind disturbances is demonstrated
with Lyapunov theory. Experimental tests are carried out with a fixed-wing UAV
to show the effectiveness of this method.
In [88] the 3D path following problem is solved by implementing a velocity
vector field following controller based on the differential flatness notion. This ap-
proach is designed with an inner-loop controller that makes the vehicle follow a
specified velocity vector field. The validity of the method is demonstrated by nu-
merical simulations and experiments with a quadrotor for three different vector
AVF path following guidance for 2D and 3D twice differentiable curves is
stated in [49]. The proposed approach is based on the Helmholtz theorem, which
states that an arbitrary vector field can be decomposed into two parts, conservative
part (irrotational) and solenoidal part (rotational). This approach combines both
A Survey of Path Following Control Strategies for UAVs Focused on Quadrotors 9
parts by using the conservative part for long distances to the desired path and using
the solenoidal part when the vehicle is along the path. UAV input constraints and
constant wind disturbances are assumed to be present. The method’s performance
is validated by simulation results.
In [87] an adaptive control scheme for UAVs path following under wind distur-
bances is proposed. This control strategy integrates the Vector Field PF law with
an adaptive term to deal with the effect of unknown wind disturbances. Simulation
results with wind conditions show that the proposed method compensates for the
lack of knowledge of the wind vector and, according to the authors, it attains a
smaller path following error than the state-of-art vector field method.
Refer to [82][35][54][41][83] for path following Vector Field implementations
applied on different types of aerial vehicles. In [78], simulation results comparing
this algorithm to other geometric and control-oriented algorithms show that the
VF-based algorithm is the one with least cross-track error. However, final remarks
conclude that it can be difficult to implement.
3.7 Learning-based
Learning-based algorithms constitute an emerging field that, due to the significant
progress made in recent years, has become a wise solution for different types of
problems. In particular, it is being introduced in the trajectory control problem on
different types of vehicles, including UAVs. This field includes supervised and un-
supervised techniques, reinforcement learning algorithms, data-driven approaches
and other deep machine learning methods.
In [76] a MPC controller is used as a supervisor to train a neural network
control policy to solve the path following and obstacle avoidance problem on a
quadrotor vehicle. With this algorithm the computational efficiency problem of
the MPC technique is solved while maintaining a similar performance, as proved
by experimental results. An Iterative Learning Control approach is proposed in
[86] to solve the PF problem on a quadrotor. The control scheme is composed by
a PD controller and an anticipant controller. This approach focuses on repetitive
flight to learn from experience. Simulation tests and off-line experimental results
are presented to prove the effectiveness of the controller. In [85] a data-driven
control approach is proposed for the adaptive path following control of a fixed-
wing vehicle. The reliability of the approach is demonstrated through simulation
results and flight tests. Other learning-based approaches have been used to solve
the path following problem on different types of vehicles, such as vessels [36][55][73]
or airships [61].
Various learning-based approaches are found in the literature solving the tra-
jectory tracking problem for a quadrotor vehicle [79][24]. Some of these approaches
consider wind disturbances in its design, as in [51] where an adaptive trajectory
tracking control based on a reinforcement learning algorithm is presented.
3.8 Optimal Control
The Optimal Control theory aims to operate a dynamic system at a minimum cost.
That is, to follow a path with a minimum error and control effort. The most well-
10 Bartomeu Rub´ı et al.
known control techniques to solve this problem are the Linear Quadratic Regulator
(LQR) and the Linear Quadratic Gaussian (LQG).
In [80] a general solution for the PF problem is presented. The proposed ap-
proach is developed as a fixed end-time optimal control problem and it relies on
a geometric formulation based on the notion of differential flatness. The resulting
controller is applied to a quadrotor simulation system with the mission of per-
forming aggressive manoeuvres and it is demonstrated that the proposed problem
formulation is solved efficiently.
A UAV guidance law using an adaptive LQR formulation is addressed in [46].
The LQR is optimized using a genetic algorithm for tighter control of UAV errors
in high disturbances. Simulations for straight line and loiter paths under various
wind conditions prove the effectiveness of the approach.
Experimental results applying optimal control theory to solve the trajectory
tracking problem on a quadrotor vehicle can be found in [39]. In this paper, the
authors propose a solution based on the definition of a path-dependent error space
to express the dynamic model of the vehicle. The controller is designed using
LQR state space feedback and adopts the D-methodology integrated with the anti-
windup technique in order to achieve zero static error for the integral states and
avoid actuator saturation.
3.9 Sliding Mode Control
Sliding Mode Control (SMC) is a non-linear control method that attains the con-
trol objectives by constraining the system dynamics to a pre-defined surface by
means of a discontinuous control law. This control technique is considered to be
effective and robust [29]. However, it can present implementation issues due to the
chattering effect.
The bibliographic search revealed no SMC application solving the path follow-
ing problem for a quadrotor vehicle. However, it has been applied to solve the PF
problem on other UAVs, such as fixed-wing vehicles. In [72] a lateral guidance law
for cross-track control based on the SMC technique is developed. This guidance
law includes a feed-forward component related to the rate of change of the desired
heading angle, which permits to improve the performance and achieve accurate
tracking while following curved paths. The proposed guidance scheme is evalu-
ated based on experimental flight results. According to the authors, it presents a
good performance in the presence of wind and parametric uncertainty. In [7] the
controller presented in [72] is improved by implementing a Partially-IGC strat-
egy that includes a sliding mode control on the inner and the outer loops using
a non-linear sliding surface based on Second Order Sliding Mode (SOSM ) con-
trol theory. Experimental tests compare the conventional SGC approach and the
proposed Partially-IGC approach to show that the second one presents a faster
convergence of the cross-track error toward zero.
In [84] the Second Order Sliding structure is used to develop a PF applica-
tion. The proposed controller provides smooth bank and turn coupled motions. To
estimate the uncertain sliding surfaces a High-Order Sliding Mode (HOSM ) dif-
ferentiator is applied. The sliding surface structure is based on the Pure Pursuit
algorithm through a set of intermediate control variables and also introducing a
A Survey of Path Following Control Strategies for UAVs Focused on Quadrotors 11
virtual target point in the path. This approach eliminates time-consuming and in-
tensive computation. According to the authors, simulations show that it provides
an excellent performance even under wind turbulence conditions.
Regarding the trajectory tracking problem, numerous SMC quadrotor imple-
mentations are found [85][12]. Some of these approaches are able to deal with wind
disturbances [30][81].
3.10 Comparison
Refer to Table 1 for a comparison of the reviewed PF algorithms. The character-
istics of these algorithms are evaluated only in the context of the path following
problem applied to UAVs and are based on the reviewed literature. The columns
refer respectively to: the control structure (i.e. Integrated Guidance and Control or
Separated Guidance and control); the type of results (experimental or simulation);
the application to quadrotors; good experimental results against external distur-
bances; including a Fault Tolerant Control (FTC) strategy; and implementing an
adaptive approach.
Table 1 Comparison of the PF techniques.
Structure Results Quadrotor Wind dist. FTC Adaptive
Backstepping IGC Experimental Yes Yes No No
Lyapunov-based SGC and IGC Experimental Yes Yes No Yes
Feedback Linearization SGC and IGC Simulation Yes No Yes No
Geometric SGC Experimental Yes No No No
Model Predictive Control SGC Experimental Yes Yes No Yes
Vector Field SGC Experimental Yes Yes No Yes
Learning-based SGC Experimental Yes Yes No Yes
Optimal Control SGC and IGC Simulation No Yes No Yes
Sliding Mode Control SGC and IGC Experimental No Yes No No
4 Implementation of path following algorithms on a quadrotor
In this section, four path following algorithms have been chosen for implementation
on the quadrotor vehicle: Backstepping and Feedback Linearization, which are the
two most referenced control algorithms, followed by Non-Linear Guidance Law
(NLGL) and Carrot-Chasing geometric algorithms.
In the reviewed literature, no application to quadrotors has been reported of the
NLGL and Carrot-Chasing algorithms. However, they are commonly used on fixed-
wing vehicles [78][65], as well as on Unmanned Ground Vehicles (UGV) [59][63],
and sometimes on other types of unmanned vehicles. They are simple and they
typically provide feasible solutions with good path following performance. Both
these geometric algorithms are very similar, the only difference is in how the VTP
12 Bartomeu Rub´ı et al.
is calculated. In this paper such simple and fruitful algorithms are implemented
to evaluate their performance.
Our own implementation of these algorithms will provide an evaluation and
comparison under the same conditions. Refer to section section 5, where the sim-
ulation results are presented.
4.1 Dynamic model of the quadrotor
In this section, the mathematical model of the quadrotor is presented. It is a
standard non-linear model, which can be found explained in more detail in the
literature [52][13].
Notation: In this paper bold lower-case letters indicate vectors and bold upper-
case letters indicate matrices. Same is applied for vector and matrix functions.
The top right superscript, occasionally employed, indicates the variable’s frame of
The coordinate systems as well as the axis labels and rotational conventions
defined in this dynamic model are shown in Fig. 2. Two coordinate systems can
be found: The body frame of reference {B}, which is attached to the body of the
quadrotor, and the world reference frame {W}, considered inertial.
Fig. 2 Axis labels and conventions.
This model has four inputs and twelve states. The inputs are the total thrust
and the torques applied on each rotational axis (T,τφ, τθ, τψ). The states are the
body velocities (u,vand w), the world position (x,yand z), the body angular
velocities (p,qand r) and the Euler angles (φ-roll,θ-pitch and ψ-yaw).
m(FFdFw) + gBω×v=˙u˙v˙wT(1)
p=Rv =˙x˙y˙zT(2)
ω= (J)1[Mω×Jω] = ˙p˙q˙rT(3)
F=0 0 cTω2
A Survey of Path Following Control Strategies for UAVs Focused on Quadrotors 13
d cTω2
m2d cTω2
/30) (ωm1ωm2+ωm3ωm4)
d cTω2
m1+d cTω2
/30) (ωm1+ωm2ωm3+ωm4)
0d cT0d cT
d cT0d cT0
Table 2 Variables of the model.
Symbol Description
mMass of the quadrotor.
gBAcceleration of gravity expressed in the body frame.
JMass moment of inertia matrix.
cTThrust coefficient.
cQTorque coefficient.
dDistance from a given motor to the center of gravity.
JmInertia of each motor’s rotating components.
Eqs. (1)-(6) define the dynamic model of the quadrotor. A brief description of
the parameters of these equations is given in Table 2. Eq. (1) is the linear velocity
state equation. They are the linear velocities that correspond to the x,yand z
axis of {B}, respectively.
The position state vector is calculated in Eq. (2). The term Ris a rotation
matrix to transform from the body to the world frame using the rotational sequence
Eq. (3) defines the angular velocity state update. p,qand rare the rate change
of roll,pitch and yaw, respectively, represented in the body frame. Eq. (4) is the
Euler kinematic equation that determines the rate of change of the Euler angles in
the world frame. Matrix Hrelates the angular velocity of the aircraft in the body
frame with the changes in angle and it is obtained by using sequential rotation
matrices (pitch-roll-yaw sequence).
Eq. (5) shows the thrust forces, always parallel to the zbody axis, where ωmi
is the rotational velocity of motor i. Eq. (6) defines the generated gyroscopic and
thrust moments on each body axis.
Eq. (7) presents the relation between the rotation speed of the motors (ωm14)
and the total thrust, T, and the moments τφ, τθ,and τψapplied on each rotational
axis (roll,pitch and yaw).
4.2 Backstepping
The Backstepping controller developed in this paper is an adaptation of the one
used in [15]. Note that the UAV model used in [15] is slightly different from the
one defined in section 4.1. The frames of reference considered in each model are
different and [15] uses a rotation matrix to represent the attitude.
14 Bartomeu Rub´ı et al.
As in [15], the gyroscopic effects have been omitted to perform the calculations
to obtain the control law. However, to validate the algorithm properly, these effects
are taken into account in the simulator model.
In this algorithm, S() represents the skew symmetric matrix that verifies
S(x)y=x×y. And p0
dis the partial derivative of pdwith respect to γ,pd
∂γ .
To solve the path following problem, four backstepping error vectors are de-
fined, each one of three components. The first error vector, Eq. (8), is the position
error. The second error vector, Eq. (9), includes a term of position error and a
term of velocity error in the world frame. The sigmoidal function σ(·), Eq. (10),
limits the growth of e2when there are large position errors, where pmax is the
allowed limit. This guarantees that the actuation does not grow unbounded.
e1=ppd(γ) (8)
e2=σ(e1) + 1
σ(x) = pmax
1 + kxk(10)
The convergence of e1and e2to zero is assured by defining two control Lya-
punov functions, whose derivatives are negative definite if the thrust force, T,
follows Td, Eq. (11), with the direction r3d, Eq. (12), where u3=001T.
σ(e1) + gu3¨
σ(e1) + gu3¨
σ(e1) + gu3¨
The control law expression for the thrust force is calculated as shown in
Eq. (13). r3is the third column of R, which represents the direction of the z
body axis of the vehicle. Thus, if r3is equal to the desired thrust direction r3d,
the thrust force will be the same as the desired thrust force Td. For this reason,
the third error vector is defined as the error of the thrust direction, as stated in
Eq. (14).
A third control Lyapunov function, which includes the first and second Lya-
punov functions as well as a term for the third backstepping error, is defined.
With the aim of making the first three errors tend to zero, the expression of the
fourth error vector, Eq. (15), is defined in such a way that if this error becomes
zero, the time derivative of the third Lyapunov function remains negative definite.
In Eq. (15) Rdrepresents the desired orientation matrix and ωdstands for the
desired angular speed of the vehicle.
Finally, a fourth Lyapunov function is defined for the fourth error. To assure the
stability of the system with this Lyapunov function, the expression of the angular
A Survey of Path Following Control Strategies for UAVs Focused on Quadrotors 15
acceleration of the vehicle is calculated as stated in Eq. (16). In this expression ˙
stands for the calculated angular acceleration and ˙ω3c(t) is an arbitrary function
that defines the dynamics of the yaw angle. Then, the control law of the torque
can be calculated from this expression by means of Eq. (17).
ωd+0 0 ˙ω3c(t)T
It can be noticed that constants k14appear in the calculated control laws.
These constants define the dynamics of each backstepping error.
More details about the derivation of these control laws and about their stability
proofs are given in [15].
Notice that defining the error vectors this way sets only the third column of
Rd. This is clear by checking the definitions of error e3(in Eq. (14)) or function
˙ω3c(t), that appears in the expression of the calculated angular velocity (Eq. (16)).
Thus, the direction of the xand yaxis can be assigned arbitrarily, as long as
the orthogonality of the frame of reference is satisfied, i.e. a degree of freedom
appears for the evolution of yaw. Exploiting this degree of freedom, the desired
rotation matrix Rdhas been defined as the one that makes the velocity vector
of the vehicle tangent to the path, as shown in Eq. (18). To assure this control
specification, a PD-like controller is designed as a control law for function ˙ω3c, as
shown in Eq. (19), where r1is the first column of the rotation matrix Rand r2d
is the second column of the desired rotation matrix Rd.
2dr1+ ˙ω3dl1d
dt rT
Parameter γ(virtual arc parameter, see Definition 1) is present in the definition
of e1, Eq. (8), and implicit in the rest of the controller expressions. This parameter
defines the desired trajectory position, velocity and acceleration at a certain time
instant. Therefore, the controller algorithm needs to have this parameter properly
scheduled to work correctly. This is known as the timing law. The timing law stated
in this algorithm is given by the second time derivative of γ, defined in Eq. (20).
Matrix W
TRT(γ) represents the rotation matrix from a frame {T}tangent to the
path to the world frame, obtained as shown in Eq. (21), where ξ(γ) is a function
that changes sign in the inflection points of the path. This timing law has been
defined to make the time derivative of γconverge to its desired value ˙γd, and also
to preserve the stability of the system as long as the condition stated in Eq. (22)
is satisfied. That condition assures the ascending behaviour of the path. ˙γdis a
control specification that can be related to the path’s shape. Examples of the
definition of this variable are given in section 5.
¨γ=kγσ( ˙γ˙γd) + uT
16 Bartomeu Rub´ı et al.
TRT(γ) = hp0
> α (22)
Some of the mathematical expressions stated for the Backstepping algorithm
require derivatives that have to be estimated in order to avoid their arduous an-
alytical calculations. In this paper, a first order filter was used to obtain a time
derivative estimation of a known variable. The scheme of this filter is shown in
Fig. 3, where xis the known variable, ˆxis the filtered variable, ˙
ˆxis the time
derivative estimation of xand x0is its initial value.
Fig. 3 General derivative estimation diagram
The filter was used to estimate the time derivative of the thrust ( ˙
Td) and
the three components of the direction vector of this force (˙
r3d). With ˙
r3dit is
possible to calculate ˙
Rdas shown in Eq. (23). The angular speed vector ωdcan
be obtained from its skew symmetric matrix, calculated as shown in Eq. (24).
The time derivative of the desired angular speed ˙
ωdcan be estimated using an
estimation filter for each component of vector ωd.
S(ωd) = RT
The control structure of the BS controller is shown in Fig. 4. It is an IGC
structure, as it is implemented without any inner loop controller. The second
derivative of γ, calculated by the timing law, is integrated twice to obtain ˙γand
γ. The derivative estimation filters have been omitted to clarify the scheme.
The implementation of the Backstepping controller is given in Algorithm 1.
This algorithm requires the state vector of the system (x), the estimated derivative
parameters ( ˆ
˙ωd), the values of γ, its derivative ˙γand its desired derivative
˙γd, the control design parameters (k14, pmax , l12, kγ), the desired path (pd(γ))
and the first and second partial derivatives of the desired path with respect to
d(γ)). The algorithm returns the control signals of thrust and torques
(T, τφ, τθand τψ). The first step of this algorithm obtains the position (p), velocity
(v) and angular velocity (ω) as well as the rotational matrix (R) from the system’s
states. Next, the set of equations of the algorithm are applied in a specific sequence
aiming to obtain the control actions of the thrust and torque forces.
Notice that the components of the yand zaxis of each state are made negative
to obtain the vectors and rotational matrix and so are these components of the
A Survey of Path Following Control Strategies for UAVs Focused on Quadrotors 17
Backstepping Controller
Fig. 4 Backstepping control structure.
torque vector once the control actions are obtained. This is equivalent to a 180o
rotation of the reference frame. As explained at the beginning of this section, both
models consider different frames of reference. In order to use the equations as
stated in [15] this rotation is applied to the states before and after applying the
4.3 Feedback Linearisation
The Feedback Linearisation path following algorithm implemented in this paper is
based on the development found in [3], which is an improvement of the one in [68].
The employed mathematical model is very similar to one defined in section 4.1.
Thus, the same control design process can be used. Nevertheless, note that in [3]
the velocities of the vehicle are defined with respect to the world frame. Therefore,
Eq. (25) is now used to define the evolution of these states, where the Won the
superscript indicates that is referenced to the world frame. And thus, the evolution
of the world position is equivalent to the world velocities, as shown in Eq. (26).
Also, note that in this paper a zyx -sequence is used to define the rotation matrix
(section 4.1), while [3] uses a zxy-sequence. However, the selection of this matrix
does not affect the behaviour of the system as long as the matrix is well-defined.
mR F 0 0 gT=˙uW˙vW˙wWT(25)
As in the Backstepping algorithm, the gyroscopic effects have been omitted to
obtain the equations of this algorithm.
Eq. (27) defines the system that will be used to apply the FL control.
18 Bartomeu Rub´ı et al.
Algorithm 1 Backstepping
Require: x := {x, y , z, u, v, w, p, q, r, φ, θ, ψ },
ωd, γ, ˙γ, ˙γd, k14, pmax, l12, kγ,
pd(γ) := [xd(γ), yd(γ), zd(γ)]T,p0
Create the vectors and rotation matrix from the states:
1: p= [x, y, z]T,v= [u, v, w]T,
ω= [p, q, r]T,R(φ, θ, ψ)
Calculate ˙
2: ˙
Calculate e1,˙
e1,σ(e1), ˙
σ(e1) and e2
3: e1=ppd,˙
e1=Rv ˙
4: σ(e1) = pmax e1
5: ˙
σ(e1) = σ(e1)
pRv +σ(e1)
6: e2=σ(e1) + 1
Calculate W
TRT, ¨γand ¨
7: W
TRTfrom Eq. (21)
8: ¨γ=kγσ( ˙γ˙γd) + uT
9: ¨
Calculate Td,r3dand T
10: Td=m
σ(e1) + gu3¨
11: r3d=k2
12: T=rT
Calculate ¨
e1and ˙
13: ¨
14: ˙
σ(e1) + 1
Calculate Rd,˙
Rdand ωd
15: Rd=S(r3d)2p0
16: ˙
17: S(ωd) = RT
Rdωd= [S(ωd)23, S (ωd)31, S(ωd)12 ]
Calculate ˙ω3c,e4,˙
ωcand τ
18: ˙ω3c=l2ω3ω3d+l1rT
2dr1+ ˙ω3dl1d
dt rT
19: e4from Eq. (15)
20: ˙
ωcfrom Eq. (16)
21: τ=J˙
Obtain real torque inputs
22: τφ=τ1, τθ=τ2, τψ=τ3
return T, τφ, τθ, τψ
q r J1
p r J2
p q J3
p+ tan(θ)R4
qcos(φ) + rsin(φ)
0 0 0 0
0 0 0 0
0 0 0 0
R10 0 0
R20 0 0
R30 0 0
0Cx0 0
0 0 Cy0
0 0 0 Cz
0 0 0 0
0 0 0 0
0 0 0 0
A Survey of Path Following Control Strategies for UAVs Focused on Quadrotors 19
Where J1,J2and J3are inertial terms defined in Eqs. (28-30); R1,R2,R3and
R4are auxiliary terms, Eqs. (31-34); and Cx,Cy,Czare the inverse of the inertia
in each coordinate axis, Eq. (35).
J1=Jyy Jzz
Jxx (28)
J2=Jzz Jxx
Jyy (29)
J3=Jxx Jyy
Jzz (30)
R1=sin(φ) sin(ψ) + cos(φ) sin(θ) cos(ψ)
R2=sin(φ) cos(ψ) + cos(φ) sin(θ) sin(ψ)
R3=cos(φ) cos(θ)
R4= sin(φ)q+ cos(φ)r(34)
, Cy=1
, Cz=1
Besides the dynamics of the system, the outputs of interest need to be defined.
In this case, a set of four virtual outputs, Eq. (36), are stated. This algorithm
depends explicitly on the path projection on the xy plane. According to the sim-
ulations planed in section 5, this projection must be a circumference.
h(x) =
Aarctan y
The virtual output h1tracks the position error of the vehicle in the xy plane,
where Ais the radius of the circumference. h2tracks the position error in the z
coordinate, where fz(x) is a function that defines the altitude reference. The third
virtual output returns a scalar, h3[0,2πA] in meters, that is the position on the
path at a minimum distance in the xy projection. Finally, h4is the yaw angle.
Defining the outputs this way, the position error can be eliminated by making
h1and h2converge to zero. The point on the path to be tracked by the vehicle can
be controlled with h3, as well as the velocity of this point if the time derivative of
h3is regulated too. And clearly, the yaw angle can be regulated by controlling h4.
The vector relative degree of the system given by the dynamics in Eq. (27) and
the outputs in Eq. (36) is equal to {2,2,2,2}. This vector represents, for each
output, the number of time derivatives that need to be done to hto get an explicit
relation with one of the inputs. However, as demonstrated in [68] and [3], the
vector relative degree is not well-defined. This is because the so called decoupling
matrix becomes always singular. That means that the linearised system is not
fully controllable. Two new states (ζ1and ζ2) are added to the system to solve
this problem. These states satisfy Eq. (37). The total thrust, T, is now a state
20 Bartomeu Rub´ı et al.
of the system and the new input u1is equivalent to the second derivative of this
τφ=u2, τθ=u3, τψ=u4
Adding these states to the system, the vector relative degree becomes {4,4,4,2},
which derives in a well-defined decoupling matrix. Since the total number of states
of the system is 14 (12 states of the original system and 2 new states) and the vec-
tor relative degree adds up to 14, it is known that this system is fully linearisable
with this set of outputs. Thus, the Full State Feedback Linearisation problem can
be solved now for the system defined in eqs. (27), (36) and (37).
To solve the Full State FL problem, the vector function Ψ(xe) that transforms
the states of the system to a set of linear states is obtained as
=Ψ(xe) =
for i∈ {1,2,3,4}and k∈ {1,2}. Where xeis the set of 14 states of the extended
system, ξ1iand ξ2iare the linear states that are required to converge to zero (h1
and h2subsystems), η1iand η2kare the linear states that have to be regulated to
control the position or velocity on the path (h3subsystem) and the yaw angle (h4
subsystem). Moreover, Lm
fhn(xe) refers to the mth Lie derivative of hn(xe) with
respect to f.
It is important to mention that Ψ(xe) is a diffeomorphism. That is, a derivable
function defined in a certain region whose inverse exists and is derivable as well.
Once the transformation of Eq. (38) is applied to the extended system, the
resulting system is
ξ11 =ξ12
ξ12 =ξ13
ξ13 =ξ14
ξ14 =α1(ξ,η) + β1(ξ,η)u
ξ21 =ξ22
ξ22 =ξ23
ξ23 =ξ24
ξ24 =α2(ξ,η) + β2(ξ,η)u
˙η11 =η12
˙η12 =η13
˙η13 =η14
˙η14 =α3(ξ,η) + β3(ξ,η)u
˙η21 =η22
˙η22 =α4(ξ,η) + β4(ξ,η)u
A Survey of Path Following Control Strategies for UAVs Focused on Quadrotors 21
where the vector formed by each αfunction is calculated as shown in Eq. (40)
and the βfunctions conform the (4x4) decoupling matrix of the system, which is
obtained in Eq. (41).
α(ξ,η) =
β(ξ, η) =
It can be observed that the resulting system of Eq. (39) is composed by four
canonical controllable subsystems. Thus, if the inputs of the system (u14) are
chosen to be
the system results in a pure multiple integrator of ri-order for each virtual output
hi, where riis the relative degree. Then, the virtual input, vi, is obtained by
applying a state feedback control with the respective linearised states as shown
in Eq. (43). The feedback gains Kij can be calculated using the pole-placement
v1=ξ11 K11 +ξ12 K12 +ξ13 K13 +ξ14 K14
v2=ξ21 K21 +ξ22 K22 +ξ23 K23 +ξ24 K24
v3= (η11 ηref
11 )K31 + (η12 ηref
12 )K32
+η13 K33 +η14 K34
v4= (η21 ηref
21 )K41 +η22 K42
The control structure of the FL controller is shown in Fig. 5. It is an IGC
structure as the Backstepping algorithm. As shown, there is a block that transforms
the states of the extended system (x, ζ1, ζ2) into the set of linear states (ξ,η). Then,
another block calculates the virtual inputs (v) from these linear states. Later, the
virtual inputs are transformed into the inputs of the extended system (u). And
finally, the first input (u1) is integrated twice to obtain the total thrust applied
on the quadrotor (T), which is the real input of the system. Note that this scheme
does not include the path as an external reference, since it must be embedded in
the algorithm calculations.
The implementation of this Feedback Linearisation control is stated in Algo-
rithm 2. This algorithm requires the full state of the extended system (xe), the
radius of the circumference (A), the desired velocity of the vehicle (Vpath) and
the feedback gains of the linear controller (Kij). It returns the four inputs of the
quadrotor. The algorithm starts by an axis transformation of the velocities to the
world frame. Later, the outputs of the system are obtained by means of Eq. (36).
22 Bartomeu Rub´ı et al.
Feedback Linearization Controller
( , )vf
( , ) [ ( , )]uv
, } ( , , )x
Fig. 5 Feedback Linearization control structure.
Note that the arctan is implemented using the atan2 function. Next, the refer-
ences of the linear states (ηref
11 ,ηref
12 and ηref
21 ) are calculated. These define the
experiment references and are detailed in the section 5. Note that it is ensured that
21 , the yaw reference, satisfies the condition |ηref
21 ψ|6π, since it is expected
that the vehicle moves the smallest angle towards its reference yaw angle. Final
steps are the calculation of the linear states (ξ,η), αand β(Eqs. 38, 40 and 41),
to obtain the virtual inputs (Eq. (43)), and to calculate the inputs used to control
the system (Eq. (42)). It is important to note that the input of the total thrust
of the quadrotor is obtained by double integrating the u1input of the extended
4.4 Three-dimensional NLGL
NLGL, as mentioned in section 3.4, is a geometric PF algorithm based on the
Virtual Target Point (VTP) concept. VTP is a target reference point placed on
the desired path, which is updated periodically. The NLGL algorithm obtains the
VTP as the point on the path at a predefined distance Lfrom the vehicle, where L
is a scalar constant parameter that affects the performance of the NLGL controller.
Once the VTP is obtained, the algorithm calculates the needed yaw angle to face
the vehicle towards the VTP on the path. Since the vehicle is required to move at
a constant predefined speed, it will end up moving to the path.
From the algorithm description it can be seen that it is designed to work only
in the two-dimensional space given by the xy plane. For this reason, as the two
previous algorithms operate in three dimensions and the objective of this paper
is to compare the algorithms in the same conditions, NLGL algorithm presented
in [78] has been adapted to operate in 3D as well. To this end, the 3D-NLGL
algorithm has been stated in Algorithm 3.
The Algorithm 3 requires the current position pof the vehicle and its yaw
angle (ψ), as well as the desired velocity of the vehicle on the xbody axis (Vpath )
and the scalar parameter of the guidance law (L). It returns the references for the
velocities in the xand yaxis, the altitude and the yaw angle of the quadrotor.
In this algorithm, γprev represents the value of γdmin saved from the previous
execution of the algorithm, where γdmin is the point on the path, given by the
value of γ, that is at a minimum distance to the location of the vehicle. The value
of γprev is initialized to 0 in the first execution of this algorithm.
As seen in the algorithm, the first step after the initialization of the variables is
to calculate the point on the path that is at a minimum distance from the vehicle,
A Survey of Path Following Control Strategies for UAVs Focused on Quadrotors 23
Algorithm 2 Feedback Linearization
Require: xe:= {x, y, z, u, v , w, p, q, r, φ, θ, ψ, ζ1, ζ2},
A, Vpath, Kij
Transform velocities axis:
1: [uWvWwW]T=R[u v w]T
Calculate outputs:
2: h1=x2+y2A2
3: h2=Zfz(xe)
4: h3=Aatan2(y, x)
5: h4=ψ
Calculate linear state references:
6: ηref
11 = 0 (K31 = 0)
7: ηref
12 =Vpath
8: ηref
21 =h3
ensure that
21 ψ
Calculate linear states (ξ,η), αand β
9: {ξ1i,ξ2i,η1i,η2k}:= Ψ(xe)
10: αi=Lm
11: βi=LgLm1
i∈ {1,2,3,4}, k ∈ {1,2}
Calculate virtual inputs
12: {v1, v2, v3, v4}from Eq. (43)
Calculate inputs of the extended system
13: ui=β1
i∈ {1,2,3,4}
Obtain real inputs
14: ˙
ζ1=ζ2, T =ζ1,
15: τφ=u2, τθ=u3, τψ=u4
return T, τφ, τθ, τψ
given by γdmin, and the value of this distance. Then, if the distance to γdmin is
larger than L, the VTP is defined as γdmin , making the vehicle move directly
towards the path. When the vehicle is closer to the path, the algorithm will find
the first point on the path, starting from γdmin , that is at an Ldistance from the
vehicle, and will set it as the VTP. The fact that it starts to search the VTP from
the point at a minimum distance (γdmin) going forwards, ensures that the vehicle
moves always forwards on the path.
The next step of this algorithm is to calculate the references, which are the
outputs of the controller. This is important to ensure the correct adaptation of
the algorithm from 2D to 3D. First of all, similarly to the 2D-NLGL algorithm,
the yaw reference angle is calculated as the angle that would face the vehicle
towards the VTP, projected in the xy plane of the vehicle. Then, as in the Feedback
Linearisation controller, it is ensured that ψref satisfies the condition |ψref ψ|6
π. The altitude reference Zref is obtained as the desired Zin the point of minimum
distance γdmin .
24 Bartomeu Rub´ı et al.
Algorithm 3 Three-dimensional NLGL
Require: p : (x, y, z), ψ, L, Vpath ,
pd(γ) := [xd(γ), yd(γ), zd(γ)]T, γf
Initialize (First execution):
1: γprev = 0
Calculate dmin, γdmin :
2: dmin := min
γ(kppd(γ)k)|γ[γprev ;γf]
3: γdmin := argmin
(kppd(γ)k)|γ[γprev ;γf]
Calculate γV T P :
4: if dmin > L then
5: γV T P := γdmin
6: else
7: γV T P := argmin
(|kppd(γ)k − L|)|γ[γdmin ;γf]
Calculate references:
8: ψref := atan2(yd(γV T P )y, xd(γV T P )x)
ensure that |ψref ψ|6π
9: zref := zd(γdmin )
10: vref := 0
11: uref := VpathdV T P,xy
return ψref , zref , vref , ur ef
As in the two-dimensional algorithm, the velocity reference vref in the ybody
coordinate is set to zero, as no movement is required on this coordinate. In the
2D-NLGL algorithm the velocity reference uref in the xbody coordinate has a
constant value (Vpath). Considering the vertical distance to the VTP, in this 3D
algorithm the value of uref is set proportional to dV T P ,xy, that is the projection
on the xy plane of the distance Lto the VTP. Line 11 of the algorithm calculates
this reference. It can be seen that when the VTP is on the xy plane uref =Vpath .
The outputs of this controller are the uref and vref velocity references, the
yaw reference (ψref ) and the altitude reference (zref ). An autopilot is needed, im-
plemented as a set of Proportional-Integral-Derivative (PID) controllers designed
to control the attitude, altitude and velocities. This autopilot has been designed
following a cascade control structure formed by a velocity controller (uand v) and
an attitude & altitude controller (φ,θ,ψand z), as illustrated in Fig. 6. In this
figure, the complete control scheme including the PF controller, the autopilot and
the plant is presented. PID controllers are designed by means of the pole place-
ment technique using the linearised plant. The PID parameters of the autopilot
are given in Table 3.
A Survey of Path Following Control Strategies for UAVs Focused on Quadrotors 25
Algorithm Quadrotor
{ , }vux
{ , , , }zx
{ , , , }x y zx
Fig. 6 SGC structure for geometric algorithms.
Table 3 Constants of the PID controllers of the autopilot.
Kp Ki Kd
u0.32 - 0.1
v0.32 - 0.1
φ2 1.1 1.2
θ2 1.1 1.2
ψ4 0.5 3.5
z2 2.1 3.3
It is important to mention that, with an SGC structure, the path following
controller’s behaviour will always be affected by the performance of the inner-
loop controller. Other techniques, such as LQR, could be applied to design the
autopilot controller with different results. However, the PID controllers, which do
not require the full state estimation, have been chosen by their simplicity which
is aligned with the simplicity of the geometric algorithms. This allows to make a
comparison of the control algorithms (Backstepping and Feedback linearisation)
with the simplest PF algorithms.
4.5 Three-dimensional Carrot-Chasing
Carrot-Chasing is also a geometric algorithm based on the VTP concept. In the
CC approach, the VTP is called carrot and is obtained as the point at constant
length δalong the path from the point at a minimum distance to the vehicle. That
is, δis computed along the path arc length, and therefore it is not equivalent to
the Euclidean distance computed in the NLGL algorithm. The vehicle, which is
required to move at a constant speed, is faced to the VTP by changing its yaw
angle, and thus it is said to chase the carrot.
Again, it can be noted that the algorithm is designed to operate in the two-
dimensional space. Thus, in this paper it has been modified and adapted to work
in the three-dimensional space. The resulting developed 3D approach is found in
Algorithm 4. This algorithm is very similar to the 3D-NLGL algorithm, since the
structure and the operations to calculate the references are identical. However,
in this case the VTP is obtained as the point on the path that is at a δlength
from the γdmin point, where this length is computed along the path arc. Another
26 Bartomeu Rub´ı et al.
Algorithm 4 Three-dimensional Carrot-Chasing
Require: p : (x, y, z), ψ, δ, Vpath ,
pd(γ) := [xd(γ), yd(γ), zd(γ)]T, γf
Initialize (First execution):
1: γprev := 0
Calculate dmin, γdmin :
2: dmin := min
γ(kppd(γ)k)|γ[γprev ;γf]
3: γdmin := argmin
(kppd(γ)k)|γ[γprev ;γf]
Calculate γV T P :
4: γV T P := argmin
|γ[γdmin ;γf]
Calculate references:
5: ψref := atan2(yd(γV T P )y, xd(γV T P )x)
ensure that |ψref ψ|6π
6: zref := zd(γdmin )
7: vref := 0
8: uref := VpathdV T P,xy
dV T P
return ψref , zref , vref , ur ef
difference between CC and NLGL algorithms is that in CC the VTP is always
calculated the same way, regardless of the distance from the UAV to the path.
The control structure used to apply the 3D-CC is the same as the 3D-NLGL,
represented in the Fig. 6. Thus, the same autopilot has been used.
5 Algorithm comparison based on simulation results
In this section a set of simulation results comparing the four algorithms described
previously is presented. The simulations have been performed on the Quad-Sim
simulator stated in section 4.1. The desired path is a helix defined by
pd(γ) =
γ+ 3
where Ais the radius of the helix, which is 3 meters. Note that with this definition
the path starts at 3 meters of altitude. Additionally, the vehicle is required to
travel at a constant velocity Vpath on the path and with a yaw angle tangent to
the path.
To meet the velocity specification with the Backstepping controller, the desired
evolution of γhas been set as defined in Eq. (45). The yaw requirement is assured
by defining the rotational matrix as in Eq. (18) and including the PD-like controller
for the angular acceleration on the zaxis as defined in Eq. (19).
A Survey of Path Following Control Strategies for UAVs Focused on Quadrotors 27
Assuming that the vehicle’s orientation is tangent to the path, γcan be ob-
tained subtracting π
/2to the yaw reference (ψref ). Thus, function fz(x) (Eq. 36
of Feedback Linearisation algorithm) becomes
fz(x) = γ+ 3 = ψref π
2+ 3 (46)
In the FL controller the desired velocity requirement is met by making the
reference of the first derivative of h3(ηref
12 ) equal to Vpath. The feedback gain
K31, which regulates the position of the vehicle along the path, is set to zero.
Hence, h3is only in charge of controlling the velocity of the vehicle along the
path. On the other hand, to follow the yaw specification, the reference for h4is
calculated as the path tangent angle on the closest point of the path to the vehicle,
as seen on line 8 of the Algorithm 2.
For the 3D-NLGL and 3D-CC algorithms, the velocity and yaw specifications
are accomplished by construction.
The control parameters for each of the four algorithms have been tuned as
those that achieve the least mean absolute error (MAE) in terms of distance to
the path error. This MAE has been evaluated in the simulation platform presented
on the next subsection (5.1) These parameters are presented in Table 4. For the
geometric algorithms, as they only have one parameter to tune, a parameter sweep
was performed in order to find the value which procures the minimum distance
MAE for the defined path. It is important to remark that those parameters depend
on the velocity of the vehicle and the path shape. Regarding the FL algorithm,
the constants that control each of the four linear subsystems (xy-position, alti-
tude, path velocity and yaw) were tuned separately minimizing the error of each
variable. It was done by means of an iterative redesign through the pole place-
ment technique, assuring stability on each iteration. Once the constants of each
subsystem were obtained, it was verified that the complete system still behaved
with minimum path following error and that it was stable. In the BS algorithm,
the stability of the controlled system is very sensitive to changes in the control pa-
rameters (k14). As they were difficult to tune, they were empirically set to make
the system stable. The rest of the parameters of this algorithm were obtained by
means of a parameter sweep search.
Table 4 Control parameters for each algorithm.
Algorithm Parameters
Backstepping k1= 2, k2= 1, k3= 50, k4= 2, kγ= 50,
l1= 10, l2= 2, pmax = 1, kf= 10
Feedback k11 =18.75, k12 =40, k13 =32.25, k14 =10,
Linearization k21 =1 250, k22 =1 650, k23 =435, k24 =36,
k31 = 0, k32 =104, k33 =124, k34 =21,
k41 =29, k42 =10
3D-NLGL L= 0.59
3D Carrot- δ= 0.59
28 Bartomeu Rub´ı et al.
Table 5 Values of the simulation model parameters.
Parameter Value Unit
m1023 g
Jxx 0.0095 kg m2
Jyy 0.0095 kg m2
Jzz 0.0186 kg m2
cT1.4865e7N rpm2
cQ2.9250e9N m rpm2
d0.2223 m
Jm3.7882e6kg m2
Three types of results are reported in this section. First, on the steady state
regime, when the vehicle has converged to the path. Next, on the transient regime,
changing the initial state conditions. Last, with time-varying wind disturbances.
5.1 Simulation platform
The simulation platform used in this paper is the Quad-Sim simulator [38]. An
open source MATLAB tool developed by a group of students from the Drexel
University that allows the modelling and simulation of quadcopter vehicles for
control system design.
This platform is built by Simulink models of the dynamic system behaviour. It
implements the non-linear dynamic equations of the quadrotor vehicle, described
in Section 4.1, as well as the dynamics of the motors and other aerodynamic
effects, such as drag forces. The motors are modelled as a first order system with
a saturation on the angular velocity. The values of some of the most important
parameters of the employed simulation model are detailed in Table 5.
The authors of the present paper considered this tool suitable to apply and
compare the developed algorithms since it implements a conventional non-linear
and complete dynamic model of the quadrotor vehicle, which has been commonly
described in the literature [52][13]. Moreover, simulation provides the ground truth
and repeatability necessary to compare PF algorithms.
5.2 Steady state regime
This section shows results about the steady state regime of the vehicle’s response
with each controller. Steady state refers to the controller’s error being constant.
The performance of the four algorithms for one full lap of the helix is compared
in Table 6. The columns relate to: the time to travel one lap, the mean of the
distance to the path (d), the mean absolute yaw error, the mean velocity of the
quadrotor and the computational effort of the algorithm. The path distance is the
minimum distance between the path and the vehicle, the mean absolute yaw error
is calculated from the error between the vehicle’s yaw angle and the path tangent
A Survey of Path Following Control Strategies for UAVs Focused on Quadrotors 29
Fig. 7 3D trajectory for one lap of the helix in steady state regime: 3D-NLGL algorithm.
angle and the computational effort is a dimensionless parameter that represents
the normalized computation time of each algorithm.
The computational effort was calculated as follows: A discrete time simulation
with a time step of 1ms was performed for each of the four algorithms and the
execution time of each block of the simulink model were monitored. The runtime
dedicated to execute the calculations of the control part were divided by the run-
time needed for the calculations of the dynamics of the system for each algorithm.
Assuming that the time dedicated to compute the dynamics of the quadrotor is
similar on each execution, the obtained quotient is considered a representative
value to evaluate the computational effort. Finally, result was normalized, setting
to 1 the lowest one which corresponds to the NLGL algorithm. The implementation
of the algorithms was not optimized in terms of computation time. Nevertheless,
none of them includes especially intensive calculations (such as solving optimiza-
tion problems or matrix operations). Thus, they are subject to slight changes on
the computation effort term.
Table 6 Results for one lap in steady state regime.
time (s)d(m)
/s)Computational effort
Backstepping 44.6306 0.0016 1.6094 0.4451 57.3895
Feedback Linearization 40.7400 0.0078 3.0522 0.4874 1.4877
3D-NLGL 40.3800 0.0198 2.6953 0.4897 1
3D-Carrot-Chasing 40.3800 0.0194 2.6949 0.4897 1.0147
The three-dimensional trajectory for one lap of the helix in steady state regime
using the 3D-NLGL algorithm is shown in Fig. 7. The performance of this algo-
rithm in path distance is poor compared to the other algorithms where the vehicle
stabilized closer to the path.
30 Bartomeu Rub´ı et al.
5.3 Transient regime
In these simulations the initial state conditions are modified to observe the tran-
sient behaviour of the algorithms. In particular, the effects of changing the initial
x-coordinate of the vehicle and the effects of varying its initial yaw are analyzed.
In the simulations where the initial x-coordinate position changes, the quadro-
tor starts on the position given by x={0.5k|k= 1..12},y= 0 and z= 3. The
initial yaw angle is 90 degrees in the case of the BS and FL controllers whereas in
the geometric algorithms the vehicle faces the VTP. This orientations result in a
minimum initial yaw error. The initial vehicle’s linear velocities, angular velocities,
accelerations, roll and pitch angles are zero.
Fig. 8 shows four performance indicator graphs, for each algorithm and for
each initial position. First, the time the quadrotor takes to converge to the path.
Convergence condition is defined as the vehicle remaining at path distance less
than 10 times the stable state regime error. Second plot shows the accumulated
distance to the path during this convergence period. Note that the periods are
different for each algorithm, since their stabilization time are different. The third
graph, shows a parameter for the control effort, i.e. the mean of the absolute value
of the control action derivative. Note that the control action of motors (umi) is
given in percentage. Finally, the convergence position on the path given by γis
represented, where the magnitude of γis given in number of radius along the path
(A). The mathematical definition of these indicators is stated in Eqs. (47)-(50),
where tconv is the stabilization time, dis the distance to the path, dss is the
distance error on the steady state regime, dint is the integral of the path distance
on the convergence time, ceff is the control effort term, umi is the control action
of the ith motor and γconv is the convergence position given by the virtual arc
tconv :d < 10dss t > tconv (47)
dint =Ztconv
d(t)dt (48)
ceff =
γconv =γ(tconv) (50)
Fig. 9 and Fig. 10 show the three-dimensional trajectory when the initial x-
coordinate is 0.5m and 6m, respectively, comparing the response of the four algo-
rithms for one lap. In both figures, circles indicate the convergence point of each
algorithm. A solid line represents the convergence trail, and a dotted line where
the vehicle has converged.
The simulation results changing the initial yaw angle are shown in Fig. 11. In
these simulations the vehicle starts at the initial point of the path (x= 3, y =
0, z = 3) and the yaw orientation varies from 0 to 180 degrees in steps of 22.5o
in each simulation. The rest of the initial state conditions are identical to the
previous simulations. Furthermore, the plots represented in Fig. 11 are equivalent
to the ones found in Fig. 8. Since the convergence criterion only takes into account
the distance to the path, in some cases it is considered that the quadrotor has
converged to the path while there is still significant yaw error.
A Survey of Path Following Control Strategies for UAVs Focused on Quadrotors 31
Fig. 8 Simulation results varying the initial xposition from 0.5 to 6 meters: Backstepping
(red), Feedback Linearisation (blue), 3D-NLGL (purple) and 3D Carrot-Chasing (green).
Fig. 9 3D trajectory comparing the four algorithms for one lap of the helix. Initial position:
x= 0.5, y = 0, z = 3.
Once more, the three-dimensional trajectory plots comparing the behaviour
of each algorithm are presented in figures 12 and 13, for the extreme cases of
the initial yaw angle. The convergence point, represented with a circle, divide the
convergence trail (solid line) and the rest of the trajectory (dotted line).
32 Bartomeu Rub´ı et al.
Fig. 10 3D trajectory evolution comparing the four algorithms for one lap of the helix. Initial
position: x= 6, y = 0, z = 3.
Fig. 11 Simulation results varying the initial yaw angle from 0 to 180 degrees: Backstepping
(red), Feedback Linearisation (blue), 3D-NLGL (purple) and 3D Carrot-Chasing (green).
5.4 Wind disturbance
In the real world, UAVs deal with diverse environmental influences, such as wind
disturbances. Thus, it is of utmost importance that path following algorithms show
robustness to these external disturbances. The performance of the implemented
algorithms in the presence of time-varying wind is analysed in this section.
To carry out these simulations a wind force has been created. Both its magni-
tude and direction changes randomly, ranging from 0 to 1 Newton and from π
A Survey of Path Following Control Strategies for UAVs Focused on Quadrotors 33
Fig. 12 3D trajectory evolution comparing the four algorithms for one lap of the helix. Initial
position: x= 3, y = 0, z = 3.Initial yaw = 0o.
Fig. 13 3D trajectory evolution comparing the four algorithms for one lap of the helix. Initial
position: x= 3, y = 0, z = 3.Initial yaw = 180o.
to 3π
/8radians (i.e. north-east direction), respectively. The performance of each
of the four algorithms following the helix path with this wind disturbance force
is shown in Fig. 14. In this simulations the vehicle starts from the initial point
of the path at hover conditions (i.e. zero linear and angular velocities), and it is
requested to follow the path for 100 seconds.
The first and second plot of Fig. 14 show the wind magnitude and direction,
respectively, changing every 10 seconds. The third plot shows the evolution of the
path distance error for each algorithm during the 100 seconds experiment.
The results of the simulation experiment of Fig. 14 are summarized in Table 7:
the average path distance error, the average yaw error, the average velocity and
the path travelled (given by the virtual arc γ), for each algorithm.
34 Bartomeu Rub´ı et al.
0 20 40 60 80 100
Fig. 14 Path distance error against wind disturbances.
Table 7 Results for 100 seconds in time-varying wind conditions.
/s)Path traveled (γ)
Backstepping 0.0859 2.5096 0.3935 12.3731
Feedback Linearisation 0.4491 0.8709 0.1761 2.7191
3D-NLGL 0.1396 14.9657 0.4381 13.6861
3D Carrot-Chasing 0.1377 14.0547 0.4385 13.8209
5.5 Discussion
From the steady state regime simulation results, in Table 6, it can be observed
that the Backstepping algorithm is the one that achieves the best performance in
terms of distance to the path, which is usually the most important parameter. BS
presents a little more than 1.5mm of error, compared to the 8mm of the Feedback
Linearisation algorithm or the almost 2cm of the geometric algorithms. However,
the BS algorithm presents a very large computational effort in comparison to the
other algorithms, which obtain similar values of this indicator. Another drawback
of the BS algorithm is that it reduces the cruise velocity in order to achieve this
great precision. This is observed in the higher time that it takes to accomplish
one lap of the helix. Regarding the yaw error, again the Backstesping algorithm
has the best response with a mean yaw error of 1.6o. The geometric algorithms
have a larger yaw error than BS because these algorithms are not designed to keep
the vehicle tangent to the path but to face it to the VTP. FL algorithm shows a
yaw error even larger than the geometric algorithms, although it is designed to be
tangent to the path.
A Survey of Path Following Control Strategies for UAVs Focused on Quadrotors 35
Regarding the transient regime results, in the simulations where the initial
x-coordinate changes, the 3D-NLGL algorithm presents the worst transient be-
haviour. It has wide oscillations along the path that increase its convergence time.
The 3D Carrot-Chasing algorithm also presents an oscillating performance. How-
ever, the oscillations are smaller, as can be noticed from the 3D plots of Fig. 9 and
Fig. 10. This performance distinction between the two geometric algorithms is due
to the way they approach to the path. The 3D-NLGL algorithm moves directly to
the minimum distance point on the path (γdmin), while the 3D-CC moves always
to a δdistance from this point. This slight difference becomes significant on the
final performance. From our experience, these oscillations on the geometric algo-
rithms, and thus the convergence time, can be reduced by increasing the geometric
control parameters (Land δ). However, this results in an increment of the path
distance error too.
The modified initial x-coordinate simulations also reflect that the control-
oriented algorithms (BS and FL) obtain very similar stabilization times. Never-
thelles, FL results in higher path distance errors because it converges to a further
point on the path, as evidenced by the convergence path position plot (Fig. 8).
The control-oriented algorithms, especially the FL algorithm, make a higher
control effort to remain on the path (Fig. 8) than the geometric algorithms. Control
effort results at x= 3 should not be considered as some algorithms converged with
as few as 2 or 3 time steps.
Analysing the results in which the initial yaw orientation is varied, it can be
seen again that the control-oriented algorithms obtain better performance than the
geometric ones. 3D-NLGL and 3D-CC perform similarly in terms of convergence
time and path position. That is because, when the vehicle is close to the path,
the distinct behaviour between these two algorithms on the approach to the path
takes no remarkable effect. Also, it is important to note that the control-oriented
algorithms make a significantly larger control effort to correct the yaw angle than
the geometric algorithms. That is due to the aggressive yaw control that the BS
and FL algorithms produce.
When the quadrotor deals with the effect of time-varying wind disturbances,
represented in Fig. 14 and Table 7, FL algorithm performs worst. BS is the algo-
rithm that handles best the external forces in terms of path distance error. Note
that, apparently, the FL does not have sufficient strength to cope with wind, evi-
denced by its low average speed and the short distance along the path (γ= 2.72)
that it is able to cover, compared with the other algorithms. The yaw error of
geometric algorithms is larger than the one of BS, while the path distance error is
Table 8 presents a comparison between the four algorithms summarizing the
simulation result analysis and other qualitative indicators. This table sorts from
best (1) to worst (4) the four algorithms on each qualitative aspect.
Regarding the design & tuning effort, the geometric algorithms (3D-NLGL
and 3D-CC ) are easier to implement and they require only one parameter to
tune. In contrast, the implementation of the control-oriented algorithms (BS and
FL) is tedious since both present several complex derivatives and they have more
parameters to tune. Furthermore, in the FL algorithm it is necessary to define a
mathematical function (h3) that calculates the minimum distance point on the
path (γdmin ) given the position of the vehicle. This function depends exclusively
on the geometry of the path and no solution is guaranteed to exist for every path.
36 Bartomeu Rub´ı et al.
Table 8 Qualitative comparison of the path following algorithms.
Path Distance Control 1 2 4 4
Yaw Control 1 4 2 2
Velocity Control 4 3 1 1
Convergence to the Path 1 2 4 3
Computational Effort 4 3 1 1
Wind Disturbance 1 4 2 2
Control Effort 3 4 2 1
Design & Tuning Effort 3411
Path Adaptability 3411
State Information Requirements 3 3 1 1
Model-Based 3 3 1 1
Domain of Attraction 1 4 2 2
The path adaptability defines the capability of each algorithm to adapt to
different types of paths. The requirement of finding h3makes FL the worst for
adapting to new path shapes. The BS algorithm is rated third since the defined
path (pd(γ)) needs to be continuous and derivable. The geometric algorithms are
again the best rated because they can be adapted to any path by changing only
their specific control parameter.
The control-oriented algorithms require the full state information, while the
geometric ones (along with the PIDs of the autopilot) only require the position,
attitude and the velocities on the xand yaxis. Furthermore, the design of the
control-oriented algorithms is model-based, while it is model-free in the geometric
algorithms. Because of this, they can be applied to different kinds of vehicles. Both
qualitative aspects are reflected in Table 8.
To end up, the domain of attraction of each algorithm is evaluated. The be-
haviour of the algorithms with the vehicle away from the path and in different
initial conditions is analysed. Backstepping is global since it is based on the non-
linear model and it includes a saturation on the position error term that results
also in a saturation on the control actions. The BS algorithm is rated first on this
characteristic since when the vehicle is far from the path and independently of the
initial condition it is always able to converge to the path. Feedback Linearisation
should be a global algorithm as well, since it is based on a full-state non-linear
dynamic inversion. Nevertheless, the simulation results show that it is not really
global, since it becomes unstable in specific initial conditions. That is, opposite
to the BS case, the approach velocity of the FL algorithm grows unbounded as
the distance to the path increases. Moreover, it gets unstable when the vehicle
is in position x= 0, y = 0 since the third output (h3) is indeterminate. This is
the reason why the transient experiments start on x= 0.5mand not on x= 0.
For these reasons, the FL algorithm is rated worst in the domain of attraction
aspect. Regarding the geometric algorithms, the NLGL has a domain of attraction
defined by the distance L. When the vehicle is further away a special procedure
must be performed, which may not assure stability. The CC is considered global,
A Survey of Path Following Control Strategies for UAVs Focused on Quadrotors 37
as the convergence to the path is assured for any position of the vehicle. Note
that the analysis of the domain of attraction for the geometric algorithms depends
exclusively on the position states, since the rest of states (velocity, orientation and
angular velocity) are controlled by the autopilot.
6 Conclusions
This paper deals with the trajectory control problem, which can be solved by path
following or trajectory tracking. The concept of path following has been defined.
According to the reviewed bibliography, it results in a smoother convergence to
the path, less demand of control effort, a stronger robustness and other advantages
over traditional trajectory tracking.
This survey paper gives a comprehensive review of PF algorithms. Several path
following solutions applied to different types of UAVs, such as fixed-wing vehicles,
helicopters and quadrotors, have been reviewed. Then, two control-oriented algo-
rithms (Backstepping and Feedback Linearisation ) and two geometric algorithms
(NLGL and Carrot-Chasing) have been implemented to solve the path following
problem on a quadrotor vehicle. Additionally, the geometric algorithms have been
adapted to cope with three-dimensional paths. Finally, these four PF algorithms
have been compared in simulation using a helix as a reference path.
Simulation results reveal that the Backstepping algorithm achieves the best
performance in terms of path distance and yaw error as well as the best behaviour
out of the path and at high velocities. However, it results in a very high compu-
tational effort and a significant control effort. Meanwhile, the 3D Carrot-Chasing
algorithm, in spite of its worse path distance performance, turns out to be easier
to implement on any type of path, requires less state information and it results
in a lower computational and control effort. Therefore, the authors consider that,
among the implemented algorithms, these two are the best to solve the PF prob-
lem. The choice between them would depend on the problem requirements.
In this paper the path following algorithms have been compared in virtue of its
intrinsic and theoretical characteristics. Other features related to the experimental
platform, such as sensor models, uncertainties or communications, have been ex-
cluded from this survey. Drawing from the conclusions of this comparative study,
future work is to apply the algorithms in real flight experiments. A previous step
is to develop a realistic quadrotor path following simulation benchmark, in which
the authors are already working.
Conflict of interest
The authors declare that they have no conflict of interest.
1. Aguiar, A.P., Hespanha, J.P.: Trajectory-tracking and path-following of underactuated
autonomous vehicles with parametric modeling uncertainty. IEEE Transactions on Auto-
matic Control 52(8), 1362–1379 (2007). DOI 10.1109/TAC.2007.902731
38 Bartomeu Rub´ı et al.
2. Aguiar, A.P., Hespanha, J.P., Kokotovic, P.V.: Performance limitations in reference track-
ing and path following for nonlinear systems. AUTOMATICA 44(3), 598–610 (2008).
DOI {10.1016/j.automatica.2007.06.030}
3. Akhtar, A., Waslander, S.L., Nielsen, C.: Path following for a quadrotor using dynamic
extension and transverse feedback linearization. In: 2012 IEEE 51ST ANNUAL CON-
Control, pp. 3551–3556 (2012)
4. Akhtar, A., Waslander, S.L., Nielsen, C.: Fault Tolerant Path Following for a Quadrotor.
IEEE Conference on Decision and Control, pp. 847–852 (2013)
5. Akkinapalli, V.S., Niermeyer, P., Lohmann, B., Holzapfel, F.: Adaptive nonlinear design
plant uncertainty cancellation for a multirotor. In: 2016 INTERNATIONAL CONFER-
6. Alexis, K., Papachristos, C., Siegwart, R., Tzes, A.: Robust model predictive flight control
81(3), 443–469 (2016). DOI 10.1007/s10846-015- 0238-7
7. Ali, S.U., Samar, R., Shah, M.Z., Bhatti, A.I., Munawar, K., Al-Sggaf, U.M.: Lateral
guidance and control of UAVs using second-order sliding modes. AEROSPACE SCIENCE
AND TECHNOLOGY 49, 88–100 (2016). DOI {10.1016/j.ast.2015.11.033}
8. Ambrosino, G., Ariola, M., Ciniglio, U., Corraro, F., De Lellis, E., Pironti, A.: Path Gener-
TECHNOLOGY 17(4), 980–988 (2009). DOI {10.1109/TCST.2009.2014359}
9. Amidi, O., Thorpe, C.: Integrated mobile robot control. In: MOBILE ROBOTS V, vol.
1388 (1991). DOI 10.1117/12.25494
10. Amin, R., Aijun, L., Shamshirband, S.: A review of quadrotor UAV: control methodologies
CONTROL 10(2), 87–103 (2016). DOI {10.1504/IJAAC.2016.076453}
11. Baca, T., Loianno, G., Saska, M.: Embedded model predictive control of unmanned micro
12. Ba¸ci, A., Can, K., Orman, K., Derdiyok, A.: Trajectory tracking control of a four rotor
unmanned aerial vehicle based on continuous sliding mode controller. ELEKTRONIKA
IR ELEKTROTECHNIKA 23(3), 12–19 (2017)
13. Bouabdallah, S., Murrieri, P., Siegwart, R.: Design and control of an indoor micro quadro-
TOMATION (ICRA), vol. 5, pp. 4393–4398 Vol.5 (2004). DOI 10.1109/ROBOT.2004.
14. Byrnes, C., Isidori, A.: Asymptotic Stabilization of Minimum Phase Nonlinear-Systems.
15. Cabecinhas, D., Cunha, R., Silvestre, C.: Rotorcraft path following control for extended
flight envelope coverage. In: PROCEEDINGS OF THE 48TH IEEE CONFERENCE ON
CONTROL CONFERENCE (CDC/CCC 2009), IEEE Conference on Decision and Con-
trol, pp. 3460–3465 (2009). DOI {10.1109/CDC.2009.5400665}
16. Cabecinhas, D., Cunha, R., Silvestre, C.: A Globally Stabilizing Path Following Con-
troller for Rotorcraft With Wind Disturbance Rejection. IEEE TRANSACTIONS ON
CONTROL SYSTEMS TECHNOLOGY 23(2), 708–714 (2015). DOI {10.1109/TCST.
17. Camacho, E., Bordons, C.: Model Predictive Control. Advanced Textbooks in Control
and Signal Processing. Springer London (2004). URL
18. Chen, H., Chang, K., Agate, C.S.: UAV Path Planning with Tangent-plus-Lyapunov Vector
Field Guidance and Obstacle Avoidance. IEEE TRANSACTIONS ON AEROSPACE
AND ELECTRONIC SYSTEMS 49(2), 840–856 (2013)
19. Chen, Y., Liang, J., Wang, C., Zhang, Y.: Combined of lyapunov-stable and active dis-
turbance rejection control for the path following of a small unmanned aerial vehicle. IN-
A Survey of Path Following Control Strategies for UAVs Focused on Quadrotors 39
20. Chen, Y., Liang, J., Wang, C., Zhang, Y., Wang, T., Xue, C.: Planar Smooth Path Guid-
ance Law for a Small Unmanned Aerial Vehicle with Parameter Tuned by Fuzzy Logic.
21. Chen, Y., Yu, J., Mei, Y., Wang, Y., Su, X.: Modified central force optimization (MCFO)
algorithm for 3D UAV path planning. NEUROCOMPUTING 171, 878–888 (2016). DOI
22. Chen, Y., Yu, J., Su, X., Luo, G.: Path Planning for Multi-UAV Formation. JOURNAL
OF INTELLIGENT & ROBOTIC SYSTEMS 77(1, SI), 229–246 (2015). DOI {10.1007/
s10846-014- 0077-y}
23. Cho, N., Kim, Y., Park, S.: Three-Dimensional Nonlinear Differential Geometric Path-
38(12), 2366–2385 (2015). DOI {10.2514/1.G001060}
24. Choi, S., Kim, S., Jin Kim, H.: Inverse reinforcement learning control for trajectory track-
ing of a multirotor uav. International Journal of Control, Automation and Systems 15(4),
1826–1834 (2017). DOI 10.1007/s12555-015- 0483-3
25. Cichella, V., Choe, R., Mehdi, S.B., Xargay, E., Hovakimyan, N., Kaminer, I., Do-
brokhodov, V.: A 3d path-following approach for a multirotor uav on so(3). In: IFAC
PROCEEDINGS VOLUMES, vol. 46, pp. 13 – 18 (2013). DOI
26. Cichella, V., Kaminer, I., Dobrokhodov, V., Xargay, E., Choe, R., Hovakimyan, N., Aguiar,
A.P., Pascoal, A.M.: Cooperative Path Following of Multiple Multirotors Over Time-
NEERING 12(3), 945–957 (2015). DOI {10.1109/TASE.2015.2406758}
27. Dadkhah, N., Mettler, B.: Control system design and evaluation for robust autonomous
rotorcraft guidance. CONTROL ENGINEERING PRACTICE 21(11), 1488–1506 (2013).
DOI {10.1016/j.conengprac.2013.04.011}
28. Dubins, L.: On Curves of Minimal Length with a Constraint on Average Curvature, and
with Prescribed Initial and Terminal Positions and Tangents. AMERICAN JOURNAL
OF MATHEMATICS 79(3), 497–516 (1957). DOI {10.2307/2372560}
29. Edwards, C., Spurgeon, S.: Sliding Mode Control: Theory And Applications. Series in
Systems and Control. Taylor & Francis (1998). URL
30. Escareno, J., Salazar, S., Romero, H., Lozano, R.: Trajectory control of a quadrotor subject
to 2d wind disturbances. JOURNAL OF INTELLIGENT ROBOTIC & SYSTEMS 70(1),
51–63 (2013). DOI 10.1007/s10846-012- 9734-1
31. Faulwasser, T., Findeisen, R.: Nonlinear model predictive control for constrained output
path following. IEEE TRANSACTIONS ON AUTOMATIC CONTROL 61(4), 1026–1039
(2016). DOI 10.1109/TAC.2015.2466911
32. Gandolfo, D.C., Salinas, L.R., Toibero, J.M., Brandao, A.: Path Following for Unmanned
Helicopter: An Approach on Energy Autonomy Improvement. INFORMATION TECH-
NOLOGY AND CONTROL 45(1), 86–98 (2016). DOI {10.5755/j01.itc.45.1.12413}
33. Garc´ıa, C.E., Prett, D.M., Morari, M.: Model predictive control: Theory and practice-a sur-
vey. AUTOMATICA 25(3), 335 – 348 (1989). DOI
34. Gautam, A., Sujit, P.B., Saripalli, S.: Application of guidance laws to quadrotor landing.
(ICUAS), pp. 372–379 (2015)
35. Gerlach, A.R., Kingston, D., Walker, B.K.: Uav navigation using predictive vector field
control. In: 2014 AMERICAN CONTROL CONFERENCE, pp. 4907–4912 (2014). DOI
36. Gu, N., Wang, D., Liu, L., Zhang, B., Peng, Z.: Adaptive line-of-sight guidance law for
synchronized path-following of under-actuated unmanned surface vehicles based on low-
frequency learning. In: 2017 36th Chinese Control Conference (CCC), pp. 6632–6637
(2017). DOI 10.23919/ChiCC.2017.8028408
37. Hamada, Y., Tsukamoto, T., Ishimoto, S.: Receding horizon guidance of a small unmanned
aerial vehicle for planar reference path following. Aerospace Science and Technology 77,
129 – 137 (2018). DOI
38. Hartman, D., Landis, K., Mehrer, M., Moreno, S., Kim, J.: Quadcopter dynamic modeling
and simulation (Quad-Sim) (2014). URL Sim
40 Bartomeu Rub´ı et al.
39. Heng, X., Cabecinhas, D., Cunha, R., Silvestre, C., Qingsong, X.: A trajectory tracking
lqr controller for a quadrotor: Design and experimental evaluation. In: TENCON 2015 -
2015 IEEE Region 10 Conference, pp. 1–7 (2015). DOI 10.1109/TENCON.2015.7372729
40. Jung, D., Ratti, J., Tsiotras, P.: Real-time Implementation and Validation of a New Hier-
archical Path Planning Scheme of UAVs via Hardware-in-the-Loop Simulation. JOURNAL
OF INTELLIGENT & ROBOTIC SYSTEMS 54(1-3, SI), 163–181 (2009)
41. Jung, W., Lim, S., Lee, D., Bang, H.: Unmanned aircraft vector field path following with
arrival angle control. JOURNAL OF INTELLIGENT ROBOTIC & SYSTEMS 84(1),
311–325 (2016). DOI 10.1007/s10846-016- 0332-5
42. Kaminer, I., Yakimenko, O., Pascoal, A., Ghabcheloo, R.: Path generation, path following
and coordinated control for time-critical missions of multiple UAVs. In: 2006 AMERICAN
CONTROL CONFERENCE, Proceedings of the American Control Conference, vol. 1-12,
pp. 4906+ (2006). DOI {10.1109/ACC.2006.1657498}
43. Klausen, K., Fossen, T.I., Johansen, T.A., Aguiar, A.P.: Cooperative Path-Following for
Multirotor UAVs with a Suspended Payload. In: 2015 IEEE CONFERENCE ON CON-
TROL AND APPLICATIONS (CCA 2015), pp. 1354–1360 (2015)
44. Kokotovic, P.V., Sussmann, H.J.: A positive real condition for global stabilization of non-
linear systems. SYSTEMS AND CONTROL LETTERS 13(2), 125–133 (1989)
45. Kothari, M., Postlethwaite, I., Gu, D.W.: A suboptimal path planning algorithm using
rapidly-exploring random trees. INTERNATIONAL JOURNAL OF AEROSPACE IN-
NOVATIONS 2, 93–104 (2009)
46. Kukreti, S., Kumar, M., Cohen, K.: Genetically tuned lqr based path following for uavs
under wind disturbance. In: 2016 NTERNATIONAL CONFERENCE ON UNMANNED
AIRCRAFT SYSTEMS (ICUAS), pp. 267–274 (2016). DOI 10.1109/ICUAS.2016.7502620
47. Lee, H., Kim, H.J.: Trajectory Tracking Control of Multirotors from Modelling to Experi-
SYSTEMS 15(1), 281–292 (2017). DOI {10.1007/s12555-015- 0289-3}
48. Li, L., Sun, L., Jin, J.: Survey of Advances in Control Algorithms of Quadrotor Unmanned
NICATION TECHNOLOGY (ICCT), pp. 107–111 (2015)
49. Liang, Y., Jia, Y.: Combined vector field approach for 2d and 3d arbitrary twice differ-
entiable curved path following with constrained uavs. JOURNAL OF INTELLIGENT
ROBOTIC & SYSTEMS 83(1), 133–160 (2016). DOI 10.1007/s10846- 015-0308-x
50. Liu, P., Chen, A.Y., Huang, Y.N., Han, J.Y., Lai, J.S., Kang, S.C., Wu, T.H., Wen, M.C.,
Tsai, M.H.: A review of rotorcraft Unmanned Aerial Vehicle (UAV) developments and
applications in civil engineering. SMART STRUCTURES AND SYSTEMS 13(6), 1065–
1094 (2014)
51. Lou, W., Guo, X.: Adaptive trajectory tracking control using reinforcement learning for
quadrotor. International Journal of Advanced Robotic Systems 13(1), 38 (2016). DOI
52. Mahony, R., Kumar, V., Corke, P.: Multirotor aerial vehicles: Modeling, estimation, and
control of quadrotor. IEEE ROBOTICS AUTOMATION MAGAZINE 19(3), 20–32
(2012). DOI 10.1109/MRA.2012.2206474
53. Manjunath, A., Mehrok, P., Sharma, R., Ratnoo, A.: Application of virtual target based
guidance laws to path following of a quadrotor uav. In: 2016 INTERNATIONAL CON-
54. de Marina, H.G., Kapitanyuk, Y.A., Bronz, M., Hattenberger, G., Cao, M.: Guidance
algorithm for smooth trajectory tracking of a fixed wing UAV flying in wind flows. In:
(ICRA), pp. 5740–5745 (2017)
55. Martinsen, A.B., Lekkas, A.M.: Curved path following with deep reinforcement learning:
Results from three vessel models. OCEANS 2018 MTS/IEEE Charleston pp. 1–8 (2018)
56. Mayne, D., Rawlings, J., Rao, C., Scokaert, P.: Constrained model predictive control:
Stability and optimality. AUTOMATICA 36(6), 789 – 814 (2000). DOI
57. Mendoza-Soto, J.L., Corona-Sanchez, J.J., Rodriguez-Cortes, H.: Quadcopter path follow-
ing control. a maneuvering approach. Journal of Intelligent & Robotic Systems (2018).
DOI 10.1007/s10846-018- 0801-0
58. Miao, C.X., Fang, J.C.: An adaptive three-dimensional nonlinear path following method
for a fix-wing micro aerial vehicle. INTERNATIONAL JOURNAL OF ADVANCED
A Survey of Path Following Control Strategies for UAVs Focused on Quadrotors 41
59. Micaelli, A., Samson, C., Robotique, P., Icare, P.: Trajectory tracking for unicycle-type
and two-steering-wheels mobile robots. In: IFAC PROCEEDINGS VOLUMES, vol. 27,
pp. 249–256 (1994)
60. Nelson, D.R., Barber, D.B., McLain, T.W., Beard, R.W.: Vector field path following for
miniature air vehicles. IEEE TRANSACTIONS ON ROBOTICS 23(3), 519–529 (2007).
DOI {10.1109/TRO.2007.898976}
61. Nie, C., Zheng, Z., Cai, Z.: Three-dimensional path-following control of a robotic airship
with reinforcement learning. In: 2019 International Journal of Aerospace Engineering
62. Niermeyer, P., Akkinapalli, V.S., Pak, M., Holzapfel, F., Lohmann, B.: Geometric path fol-
lowing control for multirotor vehicles using nonlinear model predictive control and 3d spline
TEMS (ICUAS), pp. 126–134 (2016). DOI 10.1109/ICUAS.2016.7502541