Content uploaded by Bartomeu Rubí

Author content

All content in this area was uploaded by Bartomeu Rubí on Oct 15, 2019

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

Morcego

Received: date / Accepted: date

Abstract The trajectory control problem, deﬁned 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

E-mail: tomeu.rubi@upc.edu, ramon.perez.@upc.edu, bernardo.morcego@upc.edu.

2 Bartomeu Rub´ı et al.

observations include applications as: environmental protection, including ﬂoods,

ﬁre 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 artiﬁcial 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 inﬂuential

dynamics. The stabilization control problem for the particular case of a quadrotor

has been solved using diﬀerent 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,

deﬁned as making a vehicle follow a pre-established path in space, can be solved

mainly by two diﬀerent approaches: using a trajectory tracking controller or with a

path following controller. For the trajectory tracking problem a reference speciﬁed

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 oﬀer 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 eﬀort [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 eﬀort, 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 deﬁnition of the path following

problem and oﬀer 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 deﬁnition, 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

model.

The rest of the paper is organized as follows: In section 2 the Path Following

problem is deﬁned. 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-

sions.

2 Path Following Problem

The topic of this paper addresses the trajectory control problem of a quadrotor

vehicle. This problem is deﬁned 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 deﬁned as:

Deﬁnition 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 deﬁne the desired path. Dubins deﬁnes 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 diﬀerent 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.

Path

Planning Path

Smoothing Path

Following Autopilot UAV

Obstacle

Avoidance

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 ﬁxed-wing aircrafts but its application to

quadrotors is a relatively new research ﬁeld. 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 predeﬁned 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 deﬁnite, 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 deﬁnite 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-deﬁned. 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 eﬀect. 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 proﬁle. 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 eﬀective [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 proﬁle’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 eﬃcacy 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 fulﬁls the geometric speciﬁcations 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 ﬁxed-wing experimental platform. In this paper, the Lyapunov

function is constructed based on the error equations and desired path function ap-

plying the vector ﬁeld theory. Experimental results show good performance under

wind disturbances. [19] presents another path following application for a ﬁxed-

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 ﬂight tests verify the

eﬀectiveness 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 deﬁnition. 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 diﬀerentially ﬂat

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

rotors.

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 ﬁxed velocity proﬁle. Better

performance is achieved whith variable speed proﬁle.

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 Diﬀerential 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 eﬀort 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 eﬀort, where LOS presents the worst perfor-

mance.

In [78] a survey of some of the most common PF algorithms applied to ﬁxed-

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 ﬁnite horizon

optimal control problem. Only the ﬁrst 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 deﬁned 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-

troller.

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 ﬁxed-wing vehicle show the eﬀectiveness of the predictive

PF approach.

In [37] a non-linear receding horizon guidance law is developed to solve the PF

problem on a ﬁxed-wing vehicle. An extended Kalman ﬁlter is used to estimate

wind velocities. The proposed law achieves eﬃcient PF by making input constraints

active. Its eﬀectiveness is demonstrated by ﬂight 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 ﬁrst 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 ﬁxed-wing UAV

to show the eﬀectiveness of this method.

In [88] the 3D path following problem is solved by implementing a velocity

vector ﬁeld following controller based on the diﬀerential ﬂatness notion. This ap-

proach is designed with an inner-loop controller that makes the vehicle follow a

speciﬁed velocity vector ﬁeld. The validity of the method is demonstrated by nu-

merical simulations and experiments with a quadrotor for three diﬀerent vector

ﬁelds.

AVF path following guidance for 2D and 3D twice diﬀerentiable curves is

stated in [49]. The proposed approach is based on the Helmholtz theorem, which

states that an arbitrary vector ﬁeld 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 eﬀect 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 ﬁeld method.

Refer to [82][35][54][41][83] for path following Vector Field implementations

applied on diﬀerent 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, ﬁnal remarks

conclude that it can be diﬃcult to implement.

3.7 Learning-based

Learning-based algorithms constitute an emerging ﬁeld that, due to the signiﬁcant

progress made in recent years, has become a wise solution for diﬀerent types of

problems. In particular, it is being introduced in the trajectory control problem on

diﬀerent types of vehicles, including UAVs. This ﬁeld 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 eﬃciency 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

ﬂight to learn from experience. Simulation tests and oﬀ-line experimental results

are presented to prove the eﬀectiveness of the controller. In [85] a data-driven

control approach is proposed for the adaptive path following control of a ﬁxed-

wing vehicle. The reliability of the approach is demonstrated through simulation

results and ﬂight tests. Other learning-based approaches have been used to solve

the path following problem on diﬀerent 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 eﬀort. 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 ﬁxed end-time optimal control problem and it relies on

a geometric formulation based on the notion of diﬀerential ﬂatness. 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 eﬃciently.

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 eﬀectiveness 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 deﬁnition 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-deﬁned surface by

means of a discontinuous control law. This control technique is considered to be

eﬀective and robust [29]. However, it can present implementation issues due to the

chattering eﬀect.

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 ﬁxed-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 ﬂight 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 ﬁxed-

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 diﬀerence 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

reference.

The coordinate systems as well as the axis labels and rotational conventions

deﬁned 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).

˙

v=1

m(F−Fd−Fw) + gB−ω×v=˙u˙v˙wT(1)

˙

p=Rv =˙x˙y˙zT(2)

˙

ω= (J)−1[M−ω×Jω] = ˙p˙q˙rT(3)

˙

Φ=Hω=˙

φ˙

θ˙

ψT(4)

F=0 0 cTω2

m1+ω2

m2+ω2

m3+ω2

m4T(5)

A Survey of Path Following Control Strategies for UAVs Focused on Quadrotors 13

M=

d cTω2

m2−d cTω2

m4+Jmq(π

/30) (ωm1−ωm2+ωm3−ωm4)

−d cTω2

m1+d cTω2

m3+Jmp(π

/30) (−ωm1+ωm2−ωm3+ωm4)

−cQω2

m1+cQω2

m2−cQω2

m3+cQω2

m4

(6)

T

τφ

τθ

τψ

=

cTcTcTcT

0d cT0−d cT

−d cT0d cT0

−cQcQ−cQcQ

ω2

m1

ω2

m2

ω2

m3

ω2

m4

(7)

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 coeﬃcient.

cQTorque coeﬃcient.

dDistance from a given motor to the center of gravity.

JmInertia of each motor’s rotating components.

Eqs. (1)-(6) deﬁne 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

zyx.

Eq. (3) deﬁnes 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) deﬁnes the generated gyroscopic and

