SlideShare a Scribd company logo
1 of 75
Download to read offline
Thesis no: MSCS-2016-20
Performance Evaluation of Path
Planning Techniques for Unmanned
Aerial Vehicles
A comparative analysis of A-star algorithm and
Mixed Integer Linear Programming
Apuroop Paleti
Dept. Computer Science & Engineering
Blekinge Institute of Technology
SE–371 79 Karlskrona, Sweden
This thesis is submitted to the Department of Computer Science & Engineering at Blekinge
Institute of Technology in partial fulfilment of the requirements for the degree of Master of
Science in Computer Science. The thesis is equivalent to 20 weeks of full-time studies.
Contact Information:
Author(s):
Apuroop Paleti
E-mail: appa15@student.bth.se
University Advisor:
Prof. Lawrence Henesey
Dept. Computer Science & Engineering
Dept. Computer Science & Engineering
Blekinge Institute of Technology
SE–371 79 Karlskrona, Sweden
Internet : www.bth.se
Phone : +46 455 38 50 00
Fax : +46 455 38 50 57
Abstract
Context: Unmanned Aerial Vehicles are being widely being used for
various scientific and non-scientific purposes. This increases the need
for effective and efficient path planning of Unmanned Aerial Vehicles.
Two of the most commonly used methods are the A-star algorithm
and Mixed Integer Linear Programming.
Objectives: Conduct a simulation experiment to determine the per-
formance of A-star algorithm and Mixed Integer Linear Programming
for path planning of Unmanned Aerial Vehicle in a simulated environ-
ment. Further, evaluate A-star algorithm and Mixed Integer Linear
Programming based computational time and computational space to
find out the efficiency. Finally, perform a comparative analysis of A-
star algorithm and Mixed Integer Linear Programming and analyse
the results.
Methods: To achieve the objectives, both the methods are studied
extensively, and test scenarios were generated for simulation of these
methods. These methods are then implemented on these test scenar-
ios and the computational times for both the scenarios were observed.
A hypothesis is proposed to analyse the results. A performance eval-
uation of these methods is done and they are compared for a better
performance in the generated environment.
Results: It is observed that the efficiency of A-star algorithm and
MILP algorithm when no obstacles are considered is 3.005 and 12.03
functions per second and when obstacles are encountered is 1.56 and
10.59 functions per seconds. The results are statistically tested using
hypothesis testing resulting in the inference that there is a signifi-
cant difference between the computation time of A-star algorithm and
MILP. Performance evaluation is done, using these results and the ef-
ficiency of algorithms in the generated environment is obtained.
Conclusions: The experimental results are analysed, and the efficien-
cies of A-star algorithm and Mixed Integer Linear Programming for a
particular environment is measured. The performance analysis of the
algorithms provides us with a clear view as to which algorithm is better
when used in a real-time scenario. It is observed that Mixed Integer
Linear Programming is significantly better than A-star algorithm.
Keywords: A-star algorithm, Mixed Integer Linear Programming,
performance evaluation.
Acknowledgments
It is a genuine pleasure to express my heartfelt gratitude to my thesis supervisor
Dr. Lawrence Henesey for giving me the opportunity to pursue my thesis in a
topic of my choice and interest. His advice and support were a great encourage-
ment to me through my thesis.
I would also like to thank all my friends and peers for their valuable views
and constant motivation and for all their support throughout my thesis.
I would like to thank my parents Bhanumurthy Paleti and Rajani Paleti for
their unending support and love and for encouraging me throughout my Masters.
ii
Contents
Abstract i
Acknowledgments ii
1 Introduction 1
1.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Research Aim and Objectives . . . . . . . . . . . . . . . . . . . . 1
1.3 Research Questions . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Contribution of the study . . . . . . . . . . . . . . . . . . . . . . 2
1.5 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Background and Related Work 4
2.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.1 Path Planning Problem . . . . . . . . . . . . . . . . . . . . 4
2.1.2 Framework for automated path planning . . . . . . . . . . 5
2.1.3 A-star Algorithm . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.4 Mixed Integer Linear Programming . . . . . . . . . . . . . 6
2.1.5 Efficiency of an algorithm . . . . . . . . . . . . . . . . . . 7
2.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 Method 9
3.1 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.1 Inclusion and Exclusion Criteria . . . . . . . . . . . . . . . 10
3.2 Basic Evaluation of Path Planning Methods . . . . . . . . . . . . 11
3.3 Simulation Experiment . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3.1 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.2 Test Environment . . . . . . . . . . . . . . . . . . . . . . . 14
3.3.3 Test Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3.4 Implementation: . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4 Comparative Analysis: . . . . . . . . . . . . . . . . . . . . . . . . 22
3.5 Formulation of Hypothesis . . . . . . . . . . . . . . . . . . . . . . 22
iii
4 Results 23
4.1 Experimental Results: . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1.1 A-star Algorithm: . . . . . . . . . . . . . . . . . . . . . . . 23
4.1.2 MILP: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2 Performance Evaluation and Comparative Analysis . . . . . . . . 30
4.2.1 A-star Algorithm . . . . . . . . . . . . . . . . . . . . . . . 31
4.2.2 MILP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.2.3 Comparative analysis . . . . . . . . . . . . . . . . . . . . . 34
5 Analysis 36
5.1 Statistical Analysis of the Results . . . . . . . . . . . . . . . . . . 36
5.1.1 Sample Characteristics . . . . . . . . . . . . . . . . . . . . 36
5.1.2 Independent Samples T-test . . . . . . . . . . . . . . . . . 39
5.2 Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2.1 Validation through Statistical Analysis . . . . . . . . . . . 42
5.2.2 Hypothesis . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2.3 Theoretical Validation . . . . . . . . . . . . . . . . . . . . 42
5.3 Computational Differences of A-star Algorithm and MILP . . . . 43
6 Discussion and Limitations 45
6.1 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.2 Threats to Validity . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.2.1 Internal Validity . . . . . . . . . . . . . . . . . . . . . . . 47
6.2.2 External Validity . . . . . . . . . . . . . . . . . . . . . . . 48
7 Conclusions and Future Work 49
7.1 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
References 51
Appendices 55
A Code for A-star algorithm 56
B Code for MILP 59
C Code for AMPL model 61
D Statistical Analysis 64
iv
List of Figures
2.1 Block diagram to show the framework of automated path planning 5
2.2 Pseudo code for A-star algorithm . . . . . . . . . . . . . . . . . . 6
3.1 The optimal path generated by A-star algorithm for Scenario 1 . . 17
3.2 The optimal path generated by A-star algorithm for Scenario 2 . . 18
3.3 A snapshot running the AMPL model for generating the environ-
ment variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4 The optimal path generated by MILP for Scenario 2 . . . . . . . . 21
4.1 Computation time vs Number of Functions for A-star algorithm in
Scenario 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.2 Computation time vs Number of Functions for A-star algorithm in
Scenario 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3 Computation time vs Number of Functions for MILP in Scenario 1 33
4.4 Computation time vs Number of Functions for MILP in Scenario 2 34
4.5 Performance of A-star algorithm and MILP in Scenario 1 . . . . . 34
4.6 Performance of A-star algorithm and MILP in Scenario 2 . . . . . 35
5.1 Descriptive Statistics of Results . . . . . . . . . . . . . . . . . . . 37
5.2 Results for F-test in Scenario 1 . . . . . . . . . . . . . . . . . . . 38
5.3 Results for F-test in Scenario 2 . . . . . . . . . . . . . . . . . . . 38
5.4 Group Statics for Independent Samples T-test in Scenario 1 . . . 39
5.5 Results for Independent Samples T-test in Scenario 1 . . . . . . . 40
5.6 Group Statics for Independent Samples T-test in Scenario 2 . . . 40
5.7 Results for Independent Samples T-test in Scenario 2 . . . . . . . 41
A.1 Creation of environment by assigning values to variables . . . . . 56
A.2 Code for A-star algorithm . . . . . . . . . . . . . . . . . . . . . . 57
A.3 Code for calculating the distance between the nodes . . . . . . . . 57
A.4 Code for obtaining the optimal path . . . . . . . . . . . . . . . . 58
A.5 Code for plotting the path of the UAV . . . . . . . . . . . . . . . 58
B.1 Code for initializing the environment of MILP . . . . . . . . . . . 59
B.2 Code for solving MILP . . . . . . . . . . . . . . . . . . . . . . . . 59
B.3 Code for plotting the path obtained by MILP . . . . . . . . . . . 60
v
C.1 Code for environment in the model created for MILP . . . . . . . 61
C.2 Code for setting up constraints for AMPL model . . . . . . . . . . 62
C.3 Code for calculating the cost of paths in AMPL model . . . . . . 63
C.4 Code for loading and running the AMPL model . . . . . . . . . . 63
D.1 Histogram Depiction of the Results . . . . . . . . . . . . . . . . . 64
D.2 Normal Q-Q Plot Depiction of the Results . . . . . . . . . . . . . 65
vi
List of Tables
3.1 Results Obtained during Literature Review . . . . . . . . . . . . . 10
4.1 Computation time of A-star algorithm for Scenario 1 . . . . . . . 25
4.2 Computation time of A-star algorithm for Scenario 2 . . . . . . . 26
4.3 Computation of MILP for Scenario 1 . . . . . . . . . . . . . . . . 28
4.4 Computation of MILP for Scenario 2 . . . . . . . . . . . . . . . . 29
4.5 Results obtained from the experiment . . . . . . . . . . . . . . . . 31
5.1 Description of Variables used for Statistical Analysis . . . . . . . 38
vii
List of Abbreviations
UAV Unmanned Aerial Vehicle
MILP Mixed Integer Linear Programming
AMPL A Mathematical Programming Language
CPLEX Simplex method implemented in C programming
viii
Chapter 1
Introduction
1.1 Problem Statement
Nowadays, Unmanned Aerial Vehicles (UAV) are being frequently used for mil-
itary, scientific fields and also for commercial and non-commercial purposes like
disaster area monitoring, surveillance, and land surveying [1] [2]. As there is no
need of a person to be present inside these vehicles, they are less complex in
nature and provide a better chance of performing more dangerous missions with
a minimum risk [2]. A lot of these applications requires UAVs to fly at altitudes
where they may encounter obstacles. Also, UAVs flying at high altitudes should
be monitored to avoid any unwanted results [3]. Therefore path planning plays
an important role for the safe operation of UAVs.
For the present scenario of the unmanned aerial vehicle system, people on
the ground operate the UAVs. However, with the increase in usage of UAVs in
the near future, there will be a need to automate the vehicles [2]. This increases
the need for an effective and efficient path planning of the UAVs. Path planning
for UAVs is nothing but determining the path from the start point to the ending
point such that the vehicle does not encounter any obstacles in its course [4]. Path
planning is generally associated with a number of terms like trajectory planning,
navigation planning, local navigation, global path planning, and motion planning
[4]. Various path planning methods for UAVs are proposed mainly to provide
with a safe and an optimal route for the UAVs from their starting point to the
ending point in a hostile or unknown environment.
1.2 Research Aim and Objectives
The main aim of this thesis is to perform a comparative analysis for two of the
frequently used methods for path planning of UAVs namely A-star algorithm
and Mixed Integer Linear Programming (MILP). The two methods are compared
based on two crucial factors, computational time and computational space [4].
Finally, the results are analysed, and simulation is done by considering the prob-
lem instance in terms of environment and applying the algorithm to the problem
1
Chapter 1. Introduction 2
instance.
The primary objectives of this thesis are:
• Conduct a performance evaluation of A-star algorithm and MILP based on
two important factors, computational space and computational time to find
out the efficiency.
• Analyse the performance evaluation and simulate the methods to the prob-
lem instance.
• Perform a comparative analysis of A-star algorithm and MILP based on the
literature and the experimental results.
1.3 Research Questions
RQ 1. What is the efficiency of A-star algorithm and MILP with respect to
computational space and computational time?
Motivation: These methods are both proposed for path planning of UAVs.
It is better to know the efficiency of these methods to know which performs better
in a given environment. So performance evaluation is done to find out efficiency
based on evaluation metrics which are computational space and computational
time.
RQ 2. What are the most significant computational differences between A-star
algorithm and MILP?
Motivation: The methods mentioned above are most commonly used meth-
ods for path planning of UAVs. It is, therefore, useful to know computational
differences between these two methods.
RQ 3. What is the performance of A-star algorithm and MILP in a simulated
environment?
Motivation: Simulation of algorithms is done to solve the optimisation problem.
Here the performance of A-star algorithm and MILP are measured and compared
with each other to analyse the algorithms in similar environments.
1.4 Contribution of the study
The aims and objectives of this research are achieved on the completion of this
study. All the research questions that were proposed were answered. The main
contributions of the research are:
Chapter 1. Introduction 3
• The experiment facilitates us to identify the efficiency of A-star algorithm
and MILP theoretically and also for the simulated environment. This effi-
ciency helps us to identify the better algorithm among the two methods. It
is observed that MILP has a significantly lower computation time than A-
star algorithm. Though MILP has a higher number of functions, it will be
better for implementation in real-time for path planning and generation of
an optimal route as the space required for the function is significantly lower
when compared to the trade-off in time. Therefore the efficient algorithm
for path planning of UAV in the simulated environment is identified.
• Performance analysis of A-star and MILP provides us with a better under-
standing of these two path planning methods in a general sense. Further,
the complexity of the methods theoretically helps us to analyse in what
situation is the algorithm better when implemented in a real-time scenario.
1.5 Thesis Outline
The thesis report consists of 7 chapters. The chapters are as follows. Chapter 1
is the introduction for the thesis where the motivation for the research is briefly
discussed. Chapter 2 contains the background and related work that pertains to
this thesis. The algorithms that were considered were discussed in a generalised
sense. Chapter 3 deals with the research methods and methodology that is used
in this thesis. Chapter 4 provides the results observed and the findings of this
thesis. Chapter 5 deals with the analysis of the results observed in Chapter 4.
Validation of the results is also dealt with in this chapter. Also, computational
differences for the proposed methods are also discussed in this chapter. Chapter
6 deals with discussions and limitations regarding this study. Threats to validity
are also addressed in this chapter. Finally, Chapter 7 concludes the study by
providing the answers to the research questions that provide motivation for this
study. Also, future work that could be done for this study is discussed.
Chapter 2
Background and Related Work
2.1 Background
This chapter provides a basic idea of the path planning problem and puts it in the
context of Unmanned Aerial Vehicles and gives an overview of A-star algorithm
and Mixed Integer Linear Programming. Also, a brief introduction about path
planning problem and efficiency of the algorithm is presented in this section.
2.1.1 Path Planning Problem
Path planning is an area of interest in several fields of research [5]. The main
functionality of a path planner is to devise a path for a machine from a starting
point to the ending point by avoiding obstacles. Path planning is an important
aspect in the area of flight navigation and UAV navigation to avoid problems with
the weather and other such aspects [5]. Technically path planning problem of an
unmanned aerial vehicle, in general, can be defined as determining the path of
a vehicle in a well-defined environment from a starting point to an ending point
where the vehicle is free from collisions with the surrounding objects [4]. Often
these path planning problems for UAV navigation with a diversion from obstacles
turn out to be NP-hard problems [6]. Such problems are often simplified by di-
viding one problem into sub-problems and solving each subproblem individually
[6].
Path planning problems have been thoroughly researched and reviewed. How-
ever when it comes to path planning problems a few criteria that are often taken
into account are computational time, completeness and path length [4]. A path
planning algorithm is said to be more efficient if it has less computational time
[4]. There however might be trade-offs among these criteria to achieve a perfect
solution [4].
Path planning problem is a form of an optimisation problem which consists
of recurring parameters that are to be optimised on the same path [7]. Path
planning is one of the important issues that is to be addressed when it comes to
4
Chapter 2. Background and Related Work 5
the topic of development of UAVs. A path planning algorithm formulates a route
for the UAV from its starting location to the desired ending location [8].
2.1.2 Framework for automated path planning
The framework consists of two important parts namely external information and
analytical process [9]. External information mainly consists of the environment
that the vehicle is going to travel in along with variables and constraints. All such
factors must be considered to set a goal [9]. The analytical part consists of an
integration module and a path generation module [9]. In the integration module,
the costs and goals are computed from the external information and finally a
path is generated based on the analysis done. The framework is represented in
the form of a block diagram as shown in Figure 2.1.
Figure 2.1: Block diagram to show the framework of automated path planning
2.1.3 A-star Algorithm
One of the most widely used path planning algorithms for finding the shortest
path is the A-star algorithm. The A-star algorithm uses a heuristic function h(n)
to find the cost of the best path from start node to the end node [10]. A-star
algorithm is a best first algorithm and can be evaluated with the function f(n) as
f(n) = g(n) + h(n)
where g(n) is the actual length of the evaluated path from the start to the finish
node and h(n) is a heuristic estimate of the remaining distance to the goal state
[11]. A-star algorithm is only admissible if the heuristic function always gives the
exact distance to the goal. However, this may be practically impossible [12].
A-star algorithm might be admissible in some cases as it considers only a few
nodes. This is because A-star algorithm uses an optimistic estimate of the cost of
a path [10]. In a best case scenario, A-star algorithm is as fast as the Best First
Chapter 2. Background and Related Work 6
Search algorithm. In a worst case scenario, as Best First Search algorithm should
consider all paths to all the possible nodes, its time complexity is increased [13].
We can say that one of the best-suited algorithms for finding the optimal path
is A-star algorithm [13]. The pseudo code for A-star algorithm is presented in
Figure 2.2
Figure 2.2: Pseudo code for A-star algorithm
2.1.4 Mixed Integer Linear Programming
Linear programming models are commonly used to solve mathematical problems
for optimisation and try to arrive at an optimal solution [14]. Linear program-
ming takes in the problem statement and represents it in the form of mathematical
equations [14]. An optimal solution is a point where the maximum or minimum
value is taken by the objective function [14].
Linear programming has a special case called integer programming which re-
quires the variables to be integers [14]. For such cases, mixed integer linear
programming is used [14]. Mixed Integer Linear Programming is one of the best
optimisation methods which is a combination of both continuous and discrete
variables [15]. Therefore MILP can solve problems involving both continuous
and discrete variables [15]. Formally Mixed Integer Linear Program is a problem
having
Chapter 2. Background and Related Work 7
• A linear objective function fT
x, where x is a variable column vector and f
is the column vector of constants.
• Linear constraints, a lower bound, and an upper bound.
It is mathematically represented as:
minx,z fT
1 x + fT
2 z
subject to A1x + A2z ≤ b
MILP is a recent approach that has been developed in the filed of path plan-
ning and has been proven to be an essential and a suitable way to avoid obstacles
in a dynamic environment [16]. The main advantage of MILP is that it can ef-
ficiently solve optimization problems that commonly occur in obstacle avoidance
problems [16]. MILP differs form a regular linear programming problem as only
a few variables can be integers. Therefore the solution space of linear program-
ming problem and mixed integer linear programming problem are similar [17].
The MILP problem is generally NP-complete but as the problem size increases it
becomes NP-hard [15].
2.1.5 Efficiency of an algorithm
The efficiency of an algorithm is related to the amount of resources used by the
algorithm [18]. For greater efficiency of the algorithm, we aim at minimising the
resources used by the algorithm. Resources are mainly measured by two factors:
• Time: The total time taken for the complete execution of the algorithm.
• Space: The amount of memory needed by the algorithm to function prop-
erly. This may be the memory required for the code and also the amount
of memory required for the data using which the code operates.
Usually, time complexity is analysed using Big O notation to get a near esti-
mate of the running time of the algorithm for the given data. This is useful for
comparison of algorithms when there is a large input data.
Space complexity is an analytical estimate of the amount of run time memory
needed as a function of the size of input data. Big O notation is used to express
space complexity. Space complexity considers the amount of memory needed by
the code of the algorithm, input data, output data, and also as the workspace
during execution of the code.
Chapter 2. Background and Related Work 8
2.2 Related Work
Previously, many different path planning algorithms have been proposed. These
algorithms aim at providing an optimal route for the UAV in a dynamic envi-
ronment [19]. The efficiency of these algorithms is generally measured with the
help of criteria like computational cost and time [4]. Path planning algorithms
can be broadly classified into potential field algorithms, probabilistic algorithms,
and graph search algorithms as mentioned in [7]. Heuristic approaches like tabu
search, ant colony optimisation, simulated annealing are more commonly used
methods for path planning. Algorithms like mixed integer linear programming
(MILP), A-star algorithm, market-based algorithm, and Voronoi partitioning are
discussed in detail in [6] [7].
In [7] the author briefly describes the algorithms and also mentions about a
software tool called PCube which is used to generate waypoint sequences. In [3]
the author aims to study about sampling based path planning algorithms. In
[20], the author emphasises on path planning for ground vehicular systems and
feasibility with the environment. [21] deals with adaptive path planning problem
and simulation of a real-time path planner. In [9] the authors aim to understand
how humans conduct path planning under time pressure by experimenting with
four cost functions in a domain. In [11] the author aims to develop an algorithm
for path planning to avoid obstacles and obtain an optimum trajectory with min-
imum arrival time to destination.
In [22] the author proposes a simulation experiment using MILP for path plan-
ning of UAVs using Archimedes spiral thereby solving the path planning problem
for UAVs within a dynamic environment.A-star algorithm and its importance in
path planning of UAVs is discussed in [23]. Also, the important features of graph
search algorithms are discussed in [7]. In [19] the author talks about the impor-
tance of path planning algorithms and compares A-star algorithm with Dijkstra’s
algorithm. The author of [14] discusses in detail about task assignment and mis-
sion scheduling using Mixed Integer Linear Programming. [24] clearly discusses
the efficiency of algorithms.
Chapter 3
Method
This chapter describes the type of method used for implementing the study and
thereby answering the research questions. Initially, both, A-star algorithm and
Mixed Integer Linear Programming are thoroughly studied. An understanding
of what the algorithms should be evaluated on is acquired. In this experimental
scenario, computational time and computational space are considered as perfor-
mance metrics.
3.1 Literature Review
Based on the related work that has been done in the area of path planning for
UAVs, a literature review is conducted. Articles related to path planning meth-
ods and techniques along with various algorithms used for path planning were
considered and studied. The research papers, journal articles, conference papers
and thesis reports were obtained form various databases.
The search was performed in five stages. The key words used were modified
each time such that initially all the research related to path planning algorithms
is considered. Later the search was narrowed to path planning methods and tech-
niques that consist of obstacle avoidance and also most efficient path planning
algorithms.
A total of 543 articles were found in the initial search. These articles include
journal articles, conference papers, thesis documentations and research papers.
These articles were filtered based on the availability of full text in the database.
This criteria reduced the search result to 399 articles. Further, the articles were
considered only if they are from the last 20 years, which resulted in the results
to consist 260 articles. The abstracts for these 260 articles were studied and of
these 53 articles were found to be most relevant to the topic at hand.
The search strings are further modified thereby deepening the search using
snowballing technique [25]. The relevant articles are thoroughly studied.
9
Chapter 3. Method 10
3.1.1 Inclusion and Exclusion Criteria
Inclusion criteria
• Articles that discuss the key features of path planning methods were con-
sidered.
• Articles that were published in the last 20 years were considered.
Exclusion Criteria
• Articles that were published in English were considered.
• Articles for which full text was not available or the articles that need to be
purchased were excluded.
• Articles without proper citations were excluded.
Keywords
Number of arti-
cles
Number of Ar-
ticles after ex-
clusion
"Path Planning Algo-
rithms"
153 6
"Path Planning and
"Optimization"
147 15
"Path Planning" and
"Obstacle Avoidance"
92 13
"Path Planning" and
"Efficiency"
140 15
"Path Planning" and
"Complexity"
16 4
Table 3.1: Results Obtained during Literature Review
Motivation for Selection of A-star and MILP:
From the Literature review that has been conducted, it has been observed that
the most widely used path planning techniques that are being used for UAVs
are A-star algorithm and MILP. A-star algorithm is being used with obstacle
avoidance to get the efficient path of the algorithm [6]. Also A-star algorithm is
the most widely used algorithm among all the heuristic algorithms [6]. It is also
found that MILP is an effective and an efficient method for path planning using
obstacle avoidance [16]. Further it is observed that MILP can solve optimization
problems for path planning along with obstacle avoidance [17]. Since these two
methods are found out to be widely used and are considered to be efficient in
their respective areas, they are chosen for a comparative analysis in this study.
Chapter 3. Method 11
3.2 Basic Evaluation of Path Planning Methods
Evaluation of path planning methods means to determine the number of resources,
generally space and time, required by the methods to execute [26]. Most of the
algorithms and methods are created in such a way that they can work with a set
of arbitrary inputs. Consistently efficiency of an algorithm is measured as time
complexity or space complexity [27].
Algorithm analysis is an important area as it provides a theoretical estima-
tion of the required resources needed by an algorithm for computing and solving
a problem [28]. This estimation can potentially provide insight on appropriate
ways to find efficient algorithms.
Theoretically, in the analysis of algorithms and methods, the complexity of
algorithms is estimated, as it is relatively easier to estimate the complexity for
a large problem size [28]. Most commonly, Big O notation, Big-theta notation
and Big-omega notation are used for measuring the complexity [29]. As there is
a possibility for a difference in efficiency for different algorithms and methods for
different implementations with different inputs, asymptotic estimates are used to
this end. However, certain implementations of algorithms usually require certain
assumptions for computing exact efficiency of the algorithm or methods.
Measuring the performance is the most common way to arrive at a definitive
conclusion regarding the efficiency of the algorithm. Analysis and evaluation of
algorithms is an important aspect, as the unintended use of an inefficient algo-
rithm can impact the performance of the system significantly [18]. In the case of
time-sensitive applications or programs, an algorithm that takes a lot of time for
execution can produce results that are useless and obsolete [18]. This can lead to
serious problems in practical situations. Also, an algorithm which is inefficient
can wind up requiring additional resources and use them uneconomically to ren-
der it useless [18].
For path planning algorithms in the case of UAVs, algorithmic efficiency plays
a pivotal role. Evaluation of algorithms for finding the best-suited algorithm for
a particular scenario is very important. The algorithms that were considered for
performance evaluation in this study were A-star algorithm and Mixed Integer
Linear Programming (MILP). These are the most commonly used methods for
path planning of UAVs.
The criteria on which these path planning algorithms were evaluated are com-
putational time and computational space. Big O notation is used for evaluating
the algorithms. This is because the exact counting of all the operations is quite
difficult. Big O notation allows us to estimate a cost function that facilitates us
Chapter 3. Method 12
to approximate the growth rate of the algorithm. An approximation is good when
the problem size gets too large. Big O notation is commonly used as it does not
give an explicit interpretation of the cost function for a distinct problem size [15].
The general idea is that the behaviour of the algorithm is expressed as the
problem size grows large enough that it ignores constants and lower order terms.
The results of this evaluation of A-star algorithm and MILP are presented clearly
in Chapter 4.
3.3 Simulation Experiment
Simulations are programs based on some systems or processes in a computer [30].
The main motivation for using a simulated experiment is that they are simplified
versions of real-world scenarios with a controlled environment [30]. This control
over the environment is implemented to focus on the main topic at hand thereby
achieving the desired results with a greater degree of reliability [31].
A simulation program can be developed for an algorithm and can be executed
to get results that are satisfactory for the algorithm in the created environment
[31]. Every algorithm has its own advantages and disadvantages [31]. For simu-
lating an algorithm the following steps are implemented.
• Generate a program that can mimic the functionality of the algorithm in
real-time.
• Implement the program containing the algorithm.
• Conduct experiments on this system and analyse the results.
A simulation experiment is chosen for this research because the environment
that is generated is controlled. The execution of the algorithms in a real-time en-
vironment is quite difficult because the problem size would be large. This will be
inefficient as the results observed might be flawed or hard to analyse. Therefore,
a simple environment is generated and, the algorithms are simulated accordingly.
The simulation model that best suits this experiment is continuous simulation
as the variables are changing continuously [32]. Discrete simulation model does
not fit very well in this case as the variables do not change in discrete times and
steps for the simulated environment [32]. Also, discrete model is not considered
as the simulation becomes complex and the environment variables will be harder
to simulate on the instance.
The two most widely used methods for path planning of UAVs are the A-star
algorithm and MILP [4]. So these two methods are taken for an experimental
analysis wherein the time taken for each of the method to compute a given test
Chapter 3. Method 13
scenario is measured with respect to the number of functions that algorithm needs
to compute the scenario.
This experimental analysis is done using Matlab software. First, both the
methods were carefully studied and pseudo code for A-star algorithm and MILP
were analysed. Test scenarios were generated and a code was developed accord-
ingly using Matlab. The simulation is expected to result in an optimal path for
an unmanned aerial vehicle with collision avoidance using both A-Star algorithm
and MILP. A general result from the simulations is a trajectory from the starting
point to ending point where collision avoidance is enforced to make the route of
the UAV optimal and more practical. This simulation for both the algorithms
was done using common scenarios.
3.3.1 Assumptions
Usually, in simulation experiments, assumptions are made to keep the system
stable and to avoid any external errors that may occur [33]. A few assumptions
are made for the experiment performed in this study are as follows:
• The UAV can only travel in X and Y coordinates which means that the
UAV should travel around an obstacle and cannot fly over or under the
obstacle.
• The environment created in the experiment is static, i.e., the obstacles are
fixed and are not moving. In a real world setting these static objects can
be buildings, structures or trees that might occur in the path of a UAV.
• Moving obstacles (which can be other UAVs) are not considered so that
the main emphasis of the results is on the performance of the path planning
techniques. This allows us to measure the performance of the path planning
techniques in a simple environment.
• The starting point and the ending points of the UAV are predetermined to
maintain optimality.
• The external factors such as wind and fuel consumed do not affect the
performance of the algorithms. This is because only a simplified model of
a UAV is considered
• The optimal path is obtained by calculating the shortest distance between
the starting point and the ending point of the UAV. Also, the path calcu-
lated by the algorithms is always optimised for better results.
Chapter 3. Method 14
3.3.2 Test Environment
The simulation experiment was performed on a computer with the following spec-
ifications:
• Operating system: Windows 10 Home
• Processor: Intel® Core ™ i3-4030U CPU @ 1.90 GHz
• Installed memory (RAM): 4GB
• System type: 64-bit Operating System, x64-based processor
3.3.3 Test Scenarios
An environment for the path planning is carefully designed for both A-star algo-
rithm and MILP. Initially, a grid is taken as a 2-dimensional array map with size
on the X axis as 50 units and size on the Y axis as 25 units. This array stores
the coordinates of the map and objects in each coordinate. The input values for
the test cases are the number of obstacles, starting point of the UAV and final
position of UAV. These test scenarios are developed using Matlab software. The
position of the obstacles is randomly generated. If there are more obstacles, the
time taken for computation of the path is also increased. Therefore we can say
that the number of obstacles encountered by the UAV is directly proportional to
the time taken for computing an optimal path. However, to maintain optimality
we consider equal number of obstacles for A-star algorithm and MILP.
Number ofobstacles ∝ Computation time
A-star Algorithm:
A test environment for A-star algorithm is created in such a way that there are
starting and ending points for the UAV. The number of obstacles is taken as 5.
The main motivation for considering only 5 obstacles is that the path of the UAV
when affected by the positions of 5 obstacles is observed to be similar when more
obstacles are considered i.e, the computation time is observed to be similar to
that when 5 obstacles were considered. Therefore, to maintain optimality and
simplicity and to obtain more accurate results only 5 obstacles were considered.
The obstacles are randomly placed across the path of the UAV. The algorithm
generates a path for the UAV in such a way that the obstacles are avoided, and
the UAV reaches the goal node without any collisions. The final route that is for-
mulated will be the optimal route which gives the shortest path from the starting
point to the ending point avoiding collision with the obstacles.
Chapter 3. Method 15
Two cases are considered for the environment for the path generation of the UAV
using A-star algorithm.
Scenario 1: No obstacles are encountered by the UAV.
Scenario 2: Obstacles are encountered by the UAV.
MILP:
Test environment for MILP is generated in such a way that a starting point for
the UAV is predetermined, ending point of UAV is predetermined, and the ob-
stacles are randomly placed. The number of obstacles for MILP is taken as 5.
The UAV starts from the starting node and reaches the goal node in an optimal
route avoiding the obstacles in its path. The final route that is formulated by the
algorithm has an optimal time which gives the shortest path from the starting
point to the ending point without any collisions.
Two cases are considered for the environment for the travel of the UAV using
MILP.
Scenario 1: No obstacles encountered by the UAV.
Scenario 2: Obstacles are encountered by the UAV.
For Scenario 1, 5 obstacles are randomly placed such that the path of the
UAV is unobstructed and for Scenario 2, the 5 obstacles are placed in such a way
that the path of the UAV is obstructed and the collision avoidance function is
used to generate the path.
3.3.4 Implementation:
Both the path planning methods are implemented in both the scenarios. Imple-
mentation for each of the method is explained individually.
A-star Algorithm:
A-star algorithm is used to calculate the shortest path from a starting point to an
ending point. Initially, an interface is created where a starting point and ending
point of the UAV are generated. Obstacles are placed for each scenario such that
the test cases are satisfied. This algorithm generates the shortest path between
the starting point of the UAV and the ending point. After the environment is
created as a 2-dimensional map array and the starting point and ending points
of the UAV are fixed, positions of the obstacles are fixed.
The obstacles are generated randomly. For one scenario, a path where no
obstacles are encountered and another scenario where obstacles are encountered
by the UAV are considered. This may increase the computation time of the
algorithm as the collision avoidance function should be processed each time an
obstacle is encountered.
Chapter 3. Method 16
Cost Function: The distance between any two nodes can be obtained by sim-
ply calculating the straight distance between the nodes. This might not always
be true practically as there may be obstacles present in the path. As long as the
cost is not overestimated, the algorithm can generate an optimal path.
The implementation of A-Star algorithm is as follows:
1. Initially, set the start node on OPEN list and proceed to calculate the
cost function f(n) where the heuristic function is 0 and g(n) is the distance
between the start position of the UAV and the goal node.
2. Remove the node with the smallest cost function from the OPEN list and
put it in the CLOSED list. Let this be node n.
3. If n is found to be the goal node, then terminate the algorithm and obtain
the solution path using pointers. Else continue to step 4.
4. Compute the cost function for each successor node on the CLOSED list.
5. Associate each successor node on OPEN list or CLOSED list with the cal-
culated cost and put them on the OPEN list.
6. Associate with successors on the OPEN list with cost values smaller than
the previous node.
7. Go to step 2.
The Matlab Program for A-star algorithm consists of
• A main file that needs to be executed to run the program.
• A distance function to calculate the distance between two nodes.
• A function to take in the list of successor nodes and calculate the cost
function.
• A function to generate the OPEN list with values.
• A function that takes values from the OPEN list and returns the node with
the least cost function.
• Also a function to index the location of the node in the OPEN list.
The path traversed by the UAV is displayed as a trajectory from the starting
point to the ending point. Whenever an obstacle is encountered, the path of the
UAV deviates. The trajectories for the two test cases are shown in Figure 3.1 and
Figure 3.2.
Chapter 3. Method 17
Figure 3.1: The optimal path generated by A-star algorithm for Scenario 1
Figure 3.1 shows the path for a UAV for Scenario 1 when no obstacle is en-
countered in its path from starting point to the ending point. The starting and
ending point are placed far apart from each other and are blue in colour. The
blue line represents the path travelled by the UAV. The obstacles are present at
random positions and are represented by red circles.
Chapter 3. Method 18
Figure 3.2: The optimal path generated by A-star algorithm for Scenario 2
Figure 3.2 shows the path for a UAV for scenario 2 when obstacles are encoun-
tered in its path. The starting and ending point are placed far apart from each
other and are blue in colour. The path of the UAV is represented as a blue line.
The obstacles are present at random positions and are represented as red circles.
When the UAV detects an obstacle, the path deviates. The A-star algorithm
generates the shortest route to the final point.
The time taken for execution of the algorithm in these two scenarios is taken
along with the number of functions the algorithm needs to execute in order to
get the optimal route.This done using the profiler in Matlab. The results are
presented in Chapter 4.
MILP:
Mixed integer linear programming is used to find an optimal route that takes the
least amount of time to reach the goal node from the starting node. A set of way-
Chapter 3. Method 19
points determines the path travelled by the UAV. These waypoints are generated
in such a way that a continuous path from the waypoints gives the route of the
UAV [34]. Time taken for the UAV to traverse is calculated for each scenario.
Collision avoidance function is implemented so that the algorithm implementa-
tion is practical. An optimal route is calculated using the IBM ILOG CPLEX
optimisation tool and A Mathematical Programing Language (AMPL) which is
a modelling language used to solve complex problems [35].
AMPL is used to create and translate models [36]. It helps in indexing and
sorting out of variables. Many solver codes are used in conjunction with AMPL.
CPLEX optimisation tool is a commercial optimizer which efficiently generates
the shortest route from the starting point to the ending point [35]. Matlab, AMPL
and CPLEX optimizer are used together to get the best possible scenario using
MILP for generating the shortest path.
The implementation of MILP is as follows:
1. Initially, a default set of waypoints are generated for plotting the path of
the UAV. These waypoints can be generated according to the test cases.
2. A continuous path is generated connecting these waypoints.
3. All the data required for a particular scenario is generated using a Matlab
function writeAmplModel.
4. A .dat (data) file is generated which consists of all the data regarding the
UAV and the environment.
5. AMPL is now used to load the model and implement the respective data
file for generation of the path.
6. Time taken by the UAV from the starting point to the ending point is now
calculated. This is done from a function getTimeFromPath.
7. Different sets of waypoints are generated where for each set of waypoints
the UAV has its own time to travel from the starting point to the end point.
8. The solution for each path generated is recorded.
9. This solution is plotted to get the optimal path from start point of the UAV
to the end point.
AMPL modelling language with the commands needed to run the model that
defines the environment for MILP is presented in Figure 3.3. After assigning
the values to the variables for the environment, a data file is generated with all
the environment variables as shown in Appendix C.1. CPLEX optimisation tool
Chapter 3. Method 20
is used to optimise the cost for travelling from the starting point to the ending
point.
Figure 3.3: A snapshot running the AMPL model for generating the environment
variables
Matlab program for MILP consists of
• A main file that needs to be executed to run the program and set the data
to the variables.
• A function to generate waypoints.
• AMPL and IBM ILOG CPLEX optimisation tool to generate a model and
optimise the solution.
• A function to calculate the time taken by the UAV from the starting point
to reach the goal.
• A function to optimise the path of the UAV using optimisation toolbox of
Matlab.
Chapter 3. Method 21
Figure 3.4: The optimal path generated by MILP for Scenario 2
Figure 3.4 shows the trajectory of the UAV using MILP when no obstacles are
encountered. The starting point and the ending point are selected far apart from
each other and the way points generated are in such a way that the shortest path
is reached from the start point to the end point. The obstacles are represented
as boxes.
Similarly a path for UAV is optimised when obstacles are encountered. This is
done using the AMPL modelling where all the environment variables are assigned
values. CPLEX optimisation tool is used to optimise the path.
Finally, the time taken for the program to execute is taken for both the sce-
narios along with the functions needed by the program to execute. The results
are presented in Chapter 4.
Chapter 3. Method 22
3.4 Comparative Analysis:
A comparative analysis for A-star algorithm and MILP is done to determine the
performance of these algorithms and compare the performance for the test cases.
The performance of each algorithm is measured with the time taken for execution
of the program for that algorithm with the number of functions used to get an
optimal route. This measure of performance for both the algorithms is compared
and the algorithm with best execution time and the algorithm with least number
of functions is presented. These factors help us determine which algorithm is
better for computation of an optimal route of UAV in the given environment.The
comparative analysis for A-star algorithm and MILP is discussed in Chapter 4.
3.5 Formulation of Hypothesis
The results obtained form the experiment are compared and analysed statistically
to understand which method among A-star algorithm and MILP performs better
in Scenario 1 and Scenario 2. For this purpose we need to analyse the data and
statistically verify if there is actually a significant difference in the time observed
for A-star algorithm and MILP in each scenario. the hypothesis proposed is as
follows.
H0 (Null Hypothesis): There is no significant difference in the computation
time for A-star algorithm and MILP.
H1 (Alternate Hypothesis): There is a significant difference in the computa-
tion time for A-star and algorithm and MILP.
This hypothesis is tested statistically to verify the findings of this study and
to validate the results that are observed through the experiment. The statistical
testing method is elaborated further in Section 5.1.
Chapter 4
Results
The following section presents the results of the experiment as per the research
method proposed in Chapter 3.
4.1 Experimental Results:
The experiment for generating an optimal route for the UAV using A-star algo-
rithm and MILP is performed using Matlab software. A program utilising the
A-star algorithm is developed as presented in Appendix A to generate an optimal
route which is the shortest route from the starting point to the ending point. Also
another program using the similar environmental conditions is developed which
utilises MILP. This program utilises AMPL to create a model that generates the
environment. CPLEX optimizer is used to optimise the path.
The experimental results utilising both the algorithms are presented individ-
ually. Each scenario for A-star algorithm and MILP is implemented 10 times.
A total of 10 iterations were considered as it was observed that the difference in
the mean for more iterations is insignificant and the standard deviation is very
small. Therefore to obtain the results that are optimal, the number of iterations
was stopped at 10 as 10 data points for each algorithm in each scenario provides
the required results.
4.1.1 A-star Algorithm:
The program using A-star algorithm is executed in Matlab. This generates the
shortest route from the starting point to the ending point. Two scenarios were
considered where Scenario 1 has an environment where no obstacles are encoun-
tered by the UAV and Scenario 2 has an environment where obstacles are en-
countered by the UAV. The program is executed for both the scenarios and is
repeated thrice. The execution time of the program utilising A-star algorithm is
measured by taking the average of the three values for execution times in both
23
Chapter 4. Results 24
the cases.
The efficiency of the program utilising the algorithm is obtained by taking the
number of functions used by the program to get an optimal route along with the
computation time of the program. This process is done for the scenario where
obstacles are not encountered by the UAV and a scenario where the UAV encoun-
ters obstacles. Efficiency, in this case, is determined as the time taken to execute
the program utilising the functions to obtain an optimal shortest route from the
starting point to the ending point.
The experiment is repeated 10 times for both the scenarios by executing the
program. The average of the 10 repetitions is taken and is considered as the
computation time of A-star algorithm. Also the standard deviation of the 10
iterations is calculated for both the scenarios to make sure the change in time is
minimal.The standard deviation (s) is calculated as the square root of variance
(s2
) and can be represented by the formula
s =
(X − M)2
n − 1
(4.1)
where X is the time in each repetition, M is the mean, and n is the number of
repetitions. The results for the computation time of the program utilising the A-
star algorithm are presented for Scenario 1 where the UAV does not encounters
obstacles and Scenario 2 where the UAV encounters obstacles along with their
average computation times in Table 4.1 and Table 4.2 respectively.
Chapter 4. Results 25
Repetition
Computation
Time (seconds)
Repetition 1 37
Repetition 2 35
Repetition 3 31
Repetition 4 33
Repetition 5 34
Repetition 6 37
Repetition 7 33
Repetition 8 35
Repetition 9 36
Repetition 10 35
Mean (Average) 34.6
Standard Deviation 1.897
Table 4.1: Computation time of A-star algorithm for Scenario 1
Chapter 4. Results 26
Repetition
Computation
Time (seconds)
Repetition 1 68
Repetition 2 65
Repetition 3 72
Repetition 4 69
Repetition 5 66
Repetition 6 60
Repetition 7 68
Repetition 8 65
Repetition 3 66
Repetition 10 65
Mean (Average) 66.4
Standard Deviation 3.169
Table 4.2: Computation time of A-star algorithm for Scenario 2
The functions utilised by the program is constantly observed to be 104 for
the program executing the A-star algorithm for both the cases. Therefore the
efficiency of the program utilising A-star algorithm can be computed as follows
Scenario 1: The average computation time for the scenario where UAV does
not encounter obstacles is observed to be 34.3 seconds for 104 functions. The
standard deviation calculated is 1.897. Therefore, if we consider efficiency as a
function of computation time and the number of functions executed, we can say
that
Efficiency =
Number of functions
Computation time
=
104
34.6
= 3.005
Therefore the efficiency of A-star algorithm in the given scenario is said to be
3 functions per second.
Scenario 2: The average computation time for the scenario where the UAV
encounters obstacles is observed to be 66.4 seconds and the number of functions
executed are observed to be 104. The standard deviation calculated is 3.169.
Therefore the efficiency being the function of number of functions and the com-
Chapter 4. Results 27
putation time, we can say that,
Efficiency =
Number of functions
Computation time
=
104
66.4
= 1.56
Therefore the efficiency of A-star algorithm for the given scenario is observed
to be 1.56 functions per second.
4.1.2 MILP:
The program using MILP is executed in Matlab using the model created by
AMPL and optimized using CPLEX optimizer. This program generates the op-
timal route from the starting point to the ending point for both the scenarios.
Scenario 1 where no obstacles are encountered by the UAV and Scenario 2 where
obstacles are encountered by the UAV. The program using MILP is executed and
repeated thrice for both the scenarios. The execution time of the program util-
ising MILP is determined by taking the average of the three execution times in
both the scenarios.
The efficiency of the program utilising MILP is determined by considering the
number of functions utilised by the program to generate an optimal route from
the starting point to the ending point. This is done by counting the number of
functions utilised by the program for both the cases where obstacles are not en-
countered by the UAV and where obstacles are encountered by the UAV. In this
case, the efficiency is determined as a function of time taken to compute the func-
tions utilised by the program to generate an optimal path from the starting point
of the UAV to the ending point and the number of functions used by the program.
The experiment is repeated 10 times for both the scenarios and the average
computation time is calculated.The results for computation time of the program
utilising MILP is tabulated and presented for Scenario 1 and Scenario 2. The
average time is considered as the total computation time of the program for each
scenario. The computation times of the program for Scenario 1 and Scenario 2
are presented in Table 4.3 and Table 4.4 respectively.
Chapter 4. Results 28
Repetition
Computation
Time (seconds)
Repetition 1 14
Repetition 2 19
Repetition 3 17
Repetition 4 14
Repetition 5 15
Repetition 6 12
Repetition 7 16
Repetition 8 19
Repetition 9 17
Repetition 10 13
Mean (Average) 15.60
Standard Deviation 2.413
Table 4.3: Computation of MILP for Scenario 1
Chapter 4. Results 29
Repetition
Computation
Time (seconds)
Repetition 1 17
Repetition 2 19
Repetition 3 21
Repetition 4 20
Repetition 5 18
Repetition 6 19
Repetition 7 15
Repetition 8 16
Repetition 9 19
Repetition 10 20
Mean (Average) 18.3
Standard Deviation 1.889
Table 4.4: Computation of MILP for Scenario 2
The functions utilised by the program is constantly observed to be 195 for the
program using MILP in both the cases. Therefore the efficiency of the program
for MILP can be calculated as follows.
Scenario 1: The average computation time of MILP for the scenario where UAV
does not encounter obstacles is observed to be 15.6 seconds for 195 functions. The
standard deviation calculated is 2.431. Therefore, if we consider efficiency as a
function of computation time and the number of functions executed, we can say
that
Efficiency =
Number of functions
Computation time
=
195
15.6
= 12.5
Therefore the efficiency of MILP in the given scenario is said to be 12 func-
tions per second.
Scenario 2: The average computation time of MILP for the scenario where
UAV encounters obstacles is observed to be 18.3 seconds for 195 functions. The
standard deviation calculated is 1.889. Therefore, if we consider efficiency as a
function of computation time and the number of functions executed, we can say
that
Efficiency =
Number of functions
Computation time
=
195
18.3
= 10.6
Chapter 4. Results 30
Therefore the efficiency of MILP in the given scenario is said to be 10.6 func-
tions per second.
4.2 Performance Evaluation and Comparative Anal-
ysis
The performance of an algorithm is the amount of work done by that particular
algorithm in a specific time [29]. This is generally measured in terms of computa-
tion time of the algorithm and space required for the execution of the algorithm
[18]. Hence we can say that the two major aspects of algorithmic performance
are:
• Time
– Time taken for execution of instructions and functions.
– The total computation time of the algorithm.
• Space
– Functions and data structures used.
– Type of functions used.
However, the run time or computation time calculated is system dependent.
This means that the performance of the algorithm might vary from system to
system [29] [18].
The computation time which is determined experimentally in a contained en-
vironment for both A-star algorithm and MILP are presented in Table 4.5. Also
the number of functions that the algorithm utilises to execute the algorithms
along with the efficiency are presented in Table 4.5.
Chapter 4. Results 31
Constraints
A-star
Scenario
1
A-star
Scenario
2
MILP
Scenario
1
MILP
Scenario
2
Average Computation
time (seconds)
34.6 66.4 15.6 18.3
Standard Deviation 1.897 3.169 2.413 1.889
Number of functions 104 104 195 195
Efficiency (Functions
per second)
3.005 1.56 12.5 10.6
Table 4.5: Results obtained from the experiment
4.2.1 A-star Algorithm
For A-star algorithm, the computation time and the number of functions executed
by the program in both the scenarios are taken and is represented as a graph.
The time taken for computation of the program using the algorithm is shown on
Y-axis and the number of functions utilised by the program is shown on X-axis.
For Scenario 1, where no obstacles are encountered by the UAV, it is observed
that the number of functions executed by the program is 104 as presented in
Table 4.5. The average computation time is observed to be 34.6 seconds as pre-
sented in Table 4.5. The time-function graph for Scenario 1 for A-star algorithm
is presented in Figure 4.1.
For Scenario 2, where obstacles are encountered by the UAV, it is observed
that the number of functions executed by the program is 104 as presented in Table
4.5. The average computation time is observed to be 66.4 seconds as presented
in Table 4.5. The time-function graph is for Scenario 2 for A-star algorithm is
presented in Figure 4.2.
Chapter 4. Results 32
Figure 4.1: Computation time vs Number of Functions for A-star algorithm in
Scenario 1
Figure 4.2: Computation time vs Number of Functions for A-star algorithm in
Scenario 2
4.2.2 MILP
For MILP, the computation time and the number of nodes traversed by the UAV
in both the cases is observed and recorded and is graphically represented. The
time taken by the program using MILP is shown on Y-axis and the number of
Chapter 4. Results 33
functions executed by the program to implement the algorithm is taken on X-axis.
For Scenario 1, where no obstacles are encountered by the UAV, it is observed
that the number of functions executed by the program is 195 as observed in Table
4.5. The average time taken by the program using MILP to execute is observed
to be 16.2 seconds as observed in Table 4.5. The time graph for Scenario 1 for
MILP is presented in Figure 4.3.
Figure 4.3: Computation time vs Number of Functions for MILP in Scenario 1
For Scenario 2, where no obstacles are encountered by the UAV, 195 as ob-
served in Table 4.5. The average time taken by the program using MILP to
execute is observed to be 18.4 seconds as observed in Table 4.5. The time graph
for Scenario 2 for MILP is represented in Figure 4.4.
These time graphs help us analyse the efficiency of A-star and MILP for each
individual case where the obstacles are encountered by the UAV and where no
obstacles are encountered by the UAV. Performance of each of the algorithm is
now evaluated experimentally.
Chapter 4. Results 34
Figure 4.4: Computation time vs Number of Functions for MILP in Scenario 2
4.2.3 Comparative analysis
Comparison for A-star algorithm and MILP is done to evaluate the efficiency
of these algorithms for the scenarios considered in the generated environment.
Graphs are plotted to compare the two algorithms in Scenario 1 and Scenario 2.
Figure 4.5: Performance of A-star algorithm and MILP in Scenario 1
From figure 4.5, we observe that in Scenario 1 the computation time of MILP
Chapter 4. Results 35
is significant less though the number of functions computed are more. So we can
infer from the graph in Figure 4.5 that the performance of MILP is better in this
simulated environment.
Figure 4.6: Performance of A-star algorithm and MILP in Scenario 2
From Figure 4.6, we observe that in Scenario 2 the computation for MILP is
very less although the number of functions computed is more. So we can infer
from graph in Figure 4.6 that the performance of MILP is significantly better
than A-star algorithm for Scenario 2 in this experiment.
Chapter 5
Analysis
The results obtained from the experiment to evaluate the efficiency of A-star
and MILP are presented in Chapter 4 in detail. These results explicitly answer
research question RQ3. In this section, the results obtained are carefully analysed
to answer research questions RQ1 and RQ2 explicitly.
5.1 Statistical Analysis of the Results
The efficiency of algorithms is dependent on two of the most important factors,
time and space. The efficiency of an algorithm can be generalised as time effi-
ciency or space efficiency. The performance of an algorithm is generally dependent
on the problem size [29]. The measure of the efficiency of an algorithm is done
by measuring the time complexity or space complexity of the algorithm over a
problem. This can be done in different ways of which the most common way
is to measure the execution time of the program that implements the algorithm
[29]. Also, the space requirement of an algorithm is often measured by manu-
ally counting the number of operations the algorithm has to perform or profiling
the program that executes the algorithm. Profiling of an algorithm gives us the
number of functions used by the program executing the algorithm along with the
number of times each function is called [29] [18].
5.1.1 Sample Characteristics
Initially, it is necessary to check for normality of the data, i.e., if the results ob-
tained are normally distributed. For this, we propose a hypothesis.
H0 (Null Hypothesis): The results observed are normally distributed.
H1 (Alternate Hypothesis): The results observed are not normally distributed.
A Shapiro-Wilk’s test (p>0.05) [37] and a visual inspection of their histograms
and normal Q-Q plots (Appendix D) show that the time values obtained for the
10 repetitions for A-star algorithm and MILP in Scenario 1 and Scenario 2 were
36
Chapter 5. Analysis 37
approximately normally distributed, with skewness and kurtosis as presented in
Figure 5.1 [38][39][40].
Figure 5.1: Descriptive Statistics of Results
Further, we purpose we propose a hypothesis to verify if there is a statistically
significant difference in the variance of the two samples that are being considered
for each scenario.
H0 (Null Hypothesis): There is no statistically significant difference between
the variance of the two samples.
H1 (Alternate Hypothesis): There is a statistically significant difference be-
tween the variance of the two samples.
Chapter 5. Analysis 38
This hypothesis is validated using an F-test using Levene statistic, performed
using SPSS tool [41]. The results of the F-test are presented in Figure 5.2 and
Figure 5.3.
Figure 5.2: Results for F-test in Scenario 1
Figure 5.3: Results for F-test in Scenario 2
From Figure 5.2 and Figure 5.3 we observe that the significance in both the
scenarios obtained from F-test is observed to be more than 0.05. Therefore we
accept the null hypothesis and reject the alternate hypothesis. Therefore we ob-
serve that there is no statistically significant difference between the variance of
the two samples.
Variables Groups Scenarios Description
Independent
A-star
1
A-star algorithm and MILP when
no obstacles are encountered by the UAV.MILP
A-star
2
A-star algorithm and MILP when
obstacles are encountered by the UAV.MILP
Dependent Time -
Computation time for each
iteration for execution of
A-star algorithm and MILP.
Table 5.1: Description of Variables used for Statistical Analysis
Chapter 5. Analysis 39
The results obtained form the experiment are observed to be unpaired sam-
ples, as clearly there is no effect of one sample on the other. Also the variance
of the samples as observed for Table 5.1, are statistically similar. Therefore the
statistical test Independent Samples T-test is used to test our hypothesis [42].
5.1.2 Independent Samples T-test
From the observations made in Section 5.1.1 and Table 5.1, a statistical test suit-
able for the results was considered. Since the results are normally distributed
with no statistically significant difference between the variance of the two sam-
ples, so Independent Samples T-test is found to be the most effective [42]. This
statistical test aims at verifying the hypothesis presented in Section 3.5.
The Independent Samples T-test is applied for both the scenarios where A-
star algorithm and MILP are statistically analysed for one scenario at a time.
This statistical analysis is carried out with SPSS tool [41].
Scenario 1 (When no obstacles are encountered by the UAV):
The result of the statistical analysis is as follows:
Figure 5.4: Group Statics for Independent Samples T-test in Scenario 1
Chapter 5. Analysis 40
Figure 5.5: Results for Independent Samples T-test in Scenario 1
From the above Figure 5.5 we can observe that the significance at 95 percent
confidence is observed to be less than 0.05. Therefore we ignore the null hypothesis
and consider the alternate hypothesis. Also, here the t-value which signifies the
size of the difference relative to the variation of the sample data is observed to
be 19.574. Therefore we can conclude that when A-star algorithm and MILP are
implemented in Scenario 1, there is a significant difference in the computation
time.
Scenario 2 (When obstacles are encountered by the UAV):
The result of the statistical analysis is as follows:
Figure 5.6: Group Statics for Independent Samples T-test in Scenario 2
Chapter 5. Analysis 41
Figure 5.7: Results for Independent Samples T-test in Scenario 2
From the above Figure 5.7 we can observe that the significance at 95 percent
confidence is observed to be less than 0.05. Therefore we ignore the null hypothesis
and consider the alternate hypothesis. Also, here the t-value which signifies the
size of the difference relative to the variation of the sample data is observed to
be 31.094. Therefore we can conclude that when A-star algorithm and MILP are
implemented in Scenario 2, there is a significant difference in the computation
time.
5.2 Validation
Simulation is a concept related to experimental methods performed in a controlled
environment. We can evaluate the performance of a technology by executing it
on a model similar to the real world environment [22]. Sometimes, it is needed
that we predict or make a few assumptions about how the real world will react
to the technology. Simulations are widely preferred as it is easier and cheaper to
execute than running the entire system in the real world. Often the results of a
simulation experiment are validated by comparing them to the theoretical results
obtained [22]. In this case, the experimental results observed in Chapter 4 are
validated with statistical analysis aswell as theoretical analysis.
Chapter 5. Analysis 42
5.2.1 Validation through Statistical Analysis
The results that were presented in Chapter 4 are statistically analysed using In-
dependent Samples T-Test. Initially, the results are considered where the type
of method used i.e., A-star algorithm or MILP is taken as the independent vari-
able and the computation time of the algorithm is considered as the dependant
variable. The results are now tabulated and are tested for normality, that is, if
the results observed are normally distributed. From the observations presented
in Figure 5.1, we conclude that the results obtained are normally distributed.
Further, the results are tested for Homogeneity of Variance. This test is done
with Levenes Static. The test helps us determine if the variance of the samples
are statistically similar. From the observations made in Figure 5.2 and Figure
5.3, we conclude that, in both the scenarios the variances are homogeneous.
5.2.2 Hypothesis
The results are subjected to Independent Samples T-Test to validate the hypoth-
esis that is proposed in Section 3.5. From the results presented in Figure 5.5 and
Figure 5.7, the null hypothesis is rejected. This conclude that there is indeed a
significant difference in the values of computation time for A-star algorithm and
MILP in Scenario 1 aswell as Scenario 2. By comparison of means as presented
in Figure 5.4 and Figure 5.6, we can therefore conclude that MILP performs sig-
nificantly better than A-star algorithm.
5.2.3 Theoretical Validation
A-star Algorithm
The A-star algorithm computes the shortest distance between two nodes tra-
versed by the algorithm. In this case, the shortest distance travelled by the UAV
is calculated. The shortest path is calculated for two scenarios, when obstacles are
not encountered by the UAV and when the obstacles are encountered by the UAV.
As the time complexity of A-star algorithm is theoretically observed to be
exponential, it means that there is a significant increase in the time taken by the
algorithm when the algorithm has to processes a new node. The results from
Chapter 4 indicates that when no obstacles are encountered by the UAV, the
average execution time observed is 34.3 seconds as seen in table 4.1. When an
obstacle is encountered by the UAV in its path, the time taken for calculating
the route is observed to be 68.3 seconds as seen in Table 4.2. This means that
the time taken for calculating the route when obstacles are encountered is almost
Chapter 5. Analysis 43
twice as much as the time taken for generating a route without obstacles. We
observe a significant increase in the computation time. This validates the results
obtained for A-star algorithm.
To obtain the average time for generating the optimal route for the UAV from
starting point to the ending point, the program using the algorithm is executed
three times and the average of the three repetitions is considered.
MILP
MILP problems are generally NP-compete and sometimes may transform into NP-
hard problems [15]. This means the estimation of computation time for MILP
theoretically is not possible. Therefore optimisation solvers are used along with
modelling languages for generation of the environment and solving the MILP
problem.
MILP is used in combination with AMPL and CPLEX optimisation tool. It
computes the shortest route from the starting point to the ending point. AMPL is
good for modelling environments for simulations along with CPLEX optimisation
tool [36]. The program then proceeds to find the best path from starting point to
the final node by avoiding obstacles generated in the environment. The CPLEX
optimizer is used to generate the optimal result. The program execution is re-
peated three times for each scenario to get consistent values. The computation
time for the algorithm in the case where no obstacles are encountered and the
case where obstacles are encountered by the UAV is taken for the three repetitions
and the results are averaged.
5.3 Computational Differences of A-star Algorithm
and MILP
The A-star algorithm and MILP were simulated in a controlled environment and
were given test scenarios to compute. Both the algorithms generate an optimal
path for a UAV in two scenarios, where obstacles are not encountered and where
obstacles are encountered by the UAV. The computation times were measured
along with the number of functions that the algorithms need to execute. The
efficiency of these algorithms was calculated based on these results.
Although both the algorithms produced an optimal route for the UAV, there
were a few computational differences between the two algorithms. These differ-
ences affect the efficiency of the algorithm when a comparison is made against
each other. These computational differences observed are quite significant for
experimentation with these algorithms. The factors that have a direct effect on
Chapter 5. Analysis 44
the performance of the algorithms are computational time and problem size.
Effect on computation time: The A-star algorithm, when executed, tends to
find out the best route from the starting point to the ending point. It calculates
the cost of reaching the goal as a function of distance. The time taken to com-
pute the optimal route using the A-star algorithm is, therefore, dependent on the
distance between the starting point of the UAV and the ending point of the UAV
and the position of the obstacles. Whereas in the case of MILP, the computation
time depends on the performance of the computer and solver that is being used
to compute the problem. The computation time can be increased but often the
methods used are problem specific.
Effect on problem size: For A-star algorithm, the problem size increases with
the computation of extra nodes. This might be the case when there are more ob-
stacles. The computation cost increases exponentially when an additional node
has to be parsed because the node should be parsed all the way down till its
leaf nodes. This increases the cost significantly. Therefore we can say that the
problem size has a direct effect on the efficiency of A-star algorithm. For MILP,
however, the computation cost is dependent on the system and is problem spe-
cific. With the increase in the size of the problem, the problem instance turns into
an NP-hard problem. This means that computation of a larger problem instance
may be slow.
For the generated environment A-star algorithm and MILP give an efficient result.
But A-star algorithm is observed to have lower efficiency in both the scenarios
when compared to MILP. However, the MILP uses AMPL modelling and CPLEX
optimizer for optimizing the path and generating the optimal results which make
it faster. Therefore we can say that in a case where the problem is a simple route
planning problem A-star algorithm is easy to compute but for a complex problem
MILP is more effective.
Chapter 6
Discussion and Limitations
Unmanned Aerial Vehicles are those which can operate with a minimum human
interaction [43]. The path for UAVs is generally generated using path planning
algorithms. Waypoints are generated and the UAV follows the path generated by
the algorithm [43].
The usage of UAVs has now increased in real time and are being used for
many purposes effectively [43]. Complex tasks such as surveillance and monitor-
ing, weather prediction and other such tasks have been made easier and risk-free
with the advent of UAVs. Remotely monitored UAVs, however, need line of sight.
Remotely monitored air vehicles are currently used by the military for defence
purposes [43]. There will be a need to automate the UAVs. Therefore to make
the usage of UAVs efficient, a good path planning algorithm is needed.
Path planning is one of the areas that is quite commonly addressed in the
planning and development of UAVs [8]. A path planning algorithm computes the
path of a UAV from a desired starting location to a future location [8]. A path
planning algorithm is said to be efficient if it optimizes several attributes [8]. Two
of the most commonly used path planning methods are the A-star algorithm and
MILP. Although these methods have been previously proposed along with a few
variations and improvements, a comparative study is lacking between these two
methods where the measure of performance is estimated in terms of computation
time and space.
The two methods were extensively researched upon and the pseudo codes were
analysed. Both A-star algorithm and MILP result in an optimal path from the
starting point of the UAV to the final position. A-star algorithm and MILP
were simulated in Matlab where a program was written for A-star algorithm and
MILP. The environment for both the methods was created so that the starting
point and ending point of UAV is determined and also the position of obstacles is
determined. Two scenarios were considered for the generation of the path of the
UAV, one where no obstacles are encountered by the UAV and the other where
obstacles are encountered by the UAV. The optimal paths are generated for both
45
Chapter 6. Discussion and Limitations 46
the scenarios for the two methods.
The A-star algorithm and MILP were executed on Matlab software and the
computation time is observed using the profiler. This provides us with the time
for the entire computation as well as the time taken for execution of each function.
The execution times for both the methods are noted along with the number of
functions used by the program to execute the algorithm. The computation times
and the number of functions used is observed for both the methods when an ob-
stacle is encountered and when no obstacle is encountered in the path of the UAV.
The performance of an algorithm is generally determined by the efficiency of
the algorithm. The efficiency of an algorithm is the amount of resources used by
the algorithm for proper execution of the algorithm to produce the best possi-
ble result for a given scenario. The efficiency of A-star algorithm and MILP are
computed as a function of computation time and the number of functions used.
This provides us with efficiencies of both the methods in the scenario where an
obstacle is encountered and where no obstacle is encountered by the UAV. These
efficiencies are compared against each other to get a clear view as to which algo-
rithm performs better and in what conditions.
This experiment helps us to identify the efficiency of the A-star algorithm and
MILP in conditions where obstacles are encountered and where obstacles are not
encountered. The efficiencies are further compared with each other to observe
which algorithm performs better in the given scenario. From this research, we
can conclude that the performance of MILP is significantly better than the per-
formance of A-star algorithm. This observation can help real-time path planning
programs to use MILP instead of A-star algorithm to achieve a better perfor-
mance. The efficiency factor is useful in path planning for UAVs because in a
real scenario there may be cases where the problem size is huge and difficult to
compute [15]. MILP proves to be useful in such a scenario [15].
A-star algorithm is useful for easy and simple computation of paths when the
problem size is limited according to [19] [44]. Also, the author of [12] presents that
the computation time of A-star algorithm greatly increases when it has to parse
a new node. This proved to be right in the case of this study as the number of
functions used for implementing A-star algorithm is significantly less. Also when
the UAV encounters an obstacle, the computation time is increased. Therefore
we can infer from the analysis presented in [19] and [44] that the A-star algo-
rithm is effective when the problem size is limited. The increase in computation
time is observed when the obstacles are encountered which validates the analysis
presented in [12].
The results and analysis from this study justify that performance of MILP is
Chapter 6. Discussion and Limitations 47
better when compared to A-star algorithm. This analysis can be used in real-
time path planning for UAVs where the problem size is significantly large and the
number of variables is higher. MILP yields better results in terms of efficiency
when the constraints are higher and the problem size is large [15]. For a real-time
path planning program with a large and complex scenario, MILP is better than
A-star algorithm.
6.1 Limitations
The performance evaluation of algorithms is always system dependent. This
means there might be a slight change in the values observed with the computa-
tion time of the algorithms when executed on a different system with a different
processor. Also, for a simulation experiment, the values of the environment on
which the algorithm is executed will be valid only for that algorithm on that
system. When the algorithm is applied to UAV in real-time considering a large
input, the values may differ accordingly but the change in the values is relative.
This is the major limitation for the proposed simulation experiment.
6.2 Threats to Validity
An experiment should always be validated to maintain the quality of the results
obtained. Therefore an emphasis on the threats to validity is essential for an
experiment. Generally, for an experimental research as done in this study, there
are two major threats to validity which includes internal validity and external
validity [45]. Each of these types of threats is individually explained and ways to
mitigate them are discussed in this section.
6.2.1 Internal Validity
Internal validity deals with the degree of control over the design of the study at
hand [46]. The level of internal validity depends on the degree of control applied
on the variables [46]. In the experiment conducted for this study, a number of
variables are considered for defining the environment. These variables have a
direct effect on the results. Therefore there is a threat to internal validity where
the values for the variables are huge thereby increasing the total problem size.
Also, the number of iterations that were performed were 10 for each scenario for
A-star algorithm and MILP which may result in a change in the mean of the
computation times.
Chapter 6. Discussion and Limitations 48
This threat can be mitigated by carefully checking the values that are being
assigned to the variables. These environment variables define the path generated
by the algorithm for the traversal of UAV from the starting point to the ending
point. Also, the execution of the program is repeated so that the computation
is done properly and the results obtained are properly validated. The number
of iterations is taken as 10 because the change in the means is observed to be
insignificant as the standard deviation observed is very less.
6.2.2 External Validity
External validity can be described as the extent to which the results that are ob-
served in a study can be generalised [46]. This observation may affect the observed
results for other situations [46]. In the experiment conducted for this thesis, gen-
eralisation in consideration of the obstacles that the UAV may encounter in its
path applies to this experiment. This might affect the computation time of the al-
gorithm thereby affecting the performance of the algorithm for different scenarios.
This threat can be mitigated by randomizing the distribution of the obstacles
for each repetition of the experiment. This is done in the simulation because, in
real-time, the occurrence of obstacles is random. Though this has an affect on the
performance of the algorithm, the risks of a drastic change in time are minimal.
Therefore we can say that randomization of objects leads to results that are more
generalised and help in computing the execution time of the algorithms close to
real-time.
Chapter 7
Conclusions and Future Work
Based on the extensive research and experiment performed as a part of this re-
search study, the answers to research questions that were formulated are as fol-
lows:
RQ 1. What is the efficiency of A-star algorithm and MILP with
respect to computational space and computational time?
The efficiency of A-star algorithm with respect to computational space and
computational time is exponential. It can be represented using Big-O notation
as O(2n
). This means that the computational time and computational space
increases drastically when a new node is to be traversed by the algorithm. The
efficiency of MILP depends on the environment and problem variables. The exact
time complexity and space complexity cannot be evaluated theoretically. This is
because the problem is generally NP-hard. Therefore the efficiency of algorithm
is usually computed based on simulations using optimizers for optimal route gen-
eration. This means that the efficiency of MILP is dependent completely on the
problem and the system that is being used for computation.
RQ 2. What are the most significant computational differences be-
tween A-star algorithm and MILP?
There are many computational differences between A-star algorithm and MILP.
The few significant ones being that A-star algorithm aims at solving the path
planning problem to obtain the best possible route by checking for an optimal
solution, whereas MILP is completely dependant on the environment variables
and depends on optimisation solvers for generating an optimal route based on
the cost of the path. This makes MILP more complex but effective in many cases
in a real-time environment where the occurrence of the objects is dynamic. The
remaining computational differences are discussed in Section 5.3 of Chapter 5.
RQ 3. What are the performance of A-star algorithm and MILP path
planning algorithm in a simulated environment?
49
Chapter 7. Conclusions and Future Work 50
The performance of an algorithm is the extent to which the resources are
used for execution of the algorithm [4]. The performance of A-star algorithm in
a simulated environment can be generalized and said to be exponential. This
means the performance decreases with the increase in the problem size. However
the performance of MILP is observed to be optimal and completely dependent on
the variables that affect the environment and the objects involved.
7.1 Future Work
Future work in the field of path planning algorithms for UAVs is quite signifi-
cantly large as there are a lot of features that can be studied in this field. The
future work that can be done for this is study involves the development of an
effective and an efficient way to implement the algorithm in a dynamic environ-
ment where the position of objects in the path of UAV are changing from time to
time. This makes the computation of performance more likely to be applied in a
real-time scenario. Potential field algorithms can also be used for better execu-
tion of collision detection and avoidance of the UAVs. Also, the existing A-star
algorithm and MILP could be worked upon to formulate new and more efficient
path planning strategies using these algorithms. Further, a few elements of the
algorithms can be reworked upon to generate more efficient algorithms thereby
improving the productivity of the algorithms.
D = log2(1 +
1
D0
K
k=1
| ˆdk
(pk
||qk
)|) (7.1)
References
[1] F. Belkhouche, “Modeling and calculating the collision risk for air vehicles,”
IEEE transactions on vehicular technology, vol. 62, no. 5, pp. 2031–2041,
2013.
[2] A. S. Brzezinski, A. L. Seybold, and M. Cummings, “Decision support visu-
alizations for schedule management of multiple unmanned aerial vehicles,”
in Proceedings of AIAA Infotech Aerospace Conference, 2007.
[3] P. O. Pettersson, Sampling-based path planning for an autonomous heli-
copter. PhD thesis, Citeseer, 2006.
[4] R. b. Omar, Path planning for unmanned aerial vehicles using visibility line-
based methods. PhD thesis, University of Leicester, 2012.
[5] J. A. Goldman, “Path planning problems and solutions,” in Aerospace and
Electronics Conference, 1994. NAECON 1994., Proceedings of the IEEE
1994 National, pp. 105–108, IEEE, 1994.
[6] J. Thunberg, D. A. Anisi, and P. Ögren, “A comparative study of task assign-
ment and path planning methods for multi-ugv missions,” in Optimization
and Cooperative Control Strategies, pp. 167–180, Springer, 2009.
[7] L. De Filippis and G. Guglieri, Advanced graph search algorithms for path
planning of flight vehicles. INTECH Open Access Publisher, 2012.
[8] S. A. Bortoff, “Path planning for uavs,” in American Control Conference,
2000. Proceedings of the 2000, vol. 1, pp. 364–368, IEEE, 2000.
[9] M. L. Cummings, J. J. Marquez, and N. Roy, “Human-automated path plan-
ning optimization and decision support,” International Journal of Human-
Computer Studies, vol. 70, no. 2, pp. 116–128, 2012.
[10] W.-J. Seo, S.-H. Ok, J.-H. Ahn, S. Kang, and B. Moon, “An efficient hard-
ware architecture of the a-star algorithm for the shortest path search engine,”
in INC, IMS and IDC, 2009. NCM’09. Fifth International Joint Conference
on, pp. 1499–1502, IEEE, 2009.
51
References 52
[11] F. Duchoň, A. Babinec, M. Kajan, P. Beňo, M. Florek, T. Fico, and L. Ju-
rišica, “Path planning with modified a star algorithm for a mobile robot,”
Procedia Engineering, vol. 96, pp. 59–69, 2014.
[12] A. R. Soltani, H. Tawfik, J. Y. Goulermas, and T. Fernando, “Path planning
in construction sites: performance evaluation of the dijkstra, a star, and
ga search algorithms,” Advanced Engineering Informatics, vol. 16, no. 4,
pp. 291–303, 2002.
[13] P. Sujit and R. Beard, “Multiple uav path planning using anytime algo-
rithms,” in 2009 American Control Conference, pp. 2978–2983, IEEE, 2009.
[14] F. Semiz, Task assignment and scheduling in UAV mission planning with
multiple constraints. PhD thesis, MIDDLE EAST TECHNICAL UNIVER-
SITY, 2015.
[15] A. Richards and J. How, “Mixed-integer programming for control,” in Pro-
ceedings of the 2005, American Control Conference, 2005., pp. 2676–2683,
IEEE, 2005.
[16] C. S. Ma and R. H. Miller, “Milp optimal path planning for real-time appli-
cations,” in 2006 American Control Conference, pp. 6–pp, IEEE, 2006.
[17] R. M. Lima and I. E. Grossmann, “Computational advances in solving mixed
integer linear programming problems,” 2011.
[18] D. Ginat, “Efficiency of algorithms for programming beginners,” in ACM
SIGCSE Bulletin, vol. 28, pp. 256–260, ACM, 1996.
[19] B. M. Sathyaraj, L. C. Jain, A. Finn, and S. Drake, “Multiple uavs path
planning algorithms: a comparative study,” Fuzzy Optimization and Decision
Making, vol. 7, no. 3, pp. 257–267, 2008.
[20] R. Hult and R. S. Tabar, Path Planning for Highly Automated Vehicles. PhD
thesis, Master Thesis, Chalmers University of Technology, 2013.
[21] W. Liu, Z. Zheng, and K. Cai, “Adaptive path planning for unmanned aerial
vehicles based on bi-level programming and variable planning time interval,”
Chinese Journal of Aeronautics, vol. 26, no. 3, pp. 646–660, 2013.
[22] E. J. Forsmo, “Optimal path planning for unmanned aerial systems,” 2012.
[23] D. Ferguson, M. Likhachev, and A. Stentz, “A guide to heuristic-based path
planning,” in Proceedings of the international workshop on planning under
uncertainty for autonomous systems, international conference on automated
planning and scheduling (ICAPS), pp. 9–18, 2005.
References 53
[24] H. R. Lewis and C. H. Papadimitriou, Elements of the Theory of Computa-
tion. Prentice Hall PTR, 1997.
[25] C. Wohlin, “Guidelines for snowballing in systematic literature studies and a
replication in software engineering,” in Proceedings of the 18th International
Conference on Evaluation and Assessment in Software Engineering, p. 38,
ACM, 2014.
[26] T. Murata and H. Ishibuchi, “Performance evaluation of genetic algorithms
for flowshop scheduling problems,” in Evolutionary Computation, 1994.
IEEE World Congress on Computational Intelligence., Proceedings of the
First IEEE Conference on, pp. 812–817, IEEE, 1994.
[27] M. Wang, T. Madhyastha, N. H. Chan, S. Papadimitriou, and C. Faloutsos,
“Data mining meets performance evaluation: Fast algorithms for modeling
bursty traffic,” in Data Engineering, 2002. Proceedings. 18th International
Conference on, pp. 507–516, IEEE, 2002.
[28] W. Parvez and S. Dhar, “Path planning optimization using genetic algo-
rithm,” International Journal of Computational Engineering Research, vol. 3,
2013.
[29] J. Gal-Ezer and E. Zur, “The efficiency of algorithms—misconceptions,”
Computers & Education, vol. 42, no. 3, pp. 215–226, 2004.
[30] E. Winsberg, “Simulated experiments: Methodology for a virtual world,”
Philosophy of science, vol. 70, no. 1, pp. 105–125, 2003.
[31] M. Zhan-chun and H. Yang, “Path planning algorithm and simulation for
mobile robot [j],” Computer Simulation, vol. 5, p. 089, 2013.
[32] O. Özgün and Y. Barlas, “Discrete vs. continuous simulation: When does
it matter,” in Proceedings of the 27th international conference of the system
dynamics society, vol. 6, pp. 1–22, 2009.
[33] J. P. Kleijnen, Design and analysis of simulation experiments, vol. 20.
Springer, 2008.
[34] S. Albert, Solving mixed integer linear programs using branch and cut algo-
rithm. PhD thesis, North Carolina State University, 2006.
[35] M. L. Smith, “Optimizing short-term production schedules in surface mining:
Integrating mine modeling software with ampl/cplex,” International Journal
of Surface Mining, Reclamation and Environment, vol. 12, no. 4, pp. 149–
155, 1998.
References 54
[36] R. Fourer, D. M. Gay, and B. W. Kernighan, AMPL: A mathematical pro-
gramming language. Citeseer, 1987.
[37] N. M. Razali, Y. B. Wah, et al., “Power comparisons of shapiro-wilk,
kolmogorov-smirnov, lilliefors and anderson-darling tests,” Journal of sta-
tistical modeling and analytics, vol. 2, no. 1, pp. 21–33, 2011.
[38] D. Cramer, Fundamental statistics for social research: step-by-step calcula-
tions and computer techniques using SPSS for Windows. Psychology Press,
1998.
[39] D. Cramer and D. L. Howitt, The Sage dictionary of statistics: a practical
resource for students in the social sciences. Sage, 2004.
[40] D. P. Doane and L. E. Seward, “Measuring skewness: a forgotten statistic,”
Journal of Statistics Education, vol. 19, no. 2, pp. 1–18, 2011.
[41] “IBM SPSS - IBM Analytics.” http://www.ibm.com/analytics/us/en/
technology/spss/. Accessed: 2016-09-30.
[42] M. Marusteri and V. Bacarea, “Comparing groups for statistical differences:
how to choose the right statistical test?,” Biochemia medica, vol. 20, no. 1,
pp. 15–32, 2010.
[43] J. N. Simon, A Systems Approach to the Formulation of Unmanned Air
Vehicle Detect, Sense, and Avoid Performance Requirements. PhD thesis,
Ohio University, 2009.
[44] J. Yao, C. Lin, X. Xie, A. J. Wang, and C.-C. Hung, “Path planning for
virtual human motion using improved a* star algorithm,” in Information
Technology: New Generations (ITNG), 2010 Seventh International Confer-
ence on, pp. 1154–1158, IEEE, 2010.
[45] M. V. Zelkowitz and D. R. Wallace, “Experimental models for validating
technology,” Computer, vol. 31, no. 5, pp. 23–31, 1998.
[46] M. K. Slack and J. R. Draugalis, “Establishing the internal and external
validity of experimental studies,” American Journal of Health System Phar-
macy, vol. 58, no. 22, pp. 2173–2184, 2001.
Appendices
55
Appendix A
Code for A-star algorithm
Figure A.1: Creation of environment by assigning values to variables
56
Figure A.2: Code for A-star algorithm
Figure A.3: Code for calculating the distance between the nodes
57
Figure A.4: Code for obtaining the optimal path
Figure A.5: Code for plotting the path of the UAV
58
Appendix B
Code for MILP
Figure B.1: Code for initializing the environment of MILP
Figure B.2: Code for solving MILP
59
Figure B.3: Code for plotting the path obtained by MILP
60
Appendix C
Code for AMPL model
Figure C.1: Code for environment in the model created for MILP
61
Figure C.2: Code for setting up constraints for AMPL model
62
Figure C.3: Code for calculating the cost of paths in AMPL model
Figure C.4: Code for loading and running the AMPL model
63
Appendix D
Statistical Analysis
Figure D.1: Histogram Depiction of the Results
64
Figure D.2: Normal Q-Q Plot Depiction of the Results
65

