Cooperative Collision Avoidance For Unmanned Aerial Vehicles
Cooperative Collision Avoidance For Unmanned Aerial Vehicles
by
Dinorego Mphogo
March 2020
Stellenbosch University https://scholar.sun.ac.za
Declaration
By submitting this thesis electronically, I declare that the entirety of the work contained
therein is my own, original work, that I am the sole author thereof (save to the extent
explicitly otherwise stated), that reproduction and publication thereof by Stellenbosch
University will not infringe any third party rights and that I have not previously in its
entirety or in part submitted it for obtaining any qualification.
March 2020
Date: ....................................
i
Stellenbosch University https://scholar.sun.ac.za
Abstract
This thesis presents the design, implementation, and verification of a cooperative colli-
sion avoidance algorithms for unmanned aerial vehicles (UAVs) in multi-aircraft conflict
scenarios. Two types of collision avoidance algorithms are developed and verified in sim-
ulation: a rules-based algorithm and a cooperative path planning based algorithm.
The rules-based collision avoidance algorithm is modelled after the tactical Traffic
Collision Avoidance System (TCAS) that is used on commercial passenger airliners. To
enable multi-aircraft collision avoidance, two methods for combining the pairwise rules-
based collision avoidance actions are proposed, namely Resolution Action Superposition
(RAS) and pairwise Closest-Intruder-First (CIF).
The path planning based collision avoidance algorithm grows a search tree of admissi-
ble conflict resolution paths, and searches the tree to find the conflict-free path with the
lowest cost. To enable cooperative collision avoidance, all aircraft communicate their cur-
rent positions and intended flight paths to all other aircraft. A token allocation strategy
is used so that the individual aircraft plan their new collision avoidance paths sequentially
according to a predetermined priority order.
The rules-based and path planning based collision avoidance algorithms were imple-
mented and verified in simulation. A simulation environment was created to test both
the rules-based and path planning based collision avoidance algorithms. Set-piece con-
flict avoidance scenarios were performed to produce illustrative results. The simulations
illustrated that both rules-based and path planning based collision avoidance can resolve
both pairwise and multi-aircraft conflicts. Furthermore, Monte Carlo simulations were
performed to produce statistical results and evaluate the performance of both algorithms
in random conflict scenarios. The simulation results show that both the rules-based and
path planning based solutions are able to successfully resolve collision scenarios involving
multiple unmanned aerial vehicles. The rules-bases solution requires less computational
effort but does not optimise the collision avoidance plans. The path planning based
solution requires much more computational effort, but provides optimal solutions that
minimises the deviation from the original flights, and minimises the control effort of the
avoidance actions.
ii
Stellenbosch University https://scholar.sun.ac.za
Opsomming
Hierdie tesis beskryf die ontwerp, implementasie, en verifikasie van samewerkende bots-
ingvermyding algoritmes vir onbemande vliegtuie (UAVs) in multi-vliegtuig konflik sce-
narios. Twee tipes botsingvermyding algoritmes word ontwikkel en getoets in simulasie:
’n reëls-gebaseerde algoritme en ’n padbeplanning-gebaseerde algoritme.
Die reëls-gebaseerde algoritme word gemodelleer na die taktiese Traffic Collision Avoid-
ance System (TCAS) wat gebruik word op kommersiële passasiersvliegtuie. Om multi-
vliegtuig botsingvermyding te bewerkstellig, word twee metodes voorgestel om die paars-
gewyse reëls-gebaseerde botsingvermyding aksies te kombineer, naamlik Resolusie Aksie
Superposisie (RAS) en Naaste-Indringer-Eerste (NIE).
iii
Stellenbosch University https://scholar.sun.ac.za
Acknowledgements
• First and foremost, I would like to extend gratitudes to my study leader Dr JAA
Engelbrecht for his consistent guidance and invaluable support during this thesis
study which have allowed me to finish this research.
• My lovely parents, Matobola Mphogo and Mmatshehla Mphogo, for their dedicated
support and love in my life.
• My younger two sisters, Lebogang and Ofentse for consistently asking when this
research is finishing.
• To Helene Lambrechts for much assistance with grammar editing of this document.
• To Witold Buzantowicz the creator of Matlab package flypath useful for aircraft
trajectory simulation which was used in this thesis. Simulation of UAV trajectories
would have been less interesting without flypath.
• Gerju Goosen who made available the fixed-wing UAV flight data containing reality
velocities used for the simulations.
iv
Stellenbosch University https://scholar.sun.ac.za
Dedications
To my late grandfather Mabuti Mathebula for the role he has played in my life. This is
for you "Nchela mmina tshwene!".
v
Stellenbosch University https://scholar.sun.ac.za
Contents
Declaration i
Abstract ii
Opsomming iii
Acknowledgements iv
Dedications v
Contents vi
List of Figures xi
Nomenclature xvii
1 Introduction 1
1.1 Research Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Research Goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Research Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Research Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 Previous Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5.1 Terminology Background . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5.2 TCAS, EGPWS, and ADS-B . . . . . . . . . . . . . . . . . . . . . 4
1.5.3 Conflict Detection and Resolution Framework (Van Daalen) . . . . 5
1.5.4 Cooperative Path Planning Framework (Shanmugal et al. [6]) . . . 7
1.6 Overview of Proposed Solutions . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6.1 Rules-Based Cooperative Collision Avoidance Solution . . . . . . . 9
1.6.2 Path Planning Based Cooperative Collision Avoidance Solution . . . 10
1.6.3 Thesis Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2 Literature Review 13
2.1 Conflict Modelling Background . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.1 Definition of Conflict . . . . . . . . . . . . . . . . . . . . . . . . . . 14
vi
Stellenbosch University https://scholar.sun.ac.za
CONTENTS vii
CONTENTS viii
CONTENTS ix
Appendices 189
CONTENTS x
List of Figures
1.1 Conflict detection and resolution framework proposed by Van Daalen [5] . . . 6
1.2 System architecture for Cooperative Path Planning of multiple UAVs [6] . . . 8
1.3 TCAS conflict resolution policy with vertical distance (y-axis) and time-to-
collision (x-axis) from [12] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Proposed high level view of a Token Allocation communication framework for
a Cooperative Path Planning of Multiple UAVs . . . . . . . . . . . . . . . . . 11
xi
Stellenbosch University https://scholar.sun.ac.za
2.23 Path planning where priority planning between two robots is applicable for
conflict resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.24 Near-midair collision threshold for pairwise aircraft [70] . . . . . . . . . . . . . 43
4.22 RAS conflict resolution for one UAV from the left and two intruders from the
right . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.23 CIF conflict resolution for one UAV from the left and two intruders from the
right . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.24 Conflict detection with time-to-collision of all three UAVs for both CIF and
RAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.25 RAS middle UAV altitude commands . . . . . . . . . . . . . . . . . . . . . . . 94
4.26 CIF middle UAV altitude commands . . . . . . . . . . . . . . . . . . . . . . . 94
4.27 Three UAVs with one intruder at minimum altitude conflict resolution with
RAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.28 Three UAVs with one intruder at minimum altitude conflict resolution with CIF 96
4.29 RAS multi-aircraft collision avoidance with simulated altitude noise for three
UAVs at equal altitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.30 CIF multi-aircraft collision avoidance with simulated altitude noise for three
UAVs at equal altitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.31 Five UAVs simulation of traffic with the Multi-resolution TCAS algorithm . . 98
4.32 Five UAVs simulation of traffic with the CIF algorithm . . . . . . . . . . . . . 98
7.1 Monte-Carlo simulations setup of five UAVs for the rules-based collision avoid-
ance algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
7.2 Monte-Carlo simulations setup of ten UAVs for the path planning collision
avoidance algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
7.3 Summary of separation distances of rules-based algorithm for five UAVs . . . . 164
7.4 Summary of separation distances of path planning algorithm for ten UAVs . . 165
7.5 Distribution of separation distances for RAS algorithm . . . . . . . . . . . . . 165
7.6 Distribution of minimum separation distances for CIF algorithm . . . . . . . . 166
7.7 Distribution of minimum separation distances for path planning algorithm . . 166
7.8 Summary of minimum altitude separation distances for rules-based algorithms 167
7.9 Summary of minimum altitude separation distances for path planning algorithm167
7.10 Distribution of minimum altitude separation distance RAS algorithm . . . . . 168
7.11 Distribution of minimum altitude separation distance CIF algorithm . . . . . . 168
7.12 Distribution of minimum altitude separation distance path planning algorithm 169
7.13 Summary of minimum horizontal separation distances for rules-based algorithms170
Stellenbosch University https://scholar.sun.ac.za
LIST OF FIGURES xv
7.14 Summary of minimum horizontal separation distances for path planning algo-
rithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
7.15 Distribution of minimum horizontal separation distances of RAS algorithm . . 171
7.16 Distribution of minimum horizontal separation distances of CIF algorithm . . 171
7.17 Distribution of minimum horizontal separation distances of path planning al-
gorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
7.18 Rules-based algorithms time-to-collision (τ ) summary . . . . . . . . . . . . . . 173
7.19 Distribution of minimum time-to-collision for RAS when vertical separation
distance in minimum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
7.20 Distribution of minimum time-to-collision for CIF when vertical separation
distance in minimum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
7.21 Summaries of altitude deviations for five UAVs using the RAS and CIF rules-
based algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
7.22 Distribution of altitude deviations for path planning algorithms . . . . . . . . 175
7.23 Distribution of the altitude deviations for the RAS algorithm . . . . . . . . . . 176
7.24 Distribution of the altitude deviations for CIF algorithm . . . . . . . . . . . . 176
7.25 Distribution of altitude deviations of all UAVs which received tokens . . . . . 177
7.36 Distribution of terminal cost per UAV at each planning stage . . . . . . . . . 180
7.37 Altitude rates distribution function of terminal cost function . . . . . . . . . . 181
7.38 Summaries of the altitude rates used by the rules-based algorithms . . . . . . 182
7.39 Altitude rate distribution for the RAS algorithm . . . . . . . . . . . . . . . . . 182
7.40 Altitude rate distribution for the CIF algorithm . . . . . . . . . . . . . . . . . 183
7.41 Distribution of transitional cost per UAV for path planning algorithm . . . . . 183
A.1 Climbing manoeuvre influenced by wk with two UAVs at equal altitude . . . . 190
A.2 Descend manoeuvre influenced by wk with with two UAVs at equal altitude . . 191
A.3 Time-to-Collision(τ ) of the Resolution Action Superposition for Five UAVs . . 191
A.4 Time-to-Collision(τ ) of the Closest-Intruder-First for Five UAVs . . . . . . . 192
Stellenbosch University https://scholar.sun.ac.za
List of Tables
7.1 Success rate of conflict resolution for search-tree path planning and rules-based
algorithms (NMAC = 1000 feet) . . . . . . . . . . . . . . . . . . . . . . . . . . 163
xvi
Stellenbosch University https://scholar.sun.ac.za
Nomenclature
Useful Abbreviations
ADS-B Automatic Dependent Surveillance - Broadcast
AGL Above Ground Level
CA Collision Avoidance
CIF Closest Intruder First
CP P Cooperative Path Planning
ESL Electronic Systems Laboratory
GP S Global Positioning System
N M AC Near Mid-Air Collisions
RA Resolution Alert
SAA Sense-And-Avoid
SEEAA See-And-Avoid
T CAS Traffic Collision Avoidance System
T A Traffic Alert
TCAS Traffic Collision Avoidance System
U AV Unmanned Aerial Vehicles
Constants
xra = 0.35NM
xta = 0.48NM
zTHR = 650ft
τra = 20s
τta = 30s
hAGL = 1000ft
Variables
x State vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [ ft × ft × s ]
h Altitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [ feet ]
V Velocity Vector Magnitude . . . . . . . . . . . . . . . . . . . . . . . . [ feet/s ]
h̄ Altitude deviation mean . . . . . . . . . . . . . . . . . . . . . . . . . . [ feet ]
xvii
Stellenbosch University https://scholar.sun.ac.za
NOMENCLATURE xviii
Chapter 1
Introduction
The introduction discusses the motivation and goal for undertaking the research, and
formulates the research goals and objectives that we wished to achieve. We shall start
with the research motivation, which is the necessity for a cooperative collision avoidance
system for unmanned aerial vehicles to enable an integrated airspace with both manned
and unmanned aircraft in future. We will then formulate the research goal which is to
develop and evaluate cooperative collision avoidance algorithms using both rules-based
and path planning based approaches. In addition, we will outline the achievable research
objectives which shall be implemented to accomplish the research goal. Next, we provide
an overview of the research project and the proposed cooperative collision avoidance
solutions. Finally, we give an outline of the thesis report.
1
Stellenbosch University https://scholar.sun.ac.za
CHAPTER 1. INTRODUCTION 2
Since TCAS was designed for manual conflict resolution, it will not be useful for
collision avoidance that involves UAVs. This is due to the fact that TCAS will not be
able to interface with the automatic flight control systems of unmanned aerial vehicles
through its advisories. To integrate unmanned aircraft into civilian airspace, the collision
avoidance systems must have the capacity to handle multiple intruder aircraft [4]. To
address the issue of unmanned aircraft integration into the civilian airspace, the FAA has
proposed the Automatic Dependent Surveillance Broadcast system (ADS-B) and Airborne
Collision Avoidance System-X (ACAS-X) as the communication network system and the
collision avoidance system to accomplish automatic collision avoidance. The existing
ADS-B system provides the communications infrastructure for the implementation of
cooperative collision avoidance systems, which is the topic of our research.
2. To develop a cooperative path planning based collision avoidance algorithm for un-
manned aerial vehicles in a multi-aircraft conflict scenario.
3. To create a simulation environment that can be used for set-piece conflict scenarios
and Monte Carlo simulations.
4. To investigate and compare the behaviour of the rules-based and path planning
based collision avoidance algorithms in set-piece conflict scenarios.
5. To test the performance of both the rules-based and path planning based collision
avoidance algorithms using Monte Carlo simulations.
6. To compare and evaluate the performance of the rules-based and path planning
based algorithms in terms of metrics such as the collision avoidance minimum time to
collision, the minimum separation distance for rule-based algorithm. Furthermore,
to introduce performance metrics for path planning based algorithm such as the
Stellenbosch University https://scholar.sun.ac.za
CHAPTER 1. INTRODUCTION 3
optimality of the solutions in terms of nominal altitude deviation costs, the path
replanning rate, and the conflict resolution time.
6. A simulation environment will be created that simulates the vehicles, the terrain,
the communication interface, and the cooperative collision avoidance algorithms.
8. The illustrative simulation results will be analysed to investigate and compare the
qualitative behaviour of the rules-based and path planning based collision avoidance
algorithms.
10. The Monte Carlo simulation results will be analysed to evaluate and compare the
quantitative performance of the rules-based and path planning based collision avoid-
ance algorithms.
CHAPTER 1. INTRODUCTION 4
• Optimisation is the process of determining the best sequence of control actions and
the resulting best state trajectory that minimises some cost function or maximises
some utility function. For the collision avoidance problem, we wish to minimise the
deviations of the UAVs from their original flight plans, as well as the control effort
of the collision avoidance actions.
CHAPTER 1. INTRODUCTION 5
involved in the conflict scenario considers itself to be the host aircraft and all other air-
craft to be the intruder aircraft. Each aircraft determines the position of other aircraft
by interrogating their transponder units. Possible resolution actions for the host aircraft
are "maintain level flight", "climb", "descend", "steep climb" and "steep descend". The
TCAS unit applies a pre-defined set of collision avoidance rules to determine the instan-
taneous avoidance action for the host aircraft as a function of the instantaneous relative
positions of the intruder aircraft. TCAS can resolve conflicts scenarios involving up to 17
aircraft simultaneously [9].
EGPWS is a rules-based ground collision avoidance system that uses only vertical ma-
noeuvres to avoid aircraft collisions with terrain. The original GPWS (Ground Proximity
Warning System) used the aircraft’s altitude and a database of man-made structures and
natural terrain to warn the pilot if the aircraft is too near to the ground [10][4]. However,
since GPWS only considered the terrain under the aircraft, it could not warn the pilot of
future collisions resulting from steep increases in the altitude of the terrain. EGPWS im-
proves on GPWS by using the aircraft’s GPS position to predict future changes in terrain.
It should be noted that TCAS, EGWPS, and ADS-B are separate and decoupled
systems. Aircraft-to-aircraft avoidance, terrain avoidance, and communication of intent
are therefore not currently integrated on collision avoidance systems for manned aircraft
[11].
CHAPTER 1. INTRODUCTION 6
Figure 1.1: Conflict detection and resolution framework proposed by Van Daalen [5]
The Modelling module may implement any suitable models for the vehicle, environ-
ment, and dynamics obstacles. The Conflict Detection module may implement any suit-
able conflict detection algorithm, and the Conflict Resolution module may implement any
suitable path planning algorithm. The path planning algorithm may attempt to find only
a feasible path, or may attempt to find the optimal path that minimises some cost function.
Van Daalen implemented a conflict detection algorithm based on probability flow for
the Conflict Detection module, and implemented a kinodynamic sampling-based path
planning algorithm for his Conflict Resolution module. The sampling-based path plan-
ning together with the probability flow conflict detection produced a conflict detection
Stellenbosch University https://scholar.sun.ac.za
CHAPTER 1. INTRODUCTION 7
and resolution solution that is suitable for "cluttered, uncertain, and dynamic" environ-
ments.
The advantages of Van Daalen’s framework is that it separates the conflict detec-
tion function and the conflict resolution function, whilst using modular components for
modelling, conflict detection, and conflict resolution so that different algorithms can be
implemented and evaluated.
Our proposed "path planning based cooperative collision avoidance" solution will ex-
tend Van Daalen’s framework to perform cooperative path planning for unmanned aerial
vehicles in multi-aircraft conflict scenarios. (Our solution will therefore be implemented
in the components of Figure 1.1 highlighted in red.)
CHAPTER 1. INTRODUCTION 8
Figure 1.2: System architecture for Cooperative Path Planning of multiple UAVs [6]
CHAPTER 1. INTRODUCTION 9
Figure 1.3: TCAS conflict resolution policy with vertical distance (y-axis) and time-to-
collision (x-axis) from [12]
Five possible collision avoidance actions are available, namely "maintain level flight",
"climb", "descend", "steep climb" and "steep descend". If the intruder aircraft is out-
side the collision avoidance region, then the action for the host aircraft is "maintain level
flight". If the intruder aircraft is inside the collision avoidance region, but still far enough
away, then the avoidance action for the host aircraft is either "climb" or "dive", depending
on whether the intruder aircraft is at a lower or higher altitude than the host aircraft. If
the intruder aircraft is inside the collision avoidance region and close to the host aircraft,
then the avoidance action is either "steep climb" or "steep dive". Once the intruder air-
craft has passed the host aircraft, the host aircraft returns to its original flight path.
In order to extend the rules-based solution from pairwise collision avoidance to multi-
aircraft, two methods for combining the pairwise rules-based collision avoidance actions
Stellenbosch University https://scholar.sun.ac.za
CHAPTER 1. INTRODUCTION 10
are proposed, namely Resolution Action Superposition (RAS) and pairwise Closest-Intruder-
First (CIF). The RAS approach first determines the individual pairwise collision avoidance
actions for the host aircraft with respect to each individual intruder aircraft, and then
combines the individual pairwise collision avoidance actions into a single multi-aircraft
collision avoidance action. The CIF approach only determines and executes the pairwise
collision avoidance action with respect to the closest intruder aircraft (smallest time to
collision).
The architecture of the path planning based cooperative collision avoidance solution
is shown in Figure 1.4. The first layer contains the Communication Hub that stores and
distributes the published collision avoidance paths for all of the cooperative aircraft. The
Communication Hub also stores the priority order for all of the UAVs and facilitates the
token passing. The second layer contains the cooperative search-based path planning
algorithm. The cooperative path planner receives the original flight paths of all the
aircraft, their initial states when the conflict avoidance is triggered, and their priority
order. The path planner then sequentially plans the new collision avoidance paths for all
of the aircraft and stores them in the Communication Hub. The new collision avoidance
flight paths are stored in the Communication Hub. The third layer contains the Aircraft
Controllers that control the individual aircraft. Each aircraft has its own individual
altitude controller. When the aircraft is in normal flight mode, the altitude controller
controls the aircraft to follow the original flight path; when the aircraft is in collision
avoidance mode, the altitude controller controls the aircraft to execute the vertical collision
avoidance actions planned by the cooperative path planner. The fourth layer contains the
original flight paths that were planned for normal flight.
Stellenbosch University https://scholar.sun.ac.za
CHAPTER 1. INTRODUCTION 11
Figure 1.4: Proposed high level view of a Token Allocation communication framework for
a Cooperative Path Planning of Multiple UAVs
CHAPTER 1. INTRODUCTION 12
Chapter 2
Literature Review
This chapter presents a literature review of previous research on aircraft collision avoid-
ance. The literature review covers terminology and definitions, the state of the art of
existing collision avoidance systems for manned aircraft, proposed collision avoidance sys-
tems for unmanned aircraft, and related research on cooperative path planning algorithms.
In Section 2.1 we will study different stages of Conflict Modelling (from a survey [4]) for
conflict detection and a resolution process known as States Propagation and Conflict Met-
rics. Thereafter, in Section 2.2 we shall consider the existing collision avoidance systems
such as TCAS and GPWS for manned aircraft. Afterwards, an unmanned aircraft con-
flict formulation is discussed in Section 2.3. Then, several general planning approaches
to collision avoidance for multiple unmanned aircraft are furthermore examined in Sec-
tion 2.4. These general planning approaches include configuration-space planning, search
space solutions, numerical Markovian decision making processes and sampling-based path
planning. Thereafter in Section 2.5, our discussion will look into multi-robot path plan-
ning approaches such as the principled negotiation, centralised planning, and decentralised
planning. Section 2.6 then provides an overview of performance metrics that are used in
literature to evaluate the performance of collision avoidance systems, both for manned
and unmanned aircraft. Finally, we discuss the key highlights of the literature study and
our subsequent research decisions.
13
Stellenbosch University https://scholar.sun.ac.za
aircraft resolution.
Figure 2.1: Example conflict detection and resolution process modelling [4]
Each UAV has an abstract conflict zone with dimensions which define where other
aircraft are not allowed to enter. Communication networks therefore play an important
Stellenbosch University https://scholar.sun.ac.za
role in tracking the positions and velocities of all aircraft in the airspace which enables
each UAV to independently maintain the safe separation. The process of monitoring the
separation distance to detect whether an aircraft’s conflict zone has been violated is called
conflict detection and will be explored in detail in the next section. The self-separation
conflict zone for an aircraft is nominally defined in literature as shown in Figure 2.2 as a
cylindrical shape with a height of 2000 feet and a radius of 5 NM. However, other confict-
zone dimensions with different safety margins are used for aircraft at other altitude levels
[25] and different conflict-zone dimensions are also used in congested areas such as airport
environments where airborne collision avoidance systems are not activated [13]. For the
research performed for this thesis, we will adopt conflict- zone dimensions that are similar
to the one shown in Figure 2.2 for our design and simulations.
The simulation methods used for aircraft conflict prediction are shown in Figure 2.3.
There are three aircraft states projection techniques that are used to predict conflict with
multiple other intruder aircraft in the airspace. The state propagation technique enables
an aircraft to detect conflict with other aircraft forward in time, which is called conflict
prediction. The three states propagation techniques are the Nominal, Worst Case and
Probabilistic approaches [4]. Each of these methods uses a different level of modelling
complexity for the ownship and the intruder aircraft. Therefore, should uncertainty be
introduced into the aircraft state propagation, it will lead to additional complexity of
Stellenbosch University https://scholar.sun.ac.za
conflict prediction.
Figure 2.3: Existing trajectory propagation approach from survey by Kuchar and Yang
[4]
The Nominal dynamic states projection for aircraft is shown in Figure 2.3(a). The
Nominal trajectory projection approach assumes that there is no uncertainty in the state
propagation of the host aircraft or the intruder aircraft. Hence, conflict prediction using
the nominal trajectory approach is less computationally expensive to implement. The
Worst-case approach as shown in Figure 2.3(b) assumes that both the host aircraft and
the intruder aircraft are equally likely to perform all possible manoeuvres within their
dynamic constraints and times. The result of the Worst-case states projection, as shown
in Figure 2.3(b), is a "flyable envelope" of all possible manoeuvres within the simulation
time horizon, which is then used for conflict prediction. Hence, the Worst-case state
projection is more computationally expensive compared to the simple nominal approach
because the method has to cover a larger state-space for conflict detection.
Both the Nominal and Worst-case states propagation for conflict detection do not make
uncertainty assumptions regarding the states propagation of the host aircraft. Hence, the
Probabilistic approach as shown in Figure 2.3(c) assumes that there is some uncertainty in
the state propagation [13]. The "Probabilistic Host" approach combines aspects of both of
the Nominal and Worst-Case approaches into the state propagation while considering the
uncertainty. The probabilistic approach assumes that the actual host aircraft trajectory
follows the nominal trajectory, but with an uncertainty described with a known probability
distribution function. The probabilistic approach therefore calculates the probability of
the conflict, given the nominal flight plan and the uncertainty in the state propagation.
For our research, we will use the nominal state propagation approach, with the assumption
that the conflict zone already contains sufficient margin for safety to accommodate the
uncertainty in the state propagation.
Stellenbosch University https://scholar.sun.ac.za
Aircraft conflict resolutions are dynamic in nature due to the fact that conflict de-
tection processes dynamically simulate the states. Conflict resolution for more than two
aircraft require coordination and multi-objective trajectory planning. Therefore, pre-
dicted conflicts involving multiple aircraft can either be resolved as a strategic long-term
or a tactical short-term problem [4]. The strategic long-term solution takes longer to com-
pute and the state propagation is subject to uncertainty as flight plans are estimated as
shown in Figure 2.3. Hence, either the Worst-Case or the Probabilistic state propagation
approaches should be used to perform conflict prediction when strategic conflict resolu-
tion is performed for multiple aircraft. On the other hand, the Nominal state propagation
approach should be used to perform conflict prediction when short-term tactical conflict
resolution is performed, since it takes a shorter time to compute and the state propagation
contains less uncertainty. Two approaches to conflict resolution for multiple aircraft have
been proposed in literature, namely pairwise resolution and global resolution. These two
approaches are illustrated in Figure 2.4. In the following subsection we will elaborate on
the fundamental difference between the two approaches in terms of computational com-
plexity.
The pairwise approach is less computationally intensive, and sub-optimal solutions for
multi-aircraft conflict scenarios can be generated relatively quickly. However, pairwise
solutions can be limiting or short-sighted for multi-aircraft conflict resolution. Therefore,
multiple pairwise solutions have to be combined to find a global solution and checks must
be performed to determine whether new conflicts were introduced [4].
Stellenbosch University https://scholar.sun.ac.za
Figure 2.4: Pairwise approach in comparison to global approach for collision avoidance
resolution adopted from Kuchar and Yang’s survey [4].
The limitation of the global solution approach is that it has to take all of the aircraft
into account when resolving the conflict, and it therefore takes much longer to execute
[12].
borne collision avoidance in which the Free-Flight concept is used and both manned and
unmanned aircraft can operate together in airspace.
Secondary surveillance is a radar system that not only detects and measures the po-
sition of aircraft, such as bearing and distance, but also requests additional information
from the aircraft itself, such as its identity and altitude. Unlike primary radar surveillance,
secondary surveillance enables coordination between aircraft and flight ground stations
where a broadcast communication network shares the navigation data of all the aircraft
in the airspace. TCAS is one of the systems which introduced the aircraft state broadcast
mechanism for conflict detection and resolution between large aircraft. Therefore, we shall
discuss TCAS conflict avoidance as one good example of systems based on a bi-direction
Mode-S communication secondary surveillance device [3]. This is due to the fact that
Mode-S transponders can handle coordination between one or more aircraft.
The basic functionality of the GPWS is to detect the altitude level of the aircraft above
the terrain using an onboard radio altimeter. The Honeywell company later introduced
an improved system called the Enhanced Ground Proximity Warning System (EGPWS)
[10]. EGPWS improved on GPWS by including a GPS database of terrain obstacles.
However, EGPWS only detects terrain and does not detect other aircraft within range.
Hence, GPWS and EGPWS are only useful for terrain awareness and for alerting the pilot
to avoid collisions with terrain obstacles. EGPWS provides the following functions for
terrain collision avoidance [10]:
• Forward Looking Terrain Avoidance (FLTA) is a function which looks ahead of time
below the aircraft’s lateral and vertical flight path to provides suitable alerts if a
potential controlled flight into terrain (CFIT) threat exists.
• Descent Alert (DA) uses the aircraft’s current position and flight path information
as determined from a suitable navigation source and airport database to determine
if the aircraft is hazardously below the normal approach path for the nearest runway
(typically with a flight path angle of 3 degrees) as defined by the alerting algorithm.
• A class of equipment which provides indication of imminent contact with the ground
under certain conditions; excessive rates of descent, excessive closure rate to terrain,
negative climb rate or altitude loss after take-off, flight into terrain when not in
landing configuration and voice call-out "Five Hundred" when the aircraft descends
to 500 feet above the nearest runway elevation.
The interrogation mechanism used by TCAS is for interrogation between aircraft which
is useful for determining the relative range, and altitude every second. Because the host
aircraft receives intruder aircraft surveillance data each second, TCAS is able to numer-
ically derive other useful dynamic data including the range, relative closure rate, and
relative altitude rate. The derived dynamic parameters are used to compute an impor-
tant concept to TCAS, namely the time to collision, or tau. Time to collision (τ ) is an
important variable used by TCAS for conflict prediction. In the following sections, we
will discuss how TCAS was developed and how it functions in more detail.
aircraft that is equipped with a Mode-S transponder can interrogate other TCAS equipped
intruder aircraft (acting as signal interrogation receiver). The interrogation is transmitted
at a frequency of 1090 MHz, and the reply is received at a frequency of 1030 MHz [19].
In addition other aircraft which are equipped with an ordinary transponder but without
on-board TCAS can also be interrogated. However, all aircraft with Mode-S transpon-
ders receive conflict resolution advisories at a frequency of 1030 MHz and send replies at
a frequency of 1090 MHz [19]. The coordination scheme used by TCAS is shown in Figure
2.5.
The conflict resolution coordination scheme enables TCAS to select a single aircraft
(with the lowest transponder number) to be nominated as the host to initiate intruder
interrogations [8]. Using the concept of host aircraft nomination, TCAS will be able to
coordinate complementary conflict resolution actions. TCAS therefore performs interro-
gation and coordination each second to issue conflict resolution advisories that will ensure
that each aircraft in the predicted conflict arrives at a safe separation state.
Figure 2.6: TCAS Conflict Traffic Alert and Resolutions Alert Regions for two aircraft
historical design limitations because it only uses vertical manoeuvres to avoid collision,
and does not use horizontal manoeuvres such as heading or speed adjustments. The
resolution advisory approach used by TCAS is similar to other reactive short-term collision
avoidance approaches discussed in a survey by Kuchar and Yang [4]. Ultimately, TCAS
operates by issuing instantaneous climb rate / descent rate commands based on the current
time to collision and relative altitude separation of the host and intruder aircraft, with
the aim of maximising the vertical separation distance at the Closest Point of Approach
(CPA) [3].
Figure 2.7: Integrated airspace collision avoidance systems for unmanned and manned
aircraft systems adopted from [10]
The literature on NextGen technology towards the integration of both manned and
unmanned aircraft covers the digitalization of the current widely deployed TCAS system.
In 2008 a proposal to replace TCAS with the Airborne Collision Avoidance System-X
(ACAS-X) for manned aircraft was made [18]. The approach proposed by NextGen is
to equip UAVs with secondary surveillance technology (See and Avoid) to enable them
to communicate and select trajectories freely without the control of ATC. NextGen re-
lies on cooperative technologies such as the ADS-B communication system for accurate
surveillance data to make decisions; these we shall discuss in the next Section 2.2.4.1 [3].
capable of broadcasting position data which is immediately made available to other air-
craft. The broadcasting is useful to other systems such as the ACAS-X, because such a
system will be able to propagate a probabilistic state model from sensor data [3].
Figure 2.8: ADS-B Communication system for NextGen systems from [13]
There are a few functionality benefits when using ADS-B for conflict surveillance. Ac-
cording to the ADS-B design objectives, communication sensors benefits civilian airspace
Air Traffic Control functions as follows:
• ABS-B-In and ADS-B-Out in each aircraft will be capable of providing accurate and
long range GPS positioning suitable for conflict detection and resolution services.
• Both horizontal and vertical safe separation with improved safety to manage large
traffic and aircraft fleet will be provided.
The state estimation block uses the sensor measurements, a probabilistic dynamic
model of the aircraft, and a probabilistic sensor models. The state estimation used by
TCAS utilizes nominal state propagation, and is therefore limited compared to the proba-
bilistic state estimation used by ACAS-X [3]. The state distribution block passes the state
information at the current and previous time steps to the resolution advisory block. The
resolution advisory block uses the state information as inputs into an optimsed lookup
table to determine the optimal resolution advisories. (The lookup table is generated
off-line using the dynamic programming optimisation algorithm.) The optimisation ob-
jectives range from minimisation of false alerts, minimisation of reversal of advisories by
the system to maximisation of safety.
Literature thus far has considered two main conflict sensor technologies suitable for
unmanned aircraft, Electro-Optical and Passive Radar [29]. The measurements obtained
from the two sensors are for non-cooperative conflict resolution and each has limitations in
conflict detection alert accuracy. ACAS-X assumes a probabilistic state distribution of the
aircraft states to address the sensor model uncertainty introduced by the measurement or
process stages [3]. Therefore, the state estimation makes use of aircraft dynamic modelling
and sensor model information to better estimate the states.
The general Velocity Obstacle (VO) technique proposed by Wilkie, Berg and Manocha
[31], considers both a geometric and dynamic approach between two agents in motion.
VO computes a set of all the velocity values for each agent that leads to a conflict. The
algorithm creates a dynamic disk shape that represents the conflict region around the air-
craft or its sensing agent. Furthermore, it is expected that the agent will be surrounded
with both static and dynamic obstacles. Therefore, the dynamic state variables (position,
velocity, and time) of an agent A is used to describe a conflict zone defined by the velocity
field VA|B ⊆ V. This can also be interpreted by the agent as a geometric conflict region
between two agents A and B as defined in [31], shown in Figure 2.11, and outlined by
Equation 2.2.
The two agents which are shown in Figure 2.11 have their own radius distance rA and
rB respectively that they use for conflict detection in their environment. Therefore, the
geometric abstract region B is a relative distance disk region located at PB − PA which is
likely to lead to a collision with aircraft B within time horizon t .
B = {v | d(PB − PA , rA + rB )} (2.3)
Their approach is known as Dynamic Window Approach (DWA) for dynamic obstacle
environments. DWA only considers the search space of robot velocity commands which
can be executed over a short time of 0.25 seconds to "avoid the enormous complexity of
the general motion planning problem" [32]. Collision avoidance is achieved through the
optimization of an objective function J(·) using the admissible velocity commands v, ω
and the trajectories that are reachable under the dynamic constraints of the planning
robot.
where A(v, ω) is a measure towards the goal location, B(v, ω) is the closest distance
penalty towards an obstacle and C(v, ω) is the forward velocity maximization towards the
goal.
Yasunki and Yoshiki developed a collision avoidance method for multiple autonomous
mobile agents that performs cooperative collision avoidance using reactive collision reso-
lution based on the foundations of the velocity obstacle technique [33]. Their cooperative
collision avoidance system makes an assumption that the agents have same geometric de-
scription and that they implement the the same conflict resolution algorithm. A modified
version of the Velocity Obstacle (VO) approach, called the Cooperative Velocity Obstacle
(CVO) approach, was introduced to allow implicit agent cooperation.
2.4.1 Overview
A hierarchical autonomous path planning framework for unmanned aircraft is shown in
Figure 2.12 [17]. The mission requirements tier defines a starting location, a finish loca-
tion, mission waypoints, threat regions, and restricted regions. The goalpoint planning
tier plans the path from the start to the finish via the mission waypoints without ignoring
the threat regions and the restricted region. The high-level trajectory planning tier mod-
ifies the path to avoid threat regions. The trajectory planning tier modifies the planned
path further to create flyable paths that adhere to the constraints of the vehicle dynamics.
Stellenbosch University https://scholar.sun.ac.za
Finally, the safety planning tier modifies the planned trajectory to avoid local traffic. The
following subsections will review different path planner design methods and path search
optimization approaches found in literature.
Figure 2.13: Path planning framework as defined in literature [6] and [36]
An informed search attaches a cost to each transition between the nodes of a data
structure tree, so that the costs of candidate paths can be determined and compared,
and a heuristic function is used to guide the search using domain knowledge of the search
problem. The heuristic function reduces the number of iterations taken to find the optimal
path by ensuring that the lowest cost paths are explored first. Pruning techniques may
also be used to reduce the size of the search tree without affecting the optimality of the
solution found [37]. The A-star algorithm is an example of an informed search algorithm
that is used to find optimal paths in a grid configuration space [38].
Stellenbosch University https://scholar.sun.ac.za
The application of MILP is suitable for high-level planning for the optimisation of
global objectives. Challenges to collision avoidance with a MILP formulation are compu-
tational time complexity and poor scalability, the limitations of linear constraint problems,
and static obstacles. A collision avoidance problem with MILP was largely successful in
the study by Richards [40]. The multi-objective optimal collision avoidance problem can
be written in the following general form :
N
X
minimize J(·) (2.5)
i=1
subject to Dij − dij ≥ 0 (2.6)
Umin ≤ ui ≤ Umax (2.7)
Where J is a cost function, dij is minimum separation distance Dij of pairwise UAVs,
Umin and Umax are minimum and maximum control effort ui .
A method to optimise the TCAS safety logic using a Markov Decision Process formula-
tion was proposed by Kochenderfer and Chryssanthacopoulos [41]. The logic optimization
discretize the aircraft states and the actions of an aircraft pilot to form a policy of dynamic
states transition through a closed-loop Markov Decision Process (MDP) model shown in
Figure 2.14. The MDP decisions are optimised using a numerical Dynamic Programming
(DP) algorithms as discussed in [42][26]. The MDP transition to future states depends
only on the current state, therefore discrete DP is used to optimize the MDP reward-cost
function such as vertical separation distance [43].
Stellenbosch University https://scholar.sun.ac.za
Figure 2.14: Markov Decision Process cycle for artificial intelligent agent environment
[28]
Conflict resolution using MDP with Dynamic Programming discretizes the continuous
states dynamics to produce a table of decision making actions for the UAV [43]. A similar
example is the estimation of continuous states dynamics with once a second interrogations
in TCAS. The following states and actions are typically used for unmanned aircraft conflict
detection and resolution [44]:
The optimisation objective for the MDP formulation of the collision avoidance prob-
lem is the maximization of the performance metrics for the collision avoidance logic. MDP
problem is solved using Dynamic Programming(DP). DP is a backpropagation-based com-
putation technique which creates a discrete numerical look-up table of actions for given
states with the associated cost. One of the known evaluation technique for the DP policy
is Value Iteration [41], this approach is useful since aircraft states-action pair are made up
of millions values which are iterated before algorithm convergence [28]. However, multiple
agent dynamic programming is inefficient for multi-aircraft conflict avoidance.
The sampling-based PRM algorithm uses a line of sight local planner to connect a
roadmap of random configurations. The random configurations are states of a vehicle
in the C-space. There are two phases of the PRM algorithm, namely a learning phase
and a query phase. During the learning phase, collision-free random samples are added
into the roadmap, which is an undirected graph. Thereafter, any node in the graph is
connected to the nearest configurations by a local planning metric which may also result
in a disconnected graph [46]. The objective is to sample configurations from the C-space
until it is possible to query graph G for a path between two configurations. The results
of the PRM algorithm are shown in Figure 2.16.
The sampling-based Randomly Rapid Trees (RRT) algorithm uses iterative random
sampling of the configuration space to build a tree structure [48]. This approach is suitable
for generating a connected tree for systems with nonlinear dynamics in high-dimensional
spaces [? ]. An RRT tree has a root configuration which iteratively expands the C-Space
with the help of a conflict detection algorithm. The tree data structure T is kept con-
nected by a control law which generates inputs for new configurations from the existing
nodes in the tree. Following that, a control law input produced by a RRT planner should
meet the differential constraints of non-holonomic robots [47]. Therefore, the search of
the RRT tree is limited to a single query from an initial root configuration to a goal
configuration as shown in Figure 2.17.
Stellenbosch University https://scholar.sun.ac.za
Figure 2.17: RRT search tree expansion for path planning [49]
The sampling based RRT-star [50] and kinodynamic planning [51] are a few of the re-
cent sampling-based algorithms which include the system dynamics of a robot for optimal
planning. The RRT-star algorithm guarantees asymptotic optimality. The kinodynamic
planning is suitable for problems with differential constraints. Kindel et al. [35] applied
kinodynamic planning for real-time collision avoidance with dynamic obstacles.
Figure 2.18: Voltage potential field method for collision avoidance [53]
The circle radius of each path is constrained by the vehicle being modelled. It is
assumed that the vehicle can only move forward with a constant velocity v, and can only
make turns with a constant turning radius rmin [54]. The vehicles states over time are
determined based on the forward velocity and the turning radius r.
The conflict prediction error for pairs of aircraft is performed using a combination of
aircraft states (position and velocity), resulting in normally distributed error ellipses or
confidence ellipses at an estimated point of minimum separation [61]. A joint covariance
position error is obtained from normally distributed combined modelling of a pair of air-
craft. As shown in Figure 2.20, a reference aircraft R is chosen and its conflict zone is
modelled to have no uncertainty, while the conflict zone of the intruder aircraft is modelled
to have the combined uncertainty of both the reference aircraft and the intruder aircraft
[61].
Figure 2.20: Pair of aircraft, "Stochastic" intruder and "Reference" host [5]
Figure 2.21: Probabilistic approach for conflict detection and resolution for autonomous
vehicle [5]
"Monte Carlo does not have an explicit knowledge of the geometric conflict
model of an aircraft, but the aerodynamic dynamics are used for the simulation
of trajectory in which probability of a aircraft is the ratio of the conflict samples
to the total number of simulations" from [13]
”Agents only propose options that satisfy their constraints and have in-
creased utility” - Principled Negotiation [16]
Figure 2.23: Path planning where priority planning between two robots is applicable for
conflict resolution
Stellenbosch University https://scholar.sun.ac.za
Coupled path planning uses the combined configuration space of all the robots, which
is the union of the configuration spaces of the individual robots. However, searching for
a path in a combined configuration space has a computational complexity that increases
exponentially with the number of individual configuration spaces. Therefore, searching
for conflict-free trajectories for aircraft using coupled path planning does not scale well
according to a study by Ong and Kochenderfer [28].
Decoupled path planning decentralises the search by performing single robot path
planning sequentially. Each robot performs its own path planning using its individual
configuraration space, and then becomes a dynamic obstacle for the next robot. This
reduces planning time as compared to the coupled planning as shown in Figure 2.23.
However, coordination between the host aircraft and the intruder aircraft is still necessary
because the execution time of the planning algorithm and the completeness of the solution
still depends on the order of the sequential planning. The individual path planning for each
robot is performed using planning algorithms such as sampling-based planning or potential
field based planning. Thereafter, the order of the sequential planning is determined by a
function known as prioritised planning or token allocation [65].
Zt1
Jdev = f (hi )dt (2.10)
t0
In the second part of our background study, we reviewed general path planning algo-
rithms, multi-robot path planning, and performance metrics for conflict prediction and
resolution systems. The review of general path planning algorithms covered configura-
tion space planning, search-based planning, numerical optimisation approaches, sampling-
based planning, and artificial potential field approaches. Path planning under differential
constraints, and conflict prediction under uncertainty were also considered. The review
of multi-robot path planning covered the principled negotation approach, as well as cen-
tralised and decoupled planning. Token passing was identified as a mechanism to coor-
dinate sequential decoupled planning for multi-aircraft conflict resolution. The conflict
resolution performance metrics found in literature included the number of near mid-air
collisions, the probability of near mid-air collisions, the number of false alerts, the number
of resolution advisory reversals, and the total deviation of the vehicles from their nominal
paths.
For our research project, we shall therefore develop two types of collision avoidance
algorithms for unmanned aerial vehicles: a rules-based algorithm and a cooperative path
planning based algorithm. The rules-based algorithm will be modelled after the TCAS
system that is used for manned aircraft; the path planning based system will use decoupled
Stellenbosch University https://scholar.sun.ac.za
multi-robot path planning. and will use token passing to coordinate the sequential path
planning for individual UAVs. The rules-based and path planning based algorithms will
be evaluated in simulation using performance metrics similar to those found in literature.
Stellenbosch University https://scholar.sun.ac.za
Chapter 3
This chapter presents the conceptualisation and modelling of a multi-aircraft system which
serves as the basis for the development of our cooperative collision avoidance solutions. In
Section 3.1, a conceptualisation of the system of multiple unmanned aerial vehicles (UAVs)
and static terrain will be summarised. In the section that follows, Section 3.2, we look into
the UAV dynamic model which provides an overview of the guidance autopilot system that
performs the flight control of a UAV for dynamic modelling of point mass translational
motion of the flight control system in three-dimensional space. Additionally, in the same
section, a set of three-dimensional equations of motion for the UAV is reduced to equation
of two-dimensional space. The two-dimensional of translational motion are thereafter used
for state propagation and conflict prediction. In Section 3.3, the definition of conflict is
considered, including the modelling of a safe exclusion zone to detect conflict with other
UAVs, and a minimum altitude to prevent conflict with terrain. In Section 3.4, pairwise
conflict detection and resolution using an altitude flight guidance system is conceptualised.
Finally, in Section 3.5, a multi-aircraft collision prediction and avoidance framework is
conceptualised to provide the framework for the rules-based and path planning based
collision avoidance algorithms that will be developed in Chapter 4 and 5, respectively.
45
Stellenbosch University https://scholar.sun.ac.za
The system contains a number of UAVs travelling along the same route between two
destinations, and flying over static terrain. We consider a window along the route where
all UAVs are in the cruise phase of their flight. The UAVs are therefore flying at their
individual cruise speeds and at their individually assigned cruise altitudes. It is assumed
that a finite number of altitude "lanes" are available in the airspace, and that different
UAVs have been assigned different cruise altitudes by air traffic control. The UAVs are
travelling in both directions along the route, and an individual UAV may appear at the
left border of the window and travel from left to right, or may appear at the right border
of the window and travel from right to left. The UAVs must fly at their assigned cruise
altitude, but must also avoid collisions with one another, and collisions with the terrain.
It is assumed that cooperative UAVs determine their own states, and communicate
their current states and intents to one another. The state of a UAV at a given time instant
is defined by its position, altitude, speed, heading, and flight path angle (or climb rate)
at that time instant. The intent of a UAV is represented by its planned flight path or
its planned actions. Each UAV determines its own state from a combination of sensors,
including GPS sensors, barometric pressure sensors, inertial sensors, and magnetometers.
The UAVs communicate their states to one another and to ground control stations using
Mode S Transponders, and communicate their intent (planned flight path or planned ac-
tions) to one another through ADS-B.
Stellenbosch University https://scholar.sun.ac.za
3.2.1 Overview
The models of the UAV’s control loops are implemented at different levels of control for
the waypoints navigation, path planning and control surfaces command. As shown in
Figure 3.2, the outer control loop is for the lower frequency control of guidance rules at
the higher level of the UAV. The guidance system receives a higher level path plan and
then issues acceleration commands to the lower level autopilot of the UAV. These guid-
ance control command inputs of a UAV are designed to meet formulated path plans [37].
Figure 3.2: Guidance and Flight Control Architecture for a UAV as discussed in [36]
The flight control system is the inner-loop control system that issues acceleration com-
mands to the UAV actuators (control surfaces). The guidance system is executed at a
Stellenbosch University https://scholar.sun.ac.za
lower frequency than the autopilot commands. The control surfaces command the UAV
actuators with acceleration inputs from the guidance system [36].
The point mass kinematics provides the UAV guidance system with the current ve-
locity vector in the inertial axis. The UAV will then generate acceleration commands for
the lower level autopilot controller [36]. The kinetics are differential equations that are
integrated in the lateral and longitudinal directions in the body-axis system. Therefore,
the integrated acceleration vectors produce the velocity vector of the UAV in an inertial
axis system (Newton’s Second Law).
The guidance system controls the UAV’s trajectory to follow a planned flight. The
planned flight path may be separated into a planned ground track trajectory and a planned
altitude trajectory. The guidance system receives the planned flight path as a reference
signal, and the measured horizontal position and altitude of the UAV as feedback signals,
and then outputs speed, heading, and flight path angle (or climb rate) references to the
flight control system. The guidance system may control the vertical motion of the UAV
either in climb rate control mode, or in altitude control mode. Altitude control mode
is typically used in the cruise flight phase to maintain a reference altitude; climb rate
control mode is typically used to control the UAV’s climb rate directly during take-off
and landing, or during collision avoidance manoeuvres.
T
(3.1)
xi (t) = Ni (t) E( t) Di (t) V i (t) Φi (t) γi (t)
where Ni , Ei and hi are the north, east and altitude positions and V i , Φi and γi are
the velocity magnitude, heading, and flight path angles of the i’th UAV. Therefore, the
equations of motion for the i’th UAV in three dimensional space are given by:
Furthermore, the UAVs are assumed to be of fixed-wing type, which means that the
vehicle must maintain a minimum speed, otherwise it will stall.
The altitude of the UAV may also be controlled by an altitude controller, given by the
following control law equations:
1
ḣi (t) = − (hi,ref (t) − hi (t)) (3.9)
τh
ḣi,ref (t)
γi (t) = arcsin (3.10)
V i (t)
where hiref is the reference altitude, ḣiref is the commanded climb rate, and τh is the time
constant of the altitude controller.
Going forward, we will make several assumptions to simplify the UAV dynamic model.
The first assumption is that the UAVs are in cruise flight, and therefore a constant cruise
speed V i,ref and cruise altitude hi,ref are maintained. In addition we will assume that
the flight path angle controller dynamics may be abstracted away through time scale
separation, and that we may assume that the flight path angle γi changes instantaneously
from the perspective of the point mass translational motion. The following simplifications
are made because the time constant of the flight path angle controller is an order of
magnitude smaller than the time constant of the altitude controller, and also an order of
magnitude smaller than the time scales over which the collision avoidance system operates.
The flight controller dynamics therefore reduces to the following:
The planned flight path may be expressed as the UAV’s future horizontal position x(t)
and altitude h(t) as a function of time t. Alternatively, it may be expressed more concisely
as a sequence of position and altitude waypoints x1 , x2 , . . . , xn , at given time instants
t1 , t2 , . . . , tn . Similarly, the planned actions may be expressed as the UAV’s future climb
rate command hiref (t) as a function of time t, or more concisely as a sequence of climb
rate actions u1 , u2 , . . . , un , at given time instants t1 , t2 , . . . , tn . Therefore for the purpose
of collision prediction and collision avoidance, we will assume that the time instants are
equally spaced and separated by a fixed sampling period ∆t which is useful for commu-
nicating intent in a concise way.
Since the horizontal velocity of the UAV is kept constant ẋ ∈ {ẋmin , ẋmax } as shown in
Figure 3.4, our approach in this thesis will only focus on the inputs sampled from a finite
set of climb rates that the UAV can execute. The action space U is therefore predefined
by Equation 3.16. The goal is to use these inputs to sample state configurations q ∈ Cf ree
for a UAV at different altitudes, where the climb and descend rate inputs are the TCAS
conflict advisories U ⊆ R5 .
Given the fixed-wing aircraft model, the initial state, and a sequence of altitude rate
actions which satisfy Equation 3.16, the UAV state can be propagated to perform colli-
sion prediction with future states of other UAVs. The state propagation can be performed
using either flight path angle γ commands or altitude rate ḣ commands to the UAV flight
control system. The altitude controller can also command either flight path angles or
altitude rates to control the UAV altitude. Finally, a sequence of flight path angle or
altitude rate commands can be provided at fixed time intervals ∆t to make the UAV
fly a desired flight path. In Chapter 5, we will present a path planning based collision
avoidance algorithm that generates altitude rates to steer the aircraft to follow a desired
collision avoidance flight path.
2500 ft/min
u1
u2 1500 ft/min
u0 = 0 ft/min (3.16)
U =
u3 −1500 ft/min
u4 −2500 ft/min
hk − hk−1
Hdot = { ḣk ∈ U | ḣk = } (3.17)
∆t
Stellenbosch University https://scholar.sun.ac.za
Figure 3.5: Conflict separation region of an unmanned aircraft (not drawn to scale)
where xj (t) is the position of the intruder UAV, xi (t) is the position of the host UAV,
and CUAV is the UAV exclusion zone around the host UAV.
Stellenbosch University https://scholar.sun.ac.za
Figure 3.6: Two aircraft conflict scenario with a minimum separation distance for conflict
detection
A conflict exists between the host UAV and the terrain if the position of the UAV is
below the minimum operating altitude, as shown in Figure 3.7. Conflict with terrain may
be expressed mathematically as
hi (t) ≤ hmin (3.20)
where hi is the altitude of the host UAV, and hmin is the minimum allowable altitude to
ensure terrain avoidance.
future collisions between UAVs, as well as collisions with terrain and dynamic obstacles.
The goal of collision avoidance is to execute avoidance actions to avoid collisions between
UAVs, as wells as collisions with terrain and dynamic obstacles, while also obeying the
differential constraints of the individual UAVs.
The collision prediction and avoidance framework consists of three modules, a mod-
elling module, a collision prediction module, and a collision avoidance module, that work
together to perform collision avoidance. The collision prediction module executes con-
tinuously to predict future collisions within a short-term prediction horizon. If a future
collision is predicted, then the collision avoidance module is activated to execute colli-
sion avoidance actions. The collision prediction and collision avoidance modules both use
the modelling module to propagate the UAVs and dynamic obstacles forward in time, to
determine future collisions between UAVs, and future
Figure 3.8: Stages of the Pairwise Conflict Detection and Resolution for UAVs
The purpose of the conflict prediction function is to predict if the intruder UAV will
enter the Conflict Zone of the host UAV, and if so, to estimate at what point in time
the conflict will occur. TCAS performs collision prediction by using the instantaneous
positions and velocities of the host and intruder aircraft to estimate the time-to-closest-
approach τij and the miss distance r. The miss distance is used to determine if a Near
Mid-Air Collision is predicted, and the time-to-closest approach is used to determine when
the predicted collision will occur.
Stellenbosch University https://scholar.sun.ac.za
Another approach to conflict prediction, is to propagate the position states of the host
UAV and the intruder UAV forward in time using their dynamic models, and to check at
each time step if the intruder UAV enters the Conflict Zone of the host UAV. Both UAVs
are propagated forward in time from their initial states using their intended flight paths
or intended actions. This approach to conflict detection will be used in our path planning
based conflict avoidance algorithm, and will be discussed in more detail in Chapter 5.
Figure 3.10: Flight Control for switching between Normal Flight mode and Collision
Avoidance mode
The objective of the altitude controller is to have the UAV continue to follow its
nominal altitude. UAVs will fly at different levels of constant altitudes when executing
long-term mission plans [61], therefore during Collision Avoidance mode the altitude con-
trol commands will be replaced with conflict resolution control inputs. In Normal Flight
mode, the altitude control law below is used to provide the altitude rate commands for a
UAV.
1
ḣi (t) = [hi,ref − hi (t)] (3.21)
τh
ḣi (t)
γi (t) = arcsin (3.22)
V i (t)
In Collision Avoidance mode, the altitude controller is disabled and the collision avoid-
ance system issues direct altitude rate commands to the flight control system. The colli-
sion avoidance actions assume that the aircraft is travelling horizontally at its cruise speed
V i,ref , and that it only adjusts its climb rate ḣi,ref . Following the example of TCAS (to
be discussed in Chapter 4), the available actions for each aircraft are chosen as "maintain
level flight", "climb", "dive", "steep climb", and "steep dive".
Z kT
∆hk = ḣ(t)dt (3.29)
(k−1)T
· t1 + ∆x = xra (3.36)
· t2 + ∆x = −xra (3.37)
Stellenbosch University https://scholar.sun.ac.za
The horizontal ranges and the horizontal rates which lead to UAV j overtaking i are
shown in Table 3.1.
Table 3.1: Conditions which leads to one UAV overtaking another UAV
0 · t + |xi − xj | = xra
xra − |xi − xj | (3.40)
t=
0
In case 3 there is a contradiction since there is no such t ∈ R for this to be true.
The following time and relative horizontal position between a pair of UAVs i and j are
shown in Figure 3.11 and 3.12. Figure 3.11 shows conflict beginning at t1 = 692.38s and
ending at t2 = 1307.6s with |ẋi − ẋj | = 5 feet/s. Figure 3.12 shows a conflict beginning
at t1 = 86.5s and ending at t2 = 163.45s with |ẋi − ẋj | = 40 feet/s. Both examples
illustrate the existence of times t1 and t2 where the potential conflict starts and ends,
with the conflict duration equal to t2 − t1 . Figure 3.13 illustrates a scenario where there
is no overtaking (and no conflict) because the two UAVs start with sufficient horizontal
separation and equal horizontal velocities.
Stellenbosch University https://scholar.sun.ac.za
Figure 3.11: Existence of conflict resolution for different horizontal rates at 5 feet/s
Figure 3.12: Existence of conflict resolution for different horizontal rates at 40 feet/s
Stellenbosch University https://scholar.sun.ac.za
Figure 3.13: No overtaking between UAVs as the two roots t1 = ∞ and t2 = ∞ does not
exist with |ẋi − ẋj | = 0 feet/s
The cooperative collision prediction and avoidance framework assumes that all cooper-
ative UAVs communicate their current state and intent to all other UAVs. The framework
assumes that that dynamic obstacles are tracked by ground stations using ground-based
radar, and that the ground stations communicate the states of the dynamic obstacles to
the UAVs. The host UAV exclusions zones, the minimum terrain avoidance altitude, and
the predicted states of the other cooperative UAVs and dynamics obstacles may therefore
be used both for cooperative collision prediction and for cooperative collision avoidance.
The cooperative collision prediction and avoidance system may predict the future
states of the cooperative UAVs based on their current states and communicated intent,
and may predict the future states of dynamic obstacles based on their current states,
but without knowledge of their intent. If a collision is predicted, then the UAVs also
coordinate their collision avoidance actions. The cooperative collision prediction and
avoidance framework will be realised using a rules-based approach in Chapter 4 and using
a path planning based approach in Chapter 5.
Stellenbosch University https://scholar.sun.ac.za
Figure 3.15: Three UAVs which shares intent information for conflict resolution near
terrain altitude
Stellenbosch University https://scholar.sun.ac.za
Chapter 4
In this chapter we present a tactical rules-based collision avoidance solution that is mod-
elled after the Traffic Collision Avoidance System (TCAS) that is used on commercial
passenger airliners. Our rules-based collision avoidance solution uses only vertical ma-
noeuvres (climb and descend) to avoid aircraft-to-aircraft collisions, as well as collisions
with terrain. We first provide the necessary background information on how TCAS op-
erates on manned aircraft, and then describe our rules-based collision avoidance solution
which is applied to unmanned aircraft. Next, we describe how the rules-based solu-
tion performs collision prediction, thereafter we provide simulations of pairwise collision
avoidance, and finally simulate multi-aircraft collision avoidance. Two methods for com-
bining the pairwise rules-based conflict avoidance actions into multiple intruders conflict
resolution are proposed, namely Resolution Action Superposition (RAS) and pairwise
Closest-Intruder-First (CIF). Simulation results are presented to illustrate the operation
of the rules-based collision avoidance solution in both pairwise and multi-aircraft conflict
scenarios. The rules-based solution serves as the benchmark for the path planning based
solution that will be presented in Chapter 5.
68
Stellenbosch University https://scholar.sun.ac.za
TCAS defines a protected volume of airspace surrounding the host aircraft. The protected
volume given in Figure 4.1 is subdivided into the traffic advisory region and the resolu-
tion advisory region. If an intruder aircraft enters the traffic advisory region, then the
TCAS unit issues a traffic advisory to alert the pilot to the presence of intruder aircraft,
and to prepare the pilot for a potential resolution advisory. If an intruder aircraft enters
the resolution advisory region, then the TCAS unit issues a resolution advisory with a
collision avoidance action for the pilot to execute. TCAS uses only vertical manoeuvres
(climb and descend) to avoid aircraft to aircraft collisions. Traffic advisories are typically
issued when the time to collision is less than 40 seconds, and resolution advisories are
typically issued when the time to collision is less then 20 seconds.
Figure 4.1: TCAS pseudocode for conflict detection adopted from [3]
The conflict regions around the host aircraft in Figure 4.1 are the Traffic and Resolution
advisory region in which an intruder aircraft is detected as a potential collision. The Traffic
Advisory is the region where the system produces alerts. However, in the Resolution
Advisory layer, action manoeuvres are required. Conflict resolution advisories are issued
to an aircraft to maintain separation distance and time-to-collision for aircraft travelling
at different rates. The time-to-closest approach τ and range rates are computed each
second in the system. This we shall discuss in more detail in Section 4.2.1. Additionally,
the conflict detection and resolution are determined from the altitude sensitivity, as an
example in level 5 aircraft between 5000 feet to 10000 feet above ground level evaluate
conflict detection as follows from [19];
heading. The conflict prediction algorithm calculates the time to reach the closest point of
approach and the time to reach co-altitude with the intruder aircraft, and uses these val-
ues to issue traffic advisories and resolution advisories. The traffic advisory and resolution
advisory regions are defined in terms of the time to closest point of approach (range tau)
and time to co-altitude (vertical tau), in conjunction with a modified minimum distance
DMOD, and a fixed altitude threshold ZTHR to accommodate slow closure rates. The
thresholds range tau, vertical tau, DMOD and ZTHR are chosen to ensure a minimum
vertical separation ALIM at the point of closest approach. Therefore, TCAS uses the
time to closest point of approach rather than the distance to determine whether a traffic
advisory or a resolution advisory should be issued.
The full technical detail of the TCAS conflict prediction algorithm is described in the
TCSA II booklet [19]. The range tau is equal to the slant range divided by the closing
speed. The vertical tau is equal to the altitude separation divided by the vertical closing
speed. A traffic advisory or resolution advisory is only issued when both the range tau
and the vertical tau are less than the specified threshold values for the sensitivity level. A
problem with this simple definition of tau is that in encounters where the rate of closure
is very low, an intruder aircraft can come very close in range without crossing the range
tau. To provide protection in these types of encounters, a modified definition of range tau
is used. At larger ranges and higher closure rates these boundaries are essentially equal
to those defined by the basic tau concept. However, at close ranges and at slower closure
rates the modified tau boundaries converge to a non-zero range called DMOD. This modi-
fication allows TCAS to issue TAs and RAs at or before the fixed DMOD range threshold
in these slow-closure-rate encounters. There is a similar problem when the vertical closure
rate of the TCAS and the intruder aircraft is low, or when they are close but diverging in
altitude. To address that problem, TCAS uses a fixed altitude threshold, referred to as
ZTHR, in conjunction with the vertical tau, to determine whether a TA or an RA should
be issued. TCAS operates at different sensitivity levels, determined by the altitude of
the host aircraft. The thresholds for traffic advisories and resolution advisories, at the
different sensitivity levels, are shown in Table 4.1.
of how much time is left before the two UAVs have a near mid-air collision. According to
literature, we formally express τ as the time to closest distance, as a ratio of the pairwise
aircraft relative range r 0 to the closure rate value −ṙ 6= 0.
r
τ =− ∈R (4.1)
ṙ
The Equation 4.1 is the original TCAS time-to-collision (tau) parameter which was
later discovered to be limiting [19]. Consequently, a reviewed time-to-collision was then
proposed as part of the TCAS II design which introduces the horizontal separation thresh-
olds DMOD and altitude threshold ZTHR [19]. These improvements were proposed to
make the TCAS conflict detection and resolutions robust. Some of the major issues
addressed were as follows; low relative vertical rate ḣ, closure rate −ṙ and very close
undetected range r. The improved tau was called modified-tau τmod . Therefore, the
modified-tau (τmod ) design would issue alerts to aircraft at both horizontal threshold
DMOD and vertical threshold ZTHR, without considering the value of tau. Furthermore,
these two thresholds were added to a tau expression in Equation 4.2 [74]. The modelling
of the time-to-collision will be demonstrated in the next section.
(r − DMOD)2
τmod = − (4.2)
ṙ
Figure 4.2: TCAS conflict detection system in time and distance from [8]
1. τ > 0 and ṙ < 0 aircraft are increasingly getting closer to each other, r distance
reducing.
2. τ < 0 and ṙ > 0 aircraft are increasingly getting away from each other, r distance
increasing.
3. ||rmiss || ≤ rmin conflict detected using a minimum distance threshold rmin > 0 .
The conflict prediction rules can now be classified into six cases. Each of these clas-
sifications describe a different scenario or rules which an aircraft will encounter during
conflict. These rules are applicable to the rules-based conflict scenario of the time-to
collision method.
Stellenbosch University https://scholar.sun.ac.za
TCAS performs collision avoidance using only vertical manoeuvres (climb and de-
scend) to avoid aircraft to aircraft collisions. TCAS does not control the aircraft directly
but advises resolution actions for the human pilot to follow. If an intruder aircraft enters
the Resolution Advisory region of the host aircraft, then a conflict is detected, and the
TCAS unit advises a conflict resolution action for the human pilot to execute. The ob-
jective of the resolution advisory is to maximise the vertical separation between the host
aircraft and the intruder aircraft. In a pairwise collision avoidance scenario, the TCAS
unit of each aircraft chooses the resolution action based on the time to collision and the
relative altitude of the other aircraft, as shown in Figure 4.3. Possible resolution actions
for the host aircraft are "maintain level flight", "climb", "descend", "steep climb" and
"steep descend".
The climb rates for the TCAS advisories are summarised in Table 4.3. If the host
aircraft is at a higher altitude than the intruder aircraft, the resolution advisory for the
host aircraft is to climb. This is given that time-to-collision is longer. But when time to
collision is shorter a steep climb command is issued. In a scenario when the host aircraft
is at a lower altitude than the intruder aircraft, then the resolution advisory for the host
aircraft is to descend. This occurs when the time to collision is longer. Additionally, steep
descend altitude commands are issued for advisory when the time to collision is shorter,
this will continue until there is sufficient vertical separation. Finally, when either the host
or an intruder aircraft are below the minimum TCAS altitude, the resolution advisory for
the host aircraft is to maintain level flight.
Figure 4.3: Graphical description of TCAS host aircraft conflict resolution advisories
In section4.2.1, the conflict region for our rules-based approach is defined in terms of
a horizontal time to collision and a relative altitude separation. In Section 4.2.2 a set
of analytical rules of conflict detection with time-to-collision are formulated in a table
with common six cases of conflict configurations. The stages of flight for each UAV for
control is given as a state machine diagram showing two states of flight; Nominal Flight
and Collision Avoidance. Finally, a discretised Collision Avoidance control of a UAV
flight during conflict resolution of vertical manoeuvre profile are graphically illustrated
in Section 4.2.3. The method which determines the vertical direction and magnitudes of
Stellenbosch University https://scholar.sun.ac.za
Figure 4.4: Two aircraft on a collision path example (not drawn to scale)
The conflict region is defined by both the time to collision tau and the relative altitude
∆h. The time to collision tau is calculated with
−r
τ= (4.6)
ṙ
where r is the range from the host aircraft to the intruder aircraft, and ṙ is the range
rate. The range r is calculated with
p
r= ∆x2 + ∆y 2 (4.7)
with
∆x = xj − xi (4.8)
Stellenbosch University https://scholar.sun.ac.za
∆y = yj − yi (4.9)
where ∆x is the horizontal separation and Delta y is the vertical separation between the
host and the intruder. The range rate ṙ is calculated with
∆ẋ(xj − xi ) + ∆ẏ(yj − yi )
ṙ = (4.10)
r
with
∆h = yj − yi (4.13)
where yj is the altitude of the intruder, and yi is the altitude of the host. The range r is
always positive and cannot become negative. The range rate is negative when the host
aircraft and intruder aircraft are approaching each other, and the range rate is positive
when the two aircraft are receding from one another. The time to collision is positive
when the two aircraft are approaching each other, and is negative when the two aircraft
are receding from each other. The range, range rate, and time-to-collision versus time is
shown in Figures 4.5, 4.6, and 4.7 for an example scenario where two aircraft are flying
in opposite directions, but at different altitudes. The aircraft approach each other at
a constant horizontal separation rate, pass each other midway, and then continue along
their way.
In Figure 4.7 the time-to-collision function spikes when the relative range rate goes
through zero at t = 45 seconds when the two aircraft pass each other, and range is divided
by zero at the point of closest approach, leading to the large negative time to collision.
the altitude sensors of both aircraft will contain random sensor noise, which means that
even if they happen to report exactly the same altitude at a given time instant, they will
report slightly different altitudes at the next time instant. The random altitude sensor
noise will therefore ensure that one aircraft will always read a slightly higher or lower
altitude than the other aircraft, providing a tie-breaker for the complementary resolution
actions. The direction for the host aircraft’s vertical collision avoidance manoeuvre is dic-
tated by the altitude of the intruder aircraft relative to the host aircraft, and is calculated
using Algorithm 4 . Furthermore, Algorithm 4 introduces noise as discussed below for de-
cisions on the direction of altitude conflict advisories. The random noise is added to each
of the aircraft altitude because there is in no deterministic direction when the altitude
difference is zero (∆h = 0). Consequently, we have resolved to add into the normal al-
titude a noise wk to a UAV altitude hk in order to break the equal altitude numerical issue.
hk = hk + wk (4.15)
where wk ∈ [0, 1] is a Uniform Distributed random variable,
wk ∼ U(0, 1) . (4.16)
Stellenbosch University https://scholar.sun.ac.za
The magnitude of the altitude rate for the host aircraft’s vertical collision avoidance
manoeuvre is dictated by the altitude difference between the intruder aircraft and the
host aircraft, and is calculated using Algorithm 4 5. We choose a minimum vertical sepa-
ration threshold as 600 feet. For relative altitudes of 0 to 300 feet, the collision avoidance
module issues a "steep climb" or "steep descend" command that correspond to climb rate
commands of +/-2500 feet/minute. For relative altitudes of 300 to 600 feet, the collision
avoidance module issues a "climb" or "descend" command that correspond to climb rate
commands of +/-1500 feet/minute. For relative altitudes of greater than 600 feet, the
collision avoidance module issues a "level off" command that corresponds to a climb rate
of 0 feet/minute.
The UAV nominally operates in Normal Flight mode. If both the time to collision
and the relative altitude of an intruder aircraft is inside the host aircraft’s conflict re-
gion, then the flight control mode transitions from Normal Flight mode to the Collision
Avoidance mode. The flight control mode remains in Collision Avoidance mode until the
time to collision becomes negative (meaning that the intruder aircraft has passed and is
withdrawing) or the time to collision becomes greater than the conflict region threshold.
Note that the transition from Collision Avoidance mode back to Normal Flight mode only
checks the time to collision, and does not check the relative altitude. This means that
the UAV will not return to normal flight if relative altitude meets the minimum vertical
separation, but the time to collision is still inside the conflict region.
In the conflict in Figure 4.9 both UAVs are flying at an altitude of 3000 feet, which
is well above the minimum altitude of 1000 feet for terrain avoidance. The approaching
aircraft from the left is at a slightly higher altitude than the aircraft approaching from
the right, then the two aircraft are approaching one another at a closure rate of 175 feet
per second. Then when the host aircraft reach a time-to-collision of τ = 20 seconds (with
a vertical separation of less than 600 feet), the conflict is detected, and both aircraft
switch to Collision Avoidance mode. From that point the conflict resolution module of
both aircraft are activated to issue collision avoidance commands as shown in Figure 4.10
and 4.11. Since vertical separation between the aircraft is initially less than 300 feet, the
aircraft at the higher altitude performs a steep climb, and the aircraft at the lower alti-
tude performs a steep descent. When the vertical separation reaches 300 feet, the aircraft
Stellenbosch University https://scholar.sun.ac.za
at the higher altitude switches to a normal climb, and the aircraft at the lower altitude
switches to a normal descent. Ultimately, when vertical separation reaches 600 feet, both
aircraft level off and maintain their respective altitudes.
Figure 4.10: Altitude Descend Command Figure 4.11: Altitude Climb Command
When the time-to-collision reaches τ = 0 seconds, the vertical separation is 600 feet,
and the collision is avoided. When the time to collision becomes negative τ < 0, the
conflict has passed, and both UAVs switch back to Normal Flight mode. Thereafter, we
observe that during Normal Flight mode, both aircraft use their altitude controllers to
return to their nominal altitudes exhibiting an exponential transient response shown in
Figure 4.12 and 4.13.
Figure 4.12: Normal Flight descend Figure 4.13: Normal Flight climb
Stellenbosch University https://scholar.sun.ac.za
Figure 4.14: Close Encounter conflict between only one manoeuvring aircraft
The simulation shows two UAVs that are flying at an altitude of about 1000 feet,
which is the minimum altitude for terrain avoidance. There is an aircraft approaching
from the right at a slightly higher altitude than the aircraft approaching from the left.
The conflict closure rate of approach is 175 feet per second. Then, at the time when the
aircraft reach a time-to-collision of τ = 20 seconds (with a vertical separation of less than
600 feet), a conflict is detected, and both aircraft switch to Collision Avoidance mode.
The conflict resolution module of both aircraft are therefore activated to issue collision
avoidance commands. Since the vertical separation between the aircraft is initially less
than 300 feet, the aircraft at the higher altitude performs a steep climb. However, the
aircraft at the lower altitude is already at its minimum altitude and therefore is not allowed
to descend further. Therefore, the aircraft maintains its level flight because it is below
the minimum altitude. When the vertical separation reaches 300 feet, the aircraft at the
higher altitude switches to a normal climb. (The aircraft at the minimum altitude keeps
on maintaining level flight.) When the vertical separation reaches 600 feet, the aircraft at
the higher altitude levels off and maintains its altitude. Next, when the time-to-collision
reaches τ = 0 seconds and the vertical separation is 600 feet then a collision is avoided.
Additionally, when time-to-collision becomes negative τ < 0, the aircraft has have passed
one another then the conflict is cleared. Finally, both aircraft will switch back to Normal
Flight mode. In the Normal Flight mode, both aircraft re-activate their normal flight
altitude controllers. The aircraft that performed the avoidance manoeuvre returns to its
nominal altitude exhibiting an exponential transient response.
Stellenbosch University https://scholar.sun.ac.za
The aircraft start the simulation with an initial horizontal separation of 3000 feet. The
aircraft are travelling at a closure rate of 15 feet per second (constant free of conflict).
Both aircraft are flying well above the minimum altitude of 1000 feet for terrain avoid-
ance. Note that since both aircraft are flying in the same direction, their closure rate is
close to zero, and the time to collision remains relatively large, even for relatively small
horizontal separation distances. When the aircraft reach a horizontal range of ∆x = 2126
feet, a conflict is detected due to the fact that the both the minimum horizontal separa-
tion threshold DMOD and the minimum vertical separation threshold ZTHR are violated.
Then the algorithm switches to Collision Avoidance mode, and their conflict resolution
modules are activated to issue collision avoidance commands. Due to fact that the vertical
separation between the aircraft is initially less than 300 feet, the faster aircraft (which is
at the higher altitude) performs a steep climb, and the slower aircraft (which is at the
Stellenbosch University https://scholar.sun.ac.za
Figure 4.16: Range distance (r) Figure 4.17: Closure rate (−ṙ)
By the time that the vertical separation reaches 300 feet, the faster aircraft at the
higher altitude switches to a normal climb, and the slower aircraft at the lower altitude
switches to a normal descent. The moment that the vertical separation reaches 600 feet,
both aircraft level off and maintain their respective altitudes. When the time to collision
reaches τ = 0 seconds, the vertical separation is 600 feet, and the collision is avoided. The
faster aircraft then gradually overtakes the slower aircraft. During the overtaking, the
horizontal separation remains below the minimum safe horizontal separation threshold,
and the conditions for switching back to Normal Flight mode are not reached. Therefore,
the conflict remain in Collision Avoidance mode until the faster aircraft has overtaken
the slower aircraft sufficiently so that the horizontal separation satisfies the minimum
safe horizontal separation threshold. Finally, when the horizontal separation satisfies the
minimum horizontal separation threshold again r > 600 feet, the conflict has passed, and
both aircraft switch back to Normal Flight mode. In Normal Flight mode, both aircraft
use their altitude controllers to return to their nominal altitudes exhibiting an exponential
transient response.
The pairwise two in Figure 4.18 are flying from left to right at a speed of 90.52 feet
per second, and both start the simulation at a horizontal position of 0 meters. One air-
craft is flying at an altitude of 3000 feet and the other is flying at an altitude of 3300
feet, and both aircraft are flying well above the minimum altitude of 1000 feet for terrain
avoidance. The two aircraft are maintaining level flight, the relative closure rate is zero,
thus time-to-collision is infinite (which we assign as τ = −1 for simplicity). However,
their horizontal separation is 0 feet, and their relative altitude is only 300 feet, which
violates the minimum safe horizontal separation of 2126.6 feet and the minimum vertical
separation of 650 feet as illustrated in Figure 4.19.
At the start of simulation, a conflict is immediately detected due to the fact that both
the minimum horizontal separation threshold DMOD and the minimum vertical separa-
tion threshold ZTHR are violated. Then the two aircraft switch to Collision Avoidance
mode, and conflict resolution modules are therefore activated to issue collision avoidance
commands. Because the vertical separation between the aircraft is initially greater than
300 feet, the aircraft at the higher altitude performs a normal climb, while the aircraft
at the lower altitude performs a normal descent. When vertical separation reaches 600
feet, both aircraft level off and maintain their respective altitudes. Since the two aircraft
are flying in parallel at the same speed, their horizontal separation remains below the
minimum safe horizontal separation threshold, and the conditions for switching back to
Normal Flight mode are never reached. Therefore, the aircraft remain in Collision Avoid-
ance mode, and keep on flying in parallel, but at a safe minimum vertical separation. The
commands to achieve this are shown in Figure 4.20 and 4.21.
Stellenbosch University https://scholar.sun.ac.za
Figure 4.20: Descend rate commands Figure 4.21: Climb rate commands
1. If all of the non-zero individual pairwise resolution actions have the same direction,
then the multi-aircraft resolution action equals the individual pairwise resolution
action with the largest magnitude.
• For the set of pairwise resolution actions equals {level off, climb, climb, steep
climb, climb}, the resultant multi-aircraft resolution action is steep climb.
• For the set of pairwise resolution actions equals {level off, steep descend, level
off, descend, level off}, the resultant multi-aircraft resolution action is steep
descend.
• For the set of pairwise resolution actions equals {level off, climb, level off, level
off, level off}, the resultant multi-aircraft resolution action is climb.
2. In a case of multiple UAVs where individual pairwise resolution actions have different
signs, the resultant multi-aircraft resolution action equals the sum of the individual
resolution actions. However, the multi-aircraft resolution action "saturates" at a
minimum of steep descend and a maximum of steep climb.
• A multiple of pairwise resolution actions equals {descend, level off, climb}, the
resultant multi-aircraft resolution action is level off.
• For the set of pairwise resolution actions equals {descend, level off, steep climb},
the resultant multi-aircraft resolution action is climb.
• For the set of pairwise resolution actions equals {descend, steep climb, steep
climb, steep climb}, the resultant multi-aircraft resolution action is steep climb.
The first input of the algorithm is a conflict indicator matrix C ∈ Rn produced after
execution of the Conflict Detection algorithm. Then following input is the host UAV
conflict indicator index i = {1, 2, . . . N }. The final argument given to the algorithm is
H ∈ Rn as the current altitude of all UAVs. Thereafter, in line 2 of the algorithm the
UAVs indexes are returned by the search procedure for a list of intruder UAVs. When the
query returns "2" then there is iteration of conflict aircraft in line 4 until 8. In line 4-8
the algorithm generates a resolution manoeuvre using the algorithm shown in Algorithm
4. Finally, the algorithm will move to line 9 and 10 to obtain both the minimum and
maximum resolutions manoeuvre magnitudes, including the signs and summation, are
computed in lines 11 to 16.
q
r= (xi − xj )2 + (yi − yj )2 (4.17)
Our assumption during simulation is that the horizontal rates of all UAVs will be
equal, therefore there is no need to consider high closure rates and close intruder com-
peting priorities. The implementation of this approach is shown in Algorithm 7. The
same conflict resolution direction and magnitude rules for pairwise in Section 4.3 are used
for CIF. Additionally, this approach will introduce a distance metric R. The purpose
of the metric is to identify the single intruder with the closest distance from the host
UAV. Therefore, the conflict resolution advisories objectives for this approach, even with
multiple aircraft, is to prioritise resolution advisories of an intruder aircraft that is closest
in distance.
The CIF distance metric for the CIF is given in the first line in Algorithm 7. At each
time step, the algorithm finds the minimum distance value between each pairwise aircraft
that are in conflict. The minimum distance between all pairwise UAVs is used to select
a UAV identity from the conflict metric C for the conflict resolution selection process in
line 4. At the end of the for-loop in line 8, a single resolution is selected from a UAV
with the same minimum distance on line 1. If there are ties, the if statement in line 4 will
select the last UAV in the list of all UAVs in conflict.
given in the first subsection for three UAVs. Thereafter, we shall compare the performance
of the two algorithms (given in the previous section) on three distinctive tests; Symmetric
Altitude, Horizontally Staggered, Head-on Intruders. Finally, the simulation results for a
multi-aircraft conflict scenario involving a group of five UAVs is given to illustrate high
traffic decision making using both the Resolution Action Superposition and the Closest
Intruder First approaches.
Figure 4.22: RAS conflict resolution for one UAV from the left and two intruders from
the right
Stellenbosch University https://scholar.sun.ac.za
Figure 4.23: CIF conflict resolution for one UAV from the left and two intruders from the
right
The time history of the time-to-collision for the parallel UAVs are the same for both
the RAS and CIF methods. The time to collision calculated for each of the UAVs is shown
in Figure 4.24. This illustrates, when the parallel intruder UAVs simultaneously begin
conflict resolution about 45.50 seconds of the simulation.
Figure 4.24: Conflict detection with time-to-collision of all three UAVs for both CIF and
RAS
Stellenbosch University https://scholar.sun.ac.za
Figure 4.25: RAS middle UAV altitude com- Figure 4.26: CIF middle UAV altitude com-
mands mands
The altitude commands for the middle UAV illustrates how each of the conflict res-
olution algorithms attempt to deviate from nominal altitude with simultaneous equal
resolutions. The RAS method illustrates short period resolutions which are balanced by
other intruder UAVs, therefore the middle UAV maintains altitude most of the conflict
period. However, the CIF method illustrates how the priority of UAVs switches based on
the closest (in distance metric r) intruder, thus the lower altitude UAV is first because
the middle UAV begins descend after 20 seconds. However, after a short period another
intruder is detected and the UAV begins to climb, therefore switching between the ap-
proaching single intruder.
4.4.3.2 Three Aircraft with one passing through the middle (Near
Minimum Altitude)
The following conflict scenario in Figure 4.27 and 4.28 shows the simulation results for a
three UAVs conflict scenario where one of the aircraft which is already operating at its
minimum altitude for terrain avoidance. Two UAVs from right direction near the mini-
mum altitude of 1000 feet, one at 1100 feet and another at 1750 feet have an approaching
intruder from the opposite direction at altitude of 1450 feet. The single approaching in
at a equidistant altitude between the two UAVs. These simulation results illustrate how
cooperative systems RAS and CIF are able to detect the minimum altitude constraint of
collision avoidance.
Stellenbosch University https://scholar.sun.ac.za
Figure 4.27: Three UAVs with one intruder at minimum altitude conflict resolution with
RAS
The RAS approach in Figure 4.27 illustrates how the UAVs share avoidance effort with
one of the UAV in a path constrained position (minimum altitude). Since the single UAV
from the left cannot descend the two higher UAVs, and the lower UAV from the right
also cannot descend further below the 1000 feet, the two higher UAVs cooperate to climb.
Furthermore, when the lowest UAV reaches below 1000 feet the UAV cannot descend
further and then it maintains its altitude. This behaviour of the UAVs demonstrates the
benefits of cooperation and how RAS shares efforts between UAVs. Similar behaviour
for the UAVs in CIF is seen in Figure 4.28. A UAV from the left direction detects that
the intruder UAV near the minimum altitude cannot further descend, therefore it adjusts
its altitude rate. However, with the CIF method the middle UAV and higher altitude
UAV can be seen beginning to manoeuvre earlier than in the RAS approach, but with
less effort.
The response to the conflict of three UAVs at the same altitude by the RAS method
is illustrated in Figure 4.29. A similar conflict response by the CIF method is shown in
Figure 4.30. The altitude deviations of each UAV illustrates how each method responds
when all UAVs have been disturbed from their nominal altitudes and how the direction
of a UAV influences future decisions.
Stellenbosch University https://scholar.sun.ac.za
Figure 4.28: Three UAVs with one intruder at minimum altitude conflict resolution with
CIF
Figure 4.29: RAS multi-aircraft collision avoidance with simulated altitude noise for three
UAVs at equal altitude
Stellenbosch University https://scholar.sun.ac.za
Figure 4.30: CIF multi-aircraft collision avoidance with simulated altitude noise for three
UAVs at equal altitude
The conflict resolution results for the five UAVs scenario with the RAS method are
shown in Figure 4.31. In the scenario, the UAVs that have the most altitude change, are
situated at the end margin of the conflict, the UAVs at 4500 feet and 6200 feet. This
phenomenon occurs because the resolutions are combined for the UAVs.
The conflict resolutions results for the five UAVs scenario with CIF method are shown
in Figure 4.32. The CIF solutions have smoother paths compared to the RAS because
CIF is a globally influenced method and the CIF is locally influenced method. Due to the
fact that conflict resolution advisories of CIF will only respond to the closest intruder by
distance priority, the UAVs at the middle altitude does not influence decision making of
other UAVs not directly in the conflict.
The altitude deviation means (σT CAS (h) and σCIF (h)) between the RAS and CIF
methods are showns in Table 4.4. The results shows that UAVs at the edge part of alti-
tude separation will issue higher altitude deviation commands when the manoeuvre space
is limited for other intruder UAVs. However, we find that RAS can be utilized for five
Stellenbosch University https://scholar.sun.ac.za
Figure 4.31: Five UAVs simulation of traffic with the Multi-resolution TCAS algorithm
Figure 4.32: Five UAVs simulation of traffic with the CIF algorithm
Stellenbosch University https://scholar.sun.ac.za
UAVs to create solutions for other UAVs which are more constrained. Then, UAVs with
more manoeuvring space can explore available conflict-free space for the benefit of other
UAVs. Moreover, the results in Table 4.4 also illustrate that the CIF method is able to
minimize altitude deviations more than the RAS resolution magnitude. Therefore, CIF is
a better altitude deviation minimization technique for the problem of the given five UAVs.
Table 4.4: Simulation results for altitude deviations of five UAVs for the RAS and CIF
methods
The rules of decision making behind the vertical direction and magnitude of the conflict
resolutions advisories were proposed in Section 4.2. Thereafter, simulations of benchmark
conflict scenarios involving pairs of UAVs, including head-on conflict, head-on conflict
at Minimum altitude, parallel flight and overtaking flight were analysed in Section 4.3.
Next, two rules-based algorithms for conflict resolution of multiple UAVs were presented
and implemented, namely RAS and pairwise CIF. The conflict resolution with RAS and
CIF algorithms were analysed in Section 4.4. The two rules-based approaches a have
demonstrated abilities to use cooperation to resolve multi-aircraft conflict scenarios, in-
cluding three UAVs at equal altitude separation, three UAVs at equal altitude separations
Stellenbosch University https://scholar.sun.ac.za
near the minimum altitude, and three UAVs at equal altitude. Finally, simulations were
performed for a conflict scenario involving five UAVs with a head-on staggered approach
pattern. However, we have been able to generated conflict results of the rules-based col-
lision avoidance systems without optimization of control effort. This is due to the fact
that the time-to-collision approach to conflict resolutions is a responsive technique. This
observation was made from the difference in cost of altitude deviations of multiple UAVs
during conflict resolutions.
Stellenbosch University https://scholar.sun.ac.za
Chapter 5
This chapter will discuss a strategic path planning approach for conflict prediction and
resolution for an unmanned aerial vehicle (UAV). In our previous rules-based approach to
conflict detection and resolution in Chapter 4, each UAV is responsive to time-to-collision,
however, the time-to-collision is a short term solution. Thus, the proposed path planning
in Section 5.2 will propagate the state dynamics of an intruder UAV for 60 seconds ahead
of time for collision prediction. The state propagation and collision prediction methods
in Section 5.3 will assist path planning algorithm to predict a collision 60 seconds before
it occurs. Thereafter, in Section 5.4 we shall use the iterative sampling algorithm to
construct a search-tree data structure which uses the TCAS vertical manoeuvre action
space to propagate the states of the UAV. Furthermore, the search-tree divides the conflict
prediction of 60 seconds into 10 second time steps. At each time step a single TCAS
altitude rate control is held constant which iteratively creates conflict-free trajectories. In
addition, path planning algorithm will optimise the conflict resolution path to minimise
the deviation of the UAV from its nominal altitude in Section 5.4.1, where a cost function
is used to measure the deviation of the UAV for optimisation and then a backward search
algorithm finds the optimal path and the optimal sequence of actions in the search tree.
Finally, in Section 5.5 illustrative simulations of UAVs in pairwise conflict scenarios are
used to demonstrate how the path planning can effectively solve conflicts predicted 60
seconds into the future.
5.1 Overview
The unmanned aircraft path planning design process includes the planning of a flight
path for 60 seconds into the future as shown in Figure 5.1. The inner loops control are
faster modes of the UAV. The local motion planning as part of the flight path control is
responsible for the planning of motion primitives for the UAV in an environment without
entering the conflict regions of other UAVs. Therefore, collision avoidance as part of the
constraints for the path planning will be discussed in Section 5.4. The UAV state prop-
agation will be performed using a point mass representation for the UAV translational
101
Stellenbosch University https://scholar.sun.ac.za
dynamics, and commanded altitude rates from a finite action space. This means that the
vehicle does not have a geometric description, and is denoted as the configuration space
C of the planning.
Historically, only a robot moves in a configuration space and the obstacles would
remain static in the coordinate system [34]. However, in the input sampling method
Stellenbosch University https://scholar.sun.ac.za
which we shall present below, we will have more than one UAV in motion in the next
chapter. Therefore, the path planning will have to consider states sampling for an intruder
aircraft as the dynamic obstacles which will be presented in the next section. We shall
have the following design factors to consider:
The path planning-based collision avoidance with state propagation is shown in Fig-
ure 5.2. The cooperation framework is an abstraction of a Communication Network Hub
which distributes the states of all UAVs in the network. The Path Simulator module
propagates the states of each UAV at each time step from path plan inputs. The Token
Allocator generates a token list for the execution of path plans, implementing a cooper-
ative path planning approach which will be discussed in Section 5.4 and will be further
elaborated in Chapter 6 for multiple UAVs.
Path planning based approach to conflict resolution will implement a search-tree data
structure for each UAV as part of the algorithm which will explore the state space. The
Stellenbosch University https://scholar.sun.ac.za
where xi (k) is its horizontal position, hi (k) is its altitude, and k is the discrete-time sam-
ple index.
The state xi (k) of a UAV is propagated forward in time using the following discrete-time
state equations:
The horizontal position xi (k) of a UAV is propagated forward in time from its initial
horizontal position xi (0), assuming a constant forward velocity ẋ. The altitude hi (k) of
a UAV is propagated forward in time from its initial altitude hi (0), using the expected
climb rate actions ui (k) for k = 0, 1, ...N − 1. While a UAV is operating in Normal Flight
mode, its climb rate actions are assumed to be calculated by the following control law for
the altitude controller:
While a UAV is operating in Collision Avoidance mode, its climb rate actions are assumed
to follow a collision avoidance action plan that was generated by the collision avoidance
Stellenbosch University https://scholar.sun.ac.za
path planner. The planned collision avoidance actions for all of the UAVs are published
in a table P , which has the following structure:
Each row of the collision avoidance table P contains the planned collision avoidance
actions ui (ki ) for each of the UAVs for a fixed number of time steps N into the future.
For example, the i’th row contains the planned collision avoidance actions for the i’th
UAV for time steps ki = 1 to N . The element ui (ki ) is the climb rate action to be
executed by the i’th UAV at the ki ’th time step of its collision avoidance plan. The climb
rate actions are constrained to the following finite set of climb rate actions:
ui (ki ) = ḣi (k) ∈ {ḣsteep descend , ḣdescend , 0, ḣclimb , ḣsteep climb } (5.5)
Note that each row of the collision avoidance table uses its own relative time step index
ki . The relative time step index ki tracks the specific UAV’s progress through its collision
avoidance plan relative to the absolute time step when it started executing its plan. At
any given absolute time instant, different UAVs may have progressed to different relative
time steps in the execution of their own collision avoidance plans. Some UAVs may only
be starting their collision avoidance plan, while others may be halfway through, while
others may be finishing their plan. While the UAV is in Normal Flight mode, the relative
time step index is set to ki = −1. When the UAV starts a collision avoidance manoeuvre,
its relative time step index is set to ki = 0. While the UAV is in Collision Avoidance
mode, the relative time step index ki is incremented every discrete-time sampling instant.
When the relative time step index reaches ki = N , the collision avoidance manoeuvre is
completed, the UAV returns to Normal Flight mode, and the time step index is set to
ki = −1.
range and altitude. The tree is populated through iterative sampling from a single parent
node. Each node has a single parent node from previous step k − 1 as an index p in the
tree data structure, used during the searching stage. A discrete time to conflict tracking
variable τ is subtracted from a parent to a new value τ − Ti . In our approach, we use the
value of τ as a notation indicating the depth level of the node in the path planning tree
T. During state propagation for a UAV, the Algorithm 8 is called several times. This step
will create each of the five nodes in Figure 5.4. Furthermore, the procedure in Algorithm
9 takes as input the parent node position, and the input-space set U . At this point, all
nodes at different altitudes are created and stored in a contained data structure which is
returned.
The tree population algorithm uses several design conventions due to the complex
nature of multiple aircraft state propagation. The input for the algorithm is the current
time position, and a square matrix X containing the positions of all UAVs current within
communication range. Therefore, as part of the input, a path plan matrix P contains a
sequence of altitude control inputs for the states propagation of other aircraft.
Stellenbosch University https://scholar.sun.ac.za
The state propagation of the path planning is tracked using the variable track which
should be greater than 0, but less than the path-input set P length. This mechanism is
also used to check whether the path planning search-tree module has been able to sample
a full length path plan. This is due to the iterative nature of the sampling structure as
discussed in Section 5.4.2. Therefore, the state simulation algorithm from line 1 until line
4 will simulate a path plan to reconstruct the intruder aircraft trajectory. If the path
execution tracking variable track indicates that path planning needs execution in line 1,
no plan is executed. In line 3 the algorithm the uses the plan tracking mechanism to
execute an altitude input to manoeuvre a UAV to a new altitude.
The path following module of a UAV will monitor the execution of path planning
for the multiple UAVs at every time step for continuous conflict detection with dynamic
obstacles. The length of each path plan and conflict prediction are shown in Figure 5.3
(to be discussed in Chapter 6 in more detail). This is known as a "token" which enables
a UAV to simulate trajectories of an intruder UAV from the path input sequence. In
addition, a UAV with time reference t from the time a conflict has started, will require a
mapping from time-space T for the path-input index during path execution. The function
for mapping the input-set for state propagation from time-space T is a hashing function
shown in Equation 5.6.
Stellenbosch University https://scholar.sun.ac.za
The horizon T is divided into two equal regions, that is T2 during positive values while
approaching and negative values after the aircraft have passed each other. Positive time
values indicate that the UAVs have passed each other, and negative time values indicate
that UAVs are still approaching each other. We assume a constant forward velocity to
propagate the horizontal position. Simulation of the tree nodes in two dimensions into
the future use a linear equation at equal intervals steps ∆t = 10s. This approach en-
ables conflict detection with dynamic obstacles. The altitude-axis sampling is shown in
Algorithm 9 and is discussed in depth in Section 5.3.1. At each time step the state-space
sampling each of the nodes in the tree is checked for conflict detection.
τ T
d t e + b 2 c
if τ < 0
Hash(t, τ, T) = b τt c + d T2 e if τ > 0 (5.6)
if τ = 0
T
d2e+1
The conflict prediction for a pair of UAVs with a communication link is given in Algo-
rithm 11 to enable cooperative path planning. This conflict prediction algorithm simulates
the states of a pair of UAVs at once iteratively from a multiple of conflicts. Therefore,
a multi-aircraft conflict involving N number of UAVs will be simulated into N(N-1)/2
number of conflicts. As input, the algorithm takes the state position X of a pair of UAVs,
path plans P and path execution metric T. Therefore, the algorithm creates a look-ahead
time for the state propagation of the UAVs in line 8. As was previously illustrated in
Figure 5.3, the look-ahead time is half the path planning horizon. For this reason, a UAV
can make path plans even after an intruder has passed.
Stellenbosch University https://scholar.sun.ac.za
The optimization of the path for each UAV is local because there are multiple paths
that the iterative algorithm has constructed with the equations of motions given in Sec-
tion 5.4.1. The iterative sampling procedure for creating a search tree is presented in
Section 5.4.2. Therefore, the path planner of a UAV will optimize a hierarchical cost
function J that minimizes the altitude deviation from the nominal altitude as the first
priority, and then minimises the avoidance effort for the UAV as a second priority. The
search algorithm for the optimal path from the root of the node to an optimal leaf node
will be discussed in Section 5.4.3. Thereafter, the complexity of the possible paths that a
Stellenbosch University https://scholar.sun.ac.za
UAV can take are discussed based on the optimization of the cost function of manoeuvres.
where xi is the horizontal position, hi is the altitude, ẋi is the horizontal forward velocity,
and ḣi is the climb rate of the host UAV. k is the discrete-time sample index and ∆t is the
discrete-time sampling period. The sampling technique will attempt to generate aircraft
nodes whilst holding the horizontal rate constant. A node is successfully sampled if the
state propagated for one sampling period, using the discrete-time equations of motion, is
Stellenbosch University https://scholar.sun.ac.za
free of conflict. The motions created by the sampling method for a single time step which
describe the equation of motion are shown in Figure 5.4.
Figure 5.4: State propagation with constant horizontal rate and five altitude inputs
xj (k) ∈
/ Ci (xi (k ) ∀k = 0, 1, ..., N − 1
∀j = 1, 2, ..., m (i 6= j) (5.11)
Stellenbosch University https://scholar.sun.ac.za
where xj is the position of the j’th intruder UAV, xi is the position of the host UAV, and
Ci (xi (t)) is the protected zone of the host UAV. The host UAV’s protected zone is defined
as:
The horizontal forward velocity ẋi of the host UAV is assumed to be constant and con-
strained to the following range:
where vi,min and vi,max are the minimum and maximum horizontal forward velocities.
Under these constraints a UAV navigates a search-tree from a root parent node at an
altitude level h. The UAV altitude controller shall apply altitude rate input uk to reach
new altitude levels. An example of a level flight manoeuvre for a UAV is shown in Figure
5.5. Additionally, an example of climb manoeuvres to two higher altitude nodes from a
parent node are shown in Figure 5.6. Similarly, descend manoeuvres at two lower altitude
from parent node are shown in Figure 5.7.
(xk , hu1 )
(xk−1 , hu0 )
(xk , hu2 ) (xk , hu3 )
(xk−1 , hu0 ) (xk , hu4 )
Figure 5.6: Climbing tree transition Figure 5.7: Descending tree transition
Stellenbosch University https://scholar.sun.ac.za
Terminal Cost: The primary cost function is chosen as the host UAV’s altitude
deviation at the final time step of its planned path, and is formulated as a terminal cost.
The terminal cost Hi is defined as the absolute difference between the host UAV’s nominal
altitude and its actual altitude at the final step of the collision avoidance plan, given as:
Transition Cost: The secondary cost function is chosen as the host UAV’s action
cost to execute the path plan, and is formulated as a transition cost. The transition cost
Gi is the sum of the action costs from the host UAV’s initial state to its final state, give
by:
N
X −1
Gi = g(u(k)) (5.18)
k=1
where Gi is the total transition cost, and g(ui (k)) is the action cost associated with climb
or descend rate action ui (k). The action costs are defined as follows:
2 if |u(k)| = 1500 ft/min
g(u(k)) = 3 if |u(k)| = 3000 ft/min (5.19)
0 otherwise
Stellenbosch University https://scholar.sun.ac.za
The search tree is seeded with a single root node at time step index k = 0. The root
node is initialised with the state of the host UAV when the path planning starts, and with
the terminal cost and transition costs set to zero. Since the root node does not have a
parent node, its climb rate action at the previous time step is undefined, and the pointer
to its parent node is set to null. The children of the root node are then created by starting
at the root node, iterating through the finite set of climb rate actions. The iteration is the
propagation state of the host UAV forward one time step from each possible action, this
step will include state propagation of all the intruder UAVs forward one time step. Fur-
thermore, the state propagation for each UAV will check for UAV-to-UAV collisions and
minimum terrain avoidance altitude, and will only create nodes for propagated states that
do not result in collisions. Therefore, all admissible, conflict-free child nodes are added to
the search tree, and their time step index, state, previous climb rate action, cumulative
action cost, terminal cost, and parent node pointer are populated. The process is then
repeated, with every child node becoming a parent node that spawns its own child nodes.
The procedure for population of a search-tree is given in Algorithm 12. The initial-
ization of the tree is a few constants and collection data structures between line 1 until
6. Therefore, the depth of the tree N is the ratio of the total horizon time T to the time
steps Ti in line 3 of the algorithm.
T
N= (5.20)
Ti
Stellenbosch University https://scholar.sun.ac.za
The search-tree algorithm creates child nodes for the next depth by going through the
current tree depth nodes from line 10 until 21. If all the nodes at a particular depth are
in conflict as checked in line 16 there will be no nodes children for the next time step to
propagate. The nodes of the tree at each level refers to the conflict detection algorithm
in line 16, this is to ensure that the nodes are not in conflict with other UAVs states in
X. The result of the sampling iteration process for the search tree at each altitude level
is given by the density function as shown in Figure 5.8.
Stellenbosch University https://scholar.sun.ac.za
Figure 5.8: Search tree Nodes sampling distribution density of a UAV from the nominal
altitude of a 6000 feet
The density function of the nodes population at different altitude levels in a tree
data structure T of the path planning algorithm is depicted in Figure 5.8. The planning
algorithm described above populates the data structures for path planning from the root
of the tree at (xk−1 , hu0 ) for the number of conflict-free nodes based on the depth of the
tree, as calculated in Equation 5.20. Therefore, the data structure is a tree with a single
root node. The root of the tree is the position where conflict is detected. An example of
a completed search tree with no conflict nodes is shown in Figure 5.9. Another example
of a completed search tree with some conflict nodes is shown in Figure 5.10.
where a is the number of discrete actions in the action space, and N is the number of
time steps in a collision avoidance path plan. A search tree with five possible actions (a
= 5) and six time steps (N = 6) therefore has a maximum number of 78124 nodes.
Figure 5.12: Distributions of altitude terminal costs and actions cost for all possible paths
in a search tree with some conflict nodes
Figure 5.11: Distributions of altitude terminal costs and actions cost for all possible paths
in a search tree without conflict nodes
iterating backwards through each parent node until the root node is reached. In addition,
each node contains both the state xi (k) at its current time step and the climb rate action
u(k) that was applied at the previous time step. Both the path state trajectory and the
climb rate action sequence can be reconstructed in this way.
Figure 5.13: Collection of paths which maps to optimal nominal altitude of a UAV with
a search tree
If there are no leaf nodes in the final layer, then its means that no admissible, conflict-
free path exists. If there are leaf nodes in the final layer, then a number of conflict-free
paths from the initial position to an admissible final position do exist, and the optimal
path is the path with the lowest total path cost. Since each leaf node contains the total
path cost of the specific path that is used to reach it, the optimal path can be determined
by finding the leaf node with the lowest total path cost.
A search for the optimal cost node is a backward-search algorithm, presented in Algo-
rithm 13. The algorithm iterates through all path planning tree leaf nodes linearly until
it meets a non-leaf node then it terminates. The search algorithm is designed to locate a
single optimal cost node in the tree, a leaf node with minimum terminal and transition
cost. The optimal cost leaf node of the path plan tree then becomes the goal node for the
UAV from the initial conflict position. An optimal node has minimum terminal cost as
the first priority, thereafter a search for a minimum transition costs node at the minimum
terminal-cost as the second priority.
Stellenbosch University https://scholar.sun.ac.za
In line 1 and 2, the algorithm initialises both the terminal cost and transition cost to
infinity for minimization. These initialization step is important for minimizing the costs
function. In line 6 all nodes are iterated, then line 9 performs a check for optimality. The
firstly priority is the terminal cost of a leaf node, this ensures that an aircraft will end
up at an altitude that is closer to its nominal altitude. The second optimal cost check is
the statement in line 6 which choose a node with best transition cost. The convergence
of the cost function is shown in Figure 5.14 with the switching in line 7 of the algorithm
given in Algorithm 13.
Stellenbosch University https://scholar.sun.ac.za
Figure 5.14: Leaf nodes cost-function (J) convergence plot during optimization
The search algorithm complexity for finding the optimal path is bounded by the max-
imum number of leaf nodes through which a loop must iterate to find the leaf node with
the lowest cost. The maximum number of leaf nodes equals aN where a is the number
of discrete climb rate actions in the action space, and N is the number of time steps in
the path plan. The algorithm complexity for finding the optimal path is therefore O(aN ).
The following illustrations below are different scenarios which would be the best, average
and worst cases for the search method. Hence, we make an illustration of the path plans
which the method can generate when a UAV replans a path, but does not necessarily
choose for execution. The analysis of the computational complexity is performed using
the search-tree which we presented in Section 5.4.2. The comparison of best, average, and
worst-case costs for the UAV paths are grouped based on the on the value of the altitude
termination costs J.
Stellenbosch University https://scholar.sun.ac.za
• Best Case
The best case for the optimal cost paths of a UAV in both conflicted and non-
conflicted search trees can be considered to be from the region described in the
figures shown in Figure 5.15 and 5.16. The terminal cost of these paths should be
J ≤ 250.
• Average Case
The average case for the optimal cost paths of a UAV in both conflicted and non-
conflicted search trees can be considered to be from the region described in the
figures shown in Figure 5.17 and 5.18. The terminal cost of these paths should be
between 250 ≤ J ≤ 1750.
Figure 5.17: UAV 1 cost J = 1250 Figure 5.18: UAV 2 cost J = 1250
Stellenbosch University https://scholar.sun.ac.za
• Worst Case
The worst-case for the optimal cost paths of a UAV in both conflicted and non-
conflicted search trees can be considered to be from the region described in the
figures shown in Figure 5.19 and 5.20. The terminal cost of these paths should be
between 1750 ≤ J ≤ 3000.
Figure 5.19: UAV 1 cost J = 2500 Figure 5.20: UAV 2 cost J = 2500
The altitude difference between the UAVs is zero, therefore manoeuvres made by one
of the UAVs applies maximum altitude commands. Furthermore, these manoeuvres rep-
resents the maximum altitude deviations for any pairwise conflict resolutions because one
of the UAVs maintains its altitude. However, in Figure 5.22 there are conflict nodes from
the state propagation of the other intruder UAV and the paths which the host UAV is
allowed to take are shown in green. Since the objective is to minimise altitude rate, the
UAV begins with a shallow climb and thereafter returns to nominal altitude with a steep
descend.
The altitude inputs to the UAV during path execution can be seen over time. The
path planning commands a climb rate input of 25 ft/sec which is held constant from 0
seconds until 30 seconds. Thereafter, the UAV maintains its altitude for a single time
step using an input of 0 ft/sec; this is because the two UAVs are horizontally crossing
each other. Thereafter, this is followed by 10 seconds of descend manoeuvres with a rate
of -50 ft/sec. The descend manoeuvre is applied as part of conflict resolution to return
the UAV to the nominal altitude as soon as possible. This occurs after the intruder is
further away and no longer a threat.
Stellenbosch University https://scholar.sun.ac.za
The timeline of altitude change of the UAV which deviates from its nominal altitude is
shown in Figure 5.24. The timeline shows that the duration of the conflict is 60 seconds,
hence, the path plan execution is exhausted when the path plan horizon has ended and
there is no new conflict. However, if the conflict still existed, then a new path plan would
be created for the next 60 seconds.
Figure 5.24: Timeline of the altitude changes for the manoeuvring UAV
Stellenbosch University https://scholar.sun.ac.za
Figure 5.25: Pairwise conflict resolution with one of the UAVs at minimum altitude
The search-tree in Figure 5.26 illustrates that the algorithm will not be able to add
nodes below the altitude of 1000 feet. However, the tree is able to populate nodes at
higher altitudes. Therefore, the higher UAV chooses to climb to allow the approaching
lower UAV to pass below.
The tree nodes distribution at altitude level is shown in Figure 5.27. The conflict
nodes at terminal costs below the nominal altitude of 1100 feet are excluded from the
tree because they are below 1000 feet as propagated from nominal altitude of 1100 feet.
This is seen at the density depth level of 1500 feet, 2500 feet and 3500 feet in the density
function.
Figure 5.27: Distribution of leaf nodes from nominal altitude 1100 feet
The two UAVs shown in Figure 5.28 will remain in conflict for time infinity, because
there is no change in the relative horizontal positions of the UAVs. Furthermore, the
nominal altitude of the UAVs are vertically in a conflict. The search-tree which was used
for conflict prediction is shown in Figure 5.29 and it illustrates the parallel conflict nodes
between the UAVs. However, one of the UAVs makes an effort to maintain the vertical
separation distance. In addition, the deviation from an altitude of 4500 is maintained at
about 4250 feet, leading to an altitude difference of |5000 − 4250| = 750 feet between the
two UAVs as shown in Figure 5.30.
Stellenbosch University https://scholar.sun.ac.za
Figure 5.28: Pairwise conflict resolution for pairwise UAVs in parallel flight
Figure 5.30: Altitude path of UAV with conflict resolution descend commands
A similar manoeuvre of conflict resolution for the higher altitude UAV are shown in
Figure 5.31. The path planning search tree is illustrated in Figure 5.32. The altitude
responses of the UAV that deviates from its nominal altitude is shown in Figure 5.33,
with the first response to the parallel flight a climbs from a nominal altitude of 5000 feet
to 5250 feet. This deviates the UAV to a new altitude of 5250 feet, thus an altitude
difference of |4500 − 5250| = 750 feet relative to the intruder UAV. In both descend and
climb manoeuvres an advisory magnitude uk = |25| feet per seconds is used. Thus, a UAV
can either choose to climb or descend during parallel flight.
Stellenbosch University https://scholar.sun.ac.za
Figure 5.31: Pairwise UAVs parallel flight with climb conflict resolution
Figure 5.33: Altitude path of UAV with conflict resolution climb commands
Figure 5.34: Conflict resolution for a UAV overtaking another UAV at a relative horizontal
velocity of 40 feet/s
Figure 5.35: First plan (∆ẋ = 40 ft/sec) Figure 5.36: Second plan (∆ẋ = 40 ft/sec)
The two UAVs shown in Figure 5.34 have a high horizontal rate difference |ẋj −
ẋi |, therefore a single path planning tree allows the overtaking UAV to return to its
nominal altitude. However, if the conflict overtaking takes longer to resolve at low relative
horizontal rates since overtaking will need to create multiple search-trees. These scenarios
are illustrated in Figure 5.37 where the path planning will create multiple trees for the
overtaking UAV as shown in Figure 5.38 and 5.39.
Stellenbosch University https://scholar.sun.ac.za
Figure 5.38: First plan with (∆ẋ = 20 ft/sec) Figure 5.39: Second plan (∆ẋ = 20 ft/sec)
of the host aircraft performed using a finite vertical manoeuvre input set that uses the
same actions as TCAS. In addition, the path planning approach shares its intended path
plan with other UAVs for propagation of trajectories in path segments of 10 seconds as it
was conceptualised in Chapter 3 in Section 3.2.4. State propagation is used for collision
prediction to a time horizon of 60 seconds into the future. Furthermore, the collision
prediction step enables the path planning based algorithm to use conflict detection and
TCAS altitude input sampling to simulate the trajectory of an intruder UAV. Therefore,
the path planning algorithm is able to create a search-tree from vertical climb and descend
motion primitives which enables searching for conflict-free trajectories. Each trajectory
in the search-tree is a collection of state node data structures from the root of the tree to
a leaf node with 30 seconds conflict approach and 30 seconds of nominal altitude return.
Furthermore, the path planning formulation includes a cost function for hierarchical opti-
mal control; firstly it minimises the altitude deviation of the leaf nodes from the nominal
altitude, then it minimises the control for the collision avoidance path. Next, each path
plan in the search-tree is searchable for the optimal conflict resolution altitude level which
minimises the cost function of the manoeuvres. Finally, the simulation results illustrated
the execution of the path planning based conflict detection and resolution algorithm for
pairwise conflict scenarios. The path planning based approach presented in this chapter
will be extended to enable cooperative conflict resolution for multiple UAVs in the next
chapter.
Stellenbosch University https://scholar.sun.ac.za
Chapter 6
In this chapter we shall present a cooperative path planning based collision avoidance
algorithm for multiple UAVs, as an extension of the work presented in Chapter 5. The
cooperative path planning will use token allocation as the communication framework for
the decision making for each UAV to perform path planning for a group of UAVs. In
Section 6.1 we provide an overview discussion of a cooperative path planning algorithm
for multiple UAVs which implements token allocation. Thereafter, cooperative collision
prediction for multiple UAVs is discussed in Section 6.2. Next, in Section 6.3, we deal
with the token allocation priority policy that controls the order of the sequential path
planning for the individual UAVs. Finally, in Section 6.4, illustrative simulation results
for conflict scenarios involving groups of three and five UAVs, where the UAVs utilise
path planning, token allocation, and the communication network to cooperatively resolve
conflicts in cluttered environments
135
Stellenbosch University https://scholar.sun.ac.za
A use case for the token allocation cooperative architecture is when multiple UAVs
generate path plans for a single conflict. These plans cannot be executed all at once,
therefore the architecture uses the Communication Hub network to share flight data and
to help coordinate the path planning. The cooperative planning is useful to coordinate
conflict resolutions between multiple aircraft in a short amount of time. The proposed co-
operative algorithm is the Token Allocation subsystem which will allow conflict resolution
for multiple UAVs. The Token Allocation will have multiple path plan proposals from
each conflict. Therefore, the implementation of Plan Tracker will monitor the path plan
execution of each UAV during conflict detection by other UAVs. The Plan Tracker method
estimates the future states of intruder UAVs to enable cooperative conflict prediction.
The cooperative collision prediction is illustrated in Figure 6.3. The states of all three
UAVs are propagated forward in time, and two conflicts are predicted. The first conflict
is between the left UAV and the right higher UAV; the second conflict is between the left
UAV and the right lower UAV. The cooperative collision avoidance algorithm is then trig-
gered, and collision avoidance paths are planned sequentially for the three UAVs, based
on the priority order determined by the token allocation strategy. For this scenario, the
right higher UAV will plan first, then the lower right UAV, and finally the left UAV.
The new path plan for the right higher UAV is shown in Figure 6.4. The right higher
UAV will perform a climbing manoeuvre to avoid the conflict with the left UAV and will
then return to its nominal altitude. The UAV publishes its new planned path, and since
one unresolved conflict still remains, the token is allocated to the right lower UAV.
The new path plan for the right lower UAV is shown in Figure 6.5. The right lower
UAV will perform a descend manoeuvre to avoid conflict with the UAV from the left and
will then return to its nominal altitude. The UAV publishes its new planned path, and
since no unresolved conflicts remain, the left UAV does not need to replan its path. No
further tokens are allocated, and the three UAVs execute the planned collision avoidance
manoeuvres.
Stellenbosch University https://scholar.sun.ac.za
Figure 6.3: Cooperative conflict prediction using state propagation (two conflicts pre-
dicted)
Figure 6.4: Cooperative, sequential path planning for first UAV (one conflict remains)
Stellenbosch University https://scholar.sun.ac.za
Figure 6.5: Cooperative, sequential path planning for second UAV (no more conflicts)
To facilitate cooperative collision prediction and avoidance, all UAVs publish their
path plans and their token statuses over the communication network. The path plans
are published in a path plan table P, and the token statuses are published in a token
tracking arrary T. The token status T[i] of a given UAV indicates whether the UAV has
received a token and is therefore executing a planned collision avoidance manoeuvre. The
token status also indicates the UAV’s current time index within its collision avoidance
manoeuvre, so that its progress can be tracked. The token status is used by other UAVs
to determine the UAVs intent so that its state can be propagated for collision prediction
purposes. Finally, the token status is also used to coordinate the sequential path planning,
since a UAV that has already received a token cannot be allocated a new token until it
has completed its current collision avoidance manoeuvre. Due to the fact that UAVs can
be at different stages of path plan execution, a UAV will use a locking mechanism and
continue to publish its token status T. Therefore, a UAV will not be available for new
path planning until its previous path plan is exhausted. This is to avoid having UAVs
stop execution of previous optimal path plans.
The state-machine shown in Figure 6.6 is a communication model for the token exe-
cution status of a single UAV i to a multiple of cooperative UAVs. The default state of
the state machine is "Free". In this state a planned collision avoidance manoeuvre UAV
is conflict-free and is not executing any path planning. The state "Free" indicates that
a UAV is free for the token allocation stage and it is available to receive a token and
then plan and execute a collision avoidance manoeuvre, if selected. The token allocation
state machine is in a "Locked" state if a UAV is currently executing a planned collision
avoidance manoeuvre. This mechanism is established to ensure UAVs are able to com-
plete previously planned paths. The "Locked" state of the state machine indicates that
the UAV is currently not available for sequential path planning, and is not available to
participate in cooperative conflict resolution. The current state of the Token Allocation
state machine is published via token status variable, to be discussed further in Algorithm
14 below.
Stellenbosch University https://scholar.sun.ac.za
1. The UAV that is above the minimum altitude for terrain avoidance
4. The UAV with the smallest deviation from its nominal trajectories
The procedure given in Algorithm 15 is a checking mechanism for a UAV path ex-
ecution. The algorithm checks the conflict status of each of the UAV in line 3, and if
a UAV has predicted conflict but is already executing a collision avoidance manoeuvre,
then it is not listed in the Unplanned list of UAVs identities. The collection Unplanned
is a container used by Algorithm 14 to indicate whether a UAV is available for token
allocation. A UAV is available when line 4 passes, meaning the UAV with identity i is
in conflict ci == 1 and its path execution tracker T [i] == 0 is not in the middle of path
plan execution.
Stellenbosch University https://scholar.sun.ac.za
At each time step a time-step, the input time is given as a time reference since the
plan execution started. This value is hashed in line 3 to obtain the input to execute. In
line 4 the tracking variable is checked if it is within indexes of path plan P. An altitude
command rate of a UAV from a path plan is given as a reference, thereafter the token
status T is updated. In line 7 the UAV token status is set to zero and to indicate that
the UAV has returned to normal flight mode and that the UAV is available for token
allocation. The altitude rates executed during a "Free" token state in Algorithm 16 are
control inputs during nominal flight of a UAV.
Stellenbosch University https://scholar.sun.ac.za
Figure 6.7: An initial conflict scenario of a three UAVs with influence to higher altitude
neighbouring UAV
Figure 6.8: Cooperative conflict avoidance paths for the three UAVs with influence to
higher altitude neighbouring UAV
Stellenbosch University https://scholar.sun.ac.za
The results of the path planning for conflict resolution are shown in Figure 6.8. The
first token allocation maintains the altitude of the approaching UAV, however the con-
flict still exists. Thereafter, the head-on intruder with a parallel intruder UAV chooses
to climb because the higher altitude UAV is not holding any token and was not part of
the initial predicted conflict. Next, a new conflict between the higher altitude and the
UAV which wishes to climb is predicted through state propagation and collision predic-
tion. The search trees which the parallel UAVs construct are shown in Figure 6.9 and 6.11.
Figure 6.9: UAV 2 Search Tree Figure 6.10: UAV 2 Optimal Path
Figure 6.11: UAV 3 Search Tree Figure 6.12: UAV 3 Optimal Path
The chosen path plans demonstrate how token allocation determines the priority be-
tween a UAV which is already holding a token and executing a collision avoidance ma-
Stellenbosch University https://scholar.sun.ac.za
noeuvre and another UAV which is not holding a token. This is illustrated by the UAV
approaching from the left receiving the first token, while the other two UAVs approaching
from the right have no tokens. The UAV approaching from the left therefore ignores both
UAVs approaching from the right, and maintains its altitude. The lower UAV approaching
from the right is allocated the second token, because it has a predicted conflict, while the
higher UAV approaching from the right does not have a predicted conflict yet. The lower
UAV cannot ignore the UAV approaching from the left, because it is already holding a
token, but it ignores the UAV above it, because it is not holding a token. The lower
right UAV therefore performs a climbing manoeuvre to avoid the left UAV, as shown in
Figure 6.10. The conflict avoidance action by the lower right UAV now causes a con-
flict to be predicted for the third UAV (the higher right UAV). The higher right UAV is
then allocated the third token and must perform a collision avoidance manoeuvre. The
higher right UAV cannot ignore the left UAV or the lower right UAV, because they are
both already holding tokens. The higher right UAV therefore also performs a climbing
manoeuvre to avoid the climbing lower right UAV below it, as shown in Figure 6.12. The
altitude control inputs which were used by the parallel UAVs to avoid collisions are shown
in Figure 6.13 and 6.14.
Figure 6.13: UAV 2 Altitude Inputs Figure 6.14: UAV 3 Altitude Inputs
Figure 6.15: Initial conflict of three UAVs with equal altitude separation between two
intruders
The conflict resolution for the three UAVs as shown in Figure 6.16 uses a token al-
location to control the order of the sequential path planning. Since the single UAV is
approaching other parallel UAVs at a equidistant altitude, the two parallel UAVs both
have the same manoeuvre domain. Moreover, altitude deviation for the single approach-
ing UAV is greater than that which is proposed by the parallel UAVs. Therefore, token
allocation begins with maintaining the altitude of the single approaching UAV, because it
is the first proposed optimal solution and because none of the parallel UAVs have planned
a path yet.
The first token allocation chooses to maintain altitude, but it does not solve the multi-
aircraft conflict, because the parallel UAVs are still in conflict with the approaching single
UAV which is holding a token. Hence, the search-trees for the optimal path planning for
the two parallel UAVs are shown in Figure 6.17 and 6.19. The second token is allocated
to the tree in Figure 6.17, and the third token is allocated to the search tree Figure 6.19.
Both search trees show the positions of the single UAV which passes between the parallel
UAVs. The red nodes indicates the positions of the single UAV currently holding a token.
Stellenbosch University https://scholar.sun.ac.za
Figure 6.16: Final conflict resolution wih equal altitude separation between two UAVs
and a host UAV
Figure 6.17: UAV 2 Search Tree Figure 6.18: UAV 3 Optimal Path
Stellenbosch University https://scholar.sun.ac.za
Figure 6.19: UAV 3 Search Tree Figure 6.20: UAV Optimal Path
The chosen optimal collision avoidance paths for the two parallel UAVs are shown in
Figure 6.18 and 6.20 respectively. The higher UAV from the right chooses a climbing
manoeuvre, while the lower UAV from the right chooses a descending manoeuvre.
The cost of executing the climb and descend are equal for conflict resolution since the
intruder UAV is at a equidistant altitude separation. The time execution of the altitude
control commands of the pairwise UAVs are shown in Figure 6.21 and 6.22 respectively
for the climbing and descending UAVs.
Figure 6.21: UAV 2 Altitude Commands Figure 6.22: UAV 3 Altitude Commands
near the minimum terrain altitude of 1000 feet. The two UAVs approaching from the
left UAVs are staggered horizontally, and a single UAV is approaching from the right
direction. All three UAVs are near the 1000 feet minimum altitude which is near terrain
obstacles. Therefore, a descending manoeuvres for collision avoidance will not be allowed
and will therefore not be added to the search tree.
Figure 6.23: Initial conflict scenario for three UAVs near the minimum altitude
The results of path planning for the three UAVs are shown in Figure 6.24 with none
of the UAVs allowed to descend. The first conflict is detected between the two head-on
UAVs at 1100 feet. The head-on UAVs have limited manoeuvre space, and also neither of
them are allowed to descend for conflict resolution. Therefore, the first token is allocated
to a UAV which maintains its nominal altitude because when the conflict started neither
of the head-on UAVs had received a token for path planning. The search tree created
for the head-on UAV approaching from the left is shown in Figure 6.25 and the chosen
optimal collision avoidance path is shown in Figure 6.26.
After the token allocation of the first token which maintains altitude of the receiving
UAV the original head-on conflict still exists. Thereafter, a second token is allocated to
the UAV from the right direction; it chooses to climb as shown in Figure 6.27. The action
of the path shown in Figure 6.28 after the second token leads to a new conflict with the
third UAV at 1500 feet travelling from the left to the right. A third token is then allocated
to the UAV at 1500 feet which creates the search tree shown in Figure 6.29 for a UAV
which chooses to climb. Finally, the climb action by the third token which is shown in
Figure 6.30 is executed to resolve the conflict.
Stellenbosch University https://scholar.sun.ac.za
Figure 6.24: Final steps conflict scenario of Three UAVs conflict manoeuvre near minimum
altitude
Figure 6.25: UAV 1 Search Tree Figure 6.26: UAV 1 Optimal Path
Stellenbosch University https://scholar.sun.ac.za
Figure 6.27: UAV 2 Search Tree Figure 6.28: UAV 2 Optimal Path
Figure 6.29: UAV 3 Search Tree Figure 6.30: UAV 3 Optimal Path
The optimal altitude commands to the UAVs which deviates from their nominal alti-
tude are shown in Figure 6.31 and Figure 6.32.
Stellenbosch University https://scholar.sun.ac.za
Figure 6.31: UAV 2 Altitude Inputs Figure 6.32: UAV 3 Altitude Inputs
Figure 6.33: Initial states of five UAVs conflict scenario with staggered horizontal positions
The results of path planning and token allocation for the sequential planning of these
multiple plans are shown in Figure 6.34. The token allocation begins with the UAV with
Stellenbosch University https://scholar.sun.ac.za
most conflict nodes in its search-tree , which means that it has the least space to manoeu-
vre. The UAV with the most conflict nodes is the one initialised at (6000f t, 12000f t) be-
cause it is approaching the two parallel UAVs initialised at (4000f t, 5500f t) and (64000f t, 5000f t).
Figure 6.34: Conflict resolution of five UAVs with staggered horizontal positions
The two parallel UAVs present a similar conflict scenario as in Section 6.4.2 where a
single UAV is at an altitude equidistant between two UAVs. However, in this case the two
parallel UAVs approaching from the left were found to have more limited manoeuvre space
than the two parallel UAVs approaching from the right, therefore both UAVs approaching
from the left receive the first two tokens and both maintain their nominal altitudes. The
third token for the multiple UAVs conflict is to the UAV initialised at (6000 feet,12000
feet). Its search tree which is shown in Figure 6.35 and its chosen optimal path is shown
in Figure 6.36. The last two tokens are allocated to the parallel UAVs initialised at
(14000 feet, feet) and (14000 feet, 7000 feet) which deviate for the approaching parallel
UAVs. The search trees for their path plans are shown in Figure 6.37 and 6.39 with their
respective chosen optimal paths are shown in Figure 6.38 and 6.40.
Stellenbosch University https://scholar.sun.ac.za
Figure 6.35: UAV 3 Search Tree Figure 6.36: UAV 3 Optimal Path
Figure 6.37: UAV 4 Search Tree Figure 6.38: UAV 4 Optimal Path
Stellenbosch University https://scholar.sun.ac.za
Figure 6.39: UAV 5 Search Tree Figure 6.40: UAV 5 Optimal Path
Chapter 7
In this Chapter we present the statistical Monte-Carlo simulation results for the Rules-
Based and Cooperative Path Planning algorithms which we developed in Chapter 4 and
6 respectively. Monte Carlo simulations are useful for the estimation of the conflict per-
formance metrics of both the rules-based and the path planning algorithms for conflict
resolution of multiple UAVs. In Section 7.1 we describe the setup for the Monte Carlo
simulations of multiple UAVs with nominal altitudes which are randomly sampled from
a uniform distribution function. The altitude distributions have a constant nominal al-
titude as its mean; additionally the horizontal rates are initialised at the beginning of
each simulation. Thereafter in Section 7.2, a list of performance metrics are outlined for
long-term conflicts such as the collision avoidance success rate, minimum separation, tra-
jectory deviation cost, and control effort cost. The statistical results of the Monte Carlo
simulations for the distribution estimation of the performance metrics are discussed in
Section 7.3. In summary, this chapter will analyse the conflict resolution performance of
the methods given in Chapter 4 and Chapter 5 respectively to illustrate how our system
performs in random complex conflict scenarios.
159
Stellenbosch University https://scholar.sun.ac.za
The distribution of the altitude sampling space for each UAV is stated as follows:
(
1
if hmin ≤ h ≤ hmax
f (h) = hmax −hmin (7.1)
0 Otherwise
1
h = hnominal = (hmin + hmax ) (7.2)
2
Figure 7.1: Monte-Carlo simulations setup of five UAVs for the rules-based collision avoid-
ance algorithm
The setup of each simulation for a cooperative path planning algorithm is illustrated in
Figure 7.2. The Monte Carlo simulation will provide statistical results for a multi-conflict
resolution using the path planning algorithm in where the latter implements the token
allocation strategy discussed in Section 6.3. The number of UAVs in the simulation envi-
ronment will be ten with a uniform altitude distributed from the mean nominal altitude.
Therefore, the UAVs will be simulated from altitudes h1 , h2 , . . . h10 which can be equal,
but will be distributed below a vertical threshold of 650 feet from each other to guarantee
a conflict in the near future.
Stellenbosch University https://scholar.sun.ac.za
Figure 7.2: Monte-Carlo simulations setup of ten UAVs for the path planning collision
avoidance algorithm
follows:
For all three these variables (minimum distance, minimum time to collision, and mini-
mum vertical separation) the statistical distributions will be plotted using histograms and
the box and whiskers plots will be compared.
For all three these variables (minimum distance, minimum time to collision, and mini-
mum vertical separation) the statistical distributions will be plotted using histograms and
the box and whiskers plots will be compared.
feet from their initial altitude. There will be an analysis of Monte Carlo simulation suc-
cess rates for maintaining the safe separation between UAVs. The results will be shown
for five UAVs for rules-based algorithm, and ten UAVs for the path planning algorithm.
Thereafter, the simulation results for the minimum separation metrics will be presented
and analysed. The time to collision estimation provides an indication of the responses
to multiple conflicts. Furthermore, the simulation results will analyse the statistical dis-
tribution of the trajectory deviations of all UAVs for conflict resolutions. Finally, the
evaluation will include an analysis of the control efforts (altitude rates) of the altitude
deviations during conflict resolution.
Table 7.1: Success rate of conflict resolution for search-tree path planning and rules-based
algorithms (NMAC = 1000 feet)
This will be followed with is a discussion of the control efforts of five UAVs for rules
based algorithm and ten UAVs for path planning, used during conflict resolution. The
control efforts applied during conflict resolution leads to different separation distance and
time to collisions. The summary (box and whiskers) and density distribution plots are
analysed below.
Stellenbosch University https://scholar.sun.ac.za
Figure 7.3: Summary of separation distances of rules-based algorithm for five UAVs
Figure 7.4: Summary of separation distances of path planning algorithm for ten UAVs
Figure 7.7: Distribution of minimum separation distances for path planning algorithm
The summaries of the distributions of the minimum vertical separation distances be-
tween the simulated conflict encounters are presented in Figure 7.8 and 7.9 for rules-based
and path planning respectively.
Stellenbosch University https://scholar.sun.ac.za
Figure 7.8: Summary of minimum altitude separation distances for rules-based algorithms
Figure 7.9: Summary of minimum altitude separation distances for path planning algo-
rithm
Stellenbosch University https://scholar.sun.ac.za
The distribution densities of the minimum vertical separation distances of all UAVs
during conflict resolution are shown in Figure 7.10 and 7.11 for the RAS and CIF algo-
rithms. The path planning algorithm distribution density as shown in Figure 7.12.
Figure 7.12: Distribution of minimum altitude separation distance path planning algo-
rithm
The summaries of the minimum horizontal separation distances of the rules-based ap-
proach are presented in Figure 7.13 and the summary for the path planning algorithm in
Figure 7.14. In all encountered horizontal separation distances of CIF approach, none are
greater than 6000 feet. However, the 75th percentile of the minimum horizontal separa-
tion distance is approximately 6000 feet. The median of the minimum separation distance
for the path planning is between 2000 and 3000 feet.
Stellenbosch University https://scholar.sun.ac.za
Figure 7.13: Summary of minimum horizontal separation distances for rules-based algo-
rithms
Figure 7.14: Summary of minimum horizontal separation distances for path planning
algorithm
Stellenbosch University https://scholar.sun.ac.za
The density distribution of the minimum horizontal separation distances for rules-
based are presented in Figure 7.15 and 7.16. The results of the two rules-based algorithms
illustrates the horizontal threshold, with RAS near 5000 feet, and CIF near 2500 feet. The
path planning distribution of the UAVs minimum horizontal separation distances is shown
in Figure 7.17.
The density distributions of the minimum time to collision when there is insufficient
vertical separations between the UAVs are shown in Figure 7.19 and 7.20 for RAS and
CIF respectively. The distributions show the thresholds that UAVs are allowed to get
at close range before collisions. The RAS prioritises the time to collision between UAVs
before to reach a minimum of 20 seconds before collisions. However, the CIF approach
only prioritises the time to collision proprieties when they fall below 20 seconds.
Stellenbosch University https://scholar.sun.ac.za
Figure 7.19: Distribution of minimum time-to-collision for RAS when vertical separation
distance in minimum
Stellenbosch University https://scholar.sun.ac.za
Figure 7.20: Distribution of minimum time-to-collision for CIF when vertical separation
distance in minimum
The density distributions of the maximum altitude deviations during conflict resolu-
tion are given in Figure 7.23, 7.24 and 7.25 respectively for the RA, CIF and path planning
algorithms. It can also be noted in the distributions that the altitude deviations of the
RAS advisory are minimised with the median near 50 feet, compared to the most likely
value near 150 feet for RAS. This indicates that RAS distributes the altitude deviations
required for conflict resolution between multiple aircraft. This will however, for RAS,
lead to the he under-actuated multiple UAVs which do not explore the altitude deviation
space. In Figure 7.25, the distribution of altitude deviations for path planning has a
median of near 500 feet, and 25 percent of the values below 250 feet.
Stellenbosch University https://scholar.sun.ac.za
Figure 7.21: Summaries of altitude deviations for five UAVs using the RAS and CIF
rules-based algorithms
Figure 7.23: Distribution of the altitude deviations for the RAS algorithm
The altitude deviations of each UAV was formally defined in Section 5.3 as the cumu-
lative altitude changes from the root node to any other node within a search-tree. The
altitude deviation of each node is the transition cost which is local to each node. The
altitude deviations of a UAV are minimised as transition cost for the search of least cost
manoeuvre. Figure 7.25 shows the statistical distribution of the maximum altitude devi-
ations for each of the UAVs selected by the token allocation. This distribution is related
to the control efforts required by each UAV as discussed in Section 5.4.1.
Figure 7.25: Distribution of altitude deviations of all UAVs which received tokens
The following are simulation results of the altitude deviations of the path planning
algorithm during conflict resolution for each of ten UAVs are illustrated in Figure 7.26 to
Figure 7.35.
Stellenbosch University https://scholar.sun.ac.za
Figure 7.26: UAV 1: Altitude Deviations Figure 7.27: UAV 2: Altitude Deviations
Figure 7.28: UAV 3: Altitude Deviations Figure 7.29: UAV 4: Altitude Deviations
Stellenbosch University https://scholar.sun.ac.za
Figure 7.30: UAV 5: Altitude Deviations Figure 7.31: UAV 6: Altitude Deviations
Figure 7.32: UAV 7: Altitude Deviations Figure 7.33: UAV 8: Altitude Deviations
Stellenbosch University https://scholar.sun.ac.za
Figure 7.34: UAV 9: Altitude Deviations Figure 7.35: UAV 10: Altitude Deviations
The terminal cost function is defined as the magnitude of the altitude deviation at
the end of the planned collision avoidance manoeuvrer. This is also minimised by each
UAV selected by the token allocation. The terminal cost of the Monte Carlo simulation is
shown in Figure 7.36. There are the two most frequent terminal costs in the distribution
of the function. The most likely terminal cost is the level flight and the second likely
cost is the vertical threshold that leads to parallel flight between UAVs (discussed in the
next subsection on distribution of used altitude rates). The distribution of the altitude
rates used throughout the simulation is shown in Figure 7.37. This illustrates that the
UAVs were not under-actuated for the climb and descend manoeuvres. However, we can
observe that climbing was favoured due to the minimum altitude threshold of 1000 feet
above ground level.
Figure 7.36: Distribution of terminal cost per UAV at each planning stage
Stellenbosch University https://scholar.sun.ac.za
The altitude rates density distribution of the RAS in Figure 7.39 are evenly distributed
between between 0 feet per second and 400 feet per second, however 0 feet per second
conflict resolution advisories for level flight are the most likely. The density distribu-
tion of the CIF technique in Figure 7.40 prioritises conflict advisories between pairwise
UAVs, therefore, the method will consequently ignore the number of intruders in a conflict
neighbourhood. Thus, the distribution of altitude rates of CIF are demonstrated better
in Figure 7.40 to illustrates that pairwise UAV conflict advisories are at 50 feet per second
and 350 feet per second.
Stellenbosch University https://scholar.sun.ac.za
Figure 7.38: Summaries of the altitude rates used by the rules-based algorithms
The unit cost of altitude deviations rates/costs (|25| feet per second) of the path
planning for ten UAVs is summarised in Figure 7.41. The transition cost distribution
represents the unit deviations of climb and descend of the UAVs selected by the token
allocation. It is observable that the transition costs are minimised to level flight (0 feet
per second) by the search-tree algorithm. The most likely value of the transition cost for
conflict resolution is the level flight.
Figure 7.41: Distribution of transitional cost per UAV for path planning algorithm
Stellenbosch University https://scholar.sun.ac.za
Chapter 8
This thesis presented a study on rules-based and path planning algorithms for collision
avoidance of multiple unmanned aeriel vehicles with deterministic states modelling. The
rules-based algorithms are modelled after TCAS as a benchmark study and simulation
of tactical vertical manoeuvre conflict resolution. Thereafter, an iterative path planning
algorithm was proposed that uses TCAS vertical inputs for strategic optimisation collision
avoidance. In the summary of work done (Section 8.1), an overview of multiple UAVs
conflict resolution with rules-based and path planning algorithms are given in detail.
The conclusions made in Section 8.2 elaborate on the achievements of the work done
and reflects on the research objectives and goals. Thereafter, the limitations on the
execution of the proposed cooperative rules-based and search-based path planning in terms
of conflict modelling, prediction and resolution, are considered in Section 8.3. Finally,
recommendations on the improvement of cooperative path planning are given in Section
8.4, concluding with Future Work.
185
Stellenbosch University https://scholar.sun.ac.za
multi-aircraft collision avoidance, two methods for combining the pairwise rules-based col-
lision avoidance actions were proposed, namely Resolution Action Superposition (RAS)
and pairwise Closest-Intruder-First (CIF). The path planning based collision avoidance
algorithm grows a search tree of admissible conflict resolution paths, and searches the
tree to find the conflict-free path with the lowest cost. To enable cooperative collision
avoidance, all aircraft communicate their current positions and intended flight paths to all
other aircraft. A token allocation strategy is used so that the individual aircraft plans its
new collision avoidance paths sequentially, according to a predetermined priority order.
A simulation environment was created that simulated the vehicles, the terrain, the com-
munication interface, and the cooperative collision avoidance algorithms. The rules-based
and path planning based collision avoidance algorithms were implemented and verified in
simulation. Set-piece conflict avoidance scenarios were performed to produce illustrative
results. Monte Carlo simulations were presented to produce statistical results and eval-
uate the performance of both algorithms in random conflict scenarios. The illustrative
simulation results were analysed to investigate and compare the qualitative behaviour
of the rules-based and path planning based collision avoidance algorithms. The Monte
Carlo simulation results were analysed to evaluate and compare the quantitative perfor-
mance of the rules-based and path planning based collision avoidance algorithms. The
simulation results show that both the rules-based and path planning based solutions are
able to successfully resolve collision scenarios involving multiple unmanned aerial vehicles.
However, the rules-bases solution requires less computational effort but does not optimise
the collision avoidance plans the path planning based solution requires much more com-
putational effort, but provides optimal solutions that minimises the deviation from the
original flights, and minimises the control effort of the avoidance actions.
8.2 Conclusions
In the presentation of rules-based collision avoidance systems in Chapter 4 we have seen
that continuous intent communication abstraction enables the conflict detection algorithm
to propagate the states of pairwise aircraft. The time-to-collision and horizontal threshold
were derived for TCAS conflict detection alert system with a goal for short-term reac-
tive time. However, the state propagation conflict resolution for TCAS can only react
to instantaneous dynamics states of pairwise UAVs in conflict, which can lead to a new
conflict in few seconds. Furthermore, multiple conflict resolution advisories presented in
the RAS and pairwise CIF are also reactive without any objective function of optimising
of conflict resolution decisions. Thus far, we conclude that TCAS simulation of its con-
flict detection algorithm provided us with enough modelling for multiple aircraft conflict
resolution procedures for Objective 1.
The path planning algorithm was able to propagate the states of intruder aircraft in
sixty seconds with the conflict detection region within a trajectory. Furthermore, the
same conflict detection used in the rules-base conflict avoidance simulations was reused in
the path planning algorithm towards Objective 2. A conflict prediction was able to be
performed in long term with control input optimisation within a search-tree data struc-
Stellenbosch University https://scholar.sun.ac.za
ture for Objective 3. Therefore, the path planning algorithm design was able to reuse
the TCAS vertical input set to simulate the trajectories of other aircraft. In addition, the
search-tree data structure for path planning based collision avoidance was implemented
with a search algorithm which found an optimal altitude level for a UAV during conflict
resolution. Therefore, the manoeuvre which each UAV made had a cost which was made
up of the climb and descend inputs. Conflict resolution with cooperative path planning
was able to simulate both the nominal and path plans states of multiple intruder UAVs
as dynamic obstacles.
The Monte Carlo simulations of both rules-based and path planning algorithms were
presented in Chapter 7 in line with Objective 5. The safe separation distance between
UAVs was analysed as the main safety factor. The conflict resolution results of the rules-
based algorithms were able to react and resolve majority of conflicts involving five UAVs.
However, CIF and RAS rules-based algorithms were only able to maximize the separation
distances between aircraft. Thus, in respect to Objective 6, we conclude that altitude
deviations were not minimised by the rules-based algorithms. Meanwhile, the cooperative
path planning with token allocation was able to consider utilised a cost function for mini-
mization of altitude deviations and manoeuvre space. This was achieved with exponential
growth of a search-tree from TCAS input sets. Finally, the path replanning time surveil-
lance with token allocation showed that UAVs in a multiple conflict can take decisions
in linear time. The statistical terminal and transitional costs of trajectories which were
selected for execution were minimised as set out as the objective of our cost function.
8.3 Limitations
The main limitations of the research are:
• The state propagation and conflict detection modules did not consider any uncer-
tainty in the measurement of the UAV positions and velocities, or any uncertainty
in the execution of the planned flight paths.
• Only vertical collision avoidance actions were considered. Horizontal avoidance ac-
tions, such as heading changes and speed adjustments, were not considered in this
research.
• The rules-based collision avoidance algorithm did not include manoeuvre reversal.
Once a UAV has committed to a vertical action direction, it cannot reverse its
action.
• UAVs were only allowed to proposed a full length trajectories of 60 seconds forward
in time for low uncertainty conflict resolution.
• The path planning based collision avoidance algorithm does not allow an avoidance
manoeuvre to be interrupted while it is being executed. Once a UAV enters collision
avoidance mode, it is "locked in" until it has executed the entire collision avoidance
Stellenbosch University https://scholar.sun.ac.za
plan. If new collisions are detected, then any of the UAVs which are already exe-
cuting collision avoidance plans are not allowed to replan their collision avoidance
paths.
• Horizontal actions, such as heading changes and speed adjustments, should be in-
vestigated as possible alternative collision avoidance actions.
• Sampling-based path planning techniques, that use random state or input sampling,
should be investigated as an alternative to the deterministic actions sampling that
was employed in this research.
Stellenbosch University https://scholar.sun.ac.za
Appendices
189
Stellenbosch University https://scholar.sun.ac.za
Appendix A
Figure A.1: Climbing manoeuvre influenced by wk with two UAVs at equal altitude
190
Stellenbosch University https://scholar.sun.ac.za
Figure A.2: Descend manoeuvre influenced by wk with with two UAVs at equal altitude
Figure A.3: Time-to-Collision(τ ) of the Resolution Action Superposition for Five UAVs
Stellenbosch University https://scholar.sun.ac.za
Appendix B
193
Stellenbosch University https://scholar.sun.ac.za
Appendix C
195
Stellenbosch University https://scholar.sun.ac.za
Figure C.1: Climbing resolution due to a positive relative altitude of pair UAVs
Figure C.2: Descending resolution due to a negative relative altitude of pair UAVs
Stellenbosch University https://scholar.sun.ac.za
List of References
[2] FAA: Integration of Civil Unmanned Aircraft Systems (UAS) in the National Airspace
System (NAS) Roadmap. p. 74, 2013.
[3] Kochenderfer, M.J., Holland, J.E. and Chryssanthacopoulos, J.P.: Next-Generation Air-
borne Collision Avoidance System. Lincoln Laboratory Journal, vol. 19, no. 1, pp. 17–33,
2013.
[4] Kuchar, J.K. and Yang, L.C.: Survey of conflict detection and resolution modeling methods.
American Institute of Aeronautics and Astronautics, Inc., pp. 1388–1397, 1997.
[5] van Daalen, C.E.: Conflict Detection and Resolution for Autonomous Vehicles. Proceedings
of the IEEE, , no. March, 2010.
Available at: http://hdl.handle.net/10019.1/45120
[6] Shanmugavel, M., Tsourdos, A., White, B. and Zbikowski, R.: Co-operative path planning
of multiple UAVs using Dubins paths with clothoid arcs. Control Engineering Practice,
vol. 18, no. 9, pp. 1084–1092, 2010. ISSN 09670661.
[7] Alliot, J.-m. and Durand, N.: FACES : a Free flight Autonomous and Coordinated Embarked
Solver. 2014.
[8] Williamson, T. and Spencer, N.A.: Development and Operation of the Traffic Alert and
Collision Avoidance System (TCAS). Proceedings of the IEEE, vol. 77, no. 11, pp. 1735–
1744, 1989. ISSN 15582256.
[9] Espindle, L.P., Billingsley, T. and Griffith, J.: TCAS multiple threat encounter analysis.
Massachusetts Institute of Technology, Lincoln Laboratory, Project Report ATC-359, 2009.
Available at: http://scholar.google.com/scholar?hl=en&btnG=Search&q=intitle:TCAS+Multiple+Th
[10] Ground, E., Warning, P., Evolve, S. and Safety, P.G.: Enhanced Ground Proximity. , no.
july, pp. 38–40, 2007.
[11] Fan, T.P., Hyams, D.S. and Kuchar, J.K.: Study of In-Flight Replanning Decision Aids.
American Institute of Aeronautics and Astronautics, pp. 980–988, 1998.
[12] Chryssanthacopoulos, J.P. and Kochenderfer, M.J.: Decomposition methods for optimized
collision avoidance with multiple threats. AIAA/IEEE Digital Avionics Systems Conference
- Proceedings, 2011. ISSN 2155-7195.
198
Stellenbosch University https://scholar.sun.ac.za
[13] Pienaar, L.J.: Probabilistic Conflict Detection for Commercial Aircraft near Airports. Uni-
versity of Stellenbosch, , no. October, 2014.
[14] Kuchar, J.K. and Yang, L.C.: A Review of Conflict Detection and Resolution Modeling
Methods. IEEE Transactions on Intelligent Transportation Systems, vol. 1, no. 4, pp.
179–189, 2000. ISSN 15249050.
Available at: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=898217
[15] Kelly, W.: Conflict detection and alerting for separation assurance systems. Gateway
to the New Millennium. 18th Digital Avionics Systems Conference. Proceedings (Cat.
No.99CH37033), vol. B.6-6 vol., pp. 6.D.1–1–6.D.1–8, 1999.
Available at: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=821978
[16] John P. Wangermann and Stengel, R.F.: Principled negotiation between intelligent agents:
a model for air traffic management. 1997.
[17] Pachter, M. and Chandler, P.R.: Challenges Of Autonomous Control - IEEE Control Sys-
tems Magazine. pp. 92–97.
[18] Kuchar, J.K. and Drumm, a.C.: The traffic alert and collision avoidance system. Lincoln
Laboratory Journal, vol. 16, no. 2, pp. 277–296, 2007.
[20] Pritchett, A.R., Haga, R.A. and Li, H.: Attempting to Automate Compliance to Aircraft
Collision Avoidance Advisories. vol. 13, no. 1, pp. 18–25, 2016.
[21] Dowek, G., Muñoz, C. and Geser, A.: Tactical Airspace Conflict Detection and Resolution
in a 3-D Airspace. Contract, p. 20, 2001.
[22] Krozel, J. and Peters, M.: Strategic Conflict Detection and Resolution for Free Flight. , no.
December, pp. 1822–1828, 1997.
[23] Geser, A.: A Geometric Approach to Strategic Conflict Detection and Resolu. pp. 1–11.
[24] Cockerill, B.-g.S.I.R.G.: Cooperative Collision Avoidance between Multiple Mobile Robots.
vol. 17, 1885.
[25] De Wilde, B.: Cooperative Multi-Agent Path Planning. Thesis Master, 2012.
[26] Temizer, S., Kochenderfer, M.J., Kaelbling, L.P., Lozano-Perez, T. and Kuchar, J.K.: Col-
lision Avoidance for Unmanned Aircraft using Markov Decision Processes. AIAA Guidance,
Navigation, and Control Conference (GNC), 2010.
Available at: http://people.csail.mit.edu/lpk/papers/aiaa10.pdf
[27] Boutilier, C.: Planning, learning and coordination in multiagent decision processes. Proceed-
ings of the 6th conference on Theoretical aspects of rationality and knowledge, pp. 195–210,
1996.
Available at: http://dl.acm.org/citation.cfm?id=1029710
[28] Ong, H.Y. and Kochenderfer, M.J.: short-term conflict resolution for unmanned aircraft
traffic management.
Stellenbosch University https://scholar.sun.ac.za
[29] Yu, X. and Zhang, Y.: Sense and avoid technologies with applications to unmanned aircraft
systems: Review and prospects. Progress in Aerospace Sciences, vol. 74, pp. 152–166, 2015.
ISSN 03760421.
Available at: http://dx.doi.org/10.1016/j.paerosci.2015.01.001
[30] Park, J.-W., Oh, H.-D. and Tahk, M.-J.: UAV Conflict Detection and Resolution Based on
Geometric Approach. International Journal of Aeronautical and Space Sciences, vol. 10,
no. 1, pp. 37–45, 2009. ISSN 1229-9626.
Available at: http://koreascience.or.kr/journal/view.jsp?kj=HGJHC0&py=2009&vnc=v10n1&sp=37
[31] Wilkie, D., Van Den Berg, J. and Manocha, D.: Generalized velocity obstacles. 2009
IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS 2009, pp.
5573–5578, 2009.
[32] Fox, D., Burgard, W. and Thrun, S.: The dynamic window approach to collision avoidance.
IEEE Robotics and Automation Magazine, vol. 4, no. 1, pp. 23–33, 1997. ISSN 10709932.
arXiv:1011.1669v3.
[33] Abe, Y. and Yoshiki, M.: Collision avoidance method for multiple autonomous mobile
agents by implicit cooperation. Proceedings 2001 IEEE/RSJ International Conference on
Intelligent Robots and Systems. Expanding the Societal Role of Robotics in the the Next
Millennium (Cat. No.01CH37180), vol. 3, pp. 1207–1212, 2001. ISSN 0780366123.
Available at: http://ieeexplore.ieee.org/document/977147/
[34] Reif, J.H.: Complexity of the mover’s problem and generalizations. 20th Annual Symposium
on Foundations of Computer Science (sfcs 1979), pp. 421–427, 1979.
[35] Kindel, R., Hsu, D., Latombe, J.C. and Rock, S.: Kinodynamic motion planning amidst
moving obstacles. Proceedings 2000 ICRA Millennium Conference IEEE International
Conference on Robotics and Automation Symposia Proceedings Cat No00CH37065, vol. 1,
no. April, pp. 537–543, 2000. ISSN 10504729.
Available at: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=844109
[36] Tsourdos, A., White, B. and Shanmugavel, M.: Cooperative Path Planning of Unmanned
Vehicles. 2010. ISBN 9780470741290.
Available at: http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470741295.html
[37] Krozel, A. and Lafayette, W.: search problems in mission planning and navigation of au-
tonomous aircraft. 1988.
[38] Burgard, W., Stachniss, C., Bennewitz, M. and Arras, K.: Introduction to Mobile Robotics
Robot Motion Planning. , no. July, p. 151, 2011.
[39] Menon, P.K., Sweriduk, G.D. and Sridhar, B.: Optimal Strategies for Free-Flight Air Traffic
Conflict Resolution. Journal of Guidance, Control, and Dynamics, vol. 22, no. 1, pp. 202–
211, 1999. ISSN 0731-5090.
[41] Kochenderfer, M.J. and Chryssanthacopoulos, J.P.: Robust Airborne Collision Avoidance
through Dynamic Programming. pp. 1–118, 2011.
Stellenbosch University https://scholar.sun.ac.za
[42] Billingsley, T.B., Kochenderfer, M.J. and Chryssanthacopoulos, J.P.: Collision avoidance
for general aviation. IEEE Aerospace and Electronic Systems Magazine, vol. 27, no. 7, pp.
4–12, 2012. ISSN 08858985.
[44] Chryssanthacopoulos, J.P. and Kochenderfer, M.J.: Collision avoidance system optimiza-
tion with probabilistic pilot response models. Proceedings of the 2011 American Control
Conference, pp. 2765–2770, 2011. ISSN 07431619.
[45] Sahawneh, L.R. and Beard, R.W.: Path Planning in the Local-Level Frame for Small Un-
manned Aircraft Systems. Kinematics, vol. i, no. tourism, p. 13, 2017.
[46] Kavraki, L.E., Švestka, P., Latombe, J.-C. and Overmars, M.H.: probability roadmaps for
path planning in high dimensional configuration space. CEUR Workshop Proceedings, vol.
1542, pp. 33–36, 2015. ISSN 16130073. arXiv:1011.1669v3.
[47] LaValle, S.M.: Rapidly-Exploring Random Trees: A New Tool for Path Planning. In, vol.
129, pp. 98–11, 1998. ISSN 1098-6596. arXiv:1011.1669v3.
Available at: http://scholar.google.com/scholar?hl=en&btnG=Search&q=intitle:Rapidly-explorin
[48] Webb, D.J. and Berg, J.V.D.: Kinodynamic RRT*: Optimal Motion Planning for Systems
with Linear Differential Constraints. arXiv preprint arXiv:1205.5088, p. 8, 2012. 1205.5088.
Available at: http://arxiv.org/abs/1205.5088
[49] LaValle, S.M. and Kuffner, J.J.: Radomized Kinodynamic planning. Journal of Chem-
ical Information and Modeling, vol. 53, no. 9, pp. 1689–1699, 2013. ISSN 1098-6596.
arXiv:1011.1669v3.
[50] Perez, A., Platt, R., Konidaris, G., Kaelbling, L. and Lozano-Perez, T.: LQR-RRT*: Opti-
mal sampling-based motion planning with automatically derived extension heuristics. Pro-
ceedings - IEEE International Conference on Robotics and Automation, , no. 0, pp. 2537–
2542, 2012. ISSN 10504729.
[52] Latombe, J.-C.: Potential Field Methods. Robot Motion Planning, pp. 295–355, 1991.
Available at: http://link.springer.com/10.1007/978-1-4615-4022-9_7
[53] Eby, M.S.: A self-organizational approach for Resolving Air Traffic Conflicts. vol. 7, no. 2,
pp. 239–254, 1994.
[54] Giese, A.: A Comprehensive , Step-by-Step Tutorial on Computing Dubin ’ s Curves. 2012.
Available at: http://gieseanw.files.wordpress.com/2012/10/dubins.pdf
[55] Prandini, M., Hu, J., Lygeros, J. and Sastry, S.: A Probabilistic Approach to Aircraft
Conflict Detection. IEEE Transactions on Intelligent Transportation Systems, vol. 1, no. 4,
pp. 199–219, 2000. ISSN 15249050.
Available at: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=898224
Stellenbosch University https://scholar.sun.ac.za
[56] Lacher, A.R., Maroney, D.R. and Zeitlin, a.D.: Unmanned aircraft collision avoidance-
technology assessment and evaluation methods. 7th Air Traffic Managemtent Research &
Development Seminar, pp. 1–10, 2007.
[57] Bakker, G.J., Kremer, H.J. and Blom, H.A.P.: Geometric and probabilistic approaches
towards conflict prediction. 3 rd USA / Europe Air Traffic Management R & D Seminar, ,
no. June, pp. 13–16, 2000.
[58] Nguyen-Duc, M., Briot, J.-P. and Drogoul, A.: An application of multi-agent coordination
techniques in air traffic management. IEEE/WIC International Conference on Intelligent
Agent Technology, 2003. IAT 2003., pp. 6–9, 2003.
[59] Yang, L.C. and Kuchar, J.: Using intent information in probabilistic conflict analysis. AIAA
Guidance, Navigation, and Control Conf, pp. 797–860, 1998.
[60] Paielli, R.A. and Erzberger, H.: Conflict Probability for Free Flight Estimation. , no.
October 1996, 2017.
[61] Erzberger, H., Paielli, R.A., Isaacson, D.R. and Eshow, M.M.: Conflict Detection and
Resolution In the Presence of Prediction Error. 2000.
[62] Jones, T. and Appleby, B.: Real-Time Probabilistic Collision Avoidance for Autonomous
Vehicles, Using Order Reductive Conflict Metrics. p. 146, 1999.
Available at: http://dspace.mit.edu/handle/1721.1/29747
[63] Švestka, P. and Overmars, M.H.: Coordinated path planning for multiple robots. Robotics
and Autonomous Systems, vol. 23, no. 3, pp. 125–152, 1998. ISSN 09218890.
[64] Ding, X.C., Rahmani, A.R. and Egerstedt, M.: Multi-UAV convoy protection: An optimal
approach to path planning and coordination. IEEE Transactions on Robotics, vol. 26, no. 2,
pp. 256–268, 2010. ISSN 15523098.
[65] Versteegt, H. and Visser, H.: Traffic complexity based conflict resolution. Air Traffic Control
Quarterly, pp. 1–11, 2003.
Available at: http://arc.aiaa.org/doi/pdf/10.2514/6.2002-4443
[66] Cap, M., Novak, P., Kleiner, A. and Selecky, M.: Prioritized Planning Algorithms for Tra-
jectory Coordination of Multiple Mobile Robots. IEEE Transactions on Automation Science
and Engineering, vol. 12, no. 3, pp. 835–849, 2015. ISSN 15455955. arXiv:1409.2399v1.
[67] van den Aardweg, W.: Robust Sampling-Based Conflict Resolution for Commercial Aircraft
in Airport Environments. University of Stellenbosch, , no. March, 2015.
[68] Chiddarwar, S.S. and Babu, N.R.: Coordination Strategy for Path Planning of Multiple Ma-
nipulators in Workcell Environment. Automation and Robotics in Construction ―
Proceedings of the 24th International Symposium on Automation and Robotics in Construc-
tion, , no. iii, 2017.
[69] Bennewitz, M., Burgard, W. and Thrun, S.: Optimizing schedules for prioritized path
planning of multi-robot systems. Proceedings - IEEE International Conference on Robotics
and Automation, vol. 1, pp. 271–276, 2001. ISSN 10504729.
Stellenbosch University https://scholar.sun.ac.za
[70] Jamoom, M.B., Joerger, M. and Pervan, B.: Unmanned Aircraft System Sense and Avoid
Integrity and Continuity : Uncertainty in Aircraft Dynamics. vol. 39, no. January, pp. 1–10,
2016. ISSN 0731-5090.
[71] Weitz, L.A.: Derivation of a Point-Mass Aircraft Model used for Fast-Time Simulation
MITRE Technical Report. vol. 7013, no. April 2015, pp. 1–27, 2015.
[72] Kim, K.-Y., Park, J.-W. and Tahk, M.-j.: UAV collision avoidance using probabilistic
method in 3-D. 2007 International Conference on Control, Automation and Systems, pp.
826–829, 2007.
Available at: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=4407015
[73] ZHUANG, H.-z. and DU, S.-x.: On-line real-time path planning of mobile robots in dynamic
uncertain environment. Science, vol. 7, no. 4, pp. 516–524, 2006. ISSN 1009-3095.
[74] Munoz, C., Narkawicz, A. and Chamberlain, J.: A TCAS-II Resolution Advisory Detection
Algorithm. AIAA Guidance, Navigation, and Control (GNC) Conference, , no. 16, pp. 1–12,
2013.
Available at: http://arc.aiaa.org/doi/abs/10.2514/6.2013-4622
[75] Honeywell International Inc.: TCAS I Collision Avoidance System Pilot’s guide. Tech. Rep.,
Honeywell, 2006.