thrust moments on each body axis.

Eq. (7) presents the relation between the rotation speed of the motors (ωm1−4)

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 diﬀerent from the

one deﬁned in section 4.1. The frames of reference considered in each model are

diﬀerent and [15] uses a rotation matrix to represent the attitude.

14 Bartomeu Rub´ı et al.

As in [15], the gyroscopic eﬀects have been omitted to perform the calculations

to obtain the control law. However, to validate the algorithm properly, these eﬀects

are taken into account in the simulator model.

In this algorithm, S() represents the skew symmetric matrix that veriﬁes

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-

ﬁned, each one of three components. The ﬁrst 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=p−pd(γ) (8)

e2=σ(e1) + 1

k1

˙

e1(9)

σ(x) = pmax

x

1 + kxk(10)

The convergence of e1and e2to zero is assured by deﬁning two control Lya-

punov functions, whose derivatives are negative deﬁnite if the thrust force, T,

follows Td, Eq. (11), with the direction r3d, Eq. (12), where u3=001T.

Td=m

k2

1k2e2+k1˙

σ(e1) + gu3−¨

pd

(11)

r3d=k2

1k2e2+k1˙

σ(e1) + gu3−¨

pd

kk2

1k2e2+k1˙

σ(e1) + gu3−¨

pdk(12)

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 deﬁned as the error of the thrust direction, as stated in

Eq. (14).

T=rT

3dr3Td(13)

e3=r3−r3d(14)

A third control Lyapunov function, which includes the ﬁrst and second Lya-

punov functions as well as a term for the third backstepping error, is deﬁned.

With the aim of making the ﬁrst three errors tend to zero, the expression of the

fourth error vector, Eq. (15), is deﬁned in such a way that if this error becomes

zero, the time derivative of the third Lyapunov function remains negative deﬁnite.

In Eq. (15) Rdrepresents the desired orientation matrix and ωdstands for the

desired angular speed of the vehicle.

e4=−k3S(u3)2RTr3d+S(u3)(ω−RTRdωd)

−Td

mk1S(u3)2RTe2

(15)

Finally, a fourth Lyapunov function is deﬁned 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 ˙

ωc