More Related Content

What's hot

Condition monitoring for track circuits: A multiple-model approach (MSc. Thesis)
Condition monitoring for track circuits: A multiple-model approach (MSc. Thesis)Condition monitoring for track circuits: A multiple-model approach (MSc. Thesis)
Condition monitoring for track circuits: A multiple-model approach (MSc. Thesis)Wouter Verbeek
 
UCHILE_M_Sc_Thesis_final
UCHILE_M_Sc_Thesis_finalUCHILE_M_Sc_Thesis_final
UCHILE_M_Sc_Thesis_finalGustavo Pabon
 
UiA Slam (Øystein Øihusom & Ørjan l. Olsen)
UiA Slam (Øystein Øihusom & Ørjan l. Olsen)UiA Slam (Øystein Øihusom & Ørjan l. Olsen)
UiA Slam (Øystein Øihusom & Ørjan l. Olsen)Øystein Øihusom
 
An_expected_improvement_criterion_for_the_global_optimization_of_a_noisy_comp...
An_expected_improvement_criterion_for_the_global_optimization_of_a_noisy_comp...An_expected_improvement_criterion_for_the_global_optimization_of_a_noisy_comp...
An_expected_improvement_criterion_for_the_global_optimization_of_a_noisy_comp...Kanika Anand
 