stands for the calculated angular acceleration and ˙ω3c(t) is an arbitrary function

that deﬁnes the dynamics of the yaw angle. Then, the control law of the torque

can be calculated from this expression by means of Eq. (17).

˙

ωc=−S(u3)−k4e4−RTr3d

+k3S(u3)2˙

RTr3d+RT˙

r3d

+1

mk1S(u3)2˙

TdRTe2+Td˙

RTe2+TdRT˙

e2

+˙

RTRdωd+RTRd˙

ωd+0 0 ˙ω3c(t)T

(16)

τ=J˙

ωc+S(ω)Jω(17)

It can be noticed that constants k1−4appear in the calculated control laws.

These constants deﬁne 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 deﬁning the error vectors this way sets only the third column of

Rd. This is clear by checking the deﬁnitions 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 satisﬁed, i.e. a degree of freedom

appears for the evolution of yaw. Exploiting this degree of freedom, the desired

rotation matrix Rdhas been deﬁned as the one that makes the velocity vector

of the vehicle tangent to the path, as shown in Eq. (18). To assure this control

speciﬁcation, a PD-like controller is designed as a control law for function ˙ω3c, as

shown in Eq. (19), where r1is the ﬁrst column of the rotation matrix Rand r2d

is the second column of the desired rotation matrix Rd.

Rd=h−S(r3d)2p0

d

kS(r3d)2p0

dk

S(r3d)p0

d

kS(r3d)p0

dkr3di(18)

˙ω3c=−l2ω3−ω3d+l1rT

2dr1+ ˙ω3d−l1d

dt rT

2dr1(19)

Parameter γ(virtual arc parameter, see Deﬁnition 1) is present in the deﬁnition

of e1, Eq. (8), and implicit in the rest of the controller expressions. This parameter

deﬁnes 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 γ, deﬁned 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 inﬂection points of the path. This timing law has been

deﬁned 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 satisﬁed. That condition assures the ascending behaviour of the path. ˙γdis a

control speciﬁcation that can be related to the path’s shape. Examples of the

deﬁnition of this variable are given in section 5.

¨γ=−kγσ( ˙γ−˙γd) + uT

1W

TRTk2

1k2e2+k1˙

σ(e1)−˙γp00

d(20)

16 Bartomeu Rub´ı et al.

W

TRT(γ) = hp0

d(γ)

kp0

d(γ)kξ(γ)S(p0

d(γ))2p00

d(γ)

kS(p0

d(γ))2p00

d(γ)kξ(γ)S(p0

d(γ))p00

d(γ)

kS(p0

d(γ))p00

d(γ)ki(21)

p0

d(γ)Tu3

> α (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 ﬁrst order ﬁlter was used to obtain a time

derivative estimation of a known variable. The scheme of this ﬁlter is shown in

Fig. 3, where xis the known variable, ˆxis the ﬁltered variable, ˙

ˆxis the time

derivative estimation of xand x0is its initial value.

x

0

x

ˆ

x

ˆ

x

f

k

Fig. 3 General derivative estimation diagram

The ﬁlter 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 ﬁlter for each component of vector ωd.

˙

Rd=∂Rd

∂r3d

˙

r3d+∂Rd

∂p0

d

p00

d˙γ(23)

S(ωd) = RT

d˙

Rd(24)

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 ﬁlters 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 ( ˆ

˙

Td,ˆ

˙r3d,ˆ

˙ωd), the values of γ, its derivative ˙γand its desired derivative

˙γd, the control design parameters (k1−4, pmax , l1−2, kγ), the desired path (pd(γ))

and the ﬁrst and second partial derivatives of the desired path with respect to

γ(p0

d(γ),p00

d(γ)). The algorithm returns the control signals of thrust and torques

(T, τφ, τθand τψ). The ﬁrst 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 speciﬁc 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

algorithm

Quadrotor

Backstepping Controller

T

x

T

x

()

()

()

d

d

d

p

p

p

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 diﬀerent 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

algorithm.

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 deﬁned in section 4.1.

Thus, the same control design process can be used. Nevertheless, note that in [3]

the velocities of the vehicle are deﬁned with respect to the world frame. Therefore,

Eq. (25) is now used to deﬁne 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 deﬁne the rotation matrix

(section 4.1), while [3] uses a zxy-sequence. However, the selection of this matrix

does not aﬀect the behaviour of the system as long as the matrix is well-deﬁned.

˙

vW=1

mR F −0 0 gT=˙uW˙vW˙wWT(25)

˙

p=vW=˙x˙y˙zT(26)

As in the Backstepping algorithm, the gyroscopic eﬀects have been omitted to

obtain the equations of this algorithm.

Eq. (27) deﬁnes 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, φ, θ, ψ },