Mark Quinn Thesis
Mark Quinn ThesisMark Quinn Thesis
Mark Quinn ThesisMark Quinn
 
MSc Thesis - Jaguar Land Rover
MSc Thesis - Jaguar Land RoverMSc Thesis - Jaguar Land Rover
MSc Thesis - Jaguar Land RoverAkshat Srivastava
 
Michael_Lavrentiev_Trans trating.PDF
Michael_Lavrentiev_Trans trating.PDFMichael_Lavrentiev_Trans trating.PDF
Michael_Lavrentiev_Trans trating.PDFaniruddh Tyagi
 
Masters Thesis - Ankit_Kukreja
Masters Thesis - Ankit_KukrejaMasters Thesis - Ankit_Kukreja
Masters Thesis - Ankit_KukrejaANKIT KUKREJA
 
The analysis of doubly censored survival data
The analysis of doubly censored survival dataThe analysis of doubly censored survival data
The analysis of doubly censored survival dataLonghow Lam
 
Internship Report: Interaction of two particles in a pipe flow
Internship Report: Interaction of two particles in a pipe flowInternship Report: Interaction of two particles in a pipe flow
Internship Report: Interaction of two particles in a pipe flowPau Molas Roca
 
Nonlinear Simulation of Rotor-Bearing System Dynamics
Nonlinear Simulation of Rotor-Bearing System DynamicsNonlinear Simulation of Rotor-Bearing System Dynamics
Nonlinear Simulation of Rotor-Bearing System DynamicsFrederik Budde
 

What's hot (17)

Condition monitoring for track circuits: A multiple-model approach (MSc. Thesis)
Condition monitoring for track circuits: A multiple-model approach (MSc. Thesis)Condition monitoring for track circuits: A multiple-model approach (MSc. Thesis)
Condition monitoring for track circuits: A multiple-model approach (MSc. Thesis)
 
Thesis
ThesisThesis
Thesis
 
UCHILE_M_Sc_Thesis_final
UCHILE_M_Sc_Thesis_finalUCHILE_M_Sc_Thesis_final
UCHILE_M_Sc_Thesis_final
 
UiA Slam (Øystein Øihusom & Ørjan l. Olsen)
UiA Slam (Øystein Øihusom & Ørjan l. Olsen)UiA Slam (Øystein Øihusom & Ørjan l. Olsen)
UiA Slam (Øystein Øihusom & Ørjan l. Olsen)
 
An_expected_improvement_criterion_for_the_global_optimization_of_a_noisy_comp...
An_expected_improvement_criterion_for_the_global_optimization_of_a_noisy_comp...An_expected_improvement_criterion_for_the_global_optimization_of_a_noisy_comp...
An_expected_improvement_criterion_for_the_global_optimization_of_a_noisy_comp...
 
Mak ms
Mak msMak ms
Mak ms
 
Mark Quinn Thesis
Mark Quinn ThesisMark Quinn Thesis
Mark Quinn Thesis
 
MSc Thesis - Jaguar Land Rover
MSc Thesis - Jaguar Land RoverMSc Thesis - Jaguar Land Rover
MSc Thesis - Jaguar Land Rover
 
Michael_Lavrentiev_Trans trating.PDF
Michael_Lavrentiev_Trans trating.PDFMichael_Lavrentiev_Trans trating.PDF
Michael_Lavrentiev_Trans trating.PDF
 
Kretz dis
Kretz disKretz dis
Kretz dis
 
Masters Thesis - Ankit_Kukreja
Masters Thesis - Ankit_KukrejaMasters Thesis - Ankit_Kukreja
Masters Thesis - Ankit_Kukreja
 
Dmitriy Rivkin Thesis
Dmitriy Rivkin ThesisDmitriy Rivkin Thesis
Dmitriy Rivkin Thesis
 
The analysis of doubly censored survival data
The analysis of doubly censored survival dataThe analysis of doubly censored survival data
The analysis of doubly censored survival data
 
Internship Report: Interaction of two particles in a pipe flow
Internship Report: Interaction of two particles in a pipe flowInternship Report: Interaction of two particles in a pipe flow
Internship Report: Interaction of two particles in a pipe flow
 
Nonlinear Simulation of Rotor-Bearing System Dynamics
Nonlinear Simulation of Rotor-Bearing System DynamicsNonlinear Simulation of Rotor-Bearing System Dynamics
Nonlinear Simulation of Rotor-Bearing System Dynamics
 
main
mainmain
main
 
lapointe_thesis
lapointe_thesislapointe_thesis
lapointe_thesis
 

Similar to Performance Evaluation of Path Planning Techniques for Unmanned Aerial Vehicles

A Probabilistic Pointer Analysis For Speculative Optimizations
A Probabilistic Pointer Analysis For Speculative OptimizationsA Probabilistic Pointer Analysis For Speculative Optimizations
A Probabilistic Pointer Analysis For Speculative OptimizationsJeff Brooks
 
Maxime Javaux - Automated spike analysis
Maxime Javaux - Automated spike analysisMaxime Javaux - Automated spike analysis
Maxime Javaux - Automated spike analysisMaxime Javaux
 
Nweke digital-forensics-masters-thesis-sapienza-university-italy
Nweke digital-forensics-masters-thesis-sapienza-university-italyNweke digital-forensics-masters-thesis-sapienza-university-italy
Nweke digital-forensics-masters-thesis-sapienza-university-italyAimonJamali
 
UCHILE_M_Sc_Thesis_final
UCHILE_M_Sc_Thesis_finalUCHILE_M_Sc_Thesis_final
UCHILE_M_Sc_Thesis_finalGustavo Pabon
 
Aspect_Category_Detection_Using_SVM
Aspect_Category_Detection_Using_SVMAspect_Category_Detection_Using_SVM
Aspect_Category_Detection_Using_SVMAndrew Hagens
 
BACHELOR_THESIS_ACCELERATIOM-BASED_CONTROL_OF_OFFSHORE_WT
BACHELOR_THESIS_ACCELERATIOM-BASED_CONTROL_OF_OFFSHORE_WTBACHELOR_THESIS_ACCELERATIOM-BASED_CONTROL_OF_OFFSHORE_WT
BACHELOR_THESIS_ACCELERATIOM-BASED_CONTROL_OF_OFFSHORE_WTÀlex Garcia Manzanera
 
Master_Thesis_Jiaqi_Liu
Master_Thesis_Jiaqi_LiuMaster_Thesis_Jiaqi_Liu
Master_Thesis_Jiaqi_LiuJiaqi Liu
 
A Comparative Study Of Generalized Arc-Consistency Algorithms
A Comparative Study Of Generalized Arc-Consistency AlgorithmsA Comparative Study Of Generalized Arc-Consistency Algorithms
A Comparative Study Of Generalized Arc-Consistency AlgorithmsSandra Long
 