ˆ

˙

Td,ˆ

˙

r3d,ˆ

˙

ωd, γ, ˙γ, ˙γd, k1−4, pmax, l1−2, kγ,

pd(γ) := [xd(γ), yd(γ), zd(γ)]T,p0

d(γ),p00

d(γ)

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 ˙

pd

2: ˙

pd=p0

d˙γ

Calculate e1,˙

e1,σ(e1), ˙

σ(e1) and e2

3: e1=p−pd,˙

e1=Rv −˙

pd

4: σ(e1) = pmax e1

1+qe2

11+e2

12+e2

13

5: ˙

σ(e1) = ∂σ(e1)

∂pRv +∂σ(e1)

∂pd˙

pd

6: e2=σ(e1) + 1

k1˙

e1

Calculate W

TRT, ¨γand ¨

pd

7: W

TRTfrom Eq. (21)

8: ¨γ=−kγσ( ˙γ−˙γd) + uT

1W

TRTk2

1k2e2+k1˙

σ(e1)−˙γp00

d

9: ¨

pd=p00

d˙γ2+p0

d¨γ

Calculate Td,r3dand T

10: Td=m

k2

1k2e2+k1˙

σ(e1) + gu3−¨

pd

11: r3d=k2

1k2e2+k1˙

σ(e1)+gu3−¨

pd

kk2

1k2e2+k1˙

σ(e1)+gu3−¨

pdk

12: T=rT

3dr3Td

Calculate ¨

e1and ˙

e2

13: ¨

e1=−T

mRu3+gu3−¨

pd

14: ˙

e2=˙

σ(e1) + 1

k1¨

e1

Calculate Rd,˙

Rdand ωd

15: Rd=−S(r3d)2p0

d

kS(r3d)2p0

dk

S(r3d)p0

d

kS(r3d)p0

dkr3d

16: ˙

Rd=∂Rd

∂r3d˙

r3d+∂Rd

∂p0

d

p00

d˙γ

17: S(ωd) = RT

d˙

Rd→ωd= [S(ωd)23, S (ωd)31, S(ωd)12 ]

Calculate ˙ω3c,e4,˙

ωcand τ

18: ˙ω3c=−l2ω3−ω3d+l1rT

2dr1+ ˙ω3d−l1d

dt rT

2dr1

19: e4from Eq. (15)

20: ˙

ωcfrom Eq. (16)

21: τ=J˙

ωc+S(ω)Jω

Obtain real torque inputs

22: τφ=τ1, τθ=−τ2, τψ=−τ3

return T, τφ, τθ, τψ

˙x

˙y

˙z

˙uW

˙vW

˙wW

˙p

˙q

˙r

˙

ψ

˙

θ

˙

φ

=

uW

vW

wW

0

0

−g

q r J1

p r J2

p q J3

p+ tan(θ)R4

qcos(φ) + rsin(φ)

sec(θ)R4

+

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

T

τφ

τθ

τψ

(27)

A Survey of Path Following Control Strategies for UAVs Focused on Quadrotors 19

Where J1,J2and J3are inertial terms deﬁned 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(ψ)

m(31)

R2=−sin(φ) cos(ψ) + cos(φ) sin(θ) sin(ψ)

m(32)

R3=cos(φ) cos(θ)

m(33)

R4= sin(φ)q+ cos(φ)r(34)

Cx=1

Jxx

, Cy=1

Jyy

, Cz=1

Jzz

(35)

Besides the dynamics of the system, the outputs of interest need to be deﬁned.

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) =

h1(x)

h2(x)

h3(x)

h4(x)

=

x2+y2−A2

z−fz(x)

Aarctan y

x

ψ

(36)

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 deﬁnes 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.

Deﬁning 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-deﬁned. 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

state.

T=ζ1,˙

ζ1=ζ2,˙

ζ2=u1,

τφ=u2, τθ=u3, τψ=u4

(37)

Adding these states to the system, the vector relative degree becomes {4,4,4,2},

which derives in a well-deﬁned 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 deﬁned 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

ξ1i

ξ2i

η1i

η2k