Integrating IoT Sensory Inputs For Cloud Manufacturing Based Paradigm
Integrating IoT Sensory Inputs For Cloud Manufacturing Based ParadigmIntegrating IoT Sensory Inputs For Cloud Manufacturing Based Paradigm
Integrating IoT Sensory Inputs For Cloud Manufacturing Based ParadigmKavita Pillai
 
project Report on LAN Security Manager
project Report on LAN Security Managerproject Report on LAN Security Manager
project Report on LAN Security ManagerShahrikh Khan
 

Similar to Performance Evaluation of Path Planning Techniques for Unmanned Aerial Vehicles (20)

A Probabilistic Pointer Analysis For Speculative Optimizations
A Probabilistic Pointer Analysis For Speculative OptimizationsA Probabilistic Pointer Analysis For Speculative Optimizations
A Probabilistic Pointer Analysis For Speculative Optimizations
 
Maxime Javaux - Automated spike analysis
Maxime Javaux - Automated spike analysisMaxime Javaux - Automated spike analysis
Maxime Javaux - Automated spike analysis
 
thesis-hyperref
thesis-hyperrefthesis-hyperref
thesis-hyperref
 
Technical report
Technical reportTechnical report
Technical report
 
Nweke digital-forensics-masters-thesis-sapienza-university-italy
Nweke digital-forensics-masters-thesis-sapienza-university-italyNweke digital-forensics-masters-thesis-sapienza-university-italy
Nweke digital-forensics-masters-thesis-sapienza-university-italy
 
UCHILE_M_Sc_Thesis_final
UCHILE_M_Sc_Thesis_finalUCHILE_M_Sc_Thesis_final
UCHILE_M_Sc_Thesis_final
 
Aspect_Category_Detection_Using_SVM
Aspect_Category_Detection_Using_SVMAspect_Category_Detection_Using_SVM
Aspect_Category_Detection_Using_SVM
 
BACHELOR_THESIS_ACCELERATIOM-BASED_CONTROL_OF_OFFSHORE_WT
BACHELOR_THESIS_ACCELERATIOM-BASED_CONTROL_OF_OFFSHORE_WTBACHELOR_THESIS_ACCELERATIOM-BASED_CONTROL_OF_OFFSHORE_WT
BACHELOR_THESIS_ACCELERATIOM-BASED_CONTROL_OF_OFFSHORE_WT
 
thesis
thesisthesis
thesis
 
Master_Thesis_Jiaqi_Liu
Master_Thesis_Jiaqi_LiuMaster_Thesis_Jiaqi_Liu
Master_Thesis_Jiaqi_Liu
 
Thesis_Prakash
Thesis_PrakashThesis_Prakash
Thesis_Prakash
 
Thesis_Report
Thesis_ReportThesis_Report
Thesis_Report
 
A Comparative Study Of Generalized Arc-Consistency Algorithms
A Comparative Study Of Generalized Arc-Consistency AlgorithmsA Comparative Study Of Generalized Arc-Consistency Algorithms
A Comparative Study Of Generalized Arc-Consistency Algorithms
 
diss
dissdiss
diss
 
Integrating IoT Sensory Inputs For Cloud Manufacturing Based Paradigm
Integrating IoT Sensory Inputs For Cloud Manufacturing Based ParadigmIntegrating IoT Sensory Inputs For Cloud Manufacturing Based Paradigm
Integrating IoT Sensory Inputs For Cloud Manufacturing Based Paradigm
 
thesis
thesisthesis
thesis
 
project Report on LAN Security Manager
project Report on LAN Security Managerproject Report on LAN Security Manager
project Report on LAN Security Manager
 
Agathos-PHD-uoi-2016
Agathos-PHD-uoi-2016Agathos-PHD-uoi-2016
Agathos-PHD-uoi-2016
 
Agathos-PHD-uoi-2016
Agathos-PHD-uoi-2016Agathos-PHD-uoi-2016
Agathos-PHD-uoi-2016
 
Hoifodt
HoifodtHoifodt
Hoifodt
 

Recently uploaded

S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxSCMS School of Architecture
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
Adsorption (mass transfer operations 2) ppt
Adsorption (mass transfer operations 2) pptAdsorption (mass transfer operations 2) ppt
Adsorption (mass transfer operations 2) pptjigup7320
 
Danikor Product Catalog- Screw Feeder.pdf
Danikor Product Catalog- Screw Feeder.pdfDanikor Product Catalog- Screw Feeder.pdf
Danikor Product Catalog- Screw Feeder.pdfthietkevietthinh
 
Computer Graphics Introduction To Curves
Computer Graphics Introduction To CurvesComputer Graphics Introduction To Curves
Computer Graphics Introduction To CurvesChandrakantDivate1
 
fitting shop and tools used in fitting shop .ppt
fitting shop and tools used in fitting shop .pptfitting shop and tools used in fitting shop .ppt
fitting shop and tools used in fitting shop .pptAfnanAhmad53
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...HenryBriggs2
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptxJIT KUMAR GUPTA
 
Introduction to Robotics in Mechanical Engineering.pptx
Introduction to Robotics in Mechanical Engineering.pptxIntroduction to Robotics in Mechanical Engineering.pptx
Introduction to Robotics in Mechanical Engineering.pptxhublikarsn
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdfKamal Acharya
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdfKamal Acharya
 
Cybercrimes in the Darknet and Their Detections: A Comprehensive Analysis and...
Cybercrimes in the Darknet and Their Detections: A Comprehensive Analysis and...Cybercrimes in the Darknet and Their Detections: A Comprehensive Analysis and...
Cybercrimes in the Darknet and Their Detections: A Comprehensive Analysis and...dannyijwest
 
Compressing and Sparsifying LLM in GenAI Applications
Compressing and Sparsifying LLM in GenAI ApplicationsCompressing and Sparsifying LLM in GenAI Applications
Compressing and Sparsifying LLM in GenAI ApplicationsMFatihSIRA
 
Fundamentals of Internet of Things (IoT) Part-2
Fundamentals of Internet of Things (IoT) Part-2Fundamentals of Internet of Things (IoT) Part-2
Fundamentals of Internet of Things (IoT) Part-2ChandrakantDivate1
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...Amil baba
 
8086 Microprocessor Architecture: 16-bit microprocessor
8086 Microprocessor Architecture: 16-bit microprocessor8086 Microprocessor Architecture: 16-bit microprocessor
8086 Microprocessor Architecture: 16-bit microprocessorAshwiniTodkar4
 
litvinenko_Henry_Intrusion_Hong-Kong_2024.pdf
litvinenko_Henry_Intrusion_Hong-Kong_2024.pdflitvinenko_Henry_Intrusion_Hong-Kong_2024.pdf
litvinenko_Henry_Intrusion_Hong-Kong_2024.pdfAlexander Litvinenko
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaOmar Fathy
 
Ground Improvement Technique: Earth Reinforcement
Ground Improvement Technique: Earth ReinforcementGround Improvement Technique: Earth Reinforcement
Ground Improvement Technique: Earth ReinforcementDr. Deepak Mudgal
 
Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)Ramkumar k
 

Recently uploaded (20)

S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Adsorption (mass transfer operations 2) ppt
Adsorption (mass transfer operations 2) pptAdsorption (mass transfer operations 2) ppt
Adsorption (mass transfer operations 2) ppt
 
Danikor Product Catalog- Screw Feeder.pdf
Danikor Product Catalog- Screw Feeder.pdfDanikor Product Catalog- Screw Feeder.pdf
Danikor Product Catalog- Screw Feeder.pdf
 
Computer Graphics Introduction To Curves
Computer Graphics Introduction To CurvesComputer Graphics Introduction To Curves
Computer Graphics Introduction To Curves
 
fitting shop and tools used in fitting shop .ppt
fitting shop and tools used in fitting shop .pptfitting shop and tools used in fitting shop .ppt
fitting shop and tools used in fitting shop .ppt
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
Introduction to Robotics in Mechanical Engineering.pptx
Introduction to Robotics in Mechanical Engineering.pptxIntroduction to Robotics in Mechanical Engineering.pptx
Introduction to Robotics in Mechanical Engineering.pptx
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
Cybercrimes in the Darknet and Their Detections: A Comprehensive Analysis and...
Cybercrimes in the Darknet and Their Detections: A Comprehensive Analysis and...Cybercrimes in the Darknet and Their Detections: A Comprehensive Analysis and...
Cybercrimes in the Darknet and Their Detections: A Comprehensive Analysis and...
 
Compressing and Sparsifying LLM in GenAI Applications
Compressing and Sparsifying LLM in GenAI ApplicationsCompressing and Sparsifying LLM in GenAI Applications
Compressing and Sparsifying LLM in GenAI Applications
 
Fundamentals of Internet of Things (IoT) Part-2
Fundamentals of Internet of Things (IoT) Part-2Fundamentals of Internet of Things (IoT) Part-2
Fundamentals of Internet of Things (IoT) Part-2
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
8086 Microprocessor Architecture: 16-bit microprocessor
8086 Microprocessor Architecture: 16-bit microprocessor8086 Microprocessor Architecture: 16-bit microprocessor
8086 Microprocessor Architecture: 16-bit microprocessor
 
litvinenko_Henry_Intrusion_Hong-Kong_2024.pdf
litvinenko_Henry_Intrusion_Hong-Kong_2024.pdflitvinenko_Henry_Intrusion_Hong-Kong_2024.pdf
litvinenko_Henry_Intrusion_Hong-Kong_2024.pdf
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Ground Improvement Technique: Earth Reinforcement
Ground Improvement Technique: Earth ReinforcementGround Improvement Technique: Earth Reinforcement
Ground Improvement Technique: Earth Reinforcement
 
Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)
 