=Ψ(xe) =

Li−1

fh1(xe)

Li−1

fh2(xe)

Li−1

fh3(xe)

Lk−1

fh4(xe)

,(38)

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 diﬀeomorphism. That is, a derivable

function deﬁned 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

(39)

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).

α(ξ,η) =

α1(ξ,η)

α2(ξ,η)

α3(ξ,η)

α4(ξ,η)

=

L4

fh1

L4

fh2

L4

fh3

L2

fh4

(40)

β(ξ, η) =

β1(ξ,η)

β2(ξ,η)

β3(ξ,η)

β4(ξ,η)

=

LgL3

fh1

LgL3

fh2

LgL3

fh3

LgLfh4

(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 (u1−4) are

chosen to be

u=

u1

u2

u3

u4

=

β1(ξ,η)−1[v1−α1(ξ,η)]

β2(ξ,η)−1[v2−α2(ξ,η)]

β3(ξ,η)−1[v3−α3(ξ,η)]

β4(ξ,η)−1[v4−α4(ξ,η)]

,(42)

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

method.

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

(43)

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

ﬁnally, the ﬁrst 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.

Quadrotor

v

Feedback Linearization Controller

( , )vf

1

( , ) [ ( , )]uv

,}

,}

1

u

2

u

3

u

4

u

12

, } ( , , )x

1

1

2

2

T

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 deﬁne the

experiment references and are detailed in the section 5. Note that it is ensured that

ηref

21 , the yaw reference, satisﬁes 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

system.

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 predeﬁned distance Lfrom the vehicle, where L

is a scalar constant parameter that aﬀects 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 predeﬁned 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 ﬁrst execution of this algorithm.

As seen in the algorithm, the ﬁrst 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+y2−A2

3: h2=Z−fz(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

/A+π

/2

→ensure that

ηref

21 −ψ

6π

Calculate linear states (ξ,η), αand β

9: {ξ1i,ξ2i,η1i,η2k}:= Ψ(xe)

10: αi=Lm

fhi

11: βi=LgLm−1

fhi

→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[vi−αi]

→i∈ {1,2,3,4}

Obtain real inputs

14: ˙

ζ2=u1,˙

ζ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 deﬁned as γdmin , making the vehicle move directly

towards the path. When the vehicle is closer to the path, the algorithm will ﬁnd

the ﬁrst 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 satisﬁes 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

γ(kp−pd(γ)k)|γ∈[γprev ;γf]

3: γdmin := argmin

γ

(kp−pd(γ)k)|γ∈[γprev ;γf]

Calculate γV T P :

4: if dmin > L then

5: γV T P := γdmin

6: else

7: γV T P := argmin

γ

(|kp−pd(γ)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

L

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

ﬁgure, 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

Path

Following

Algorithm Quadrotor

Altitude

&

Attitude

Controller

Velocity

Controller

Autopilot

cmd

z

cmd

()

d

p

cmd

cmd

v

cmd

z

cmd

u

cmd

cmd

x

{ , }vux

{ , , , }zx

T

{ , , , }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 aﬀected by the performance of the inner-

loop controller. Other techniques, such as LQR, could be applied to design the

autopilot controller with diﬀerent 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 modiﬁed 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

γ(kp−pd(γ)k)|γ∈[γprev ;γf]

3: γdmin := argmin

γ

(kp−pd(γ)k)|γ∈[γprev ;γf]

Calculate γV T P :

4: γV T P := argmin

γ

Rγ

γdmin

p0

d(γ)

dγ−L

|γ∈[γ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

diﬀerence 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 deﬁned by

pd(γ) =

Acos(γ)

Asin(γ)

γ+ 3

(44)

where Ais the radius of the helix, which is 3 meters. Note that with this deﬁnition

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 speciﬁcation with the Backstepping controller, the desired

evolution of γhas been set as deﬁned in Eq. (45). The yaw requirement is assured

by deﬁning the rotational matrix as in Eq. (18) and including the PD-like controller

for the angular acceleration on the zaxis as deﬁned in Eq. (19).

˙γd=Vpath

A(45)

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 ﬁrst 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 speciﬁcation, 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 speciﬁcations

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 ﬁnd the value which procures the minimum distance

MAE for the deﬁned 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 veriﬁed 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 (k1−4). As they were diﬃcult 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

Chasing

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.4865e−7N rpm2

cQ2.9250e−9N m rpm2

d0.2223 m

Jm3.7882e−6kg 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

eﬀects, such as drag forces. The motors are modelled as a ﬁrst 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 eﬀort 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 eﬀort is a dimensionless parameter that represents

the normalized computation time of each algorithm.

The computational eﬀort 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 eﬀort. 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 eﬀort term.

Table 6 Results for one lap in steady state regime.

time (s)d(m)

eψ

(deg)kvk(m

/s)Computational eﬀort

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 modiﬁed to observe the tran-

sient behaviour of the algorithms. In particular, the eﬀects of changing the initial

x-coordinate of the vehicle and the eﬀects 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 deﬁned 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

diﬀerent for each algorithm, since their stabilization time are diﬀerent. The third

graph, shows a parameter for the control eﬀort, 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 deﬁnition 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 eﬀort term, umi is the control action

of the ith motor and γconv is the convergence position given by the virtual arc

parameter.

tconv :d < 10dss ∀t > tconv (47)

dint =Ztconv

tinit

d(t)dt (48)

ceff =

dum1

dt

+

dum2

dt

+

dum3

dt

+

dum4

dt

4(49)

γ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 ﬁgures, 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 signiﬁcant 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 ﬁgures 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 inﬂuences, 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 π

/8

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 ﬁrst 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

0

0.5

1

1.5

Fig. 14 Path distance error against wind disturbances.

Table 7 Results for 100 seconds in time-varying wind conditions.

d(m)

eψ

(deg)kvk(m

/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 eﬀort 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 diﬀerence becomes signiﬁcant on the

ﬁnal 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 modiﬁed initial x-coordinate simulations also reﬂect 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 eﬀort to remain on the path (Fig. 8) than the geometric algorithms. Control

eﬀort 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 eﬀect. Also, it is important to note that the control-oriented

algorithms make a signiﬁcantly larger control eﬀort 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 eﬀect 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 suﬃcient 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

similar.

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 eﬀort, 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 deﬁne 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.

BS FL NLGL CC

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 Eﬀort 4 3 1 1

Wind Disturbance 1 4 2 2

Control Eﬀort 3 4 2 1

Design & Tuning Eﬀort 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 deﬁnes the capability of each algorithm to adapt to

diﬀerent types of paths. The requirement of ﬁnding h3makes FL the worst for

adapting to new path shapes. The BS algorithm is rated third since the deﬁned

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 speciﬁc 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 diﬀerent kinds of vehicles. Both

qualitative aspects are reﬂected 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 diﬀerent

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 ﬁrst 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 speciﬁc 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

deﬁned 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 deﬁned.

According to the reviewed bibliography, it results in a smoother convergence to

the path, less demand of control eﬀort, 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 diﬀerent types of UAVs, such as ﬁxed-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 eﬀort and a signiﬁcant control eﬀort. 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 eﬀort. 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 ﬂight experiments. A previous step

is to develop a realistic quadrotor path following simulation benchmark, in which

the authors are already working.

Conﬂict of interest

The authors declare that they have no conﬂict of interest.

References

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-

FERENCE ON DECISION AND CONTROL (CDC), IEEE Conference on Decision and

Control, pp. 3551–3556 (2012)

4. Akhtar, A., Waslander, S.L., Nielsen, C.: Fault Tolerant Path Following for a Quadrotor.

In: 2013 IEEE 52ND ANNUAL CONFERENCE ON DECISION AND CONTROL (CDC),

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-

ENCE ON UNMANNED AIRCRAFT SYSTEMS (ICUAS), pp. 1102–1110 (2016). DOI

10.1109/ICUAS.2016.7502555

6. Alexis, K., Papachristos, C., Siegwart, R., Tzes, A.: Robust model predictive ﬂight control

of unmanned rotorcrafts. JOURNAL OF INTELLIGENT & ROBOTIC SYSTEMS &

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-

ation and Tracking in 3-D for UAVs. IEEE TRANSACTIONS ON CONTROL SYSTEMS

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

and performance evaluation. INTERNATIONAL JOURNAL OF AUTOMATION AND

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

aerial vehicles. In: 2016 21ST INTERNATIONAL CONFERENCE ON METHODS AND

MODELS IN AUTOMATION AND ROBOTICS (MMAR), pp. 992–997 (2016). DOI

10.1109/MMAR.2016.7575273

12. Ba¸s¸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-

tor. In: 2004 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AU-

TOMATION (ICRA), vol. 5, pp. 4393–4398 Vol.5 (2004). DOI 10.1109/ROBOT.2004.

1302409

14. Byrnes, C., Isidori, A.: Asymptotic Stabilization of Minimum Phase Nonlinear-Systems.

IEEE TRANSACTIONS ON AUTOMATIC CONTROL 36(10), 1122–1137 (1991). DOI

{10.1109/9.90226}

15. Cabecinhas, D., Cunha, R., Silvestre, C.: Rotorcraft path following control for extended

ﬂight envelope coverage. In: PROCEEDINGS OF THE 48TH IEEE CONFERENCE ON

DECISION AND CONTROL, 2009 HELD JOINTLY WITH THE 2009 28TH CHINESE

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.

2014.2326820}

17. Camacho, E., Bordons, C.: Model Predictive Control. Advanced Textbooks in Control

and Signal Processing. Springer London (2004). URL https://books.google.es/books?

id=Sc1H3f3E8CQC

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-

TERNATIONAL JOURNAL OF ADVANDES ROBOTIC SYSTEMS 14(2) (2017). DOI

10.1177/1729881417699150

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.

JOURNAL OF CONTROL SCIENCE AND ENGINEERING 2017, 11 (2017). DOI

{10.1155/2017/6712602}

21. Chen, Y., Yu, J., Mei, Y., Wang, Y., Su, X.: Modiﬁed central force optimization (MCFO)

algorithm for 3D UAV path planning. NEUROCOMPUTING 171, 878–888 (2016). DOI

{10.1016/j.neucom.2015.07.044}

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 Diﬀerential Geometric Path-

Following Guidance Law. JOURNAL OF GUIDANCE CONTROL AND DYNAMICS

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 http://dx.doi.org/10.

3182/20131120-3-FR-4045.00039

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-

Varying Networks. IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGI-

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 https://books.google.es/books?

id=uH2RJhIPsiYC

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 https://doi.org/10.1016/0005-1098(89)

90002-2

34. Gautam, A., Sujit, P.B., Saripalli, S.: Application of guidance laws to quadrotor landing.

In: 2015 INTERNATIONAL CONFERENCE ON UNMANNED AIRCRAFT SYSTEMS

(ICUAS), pp. 372–379 (2015)

35. Gerlach, A.R., Kingston, D., Walker, B.K.: Uav navigation using predictive vector ﬁeld

control. In: 2014 AMERICAN CONTROL CONFERENCE, pp. 4907–4912 (2014). DOI

10.1109/ACC.2014.6859082

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 https://doi.org/10.1016/j.ast.2018.02.039

38. Hartman, D., Landis, K., Mehrer, M., Moreno, S., Kim, J.: Quadcopter dynamic modeling

and simulation (Quad-Sim) (2014). URL https://github.com/dch33/Quad- 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 ﬁeld 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-

ments: A Survey. INTERNATIONAL JOURNAL OF CONTROL AUTOMATION AND

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

Aerial Vehicle. In: 2015 IEEE 16TH INTERNATIONAL CONFERENCE ON COMMU-

NICATION TECHNOLOGY (ICCT), pp. 107–111 (2015)

49. Liang, Y., Jia, Y.: Combined vector ﬁeld approach for 2d and 3d arbitrary twice diﬀer-

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

10.5772/62128

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-

FERENCE ON UNMANNED AIRCRAFT SYSTEMS (ICUAS), pp. 252–260 (2016). DOI

10.1109/ICUAS.2016.7502565

54. de Marina, H.G., Kapitanyuk, Y.A., Bronz, M., Hattenberger, G., Cao, M.: Guidance

algorithm for smooth trajectory tracking of a ﬁxed wing UAV ﬂying in wind ﬂows. In:

2017 IEEE INTERNATIONAL CONFERENCE ON TOBOTICS AND AUTOMATION

(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 https://doi.org/

10.1016/S0005-1098(99)00214-9

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 ﬁx-wing micro aerial vehicle. INTERNATIONAL JOURNAL OF ADVANCED

ROBOTIC SYSTEMS 9, 1 (2012)

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 ﬁeld 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

(2019)

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

paths. In: 2016 INTERNATIONAL CONFERENCE ON UNMANNED AIRCRAFT SYS-

TEMS (ICUAS), pp. 126–134 (2016). DOI 10.1109/ICUAS.2016.7502541