Performance Evaluation of Path Planning Techniques for Unmanned Aerial Vehicles

  • 1. Thesis no: MSCS-2016-20 Performance Evaluation of Path Planning Techniques for Unmanned Aerial Vehicles A comparative analysis of A-star algorithm and Mixed Integer Linear Programming Apuroop Paleti Dept. Computer Science & Engineering Blekinge Institute of Technology SE–371 79 Karlskrona, Sweden
  • 2. This thesis is submitted to the Department of Computer Science & Engineering at Blekinge Institute of Technology in partial fulfilment of the requirements for the degree of Master of Science in Computer Science. The thesis is equivalent to 20 weeks of full-time studies. Contact Information: Author(s): Apuroop Paleti E-mail: appa15@student.bth.se University Advisor: Prof. Lawrence Henesey Dept. Computer Science & Engineering Dept. Computer Science & Engineering Blekinge Institute of Technology SE–371 79 Karlskrona, Sweden Internet : www.bth.se Phone : +46 455 38 50 00 Fax : +46 455 38 50 57
  • 3. Abstract Context: Unmanned Aerial Vehicles are being widely being used for various scientific and non-scientific purposes. This increases the need for effective and efficient path planning of Unmanned Aerial Vehicles. Two of the most commonly used methods are the A-star algorithm and Mixed Integer Linear Programming. Objectives: Conduct a simulation experiment to determine the per- formance of A-star algorithm and Mixed Integer Linear Programming for path planning of Unmanned Aerial Vehicle in a simulated environ- ment. Further, evaluate A-star algorithm and Mixed Integer Linear Programming based computational time and computational space to find out the efficiency. Finally, perform a comparative analysis of A- star algorithm and Mixed Integer Linear Programming and analyse the results. Methods: To achieve the objectives, both the methods are studied extensively, and test scenarios were generated for simulation of these methods. These methods are then implemented on these test scenar- ios and the computational times for both the scenarios were observed. A hypothesis is proposed to analyse the results. A performance eval- uation of these methods is done and they are compared for a better performance in the generated environment. Results: It is observed that the efficiency of A-star algorithm and MILP algorithm when no obstacles are considered is 3.005 and 12.03 functions per second and when obstacles are encountered is 1.56 and 10.59 functions per seconds. The results are statistically tested using hypothesis testing resulting in the inference that there is a signifi- cant difference between the computation time of A-star algorithm and MILP. Performance evaluation is done, using these results and the ef- ficiency of algorithms in the generated environment is obtained. Conclusions: The experimental results are analysed, and the efficien- cies of A-star algorithm and Mixed Integer Linear Programming for a particular environment is measured. The performance analysis of the algorithms provides us with a clear view as to which algorithm is better when used in a real-time scenario. It is observed that Mixed Integer Linear Programming is significantly better than A-star algorithm. Keywords: A-star algorithm, Mixed Integer Linear Programming, performance evaluation.
  • 4. Acknowledgments It is a genuine pleasure to express my heartfelt gratitude to my thesis supervisor Dr. Lawrence Henesey for giving me the opportunity to pursue my thesis in a topic of my choice and interest. His advice and support were a great encourage- ment to me through my thesis. I would also like to thank all my friends and peers for their valuable views and constant motivation and for all their support throughout my thesis. I would like to thank my parents Bhanumurthy Paleti and Rajani Paleti for their unending support and love and for encouraging me throughout my Masters. ii
  • 5. Contents Abstract i Acknowledgments ii 1 Introduction 1 1.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Research Aim and Objectives . . . . . . . . . . . . . . . . . . . . 1 1.3 Research Questions . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4 Contribution of the study . . . . . . . . . . . . . . . . . . . . . . 2 1.5 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 Background and Related Work 4 2.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.1 Path Planning Problem . . . . . . . . . . . . . . . . . . . . 4 2.1.2 Framework for automated path planning . . . . . . . . . . 5 2.1.3 A-star Algorithm . . . . . . . . . . . . . . . . . . . . . . . 5 2.1.4 Mixed Integer Linear Programming . . . . . . . . . . . . . 6 2.1.5 Efficiency of an algorithm . . . . . . . . . . . . . . . . . . 7 2.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3 Method 9 3.1 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.1.1 Inclusion and Exclusion Criteria . . . . . . . . . . . . . . . 10 3.2 Basic Evaluation of Path Planning Methods . . . . . . . . . . . . 11 3.3 Simulation Experiment . . . . . . . . . . . . . . . . . . . . . . . . 12 3.3.1 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.3.2 Test Environment . . . . . . . . . . . . . . . . . . . . . . . 14 3.3.3 Test Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.3.4 Implementation: . . . . . . . . . . . . . . . . . . . . . . . . 15 3.4 Comparative Analysis: . . . . . . . . . . . . . . . . . . . . . . . . 22 3.5 Formulation of Hypothesis . . . . . . . . . . . . . . . . . . . . . . 22 iii
  • 6. 4 Results 23 4.1 Experimental Results: . . . . . . . . . . . . . . . . . . . . . . . . 23 4.1.1 A-star Algorithm: . . . . . . . . . . . . . . . . . . . . . . . 23 4.1.2 MILP: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.2 Performance Evaluation and Comparative Analysis . . . . . . . . 30 4.2.1 A-star Algorithm . . . . . . . . . . . . . . . . . . . . . . . 31 4.2.2 MILP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.2.3 Comparative analysis . . . . . . . . . . . . . . . . . . . . . 34 5 Analysis 36 5.1 Statistical Analysis of the Results . . . . . . . . . . . . . . . . . . 36 5.1.1 Sample Characteristics . . . . . . . . . . . . . . . . . . . . 36 5.1.2 Independent Samples T-test . . . . . . . . . . . . . . . . . 39 5.2 Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.2.1 Validation through Statistical Analysis . . . . . . . . . . . 42 5.2.2 Hypothesis . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.2.3 Theoretical Validation . . . . . . . . . . . . . . . . . . . . 42 5.3 Computational Differences of A-star Algorithm and MILP . . . . 43 6 Discussion and Limitations 45 6.1 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 6.2 Threats to Validity . . . . . . . . . . . . . . . . . . . . . . . . . . 47 6.2.1 Internal Validity . . . . . . . . . . . . . . . . . . . . . . . 47 6.2.2 External Validity . . . . . . . . . . . . . . . . . . . . . . . 48 7 Conclusions and Future Work 49 7.1 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 References 51 Appendices 55 A Code for A-star algorithm 56 B Code for MILP 59 C Code for AMPL model 61 D Statistical Analysis 64 iv
  • 7. List of Figures 2.1 Block diagram to show the framework of automated path planning 5 2.2 Pseudo code for A-star algorithm . . . . . . . . . . . . . . . . . . 6 3.1 The optimal path generated by A-star algorithm for Scenario 1 . . 17 3.2 The optimal path generated by A-star algorithm for Scenario 2 . . 18 3.3 A snapshot running the AMPL model for generating the environ- ment variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.4 The optimal path generated by MILP for Scenario 2 . . . . . . . . 21 4.1 Computation time vs Number of Functions for A-star algorithm in Scenario 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.2 Computation time vs Number of Functions for A-star algorithm in Scenario 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.3 Computation time vs Number of Functions for MILP in Scenario 1 33 4.4 Computation time vs Number of Functions for MILP in Scenario 2 34 4.5 Performance of A-star algorithm and MILP in Scenario 1 . . . . . 34 4.6 Performance of A-star algorithm and MILP in Scenario 2 . . . . . 35 5.1 Descriptive Statistics of Results . . . . . . . . . . . . . . . . . . . 37 5.2 Results for F-test in Scenario 1 . . . . . . . . . . . . . . . . . . . 38 5.3 Results for F-test in Scenario 2 . . . . . . . . . . . . . . . . . . . 38 5.4 Group Statics for Independent Samples T-test in Scenario 1 . . . 39 5.5 Results for Independent Samples T-test in Scenario 1 . . . . . . . 40 5.6 Group Statics for Independent Samples T-test in Scenario 2 . . . 40 5.7 Results for Independent Samples T-test in Scenario 2 . . . . . . . 41 A.1 Creation of environment by assigning values to variables . . . . . 56 A.2 Code for A-star algorithm . . . . . . . . . . . . . . . . . . . . . . 57 A.3 Code for calculating the distance between the nodes . . . . . . . . 57 A.4 Code for obtaining the optimal path . . . . . . . . . . . . . . . . 58 A.5 Code for plotting the path of the UAV . . . . . . . . . . . . . . . 58 B.1 Code for initializing the environment of MILP . . . . . . . . . . . 59 B.2 Code for solving MILP . . . . . . . . . . . . . . . . . . . . . . . . 59 B.3 Code for plotting the path obtained by MILP . . . . . . . . . . . 60 v
  • 8. C.1 Code for environment in the model created for MILP . . . . . . . 61 C.2 Code for setting up constraints for AMPL model . . . . . . . . . . 62 C.3 Code for calculating the cost of paths in AMPL model . . . . . . 63 C.4 Code for loading and running the AMPL model . . . . . . . . . . 63 D.1 Histogram Depiction of the Results . . . . . . . . . . . . . . . . . 64 D.2 Normal Q-Q Plot Depiction of the Results . . . . . . . . . . . . . 65 vi
  • 9. List of Tables 3.1 Results Obtained during Literature Review . . . . . . . . . . . . . 10 4.1 Computation time of A-star algorithm for Scenario 1 . . . . . . . 25 4.2 Computation time of A-star algorithm for Scenario 2 . . . . . . . 26 4.3 Computation of MILP for Scenario 1 . . . . . . . . . . . . . . . . 28 4.4 Computation of MILP for Scenario 2 . . . . . . . . . . . . . . . . 29 4.5 Results obtained from the experiment . . . . . . . . . . . . . . . . 31 5.1 Description of Variables used for Statistical Analysis . . . . . . . 38 vii
  • 10. List of Abbreviations UAV Unmanned Aerial Vehicle MILP Mixed Integer Linear Programming AMPL A Mathematical Programming Language CPLEX Simplex method implemented in C programming viii
  • 11. Chapter 1 Introduction 1.1 Problem Statement Nowadays, Unmanned Aerial Vehicles (UAV) are being frequently used for mil- itary, scientific fields and also for commercial and non-commercial purposes like disaster area monitoring, surveillance, and land surveying [1] [2]. As there is no need of a person to be present inside these vehicles, they are less complex in nature and provide a better chance of performing more dangerous missions with a minimum risk [2]. A lot of these applications requires UAVs to fly at altitudes where they may encounter obstacles. Also, UAVs flying at high altitudes should be monitored to avoid any unwanted results [3]. Therefore path planning plays an important role for the safe operation of UAVs. For the present scenario of the unmanned aerial vehicle system, people on the ground operate the UAVs. However, with the increase in usage of UAVs in the near future, there will be a need to automate the vehicles [2]. This increases the need for an effective and efficient path planning of the UAVs. Path planning for UAVs is nothing but determining the path from the start point to the ending point such that the vehicle does not encounter any obstacles in its course [4]. Path planning is generally associated with a number of terms like trajectory planning, navigation planning, local navigation, global path planning, and motion planning [4]. Various path planning methods for UAVs are proposed mainly to provide with a safe and an optimal route for the UAVs from their starting point to the ending point in a hostile or unknown environment. 1.2 Research Aim and Objectives The main aim of this thesis is to perform a comparative analysis for two of the frequently used methods for path planning of UAVs namely A-star algorithm and Mixed Integer Linear Programming (MILP). The two methods are compared based on two crucial factors, computational time and computational space [4]. Finally, the results are analysed, and simulation is done by considering the prob- lem instance in terms of environment and applying the algorithm to the problem 1
  • 12. Chapter 1. Introduction 2 instance. The primary objectives of this thesis are: • Conduct a performance evaluation of A-star algorithm and MILP based on two important factors, computational space and computational time to find out the efficiency. • Analyse the performance evaluation and simulate the methods to the prob- lem instance. • Perform a comparative analysis of A-star algorithm and MILP based on the literature and the experimental results. 1.3 Research Questions RQ 1. What is the efficiency of A-star algorithm and MILP with respect to computational space and computational time? Motivation: These methods are both proposed for path planning of UAVs. It is better to know the efficiency of these methods to know which performs better in a given environment. So performance evaluation is done to find out efficiency based on evaluation metrics which are computational space and computational time. RQ 2. What are the most significant computational differences between A-star algorithm and MILP? Motivation: The methods mentioned above are most commonly used meth- ods for path planning of UAVs. It is, therefore, useful to know computational differences between these two methods. RQ 3. What is the performance of A-star algorithm and MILP in a simulated environment? Motivation: Simulation of algorithms is done to solve the optimisation problem. Here the performance of A-star algorithm and MILP are measured and compared with each other to analyse the algorithms in similar environments. 1.4 Contribution of the study The aims and objectives of this research are achieved on the completion of this study. All the research questions that were proposed were answered. The main contributions of the research are:
  • 13. Chapter 1. Introduction 3 • The experiment facilitates us to identify the efficiency of A-star algorithm and MILP theoretically and also for the simulated environment. This effi- ciency helps us to identify the better algorithm among the two methods. It is observed that MILP has a significantly lower computation time than A- star algorithm. Though MILP has a higher number of functions, it will be better for implementation in real-time for path planning and generation of an optimal route as the space required for the function is significantly lower when compared to the trade-off in time. Therefore the efficient algorithm for path planning of UAV in the simulated environment is identified. • Performance analysis of A-star and MILP provides us with a better under- standing of these two path planning methods in a general sense. Further, the complexity of the methods theoretically helps us to analyse in what situation is the algorithm better when implemented in a real-time scenario. 1.5 Thesis Outline The thesis report consists of 7 chapters. The chapters are as follows. Chapter 1 is the introduction for the thesis where the motivation for the research is briefly discussed. Chapter 2 contains the background and related work that pertains to this thesis. The algorithms that were considered were discussed in a generalised sense. Chapter 3 deals with the research methods and methodology that is used in this thesis. Chapter 4 provides the results observed and the findings of this thesis. Chapter 5 deals with the analysis of the results observed in Chapter 4. Validation of the results is also dealt with in this chapter. Also, computational differences for the proposed methods are also discussed in this chapter. Chapter 6 deals with discussions and limitations regarding this study. Threats to validity are also addressed in this chapter. Finally, Chapter 7 concludes the study by providing the answers to the research questions that provide motivation for this study. Also, future work that could be done for this study is discussed.
  • 14. Chapter 2 Background and Related Work 2.1 Background This chapter provides a basic idea of the path planning problem and puts it in the context of Unmanned Aerial Vehicles and gives an overview of A-star algorithm and Mixed Integer Linear Programming. Also, a brief introduction about path planning problem and efficiency of the algorithm is presented in this section. 2.1.1 Path Planning Problem Path planning is an area of interest in several fields of research [5]. The main functionality of a path planner is to devise a path for a machine from a starting point to the ending point by avoiding obstacles. Path planning is an important aspect in the area of flight navigation and UAV navigation to avoid problems with the weather and other such aspects [5]. Technically path planning problem of an unmanned aerial vehicle, in general, can be defined as determining the path of a vehicle in a well-defined environment from a starting point to an ending point where the vehicle is free from collisions with the surrounding objects [4]. Often these path planning problems for UAV navigation with a diversion from obstacles turn out to be NP-hard problems [6]. Such problems are often simplified by di- viding one problem into sub-problems and solving each subproblem individually [6]. Path planning problems have been thoroughly researched and reviewed. How- ever when it comes to path planning problems a few criteria that are often taken into account are computational time, completeness and path length [4]. A path planning algorithm is said to be more efficient if it has less computational time [4]. There however might be trade-offs among these criteria to achieve a perfect solution [4]. Path planning problem is a form of an optimisation problem which consists of recurring parameters that are to be optimised on the same path [7]. Path planning is one of the important issues that is to be addressed when it comes to 4
  • 15. Chapter 2. Background and Related Work 5 the topic of development of UAVs. A path planning algorithm formulates a route for the UAV from its starting location to the desired ending location [8]. 2.1.2 Framework for automated path planning The framework consists of two important parts namely external information and analytical process [9]. External information mainly consists of the environment that the vehicle is going to travel in along with variables and constraints. All such factors must be considered to set a goal [9]. The analytical part consists of an integration module and a path generation module [9]. In the integration module, the costs and goals are computed from the external information and finally a path is generated based on the analysis done. The framework is represented in the form of a block diagram as shown in Figure 2.1. Figure 2.1: Block diagram to show the framework of automated path planning 2.1.3 A-star Algorithm One of the most widely used path planning algorithms for finding the shortest path is the A-star algorithm. The A-star algorithm uses a heuristic function h(n) to find the cost of the best path from start node to the end node [10]. A-star algorithm is a best first algorithm and can be evaluated with the function f(n) as f(n) = g(n) + h(n) where g(n) is the actual length of the evaluated path from the start to the finish node and h(n) is a heuristic estimate of the remaining distance to the goal state [11]. A-star algorithm is only admissible if the heuristic function always gives the exact distance to the goal. However, this may be practically impossible [12]. A-star algorithm might be admissible in some cases as it considers only a few nodes. This is because A-star algorithm uses an optimistic estimate of the cost of a path [10]. In a best case scenario, A-star algorithm is as fast as the Best First
  • 16. Chapter 2. Background and Related Work 6 Search algorithm. In a worst case scenario, as Best First Search algorithm should consider all paths to all the possible nodes, its time complexity is increased [13]. We can say that one of the best-suited algorithms for finding the optimal path is A-star algorithm [13]. The pseudo code for A-star algorithm is presented in Figure 2.2 Figure 2.2: Pseudo code for A-star algorithm 2.1.4 Mixed Integer Linear Programming Linear programming models are commonly used to solve mathematical problems for optimisation and try to arrive at an optimal solution [14]. Linear program- ming takes in the problem statement and represents it in the form of mathematical equations [14]. An optimal solution is a point where the maximum or minimum value is taken by the objective function [14]. Linear programming has a special case called integer programming which re- quires the variables to be integers [14]. For such cases, mixed integer linear programming is used [14]. Mixed Integer Linear Programming is one of the best optimisation methods which is a combination of both continuous and discrete variables [15]. Therefore MILP can solve problems involving both continuous and discrete variables [15]. Formally Mixed Integer Linear Program is a problem having
  • 17. Chapter 2. Background and Related Work 7 • A linear objective function fT x, where x is a variable column vector and f is the column vector of constants. • Linear constraints, a lower bound, and an upper bound. It is mathematically represented as: minx,z fT 1 x + fT 2 z subject to A1x + A2z ≤ b MILP is a recent approach that has been developed in the filed of path plan- ning and has been proven to be an essential and a suitable way to avoid obstacles in a dynamic environment [16]. The main advantage of MILP is that it can ef- ficiently solve optimization problems that commonly occur in obstacle avoidance problems [16]. MILP differs form a regular linear programming problem as only a few variables can be integers. Therefore the solution space of linear program- ming problem and mixed integer linear programming problem are similar [17]. The MILP problem is generally NP-complete but as the problem size increases it becomes NP-hard [15]. 2.1.5 Efficiency of an algorithm The efficiency of an algorithm is related to the amount of resources used by the algorithm [18]. For greater efficiency of the algorithm, we aim at minimising the resources used by the algorithm. Resources are mainly measured by two factors: • Time: The total time taken for the complete execution of the algorithm. • Space: The amount of memory needed by the algorithm to function prop- erly. This may be the memory required for the code and also the amount of memory required for the data using which the code operates. Usually, time complexity is analysed using Big O notation to get a near esti- mate of the running time of the algorithm for the given data. This is useful for comparison of algorithms when there is a large input data. Space complexity is an analytical estimate of the amount of run time memory needed as a function of the size of input data. Big O notation is used to express space complexity. Space complexity considers the amount of memory needed by the code of the algorithm, input data, output data, and also as the workspace during execution of the code.
  • 18. Chapter 2. Background and Related Work 8 2.2 Related Work Previously, many different path planning algorithms have been proposed. These algorithms aim at providing an optimal route for the UAV in a dynamic envi- ronment [19]. The efficiency of these algorithms is generally measured with the help of criteria like computational cost and time [4]. Path planning algorithms can be broadly classified into potential field algorithms, probabilistic algorithms, and graph search algorithms as mentioned in [7]. Heuristic approaches like tabu search, ant colony optimisation, simulated annealing are more commonly used methods for path planning. Algorithms like mixed integer linear programming (MILP), A-star algorithm, market-based algorithm, and Voronoi partitioning are discussed in detail in [6] [7]. In [7] the author briefly describes the algorithms and also mentions about a software tool called PCube which is used to generate waypoint sequences. In [3] the author aims to study about sampling based path planning algorithms. In [20], the author emphasises on path planning for ground vehicular systems and feasibility with the environment. [21] deals with adaptive path planning problem and simulation of a real-time path planner. In [9] the authors aim to understand how humans conduct path planning under time pressure by experimenting with four cost functions in a domain. In [11] the author aims to develop an algorithm for path planning to avoid obstacles and obtain an optimum trajectory with min- imum arrival time to destination. In [22] the author proposes a simulation experiment using MILP for path plan- ning of UAVs using Archimedes spiral thereby solving the path planning problem for UAVs within a dynamic environment.A-star algorithm and its importance in path planning of UAVs is discussed in [23]. Also, the important features of graph search algorithms are discussed in [7]. In [19] the author talks about the impor- tance of path planning algorithms and compares A-star algorithm with Dijkstra’s algorithm. The author of [14] discusses in detail about task assignment and mis- sion scheduling using Mixed Integer Linear Programming. [24] clearly discusses the efficiency of algorithms.
  • 19. Chapter 3 Method This chapter describes the type of method used for implementing the study and thereby answering the research questions. Initially, both, A-star algorithm and Mixed Integer Linear Programming are thoroughly studied. An understanding of what the algorithms should be evaluated on is acquired. In this experimental scenario, computational time and computational space are considered as perfor- mance metrics. 3.1 Literature Review Based on the related work that has been done in the area of path planning for UAVs, a literature review is conducted. Articles related to path planning meth- ods and techniques along with various algorithms used for path planning were considered and studied. The research papers, journal articles, conference papers and thesis reports were obtained form various databases. The search was performed in five stages. The key words used were modified each time such that initially all the research related to path planning algorithms is considered. Later the search was narrowed to path planning methods and tech- niques that consist of obstacle avoidance and also most efficient path planning algorithms. A total of 543 articles were found in the initial search. These articles include journal articles, conference papers, thesis documentations and research papers. These articles were filtered based on the availability of full text in the database. This criteria reduced the search result to 399 articles. Further, the articles were considered only if they are from the last 20 years, which resulted in the results to consist 260 articles. The abstracts for these 260 articles were studied and of these 53 articles were found to be most relevant to the topic at hand. The search strings are further modified thereby deepening the search using snowballing technique [25]. The relevant articles are thoroughly studied. 9
  • 20. Chapter 3. Method 10 3.1.1 Inclusion and Exclusion Criteria Inclusion criteria • Articles that discuss the key features of path planning methods were con- sidered. • Articles that were published in the last 20 years were considered. Exclusion Criteria • Articles that were published in English were considered. • Articles for which full text was not available or the articles that need to be purchased were excluded. • Articles without proper citations were excluded. Keywords Number of arti- cles Number of Ar- ticles after ex- clusion "Path Planning Algo- rithms" 153 6 "Path Planning and "Optimization" 147 15 "Path Planning" and "Obstacle Avoidance" 92 13 "Path Planning" and "Efficiency" 140 15 "Path Planning" and "Complexity" 16 4 Table 3.1: Results Obtained during Literature Review Motivation for Selection of A-star and MILP: From the Literature review that has been conducted, it has been observed that the most widely used path planning techniques that are being used for UAVs are A-star algorithm and MILP. A-star algorithm is being used with obstacle avoidance to get the efficient path of the algorithm [6]. Also A-star algorithm is the most widely used algorithm among all the heuristic algorithms [6]. It is also found that MILP is an effective and an efficient method for path planning using obstacle avoidance [16]. Further it is observed that MILP can solve optimization problems for path planning along with obstacle avoidance [17]. Since these two methods are found out to be widely used and are considered to be efficient in their respective areas, they are chosen for a comparative analysis in this study.
  • 21. Chapter 3. Method 11 3.2 Basic Evaluation of Path Planning Methods Evaluation of path planning methods means to determine the number of resources, generally space and time, required by the methods to execute [26]. Most of the algorithms and methods are created in such a way that they can work with a set of arbitrary inputs. Consistently efficiency of an algorithm is measured as time complexity or space complexity [27]. Algorithm analysis is an important area as it provides a theoretical estima- tion of the required resources needed by an algorithm for computing and solving a problem [28]. This estimation can potentially provide insight on appropriate ways to find efficient algorithms. Theoretically, in the analysis of algorithms and methods, the complexity of algorithms is estimated, as it is relatively easier to estimate the complexity for a large problem size [28]. Most commonly, Big O notation, Big-theta notation and Big-omega notation are used for measuring the complexity [29]. As there is a possibility for a difference in efficiency for different algorithms and methods for different implementations with different inputs, asymptotic estimates are used to this end. However, certain implementations of algorithms usually require certain assumptions for computing exact efficiency of the algorithm or methods. Measuring the performance is the most common way to arrive at a definitive conclusion regarding the efficiency of the algorithm. Analysis and evaluation of algorithms is an important aspect, as the unintended use of an inefficient algo- rithm can impact the performance of the system significantly [18]. In the case of time-sensitive applications or programs, an algorithm that takes a lot of time for execution can produce results that are useless and obsolete [18]. This can lead to serious problems in practical situations. Also, an algorithm which is inefficient can wind up requiring additional resources and use them uneconomically to ren- der it useless [18]. For path planning algorithms in the case of UAVs, algorithmic efficiency plays a pivotal role. Evaluation of algorithms for finding the best-suited algorithm for a particular scenario is very important. The algorithms that were considered for performance evaluation in this study were A-star algorithm and Mixed Integer Linear Programming (MILP). These are the most commonly used methods for path planning of UAVs. The criteria on which these path planning algorithms were evaluated are com- putational time and computational space. Big O notation is used for evaluating the algorithms. This is because the exact counting of all the operations is quite difficult. Big O notation allows us to estimate a cost function that facilitates us
  • 22. Chapter 3. Method 12 to approximate the growth rate of the algorithm. An approximation is good when the problem size gets too large. Big O notation is commonly used as it does not give an explicit interpretation of the cost function for a distinct problem size [15]. The general idea is that the behaviour of the algorithm is expressed as the problem size grows large enough that it ignores constants and lower order terms. The results of this evaluation of A-star algorithm and MILP are presented clearly in Chapter 4. 3.3 Simulation Experiment Simulations are programs based on some systems or processes in a computer [30]. The main motivation for using a simulated experiment is that they are simplified versions of real-world scenarios with a controlled environment [30]. This control over the environment is implemented to focus on the main topic at hand thereby achieving the desired results with a greater degree of reliability [31]. A simulation program can be developed for an algorithm and can be executed to get results that are satisfactory for the algorithm in the created environment [31]. Every algorithm has its own advantages and disadvantages [31]. For simu- lating an algorithm the following steps are implemented. • Generate a program that can mimic the functionality of the algorithm in real-time. • Implement the program containing the algorithm. • Conduct experiments on this system and analyse the results. A simulation experiment is chosen for this research because the environment that is generated is controlled. The execution of the algorithms in a real-time en- vironment is quite difficult because the problem size would be large. This will be inefficient as the results observed might be flawed or hard to analyse. Therefore, a simple environment is generated and, the algorithms are simulated accordingly. The simulation model that best suits this experiment is continuous simulation as the variables are changing continuously [32]. Discrete simulation model does not fit very well in this case as the variables do not change in discrete times and steps for the simulated environment [32]. Also, discrete model is not considered as the simulation becomes complex and the environment variables will be harder to simulate on the instance. The two most widely used methods for path planning of UAVs are the A-star algorithm and MILP [4]. So these two methods are taken for an experimental analysis wherein the time taken for each of the method to compute a given test
  • 23. Chapter 3. Method 13 scenario is measured with respect to the number of functions that algorithm needs to compute the scenario. This experimental analysis is done using Matlab software. First, both the methods were carefully studied and pseudo code for A-star algorithm and MILP were analysed. Test scenarios were generated and a code was developed accord- ingly using Matlab. The simulation is expected to result in an optimal path for an unmanned aerial vehicle with collision avoidance using both A-Star algorithm and MILP. A general result from the simulations is a trajectory from the starting point to ending point where collision avoidance is enforced to make the route of the UAV optimal and more practical. This simulation for both the algorithms was done using common scenarios. 3.3.1 Assumptions Usually, in simulation experiments, assumptions are made to keep the system stable and to avoid any external errors that may occur [33]. A few assumptions are made for the experiment performed in this study are as follows: • The UAV can only travel in X and Y coordinates which means that the UAV should travel around an obstacle and cannot fly over or under the obstacle. • The environment created in the experiment is static, i.e., the obstacles are fixed and are not moving. In a real world setting these static objects can be buildings, structures or trees that might occur in the path of a UAV. • Moving obstacles (which can be other UAVs) are not considered so that the main emphasis of the results is on the performance of the path planning techniques. This allows us to measure the performance of the path planning techniques in a simple environment. • The starting point and the ending points of the UAV are predetermined to maintain optimality. • The external factors such as wind and fuel consumed do not affect the performance of the algorithms. This is because only a simplified model of a UAV is considered • The optimal path is obtained by calculating the shortest distance between the starting point and the ending point of the UAV. Also, the path calcu- lated by the algorithms is always optimised for better results.
  • 24. Chapter 3. Method 14 3.3.2 Test Environment The simulation experiment was performed on a computer with the following spec- ifications: • Operating system: Windows 10 Home • Processor: Intel® Core ™ i3-4030U CPU @ 1.90 GHz • Installed memory (RAM): 4GB • System type: 64-bit Operating System, x64-based processor 3.3.3 Test Scenarios An environment for the path planning is carefully designed for both A-star algo- rithm and MILP. Initially, a grid is taken as a 2-dimensional array map with size on the X axis as 50 units and size on the Y axis as 25 units. This array stores the coordinates of the map and objects in each coordinate. The input values for the test cases are the number of obstacles, starting point of the UAV and final position of UAV. These test scenarios are developed using Matlab software. The position of the obstacles is randomly generated. If there are more obstacles, the time taken for computation of the path is also increased. Therefore we can say that the number of obstacles encountered by the UAV is directly proportional to the time taken for computing an optimal path. However, to maintain optimality we consider equal number of obstacles for A-star algorithm and MILP. Number ofobstacles ∝ Computation time A-star Algorithm: A test environment for A-star algorithm is created in such a way that there are starting and ending points for the UAV. The number of obstacles is taken as 5. The main motivation for considering only 5 obstacles is that the path of the UAV when affected by the positions of 5 obstacles is observed to be similar when more obstacles are considered i.e, the computation time is observed to be similar to that when 5 obstacles were considered. Therefore, to maintain optimality and simplicity and to obtain more accurate results only 5 obstacles were considered. The obstacles are randomly placed across the path of the UAV. The algorithm generates a path for the UAV in such a way that the obstacles are avoided, and the UAV reaches the goal node without any collisions. The final route that is for- mulated will be the optimal route which gives the shortest path from the starting point to the ending point avoiding collision with the obstacles.
  • 25. Chapter 3. Method 15 Two cases are considered for the environment for the path generation of the UAV using A-star algorithm. Scenario 1: No obstacles are encountered by the UAV. Scenario 2: Obstacles are encountered by the UAV. MILP: Test environment for MILP is generated in such a way that a starting point for the UAV is predetermined, ending point of UAV is predetermined, and the ob- stacles are randomly placed. The number of obstacles for MILP is taken as 5. The UAV starts from the starting node and reaches the goal node in an optimal route avoiding the obstacles in its path. The final route that is formulated by the algorithm has an optimal time which gives the shortest path from the starting point to the ending point without any collisions. Two cases are considered for the environment for the travel of the UAV using MILP. Scenario 1: No obstacles encountered by the UAV. Scenario 2: Obstacles are encountered by the UAV. For Scenario 1, 5 obstacles are randomly placed such that the path of the UAV is unobstructed and for Scenario 2, the 5 obstacles are placed in such a way that the path of the UAV is obstructed and the collision avoidance function is used to generate the path. 3.3.4 Implementation: Both the path planning methods are implemented in both the scenarios. Imple- mentation for each of the method is explained individually. A-star Algorithm: A-star algorithm is used to calculate the shortest path from a starting point to an ending point. Initially, an interface is created where a starting point and ending point of the UAV are generated. Obstacles are placed for each scenario such that the test cases are satisfied. This algorithm generates the shortest path between the starting point of the UAV and the ending point. After the environment is created as a 2-dimensional map array and the starting point and ending points of the UAV are fixed, positions of the obstacles are fixed. The obstacles are generated randomly. For one scenario, a path where no obstacles are encountered and another scenario where obstacles are encountered by the UAV are considered. This may increase the computation time of the algorithm as the collision avoidance function should be processed each time an obstacle is encountered.
  • 26. Chapter 3. Method 16 Cost Function: The distance between any two nodes can be obtained by sim- ply calculating the straight distance between the nodes. This might not always be true practically as there may be obstacles present in the path. As long as the cost is not overestimated, the algorithm can generate an optimal path. The implementation of A-Star algorithm is as follows: 1. Initially, set the start node on OPEN list and proceed to calculate the cost function f(n) where the heuristic function is 0 and g(n) is the distance between the start position of the UAV and the goal node. 2. Remove the node with the smallest cost function from the OPEN list and put it in the CLOSED list. Let this be node n. 3. If n is found to be the goal node, then terminate the algorithm and obtain the solution path using pointers. Else continue to step 4. 4. Compute the cost function for each successor node on the CLOSED list. 5. Associate each successor node on OPEN list or CLOSED list with the cal- culated cost and put them on the OPEN list. 6. Associate with successors on the OPEN list with cost values smaller than the previous node. 7. Go to step 2. The Matlab Program for A-star algorithm consists of • A main file that needs to be executed to run the program. • A distance function to calculate the distance between two nodes. • A function to take in the list of successor nodes and calculate the cost function. • A function to generate the OPEN list with values. • A function that takes values from the OPEN list and returns the node with the least cost function. • Also a function to index the location of the node in the OPEN list. The path traversed by the UAV is displayed as a trajectory from the starting point to the ending point. Whenever an obstacle is encountered, the path of the UAV deviates. The trajectories for the two test cases are shown in Figure 3.1 and Figure 3.2.
  • 27. Chapter 3. Method 17 Figure 3.1: The optimal path generated by A-star algorithm for Scenario 1 Figure 3.1 shows the path for a UAV for Scenario 1 when no obstacle is en- countered in its path from starting point to the ending point. The starting and ending point are placed far apart from each other and are blue in colour. The blue line represents the path travelled by the UAV. The obstacles are present at random positions and are represented by red circles.
  • 28. Chapter 3. Method 18 Figure 3.2: The optimal path generated by A-star algorithm for Scenario 2 Figure 3.2 shows the path for a UAV for scenario 2 when obstacles are encoun- tered in its path. The starting and ending point are placed far apart from each other and are blue in colour. The path of the UAV is represented as a blue line. The obstacles are present at random positions and are represented as red circles. When the UAV detects an obstacle, the path deviates. The A-star algorithm generates the shortest route to the final point. The time taken for execution of the algorithm in these two scenarios is taken along with the number of functions the algorithm needs to execute in order to get the optimal route.This done using the profiler in Matlab. The results are presented in Chapter 4. MILP: Mixed integer linear programming is used to find an optimal route that takes the least amount of time to reach the goal node from the starting node. A set of way-
  • 29. Chapter 3. Method 19 points determines the path travelled by the UAV. These waypoints are generated in such a way that a continuous path from the waypoints gives the route of the UAV [34]. Time taken for the UAV to traverse is calculated for each scenario. Collision avoidance function is implemented so that the algorithm implementa- tion is practical. An optimal route is calculated using the IBM ILOG CPLEX optimisation tool and A Mathematical Programing Language (AMPL) which is a modelling language used to solve complex problems [35]. AMPL is used to create and translate models [36]. It helps in indexing and sorting out of variables. Many solver codes are used in conjunction with AMPL. CPLEX optimisation tool is a commercial optimizer which efficiently generates the shortest route from the starting point to the ending point [35]. Matlab, AMPL and CPLEX optimizer are used together to get the best possible scenario using MILP for generating the shortest path. The implementation of MILP is as follows: 1. Initially, a default set of waypoints are generated for plotting the path of the UAV. These waypoints can be generated according to the test cases. 2. A continuous path is generated connecting these waypoints. 3. All the data required for a particular scenario is generated using a Matlab function writeAmplModel. 4. A .dat (data) file is generated which consists of all the data regarding the UAV and the environment. 5. AMPL is now used to load the model and implement the respective data file for generation of the path. 6. Time taken by the UAV from the starting point to the ending point is now calculated. This is done from a function getTimeFromPath. 7. Different sets of waypoints are generated where for each set of waypoints the UAV has its own time to travel from the starting point to the end point. 8. The solution for each path generated is recorded. 9. This solution is plotted to get the optimal path from start point of the UAV to the end point. AMPL modelling language with the commands needed to run the model that defines the environment for MILP is presented in Figure 3.3. After assigning the values to the variables for the environment, a data file is generated with all the environment variables as shown in Appendix C.1. CPLEX optimisation tool
  • 30. Chapter 3. Method 20 is used to optimise the cost for travelling from the starting point to the ending point. Figure 3.3: A snapshot running the AMPL model for generating the environment variables Matlab program for MILP consists of • A main file that needs to be executed to run the program and set the data to the variables. • A function to generate waypoints. • AMPL and IBM ILOG CPLEX optimisation tool to generate a model and optimise the solution. • A function to calculate the time taken by the UAV from the starting point to reach the goal. • A function to optimise the path of the UAV using optimisation toolbox of Matlab.
  • 31. Chapter 3. Method 21 Figure 3.4: The optimal path generated by MILP for Scenario 2 Figure 3.4 shows the trajectory of the UAV using MILP when no obstacles are encountered. The starting point and the ending point are selected far apart from each other and the way points generated are in such a way that the shortest path is reached from the start point to the end point. The obstacles are represented as boxes. Similarly a path for UAV is optimised when obstacles are encountered. This is done using the AMPL modelling where all the environment variables are assigned values. CPLEX optimisation tool is used to optimise the path. Finally, the time taken for the program to execute is taken for both the sce- narios along with the functions needed by the program to execute. The results are presented in Chapter 4.
  • 32. Chapter 3. Method 22 3.4 Comparative Analysis: A comparative analysis for A-star algorithm and MILP is done to determine the performance of these algorithms and compare the performance for the test cases. The performance of each algorithm is measured with the time taken for execution of the program for that algorithm with the number of functions used to get an optimal route. This measure of performance for both the algorithms is compared and the algorithm with best execution time and the algorithm with least number of functions is presented. These factors help us determine which algorithm is better for computation of an optimal route of UAV in the given environment.The comparative analysis for A-star algorithm and MILP is discussed in Chapter 4. 3.5 Formulation of Hypothesis The results obtained form the experiment are compared and analysed statistically to understand which method among A-star algorithm and MILP performs better in Scenario 1 and Scenario 2. For this purpose we need to analyse the data and statistically verify if there is actually a significant difference in the time observed for A-star algorithm and MILP in each scenario. the hypothesis proposed is as follows. H0 (Null Hypothesis): There is no significant difference in the computation time for A-star algorithm and MILP. H1 (Alternate Hypothesis): There is a significant difference in the computa- tion time for A-star and algorithm and MILP. This hypothesis is tested statistically to verify the findings of this study and to validate the results that are observed through the experiment. The statistical testing method is elaborated further in Section 5.1.
  • 33. Chapter 4 Results The following section presents the results of the experiment as per the research method proposed in Chapter 3. 4.1 Experimental Results: The experiment for generating an optimal route for the UAV using A-star algo- rithm and MILP is performed using Matlab software. A program utilising the A-star algorithm is developed as presented in Appendix A to generate an optimal route which is the shortest route from the starting point to the ending point. Also another program using the similar environmental conditions is developed which utilises MILP. This program utilises AMPL to create a model that generates the environment. CPLEX optimizer is used to optimise the path. The experimental results utilising both the algorithms are presented individ- ually. Each scenario for A-star algorithm and MILP is implemented 10 times. A total of 10 iterations were considered as it was observed that the difference in the mean for more iterations is insignificant and the standard deviation is very small. Therefore to obtain the results that are optimal, the number of iterations was stopped at 10 as 10 data points for each algorithm in each scenario provides the required results. 4.1.1 A-star Algorithm: The program using A-star algorithm is executed in Matlab. This generates the shortest route from the starting point to the ending point. Two scenarios were considered where Scenario 1 has an environment where no obstacles are encoun- tered by the UAV and Scenario 2 has an environment where obstacles are en- countered by the UAV. The program is executed for both the scenarios and is repeated thrice. The execution time of the program utilising A-star algorithm is measured by taking the average of the three values for execution times in both 23
  • 34. Chapter 4. Results 24 the cases. The efficiency of the program utilising the algorithm is obtained by taking the number of functions used by the program to get an optimal route along with the computation time of the program. This process is done for the scenario where obstacles are not encountered by the UAV and a scenario where the UAV encoun- ters obstacles. Efficiency, in this case, is determined as the time taken to execute the program utilising the functions to obtain an optimal shortest route from the starting point to the ending point. The experiment is repeated 10 times for both the scenarios by executing the program. The average of the 10 repetitions is taken and is considered as the computation time of A-star algorithm. Also the standard deviation of the 10 iterations is calculated for both the scenarios to make sure the change in time is minimal.The standard deviation (s) is calculated as the square root of variance (s2 ) and can be represented by the formula s = (X − M)2 n − 1 (4.1) where X is the time in each repetition, M is the mean, and n is the number of repetitions. The results for the computation time of the program utilising the A- star algorithm are presented for Scenario 1 where the UAV does not encounters obstacles and Scenario 2 where the UAV encounters obstacles along with their average computation times in Table 4.1 and Table 4.2 respectively.
  • 35. Chapter 4. Results 25 Repetition Computation Time (seconds) Repetition 1 37 Repetition 2 35 Repetition 3 31 Repetition 4 33 Repetition 5 34 Repetition 6 37 Repetition 7 33 Repetition 8 35 Repetition 9 36 Repetition 10 35 Mean (Average) 34.6 Standard Deviation 1.897 Table 4.1: Computation time of A-star algorithm for Scenario 1
  • 36. Chapter 4. Results 26 Repetition Computation Time (seconds) Repetition 1 68 Repetition 2 65 Repetition 3 72 Repetition 4 69 Repetition 5 66 Repetition 6 60 Repetition 7 68 Repetition 8 65 Repetition 3 66 Repetition 10 65 Mean (Average) 66.4 Standard Deviation 3.169 Table 4.2: Computation time of A-star algorithm for Scenario 2 The functions utilised by the program is constantly observed to be 104 for the program executing the A-star algorithm for both the cases. Therefore the efficiency of the program utilising A-star algorithm can be computed as follows Scenario 1: The average computation time for the scenario where UAV does not encounter obstacles is observed to be 34.3 seconds for 104 functions. The standard deviation calculated is 1.897. Therefore, if we consider efficiency as a function of computation time and the number of functions executed, we can say that Efficiency = Number of functions Computation time = 104 34.6 = 3.005 Therefore the efficiency of A-star algorithm in the given scenario is said to be 3 functions per second. Scenario 2: The average computation time for the scenario where the UAV encounters obstacles is observed to be 66.4 seconds and the number of functions executed are observed to be 104. The standard deviation calculated is 3.169. Therefore the efficiency being the function of number of functions and the com-
  • 37. Chapter 4. Results 27 putation time, we can say that, Efficiency = Number of functions Computation time = 104 66.4 = 1.56 Therefore the efficiency of A-star algorithm for the given scenario is observed to be 1.56 functions per second. 4.1.2 MILP: The program using MILP is executed in Matlab using the model created by AMPL and optimized using CPLEX optimizer. This program generates the op- timal route from the starting point to the ending point for both the scenarios. Scenario 1 where no obstacles are encountered by the UAV and Scenario 2 where obstacles are encountered by the UAV. The program using MILP is executed and repeated thrice for both the scenarios. The execution time of the program util- ising MILP is determined by taking the average of the three execution times in both the scenarios. The efficiency of the program utilising MILP is determined by considering the number of functions utilised by the program to generate an optimal route from the starting point to the ending point. This is done by counting the number of functions utilised by the program for both the cases where obstacles are not en- countered by the UAV and where obstacles are encountered by the UAV. In this case, the efficiency is determined as a function of time taken to compute the func- tions utilised by the program to generate an optimal path from the starting point of the UAV to the ending point and the number of functions used by the program. The experiment is repeated 10 times for both the scenarios and the average computation time is calculated.The results for computation time of the program utilising MILP is tabulated and presented for Scenario 1 and Scenario 2. The average time is considered as the total computation time of the program for each scenario. The computation times of the program for Scenario 1 and Scenario 2 are presented in Table 4.3 and Table 4.4 respectively.
  • 38. Chapter 4. Results 28 Repetition Computation Time (seconds) Repetition 1 14 Repetition 2 19 Repetition 3 17 Repetition 4 14 Repetition 5 15 Repetition 6 12 Repetition 7 16 Repetition 8 19 Repetition 9 17 Repetition 10 13 Mean (Average) 15.60 Standard Deviation 2.413 Table 4.3: Computation of MILP for Scenario 1
  • 39. Chapter 4. Results 29 Repetition Computation Time (seconds) Repetition 1 17 Repetition 2 19 Repetition 3 21 Repetition 4 20 Repetition 5 18 Repetition 6 19 Repetition 7 15 Repetition 8 16 Repetition 9 19 Repetition 10 20 Mean (Average) 18.3 Standard Deviation 1.889 Table 4.4: Computation of MILP for Scenario 2 The functions utilised by the program is constantly observed to be 195 for the program using MILP in both the cases. Therefore the efficiency of the program for MILP can be calculated as follows. Scenario 1: The average computation time of MILP for the scenario where UAV does not encounter obstacles is observed to be 15.6 seconds for 195 functions. The standard deviation calculated is 2.431. Therefore, if we consider efficiency as a function of computation time and the number of functions executed, we can say that Efficiency = Number of functions Computation time = 195 15.6 = 12.5 Therefore the efficiency of MILP in the given scenario is said to be 12 func- tions per second. Scenario 2: The average computation time of MILP for the scenario where UAV encounters obstacles is observed to be 18.3 seconds for 195 functions. The standard deviation calculated is 1.889. Therefore, if we consider efficiency as a function of computation time and the number of functions executed, we can say that Efficiency = Number of functions Computation time = 195 18.3 = 10.6
  • 40. Chapter 4. Results 30 Therefore the efficiency of MILP in the given scenario is said to be 10.6 func- tions per second. 4.2 Performance Evaluation and Comparative Anal- ysis The performance of an algorithm is the amount of work done by that particular algorithm in a specific time [29]. This is generally measured in terms of computa- tion time of the algorithm and space required for the execution of the algorithm [18]. Hence we can say that the two major aspects of algorithmic performance are: • Time – Time taken for execution of instructions and functions. – The total computation time of the algorithm. • Space – Functions and data structures used. – Type of functions used. However, the run time or computation time calculated is system dependent. This means that the performance of the algorithm might vary from system to system [29] [18]. The computation time which is determined experimentally in a contained en- vironment for both A-star algorithm and MILP are presented in Table 4.5. Also the number of functions that the algorithm utilises to execute the algorithms along with the efficiency are presented in Table 4.5.
  • 41. Chapter 4. Results 31 Constraints A-star Scenario 1 A-star Scenario 2 MILP Scenario 1 MILP Scenario 2 Average Computation time (seconds) 34.6 66.4 15.6 18.3 Standard Deviation 1.897 3.169 2.413 1.889 Number of functions 104 104 195 195 Efficiency (Functions per second) 3.005 1.56 12.5 10.6 Table 4.5: Results obtained from the experiment 4.2.1 A-star Algorithm For A-star algorithm, the computation time and the number of functions executed by the program in both the scenarios are taken and is represented as a graph. The time taken for computation of the program using the algorithm is shown on Y-axis and the number of functions utilised by the program is shown on X-axis. For Scenario 1, where no obstacles are encountered by the UAV, it is observed that the number of functions executed by the program is 104 as presented in Table 4.5. The average computation time is observed to be 34.6 seconds as pre- sented in Table 4.5. The time-function graph for Scenario 1 for A-star algorithm is presented in Figure 4.1. For Scenario 2, where obstacles are encountered by the UAV, it is observed that the number of functions executed by the program is 104 as presented in Table 4.5. The average computation time is observed to be 66.4 seconds as presented in Table 4.5. The time-function graph is for Scenario 2 for A-star algorithm is presented in Figure 4.2.
  • 42. Chapter 4. Results 32 Figure 4.1: Computation time vs Number of Functions for A-star algorithm in Scenario 1 Figure 4.2: Computation time vs Number of Functions for A-star algorithm in Scenario 2 4.2.2 MILP For MILP, the computation time and the number of nodes traversed by the UAV in both the cases is observed and recorded and is graphically represented. The time taken by the program using MILP is shown on Y-axis and the number of
  • 43. Chapter 4. Results 33 functions executed by the program to implement the algorithm is taken on X-axis. For Scenario 1, where no obstacles are encountered by the UAV, it is observed that the number of functions executed by the program is 195 as observed in Table 4.5. The average time taken by the program using MILP to execute is observed to be 16.2 seconds as observed in Table 4.5. The time graph for Scenario 1 for MILP is presented in Figure 4.3. Figure 4.3: Computation time vs Number of Functions for MILP in Scenario 1 For Scenario 2, where no obstacles are encountered by the UAV, 195 as ob- served in Table 4.5. The average time taken by the program using MILP to execute is observed to be 18.4 seconds as observed in Table 4.5. The time graph for Scenario 2 for MILP is represented in Figure 4.4. These time graphs help us analyse the efficiency of A-star and MILP for each individual case where the obstacles are encountered by the UAV and where no obstacles are encountered by the UAV. Performance of each of the algorithm is now evaluated experimentally.
  • 44. Chapter 4. Results 34 Figure 4.4: Computation time vs Number of Functions for MILP in Scenario 2 4.2.3 Comparative analysis Comparison for A-star algorithm and MILP is done to evaluate the efficiency of these algorithms for the scenarios considered in the generated environment. Graphs are plotted to compare the two algorithms in Scenario 1 and Scenario 2. Figure 4.5: Performance of A-star algorithm and MILP in Scenario 1 From figure 4.5, we observe that in Scenario 1 the computation time of MILP
  • 45. Chapter 4. Results 35 is significant less though the number of functions computed are more. So we can infer from the graph in Figure 4.5 that the performance of MILP is better in this simulated environment. Figure 4.6: Performance of A-star algorithm and MILP in Scenario 2 From Figure 4.6, we observe that in Scenario 2 the computation for MILP is very less although the number of functions computed is more. So we can infer from graph in Figure 4.6 that the performance of MILP is significantly better than A-star algorithm for Scenario 2 in this experiment.
  • 46. Chapter 5 Analysis The results obtained from the experiment to evaluate the efficiency of A-star and MILP are presented in Chapter 4 in detail. These results explicitly answer research question RQ3. In this section, the results obtained are carefully analysed to answer research questions RQ1 and RQ2 explicitly. 5.1 Statistical Analysis of the Results The efficiency of algorithms is dependent on two of the most important factors, time and space. The efficiency of an algorithm can be generalised as time effi- ciency or space efficiency. The performance of an algorithm is generally dependent on the problem size [29]. The measure of the efficiency of an algorithm is done by measuring the time complexity or space complexity of the algorithm over a problem. This can be done in different ways of which the most common way is to measure the execution time of the program that implements the algorithm [29]. Also, the space requirement of an algorithm is often measured by manu- ally counting the number of operations the algorithm has to perform or profiling the program that executes the algorithm. Profiling of an algorithm gives us the number of functions used by the program executing the algorithm along with the number of times each function is called [29] [18]. 5.1.1 Sample Characteristics Initially, it is necessary to check for normality of the data, i.e., if the results ob- tained are normally distributed. For this, we propose a hypothesis. H0 (Null Hypothesis): The results observed are normally distributed. H1 (Alternate Hypothesis): The results observed are not normally distributed. A Shapiro-Wilk’s test (p>0.05) [37] and a visual inspection of their histograms and normal Q-Q plots (Appendix D) show that the time values obtained for the 10 repetitions for A-star algorithm and MILP in Scenario 1 and Scenario 2 were 36
  • 47. Chapter 5. Analysis 37 approximately normally distributed, with skewness and kurtosis as presented in Figure 5.1 [38][39][40]. Figure 5.1: Descriptive Statistics of Results Further, we purpose we propose a hypothesis to verify if there is a statistically significant difference in the variance of the two samples that are being considered for each scenario. H0 (Null Hypothesis): There is no statistically significant difference between the variance of the two samples. H1 (Alternate Hypothesis): There is a statistically significant difference be- tween the variance of the two samples.
  • 48. Chapter 5. Analysis 38 This hypothesis is validated using an F-test using Levene statistic, performed using SPSS tool [41]. The results of the F-test are presented in Figure 5.2 and Figure 5.3. Figure 5.2: Results for F-test in Scenario 1 Figure 5.3: Results for F-test in Scenario 2 From Figure 5.2 and Figure 5.3 we observe that the significance in both the scenarios obtained from F-test is observed to be more than 0.05. Therefore we accept the null hypothesis and reject the alternate hypothesis. Therefore we ob- serve that there is no statistically significant difference between the variance of the two samples. Variables Groups Scenarios Description Independent A-star 1 A-star algorithm and MILP when no obstacles are encountered by the UAV.MILP A-star 2 A-star algorithm and MILP when obstacles are encountered by the UAV.MILP Dependent Time - Computation time for each iteration for execution of A-star algorithm and MILP. Table 5.1: Description of Variables used for Statistical Analysis
  • 49. Chapter 5. Analysis 39 The results obtained form the experiment are observed to be unpaired sam- ples, as clearly there is no effect of one sample on the other. Also the variance of the samples as observed for Table 5.1, are statistically similar. Therefore the statistical test Independent Samples T-test is used to test our hypothesis [42]. 5.1.2 Independent Samples T-test From the observations made in Section 5.1.1 and Table 5.1, a statistical test suit- able for the results was considered. Since the results are normally distributed with no statistically significant difference between the variance of the two sam- ples, so Independent Samples T-test is found to be the most effective [42]. This statistical test aims at verifying the hypothesis presented in Section 3.5. The Independent Samples T-test is applied for both the scenarios where A- star algorithm and MILP are statistically analysed for one scenario at a time. This statistical analysis is carried out with SPSS tool [41]. Scenario 1 (When no obstacles are encountered by the UAV): The result of the statistical analysis is as follows: Figure 5.4: Group Statics for Independent Samples T-test in Scenario 1
  • 50. Chapter 5. Analysis 40 Figure 5.5: Results for Independent Samples T-test in Scenario 1 From the above Figure 5.5 we can observe that the significance at 95 percent confidence is observed to be less than 0.05. Therefore we ignore the null hypothesis and consider the alternate hypothesis. Also, here the t-value which signifies the size of the difference relative to the variation of the sample data is observed to be 19.574. Therefore we can conclude that when A-star algorithm and MILP are implemented in Scenario 1, there is a significant difference in the computation time. Scenario 2 (When obstacles are encountered by the UAV): The result of the statistical analysis is as follows: Figure 5.6: Group Statics for Independent Samples T-test in Scenario 2
  • 51. Chapter 5. Analysis 41 Figure 5.7: Results for Independent Samples T-test in Scenario 2 From the above Figure 5.7 we can observe that the significance at 95 percent confidence is observed to be less than 0.05. Therefore we ignore the null hypothesis and consider the alternate hypothesis. Also, here the t-value which signifies the size of the difference relative to the variation of the sample data is observed to be 31.094. Therefore we can conclude that when A-star algorithm and MILP are implemented in Scenario 2, there is a significant difference in the computation time. 5.2 Validation Simulation is a concept related to experimental methods performed in a controlled environment. We can evaluate the performance of a technology by executing it on a model similar to the real world environment [22]. Sometimes, it is needed that we predict or make a few assumptions about how the real world will react to the technology. Simulations are widely preferred as it is easier and cheaper to execute than running the entire system in the real world. Often the results of a simulation experiment are validated by comparing them to the theoretical results obtained [22]. In this case, the experimental results observed in Chapter 4 are validated with statistical analysis aswell as theoretical analysis.
  • 52. Chapter 5. Analysis 42 5.2.1 Validation through Statistical Analysis The results that were presented in Chapter 4 are statistically analysed using In- dependent Samples T-Test. Initially, the results are considered where the type of method used i.e., A-star algorithm or MILP is taken as the independent vari- able and the computation time of the algorithm is considered as the dependant variable. The results are now tabulated and are tested for normality, that is, if the results observed are normally distributed. From the observations presented in Figure 5.1, we conclude that the results obtained are normally distributed. Further, the results are tested for Homogeneity of Variance. This test is done with Levenes Static. The test helps us determine if the variance of the samples are statistically similar. From the observations made in Figure 5.2 and Figure 5.3, we conclude that, in both the scenarios the variances are homogeneous. 5.2.2 Hypothesis The results are subjected to Independent Samples T-Test to validate the hypoth- esis that is proposed in Section 3.5. From the results presented in Figure 5.5 and Figure 5.7, the null hypothesis is rejected. This conclude that there is indeed a significant difference in the values of computation time for A-star algorithm and MILP in Scenario 1 aswell as Scenario 2. By comparison of means as presented in Figure 5.4 and Figure 5.6, we can therefore conclude that MILP performs sig- nificantly better than A-star algorithm. 5.2.3 Theoretical Validation A-star Algorithm The A-star algorithm computes the shortest distance between two nodes tra- versed by the algorithm. In this case, the shortest distance travelled by the UAV is calculated. The shortest path is calculated for two scenarios, when obstacles are not encountered by the UAV and when the obstacles are encountered by the UAV. As the time complexity of A-star algorithm is theoretically observed to be exponential, it means that there is a significant increase in the time taken by the algorithm when the algorithm has to processes a new node. The results from Chapter 4 indicates that when no obstacles are encountered by the UAV, the average execution time observed is 34.3 seconds as seen in table 4.1. When an obstacle is encountered by the UAV in its path, the time taken for calculating the route is observed to be 68.3 seconds as seen in Table 4.2. This means that the time taken for calculating the route when obstacles are encountered is almost
  • 53. Chapter 5. Analysis 43 twice as much as the time taken for generating a route without obstacles. We observe a significant increase in the computation time. This validates the results obtained for A-star algorithm. To obtain the average time for generating the optimal route for the UAV from starting point to the ending point, the program using the algorithm is executed three times and the average of the three repetitions is considered. MILP MILP problems are generally NP-compete and sometimes may transform into NP- hard problems [15]. This means the estimation of computation time for MILP theoretically is not possible. Therefore optimisation solvers are used along with modelling languages for generation of the environment and solving the MILP problem. MILP is used in combination with AMPL and CPLEX optimisation tool. It computes the shortest route from the starting point to the ending point. AMPL is good for modelling environments for simulations along with CPLEX optimisation tool [36]. The program then proceeds to find the best path from starting point to the final node by avoiding obstacles generated in the environment. The CPLEX optimizer is used to generate the optimal result. The program execution is re- peated three times for each scenario to get consistent values. The computation time for the algorithm in the case where no obstacles are encountered and the case where obstacles are encountered by the UAV is taken for the three repetitions and the results are averaged. 5.3 Computational Differences of A-star Algorithm and MILP The A-star algorithm and MILP were simulated in a controlled environment and were given test scenarios to compute. Both the algorithms generate an optimal path for a UAV in two scenarios, where obstacles are not encountered and where obstacles are encountered by the UAV. The computation times were measured along with the number of functions that the algorithms need to execute. The efficiency of these algorithms was calculated based on these results. Although both the algorithms produced an optimal route for the UAV, there were a few computational differences between the two algorithms. These differ- ences affect the efficiency of the algorithm when a comparison is made against each other. These computational differences observed are quite significant for experimentation with these algorithms. The factors that have a direct effect on
  • 54. Chapter 5. Analysis 44 the performance of the algorithms are computational time and problem size. Effect on computation time: The A-star algorithm, when executed, tends to find out the best route from the starting point to the ending point. It calculates the cost of reaching the goal as a function of distance. The time taken to com- pute the optimal route using the A-star algorithm is, therefore, dependent on the distance between the starting point of the UAV and the ending point of the UAV and the position of the obstacles. Whereas in the case of MILP, the computation time depends on the performance of the computer and solver that is being used to compute the problem. The computation time can be increased but often the methods used are problem specific. Effect on problem size: For A-star algorithm, the problem size increases with the computation of extra nodes. This might be the case when there are more ob- stacles. The computation cost increases exponentially when an additional node has to be parsed because the node should be parsed all the way down till its leaf nodes. This increases the cost significantly. Therefore we can say that the problem size has a direct effect on the efficiency of A-star algorithm. For MILP, however, the computation cost is dependent on the system and is problem spe- cific. With the increase in the size of the problem, the problem instance turns into an NP-hard problem. This means that computation of a larger problem instance may be slow. For the generated environment A-star algorithm and MILP give an efficient result. But A-star algorithm is observed to have lower efficiency in both the scenarios when compared to MILP. However, the MILP uses AMPL modelling and CPLEX optimizer for optimizing the path and generating the optimal results which make it faster. Therefore we can say that in a case where the problem is a simple route planning problem A-star algorithm is easy to compute but for a complex problem MILP is more effective.
  • 55. Chapter 6 Discussion and Limitations Unmanned Aerial Vehicles are those which can operate with a minimum human interaction [43]. The path for UAVs is generally generated using path planning algorithms. Waypoints are generated and the UAV follows the path generated by the algorithm [43]. The usage of UAVs has now increased in real time and are being used for many purposes effectively [43]. Complex tasks such as surveillance and monitor- ing, weather prediction and other such tasks have been made easier and risk-free with the advent of UAVs. Remotely monitored UAVs, however, need line of sight. Remotely monitored air vehicles are currently used by the military for defence purposes [43]. There will be a need to automate the UAVs. Therefore to make the usage of UAVs efficient, a good path planning algorithm is needed. Path planning is one of the areas that is quite commonly addressed in the planning and development of UAVs [8]. A path planning algorithm computes the path of a UAV from a desired starting location to a future location [8]. A path planning algorithm is said to be efficient if it optimizes several attributes [8]. Two of the most commonly used path planning methods are the A-star algorithm and MILP. Although these methods have been previously proposed along with a few variations and improvements, a comparative study is lacking between these two methods where the measure of performance is estimated in terms of computation time and space. The two methods were extensively researched upon and the pseudo codes were analysed. Both A-star algorithm and MILP result in an optimal path from the starting point of the UAV to the final position. A-star algorithm and MILP were simulated in Matlab where a program was written for A-star algorithm and MILP. The environment for both the methods was created so that the starting point and ending point of UAV is determined and also the position of obstacles is determined. Two scenarios were considered for the generation of the path of the UAV, one where no obstacles are encountered by the UAV and the other where obstacles are encountered by the UAV. The optimal paths are generated for both 45
  • 56. Chapter 6. Discussion and Limitations 46 the scenarios for the two methods. The A-star algorithm and MILP were executed on Matlab software and the computation time is observed using the profiler. This provides us with the time for the entire computation as well as the time taken for execution of each function. The execution times for both the methods are noted along with the number of functions used by the program to execute the algorithm. The computation times and the number of functions used is observed for both the methods when an ob- stacle is encountered and when no obstacle is encountered in the path of the UAV. The performance of an algorithm is generally determined by the efficiency of the algorithm. The efficiency of an algorithm is the amount of resources used by the algorithm for proper execution of the algorithm to produce the best possi- ble result for a given scenario. The efficiency of A-star algorithm and MILP are computed as a function of computation time and the number of functions used. This provides us with efficiencies of both the methods in the scenario where an obstacle is encountered and where no obstacle is encountered by the UAV. These efficiencies are compared against each other to get a clear view as to which algo- rithm performs better and in what conditions. This experiment helps us to identify the efficiency of the A-star algorithm and MILP in conditions where obstacles are encountered and where obstacles are not encountered. The efficiencies are further compared with each other to observe which algorithm performs better in the given scenario. From this research, we can conclude that the performance of MILP is significantly better than the per- formance of A-star algorithm. This observation can help real-time path planning programs to use MILP instead of A-star algorithm to achieve a better perfor- mance. The efficiency factor is useful in path planning for UAVs because in a real scenario there may be cases where the problem size is huge and difficult to compute [15]. MILP proves to be useful in such a scenario [15]. A-star algorithm is useful for easy and simple computation of paths when the problem size is limited according to [19] [44]. Also, the author of [12] presents that the computation time of A-star algorithm greatly increases when it has to parse a new node. This proved to be right in the case of this study as the number of functions used for implementing A-star algorithm is significantly less. Also when the UAV encounters an obstacle, the computation time is increased. Therefore we can infer from the analysis presented in [19] and [44] that the A-star algo- rithm is effective when the problem size is limited. The increase in computation time is observed when the obstacles are encountered which validates the analysis presented in [12]. The results and analysis from this study justify that performance of MILP is
  • 57. Chapter 6. Discussion and Limitations 47 better when compared to A-star algorithm. This analysis can be used in real- time path planning for UAVs where the problem size is significantly large and the number of variables is higher. MILP yields better results in terms of efficiency when the constraints are higher and the problem size is large [15]. For a real-time path planning program with a large and complex scenario, MILP is better than A-star algorithm. 6.1 Limitations The performance evaluation of algorithms is always system dependent. This means there might be a slight change in the values observed with the computa- tion time of the algorithms when executed on a different system with a different processor. Also, for a simulation experiment, the values of the environment on which the algorithm is executed will be valid only for that algorithm on that system. When the algorithm is applied to UAV in real-time considering a large input, the values may differ accordingly but the change in the values is relative. This is the major limitation for the proposed simulation experiment. 6.2 Threats to Validity An experiment should always be validated to maintain the quality of the results obtained. Therefore an emphasis on the threats to validity is essential for an experiment. Generally, for an experimental research as done in this study, there are two major threats to validity which includes internal validity and external validity [45]. Each of these types of threats is individually explained and ways to mitigate them are discussed in this section. 6.2.1 Internal Validity Internal validity deals with the degree of control over the design of the study at hand [46]. The level of internal validity depends on the degree of control applied on the variables [46]. In the experiment conducted for this study, a number of variables are considered for defining the environment. These variables have a direct effect on the results. Therefore there is a threat to internal validity where the values for the variables are huge thereby increasing the total problem size. Also, the number of iterations that were performed were 10 for each scenario for A-star algorithm and MILP which may result in a change in the mean of the computation times.
  • 58. Chapter 6. Discussion and Limitations 48 This threat can be mitigated by carefully checking the values that are being assigned to the variables. These environment variables define the path generated by the algorithm for the traversal of UAV from the starting point to the ending point. Also, the execution of the program is repeated so that the computation is done properly and the results obtained are properly validated. The number of iterations is taken as 10 because the change in the means is observed to be insignificant as the standard deviation observed is very less. 6.2.2 External Validity External validity can be described as the extent to which the results that are ob- served in a study can be generalised [46]. This observation may affect the observed results for other situations [46]. In the experiment conducted for this thesis, gen- eralisation in consideration of the obstacles that the UAV may encounter in its path applies to this experiment. This might affect the computation time of the al- gorithm thereby affecting the performance of the algorithm for different scenarios. This threat can be mitigated by randomizing the distribution of the obstacles for each repetition of the experiment. This is done in the simulation because, in real-time, the occurrence of obstacles is random. Though this has an affect on the performance of the algorithm, the risks of a drastic change in time are minimal. Therefore we can say that randomization of objects leads to results that are more generalised and help in computing the execution time of the algorithms close to real-time.
  • 59. Chapter 7 Conclusions and Future Work Based on the extensive research and experiment performed as a part of this re- search study, the answers to research questions that were formulated are as fol- lows: RQ 1. What is the efficiency of A-star algorithm and MILP with respect to computational space and computational time? The efficiency of A-star algorithm with respect to computational space and computational time is exponential. It can be represented using Big-O notation as O(2n ). This means that the computational time and computational space increases drastically when a new node is to be traversed by the algorithm. The efficiency of MILP depends on the environment and problem variables. The exact time complexity and space complexity cannot be evaluated theoretically. This is because the problem is generally NP-hard. Therefore the efficiency of algorithm is usually computed based on simulations using optimizers for optimal route gen- eration. This means that the efficiency of MILP is dependent completely on the problem and the system that is being used for computation. RQ 2. What are the most significant computational differences be- tween A-star algorithm and MILP? There are many computational differences between A-star algorithm and MILP. The few significant ones being that A-star algorithm aims at solving the path planning problem to obtain the best possible route by checking for an optimal solution, whereas MILP is completely dependant on the environment variables and depends on optimisation solvers for generating an optimal route based on the cost of the path. This makes MILP more complex but effective in many cases in a real-time environment where the occurrence of the objects is dynamic. The remaining computational differences are discussed in Section 5.3 of Chapter 5. RQ 3. What are the performance of A-star algorithm and MILP path planning algorithm in a simulated environment? 49
  • 60. Chapter 7. Conclusions and Future Work 50 The performance of an algorithm is the extent to which the resources are used for execution of the algorithm [4]. The performance of A-star algorithm in a simulated environment can be generalized and said to be exponential. This means the performance decreases with the increase in the problem size. However the performance of MILP is observed to be optimal and completely dependent on the variables that affect the environment and the objects involved. 7.1 Future Work Future work in the field of path planning algorithms for UAVs is quite signifi- cantly large as there are a lot of features that can be studied in this field. The future work that can be done for this is study involves the development of an effective and an efficient way to implement the algorithm in a dynamic environ- ment where the position of objects in the path of UAV are changing from time to time. This makes the computation of performance more likely to be applied in a real-time scenario. Potential field algorithms can also be used for better execu- tion of collision detection and avoidance of the UAVs. Also, the existing A-star algorithm and MILP could be worked upon to formulate new and more efficient path planning strategies using these algorithms. Further, a few elements of the algorithms can be reworked upon to generate more efficient algorithms thereby improving the productivity of the algorithms. D = log2(1 + 1 D0 K k=1 | ˆdk (pk ||qk )|) (7.1)
  • 61. References [1] F. Belkhouche, “Modeling and calculating the collision risk for air vehicles,” IEEE transactions on vehicular technology, vol. 62, no. 5, pp. 2031–2041, 2013. [2] A. S. Brzezinski, A. L. Seybold, and M. Cummings, “Decision support visu- alizations for schedule management of multiple unmanned aerial vehicles,” in Proceedings of AIAA Infotech Aerospace Conference, 2007. [3] P. O. Pettersson, Sampling-based path planning for an autonomous heli- copter. PhD thesis, Citeseer, 2006. [4] R. b. Omar, Path planning for unmanned aerial vehicles using visibility line- based methods. PhD thesis, University of Leicester, 2012. [5] J. A. Goldman, “Path planning problems and solutions,” in Aerospace and Electronics Conference, 1994. NAECON 1994., Proceedings of the IEEE 1994 National, pp. 105–108, IEEE, 1994. [6] J. Thunberg, D. A. Anisi, and P. Ögren, “A comparative study of task assign- ment and path planning methods for multi-ugv missions,” in Optimization and Cooperative Control Strategies, pp. 167–180, Springer, 2009. [7] L. De Filippis and G. Guglieri, Advanced graph search algorithms for path planning of flight vehicles. INTECH Open Access Publisher, 2012. [8] S. A. Bortoff, “Path planning for uavs,” in American Control Conference, 2000. Proceedings of the 2000, vol. 1, pp. 364–368, IEEE, 2000. [9] M. L. Cummings, J. J. Marquez, and N. Roy, “Human-automated path plan- ning optimization and decision support,” International Journal of Human- Computer Studies, vol. 70, no. 2, pp. 116–128, 2012. [10] W.-J. Seo, S.-H. Ok, J.-H. Ahn, S. Kang, and B. Moon, “An efficient hard- ware architecture of the a-star algorithm for the shortest path search engine,” in INC, IMS and IDC, 2009. NCM’09. Fifth International Joint Conference on, pp. 1499–1502, IEEE, 2009. 51
  • 62. References 52 [11] F. Duchoň, A. Babinec, M. Kajan, P. Beňo, M. Florek, T. Fico, and L. Ju- rišica, “Path planning with modified a star algorithm for a mobile robot,” Procedia Engineering, vol. 96, pp. 59–69, 2014. [12] A. R. Soltani, H. Tawfik, J. Y. Goulermas, and T. Fernando, “Path planning in construction sites: performance evaluation of the dijkstra, a star, and ga search algorithms,” Advanced Engineering Informatics, vol. 16, no. 4, pp. 291–303, 2002. [13] P. Sujit and R. Beard, “Multiple uav path planning using anytime algo- rithms,” in 2009 American Control Conference, pp. 2978–2983, IEEE, 2009. [14] F. Semiz, Task assignment and scheduling in UAV mission planning with multiple constraints. PhD thesis, MIDDLE EAST TECHNICAL UNIVER- SITY, 2015. [15] A. Richards and J. How, “Mixed-integer programming for control,” in Pro- ceedings of the 2005, American Control Conference, 2005., pp. 2676–2683, IEEE, 2005. [16] C. S. Ma and R. H. Miller, “Milp optimal path planning for real-time appli- cations,” in 2006 American Control Conference, pp. 6–pp, IEEE, 2006. [17] R. M. Lima and I. E. Grossmann, “Computational advances in solving mixed integer linear programming problems,” 2011. [18] D. Ginat, “Efficiency of algorithms for programming beginners,” in ACM SIGCSE Bulletin, vol. 28, pp. 256–260, ACM, 1996. [19] B. M. Sathyaraj, L. C. Jain, A. Finn, and S. Drake, “Multiple uavs path planning algorithms: a comparative study,” Fuzzy Optimization and Decision Making, vol. 7, no. 3, pp. 257–267, 2008. [20] R. Hult and R. S. Tabar, Path Planning for Highly Automated Vehicles. PhD thesis, Master Thesis, Chalmers University of Technology, 2013. [21] W. Liu, Z. Zheng, and K. Cai, “Adaptive path planning for unmanned aerial vehicles based on bi-level programming and variable planning time interval,” Chinese Journal of Aeronautics, vol. 26, no. 3, pp. 646–660, 2013. [22] E. J. Forsmo, “Optimal path planning for unmanned aerial systems,” 2012. [23] D. Ferguson, M. Likhachev, and A. Stentz, “A guide to heuristic-based path planning,” in Proceedings of the international workshop on planning under uncertainty for autonomous systems, international conference on automated planning and scheduling (ICAPS), pp. 9–18, 2005.
  • 63. References 53 [24] H. R. Lewis and C. H. Papadimitriou, Elements of the Theory of Computa- tion. Prentice Hall PTR, 1997. [25] C. Wohlin, “Guidelines for snowballing in systematic literature studies and a replication in software engineering,” in Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering, p. 38, ACM, 2014. [26] T. Murata and H. Ishibuchi, “Performance evaluation of genetic algorithms for flowshop scheduling problems,” in Evolutionary Computation, 1994. IEEE World Congress on Computational Intelligence., Proceedings of the First IEEE Conference on, pp. 812–817, IEEE, 1994. [27] M. Wang, T. Madhyastha, N. H. Chan, S. Papadimitriou, and C. Faloutsos, “Data mining meets performance evaluation: Fast algorithms for modeling bursty traffic,” in Data Engineering, 2002. Proceedings. 18th International Conference on, pp. 507–516, IEEE, 2002. [28] W. Parvez and S. Dhar, “Path planning optimization using genetic algo- rithm,” International Journal of Computational Engineering Research, vol. 3, 2013. [29] J. Gal-Ezer and E. Zur, “The efficiency of algorithms—misconceptions,” Computers & Education, vol. 42, no. 3, pp. 215–226, 2004. [30] E. Winsberg, “Simulated experiments: Methodology for a virtual world,” Philosophy of science, vol. 70, no. 1, pp. 105–125, 2003. [31] M. Zhan-chun and H. Yang, “Path planning algorithm and simulation for mobile robot [j],” Computer Simulation, vol. 5, p. 089, 2013. [32] O. Özgün and Y. Barlas, “Discrete vs. continuous simulation: When does it matter,” in Proceedings of the 27th international conference of the system dynamics society, vol. 6, pp. 1–22, 2009. [33] J. P. Kleijnen, Design and analysis of simulation experiments, vol. 20. Springer, 2008. [34] S. Albert, Solving mixed integer linear programs using branch and cut algo- rithm. PhD thesis, North Carolina State University, 2006. [35] M. L. Smith, “Optimizing short-term production schedules in surface mining: Integrating mine modeling software with ampl/cplex,” International Journal of Surface Mining, Reclamation and Environment, vol. 12, no. 4, pp. 149– 155, 1998.
  • 64. References 54 [36] R. Fourer, D. M. Gay, and B. W. Kernighan, AMPL: A mathematical pro- gramming language. Citeseer, 1987. [37] N. M. Razali, Y. B. Wah, et al., “Power comparisons of shapiro-wilk, kolmogorov-smirnov, lilliefors and anderson-darling tests,” Journal of sta- tistical modeling and analytics, vol. 2, no. 1, pp. 21–33, 2011. [38] D. Cramer, Fundamental statistics for social research: step-by-step calcula- tions and computer techniques using SPSS for Windows. Psychology Press, 1998. [39] D. Cramer and D. L. Howitt, The Sage dictionary of statistics: a practical resource for students in the social sciences. Sage, 2004. [40] D. P. Doane and L. E. Seward, “Measuring skewness: a forgotten statistic,” Journal of Statistics Education, vol. 19, no. 2, pp. 1–18, 2011. [41] “IBM SPSS - IBM Analytics.” http://www.ibm.com/analytics/us/en/ technology/spss/. Accessed: 2016-09-30. [42] M. Marusteri and V. Bacarea, “Comparing groups for statistical differences: how to choose the right statistical test?,” Biochemia medica, vol. 20, no. 1, pp. 15–32, 2010. [43] J. N. Simon, A Systems Approach to the Formulation of Unmanned Air Vehicle Detect, Sense, and Avoid Performance Requirements. PhD thesis, Ohio University, 2009. [44] J. Yao, C. Lin, X. Xie, A. J. Wang, and C.-C. Hung, “Path planning for virtual human motion using improved a* star algorithm,” in Information Technology: New Generations (ITNG), 2010 Seventh International Confer- ence on, pp. 1154–1158, IEEE, 2010. [45] M. V. Zelkowitz and D. R. Wallace, “Experimental models for validating technology,” Computer, vol. 31, no. 5, pp. 23–31, 1998. [46] M. K. Slack and J. R. Draugalis, “Establishing the internal and external validity of experimental studies,” American Journal of Health System Phar- macy, vol. 58, no. 22, pp. 2173–2184, 2001.
  • 66. Appendix A Code for A-star algorithm Figure A.1: Creation of environment by assigning values to variables 56
  • 67. Figure A.2: Code for A-star algorithm Figure A.3: Code for calculating the distance between the nodes 57
  • 68. Figure A.4: Code for obtaining the optimal path Figure A.5: Code for plotting the path of the UAV 58
  • 69. Appendix B Code for MILP Figure B.1: Code for initializing the environment of MILP Figure B.2: Code for solving MILP 59
  • 70. Figure B.3: Code for plotting the path obtained by MILP 60
  • 71. Appendix C Code for AMPL model Figure C.1: Code for environment in the model created for MILP 61
  • 72. Figure C.2: Code for setting up constraints for AMPL model 62
  • 73. Figure C.3: Code for calculating the cost of paths in AMPL model Figure C.4: Code for loading and running the AMPL model 63
  • 74. Appendix D Statistical Analysis Figure D.1: Histogram Depiction of the Results 64
  • 75. Figure D.2: Normal Q-Q Plot Depiction of the Results 65