GRID BASED PATH PLANNING ALGORITHMS FOR

GRID BASED PATH PLANNING ALGORITHMS
FOR EXTINGUISHING FOREST FIRES
A THESIS REPORT
Submitted by
SIVARAM KUMAR M.P.
Under the guidance of
Dr. S. RAJASEKARAN
in partial fulfillment for the award of the degree of
DOCTOR OF PHILOSOPHY in
COMPUTER SCIENCE AND ENGINEERING
B.S.ABDUR RAHMAN UNIVERSITY
(B.S. ABDUR RAHMAN INSTITUTE OF SCIENCE & TECHNOLOGY)
(Estd. u/s 3 of the UGC Act. 1956)
www.bsauniv.ac.in
July 2013
1
B.S.ABDUR RAHMAN UNIVERSITY
(B.S. ABDUR RAHMAN INSTITUTE OF SCIENCE & TECHNOLOGY)
(Estd. u/s 3 of the UGC Act. 1956)
www.bsauniv.ac.in
BONAFIDE CERTIFICATE
Certified that this thesis report G R I D B AS E D P AT H P L AN N I N G
AL G O R I T H M S F O R E X TI N G U I S H I NG F O RE S T F I R E S is the bonafide
work
of
SIVARAM KUMAR M . P . (RRN:1086209) who carried out the thesis
work under my supervision. Certified further, that to the best of my knowledge the
work reported herein does not form part of any other thesis report or dissertation on
the basis of which a degree or award was conferred on an earlier occasion on this or
any other candidate.
SIGNATURE
DR.S.RAJASEKARAN
SUPERVISOR
Professor
Department of Mathematics
B S Abdur Rahman University
Vandalur, Chennai-600048
SIGNATURE
Dr.ANGELINA GEETHA
HEAD OF THE DEPARTMENT
Professor and Head
Department of CSE
B S Abdur Rahman University
Vandalur, Chennai-600048
2
ACKNOWLEDGEMENT
I would like to thank God the almighty who has showered his blessings on
me so that I could complete my research work.
I express my sincere gratitude to my supervisor Dr. S.Rajasekaran,
Professor Department of Mathematics, B S Abdur Rahman University, Vandalur,
Chennai-48 who came forward to accept me as research scholar under him in spite
of his busy schedule with his work and family. He fascinated me with novel ideas and
inspired me by the interesting discussions we had whenever I met him. I am very
much thankful to place on record that he made me put theory into practice and
complete my research in time.
I thank Professor Dr.K.M.Mehata, Dean, School of Information and
Computing Sciences, Professor Dr.Angelina Geetha HOD, Department of Computer
Science and Engineering of B S Abdur Rahman University, Vandalur, Chennai-48 for
their constructive criticism and suggestions .
I thank Rev.Fr.J.E.Arulraj OMI, Founder Chairman of DMI and MMI group of
institutions who gave me the permission to pursue part time research in B S Abdur
Rahman University, Vandalur, Chennai-48.
My heart felt thanks are due to the Doctoral committee members: Professor
Dr.V.Subbiah
Bharathi,
Principal
DMI
College
of
Engineering,
Dr.M.Muneer Ahamed Rabbani Professor, Department of Computer Applications and
Dr.R.Rajendran Professor, Department of Mechanical Engineering, B S Abdur
Rahman University, Vandalur, Chennai-48.
I would like to thank my parents and my wife M. Amudha M.Sc., B.Ed, for
their patience and the support given to me to complete the research work.
M.P.Sivaram Kumar
3
ABSTRACT
Path planning plays an important role in robotics and the automation field in
both static and dynamic environments. Many researchers have been working on this
field since 1980. Forests contain potential resources for human beings, plants,
animals and also for maintaining the environment. The major threat to forests is a
forest fire, since it destroys all the resources. Hence, once fires occur, they have to
be extinguished as early as possible through the shortest path, by mobile robots or
fire personnel. This thesis investigates grid based path planning algorithms to be
used by a mobile robot for extinguishing forest fires. The algorithms developed are
based on the assumption that information about the environment i.e. forest, is
completely known in advance. The aim of this work is to develop tools based on
algorithms, for finding the optimal path from the start to the goal without collision with
obstacles subject to conditions such as time, distance and the number of obstacles.
The algorithms developed in this thesis make robotic motion more predictable. The
algorithms are developed using mathematical and soft computing techniques. Also,
they are complete in the sense that they will generate a path if one exists, otherwise
they inform that no path exists. This thesis also suggests that the behavior, i.e., the
path of the robot depends on both information about the environment and the path
planning algorithm used. A comparison of all the algorithms developed in this thesis
with the A* algorithm shows that the memory requirements and execution time to
generate a path is less for the developed algorithms. Some algorithms produce path,
the distance of which is the same or less, and others produce longer paths when
compared with the A* algorithm. It is also observed that if the number of obstacles is
kept at a minimum, then the execution time and distance are greatly reduced.
4
TABLE OF CONTENTS
CHAPTER NO.
1
2
2.4
TITLE
PAGE NO.
ABSTRACT
iv
LIST OF TABLES
x
LIST OF FIGURES
xi
LIST OF SYMBOLS
xiv
INTRODUCTION
1
1.1
FOREST FIRES
2
1.1.1 Ground Fires
2
1.1.2 Bush Fires
3
1.1.3 Crown Fires
3
1.2
WIRELESS SENSOR AND ACTOR NETWORKS
3
1.3
PATH PLANNING ALGORITHMS
4
1.4
SCOPE OF THE THESIS
5
1.5
RESEARCH OBJECTIVE
7
1.5
OUTLINE OF THE THESIS
8
BACKGROUND AND LITERATURE REVIEW
9
2.1
TOPOLOGICAL MAPS
10
2.2
METRIC MAPS
11
2.3
HYBRID APPROACHES
15
CONFIGURATION SPACE
2.5
16
2.4.1
Continuous space
17
2.4.2
Discrete Space
17
CLASSICAL PATH PLANNING APPROACHES
17
2.5.1 Cell Decomposition Methods
17
2.5.1.1
Approximate Decomposition
18
2.5.1.2
Exact Cell Decomposition
18
5
CHAPTER NO.
TITLE
PAGE NO.
2.5.2 Roadmap Methods
2.5.2.1
2.5.2.2
19
Geometry based Algorithms
19
2.5.2.1.1 Visibility Graphs
20
2.5.2.1.2 Voronoi Diagrams
20
Sampling based Algorithms
21
2.5.2.2.1 Probabilistic Road Maps 21
2.5.2.2.2 Rapidly Exploring
Random Tree
2.5.3 Potential Field Method
23
2.6
NEURAL NETWORKK AND PATH PLANNING
23
2.7
GENETIC ALGORITHM AND PATH PLANNING
26
2.8
ANT COLONY ALGORITHM AND
PATH PLANNING
3
4
22
27
METHODOLOGY
32
3.1
OVERALL METHODOLOGY
32
3.2
TESTING
33
TRIGONOMETRY BASED PATH PLANNING
ALGORITHM
35
4.1
INTRODUCTION
35
4.2
ASSUMPTIONS USED IN THE MODEL
35
4.3
SENSOR DEPLOYMENT AND COVERAGE
36
4.4
COMMUNICATION BETWEEN BEACON
NODES, CLUSTER HEAD AND ACTOR
40
4.5
PATH PLANNING ALGORITHM
40
4.6
SIMULATION RESULTS
43
4.7
DISCUSSION
46
6
CHAPTER NO.
5
6
TITLE
PAGE NO.
DIRECTION BASED PATH PLANNING ALGORITHM
47
5.1
INTRODUCTION
47
5.2
ASSUMPTIONS USED IN THE MODEL
47
5.3
FOREST FIRE EXTINGUISHING MODEL
50
5.3.1 Sensor Deployment and Coverage
51
5.3.2 Communication between Nodes
52
5.3.3 Path planning algorithm for the Actor
52
5.4
SIMULATION RESULTS
61
5.5
DISCUSSION
63
NEURAL NETWORK BASED PATH PLANNING ALGORITHM
64
6.1
INTRODUCTION
64
6.2
NEURAL NETWORKS
71
6.3
ASSUMPTIONS USED IN MODEL
73
6.4
PATH PLANNING ALGROITHM
73
6.4.1 Algorithm for Estimating the Path
73
6.4.2 Parallel Distributed Neural Network Model
76
SIMULATION RESULTS
79
6.5
7
GENETIC ALGORITHM BASED PATH PLANNING
81
7.1
INTRODUCTION
81
7.2
MODELING AND REPRESENTATION OF
FOREST DOMAIN
83
7.3
PATH PLANNING ALGORITHM
84
7.4
TERMINOLOGIES
86
7.4.1 Encoding of Chromosome
86
7.4.2 Fitness Function
87
7.4.3 Calculating the distance of Path
for an Individual
7
87
CHAPTER NO.
8
TITLE
PAGE NO.
7.4.4 Calculating the number of obstacles
88
7.4.5 Selection of parents for mating
88
7.4.6 Inversion operator
88
7.4.7 Mutation operator
89
7.4.8 Cross over operator
89
7.4.9 Finding an optimal solution
89
7.4.10 Remove operator
90
7.5
SIMULATION RESULTS
90
7.6
DISCUSSION
96
LINE BASED PATH PLANNING
97
8.1
INTRODUCTION
97
8.2
MODELING AND REPRESENTATION
OF FOREST DOMAIN
8.3
99
PATH PLANNING ALGORITHM TO
EXTINGUISH FIRES
99
8.3.1 Computing Intermediate Cells
99
8.3.2 Computing Alternate Cells for Obstacle Cells 101
8.3.3 Integrity Check
102
8.3.4 Computing the Change in the Direction
of Movements of a Robot
9
103
8.4
SIMULATION RESULTS
105
8.5
DISCUSSION
109
PATH PLANNING USING ANT COLONY
OPTIMIZATION
110
9.1
INTRODUCTION
110
9.2
ANT COLONY OPTIMISATION ALGORITHM
110
9.3
ASSUMPTIONS USED IN THE MODEL
112
9.4
PATH PLANNING ALGORITHM
114
8
CHAPTER NO.
10
TITLE
PAGE NO.
9.5
SIMULATION RESULTS
117
9.6
DISCUSSION
120
COMPARING PERFORMANCE WITH
A* ALGORITHM
10.1
10.2
121
*
A ALGORITHM
121
*
COMPARING A ALGORITHM WITH
DIRECTION BASED AND LINE BASED PATH
PLANNING ALGORITHM
10.2
11
122
CALCULATING THE EFFICIENCY
OF AN ALGORITHM
122
10.3
SIMULATION RESULTS
123
10.4
DISCUSSION
126
CONCLUSIONS
128
11.1
129
SCOPE FOR FURTHER WORK
REFERENCES
130
LIST OF PUBLICATIONS
143
TECHNICAL BIOGRAPHY
144
9
LIST OF TABLES
TABLE NO.
TITLE
PAGE NO.
10.4.1 Execution time and path cost calculation in Phase I
123
10.4.2 Execution time and path cost calculation in Phase II
124
10
LIST OF FIGURES
FIGURE NO.
TITLE
PAGE NO.
1.3.1
Path planning classifications
5
2.8.1
Implementing path planning algorithms
30
3.1.1
Overall research methodologies
32
4.2.1
Quadrant based model
36
4.3.1
Sensors placed at the center of grid
39
4.3.2
Sensors placed at the intersection of the grid
39
points
4.5.1
Beacon node packet format
41
4.5.2
Cluster head node packet format
41
4.6.1
Actor start approaching the fire
44
4.6.2
Actor extinguish the fire
44
4.6.3
Multiple actors in the test environment
45
4.6.4
Multiple actors extinguish the fire
45
5.2.1
Forest area divided into cells based on the
49
matrix coordinates
5.2.2
Possible directions the actor can move in
49
5.2.3
Direction the actor will move in based on
50
value
5.3.1
Direction the actor will move in based on
53
value
5.4.1
Simulation in an environment without obstacle
61
5.4.2
Simulation in an environment with obstacle
62
6.2.1
Simple neuron
65
6.2.2
Feed forward neural network
67
6.2.3
Feed backward neural network
69
6.2.4
Linear transfer function
70
6.2.5
Threshold transfer function
70
6.2.6
Sigmoid transfer function
71
6.3.1
Decomposition of the forest using 20 x 20
72
11
FIGURE NO.
TITLE
PAGE NO.
grids
6.4.2
Parallel distributed neural network model
77
6.5.1
Environment without obstacles
80
6.5.2
Environment with Obstacles
80
7.2.1
Decomposition of the forest using 5 x 5 grids
83
with coordinates based on the first quadrant
7.3.1
Flow diagram of path planning
85
7.5.1
Graph for the path which passes through an
92
obstacle (direct input)
7.5.2
Graph for optimal path not passing through
93
obstacle (direct input)
7.5.3
Graph for the path which passes through
94
obstacle (random input)
7.5.4
Graph for the optimal path not passing
95
through obstacle (random input)
8.2.1
Decomposition of the forest using 5 x 5 grids
98
with coordinates based on the first quadrant
8.3.4
Possible directions the actor can move in
103
8.3.5
Direction actor will move based on value
104
8.3.6
Angle the actor has to rotate at
106
8.4.1
Path planning for environment without
107
obstacles when x1=x2
8.4.2
Path planning for environment with obstacles
107
when x1=x2
8.4.3
Path planning for environment with obstacles
107
when x1<x2
8.4.4
Path planning for environment without
108
obstacles when x1<x2
8.4.5
Path planning for environment without
108
obstacles when x1>x2
8.4.6
Path planning for environment with obstacles
12
109
FIGURE NO.
TITLE
PAGE NO.
when x1>x2
9.3.1
Decomposition of the forest using 5 x 5 grids
113
with coordinates based on the first quadrant
9.3.2
Directional movements of the actor
113
9.5.1
Graph showing the path generated for
118
environment without obstacles
9.5.2
Graph showing the path generated for
119
environment with obstacles
10.4.1
Algorithms Vs execution time without
124
obstacles
10.4.2
Algorithms Vs path cost without obstacles
125
10.4.3
Obstacles in phase I Vs execution time of
125
algorithms
10.4.4
Number of obstacles Vs path cost in phase I
125
10.4.5
Obstacles in phase II Vs execution time of
126
algorithms
10.4.6
Number of obstacles Vs path cost in phase II
13
126
LIST OF SYMBOLS
ACO
-
Ant Colony Optimization
ACS
-
Ant Colony System
ANN
-
Artificial Neural Network
ASrank
-
Rank based Ant System
COAC
-
Continuous Orthogonal Ant Colony
EAS
-
Etilist Ant System
FSI
-
Forest Survey of India
GPP
-
Global Path Planning
GVD
-
Generalized Voronoi Diagram
HGVG
-
Hierarchical Generalized voronoi Graphs
MMAS
-
Max Min Ant System
MRPP
-
Mobile Robot Path Planning
ROI
-
Region of Interest
SLAM
-
Simultaneous Localization and Mapping
TSP
-
Traveling Sales Person
WSANS
-
Wireless Sensor and Actor Networks
`
14
1. INTRODUCTION
Tackling an emergency situation, in the real world, whenever it arises, is
very complex, time consuming and expensive; sometimes it may also involve loss of
human lives and resources. Modeling and simulating the situation to find a solution is
the only method to overcome all these limitations. Almost all systems in the world
can be modeled and simulated. The behavior of a system as it changes over a
period of time can be studied by developing a simulation model. Modeling is a
suitable tool which plays a vital role in the estimation of data [1]. Thus simulation can
be used both as an analytical tool which will forecast the outcome of changes to the
existing systems, and as a design tool to predict the performance of systems under
different circumstances. Algorithms are step by step procedures which play a vital
role in providing solutions to any real world problem, which in turn, can be used for
modeling and simulation. Path planning has become an important field of research,
investigated by scientists and engineers for a variety of applications. There are
plenty of path planning algorithms available in literature for diverse fields. But the
present study deals with the path planning algorithms to extinguish forest fires; this
has not been discussed so far. In our research work we have modeled and simulated
the forest, to find paths for extinguishing forest fires.
Forests are considered to contain potential resources for human beings,
animals and the environment .The major hazards to the forests are forest fires.
Almost all countries are victims of forest fires, and fires occur every year mostly
during the summer season. Nowadays the likelihood of the occurrence of a forest fire
is steadily growing because of the change in climate, due to the cutting down of trees
in forests for various reasons, such as land for shelter, land for cultivation and killing
of dangerous wild animals which pose a threat to human lives. The Forest Survey of
India (FSI) reports that the actual forest cover of India is 19.27% of the geographic
area, corresponding to 63.3 million hectares. It is also estimated that the proportion
of forest areas prone to forest fires annually, ranges from 33% in some states to over
90% in others. The forest fire season in India is usually from February to mid June of
every year. An estimated annual economic loss of ` 400 crore is reported, on
account of forest fires in the country. Fire is the most severe natural disturbance
affecting the forest ecosystem and diversity, which in turn, produces destructive
15
effects on the landscape. Its impact is felt at every level of the ecosystem [2].Hence
once a forest fire occurs it has to be extinguished as early as possible, because it
destroys not only many resources available in the forest, but also affects the
environmental and climatic conditions. Since the forest is a very large area, a path
has to be found out quickly without collision with obstacles. In this research, we have
developed path planning algorithms to extinguish forest fires. Hence, we have
chosen a research topic which is of great current interest, social significance and
well suited for engineering applications.
1.1
FOREST FIRES
The most common hazard in a forest is the forest fire. It is widely
reported that a total of 77,534 wildfires burned 6,790,692 acres in the USA during
2004. Forests fires are as old as the forests themselves. They pose a threat not only
to the forest wealth, but also to the entire regime of the fauna and flora, seriously
disturbing the bio-diversity and the ecology and environment of a region. During
summer, when there is no rain for months, the forests become littered with dry
senescent leaves and twigs, which could burst into flames ignited by the slightest
spark. Forest fires can be classified into
a. Ground fires
b. Bush fires
c. Crown fires
1.1.1
Ground fires
Ground fires occur when the forest floor and all its decomposing wood,
fauna, bacteria and fungi get illuminated. It can burn for months under a snow pack
and flare up again in the springtime. Ground fires burn the surface of the forest floor
and remove the soil nutrients .It will take decades for the soil to regain its strength.
One of the major concerns about climate change is droughts. Droughts affect the
forest floors by drying the soil nutrients, which in turn, makes them more susceptible
to ground fires. Sometimes called 'bog fires,' these are slowly spreading, smoldering
fires that burn dried, decomposed leaves, twigs, or pine needles that have fallen
from the trees to the ground.
16
1.1.2
Bush fires
Surface fires burn from the top of the forest floor to about 12 feet above
the ground. These are fast-moving fires that ignite grass, shrubs, bushes, scrub oak,
chaparral, marsh grass (cattails) and grain fields.
1.1.3
Crown fires
When tree tops burn it is called a crown fire, and it‟s lethal for most trees.
Most crown fires are caused by the vertical spread of flames of a brush fire.
1.2
WIRELESS SENSOR AND ACTOR NETWORKS
Wireless Sensor and Actor Networks (WSAN) consist of spatially
distributed sensors and actors linked by a wireless medium to perform distributed
sensing and acting tasks. In WSANs, the role of the sensors is to gather information
from the environment, while the actors collect and process data and perform
appropriate actions [3]. WSANs are very much used in habitat and environment
monitoring. Sensor nodes can be imagined as small computers in terms of interfaces
and their components. They usually consist of a processing unit with limited
computational power and limited memory, sensors, a communication device and a
power source usually in the form of a battery. Sensors are low-cost, low-power,
multifunctional devices that communicate untethered in short distances. Actors
collect and process sensor data and consequently perform actions on the
environment. The propagation of messages between the hops of the network can be
through routing or flooding. In WSANs, the collaborative operation of the sensors
enables the distributed sensing of a physical phenomenon. After sensors detect an
event that is occurring in the environment, the event data are distributively processed
and transmitted to the actors, which gather, process, and eventually reconstruct the
event data. The process of establishing data paths between the sensors and actors
is referred to as sensor-actor coordination [3]. Once the event has been detected,
the actors coordinate to reconstruct it, to estimate its characteristics, and make a
collaborative decision on how to perform the action. This process is referred to as
actor- actor coordination [4]. As a result, the operation of a WSAN can be thought of
as an event-sensing, communication, decision, and acting loop.
17
1.3
PATH PLANNING ALGORITHM
Path planning is an important task in the field of robotics. Path planning
can be defined as “the determination of a path that a robot must take in order to pass
over each point in an environment, and the path is a plan of geometric locus of the
points in a given space where the robot has to pass through” [5] . Path planning
covers a wide area of robotics research, because it enhances moving in both static
and dynamic environments. The classification of path planning is shown in Figure
1.3.1. The path planning of a robot depending upon the environment is classified into
static path planning and dynamic path planning .Static path planning refers to an
environment where there are no moving objects and no obstacles other than the
navigating object, while dynamic path planning refers to an environment where all
are moving including obstacles. Depending on the algorithm, the path planning is
classified as either local or global [5]. Local path planning refers to a robot which has
no information about the environment, and global path planning refers to a robot that
has information about the environment before it moves towards the target.
Depending on its completeness, the path planning is classified as
18
Figure 1.3.1 Path planning classifications
either exact or heuristic. An exact algorithm finds an optimal solution if one exists, or
proves that no feasible solution exists. Heuristic algorithms search for a good quality
solution in a shorter time. A path planning algorithm for a mobile robot has two input
data in the form of coordinates. The first coordinate is the actual robot position,
which is very often referred to as the start coordinate, and the other coordinate is
called the target coordinate the robot has to move to. The algorithm must yield as
output a possible path between these two points. The apriori knowledge about the
environment, in which the robot is supposed to travel, can be classified into
1. Completely known environment
2. Completely unknown environment
The path planning algorithms for the former case, are called path
planning with complete information, find-path or piano-mover problem algorithms. In
the latter case, it is called path planning with incomplete information or path planning
with uncertainty. The information about the environment is represented by the means
of a map.
1.4
SCOPE OF THE THESIS
The decomposition of the environment into cells for finding paths has been
studied extensively in the literature. Examples of cell decomposition include
approximate cell decomposition and exact cell decomposition [6]. Grid based cell
decomposition approaches partition the environment into cells of equal area. The
19
other approaches includes topological and hybrid [6]. In this research work, the grid
based approach is used for finding paths in the savannah forest to extinguishing fire
is investigated. A savannah is a grassland ecosystem characterized by the trees
being sufficiently small or widely spaced so that the canopy does not close. The
open canopy allows sufficient light to reach the ground to support an unbroken
herbaceous layer consisting primarily of grasses. The savannah can be classified
into savanna woodland, with trees and shrubs forming a light canopy; tree savanna,
with scattered trees and shrubs; shrub savanna, with scattered shrubs, and grass
savanna, in which trees and shrubs are generally absent. Other classifications have
also been suggested in the literature. The path planning algorithms are developed
based on the coordinates. The assumption is coordinate information is available with
the sensors and are deployed one in a cell after the decomposition. Since
homogenous sensors are used the forest area is decomposed into cells of equal
size. Hence grid based approach will be useful. The total area of the forest
environment is considered as a grid. This is decomposed into cells of equal area.
Each cell will contain one anchor sensor node, which is placed in the centre of the
cell. One actor (robot) which knows its location coordinate will be available in the
environment to extinguish the fire. The actor will have one processing unit which
uses the coordinates obtained from the anchor sensor node as the destination point,
and its own coordinate as the source point. Then, using these two points and the
path planning algorithm the actor will calculate the path through which it can travel
and extinguish the fire. The main subject of this research work focuses on two
aspects: (a) Deployment of anchor nodes and (b) Algorithms used by the actor for
finding paths.
(a)
Deployment of anchor nodes
Nodes can be ordinary nodes or anchor nodes. The anchor node is a
sensor node which knows its location based on its deployment. The deployment can
be deterministic or non-deterministic. In our research we used the deterministic
deployment of anchor nodes. The deployment of nodes is based on following
(i) Quadrant based with entire area divided into four quadrants
(ii) Matrix based coordinates
20
(iii) Quadrant based with entire area considered as first quadrant
(iv) Integer number
(b)
Algorithms used by the actor for finding paths are based on the following:
(i) Trigonometry based path planning algorithm
(ii) Direction based path planning algorithm
(iii) Neural network based path planning algorithm
(iv) Genetic algorithm based path planning algorithm
(v) Line equation using two points based path planning algorithm
(vi) Ant Colony Optimization (ACO) based path planning algorithm
The actor (robot) we have considered is single-point and also multi-point.
The motion of the actor is limited to two dimensions.
1.5
RESEARCH OBJECTIVE
The objective of this research work is to design and develop an
application based wireless sensor network to detect and determine the direction of
path by means of different grid based path finding algorithms and move the actor to
the desired place for extinguishing forest fires.
Forest fire detection mechanism using wireless sensor networks have been explored
a lot in the literature. But all of them only detect the occurrence of fire and send the
message to the server by wireless network. Then based on the information available
appropriate actions will be taken by forest department personnel to extinguish fire.
There is no information or work regarding how fire personnel or actor will navigate
through the forest and extinguish fire. There are plenty of path planning algorithms
available in the literature to move an actor or object from source to destination point.
In this research the combined idea of detection of fires using wireless sensor
network and finding paths using path planning algorithms through which actor or fire
personnel can navigate to extinguish fires is explored. The combined idea has not
been explored in the literature so far. A novel grid based hybrid path planning
approach which uses the combined idea is presented. The path planning algorithms
21
developed in this research are more suitable and efficient in terms of execution time
and path cost than the A* algorithm which can find paths to extinguish forest fires.
1.6
OUTLINE OF THE THESIS
The thesis is organized as follows. Chapter 2 deals with the background
and literature review of the various path planning methods. Chapter 3 describes the
methodology for the research work. Chapter 4 describes the trigonometry based
path planning algorithm. Chapter 5 discusses the direction based path planning
algorithm. Chapter 6 describes the neural network based path planning algorithm.
Chapter 7 explains the genetic algorithm based path planning. Chapter 8 explains
the line equation, using the two points based path planning algorithm. Chapter 9
portrays the ant colony optimization based path planning algorithm. Chapter 10
illustrates the results of the comparison of the trigonometry based and line based
path planning algorithm with A* algorithm. Chapter 11 concludes the thesis and gives
the scope for further work.
22
2. BACKGROUND AND LITERATURE REVIEW
A service robot can be used for both domestic as well as industrial
purposes. Some of the applications include cleaning & housekeeping, museum
guidance, surveillance, etc.
In order to achieve these tasks an autonomous mobile robot must be
capable of constructing and maintaining maps of their environment. At the same
time, the robot needs to localize itself using this map. This problem is usually
referred to as Simultaneous Localization and Mapping (SLAM), and is a highly
energetic area of research in the field of robotics [7].
The map-based navigation of a robot involves three processes [8]:
a. Map learning
b. Localization
c. Path planning
a.
Map Learning
It is the process of memorizing the data acquired by the robot during
searching, in a suitable representation.
b.
Localization
It is the process of deriving the current position of the robot within the
map.
c.
Path planning
It is the process of choosing a course of actions to reach a goal, from the
current position.
Localization and map learning are mutually dependent processes
because using a map to localize a robot requires that the map exists, while building a
23
map requires the position to be estimated relative to the partial map learned so far.
On the contrary, path planning is an independent process that takes place once the
map has been built and the robot‟s position estimated. Two different sources of
information may be required for map navigation [9]. They are
a. Idiothetic sources
b. Allothetic sources
a.
Idiothetic resources
It provides internal information about the robot‟s movements. The
information is concerned about the speed, acceleration or wheel rotations of a robot.
A straight forward integration of all these data results in a position estimate for the
robot in two dimensional spaces. This process is called as dead reckoning or path
integration.
b.
Allothetic resources
It provides external information about the robot‟s movements. It is
concerned with laser range finders, and sonar‟s vision for robots. It may be used to
directly recognize a place or a situation. When both idiothetic and allothetic sources
of information are known there are many methods to combine them in a
representation useful for the navigation of the robot. Map based path planning
models are generally classified into
a. Topological maps and
b. Metric maps
2.1
TOPOLOGICAL MAPS
A topological map is a concise description of the large scale structure of
the environment. It compactly describes the environment as a collection of places
called landmarks or gateways linked by paths. In order to have the topological
representation, topological maps encode different information of the environment.
These maps are represented in a form of a graph, where the nodes represent
distinct places, and the edges stand for the connections between them. The value of
24
an edge may reflect the traversability of the respective segment of the path.
Additional information may be attached to the edges, such as direction, approximate
distance, or the behavior needed to navigate that path.
2.1.1
Path planning on Topological maps
Examples of topological approaches include the works [10, 11 and 12].
Extensively used Generalized Voronoi Diagrams (GVD) also fall into this category
[13]. GVD is a mapping method that tends to minimize the distance between the
robot and the obstacles on the map. The diagram consists of the lines constructed
from all points that are equidistant from two or more obstacles in the plane.
Hierarchical Generalized Voronoi Graphs (HGVG) is a roadmap that is an extension
of the GVD into higher dimensions. A technique to incrementally construct the HGVG
as the robot explores its unknown static environment using only the sight of
information was proposed in [14]. Paths can be computed between two points using
standard graph algorithms, such as the classical Dijkstra‟s single source shortest
path algorithm [15]. The Voronoi diagram has a significant weakness in the case of
limited range localization sensors, since the path planning algorithm maximizes the
distance between the robot and the objects in the environment.
2.2
METRIC MAPS
Metric maps capture the geometric properties of the environment. There
are a number of different map representations, but none of them is prevailing. The
metric maps can be considered as discrete, two-dimensional occupancy grids,
as originally proposed in [16]. The most commonly used ones are the regular grids,
quad trees and octrees. The Regular grid is a two-dimensional array of square
elements. Regular grids are also called as occupancy grids, because each element
in the grid will hold a value, representing whether the location in space is occupied or
empty [17]. Occupancy grids have been implemented successfully in various
systems. The occupancy grid representation employs multi dimensional tessellation
of space into cells .Each grid-cell (x, y) in a map stores a value that is associated
with its state; i.e., whether the cell is occupied with an obstacle or not. Occupancy
values are determined based on sensor readings. There are
four
major
components of building grid based maps as mentioned in [ 18, 19]. They are
25
(i)
Interpretation: Sensor readings are mapped to occupancy values.
(ii)
Integration: Multiple sensor interpretations are integrated over time
to yield a single, combined estimate of occupancy.
(iii) Position estimation:
The position of the robot is continuously
tracked and odometric errors are corrected.
(iv) Exploration:
The Shortest path through unoccupied regions is
generated to move the robot greedily towards unexplored terrain.
Unfortunately, regular grids do not scale up very well. The size of the
map grows with the size of the environment and path planning becomes
computationally expensive. On a coarse grid, path planning is faster but obstacles
are expanded on the grid and narrow corridors can disappear. The Cye robot in [20]
uses the occupancy grid based potential field for path planning. The interactive
museum tour guide robot Minerva in [21] used occupancy grids for path planning.
The Rhino robot in [22] also uses grids for path planning. Quad trees are recursive
grids. They are created by the recursive decomposition of two dimensional
environments into uniformly sized regions. The nodes of the Quad trees are
classified as free nodes, obstacle nodes or mixed nodes. The free nodes are nodes
without any obstacles; obstacle nodes are nodes which represent regions containing
obstacles, and mixed nodes represent regions containing free space and obstacles.
The free nodes and obstacle nodes form the leaves of the tree and cannot be further
sub divided. The mixed nodes can be recursively subdivided into four sub quads,
which form the children of that node. A single cell can be used to represent a large
empty region. Paths generated by the quad trees are suboptimal, because they are
forced to use the centers of the cells [23]. Octrees are created using the well-known
adaptive decomposition technique. It begins by imposing a large size cell over the
entire planning space. If a grid cell contains both an obstacle and free space, it is
sub-divided into eight equal subparts or octants. These octants are then recursively
subdivided again and again, until each of the cells is either free without any obstacle
or with obstacles. The subdivision process is stopped if the refined cells‟ size
becomes equal to or smaller than a given tolerance limit of the generated metric
representation. The octree thus obtained has grid cells of varying size and
26
concentration, but the cell boundaries match very closely with the obstacle
boundaries [24].
2.2.1
Path planning using metric maps
Most of the real world representation such as cell decomposition, 4
connected and 8 connected can be converted to graphs based representations. In
general, most of the graph-based path planning algorithms depend on A* or D*
algorithms [25, 26] or on their modification algorithms such as the Incremental A*
[27], focused D* [28], D* Lite [29], and Delayed D* [30]. While generating the
shortest paths, these algorithms reduce the computational complexity, in the case of
highly connected graphs such as regular grids. The A* algorithm discovers a path as
fine as the one found by Dijikstra‟s algorithm, but does it much more efficiently, using
an additional heuristic to direct itself to the goal. Dijikstra‟s algorithm uses a best first
approach. It works by visiting nodes in the graph starting from the start point and
repeatedly examining the closest node not yet examined, until it reaches the goal. A*
always first expands the node with the best cost calculated by f (n) = g (n) + h (n),
where g (n) represents the cost of the path from the starting point to the node n, and
h (n) represents the heuristic estimated cost from the node n to the goal. Usually, for
calculating the heuristic cost, the Manhattan or the Euclidean distance is used. D* is
the dynamic version of A* producing the same result but much faster in dynamic
environments. In a sense of preplanning, A* is computationally expensive because it
must preplan the entire path to the goal every time new information is added. In
contrast, D* does not require complete replanning, since it adjusts the optimal path
costs by increasing and lowering the cost only locally and incrementally as needed.
Expansions of the D* algorithm, like the Focused D*, D* Lite, Delayed D*, are even
more efficient. The Potential field planners are very widely represented, since they
are extremely easy to implement. The potential field method treats the robot as a
point under the influence of an artificial potential field. The goal acts as an attractive
force on the robot and the obstacles act as repulsive forces. Such an artificial
potential field smoothly guides the robot to the goal while simultaneously avoiding
known obstacles. The potential field planners follow the gradient descent of the field
to the goal to which they always find the shortest path from every possible start
point. Potential fields have become a common tool in mobile robot application in
27
spite of the local minima problem. Harmonic functions can be used to advantage for
potential field path planning, since they do not exhibit spurious local minima [31]. A
popular family of path planning methods on grids is the wave front-based planners.
They are based on potential fields, but do not have the local minima problem [32].
The basic principle is that the configuration space is considered to be a conductive
material with heat radiating out from the initial node to the goal node. Finally, the
heat will spread and reach the goal, if there is a way. The optimal path from all the
grid elements to the goal can be computed as a side effect. The distance transform
planners are well-known wave front-based planners, propagating the distance
throughout each grid cell in an outward direction from the specified goal point to the
start point, filling the entire free space. The optimal path from all grid elements to the
goal is then found by using the steepest descent trajectory. A safe path transform
method is introduced in [33]. In addition to propagating a distance wave front from
the goal, another wave front is propagated, which is a combination of the distance
from the goal together with a measure of the discomfort of moving near obstacles. A
distance transform, extended with the linear vector combination, to estimate the
shortest global path and obtain the safe local direction in which a mobile robot
moves safely in a local environment, was proposed in [34]. Trulla is also one of the
many wave front types of path planners [35]. This algorithm initially computes all
possible paths from all possible locations to the goal. The Trulla output is a potential
field-like representation of the best direction the robot should take from any location
in the map to the goal, given the a priori map and terrain preferences.
2.3
HYBRID APPROACHES
Frequently, metric and topological methods are used together. Those
hybrid methods try to combine the advantages of metric-based and topological
planning approaches, since both paradigms have strengths and weaknesses. For
example, topological approaches often have a difficulty determining distinct places if
they look alike. This can be caused by sensor noise and aliasing. Also, since the
sensory input usually depends strongly on the viewpoint of the robot, it may fail to
recognize geometrically closer places even in static environments. All this makes the
construction and maintenance of large-scale maps difficult, particularly if the sensor
information is highly ambiguous. The key advantage of a topological representation
28
is its compactness, which is the main fault of the metric maps. Due to compactness,
topological representation permits faster planning than the metric approach. On the
other hand, metric maps permit much more detailed path planning due to the high
resolution. Since the topological approach usually does not require the exact
determination of the geometrical position of the robot, it often recovers better from
the drift and slippage-phenomena, which must constantly be monitored and
compensated in metric-based approaches. A multi-level spatial hierarchy was
proposed in [36]. The lowest level is identifying landmarks. The next layer up is
topological, represented on a relational graph, which supports planning and
reasoning. The uppermost level is metric, where the agent learns the distances and
orientation between the landmarks and can place them in a fixed coordinate system.
The topological map is extracted from the previously created grid map analyzing the
shapes of the free spaces [37]. The topological maps are generated on top of the
grid-based maps by partitioning the latter into coherent regions, separated by critical
lines [38]. The Critical lines correspond to narrow passages such as doorways. By
the division of the metric map into a small number of regions, the number of
topological entities is several orders of magnitude smaller than the number of cells in
the grid representation. The exploration of path planning is performed on two levels
[39]: global planning is performed on the topological level, and local planning is
performed on the metric level. Such representation permits exploration in a fast and
efficient way. A case based reasoning with a grid map was proposed in [40, 41]. The
grid-based map permits detailed path planning, and the case-base stores the
travelled paths with the navigation information of those paths, in the form of a simple
cost function that is easy to update.
2.4
CONFIGURATION SPACE (c-space)
In path planning for mobile robotics, the robot and the environment
through which it is to navigate must both be represented in some way, so that the
planning can be done in state space. The state space represents all the possible
situations that can exist. The state space for path planning is a set of possible
transformations that could be applied to the robot. This will be very often referred to
as the configuration space. A configuration space represents each possible
configuration as a single point and contains all of the possible configurations of the
29
robot. All the physical obstacles from the robot's working space are mapped or
transformed into this configuration space. This c-space is used where the
combination of the position and orientation is mapped into a single configuration
point, because it transforms the problem from planning a complex object motion to
planning the motion of a point. For example, a configuration space with three
dimensions, x position, y position and orientation angle can be used for a rigid two
wheeled mobile robot. If the robot is holonomic, the dimension can be reduced to a
two dimensional space of x and y coordinates. For example, if the orientation is not
considered, all the positions of a mobile robot could be represented in an (x, y) grid,
and the sequence of (x, y) positions the robot will occupy in order to reach the goal
will then be planned. Since the path planning problem rises exponentially in time with
the number of dimensions in the configuration space [42], the reduced dimension will
make the path planning algorithms to work faster and the number of dimensions can
be limited to two. The configuration space for the environment in which the robot has
to navigate is classified into discrete space and continuous space.
2.4.1
Continuous space
A continuous space models the environment as a continuous set of an
infinite number of possible states. Path planning then means finding a continuous
trajectory which navigates this space. The continuous state space is more often used
for reactive obstacle avoidance, rather than for global path planning where the
complexities overwhelm its usefulness.
2.4.2
Discrete space
In discrete space, the search space is broken up into a finite number of
possible discrete states that the robot can be located in, and describes any number
of characteristics of that state, such as position, elevation, slope, roughness, etc. for
an environment's state space. Discrete state space is also considered as a set of
nodes with links between them. Links can have costs, and a path is a sequence of
nodes connected by links.
2.5
CLASSICAL PATH PLANNING APPROACHES
Classical path planning approaches can globally be classified into
30
2.5.1
a.
Cell decomposition methods
b.
Roadmap methods and
c.
Potential field methods.
Cell decomposition methods
In the cell decomposition method , the
decomposed
into
a
set
of
configuration
space
is
discrete non overlapping cells, which are the
subsets of the configuration space : i.e., The subsets, which when united, make
the configuration space. The decomposition results in a graph in which each
cell is adjacent to other cells. Traversal from one cell to another is by means
of a graph called the connectivity graph. A planner then searches through the
connectivity graph, and the path generated is a sequence of cells the robot should
navigate to reach the goal. The cost of traversing a cell may vary and the planner
must apply a metric to determine which one is the optimal path. Cell decompositions
are often used to represent the physical space itself, but can also be used on a
configuration space.
2.5.1.1
Approximate decomposition
Approximate cell decomposition is created by superimposing a regular
grid over the planning space. The cells of the grid are of a predefined shape and
size. If the grid is of two dimensions then the cell is an occupancy grid. On the other
hand, if the grid is of three dimensions the cells are voxels. When the cell contains
an object it is marked as an obstacle; otherwise it is considered as free space. The
center of each cell becomes a node in the search graph, which will be checked to
find a path. These nodes can either be 4-connected or 8-connected, representing
whether or not the robot is considered to travel diagonally between them as shown in
Figure 2.4.1. One of the most widely used approximate cell decomposition
techniques is the quad tree method [43,44,45], which employs recursive
decompositions of mixed cells into four square sub cells, until all the cells are either
free or full with obstacles.
2.5.1.2
Exact cell decomposition
31
In the exact cell decomposition method the configuration space is
decomposed into simple, connected regions called cells. The cells are of different
sizes and shapes. The cell is determined using the world map, and the location and
shape of obstacles within it. A connectivity graph is connected using the adjacent
cells. The cell boundaries correspond exactly with the boundaries in the planning
space, and the union of the cells is exactly that of the free space in the world. Find
cells in which the initial and goal configuration lie, and search for a path in the
connectivity graph to join them. From the sequence of cells found with an
appropriate search algorithm, compute a path within each cell. The exact cell
decomposition method is complete, in the sense that it will always find a path if one
exists. An exact cell decomposition method does not result in optimal paths.
The most popular exact cellular decomposition technique, which can
yield a complete coverage path solution, is the trapezoidal decomposition mentioned
in [42]. The robot‟s free space is decomposed into trapezoidal cells. Since each cell
is a trapezoid, the coverage in each cell can easily be achieved with simple back and
forth motions. The coverage of the environment is achieved by visiting each cell in
the adjacency graph. A practical exact motion planning algorithm for polygonal
objects amidst polygonal obstacles was presented in [46].
2.5.2
Roadmap methods
A Road map is a type of topological map, which represents a set of paths
between two points in the configuration space, so that the robot can travel without
collision with obstacles. The Road map assumes that a global knowledge of the
environment is readily available.
Road maps are used to compute pre planned
paths. The set of paths are stored as a graph containing nodes and edges, and in
grids. Some of the road map algorithms are presented in [47, 48, 49 and 50]. Road
map algorithms are generally classified into
2.5.2.1
a.
Geometry based algorithms
b.
Sampling based algorithms
Geometry based algorithms
32
They use computational geometry methods to compute graphs
containing nodes and edges based on certain constraints. Examples of geometry
based algorithms include visibility graphs and voronoi diagrams.
2.5.2.1.1
Visibility graphs
One of the earliest roadmap methods, applied to 2 dimensional
configuration spaces, is the visibility graph method used on the Shakey robot [6, 51].
The Visibility graph nodes of the map are the vertices of the polygon and two nodes
for the visibility graph share an edge if their corresponding vertices are within the line
of sight of each other. The visibility roadmap consists of straight line segments which
connect the nodes of the polygonal obstacles, without crossing the interior of the
obstacles. These straight lines make up the paths on which the robot may traverse
and the optimal path is selected by any one of a number of search techniques.
Visibility graph methods are complete and are only suitable for two-dimensional
configuration space.
2.5.2.1.2
Voronoi diagrams
The Voronoi was named after the German mathematician Gregory,
Voronoi in 1908. A voronoi diagram records information about the distances between
sets of points in any dimensional space. In path planning applications, the voronoi
diagram tends to be two dimensional, so that the set of points lie within the plane. A
Voronoi diagram is defined as the partitioning of a plane with n points into convex
polygons, such that each polygon contains exactly one generator and every point in
a given polygon is closer to its generator than to any other. If this rule is followed
across the entire plane, then the boundaries of the cells, known as Voronoi edges,
will represent the point‟s equidistance from the nearest 2 sites. The point where
multiple boundaries meet, called a voronoi vertex, is equidistant from its 3 nearest
sites. The Voronoi diagram is also a well known roadmap method in the pathplanning; it has edges that provide a maximum clearance path among a set of
disjoint polygonal obstacles. The path obtained using the voronoi diagram is not
optimal. The path has many unnecessary turns, and the length of the path may be
33
undesirably long at regions where the obstacles are far apart. The algorithm in [52]
used the voronoi diagram for planning paths.
2.5.2.2
Sampling based algorithms
Sampling-based algorithms represent the configuration space with a
roadmap of sampled configurations. A basic algorithm selects N configurations, and
keeps those configurations which are free without any obstacles, to use
as milestones. A roadmap is then built which connects two milestones R and S, if the
line segment RS is completely free without an obstacle. These algorithms work well
for high-dimensional configuration spaces, because unlike combinatorial algorithms,
their running time is not exponentially dependent on the dimension of Configuration
space. Examples include probabilistic sampling and random exploring trees
2.5.2.2.1
Probabilistic road maps
The probabilistic roadmap algorithm solves the problem of finding a path
between the start and goal configurations of the robot, while avoiding collisions with
obstacles. The basic idea behind PRM is to take random samples from
the configuration space, testing them to see whether they are in free space, and use
a local planner to attempt to connect these configurations with other nearby
configurations. The starting and goal configurations are added in, and a graph
search algorithm is applied to the resulting graph, to determine a path between the
starting and goal configurations. The probabilistic roadmap planner consists of two
phases: a construction and a query phase. In the construction phase, a roadmap
(graph) is built, approximating the motions that can be made in the environment.
First, a random configuration is created. Then, it is connected to the k nearest
neighbors or all neighbors less than some predetermined distance. Configurations
and connections are added to the graph until the roadmap is dense enough. In the
query phase, the start and goal configurations are connected to the graph, and the
path is obtained using Dijkstra‟s shortest path query. Given certain weak conditions
on the shape of the free space, PRM is probabilistically complete, in the sense , that
as the number of sampled points increases without bound, the probability that the
34
algorithm will not find a path if one exists approaches zero. The rate of convergence
depends on certain visibility properties of the free space, where visibility is
determined by the local planner. There are many variants of the basic PRM method
as specified in [53, 54, 55, 56 and 57].
2.5.2.2.2
Rapidly exploring random tree
A Rapidly-exploring Random Tree (RRT) is a data structure and
algorithm designed to allow efficient searching in high dimensional spaces. The
construction of the RRT is done incrementally in a way which quickly reduces the
expected distance from a randomly chosen point to the tree. RRTs are particularly
suited for path planning problems that involve obstacles and differential constraints.
RRTs can be considered as a technique for generating open-loop trajectories for
nonlinear systems with state constraints. In the field of robotic path planning,
probabilistic sampling based approaches have recently become very popular. In
particular, Rapidly-exploring Random Trees (RRTs) have been shown to be effective
for solving single-shot path planning problems in complex configuration spaces. By
combining random sampling of the configuration space with biased sampling around
the goal configuration, RRTs efficiently provide solutions to problems involving vast,
high-dimensional configuration spaces that would be intractable using deterministic
approaches. As a result, they have been widely-used in robotics .The Ariadne‟s Clew
algorithm [58] explores the free space using “Explore” and “Search” algorithms to
build and connect landmarks. A tree-based path planner was developed by LaValle
and Kuffner in [59] and [60] that are useful for exploring C-space. This path planning
technique is known as the Rapidly-Exploring Random Tree (RRT). A similar treebased planner, Expansive Space Tree (EST), was developed in [61]. By exploring
only the relevant portion of the configuration space needed for the query, it works
well for single query problems. Both ESTs and the RRT Connect method have the
ability to bias two trees toward each other. As a variant of the RRT, Dynamic Domain
RRT [62] selects the sampling region, based on the visibility region of the nodes in
the tree for a better exploration. The planning algorithm is based on an extension of
the rapidly exploring Random Tree algorithm, where the likelihood of the obstacles‟
trajectory and the probability of collision are explicitly taken into account. The
35
algorithm is used in a partial motion planner, and the probability of collision is
updated in real-time according to the most recent estimation.
2.5.3
Potential field method
The artificial potential field method is commonly used for autonomous
mobile robot path planning, because of its elegant mathematical analysis and
simplicity. This method was first proposed in [63] and the real time obstacle of the
robot arm has been realized in 1985. One approach is to treat the robot's
configuration as a point in a potential field that combines attraction to the goal, and
repulsion from obstacles. The resulting trajectory is the output as the path. This
approach has advantages in that the trajectory is produced with little computation.
However, they can become trapped in the local minima of the potential field, and fail
to find a path. The basic concept of the potential field method is to fill the robot‟s
workspace with an artificial potential field, in which the robot is attracted to its goal
position and is repulsed away from the obstacles. A repulsive potential function is
constructed in [64] by taking into account the velocity information. However, there
are still some inevitable problems in these improved methods to baffle their
applications. An effective potential function to allow the robot to do a good job in a
dynamic environment was proposed in [65]. The velocities of the robot, the goal, and
the obstacles are all taken into account. Nevertheless, the robot still has a trend to
go away with the goal if their accelerations are different in the final goal position. As
a result, it is a reasonable idea to have consideration for the accelerations of the
robot, the goal, and the obstacles, and then bring these factors into the potential
function.
2.6
NEURAL NETWORK AND PATH PLANNING
An artificial neural network is a system based on the operation of
biological neural networks. A neural network structure is defined as a collection of
parallel processors connected in the form of a graph, organized in such a way that
the structure itself provides solutions to the problem being considered [66]. The
applicability of neural network techniques to a complex control problem in the
automotive industry was proposed in [67]. The design of the control system was
36
achieved using dynamical neural network models. A sensor based navigation
scheme which makes use of a global representation of the environment by means of
self organizing or Kohonen network is presented in [68]. A neural map which offers a
promising alternative to the distance transform and harmonic function methods for
both global and local navigation is presented in [69]. A neural network model learned
from human driving data, introduced to model obstacle avoidance through dense
areas of obstacles is presented in [70], and is tested in different scenarios, and
compared using cross validation to determine the optimal network structure. A
method of construction of a collision free path for moving a robot among obstacles
based on two neural networks is presented in [71]. The first neural network
determines “free” space, using ultrasound range finder data, and the second one
finds a safe direction for the next robot section of the path in the workspace, while
avoiding the nearest obstacles. A three dimensional terrain mapping and
classification technique, which allows the operation of mobile robots in outdoor
environments using laser range finders, is described in [72]. It used a multi layer
perceptron neural network to classify the terrain. The maps generated by this
approach can be used for path planning, navigation and local obstacle avoidance. A
model based on competitive learning for robot motion planning is proposed in [73]. It
uses the modified version of the shunting equation describing the dynamics of the
neurons. Also, a new algorithm for updating neural activities has been suggested. A
dynamic artificial neural network based mobile robot motion and path planning
system is described in [74]. The method is able to navigate a robot car on a flat
surface among static and moving obstacles. The motion controlling ANN is trained
online with an extended back propagation through time algorithm, using the potential
field for obstacle avoidance. A self organizing spiking model neural network is
introduced, and applied to Mobile robot environment representation and path
planning problem in [75]. The best path is found by using the modified A * Algorithm.
An artificial neural network which is an extension of the back propagation through
time algorithm is used for path planning and a potential field is used for obstacle
avoidance. This is presented in [76]. The path planning of a mobile robot by using a
modified Hopfield neural network is presented in [77]. There are two approaches in
which a neural network can be organized to operate in parallel [78]. Artificial Neural
37
Systems function as parallel distributed computing networks and their basic
characteristic is architecture [79]. A collision avoidance scheme is proposed in [80]
for a multiple robot system. Their robots are equipped with LOCISS. Each robot will
recognize another robot or obstacle. The rule matrix for collision avoidance is
predetermined. Reinforcement learning is applied to acquire adaptive behavior. A
behavior control method inspired by living organisms with immune and emotion
systems, introduced to cope with a dynamic changing environment is proposed in
[81]. The idea of an emotional system was used to model frustration function, which
would be used to determine robot behavior. An immune system concept to cope with
a dynamic changing environment is proposed in [82].
Antibody and antigen
matching were used to determine the robot behavior. Various kinds of robot behavior
were represented as antibodies. The environment information was also set as
antigens, which was most suitable for a current situation or an antigen. An obstacle
free path planning by using a quad tree coding method was presented in [83].
Dynamic path planning and obstacle avoidance by using the Hopfield neural network
was presented in [84]. The idea of a receptive field is presented. The external input
is added in a goal and obstacles, such that the target is the highest activated neuron.
The activation levels of the neurons are spread decreasingly around the target as
wave propagation. However, the Hopfield neural network cannot guarantee the
monotonically decrease from the goal because it employs symmetrical connection
weights. Activation levels can propagate in both directions. This easily causes local
peaks of the activation level. In this method, the approach of different networks
working in parallel with each network extracting different features is used. The set
operation, inequality transformation, and semi-infinite constrained optimization
techniques have been presented in [85] for the development of a realistic real-time
obstacle avoidance approach for subsea vehicles.
2.7
GENETIC ALGORITHM AND PATH PLANNING
A considerable amount of work has been done in the path planning of a
mobile robot, using Genetic Algorithms. Those methods which are relevant to the
outcome of this work are reported. A two stage evolutionary algorithm, where the first
stage computes a collision free path in a known environment, and the second stage
38
is designed to make on the fly updates of the current robot path, according to the
environment‟s dynamic changes was proposed in [86]. The local search operator for
tuning the start and end points of the sub paths was proposed in [87]. This
representation makes it possible to solve the problem with a small population and in
a few generations. A genetic algorithm for solving path planning in stochastic
environments, based on variable length representation and fitness function, and
which combines all the objectives is proposed in [88]. An offline point to point
autonomous mobile robot path planning by generating trajectories for a holonomic
robot was proposed in [89]. The two dimensional coding for path via points is
converted into a one dimensional one and the fitness function integrates both the
fitness of the shortest distance and collision avoidance; this was proposed in [90]. A
Genetic Algorithm based path planning embedded in the microcontroller of a robot
was proposed in [91]. A hybrid scheme which combines the genetic algorithm with a
local search scheme on feasible paths drastically reduces the time to find good paths
while increasing the quality of the generated paths; this was presented in [92]. A
simplified fitness function which utilizes the path length alone, and a controlling
algorithm which allows only four neighbor movements, is proposed in [93]. A genetic
neuro fuzzy approach has been presented in [94]. In this approach, fuzzy rules are
extracted automatically and the membership functions guide the wheeled mobile
robot. A genetic algorithm for robot path planning in dynamic environments, with four
way and eight way movements, is implemented in [95].
A genetic algorithm which uses local maps but does not require the
knowledge of the exact or estimated position of the destination and which uses a 3point interpolation to generate smooth paths in the initial population was presented in
[96]. A genetic algorithm based path planning for a moving obstacle environment and
a comparison with the artificial neural networks and A* algorithm were presented in
[97]. A simple path planning genetic algorithm based on a fixed length chromosome,
with the length being determined by the number of static obstacles was projected in
[98]. This approach also uses an efficient coding scheme with fixed length binary
strings.
An evolutionary approach for planning paths in complex environments is
presented in [99]. In this work, the problem of path finding is solved using a hybrid
39
scheme which combines the neural network, genetic algorithm and local search
methods. The search for the global optimal path in a static obstacle environment
using an improved visual graph is presented in [100]. This work not only enhances
the convergence speed but also avoids the local optimum, by using hill climbing and
PSO for colony updates. An adaptive genetic algorithm for mobile robot path
planning was proposed in [101]. This work uses the floating point number to
represent the path coordinate and the specialized genetic operator, to adjust
adaptively the parameters, such as probabilities of cross over and mutation to plan
the path for the mobile robot. The concept of the traditional or conventional genetic
algorithm is used in a modified form with new operators, introduced to find optimal
paths is presented in [102].A population of paths obtained using the random
distribution strategy is presented in [103].
2.8
ANT COLONY ALGORITHM AND PATH PLANNING
A considerable amount of work has been done in the path planning of a
mobile robot using ant colony algorithms. Those methods which are relevant to the
development of this work are reported. A modified ant system meta heuristic SPACO
was developed,
which makes decisions based on 3 parameters, viz, the cost,
visibility and pheromone, and makes a comparison of performance of both the
product combination of metrics and vector addition combination of metrics as
proposed in [104]. An Ant Colony System (ACS) applied to Traveling Sales Person
(TSP) problem was proposed in [105]. The results obtained show that the ACS
outperforms other nature motivated algorithms, and concluded with a comparison of
the ACS-3 opt augmented with the local search procedure for the best performing
algorithms for symmetric and asymmetric TSPs. An ACO algorithm which obtained
the shortest path for the best path planning problem, considering the prevention of
packages passing through heavily loaded paths and avoiding transportation delay
was proposed in [106]. Seven communication strategies for updating the pheromone
level between groups in the ACS, and the application of seven strategies to the TSP
problem are presented in [107]. An ant colony optimization algorithm where the path
planning is transformed into a penalty function optimization was proposed in [108].
The function can be constructed by a neural network including obstacles restriction
and length of the path. The penalty function is taken as a fitness function to seek
40
global optimization. An Ant based Robot Path Planning (ARPP) and a Special Ant
based Robot Path Planning(S-ARPP) for Global Path Planning (GPP) was proposed
in [109]. Both of them are based on the ACS framework, which applies the visibility
graph as the road map and construction graph. The experimental results show that
the S-ARPP outperforms the ARPP. A hybrid algorithm to solve the combinatorial
optimization problem by using the ant colony and genetic programming algorithms
was proposed in [110]. The algorithm converges to an optimal final solution, by
accumulating the most effective sub-solutions. A new method SACOdm is proposed
where d stands for distance and m stands for memory was proposed in [111]. The
selection of the optimal path relies on the criterion of the fuzzy inference system,
which is adjusted using a simple tuning algorithm. It operates in two modes: one for
virtual environments and second one works with a real mobile robot, using wireless
communication. The ant colony optimization meta heuristic is proposed to solve the
Mobile Robot Path Planning (MRPP) problem [112]. The performance of the ACO
metaheuristic is tested on a given set of maps and the results are compared with
those reported in the literature. The performance of the proposed ACO metaheuristic
is found to be better than the result reported in the literature. The path planning of an
inspection robot which moves along several check points was presented in [113].
The problem was simplified to minimize the path which connects every point by
applying the grid and the visibility graph methods. The method presented produced
an optimized path. A generalized and modified ant algorithm, where the ant can
select one of the 16, 24 or 32 neighbor points for its next movement, in contrast to
the simple one, in which only one of the eight neighborhoods can be selected by the
ant, was proposed in [114]. The computer simulation results showed that there is a
considerable decrease in the path length with an increase in the level of
generalization. An Improved Ant Colony Optimization (I-ACO) algorithm to plan paths
for pursuers in pursuit evasion games (PEGs) with efficiency and collision avoidance
was proposed in [115]. The algorithm is divided into the approaching mode and the
capturing mode, according to whether the evaders are sensed by the pursuers. The
simulation results showed high efficiency of the I-ACO algorithm, where the planning
time is reduced and the pursuer prefers wider paths than narrower paths. The path
planning algorithm for dynamic environments was presented in [116]. Two different
pheromone re-initialization schemes are compared and the computer simulation
results showed that this algorithm can successfully re-route the optimal path for the
41
new network after the obstacles are added. An improvement of the basic ant colony
algorithm through multiple simulation experiments is presented [117] and the
improved algorithm enhances the efficiency of pheromone storage and the speed of
path generation, thus quickly obtaining a more optimal solution. A new hybrid
method for the path planning of a mobile robot, employing the ACO as the global
path planning algorithm, and the APF as the local planner method is proposed in
[118].
42
Map-based Navigation
Localization
Map
Learning
Path
Planning
Evolutionary
methods
Classical
methods
Genetic
algorithm
Neural
Network
Ant colony
optimization
Implemented in
Configuration Space
Discrete
Potential
field
Road Map
Cell
decomposition
Approximate
Continuous
Exact
Geometry based
Sampling based
Can be one of the approaches
Topological or Metric or Hybrid
Figure 2.8 Implementing path planning algorithms
In this research work the configuration space of forest is considered as discrete
space and is decomposed into cells of equal size using approximate cell
43
decomposition method. Each cell contains one sensor placed at the center of the cell
which knows its location based on coordinates. The cell in which robot is available is
considered as one point and the cell in which the fire occurs is considered as other
point. Using these two points the sequence of intermediate points which forms the
path is computed and using this path actor reaches the cell in which fire occurred
and extinguishes it.
44
3. METHODOLOGY
3.1 OVERALL METHODOLOGY
The overall Research methodology is shown below in figure 3.1.1
Forest Area
Superimposed over a grid
Grid is decomposed into cells of
equal size
Senses/measures
Sensor which knows its location
based on coordinates is deployed
one in each cell
Temperature inside
a cell is greater than
certain threshold
Actor is deployed in one cell
which knows its location
Sends message in form of
coordinates
The developed path planning algorithms
(available in actor) uses the coordinates of
location of the actor and the location of the
cell in which fire occurred to find the path
Actor moves through the path and
extinguishes fire
Figure 3.1.1 Overall Research Methodologies
45
The forest area is superimposed on grid. The grid is decomposed into m x n cells of
equal size. In each cell a sensor is deployed deterministically which knows its
location based on coordinate information. The actor then using its own coordinate as
starting point and the location of the cell in which fire occurred as ending point and
uses the developed path planning algorithms through which it can navigate and
extinguish fire. An actor which knows its location is deployed in one cell. When the
temperature inside a cell goes beyond the particular temperature indicating fire, then
the sensor inside the cell will send the message in the form of coordinates to the
actor.
3.2 TESTING:
Testing is a process of executing a program with the interest of finding an error.
Testing should systematically uncover different classes of errors in a minimum
amount of time with minimum amount of efforts. In this research work the developed
path planning algorithms are tested to uncover any defects in the algorithm by
subjecting it properly to white box and black box testing. This can be done by internal
evaluation of code and developing test cases which meets all the requirements and
executing the test cases. The test cases are developed both for the environment with
obstacle and without obstacle.
The test cases developed for environment without obstacle is shown below
1. Both the starting and ending points lie within the grid and produced the
path correctly.
2. The ending point lies out of the grid.
The test cases developed for environment with obstacle is shown below
1. Both the starting and ending points lie within the grid and produced the
path correctly.
2. The ending point lies out of the grid.
3. By generating and varying the number of obstacles along the path.
4. By generating obstacles around the robot so that it cannot able to find a
path and displays the message no path exists.
46
In general the developed algorithms can work for any m X n grid. But the path
planning algorithms developed uses 5 x 5, 10 x 10 and 20 x 20 grids as examples.
The 5 x 5 grid is used as example because some of the works [119,120] used 5 x 5
grids to explain the concepts. The 10 x 10 and 20 x 20 grids are used as examples in
some of the works [120,121] for execution purposes. All the algorithms are executed
for 50,75,100 times respectively by satisfying all the test cases without replication of
the input. The reason for choosing the number of times of execution is based on
[122] because for 100 x 100 grids 500 sample runs were performed. The 100 x 100
grid will contain 10000 cells. For 10000 cells 500 sample runs were performed. The
20 x 20 grid will contain 400 cells. The number of cells to number of runs ratio (i.e.
for 10000 cells 500 runs, for 400 cells 20 runs) we will get 20 sample runs for 20 x
20. But in this research work for 20 x 20 grids 100 runs are performed indicating that
the algorithm is verified and validated for more number of inputs. Since the 5 x 5 and
10 x 10 grids use 50 and 75 runs respectively, the algorithm is verified and validated
for more number of inputs as compared to [122]. The algorithms are implemented
using variety of softwares such as Adobe flash, Java, C++ and MATLAB. The graphs
are plotted using MS-Excel. Finally a comparison of developed algorithms with A*
algorithm is performed in terms of execution and path cost.
4. TRIGONOMETRY BASED PATH PLANNING ALGORITHM
47
4.1
INTRODUCTION
A Savannah is a grassland ecosystem characterized by the trees being
sufficiently small or widely spaced so that the canopy does not close. The open
canopy allows sufficient light to reach the ground to support an unbroken
herbaceous layer consisting primarily of grasses. The savannah can be classified
into savanna woodland, with trees and shrubs forming a light canopy; tree savanna,
with scattered trees and shrubs; shrub savanna, with scattered shrubs, and grass
savanna, in which trees and shrubs are generally absent. Other classifications have
also been suggested in the literature. In the trigonometry based path planning
algorithm the grid has been superimposed into a savanna type forest. Since this type
of forest does not contain trees, it was assumed that an obstacle is not present, and
a path planning algorithm was developed based on the distance between the two
point formula and arctangent formula. The cell in which robot is available is
considered as one point and the cell in which the fire occurs is considered as other
point. Using these two points the distance to be travelled by the robot is calculated.
The angle to be rotated by the robot from its current direction to the direction in
which fire occurred, in order to move to the target cell to extinguish forest fire is
calculated using arc tan formula.
4.2
ASSUMPTIONS USED IN THE MODEL
1.
Forest Area is divided into n x n square cells also called grids. [123]
2.
The sensor node is placed at the center of each grid.
3.
The sensing range of the node is „r‟ and the side of the square cell
is „D‟ and 2r = D [124]
4.
The nodes are deployed deterministically and are static [124]
5.
Nodes belonging to a quadrant are clustered to the Cluster Head
(CH) which is placed at the corner of that particular Quadrant.
6.
Actors contain the fire extinguishing agent and are mobile.
7.
The Actor is available at the centre of the domain facing the East,
and returns to the same place after it extinguishes the fire.
8.
A forest fire propagates in all directions at the same speed.
48
9.
Since the propagation of the fire is uniform and only surface fires
are considered, the fire originated in a region/grid i is detected by
sensor i first [125]
10. The Quadrant based model is shown in Figure 4.2.1.
Figure 4.2.1 Quadrant based model
4.3
SENSOR DEPLOYMENT AND COVERAGE
Research on wireless sensor networks has received tremendous
attention in recent years due to the advancement in MEMS technology, as well as
their potentially wide applications in both civilian and military environments, such as
environmental monitoring, industrial sensing and diagnostics, and information
collecting for battle field awareness [126, 127 128,129 and 130]. Also it is possible to
manufacture small sensors with sensing, processing, and wireless communication
capabilities in a cost effective manner. A sensor network can be formed by deploying
specialized sensors in the region of interest to perform specific sensing and
networking tasks. Many of the above application scenarios involve a large number of
sensors deployed in a vast geographical area. There are two fundamental issues
which have to be considered in the measure of performance of a network. They are
a.
Coverage
49
b.
Detect ability
In general, coverage represents how well an area is monitored by
sensors and detect ability represents the capability of a sensor network to detect an
object that moves through the network. In most applications, a sensor network is
used to monitor a certain region, and it is desirable that every point in a region R is
monitored by k sensors, where k is often determined by applications. For
example, for event detection, k = 1 may suffice, while for event localization and
target tracking, multiple nodes are required to simultaneously monitor any point in a
region R
(so that the triangulation technique can be applied). The problem of
sensor deployment is often formulated as follows:
Given a square region R with area A, how many sensors are needed to
ensure k-coverage, assuming that each sensor can cover a circular region centered
at itself and with radius r the calculation is shown below:
Let „l‟ be the length of the grid. The total area A of the grid is l2 . The grid will be
decomposed into cells of equal size based on the receiving range „r‟ of the sensor. In
this work it was assumed one cell contains one sensor. Therefore the grid is
decomposed into (l/r) * (l/r) regions. The total number of sensors required for entire
area i.e. l square meter is = l2 / r2.
Therefore for one square meter = 1 / r2 Sensors are required.
In addition, there are two fundamentally different ways to deploy sensors:
a.
Random deployment
b.
Deterministic deployment
Intuitively, deterministic deployment seems to require a lesser number of
sensor nodes to achieve a given degree of coverage k, than random deployment.
For the coverage and detect ability of grid-based sensor networks, the whole
network is divided into a large array of squares. Each square has a side length of D.
In this model, sensors can only be located at the center of each square. A square is
occupied if there is a sensor located at the center. Every sensor has a finite sensing
range, within which it can provide reliable sensing measurements. The sensors
50
deployed can be homogeneous, i.e., they have the same sensing range or
heterogeneous i.e., they have different sensing range. The simple grid-based model
has often been used in research [131, 132] to obtain closed-form results and provide
insights to more general scenarios. A static network must be deployed according to a
predefined shape in order to achieve deterministic coverage, and grid based
deployment can be used for deterministic coverage [133]. In a grid based scheme,
the sensor deployment can be done in two methods:
a.
Sensors can be placed at the centre of the grid.
b.
Sensors can be placed at the intersection of the grid points.
In this research work the sensors have been placed at the center of the
grid because the number of sensors required for deployment is less.
Lemma 1: The number of sensors required for placing at the center of
the grid is less than that for placing at the intersection of the grid points.
Figure 4.3.1 Sensors placed at the center of grid
Figure 4.3.2 Sensors placed at the intersection of the grid points
51
From the above figures it is clear, that for a domain divided into n x n
grids it can be concluded that
a.
For sensors to be placed at the center of the grids: n 2 sensors will
be required.
b.
For sensors to be placed at the intersection of grid points: n 2 + 2n +
1 sensors will be required
Hence lemma1 is proved, and the sensors placed at the centre of grids
require (2n+1) lesser than those placed at the intersection of the grid points. In the
case of grid based deployment, the problem of coverage of the sensor field reduces
to the problem of coverage of one cell and its neighbor, because of symmetry.
Therefore, if we take a one square grid and calculate the uncovered area, it is
approximately equal to 0.86 r2 [134] where r is the sensing range. Since in this work,
it was assumed, that fire starts at a point and if it occurs inside the uncovered area
then it will be first detected by the sensor in that region rather than by any other
sensor, because the surface fire spreads at a constant rate in all directions
4.4
COMMUNICATION BETWEEN BEACON NODES, CLUSTER HEAD
AND ACTOR
WSANs is considered as a distributed control system which requires
timely reaction based on the information received from the sensor with an
appropriate action .Hence, real time communication and coordination is of great
importance in the context of WSANs. In this work communication has been classified
into (i) Beacon sensor to Cluster Head Communication (ii) Cluster Head to Actor
Communication.
4.5
PATH PLANNING ALGORITHM
The
forest
fire
detection
system
consists
of
nodes
deployed
deterministically in a forest area, and all the nodes know their location based on
quadrants. Each node is equipped with a temperature sensor. Nodes continuously
monitor the environment to check if there is a fire or not in that grid. When a change
in temperature is detected, they send packets which contain location measurements
52
to the Cluster Heads. Since the focus of this work is mainly on forest fire detection
and extinguishing it is assumed that all report messages sent from the cluster
members can reach their cluster heads successfully. Therefore, packets sent by the
cluster members are received by the Corresponding CH Node. The CH Node then
processes the packet and determines the quadrant from the location information. It
then sends the packets to the Actor. The actor, in turn, will process the packet to
determine the distance and angle to be used in reaching the target area and to
extinguish the forest fire. The packet format used by beacon node, cluster head node
is shown below in figure 4.5.1 and figure 4.5.2 respectively. The algorithm used for
quadrant calculation, angle calculation and distance estimation are shown in
Algorithms 1, 2 and 3 respectively.
XC
YC
CHNO
Figure 4.5.1 Beacon node packet format
where
XC – x Coordinate,
YC – y Coordinate,
CHNO – Cluster Head Number to which packet is to be sent.
XC
YC
QNO
AA
Figure 4.5.2 Cluster head node packet format
where
XC – x Coordinate,
YC – y Coordinate,
QNO – Quadrant Number,
AA – Address of the Actor to which the Packet is to be sent.
53
Algorithm 1: Quadrant Calculation
Step 1 :
Read the packet sent by the beacon node to determine the
x and y coordinates.
Step 2 :
Check the values of XC and YC
2.1 if XC is Positive and YC is Positive then the fire is in the first
Quadrant , i.e., QNO=1
2.2 if XC is Negative and YC is Positive then the fire is in the second
Quadrant ,i.e., QNO=2
2.3 if XC is Negative and YC is Negative then the fire is in the third
Quadrant ,i.e., QNO=3
2.4 if XC is Positive and YC is Negative then the fire is in the fourth
Quadrant, i.e., QNO=4
Step 3 :
Return QNO
Algorithm 2: Angle calculation
Step 1 :
Read the packet sent by the cluster head to get the QNO,x and y
coordinate values.
Step 2 :
Calculate the arctan value as shown below
Θ = arctan(YC/XC)
Step 3 :
The angle which the actor has to make is calculated as follows:
if (QNO=1) then
No Change in Θ
else if (QNO=2) then
Θ = Θ + 90 degrees
else if (QNO=2) then
54
Θ = Θ + 180 degrees
else if (QNO=2) then
Θ = Θ + 270 degrees
end
end
end
end
step 4
:
Return Θ
Algorithm 3: Distance estimation
Step 1 :
Read the packet sent by the cluster head to get the x and y coordinate
values.
Step 2 :
Calculate the distance using
2.1 add the square values of XC and YC and assign it to k
2.2 take the square root of k and assign it to d
Step 3 :
But the original distance the actor has to move
d = d- (D/2)
Step 4 :
Return d
The concept of single actor has been implemented and with slight
modification the concept of multiple actors has been implemented keeping in mind
the domain is very large.
4.6
SIMULATION RESULTS
The Forest environment is simulated and run using the Abode Flash
Action script. The test results are as expected. It is assumed, that the forest
environment contains only bush and herbs; i.e., there is no obstacle so that the actor
55
can move freely without any disturbances, and it is applicable to savannah type
grassland forest. Moreover, the environment has been tested with both single actor
and multiple actors. The algorithm was implemented on a 20 x 20 grid and was
executed for 50 times. To test the effectiveness of the algorithm fire is created in
different cells using various test cases designed and in all the cases a path was
found through which the actor extinguished the fire. The test cases are designed in
such a way that all the statements in the program get executed atleast once. The
simulated results are shown in Figures 4.6.1, 4.6.2, 4.6.3 and 4.6.4.
Figure 4.6.1 Actor start approaching the fire
Figure 4.6.2 Actor extinguish the fire
56
Figure 4.6.3 Multiple actors in the test environment
57
Figure 4.6.4 Multiple actors extinguish the fire
4.7
DISCUSSIONS
In this work the design and implementation of forest fire detection and
extinguishing system have been presented using wireless sensor and actor
networks. The nodes are deployed deterministically, and are assumed to know the
location based on quadrants. The actor will consider his own coordinate as the start
coordinate, and the cell where the fire occurred as the goal coordinate, to calculate
the distance it has to travel. The angle the actor has to rotate at is calculated using
the arc tan formula. Using this, the actor will move to the area where the fire
occurred, and start extinguishing it. Also it has been assumed that there is no
obstacle.
58
5. DIRECTION BASED PATH PLANNING ALGORITHM
5.1
INTRODUCTION
A Savannah type forest with trees is considered in this work. The trees
are considered to be the obstacles. A robot navigation algorithm is proposed, which
initially assumes the environment to be devoid of obstacles and moves the robot
directly toward the goal [135, 136, and 137]. If an obstacle obstructs the path, the
robot moves around the perimeter until the point on the obstacle nearest the goal is
found. The robot then proceeds to move directly toward the goal again. An algorithm
which adopts a strategy, whereby the robot wanders about the environment until it
discovers the goal is proposed in [138]. The robot repeatedly moves to the adjacent
location at the lowest cost and increments the cost of a location every time it visits it
to penalize later traverses of the same space. The algorithm in [139] uses the initial
map information to estimate the cost to the goal for each state in the environment,
and efficiently updates it with backtracking costs as the robot moves through the
environment. An algorithm similar to the ones mentioned above but which uses the
concept presented in [140] with a modification to calculate the path that does not
collide with obstacles, is presented.
5.2
ASSUMPTIONS USED IN THE MODEL
1.
Define the forest area to be „A‟ where the sensors are initially
deployed.
2.
Consider a set of sensors S= {s1, s2, s3,…,sn} arranged inside a grid
based on matrix coordinates in a two dimensional Euclidean region,
as shown in Figure 5.2.1.
3.
Each Sensor is placed inside the forest area „A‟ at coordinate (xi,yi )
based on the elements of a matrix, and the sensor knows its own
location.
4.
The sensing region of a sensor is assumed to be circular with
radius „r‟, where „r‟ is called as the sensing range of sensor.
59
5.
The length of a grid is equal to twice the area of the sensing range;
i.e., 2r = L where „L‟ is the length of the grid.
6.
All the cells inside the grid are of equal size, and have the same
sensing range „r‟.
7.
Each sensor has an Omni directional antenna; i.e., it can perform
360 degree observation.
8.
Four sensor nodes are placed at the corners of the Domain.
9.
Forest fire propagates in all directions at the same speed.
10. Since the propagation of the fire is uniform and only surface fires
are considered, the fire originated in a region/grid i is detected by
sensor i first.
11. The actor is available at the center of the domain and returns to the
same place after it extinguishes the fire.
12. The actor contains the processing unit to decide the next sequence
of moves to reach the target area and extinguish the fire.
13. Actors contain the fire extinguishing powder to suppress the fire.
14. The actor can move in any one of the eight directions [141]
numbered 1, 2,3,4,5,6,7,8 from its current position as shown in
Figure 5.2.2.
15. The direction an actor will move based on value is shown in Figure
5.2.3
16. The Initial position of an actor is represented using a green oval,
and it is mobile.
17. Obstacles are represented using yellow color and the maximum
length, and width of the obstacle is equal to the side of the square;
i.e., the obstacle is not greater than a single square cell.
18. Obstacles are predefined and are static.
19. A two dimensional array will hold a value of 1 for an obstacle in a
cell whose coordinates are x, y i.e., O[x, y] =1
20. The path calculated by the actor is shown using a Line in cyan
color.
60
(1,1)
(1,2)
(1,3)
(1,4)
…
(1,n-3)
(1,n-2)
(1,n-1)
(1,n)
(2,1)
(2,2)
(2,3)
(2,4)
…
(2,n-3)
(2,n-2)
(2,n-1)
(2,n)
(3,1)
(3,2)
(3,3)
(3,4)
…
(3,n-3)
(3,n-2)
(3,n-1)
(3,n)
.
.
.
.
…
.
.
.
.
.
.
.
.
…
.
.
.
.
.
.
.
.
…
.
.
.
.
.
.
.
.
…
.
.
.
.
(m-1,1)
(m-1,2)
(m-1,3)
(m-1,4)
…
(m-1,n-3)
(m-1,n-2)
(m-1,n-1)
(m-1,n)
(m,1
(m,2)
(m,3)
(m,4)
…
(m,n-3)
(m,n-2)
(m,n-1)
(m,n)
Figure 5.2.1 Forest area divided into cells based on the matrix coordinates
3
2
1
4
8
7
5
6
Figure 5.2.2 Possible directions the actor can move in
Value
Direction Actor has to move
1
Diagonal Up Right
2
Up
3
Diagonal Up Left
4
Left
5
Diagonal Down Right
6
Down
7
Diagonal Down Left
61
8
Right
Figure 5.2.3 Direction the actor will move in based on value
5.3
FOREST FIRE EXTINGUISHING MODEL
In this work the use of the Wireless Sensor and Actor Networks
(WSANs) is explored in detecting and extinguishing forest fires. The automatic forest
fire detection and extinguishing system consists of nodes deployed deterministically
in a forest area, and all the nodes know their location based on the coordinate values
of a matrix. Each node is equipped with a temperature sensor and an omni
directional antenna. Nodes continuously monitor the environment to check if there is
a fire or not in a particular cell. When a change in temperature occurs, i.e., the
temperature rises above a certain threshold, it is detected by a particular node which
sends message packets that contain the location measurements. These packets are
received by one of the corner nodes. The corner node then sends the packet to the
actor, which in turn, will process the packet which can be used in reaching the target
area to extinguish the fire. Since the focus of this work is mainly on forest fire
detection and extinguishing mechanism, it is assumed that the message
communicated has reached the corresponding destination safely, and if more than
one node is sending the same message, the message sent by the first node is
considered, and the rest are ignored. The fundamental tasks to be considered in
achieving this are classified into the following:
5.3.1
a.
Sensor Deployment and Coverage
b.
Communication between Nodes
c.
Path planning algorithm for the Actor
Sensor deployment and coverage
According to [141] the sensor‟s major function is to sense the
environment for any incidence of an event of interest. Therefore, coverage is one of
the major concerns in sensor networks. Coverage is classified into three classes:
Area coverage, Point coverage, and Barrier coverage [142]. Since the objective is to
62
maximize the coverage percentage in this work we have focused on area coverage.
The coverage problem is defined as, how to position or deploy the sensors in a
particular Region of Interest (ROI), so that the coverage percentage is maximized,
and the coverage holes are minimized. The deployment of nodes can be done either
randomly or deterministically. The deterministic deployment of nodes has been
considered in this work because sensor network coverage can be improved by
carefully planning the position of sensors in the ROI prior to their deployment. Grid
based sensor networks divide the ROI into square cells, and the sensors can be
placed at the center of the square cell in order to maximize the coverage; also, the
number of sensors required for placing inside the square cell is lesser than the
number of sensors required for placing at the intersection of the grids [143]. Hence,
in this work, the sensors have been placed at the center of the square cell. In the
case of grid based deployment, the problem of the coverage of the sensor field
reduces to the problem of the coverage of one cell and its neighbor, because of the
symmetry of the cells. Therefore, if one cell is considered, the uncovered area is
approximately equal to 0.86 r2 where „r‟ is the sensing range. In this work it is
assumed that fire spread from a single point, and if it occurs inside the uncovered
area of sensor i, then it will be detected by sensor i first rather than by any other
sensor, because the surface fire spreads at a constant rate in all directions.
5.3.2
Communication between nodes
In this work, three nodes have been used (i) sensor nodes capable of
detecting a change in temperature, which indicates the occurrence of a fire, and
broadcasting the message to the neighboring cells (ii) Corner nodes that receive the
message sent by the sensor nodes, and have high capacity for transmission of
messages (iii) The actor node that receives the information from the corner node of
the coordinates of the cell where the fire has occurred. Then, with its own coordinate
as the start position and the received coordinates as the goal position, it plans a path
along which it will travel and reaches the goal position and starts extinguishing the
fire. When more than one corner node sends the same coordinate information
regarding the fire, it will be discarded. In this work, it is assumed, that the fire occurs
in a single point in the entire domain. Therefore, there is no possibility of different
63
corner nodes sending different coordinates for the fire occurrence. Also, it is
assumed that the messages sent from one node to another node will reach without
any loss.
5.3.3
Path planning algorithm for the actor
The path planning for mobile robots is defined as the search for a path,
which a robot has to follow in a predefined environment in order to reach a particular
position [144]. Path planning is considered as an optimization problem of finding a
path between the start and end points, which should be free of collision and the
shortest one [145]. Mobile robot path planning can be classified as (i) static or
dynamic (ii) local or global and (iii) complete or heuristic, based on the environment,
the algorithm and the completeness. Static path planning refers to the environment
which does not contain moving objects and obstacles. Dynamic path planning refers
to the environment which contains moving objects and obstacles. Both static and
dynamic path planning involve the mobile robot. When the robot knows the
information about the environment, the path planning is said to be global. On the
contrary, if the robot does not know the information about the environment, then the
path planning is local. In this work, the path planning of actor to reach the target area
and extinguish the fire is simulated, using the actions performed by a robot. In this
work, path planning is considered for two types of environment (i) Environment
without obstacles. This type of environment is similar to the savannah type forest
where there are only grasslands and no obstacles. (ii) Environment with obstacles.
This is similar to an ordinary forest where there are trees, stones and some other
static obstacles. The path planning of the actor is done in incremental steps by
taking into consideration the start position coordinates and goal position coordinates.
Since in this work, matrix based coordinates have been used for the grid, the
determination of direction in which the actor has to move, as presented in [140] is
modified and shown below:
S.No Condition of the coordinates
Direction it has to move in
1.
(xs-xg =0) and (ys-yg < 0)
Right
2.
(xs-xg>0) and (ys-yg)<0)
Diagonal Up Right
3.
(xs-xg>0) and (ys-yg)=0)
Up
64
4.
(xs-xg>0) and (ys-yg)>0)
Diagonal Up Left
5.
(xs-xg=0) and (ys-yg)>0)
Left
6.
(xs-xg <0) and (ys-yg)>0)
Diagonal Down Right
7.
(xs-xg<0) and (ys-yg)=0)
Down
8.
(xs-xg<0) and (ys-yg) <0)
Diagonal Down Left
Figure 5.3.1 Direction the actor will move in based on value
5.3.3.1
Path planning algorithm for an environment without obstacle
Step 1 :
Read the xg coordinate and yg coordinate from the message received
from corner node.
Step 2 :
Since the actor will always be available at the center, assign the
coordinate values of the actor to xs and ys.
Step 3 :
Repeat until (xs =xg and ys= yg)
if ((xs-xg =0) and (ys-yg < 0)) then
Move Right
end
if ((xs-xg>0) and (ys-yg)<0)) then
Move Diagonal Up Right
end
if ((xs-xg>0) and (ys-yg)=0)) then
Move Up
end
if ((xs-xg>0) and (ys-yg)>0)) then
Move Diagonal Up Left
end
if ((xs-xg=0) and (ys-yg)<0)) then
Move Left
65
end
if ((xs-xg<0) and (ys-yg)>0)) then
Move Diagonal Down Right
end
if ((xs-xg<0) and (ys-yg)=0)) then
Move Down
end
if ((xs-xg<0) and (ys-yg)<0)) then
Move Diagonal Down Left
end
Step 4 :
Stop the actor and start extinguishing the fire.
5.3.3.2 Path planning algorithm for environment with obstacles
Step 1 :
Read the xg coordinate and yg coordinate from the message received
from the corner node.
Step 2 :
Since we know that the actor will always be available at the center,
assign the coordinate values of the actor to xs and ys.
Step 3 :
do
{
d= direction (xs,xg,ys,yg)
switch (d)
{
Case 1: if (O[xs-1,ys+1] !=1 ) then
Move Diagonal Up Right
else
Call freespacesearch(xs,ys,1)
66
end if
break
Case 2: if (O[xs-1,ys] !=1 ) then
Move Up
else
Call freespacesearch(xs,ys,2)
end if
break
Case 3: if (O[xs-1,ys-1] !=1 ) then
Move Diagonal Up Left
else
Call freespacesearch(xs,ys,3)
end if
break
Case 4: if (O[xs,ys-1] !=1 ) then
Move Left
else
Call freespacesearch(xs,ys,4)
end if
break
Case 5: if (O[xs+1,ys-1] !=1 ) then
Move Diagonal Down Right
else
Call freespacesearch(xs,ys,5)
end if
break
67
Case 6: if (O[xs+1,ys] !=1 ) then
Move Down
else
Call freespacesearch(xs,ys,6)
end if
break
Case 7: if (O[xs+1 ,ys+1] !=1 ) then
Move Diagonal Down Left
else
Call freespacesearch(xs,ys,7)
end if
break
Case 8: if (O[xs,ys+1]!=1 ) then
Move Right
else
Call freespacesearch(xs,ys,8)
end if
break
}
}while((xs – xg != 0) and (ys – yg !=0))
Step 4 :
Stop the actor and start extinguishing the fire.
Procedure direction
This procedure is used to determine the direction the actor has to move in,
based on the start and goal coordinates. It will return an integer value based on the
direction it has to move in.
68
int direction(xs,xg,ys,yg)
{
if ((xs-xg>0) and (ys-yg)<0)) then
return 1
end
if ((xs-xg>0) and (ys-yg)=0)) then
return 2
end
if ((xs-xg>0) and (ys-yg)>0)) then
return 3
end
if ((xs-xg=0) and (ys-yg)>0)) then
return 4
end
if ((xs-xg<0) and (ys-yg)>0)) then
return 5
end
if ((xs-xg<0) and (ys-yg)=0)) then
return 6
end
if ((xs-xg<0) and (ys-yg)<0)) then
69
return 7
end
if ((xs-xg =0) and (ys-yg < 0 )) then
return 8
end
}
Procedure freespacesearch
This procedure is used to determine the cell which does not contain an
obstacle if the next move of the actor to the cell contains an obstacle. It takes three
arguments, the „s‟ which refers to the x coordinate, „f‟ which refers to the y coordinate
and „e‟ is the direction from the current cell, by which a check is made to see whether
the cell contains an obstacle. Therefore, free space search is performed, i.e., finding
the next cell which is free without any obstacle in the anti clock wise direction, using
the procedure shown below.
freespacesearch(s,f,e)
{
switch (t)
{
Case 1: if (O[xs-1,ys+1] !=1 ) then
xs=xs-1
ys=ys+1
Move to xs,ys
return
break
70
Case 2: if (O[xs-1,ys] !=1 ) then
xs=xs-1
Move to xs,ys
return
break
Case 3: if (O[xs-1,ys-1] !=1 ) then
xs=xs-1
ys=ys-1
return
break
Case 4: if (O[xs,ys-1] !=1 ) then
ys=ys-1
Move to xs,ys
return
break
Case 5: if (O[xs+1,ys-1] !=1 ) then
xs=xs+1
ys=ys-1
Move to xs,ys
return
break
Case 6: if (O[xs+1,ys] !=1 ) then
xs=xs+1
Move to xs,ys
return
break
Case 7: if (O[xs+1 ,ys+1] !=1 ) then
71
xs=xs+1
ys=ys+1
Move to xs,ys
return
break
Case 8: if (O[xs,ys+1] !=1 ) then
ys=ys+1
Move to xs,ys
return
break
Default : No path for the robot to move in
exit
}
}
5.4
SIMULATION RESULTS
In this work, an algorithm for a grid containing m x n cells based on the
matrix coordinates as a forest domain, in which a fire occurrence is automatically
detected by sensors and extinguished by the actors, is proposed. In the simulation
part, the corner nodes are not shown because it was assumed that the message
sent by the sensors to the corner node, and from the corner node to the actor
reaches without any loss, since the prime consideration of this work is extinguishing
forest fires. The developed model is assumed to work with single instance of fire
occurrence, since for the entire forest domain the assumption is only one actor is
available. A path planning algorithm is designed for the actor in order to extinguish
the fire in both types of environment; .i.e., environments with and without obstacles.
72
The actor is represented by a green oval located at the center, the cells containing
obstacles are represented using yellow; and the cell where the fire occurs is shown
in red; and a line in cyan color shows the path planning of the Actor to travel and
reach the target area to extinguish the fire. The software used for the simulation
purpose is java. The algorithm was implemented on a 20 x 20 grid and was executed
for 100 times. To test the effectiveness of the proposed algorithm, the fire is created
in various cells by varying start and end coordinates including all the quadrant
regions, horizontal lines and vertical lines. The number of obstacles is also varied.
This is achieved by properly designed test cases. The test cases are designed in
such a way that 187 statements, 16 independent paths and 3 loops in the program
get executed at least once. In all the cases, the path is created using the algorithm
without any collision with the obstacle, if the path exists and the actor travels through
the path to extinguish the fire. The Simulated results are shown in Figures 5.4.1 and
5.4.2.
Figure 5.4.1Simulation in an environment without obstacle
73
Figure 5.4.2 Simulation in an environment with obstacle
5.5
DISCUSSION
In this chapter, a path planning algorithm has been presented for the
actor to move to the target area to extinguish the fire. It is assumed that the robot is
a single point robot, so that it can move in all directions without any rotation of robot.
The nodes are deployed deterministically based on the coordinates of matrix. The
algorithm proposed in this chapter is an incremental path planning one, because in
one step it will move to any one of the 8 neighborhood cells. The next cell is chosen
based on the difference between the x coordinates‟ value and the difference
between the y coordinates‟ values put together. The algorithm works with any
number of obstacles placed in any position. In this chapter only static obstacles,
have been considered.
74
6. NEURAL NETWORK BASED PATH PLANNING ALGORITHM
6.1
INTRODUCTION
In previous chapters path planning algorithms such as trigonometry based path
planning algorithm and direction based path planning algorithm were developed
which belongs to the category of conventional or traditional path planning methods.
The conventional methods work in a sequential way, which can perform only one
task at a time, is performed. These methods functions logically with the set of rules
and calculations. The conventional method learns by rules. On the other hand neural
network based methods have the ability of processing things in a parallel way and do
many things at once. The neural networks will learn by example. While conventional
methods can be programmed using any high level language, the neural networks
can be self programmed. A sensor based navigation scheme which makes use of a
global representation of the environment by means of self organizing or Kohonen
network is presented in [68]. A neural map which offers a promising alternative to the
distance transform and harmonic function methods for both global and local
navigation is presented in [69]. A neural network model learned from human driving
data, introduced to model obstacle avoidance through dense areas of obstacles is
presented in [70], and is tested in different scenarios, and compared using cross
validation to determine the optimal network structure. A method of construction of a
collision free path for moving a robot among obstacles based on two neural networks
is presented in [71]. The path planning of a mobile robot by using a modified Hopfield
neural network is presented in [77]. A collision avoidance scheme is proposed in [80]
for a multiple robot system. Based on the above works a neural network based path
planning algorithm is developed based on the parallel distributed neural network
model in order to extinguish fire in both types of environment, i.e., environments with
and without obstacles.
6.2
NEURAL NETWORKS
6.2.1
A SIMPLE NEURON
75
An Artificial Neural Network (ANN) is a mathematical model inspired
by structure as well as the functional aspects of biological neural networks [146].
ANNs have been employed in various areas such as computing, medicine,
engineering, economics, and many others. ANNs are composed of a number of
simple computational elements called neurons, organized into a structured graph
topology made out of several consecutive layers and are interconnected through a
series of links, called the synaptic weights. Synaptic weights are often associated
with variable numerical values, which can be adapted so as to allow the ANN to
change its behavior based on the problem being tackled. A simple neuron with a
single R-element input vector is shown in Figure 6.2.1.
P1
W1, 111
o
n
P2
∑
F
...
.
.
PR
b
W1,R11
Figure 6.2.1 Simple neuron
Here the individual element inputs
p1,p2,...,pR
are multiplied by weights
w1,1,w1,2...w1,R
and the weighted values are given as input to the summing junction. Their sum is
simply
Wp,
the
dot
product
of
the
(single
row)
vector p.
6.2.2
ARCHITECTURE OF NEURAL NETWORKS
76
matrix
W
and
the
The Architecture of Neural Networks can be classified into
a.
Feed forward neural network
b.
Feed backward neural network
These network architectures can be either simulated using software or
implemented using hardware.
a.
Feed-forward neural network
Feed-forward ANNs allow signals to travel only in one direction i.e., from
the input to the output. There is no feedback in the feed forward network; i.e., the
output of any layer does not affect that same layer. Feed forward neural network is
shown in Figure 6.2.2. Feed-forward ANNs tend to be straight-forward networks that
associate inputs with outputs. They are widely used in pattern recognition. This type
of organization is also referred to as bottom-up or top-down. Feed forward networks
are static networks in the sense, that given an input value they produce only one set
of output values not a sequence of values. Feed forward networks are memory less
networks in the sense, that the output of a feed forward network is not dependent on
the previous state of the network.
Figure 6.2.2 Feed forward neural network
b.
Feedback neural network
77
Feedback networks can have signals travelling in both directions by
introducing loops in the network. Feed backward neural network is shown in Figure
6.2.3. Feedback networks are very powerful and can get extremely complicated.
Feedback networks are dynamic in the sense, which their state changes
continuously until they reach an equilibrium point. They remain at the equilibrium
point until the input changes and a new equilibrium needs to be found. Feedback
networks are also referred to as interactive or recurrent networks. The term recurrent
is often used to denote feedback connections in single-layer organizations
Figure 6.2.3 Feed backward neural network
6.2.3
LEARNING IN NEURAL NETWORKS
All learning methods used for adaptive neural networks can be classified
into two major categories:
a.
a.
Supervised learning
b.
Unsupervised learning
Supervised learning
In supervised learning, both the inputs and outputs are provided. The
network then processes the inputs and compares the resulting outputs against the
desired outputs. Errors are then propagated back through the system, causing it to
78
adjust the weights, which control the network. This process occurs again and again,
and the weights are continually changed till convergence. The set of data, which
enables the training, is called the "training set." During the training of a network, the
same set of data is processed many times, as the connection weights are ever
refined. An important issue concerning supervised learning is the problem of error
convergence, which is the minimization of error between the desired and the
computed unit values. The aim is to determine a set of weights which minimizes the
error. One well-known method, which is common to many learning paradigms, is the
least mean square (LMS) convergence.
b.
Unsupervised learning
In this type, the network is provided with inputs, but not with the desired
outputs. The system itself must then decide what features it will use to cluster the
input data. This is referred to as self-organization or adaptation. These networks use
no external influences to adjust their weights. Instead, they monitor their
performance internally. These networks look for regularities or trends in the input
signals, and make adaptations according to the function of the network. Even without
being told whether it's right or wrong, the network still must have some information
about how to organize itself. This information is built into the network topology and
learning rules. An unsupervised learning algorithm might emphasize cooperation
among clusters of processing elements. In such a scheme, the clusters would work
together. Examples of unsupervised learning are hebbian learning and competitive
learning.
Human neurons are different from the artificial neurons in that the aspect
of learning concerns the distinction or not of a separate phase, during which the
network is trained, and a subsequent operation phase. We say that a neural network
learns off-line, if the learning phase and the operation phase are distinct. A neural
network learns on-line if it learns and operates at the same time. Usually, supervised
learning is performed off-line, whereas unsupervised learning is performed on-line.
79
6.2.4
TRANSFER FUNCTION
The result of the summation function is transformed into an output
through an algorithmic process, known as the transfer function. In the transfer
function the summation can be compared with some threshold to determine the
neural output. If the sum is greater than the threshold value, the processing element
generates a signal, and if it is less than the threshold, no signal is generated. Both
types of responses are significant. The transfer function is classified into:
a.
a.
linear transfer function
b.
threshold transfer function
c.
sigmoid transfer function
Linear transfer function
For linear units, the output activity is proportional to the total weighted
output. Linear transfer function is shown in Figure 6.2.4.
Figure 6.2.4 Linear transfer function
b.
Threshold transfer function
For threshold units, the outputs are set at one of two levels, depending
on whether the total input is greater than or less than some threshold value.
Threshold transfer function is shown in Figure 6.1.5.
80
y
1
0
T
x
Figure 6.2.5 Threshold transfer function
c.
Sigmoid transfer function
For sigmoid units, the output varies continuously but not linearly as the
input changes. Sigmoid units bear a greater resemblance to real neurons than do
linear or threshold units, but all three must be considered as rough approximations.
Sigmoid transfer function is shown in Figure 6.2.6.
0
1
Figure 6.2.6 sigmoid transfer function
6.3
ASSUMPTIONS USED IN THE MODEL
1.
The forest domain is decomposed into M x N grids of square cells.
81
2.
The forest domain decomposition into 20 x 20 grids of square cells
is shown in Figure 6.3.1
3.
Each cell in the grid contains an anchor sensor node which knows
the location based on integers.
4.
The actor (Robot) is available at cell 1, which is always the start cell
and the cell in which fire occurs is always the goal cell.
5. Once a fire occurs inside a particular cell, it will be detected by the
sensor placed inside the cell first, and the sensor sends a message
containing the coordinates of the cell to the actor. Thus, the actor
knows both the start and goal cells. Then it uses the algorithm
implemented using the neural network to find a path.
1
21
41
61
.
.
.
321
341
361
381
2
22
42
62
.
.
.
322
342
362
382
3
23
43
63
.
.
.
323
343
363
383
4
24
44
64
.
.
.
324
344
364
384
...
...
...
...
.
.
.
...
...
...
...
17
37
57
77
.
.
.
337
357
377
397
18
38
58
78
.
.
.
338
358
378
398
19
39
59
79
.
.
.
339
359
379
399
20
40
60
80
.
.
.
340
360
380
400
Figure 6.3.1 Decomposition of the forest using 20 x 20 grids with coordinates
based on integers
6.
Obstacles are static and the size of the obstacle is similar to the
size of the cell.
82
7.
Two adjacent cells will have obstacles either lengthwise or breadth
wise, but not combined.
8.
Since the actor is available at cell 1, and based on assumptions 6
and 7, only 3 movements are sufficient to navigate the entire
domain. They are (i) UP denoted by 0 (ii) DIAGONAL denoted by 1
and (iii) LEFT denoted by 2, as shown in Figure 6.3.2, where CPA
denotes the Current position/cell of the Actor.
1
0
2
CPAA
Figure 6.3.2 Directional movements of the actor
6.4
PATH PLANNING ALGORITHM
The actor placed in the cell whose location is 1 uses the algorithm shown
below to estimate the sequence of points which does not contain any obstacle. Then,
it will move through these points to reach the goal cell where the fire has occurred
and start to extinguish it. The algorithm is shown below:
6.4.1
Algorithm for estimating the path
Let s be the start position, g be the goal position and n be the number of
cells in a row or column.
location = 0
Store the start position in the first location of the memory path.
while (s not equal to g)
83
{
location =location +1
if ((absolute value (s-g)) mod (n+1) = 0) then
{
if (location s+n+1 contain obstacle) then
{
Check up move cell; i.e., s+n and left move cell s+1
If (both cells do not contain an obstacle or left move cell contains an
obstacle) then
{
s = s+n
}
If (up move cell only contains an obstacle) then
{
s = s +1
}
}
else
{
s = s + n+1
}
}
else if ((absolute value (s-g)) mod n = 0) then
{
if (location s+n contain obstacle) then
{
Check diagonal move cell; i.e., s+n+1 and left move cell s+1
84
If (either cells do not contain obstacle or left move cell contains
an obstacle) then
{
s = s+n+1
}
If (diagonal move cell only contains obstacle) then
{
s = s +1
}
}
else
{
s=s+n
}
}
else
{
if (location s+1 contain obstacle) then
{
Check up move cell; i.e., s+n and diagonal move cell s+n+1
If (both cells do not contain an obstacle or up move cell contain
obstacle) then
{
s = s+n+1
}
85
If (diagonal move cell only contains obstacle) then
{
s=s+n
}
}
else
{
s= s + 1
}
}
Store the point s in location
}
6.4.2
Parallel distributed neural network model:
The parallel distributed neural network model is shown in Figure 6.4.2. It
uses 3 neurons which take two inputs cell s multiplied by the weight and bias and
sums them. It uses reinforcement learning; i.e., the network is designed in such a
way that each time the best next move will be selected out of three possible moves.
The move selected means it is rewarded, and moves not selected mean they are
punished. The weights used in the model are binary weights and takes the value of
either 0 or 1.The weight will be calculated for each neuron separately using the
formula shown below:
w1 =
w2 =
1
if ((abs(s-g)) mod (n+1) = 0)
0
other wise
1
if ((abs(s-g)) mod n = 0)
0
other wise
86
w3 =
1
0
if (((abs(s-g)) mod (n+1)! = 0) && ((abs(s-g)) mod n! = 0))
other wise
abs(x) is a function which takes an integer argument x, which can be either positive
or negative, and returns a positive value of the argument
n+1
∑
W1
s = o, store s
AF1
No
n
W2
s
∑
∑
AF2
O
‘o’ has
obstacle
1
W3
Yes
∑
AF3
Check for next cells
without obstacle and
assign to s. store s
Figure 6.4.2 Parallel distributed neural network model
where
s
-
the starting cell in the first iteration and it is the next
sequence of cells where the actor has to move,
calculated in the next iterations.
g
-
it is the goal cell where the fire has occurred.
n
-
the number of cells in a row or column of the
decomposed forest domain.
w1, w2, w3
-
AF1,AF2,AF3 -
weights connected to the neurons
Activation functions for neurons 1, 2 and 3 respectively
87
o
-
Net output of the Activation functions summed together.
The output of each neuron is calculated as follows:
Output of neuron1 =
Output of neuron2 =
Output of neuron3 =
s+n+1
if w1 = 1
n+1
if w1 = 0
s+n
if w2 = 1
n
if w2 = 0
s+1
if w3 = 1
1
if w3 = 0
The weight will vary from iteration to iteration, due to a change in the
value of s in each iteration. The cell g is always constant, and it is not shown
explicitly in the model.
The model also uses 3 activation functions, which are calculated as
shown below:
AF1 =
s+n+1
0
AF2 =
s+n
0
AF3 =
s+1
0
if output of neuron1 is s+n+1
otherwise
if output of neuron 2 is s+n
otherwise
if output of neuron 3 is s+1
otherwise
Initially the input value s is fed to the neural network. It is assumed that g
is available as an environment variable, as it is constant. The weight will be
calculated for each neuron separately. The output of each neuron is fed as input to
the activation function. The net value of three activation functions decides which
88
move is selected. Then the selected move is tested for the presence of an obstacle.
If there is no obstacle in the cell selected for the next move, then stores the cell
number and assigns the cell number to s. If any obstacle is present in the cell
selected for next move, then the two cells obtained using the remaining two
movements will be checked for obstacles.
If anyone cell is free (definitely one cell will be free because of the
assumptions of the shape of the obstacles) then store the cell number in the memory
and assign the cell number to s. The process is repeated with the new s till the cell
number of s is the same as that of cell g. The actor will use the sequence of cell
numbers stored in the memory to reach the cell where the fire has occurred, and
extinguish it by suitable means once the computation of the path using the cell
numbers is complete.
6.5
Simulation Results
In this work the forest domain is considered as a grid decomposed into m
x n cells based on integer values. The developed model is assumed to work with
single instance of fire occurrence, since for the entire forest domain the assumption
is only one actor is available. The path planning algorithm developed is based on
the parallel distributed neural network model for the actor in order to extinguish fire in
both types of environment, i.e., environments with and without obstacles. The
software java is used for simulation purposes. The algorithm was implemented on a
20 x 20 grid and was executed for 100 times. To test the effectiveness of the
proposed algorithm, the fire is created in various cells by varying start and end
coordinates including all the quadrant regions, horizontal lines and vertical lines. The
number of obstacles is also varied. This is achieved by properly designed test cases.
The test cases are designed in such a way that 123 statements, 6 independent paths
and 1 loop in the program get executed at least once. The actor is represented by a
green square located at the top left corner, the cells containing obstacles are
represented using black color, and the cell where the fire occurs is shown in red, and
a line in red color shows the path planning of the actor to travel and reach the target
area to extinguish the fire. The simulated results are shown in Figures 6.5.1 and
6.5.2
89
Figure 6.5.1 Environment without obstacles
Figure 6.5.2 Environment with Obstacles
90
7. GENETIC ALGORITHM BASED PATH PLANNING
7.1
INTRODUCTION
Genetic algorithms are search algorithms based on the process of
natural selection and natural genetics [147]. They utilize the natural selection of the
fittest individual among a group, for solving the problem in an optimal way.
Optimization is achieved by the swapping of genetic material between parents.
Genetic algorithms are based on the concept that individuals who are fit will live and
the others will die. Genetic Algorithms can be used in all applications where
optimization is needed.
7.1.1
The Steps involved in a Genetic algorithm
Step 1 :
Start
Step 2 :
Encoding of chromosome.
Solution for the problem is termed as the chromosome. Part of the
solution is called the gene. Hence, the chromosome is also called a
collection of genes.
The other name for the chromosome is „individual‟. The solution is coded
in a suitable way. The most preferred one is binary coding.
Step 3 :
Assume the size of the population
Population is a group of individuals. There may be „n‟ number of
solutions to the problem. Out of that take k solutions (k<n) and fix them
as the size of the population.
Step 4 :
Design a Fitness Function
The fitness function can be designed in such a way, that it meets all the
objectives of the problem to be optimized. It is problem specific.
91
Step 5 :
Initialize generation
Let G=1 and consider all the individuals in the population.
Step 6 :
Estimate the fitness value for each Individual; the fitness value is
calculated for each individual using the fitness function designed in
step3.
Step 7 :
Select the individuals based on fitness. Some of the individuals available
in the population are selected, based on fitness by using some of the
available selection methods.
Step 8 :
Obtain the next generation population by
a.
Eliminating the two lowest fitness individuals and duplicating the
two highest fitness Individuals selected, using the selection method,
so that the population size is maintained.
b.
Perform the following operations on this new population in the order
b.1 Cross Over – Exchanging part of the chromosome between
parents
b.2 Mutation – Changing of the gene value by another value in a
chromosome.
b.3 Inversion
–
Interchanging
of
the
gene
values
in
a
chromosome.
Step 9 :
Increment the generation; i.e., Generation G= G+1
Step 10 :
Repeat steps 5, 6, 7 and 8 for the next generation population obtained in
step7 till the convergence condition is met or the generation reaches the
maximum value.
Step 11 :
Decoding of chromosome.
Step 12 :
Stop
92
7.2
MODELING AND REPRESENTATION OF THE FOREST DOMAIN
In this work, the forest domain is divided into square grids or cells. The
cell will contain a sensor placed at the center which will sense the fire if it occurs
inside the cell. The sensor will know the location coordinates based on the first
quadrant. The decomposition of the forest using 5 x 5 grids with coordinates based
on the first quadrant is shown in Figure 7.2.1.It is assumed that the maximum size of
the obstacle is not more than the size of the cell, both in width and length.
4,0
4,1
4,2
4,3
4,4
3,0
3,1
3,2
3,3
3,4
2,0
2,1
2,2
2,3
2,4
1,0
1,1
1,2
1,3
1,4
0,0
0,1
0,2
0,3
0,4
Figure 7.2.1 Decomposition of the forest using 5 x 5 grids with coordinates
based on the first quadrant
The actor is available at the bottom and its coordinates (0, 0) are the
start point and the cell in which the fire occurs is assumed to be the end point. Once
the fire occurs inside a cell, the corresponding sensor will send location coordinates
to the actor. There by the actor knows both the start and the goal positions. Hence
the path has to be found by the actor to reach that cell in order to extinguish the fire.
7.3
PATH PLANNING ALGORITHM
The flow diagram of path planning for the actor is shown in Figure 6.3.1.
Step 1 :
Start
Step 2 :
The path is encoded as a sequence of (via) points between the start and
the goal positions; i.e., (x1, y1) (x2, y2) … (x(L-2),y(L-2)) where L is the
Length of the chromosome
93
Step3
:
Generate a number of chromosomes either by giving direct input
solutions or solutions generated randomly, which form the population of
chromosomes.
Step 4 :
Let Generation G=1
Step 5 :
a.
Check for a chromosome in the population
If (generated sequence of points for a chromosome is not in xmonotonic order) then
Perform bubble sort for the sequence of points by considering the x
values alone.
Here we make use of the inversion operator only when two
successive points in a chromosome are not in x-monotonic order.
end
b.
Step 6 :
Repeat the step „a‟ for all chromosomes in the population
Calculate the value of each individual based on the fitness function,
which is a measure of the distance, and the presence or absence of an
obstacle. While calculating the fitness, also check whether any via point
contains an obstacle.
If it contains an obstacle it is changed to negative points.
Step7 :
Sort the individuals in the increasing order of fitness
Step 8 :
Select the first two individuals, reproduce them, and delete the last two
individuals so that the population size of the chromosomes is maintained
constant.
94
Generate Initial Population of Individuals
Generation G = 1
Perform Inversion only if required
Evaluate each individual based on fitness
Sort the individuals in the increasing order of fitness
Select first two individuals
Delete last two individuals
Reproduce two selected individuals
Perform Mutation only if required
Perform Crossover
Increment Generation G = G+1
N
G > 25
Y
Find and Print Optimal Solution
Figure 7.3.1 Flow diagram of path planning
Step 9 :
Perform the mutation operation only if the chromosome contains any
negative point. The operation of mutation will change the negative point
95
into positive point, and increment the y coordinate value in order to
deviate from the obstacle.
Step 10 :
Perform the operation crossover
Step 11 :
Increment the generation; i.e., G=G+1
Step 12 :
if (G < 25) then go to step5 else go to step13.
Step 13 :
Stop.
7.4
TERMINOLOGIES
7.4.1
Encoding of chromosome
In this work, the path is considered as a chromosome. A path can be
considered as a sequence of points between the starting point and the ending point.
The sequence of points between the start and the end points are called the viapoints. Since there are many paths between the start and the end points, the number
of via-points will vary for different paths. Hence, the chromosome can be variable in
length or it can be fixed. In this work, fixed length chromosome is used. The reason
for the fixed length chromosome is that the forest domain is decomposed into m x n
square grids/Cells. The length of the chromosome is usually taken as L = the number
of cells in a row or the number of cells in a column, whichever is greater. Usually, the
start and end points are not included in the encoding part of the chromosome. Also,
we have used the integer coding of the chromosome rather than binary coding,
which is considered to be more efficient. The via points are coded as genes.
Therefore, the chromosome can be coded as shown below:
(x1, y1), (x2, y2)… (x (L-2), y (L-2))
where
xi, yi – coordinates of the via point
L – Length of the chromosome
7.4.2
Fitness function
96
(1)
In order to extinguish forest fires quickly, the following must be taken into
consideration
a.
The distance between the start and goal positions must be
minimized.
b.
The robot/Actor should avoid collision with obstacles
The fitness function used in this work is given by
F= D + ON
Where
(2)
D = distance of path
ON= Number of obstacles along the path
7.4.3
Calculating the distance of the path for an individual
Let us consider that d1 is the distance between the start point and the
first via point.d2 is the distance between the first via point and the second via
point.d3 is the distance between the second via point and the third via point. dn is
the distance between the last via point and the goal point.
Therefore D = d1 + d2 + d3 + … + dn
(3)
Equation (3) is calculated for all Individuals.
where di is calculated as follows:
di = sqrt (sqr(x (i+1) – xi) + sqr(y (i+1) – yi))
(4)
where
sqrt – is a function which will return the square root of a value taken as
an argument
sqr – is a function which will return the square of a value taken as an
argument
7.4.4
Calculating the number of obstacles
97
In this work, we have used global path planning; i.e., information about
the environment is known a prior. The location of an obstacle in a particular cell is
already known. This can be simulated in the program, by having a two dimensional
obstacle array, which contains a value of 1 if that particular coordinate of cell has an
obstacle; otherwise, the value is 0.
Let us assume (x1, y1) (x2, y2)… (xn, yn) are the via points of a path. Then
ON = ∑ O [xi, yi]
for i = 1 to n
(5)
where O [xi, yi] is a two dimensional array which will hold a value of 1 for the
presence of the obstacle and a value of 0 for the absence of one. This ON is added
to fitness value of that individual. Also when (x1, y1) contains an obstacle it is
changed to (-x1,-y1).
7.4.5
Selection of parents for mating
Consider a population of K individuals with L as the Length of the
individual. Calculate the fitness value for each individual. Based on their fitness, two
individuals with high fitness are selected and reproduced. The two individuals with
the lowest fitness values are deleted. So, the population size is maintained the
same. The selection of Individuals with high fitness is done by:
1.
Ranking the individuals in the population in the increasing order
2.
Selecting the first two individuals, reproducing them, and deleting
the last two individuals.
7.4.6
Inversion operator
The Inversion operator is used to interchange the genes of the
chromosome in the genetic algorithm. In this work the inversion operator is applied
as the first step in each generation, in order to make sure that the genes in the
individual are in the x- monotonic increasing order; i.e., if the robot is moving
forward, and one via point changes its direction opposite to the goal or end point,
then it will increase unnecessarily the length of the path. In order to avoid this, each
and every chromosome will be checked as to whether the via points are in the x98
monotonic order. The check is done by using the bubble sort technique to make sure
that the sequence of the via points is in the x-monotonic increasing order. Here, the
inversion operator is applied if the two successive genes are not in the x-monotonic
order. The above process is repeated till all the individuals in the generation are in
order.
7.4.7
Mutation operator
The mutation operator is used to change the value of a particular gene of
the chromosome in the genetic algorithm. In this work the mutation operator is
applied to check the individual to see if any gene of the chromosome contains an
obstacle; i.e., the mutation operator will check for a negative via point. If there is any
negative via point then it will make it into a positive point, and just add one value to
the y-coordinate, in order to deviate from the via point which contains the obstacle.
7.4.8
Cross over operator
The cross over operator is used to exchange some of the genes between
the two different chromosomes in the genetic algorithm. In this work the cross over
operator is applied by randomly taking a position between the first via point and the
last via point, both inclusive, and then from that position onwards exchange of genes
takes place till the last via point between two chromosomes. This position is
calculated using a random number generation technique between 1 and the number
of via points.
7.4.9
Finding an optimal solution
An optimal solution is found when the program terminates, either by
achieving the convergence condition or when the number of generations reaches a
maximum value. In this work, the convergence condition is when the individuals
obtained in the current generation have the same fitness value as those in the
previous generation. The number of generations can be calculated using the formula
NG = L * NC
(8)
where
99
NG – Number of generations,
L – Length of the individual/chromosome,
NC - Number of individuals/chromosomes.
In this work, NG= 25, and L=5, including both the start and end points,
NC=5.
7.4.10
Remove operator
In this work, new operator called the Remove operator has been
introduced which is applied only after finding an optimal solution. If there are two or
more via points repeated in the optimal solution, only one via point is retained and
the others are removed to eliminate duplication of the via points.
7.5
SIMULATION RESULTS
The path finding of the actor to extinguish the fire using the genetic
algorithm is implemented in „C++‟ Language. Algorithm is implemented on 5 x 5 grids
because in [122] the 5 x 5 grid is used to explain the concepts. Further if we keep the
size as small as possible we can explore the solution space thoroughly in order to
validate the working of developed algorithm. The cells of the 5x5 grid are
represented using the coordinates of the first quadrant. The presence of an obstacle
in a particular cell is indicated by specifying a value 1 for the corresponding x and y
coordinates of the cell in the obstacle array. The program will accept the start and
end points from the user. The via points generation is carried out by (i) giving the
chromosomes directly as the input which will form a solution (ii) randomly generating
the input chromosomes. The algorithm is tested for 25 generations and placing an
obstacle in the path. In both cases, paths are produced which are free from the
obstacle, after the application of the algorithm. In general we can vary the grid size,
length of the chromosome, and the number of generations. The chromosomes
generated randomly produced paths of minimal length, when compared to
chromosomes generated directly from solutions. The generated minimal path, in turn
is used by the actor to extinguish the forest fire. The results are shown below and the
graphs are drawn, using the MS-office Package.
100
7.5.1
Input chromosomes directly given, not generated randomly
Enter Start and Goal Points between (0, 0) to (4, 4)
Enter Start Point: 0 0
Enter Goal Point: 4 1
Enter obstacle positions 1 for presence 0 for absence:
0000000000000000100000000
Enter initial chromosomes:
011131
112132
103031
102030
112132
Initial population of chromosomes including the start and goal positions
----------------------------------------------------------------------------------0, 0 0, 1 1, 1 3, 1 4, 1
0, 0 1, 1 2, 1 3, 2 4, 1
0, 0 1, 0 3, 0 3, 1 4, 1
0, 0 1, 0 2, 0 3, 0 4, 1
0, 0 1, 1 2, 1 3, 2 4, 1
101
Figure 7.5.1 Graph for the path which passes through an obstacle (direct input)
Chromosomes after 25 generations (with path length)
-----------------------------------------------------------------0, 0 1, 0 2, 0 3, 0 4, 1
4.414214
0, 0 1, 0 2, 0 3, 0 4, 1
4.414214
0, 0 1, 0 2, 0 3, 0 4, 1
4.414214
0, 0 1, 0 2, 0 3, 0 4, 1
4.414214
0, 0 1, 0 2, 0 3, 0 4, 1
4.414214
Minimal (ptimal) path chromosome after applying the Remove operator
-------------------------------------------------------------------------------------0, 0 1, 0 2, 0 3, 0 4, 1
4.414214
Horizontal axis - y coordinate
Vertical axis – x coordinate
In the above graph the start position is (0, 0) and the goal position is (4, 1)
Path1 consists of a sequence of intermediate points :
(0, 1) (1, 1) (3, 1)
Path2 consists of a sequence of intermediate points :
(1, 1) (2, 1) (3, 2)
Path3 consists of a sequence of intermediate points :
(1, 0) (3, 0) (3, 1)
Path4 consists of a sequence of intermediate points :
(1, 0) (2, 0) (3, 0)
Path5 consists of a sequence of intermediate points :
(1, 1) (2, 1) (3, 2)
102
Figure 7.5.2 Graph for optimal path not passing through obstacle (direct input)
After executing the genetic algorithm for 25 generations, the optimal path
is found out.
The optimal path consists of a sequence of intermediate points
(0,0) (1,0) (2,0) (3,0) (4,1)
7.5.2
Input chromosomes generated randomly:
Enter Start and Goal Points between (0,0) to (4,4)
Enter Start Point: 0 0
Enter Goal Point: 1 1
Enter obstacle positions 1 for presence 0 for absence:
0000000000000000100000000
Initial chromosomes are generated randomly
Initial population of chromosomes including the start and goal positions
-----------------------------------------------------------------------------------0, 0 1, 0 2, 0 1, 2 4, 1
0, 0 0, 0 3, 1 4, 3 4, 1
0, 0 1, 4 2, 0 2, 1 4, 1
0, 0 3, 2 4, 1 0, 0 4, 1
0, 0 4, 4 2, 1 4, 1 4, 1
Chromosomes after 25 generations (with path length)
-----------------------------------------------------------------0, 0 1, 0 2, 0 2, 0 4, 1
3.414214
0, 0 1, 0 2, 0 2, 0 4, 1
3.414214
0, 0 1, 0 2, 0 2, 0 4, 1
3.414214
0, 0 1, 0 2, 0 2, 0 4, 1
3.414214
103
0, 0 1, 0 2, 0 2, 0 4, 1
3.414214
Figure 7.5.3 Graph for the path which passes through obstacle
(random input)
Minimal (Optimal) path chromosome after applying the Remove operator
-------------------------------------------------------------------------------------0, 0 1, 0 2, 0 4, 1
3.414214
Horizontal axis - y coordinate
Vertical axis – x coordinate
In the above graph the start position is (0, 0) and the goal
position is (4, 1)
Path1 consists of a sequence of intermediate points
(0, 1) (1, 1) (3, 1)
Path2 consists of a sequence of intermediate points
(1, 1) (2, 1) (3, 2)
Path3 consists of a sequence of intermediate points
(1, 0) (3, 0) (3, 1)
Path4 consists of a sequence of intermediate points
(1, 0) (2, 0) (3, 0)
Path5 consists of a sequence of intermediate points
104
(1, 1) (2, 1) (3, 2)
Figure 7.5.4 Graph for the optimal path not passing through obstacle
(random input)
After executing the genetic algorithm for 25 generations, the optimal path
is found out.
The optimal path consists of a sequence of intermediate points
(0,0) (1,0) (2,0) (4,1)
7.6
Discussion
In this chapter, a path planning algorithm for a mobile actor to extinguish
forest fire using genetic algorithm is presented. The fixed length chromosome has
been used and the experiment has been carried out by generating chromosomes (i)
directly (as inputs) and (ii) randomly, and providing obstacles along the path. In both
cases, a path is produced which is free from an obstacle after the application of the
algorithm. The chromosomes generated randomly produced paths of minimal length,
when compared to those generated directly from solutions. Domain specific genetic
algorithm operators and a new operator REMOVE has been used only to find the
optimal solution to eliminate the duplicate via points, all of which are helpful and
produced the minimal path. In this work, simple selection process of sorting the
105
individuals based on fitness and then selecting two individuals which maximize the
fitness function, which will be considered for next generation, is used.
106
8. LINE BASED PATH PLANNING
8.1
INTRODUCTION
In previous chapters path planning algorithms such as trigonometry based path
planning algorithm, direction based path planning algorithm were developed which
belongs to the category of conventional or traditional path planning methods. In
trigonometry based path planning algorithm the path is calculated using two point
formula and arc tan formula and actor uses the path to extinguish fire. In direction
based path planning the path is calculated as sequence of incremental moves based
on difference between start and end points. In neural network based path planning
algorithm next cell is calculated by training the network by adjusting the weights and
proper designing of activation functions in a suitable way. In genetic algorithm a path
planning algorithm which uses four operators‟ crossover, mutation, inversion and
remove is developed. The difference between the previous algorithms and genetic
algorithm is sequence of moves is calculated incrementally and in genetic algorithm
the path is calculated in one stretch. In this work an algorithm based on equation of
straight line which uses two points is presented. Then the intermediate points are
found out using this equation by varying the starting point coordinates in increment of
one. The sequence of intermediate points found out by this method need not be
incremental. This is the basic difference between other methods. To make it
incremental points they are subjected to integrity check.
8.2
MODELING AND REPRESENTATION OF THE FOREST DOMAIN
1.
The forest domain is tessellated into n x n square grids or cells.
2.
The anchor sensor is deployed at the center of the each cell.
3.
Each sensor is assumed to know its location coordinates based on
the first quadrant.
4.
The decomposition of the forest using 10 x 10 grids with
coordinates based on the first quadrant is shown in Figure 8.2.1.
107
0,9
1,9
2,9
3,9
4,9
5,9
6,9
7,9
8,9
9,9
0,8
1,8
2,8
3,8
4,8
5,8
6,8
7,8
8,8
9,8
0,7
1,7
2,7
3,7
4,7
5,7
6,7
7,7
8,7
9,7
0,6
1,6
2,6
3,6
4,6
5,6
6,6
7,6
8,6
9,6
0,5
1,5
2,5
3,5
4,5
5,5
6,5
7,5
8,5
9,5
0,4
1,4
2,4
3,4
4,4
5,4
6,4
7,4
8,4
9,4
0,3
1,3
2,3
3,3
4,3
5,3
6,3
7,3
8,3
9,3
0,2
1,2
2,2
3,2
4,2
5,2
6,2
7,2
8,2
9,2
0,1
1,1
2,1
3,1
4,1
5,1
6,1
7,1
8,1
9,1
0,0
1,0
2,0
3,0
4,0
5,0
6,0
7,0
8,0
9,0
Figure 8.2.1 Decomposition of the forest using 10 x 10 grids with coordinates
based on the first quadrant
5.
The actor is available at the bottom and its coordinates (0, 0) are
the start point.
6.
The cell in which the fire occurs is assumed to be the goal point.
7.
The size of the obstacle is the maximum size of one cell.
8.
Two obstacles are allowed consecutively, either length wise or
breadth wise, but not both.
9.
Once the fire occurs inside a cell the corresponding sensor will
send the location coordinates to the actor. There by the actor
knows both the start and goal positions. Hence, the path has to be
found by the actor to reach that cell in order to extinguish the fire.
10.
8.3
Initially the actor is assumed to face towards the east
PATH PLANNING ALGORITHM TO EXTINGUISH FIRES
The path for the actor to extinguish forest fires is computed in two
phases. In the first phase, the sequence of the intermediate cells through which the
actor can navigate is computed, using the equation of the straight line and the
locations of the cells are stored in memory. In the second phase, the presence of the
108
obstacle in the intermediate cells is checked, and if there are obstacles then
alternative cells without obstacles are computed and replaced, by the cell location in
the memory. After the completion of these two phases the cell locations available in
the memory are free from obstacles, and are used by the actor for making moves to
reach the cell where the fire occurred, and then the actor starts to extinguish the fire.
In this chapter, the work done in [148] is modified and presented. Also, the multi
point robot is considered in this work. The algorithm for the two phases is shown
below
8.3.1
Computing intermediate cells
Let (x1, y1) be the coordinates of the cell where the actor is located, and
(x2, y2) are the coordinates of the cell where the fire has occurred. Then the
sequences of the intermediate cells are calculated, based on the three cases as
mentioned below
Case (i)
: when x1 = x2
a. When x1 is equal to x2 and y1 < y2 then simply increment the value
of y1 till it reaches the value of y2.
i=1
Store x1, y1 in i th location of the memory
while (x1 = x2 and y1 < y2)
i=i+1
y1=y1+1
Store x1, y2 in i th location of memory
b. When x1 is equal to x2 and y1 > y2 then simply decrement the
value of y1 till it reaches the value of y2.
i=1
Store x1, y1 in i th location of the memory
while (x1 = x2 and y1 < y2)
i=i+1
109
y1=y1-1
Store x1, y2 in i th location of memory
Case (ii)
: when x1 < x2
When x1 is less than x2 then the sequence of the intermediate points is
computed, using the straight line equation passing through the two
points, which is calculated using the formula
Then after simplification of equation 9 by substituting the values of (x1,
y1) and (x2, y2) we will get an equation of the form
where m and c are constant values.
Then, keeping the base value of x = x1 and substituting in equation 10
we can find the corresponding y-point. This will form one intermediate
point. The process is repeated by incrementing the value of x1,
assigning it to x and finding the corresponding y values until the
incremented value of x1 is the same as x2. Immediately after the
calculation of the intermediate point, it will be stored in the memory.
i=1
Store x1, y1 in the i th location of the memory
while (x1 is less than x2)
x=x1
Substitute the value of x in equation 2 and find the corresponding y
value
Round the value of y.
i=i + 1
Store the (x, y) coordinates in the i th Location of the memory
x1=x1+1
110
End while
Case (iii)
: when x1 > x2
The algorithm is almost same as case (ii) except that the value of x1 is
decremented each time.
i=1
Store x1, y1 in the i th location of the memory
while (x1 is less than x2)
x=x1
Substitute the value of x in equation 2 and find the corresponding y
value
Round the value of y.
i=i + 1
Store the (x, y) coordinates in the i th Location of the memory
x1=x1-1
End while
8.3.2
Computing alternate cells for obstacle cells
Location =2
While (location! = (goal location – 1))
Begin
Read x and y coordinates from the location
If the ((x, y) contains obstacle) then
Begin
If up cell (x, y) is free from obstacle then
Replace x, y value by up cell x, y value in the memory
else
Replace x, y value by right cell x, y value in the memory
111
end if
End
End if
Location = Location +1
End
End while
8.3.3
Integrity check
After calculating the sequences of Intermediate points a check is made
to make sure that two successive intermediate points are incremental points; i.e.,
whether the next point can be reached in one move. This can be performed by
checking the truth value of the logically connected „and‟ condition of (((x2-x1) <=1)
and ((y2-y1) <=1)). If the condition is true they are incremental points; otherwise they
are not. If the points are not incremental a call is made to the algorithm, which finds
the sequence of the intermediate points. The process is repeated till the points found
out are the sequence of intermediate points. It is also guaranteed that call to the
algorithm will not going into infinite loop.
8.3.4
Computing the change in the direction of movements of a robot
After performing the integrity check the actor (robot) has to start from the
source cell where it is available, and move through these intermediate cells to reach
the goal cell where the fire has occurred, and start extinguishing it. Initially, the actor
is facing towards the east. The actor has to make necessary changes in the direction
of movements, while moving from one cell to another cell.
NW
N
W
Current position
E
SW
S
SE
112
NE
Figure 8.3.4 possible directions the actor can move in
The direction in which an actor can move from current cell to another cell
is based on the 8-point Neighborhood as shown in the Figure 8.3.4. The direction the
actor has to move in is determined using the value. The values and the
corresponding directions are shown below in Figure 8.3.5. The Change in the
direction of movements from one cell to another is calculated as follows:
First take the first cell and the next cell locations from memory. Let them
be (x1, y1) and (x2, y2). Initialize the facing number of the actor to be 1.Using the
next cell number where the robot has to make a move, and the facing cell number
(i.e. the direction, which currently the robot is facing), the angle to be made by the
actor is calculated. The algorithm for calculating the next cell number is shown below
If ((x2- x1) = 0 and (y2-y1) >0) then
nextcellno = 1
If ((x2- x1) > 0 and (y2-y1) >0) then
nextcellno = 2
If ((x2- x1) > 0 and (y2-y1) =0) then
nextcellno = 3
If ((x2- x1) > 0 and (y2-y1) < 0) then
nextcellno = 4
If ((x2- x1) = 0 and (y2-y1) < 0) then
nextcellno = 5
If ((x2- x1) < 0 and (y2-y1) < 0) then
nextcellno = 6
If ((x2- x1) < 0 and (y2-y1) =0) then
nextcellno = 7
If ((x2- x1) < 0 and (y2-y1) >0) then
nextcellno = 8
113
Value
Direction in which actor has to move
1
E-East
2
NE-North East
3
N-North
4
NW-North West
5
W-West
6
SW-South West
7
S-South
8
SE-South East
Figure 8.3.5 Direction actor will move based on value
Once the next cell number is calculated, the angle to be made by the
actor is calculated using the formula given below
Angle = (c – f) * 45
where
(11)
c – Target cell number
f- Current facing of the robot
When the value of the angle is positive the robot has to rotate itself in the
anticlockwise direction, and when it is negative it has to rotate itself in a clockwise
direction, by the specified angle value. Once the angle is calculated and the robot
reaches the next cell the facing number is changed.
The angle which the actor has to make is shown below
Cell no /Facing no
1
2
3
4
5
6
7
8
1
0
-45
-90
-135
-180
-225
-270
-315
2
45
0
-45
-90
-135
-180
-225
-270
3
90
45
0
-45
-90
-135
-180
-225
4
135
90
45
0
-45
-90
-135
-180
5
180
135
90
45
0
-45
-90
-135
6
225
180 135
90
45
0
-45
-90
7
270
225 180
135
90
45
0
-45
114
8
315
270 225
180
135
90
45
0
Figure 8.3.6 Angle the actor has to rotate at
8.4
SIMULATION RESULTS
In this work, the forest domain is considered as a grid, decomposed into
m x n cells based on the coordinates of first quadrant. The developed model is
assumed to work with single instance of fire occurrence, since the assumption is only
one actor is available for the entire forest domain. The path planning algorithm for
the actor is formulated based on the equation of the straight line obtained using the
two points (start and goal points) in order to extinguish the fire in both types of
environment; i.e., environment with and without obstacles. We have used MATLAB
for the simulation purposes. The algorithm was implemented on a 10 x 10 grid and
was executed for 75 times. To test the effectiveness of the proposed algorithm, the
fire is created in various cells by varying start and end coordinates including all the
quadrant regions, horizontal lines and vertical lines. The number of obstacles is also
varied. This is achieved by properly designed test cases. The test cases are
designed in such a way that 148 statements, 20 independent paths and 6 loops in
the program get executed at least once.The robot is represented by a green square,
the cells containing obstacles are represented using black color circles, the cell
where fire occurs is shown in a red color circle, and the sequence of diamonds in
green color shows the path planning of the actor to travel and reach the target area
to extinguish the fire. In all the cases, the path is created using the algorithm without
any collision with the obstacle, if the path exists and the actor travels through the
path to extinguish the fire. The simulated results are shown in Figures 8.4.1, 8.4.2,
8.4.3, 8.4.4, 8.4.5 and 8.4.6
Case (i) :
x1=x2
115
Figure 8.4.1 Path planning for environment without obstacles when x1=x2
Figure 8.4.2 Path planning for environment with obstacles when x1=x2
Case (ii) :
x1 < x2
116
Figure 8.4.3 Path planning for environment with obstacles when x1<x2
Figure 8.4.4 Path planning for environment without obstacles when x1<x2
Case (iii) :
x1 > x2
117
Figure 8.4.5 Path planning for environment without obstacles when x1>x2
Figure 8.4.6 Path planning for environment with obstacles when x1>x2
8.5
Discussion
118
In this chapter, a straight line equation based path planning algorithm for
the actor to move to the target cell, where the fire occurred and starts to extinguish it
is presented. It is assumed that the robot can move in all directions based on the 8point neighborhood. Since the robot can move in all 8-directions, an algorithm for
robot to perform rotation in order to move to the next cell from the current cell is
given. Since the intermediate points are found out by using the straight line equation,
an integrity check is performed to make sure that the moves are incremental moves.
This simulation will work for any number of obstacles placed in any position. In this
work, only static obstacles are considered.
119
9. PATH PLANNING USING ANT COLONY OPTIMIZATION
9.1
INTRODUCTION
The Ant Colony Optimization algorithm is a Meta heuristic approach
inspired by the behavior of ants in the real world. It is an optimization technique
based on swarm intelligence [121]. An algorithm which uses the collective behavior
of ant for finding foods through the shortest path is developed.
9.2
ANT COLONY OPTIMIZATION ALGORITHM
In computer
science and operations
research,
the ant
colony
optimization algorithm (ACO) is a probabilistic technique for solving computational
problems which can be reduced to finding good paths through graphs. An ant is a
computational agent, which iteratively constructs a solution for a given problem.
During each iteration each ant will move from one state x to another state y. The
movement is influenced by two strategies (i) attractiveness of the move denoted by
ηxy which is calculated by heuristics, indicating the prior desirability of the move and
(ii) the trail level of the move τxy which indicates posterior desirability of that move.
The „m‟ th ant‟s move from state x to state y is given by the probability
Pmxy = (τxy)α. (ηxy) β / ∑ (τxy)α. (ηxy) β
where τxy is the amount of pheromone deposited for a state transition from x to y, α ≥
0 is a parameter which controls the influence of τxy, and ηxy is the desirability of state
transition from x to y, β ≤ 1 is a parameter to control the influence of η xy .When all the
ants complete the solution, the trails are updated as follows :
(τxy)k = (1- ρ) (τxy)k + Δ (τxy)k.
where ρ is the pheromone evaporation coefficient and
Δ
(τxy)k is the amount of
pheromone deposited.
By moving each ant incrementally, a solution can be constructed to the
problem. The ACO system contains two rules:
120
1.
Local pheromone update rule, which is applied while constructing
solutions.
2.
Global pheromone updating rule, which is applied after all the ants
construct a solution.
Furthermore, an ACO algorithm includes two more mechanisms: trail
evaporation and, optionally, daemon actions. Trail evaporation decreases all trail
values over time, in order to avoid unlimited accumulation of trails over some
component. Daemon actions can be used to implement centralized actions which
cannot be performed by single ants, such as the invocation of a local optimization
procedure, or the update of global information to be used to decide whether to bias
the search process from a non-local perspective .At each step, each ant computes a
set of feasible expansions to its current state, and moves to one of these in
probability. The probability distribution is specified as follows. For ant k, the
probability of moving from state a to state b depends on the combination of two
values. The attractiveness of the move, is computed by some heuristic indicating the
prior desirability of that move .The trail level of the move, indicates how proficient it
has been in the past to make that particular move.
Some of the variants of the ACO are given below:
Elitist ant system (EAS)
The global best solution deposits pheromone at every iteration along with
all the other ants.
Max-Min ant system (MMAS)
Only the global best or the iteration best tour of an ant is allowed to
deposit pheromone. The maximum and minimum pheromone amounts [τmax,τmin] are
added explicitly. The maximum and minimum pheromone limits are chosen
depending on the type of the problem. All edges are initialized to τ max and
reinitialized to τmax when nearing stagnation in order to alleviate it.
121
Ant Colony System (ACS)
Initially m ants are positioned on n cities, chosen according to some
initialization rule. Each ant builds a tour by repeatedly applying a state transition
rule. While constructing its tour, an ant also modifies the amount of pheromone on
the visited edges by applying the local updating rule. Once all ants have terminated
their tour, the amount of pheromone on the edges is modified again (by applying the
global updating rule). The ants are guided, in building their tours, by both heuristic
and pheromone information.
Rank-based ant system (ASrank)
All solutions are ranked according to their length. The amount of
pheromone deposited is then weighted for each solution, such that solutions with
shorter paths deposit more pheromone than the solutions with longer paths.
Continuous orthogonal ant colony (COAC)
The pheromone deposit mechanism of the COAC is to enable ants to
search for solutions collaboratively and effectively. By using an orthogonal design
method, ants in the feasible domain can explore their chosen regions rapidly and
efficiently, with enhanced global search capability and accuracy. The orthogonal
design method and the adaptive radius adjustment method can also be extended to
other optimization algorithms, for delivering wider advantages in solving practical
problems on two parameters, called trails and attractiveness.
9.3
ASSUMPTIONS USED IN THE MODEL
1.
The forest domain is decomposed into M x N grid of square cells.
2.
Each cell in the grid contains an anchor sensor node which knows
the location based on the coordinates of the first quadrant.
3.
The forest domain decomposition for 5 x 5 coordinates is shown in
Figure 9.3.1.
4,0
4,1
4,2
122
4,3
4,4
3,0
3,1
3,2
3,3
3,4
2,0
2,1
2,2
2,3
2,4
1,0
1,1
1,2
1,3
1,4
0,0
0,1
0,2
0,3
0,4
Figure 9.3.1 Decomposition of the forest using 5 x 5 grids with coordinates
based on the first quadrant
4.
The actor (robot) is available at the position 0, 0, which is always
the start position and the cell in which the fire occurs is always the
goal position.
5.
Once a fire occurs inside a particular cell, it will be detected by the
sensor placed inside the cell first and the sensor sends a message
containing the coordinates of the cell to the actor. Thus the actor
knows both the start and the goal positions.
It uses the algorithm to find the path.
6.
Obstacles are static and the size of the obstacle is similar to the
size of the cell.
2
1
0
CPA A
Figure 9.3.2 Directional movements of the actor
7.
Two adjacent cells (in all the eight directions) will not have
obstacles.
8.
Since the coordinates are based on the first quadrant and the actor
is available at the location 0, 0 and based on assumption 6, only 3
movements are sufficient to navigate the entire domain. They are (i)
UP denoted by 2 (ii) RIGHT denoted by 0 and (iii) DIAGONAL
denoted by 1 as shown in figure 9.3.2, where CPA denotes the
current position of the actor.
123
9.
Obstacles can be rectangles in lengthwise and breadth wise or
square; i.e., an obstacle can at the maximum be in one cell or in
two adjacent cells.
9.4.
PATH PLANNING ALGORITHM
This algorithm uses the value of α =1 and β = 1. The original calculations
of the ant colony algorithms are modified in such a way, that they suit the path
planning of the actor to extinguish the forest fire. The algorithm uses three
computational agents called ants, since only 3 movements are used to navigate the
entire domain. Initially the ants are placed in three directional movements UP,
DIAGONAL AND RIGHT from the origin, and after one iteration, the ants will be
placed randomly. The algorithm is given below:
Step 1 :
Initialization of Pheromone
For every cell x do
τx (0) = constant
End For
Step 2 :
Initialization of Ants
Place 3 Ants, one in each of the 3-directional movements UP,
DIAGONAL and RIGHT from origin.
Step 3 :
iteration = 0
Step 4 :
For k= 1 to 3 do
x = Current cell of ant k
Repeat
a.
Compute the next move for all 3-directional movements using the
probability
Pkxy = τy . ηyg / ∑for all 3-directional movements from x τy . ηyg
(Where
Pkxy is the probability of selecting the cell y from cell x for the Ant k.
124
τy is the amount of pheromone deposited in the cell y.
ηyg is the heuristic calculated as the inverse of the Euclidean
distance from cell y to cell g)
b.
Check which probability value of y is high. Then select that cell.
c.
Assign that cell to x. i.e. x = cell y
d.
store the new cell coordinates in memory for ant k
Until (x = goal cell)
End For
Step 5 :
For all cells x in the grid update the cell by adding the pheromone value.
i.e. τx = τx + (1 / No. of Ants)
= 0,
Step 6 :
if τx ≠ 0
otherwise
Decrease the Pheromone in all cells using the decay constant ρ where
ρ = 1 / No. of cells without obstacles in the grid.
i.e τx = τx - ρ
Step 7 :
Increment iteration by one
Step 8 :
If (iteration = user defined max value) Then
Go to Step9
else
a. Generate random positions for 3-Ants from the origin based on
3-directional movements.
b. Go to Step4
end
Step 9 :
Compute the number of moves required for each ant to reach the goal
point from the start point. Let it be Nk for each ant k
Step 10 :
Check for the ant which moved to the goal point with the least number of
moves
If (one ant m has the least no. of moves) then
125
Declare the path of m as the shortest for the actor to navigate
else if (more than one ant m1, m2… mn have least no. of
moves) then
Compute the number of changes in the direction of movement for
ant
m1, m2… mn to reach the goal point for paths having the least no.
of moves.
The path for the ant having the least no. of changes in the
direction of movement is taken as the shortest path for the actor
to
navigate.
If (more than one ant is having the least no. of changes in
the direction of movement) then
Randomly any one path can be chosen by the actor for
Navigation
end
end
end
9.5
SIMULATION RESULTS
The path finding of the Actor to extinguish the fire using Ant Colony
Optimization is implemented in „C++‟ Language. The algorithm was implemented on
a 5 x 5 grid. The user defined limit for number of iterations is kept as 50. To test the
effectiveness of the proposed algorithm, the fire is created in various cells by varying
start and end coordinates including all the quadrant regions, horizontal lines and
vertical lines. The number of obstacles is also varied. This is achieved by properly
designed test cases. The test cases are designed in such a way that 128
statements, 10 independent paths and 5 loops in the program get executed at least
once. The cells of 5x5 grids are represented using the coordinates of the first
quadrant. The presence of the obstacle in a particular cell is indicated by 1.In this 3
ants are used. They are assumed to move up, diagonal and left of the origin cell.
Then, using the pheromone in the cell and the Euclidean distance of three adjacent
126
cells (up, diagonal and right) the next cell is computed. The process is repeated till
the next cell is the same as the goal cell. In each step the computed next cell is
stored in the memory, which forms the path. The generated path, in turn, is used by
the actor to extinguish the forest fire. The results are shown below and graphs are
drawn using the MS-office Package.
9.5.1
Execution for an environment without obstacle
Enter the starting coordinate
1
1
Enter the goal coordinate
4
4
Enter the number of cells with obstacles
0
The sequence of coordinates which makes up the path
1
1
2
2
3
3
4
4
127
Figure 9.5.1 Graph showing the path generated for environment without
obstacles
9.5.2
Execution for an environment with obstacle
Enter the starting coordinate
1
1
Enter the goal coordinate
4
4
Enter the number of cells with obstacles
1
Enter the coordinate for the cell with obstacle
3
3
The sequence of coordinates which makes up the path
128
1
1
2
2
2
3
3
4
Figure 9.5.2 Graph showing the path generated for environment with obstacles
9.6
DISCUSSION
In this chapter, an ant colony optimization based path planning algorithm
is presented to extinguish the forest fire. Only, three computational agents called
ants have been used. The ants can move in three directions, up, right and diagonal
based on the assumption that no two obstacles collide each other, and the size of
the obstacle can be a maximum of two cells, available lengthwise or breadth wise.
This is also an incremental kind of path planning, because in one step the actor will
move to one of the three adjacent cells, based on the pheromone deposited in each
of the adjacent cells and the Euclidean distance of the adjacent cells. This simulation
will work for any number of obstacles placed in any position. But, because of space
constraints only limited simulation results have been shown.
129
130
10. COMPARING PERFORMANCE WITH THE A* ALGORITHM
10.1
A* ALGORITHM
The A* algorithm combines the features of uniform-cost search and pure
heuristic search to efficiently compute optimal solutions. The A* algorithm is a bestfirst search algorithm in which the cost associated with a node is f(n) = g(n) + h(n),
where g(n) is the cost of the path from the initial state to the node n and h(n) is the
heuristic estimate or the cost of a path from the node n to a goal. Thus, f(n)
estimates the lowest total cost of any solution path going through node n. At each
point a node with the lowest f value is chosen for expansion. Ties among nodes of
equal f value should be broken in favor of nodes with lower h values. The algorithm
terminates when a goal is chosen for expansion. The program for A* algorithm is
written using the pseudo code is shown below
1.
Create a search graph G, consisting solely of the start node, n o. Put
no on a list called OPEN.
2.
Create a list called CLOSED that is initially empty.
3.
If OPEN is empty, exit with failure.
4.
Select the first node on OPEN, remove it from OPEN, and put it on
CLOSED. call this node n.
5.
If n is a goal node, exit successfully with the solution obtained by
tracing a path along the pointers from n to n o in G. (The pointers
define a search tree and are established in Step 7.)
6.
Expand node n, generating the set M, of its successors that are not
already ancestors of n in G. Install these members of M as
successors of n in G.
7.
Establish a pointer to n from each of those members of M that were
not already in G (i.e., not already on either OPEN or CLOSED). Add
these members of M to OPEN. For each member, m, of M that was
already on OPEN or CLOSED, redirect its pointer to n if the best
131
path to m found so far is through n. For each member of M already
on CLOSED, redirect the pointers of each of its descendants in G
so that they point backward along the best paths found so far to
these descendants.
8.
Reorder the list OPEN in the order of increasing f values. (Ties
among minimal f values are resolved in favor of the deepest node in
the search tree.)
Go to Step 3.
10.2
COMPARING A* ALGORITHM WITH DIRECTION BASED and LINE
BASED PATH PLANNING ALGORITHMS
The Direction based path planning algorithm developed in chapter 5 and
Line based path planning developed in chapter 8 are compared with A*
algorithm in terms of execution cost and path cost and the results are
discussed.
10.3
CALCULATING THE EFFICIENCY OF AN ALGORITHM
In general, the efficiency of an algorithm can be computed using
a.
Space complexity
b.
Time complexity
Space complexity refers to the space or memory occupied by the
program implemented using the algorithm.
Time complexity refers to the time taken by the computer to execute the
program implemented, using the algorithm.
Since the focus of this research is path planning algorithms, in this
chapter the algorithms are compared in terms of parameters, such as the cost of the
path, the execution time of the algorithm, the obstacle position and the number of
obstacles.
132
10.4
SIMULATION RESULTS
The simulation is carried out using Matlab. For analysis purposes, the
environment is divided into 10 * 10 grids. The starting and goal points for all the
algorithms remain the same. The starting point is (2, 3) and the goal point is
considered (7, 8). The simulation is carried out with and without obstacles. The first
Path is found without obstacles. The sequence of the intermediate points which
makes the path without obstacles is noted. Next, path finding with obstacles is
performed in two phases. In Phase I the obstacles are placed in the intermediate
points one by one, for which the path cost and execution time are noted. In Phase II
the obstacles are kept one by one, which destroys the path obtained in the previous
step. Graphs are also plotted using MS-Excel, indicating the execution time, path
cost and number of obstacles. The simulated results are shown in tables 10.4.1 and
10.4.2 below.
Table 10.4.1 Execution time and path cost calculation in phase I
A* algorithm
Direction
Based algorithm
Line equation
based algorithm
ET
PC
ET
PC
ET
PC
Without obstacle
1.273
5
0.151
5
0.277
5
With one obstacle
1.542
6
0.189
6
0.072
6
With two obstacles
1.518
6
0.226
6
0.070
7
With three obstacles
1.547
6
0.231
6
0.076
8
With four obstacles
1.580
6
0.238
6
0.074
9
Table 10.4.2 Execution time and path cost calculation in phase II
A*
Direction
133
Line equation
algorithm
based algorithm based algorithm
ET
PC
ET
PC
ET
PC
With two obstacles
1.551
6
0.251
6
.062
6
With three obstacles
1.525
6
0.229
6
.048
7
With four obstacles
1.457
6
0.248
6
.064
8
With five obstacles
1.515
6
0.230
6
.0516
9
Figure 10.4.1 Algorithms Vs execution time without obstacles
Figure 10.4.2 Algorithms Vs path cost without obstacles
134
Figure 10.4.2 obstacles in phase I Vs execution time of algorithms
Figure 10.4.3 Number of obstacles Vs path cost in phase I
Figure 10.4.5 Obstacles in phase II Vs execution time of algorithms
135
Figure 10.4.6 Number of obstacles Vs path cost in phase II
10.5
DISCUSSION
In order to compare the performance of the three algorithms, various
parameters such as the execution time in calculating the path, the length of the path
through which some body can travel to extinguish the forest fire, the number of
obstacles and position of the obstacles along the path, are taken into consideration.
Even though the simulation results are shown for a particular starting point and goal
point, the comparison process is performed by varying the starting and goal points
and obtained similar results. First, the execution time is computed for finding a path
and the length of the path (we have taken one unit as one hop moving from one cell
to another cell in an 8-point neighborhood) for all the three algorithms in the same
configuration space where there are no obstacles. Then, the sequence of points
which constituted the path for A* algorithm without obstacles is noted. Then ,the
obstacles are introduced one by one obstructing the goal along the path .From the
experimental results it is clear that the developed algorithms perform better when
compared with the A* algorithm in terms of
execution time. The A * algorithm
performed poorly in terms of execution time because of its large computational
needs .Also the developed algorithms are a better choice for applications which
requires fast path plan updates.
When compared in terms of path length, the
direction based algorithm performs almost similar to the A * algorithm in almost all the
cases, whereas the line equation based algorithm lags in 80 percent of the cases.
136
11. CONCLUSION
In this thesis, application based wireless sensor network was designed
and developed to detect and determine the direction of path and move the actor to
the desired place by means of different grid based path planning algorithms which
uses hybrid approaches for extinguishing forest fires were developed. It includes
both conventional and evolutionary algorithms such as trigonometry based path
planning algorithm, direction based path planning algorithm, line based path planning
algorithm, genetic algorithm based path planning, and neural network based path
planning and path planning using ant colony optimization. In this research the
combined idea of detection of fires using wireless sensor network and finding paths
using grid based path planning algorithms through which actor or fire personnel can
navigate to extinguish fires are successfully developed. The combined idea has not
been explored in the literature so far. A novel grid based hybrid path planning
approach which uses the combined idea is presented. The forest area can be
considered as a single grid .It can be decomposed into cells of equal size using grid
based approach or it can decomposed into graph containing nodes and edges using
topological approach. In this research work the grid based approach is used for
decomposition and while calculating next free cell topological approach is used.
Hence the name Grid based path planning algorithms for extinguishing forest fires.
For the analysis purpose direction based path planning algorithm and line based
path planning algorithm were compared with A* algorithm even though the analysis is
beyond the scope of this research work. The parameters considered are execution
time and path cost. The results shows that our algorithms perform better when
compared with the A* algorithm in terms of execution time. The A* algorithm is
performing poorly in terms of execution time because of its large computational
needs .Also our algorithms are a better choice for applications which requires fast
path plan updates.
When compared in terms of path length, direction based
algorithm performs almost similar to A* algorithm in almost all the cases whereas
Line equation based algorithm lags in 80 percent of the cases but still produce a path
to the goal.
11.1
SCOPE FOR FURTHER WORK
137
All the developed path planning algorithms considered only static
obstacles and size of obstacle is same as the size of the cell. In future we have plans
to consider a dynamic obstacle which varies in both size and shape. The issues such
as transmission range of sensor, receiving range of robot, battery power
consumption of sensors, replacement of failed nodes can also be considered in
future because the nodes and robot are going to be deployed in hostile forest
environments. Furthermore the spreading effect of fires is not considered .That is
how much area is burnt before the robot moves to the target to extinguish fires must
be considered for efficient extinguishing purposes and the same can be incorporated
in the path planning algorithm.
138
REFERENCES
[1]
Jerry Banks, Carson J.S, Barry and Nelson L, “Discrete Event System
Simulation”, second edition, Prentice Hall of India, New Delhi, pp. 1-5,
October 2000.
[2]
Sowmya S.V and Somasekhar R.K, “Application of remote sensing and
geographical information system in mapping forest fire risk zone at bhadra
wildlife sanctuary, India”, Journal of Environmental Biology, Vol. 31, pp. 969974, 2010.
[3]
Akyildiz I.F and Kasimoglu I.H, “Wireless Sensor and Actor Networks:
Research challenges”, Mobile Adhoc Networks, Vol. 2, pp. 351-367, 2010.
[4]
Melodia T, Pompili D, Gungor V.C and Akyildiz I.F, “Communication and
coordination in wireless sensor and actor networks”, IEEE Transactions on
Mobile computing, Vol. 6, pp. 1116–1129, Oct. 2007.
[5]
Buniyamin N, Wan Ngah W.A.J, Sariff N,Mohammad Z, “A simple local path
planning algorithm for autonomous mobile robots”, International journal of
systems Applications, Engineering & development, Vol. 6, pp. 151-159, 2011.
[6]
Giesbrecht J, “Global path planning for unmanned ground vehicles”, DRDC
Suffield TM 2004-272, Defence R&D Canada – Suffield, 2004.
[7]
Filliat D and Meyer J.A, “Map-based Navigation in Mobile Robots- I. A Review
of
Localization
Strategies”,
Cognitive
systems
research,
Vol. 4, pp. 243–282, 2003.
[8]
Balakrishnan K Bousquet O and Honavar V, “spatial learning and localization
in rodents: A computational model of the hippocampus and its implications for
mobile
robots”,
Adaptive
behavior,
Vol.
7,
pp. 173-216, 1999.
[9]
Meyer J.A. and Filliat .D, “Map-based navigation in mobile robots - II. A review
of map-learning and path-planning strategies”, Journal of Cognitive Systems
Research, Vol. 4, pp. 283-317, 2003.
[10]
Haigh K.Z. and Veloso M.M, “Planning, Execution and Learning in a Robotic
Agent”, the 4th International Conference on Artificial Intelligence Planning
Systems (AIPS-98), pp. 120-127, 1998.
[11]
Nehmzow U and Owen C, “Robot Navigation in the Real World: Experiments
with Manchester‟s Forty Two in Unmodified Large Environments”, Robotics
and Autonomous Systems, Elsevier Science, Vol. 33, pp. 223-242, 2000.
139
[12]
Abraham A.T, Ge S.S and Tao P.Y. “A Topological Approach of
AutonomousRobot Navigation in Dynamic Environments”, International
Conference on Intelligent Robot and Systems, pp. 4907-4912, 2009.
[13]
Choset H and Nagatani K, “Topological Simultaneous Localization and
Mapping (SLAM): Toward Exact Localization without Explicit Localization”, In
IEEE Transactions on Robotics and Automation, Vol.17, pp.125-137, 2001.
[14]
Choset H, “Sensor Based Motion Planning: The Hierarchical Generalized
Voronoi Graph”, PhD thesis, California Institute of Technology, 1996.
[15]
Subramanian S, Tamassia R and Vitter J.S, “ An Efficient Parallel Algorithm
for Shortest Paths in Planar Layered Digraphs”, Algorithmica, Springer Verlag,
pp. 322-339, 1995.
[16]
Elfes A, “Sonar-based real-world mapping and navigation”, IEEE Journal of
robotics and automation”, Vol. 3, pp. 249-265, 1987.
[17]
Elfes A, “Using occupancy grids for mobile robot perception and navigation”,
IEEE Computer, Vol. 22, pp. 46-57, 1989.
[18]
Elfes A, “Occupancy Grids: a probabilistic framework for robot perception and
navigation”, PhD Thesis, Department of Electrical and Computer Engineering,
Carnegie Mellon University, Pittsburgh, PA, 1989.
[19 ]
Thrun S, “Exploration and model building in mobile robot domains”, In the
Proceedings of IEEE international conference on Neural Network, pp. 175180,1993.
[20]
Batavia P.H and Nourbakhsh I, “Path planning for the Cye personal robot”,
IEEE/RSJ International Conference on Intelligent Robots and Systems
(IROS), Vol. 1, pp. 15-20, 2000.
[21]
Thrun S, Beetz M, Bennewitz M, Burgard W, Cremers A.B, Dellaert F, Fox.D,
Hahnel D, Rosenberg C, Roy N, Schulte J and Schulz D, “Probabilistic
Algorithms and the Interactive Museum Tour-Guide Robot Minerva”,
International Journal of Robotics Research, Vol. 19, pp. 972-999, 2000.
[22]
Brock O and Khatib O, “High-speed navigation using the global dynamic
window approach”, In Proceedings of IEEE International conference
on robotics and automation, Vol. 1, pp. 341-346, 1999.
[23]
Hirt, Julian, Dominik Gauggel, Jens Hensler, Michael Blaich, and Oliver Bittel,
“Using
Quadtrees
for
Realtime
Path
finding
in
Indoor
Environments”, Research and Education in Robotics-EUROBOT, pp. 72-78,
2011.
140
[24]
Kazakov K, Semenov V and Zolotov V, “Topological Mapping Complex 3D
Environment Using Occupancy Octrees”, the 21st International Conference on
Computer Graphics and Vision GraphiCon‟2011, pp. 111-114, 2011.
[25]
Garrido S, Morneo L, Blanco D and Jurewicz P, “ Path Planning for Mobile
Robot Navigation using Voronoi Diagram and Fast Marching”, International
journal of Robotics and Automation, Vol. 2, pp. 42-64, 2011.
[26]
Strentz A, “Optimal and efficient path planning for partially-known
environments”, In proceedings of the IEEE International Conference on
Robotics and Automation, Vol. 4, pp. 3310-3317, 1994.
[27]
Koenig S and Likhachev M, “Incremental A*”, Advances in Neural Information
Processing Systems, Vol. 14, pp. 1539-1546, 2001.
[28]
Strentz A, “The Focussed D* Algorithm for real-time replanning”, In
Proceedings of the 1995 International Joint Conference on Artificial
Intelligence, vol. 14, pp. 1652-1659,1995.
[29]
Koenig S and Likhachev M , “Improved fast replanning for robot navigation in
unknown terrain”, In Proceedings of the IEEE International Conference on
Robotics and Automation (ICRA), Vol.1, pp. 968-975, 2002.
[30]
Ferguson D and Stentz A, “The Delayed D* Algorithm for Efficient Path
Replanning”, In Proceedings of the 2005 IEEE International Conference on
Robotics and Automation (ICRA 2005), pp. 2045-2050, 2005.
[31]
Connolly C.I and Grupen R.A, “The Application of Harmonic Functions to
Robotics”, Journal of Robotic Systems, Vol. 10, pp. 931-946, 1992.
[32]
Zelinsky A, Jarvis R. A, Byrne J. C and Yuta S.I , “Planning paths of complete
coverage of an unstructured environment by a mobile robot”, In Proceedings
of International Conference on Advanced Robotics, pp. 533-538, 1993.
[33]
Zelinsky A, “Using Path Transforms to Guide the Search for Find path in 2D”,
International
Journal
of
Robotics
Research,
Vol.
13,
pp. 315-325, 1994.
[34]
Trihatmo S and Jarvis R.A, “Short-safe Compromise Path for Mobile Robot
Navigation in a Dynamic Unknown Environment”, Australian Conference on
Robotics and Automation, pp. 1-8, 2003.
[35]
Murphy R.R, Hughes K, Marzilli A and Noll E, “Integrating explicit path
planning with reactive control of mobile robots using Trulla”, Robotics and
Autonomous Systems, Elsevier Science, Vol. 27, pp. 225-245, 1997.
[36]
Kuipers B and Byun Y.T, “A Robot Exploration and Mapping Strategy Based
on a Semantic Hierarchy of Spatial Representation”, Robotics and
Autonomous Systems, Vol. 8, pp. 47-63, 1991.
141
[37]
Fabrizi E and Saffiotti A, “Extracting Topology-Based Maps from Grid maps”,
In Proceedings of the 2000 IEEE International Conference of Robotics and
Automation (ICRA 2000), pp. 2973-2978, 2000.
[38]
Thrun S, “Learning Metric-Topological Maps for Indoor Mobile Robot
Navigation”, Artificial Intelligence, Vol. 18, pp. 21-71, 1998.
[39]
Poncela A, Perez E.J, Bandera A, Urdiales C and Sandoval F, “Efficient
Integration of Metric and Topological Maps for Directed Exploration of
Unknown Environments”, Robotics and Autonomous Systems, Vol. 41, pp.
21-39, 2002.
[40]
Kruusmaa M, “Global Level Path Planning for Mobile Robots in Dynamic
Environments”, Journal of Intelligent and Robotic Systems, special issue for
Robot Motion Planning, Kluwer, Vol. 38, pp. 55-83, 2003.
[41]
Kruusmaa M, “Global Navigation in Dynamic Environments Using Case
Based
Reasoning”,
Autonomous
Robots,
Kluwer,
Vol.14,
pp. 71-91, 2003.
[42]
Reif J.H, “Complexity of Mover‟s Problem and Generalisations”, In
Proceedings of IEEE Symposium on Foundations of Computer Science , pp.
421-427, 1979.
[43]
Kambhampati S and Davis L.S, “Multiresolution path planning for mobile
robots”, IEEE Journal of Robotics and Automation, Vol. 2,
pp. 135–145, 1986.
[44]
Samet H, “The quad tree and related hierarchical data structures”, Computing
Surveys, Vol. 16, pp. 187–260, 1984.
[45]
Noborio H, Naniwa T and Arimoto S, “A quad tree-based path planning
algorithm for a mobile robot”, Journal of Robotic Systems, Vol. 7, pp. 555–74,
1990.
[46]
Avnaim F, Boissonnat J.D and B. Faverjon, „„A practical exact motion planning
algorithm for polygonal objects amidst polygonal obstacles,‟‟ in Proc. IEEE Int.
Conf.
Robotics
and
Automation,
Vol.
3,
pp. 1656–1661, 1988.
[47]
Nearchou, A. C, “Path planning of a mobile robot using genetic heuristics”,
Robotica, Vol. 16, pp. 575–588, 1998.
[48]
Pruski A and Rohmer S , “Robust Path Planning for Non-Holonomic Robots”,
Journal
of
Intelligent
and
Robotic
Systems,
Vol.
18,
pp. 329-350, 1997.
[49]
Song G and Amato N. M , “Randomized Motion Planning for Car-like Robots
with C-PRM”, In Proc. IEEE/RSJ International Conference on Intelligent
Robots and Systems (IROS), Vol. 1, pp. 37-42, 2001.
142
[50]
Vougioukas S.G, “Optimization of Robots Paths Computed by Randomized
Planners”, In Proc. IEEE Int. Conf. on Robot Automat, Barcelona, Spain, pp.
2160-2165, 2005.
[51]
Nilsson N.J , “Shakey the robot”, Technical Report 323, AI Center, SRI
International, 333 Ravenswood Avenue, Menlo Park, CA 94025, Apr 1984.
[52]
Bhattacharya P and Gavrilova M, “Road map-based path planning: Using the
Voronoi diagram for a clearance-based shortest path”, IEEE Robotics and
Automation Magazine, Vol. 15, pp. 58–66, 2008.
[53]
Bohlin R and Kavraki L.E, “Path planning using lazy PRM”, Proceedings of
IEEE International Conference on Robotics and Automation, pp. 521-528,
2000.
[54]
Boor V, Overmars M.H and Vander stappen A.F, “The Gaussian sampling
strategy for probabilistic roadmap planners”, Proceedings of IEEE
International Conference on Robotics and automation, pp. 1018-1023, 1999.
[55]
Han L and Amato N, “A kinematics-based probabilistic roadmap method for
closed chain systems”, Proc. Workshop on Algorithmic Foundations of
Robotics (WAFR'00), pp. 233-246, 2000.
[56]
Hsu D, Kavraki L,Latombe J.C,Motwani R and Sorkin S, “On finding narrow
passages with probabilistic roadmap planners”, In Proceedings of workshop
on Algorithmic foundation of Robotics, pp. 141-153, 1998.
[57]
Kavraki L, Svestka P, Latombe J.C and Overmars M.H, “Probabilistic
roadmaps for path planning in high-dimensional configuration spaces”, IEEE
Trans. on Robotics and Automation, Vol. 12 , pp. 566-580, 1996.
[58]
Bessiere P, Ahuactzin J.M, Talbi E.G and Mazer E, “The Ariadne‟s clew
algorithm: Global planning with local methods”, In Proc. IEEE International
Conference on Intelligent Robotic System (IROS), Vol.2, pp.1373–1380,
1993.
[59]
Kuffner J.J and LaValle S.M, “RRT-Connect: An Efficient Approach to Single
Query Path Planning”, In Proc. IEEE International Conference on Robotics
and Automation (ICRA), pp. 995–1001, 2000.
[60]
LaValle S.M and Kuffner J.J, “Rapidly-Exploring Random Trees: Progress and
Prospects”, In Proceedings of International Workshop on Algorithmic
Foundations of Robotics (WAFR), pp. 45–59, 2000.
[61]
Lien J.M, Bayazit O.B, Sowell R.T, Rodriguez S, and Amato N.M ,
“Shepherding behaviors”, In Proceedings of IEEE International Conference on
Robotics and Automation (ICRA), pp. 4159–4164, 2004.
[62]
Yershova A, Jaillet L, Simeon T and Lavalle S.M, “C-space subdivision and
integration in feature-sensitive motion planning”, In Proceedings of IEEE
143
International Conference on Robotics and
3872, 2005.
Automation(ICRA), pp. 3867–
[63]
Khatib O, “Real time obstacle avoidance for manipulators and mobile robots”,
The
International
Journal
of
Robotics
Research,
Vol.
5,
pp. 90-98, 1986.
[64]
Hussien O, “Robot path planning and obstacle avoidance by means of
potential function method”, Ph.D. Dissertation, University of Missouri,
Columbia, 1989.
[65]
Ge S. S and Cui Y.J, “Dynamic motion planning for mobile robots using
potential field method”, Proceedings of IEEE International Conference on
Robotics and Automation, Vol. 13, pp. 207–222, 2002.
[66]
Freeman J.A and Skapura D.M, “Neural Networks, Algorithms, Applications
and
Programming
Techniques”,
Addison
Wesley,
pp. 1-20, 1991.
[67]
Isabelle Rivals, Daniel Canvas, Leon Peronnaz and Gerard Dreyfus,
“Modeling and control of Mobile Robots and intelligent vehicles by neural
networks”,
IEEE
conference
on
intelligent
Vehicles,
pp.137-142, 1994.
[68]
Krose B.J and Eecen M,“A self organizing representation of sensor space for
Mobile robot navigation”, International conference on Intelligent Robots and
Systems IROS‟94, pp. 9-14,1994.
[69]
Lagoudakis M.G and Maida A.S, “Neural Maps for Mobile Robot Navigation”,
IEEE
International
conference
on
Neural
Networks,
pp. 2011-2016, 1999.
[70]
Livianu M.J, “Human in the loop neural network control of a planetary rover on
harsh terrain”, M.S. Thesis, Georgia Institute of Technology, 2008.
[71]
Janglova D, “Neural Networks in Mobile Robot Motion”, International Journal
of Advanced Robotic Systems, Vol. 1, pp. 15-22, 2004.
[72]
Hata A.Y, Wolf D.F, Pessin G and Osorio F, “Terrain Mapping and
Classification in outdoor Environments Using Neural Networks” International
journal
of
u
and
e
service
,science
and
technology”,
pp. 51-61, 2004.
[73]
Bhattacharya S and Talapatra S, “Robot Motion Planning Using Neural
Networks: A Modified Theory”, International Journal of Lateral Computing,
Vol. 2, pp. 9-13, 2005.
[74]
Engedy I and Horvath G “Artificial Neural Network based Mobile Robot
navigation”,
In
Intelligent
signal
processing,
IEEE
symposium
pp.241-246, 2009.
144
[75]
Alamdari A.R.S.A, “Unknown Environment Representation for Mobile robot
Using Spiking Neural Networks”, Proceedings of world Academy of science,
Engineering and Technology Vol. 6, pp. 49-52, 2005.
[76]
Ritthipravat P and Nakayama K, “Obstacle Avoidance Using Modified Hopfield
Neural Network”, In International conference on Artificial Intelligence, Vol. 1,
pp.161-167, 2002.
[77]
Engedy I and Horvath G, “Artificial Neural Network based Local Motion
Planning of a Wheeled Mobile Robot”, In the proceedings of 11th international
IEEE symposium on Computational Intelligence and Informatics, pp.213-218,
2010.
[78]
Fu L.M ,“Neural Networks in Computer Intelligence”, Tata Mc Graw-Hill
Limited Edition, pp. 1-30, 2003.
[79]
Zurada J.M, “Introduction to Artificial Neural systems”, Jaico publishing ,2nd
edition, pp. 1-10, 1997.
[80]
Arai Y, Fujii T, Asama H and Kataoka Y, “Adaptive Behavior Acquisition of
Collision Avoidance among Multiple Autonomous Mobile Robots”, Proceeding
of IROS, pp. 1762-1767, 1997.
[81]
Mochida T, Ishiguro A, Aok T and Uchikawa Y, “Behavior arbitration for
autonomous
mobile robots using emotion mechanisms”, International
Conference on Intelligent Robots and Systems, Vol. 3, pp. 516-521,1995.
[82]
Ishiguro A, Watanabe R and Uchikawa Y, “An immunological approach to
dynamic behavior control for autonomous mobile robots”, International
Conference on Intelligent Robots and Systems, Vol.1, pp. 495-500,1995.
[83]
Mehrotra R and Krause D.M, “Obstacle-free Path Planning for Mobile
Robots”, Image processing and applications, Third international conference
on IET, pp. 431-435, 1989.
[84]
Lagoudakis M.G, “Hopfield Neural Network for Dynamic Path Planning and
Obstacle Avoidance”, Technical Paper, University of Southwestern Louisiana,
pp. 1-34, 2007.
[85]
Wang Y, Liu H and Tao Q, “A realistic method for real-time obstacle
Avoidance without the calculation of Cspace Obstacles”, Journal of Robotica
, pp. 1-14, 2004.
[86]
Alfaro T and Riff M.C, “An on the fly Evolutionary Algorithm for Robot Motion
Planning”,
Evolable
systems:
From
Biology
to
Hardware,
pp. 119-130, 2005.
[87]
Shahidi N, Esmaeilzadeh H, Abdollahi M and Lucas C, “Memetic Algorithm
Based Path Planning for a Mobile Robot”, International Journal of Information
Technology ,Vol. 1, pp. 174-177, 2004.
145
[88]
Elshamli A, Abdullah H and Areibi S , “Genetic Algorithm for Dynamic path
Planning,” In Proceedings of Canadian Conference on Electrical and
Computer Engineering, Niagara Falls,Vol.2, pp. 677-680, 2004.
[89]
Castillo O and Trujillo L , “ Multiple objective optimization Genetic Algorithms
for path Planning in Autonomous Mobile robots”, International Journal of
computers,
systems
and
signals,
Vol.
6,
pp. 48-63, 2005.
[90]
Xin D, Hua-Hua C and Wei-Kang G,“ Neural Network and Genetic algorithm
based Global path planning in a static environment”, Journal of Zhejiang
University Science, pp. 549-554, 2005.
[91]
Burchardt H and Solomon R, “Implementation of path planning using Genetic
Algorithms on Mobile Robots”, In Evolutionary Computation IEEE 2006, pp.
1831-1836, 2006.
[92]
Candido S, “Autonomous Robot Path Planning using a Genetic Algorithm”,
pp. 1-8, 2005.
[93]
Ismail A T,Sheta A and Al weshah M, “ A Mobile Robot Path Planning using
Genetic Algorithm in Static Environment”, Journal of computer science , Vol.
4, pp. 341-344, 2008.
[94]
Zhu A and Yang S. X, “Neuro fuzzy-based approach to mobile robot
navigation in unknown environments”, Systems, Man, and Cybernetics, Part
C: Applications and Reviews, IEEE Transactions, Vol.37, pp. 610-621, 2007.
[95]
Ibrahim M.F, “Genetic Algorithm based Robot path Planning”, In industrial
electronic seminar, pp. 1-6, 2009.
[96]
Ivan K, Hoai N.X and Lee K.M, “A Genetic Algorithm with Local Map for path
planning in Dynamic Environments”, In proceedings of 11th Annual
Conference
on
Genetic
and
evolutionary
computing,
pp. 1859-1860, 2009.
[97]
Kala R, Shukla A and Tiwari R , “ Mobile Robot Navigation Control in Moving
Obstacle Environment using Genetic Algorithm, Artificial Neural Networks and
A* Algorithm”, Intelligent Systems Engineering through Artificial Neural
Networks,ASME
Publications,
Vol.
18,
pp. 113-120, 2008.
[98]
Hosseinzadeh A and Izadkhan H, “Evolutionary Approach for mobile Robot
Path Planning in Complex environment”, International journal of computer
science issues, Vol. 7, pp. 1-9, 2010.
[99]
Nagib G and Gharieb W, “Path Planning for a Mobile robot using Genetic
Algorithm”, In IEEE International conference on Electrical, Electronic and
Computer Engineering, pp.185-190, 2004.
146
[100] Liu C,Yan X,Liu C and Li G, “Dynamic path planning for Mobile robot based
on improved Genetic Algorithm”, Chinese Journal of Electronics, Vol.19, pp.
245-248, 2010.
[101] Liu C, Liu H and Yang J, “A path planning method based on adaptive genetic
algorithm for mobile robot”, Journal of Information and computational science,
pp. 808-814, 2011.
[102] Rastogi S and Kumar V, “ An Approach based on Genetic Algorithms to solve
the path planning problem of mobile robot in static environment ”, IT
International Journal of computer science and information technology, Vol. 1,
pp. 32-35, 2011.
[103] Achour N and Chaalal M, “Mobile Robots Path planning using Genetic
Algorithms”, ICAS 2011 the seventh international conference on Autonomic
and Autonomous Systems, pp. 111 – 115, 2011.
[104] Daniel Angus “Solving a unique Shortest Path problem using Ant Colony
Optimization”, pp.1-24, 2005.
[105] Dorigo M and Gambardella L.M, “Ant Colony System: A Cooperative Learning
Approach to the Traveling salesman problem”, IEEE Transactions on
Evolutionary Computing 1997, pp. 53 -66, 1997.
[106] Hsiao Y.T, Chuang C.L and Chien C.C, “Ant Colony optimization for best
path planning, “International Symposium on communication and information
Technologies”, Japan, pp. 109 – 113, 2004.
[107] Chu S.C, Roddick J.F and Pan J.S, “Ant Colony System with Communication
strategies”, International journal of Information Sciences (Elsevier), pp. 63-76,
2004.
[108] Cen Y, Song C, Xie N and Wang L, “Path Planning Method for Mobile Robot
based
on
Ant
Colony
Optimization
algorithm”,
IEEE,
pp. 298-301, 2008.
[109] Zhou J, Dai G. Z, He D. Q, Ma J and Cai, X. Y , “Swarm Intelligence: AntBased Robot Path Planning”, In Proceedings of Fifth international conference
on
Information
Assurance
and
Security,
IEEE,
pp. 459- 463, 2009.
[110] Al salami N.M , “Ant colony optimization Algorithm”, UbiCC Journal, Vol.4, pp.
823- 826, 2009.
[111] Garcia M.A, Montiel O, Castillo O, Sepulveda R and Melin P , “Path planning
for autonomous mobile robot navigation with ant colony optimization and
fuzzy cost function evaluation”, Applied Soft Computing, Vol. 9, pp. 11021110, 2009.
147
[112] Cong Y Z and Ponnambalam S.G ,“Mobile Robot Path Planning Using Ant
Colony Optimization”, IEEE/ASME international conference on Advanced
Intelligent Mechatronics, pp. 851-856, 2009.
[113] Shaogang Z and Ming L, “Path Planning of Inspection Robot Based on Ant
Colony Optimization Algorithm”, International Conference on Electrical and
Control Engineering IEEE, pp. 1474-1477, 2010.
[114] Maurya R and Shukla A, “ Generalised and Modified Ant Algorithm for solving
Robot Path Planning Problem”, IEEE, pp. 643 – 646, 2010.
[115] Du R, Zhang X ,Chen C and Guan X, “ Path Planning with obstacle
Avoidance in PEGs:Ant Colony Optimisation Method” , International
Conference on Green Computing and Communications”, IEEE,
pp. 768-773. 2010.
[116] Brand M, Masuda M, Wehner N and Yu X.H, “Ant Colony Optimization
Algorithm for Robot Path Planning”, International Conference on Computer
Design
and
Applications
(ICCDA
2010),
pp. 436-439, 2010.
[117] Han Q, Wang Q ,Zhu Xand Xu J “Path Planning of Mobile Robot based on
Improved Ant Colony Algorithm”, IEEE, pp. 531-533, 2011.
[118] Mei H, Tian Y and Zu L, “A Hybrid Ant Colony Optimization Algorithm for Path
Planning of Robots in Dynamic Environment” International Journal of
Information Technology, Vol. 12, pp. 78-88, 2006.
[119] Eduard p and Raluca M, “Soccer robot navigation in grid environments based
on reinforcement learning”,
[120] Andrew N.H, Jagruthi G,Kaveh A,Theodore
“Benchmarking Robot Path Planning”,
W.M
and
Roger
L.W
[121] Michael B, Michael M, Nicole W and xiao H, “Ant colony optimization
algorithm for robot path planning”,in proceedings of 2010 international
conference on computer design and applications(ICCDA),pp.436-440,2010.
[122] Sislak, volf P and Pechoucek M, “ Accelerated A* trajectory planning:Grid
based path planning comparison”, In proceedings of the 19 th international
conference on automated planning and scheduling”, pp.74-81,2009.
[123] Liu B and Towsley D, “On the coverage and detectability of large scale
wireless sensor networks”, In the proceedings of the workshop on Modeling
and optimization in Mobile Adhoc and wireless networks (WiOpt‟03), pp.1-3,
2003.
[124] Akyildiz I.F and Kasimoglu.I.H, “Wireless Sensor and Actor Networks:
research challenges”, mobile Adhoc networks, Vol. 2, pp. 351-367, 2011.
148
[125] Fierens P.I, “Number of sensors versus time to detection in wildfires”,
International journal of wild land fires, pp. 825-829, 2009.
[126] Melodia T, Pompili D, Gungor V.C and Akyildiz I.F, “Communication and
coordination in wireless sensor and actor networks,” IEEE Transactions on
Mobile computing, Vol. 6, pp. 1116–1129, 2007.
[127] Akyildiz I.F, Su W, Sankarasubramaniam Y and Cayirci E, “Wireless sensor
Networks:
A
survey”,
Computer
Networks,
Vol.
38,
pp. 393–422, 2002.
[128] Estrin D, Govindan R, Heidemann J.S and Kumar S, “Next century
challenges: Scalable coordination in sensor networks”, In Proceedings of
ACM MobiCom‟99, Washington, pp. 263-270, 1999.
[129] Kahn J.M, Katz R.H and Pister K.S, “Next century challenges: Mobile
networking For smart dust”, In Proceedings of ACM MobiCom‟99,
pp. 271-278, 1999.
[130] Gilbert E.P.K, Kaliaperumal B and Rajsingh E.B, “ Research issues in
Wireless Sensor Network Applications- A Survey”, International Journal of
Information
and
Electronics
Engineering,
Vol.
1,
pp. 702-706, 2012.
[131] Servetto S.D and Barrenechea G, “Constrained random walks on random
graphs: Routing algorithms for large scale wireless sensor network”, in First
ACM International Workshop on Wireless Sensor Networks and Applications,
pp. 12–21, 2002.
[132] Kleinberg J, “The Small-World Phenomenon: An Algorithmic Perspective ”, in
Proceedings of the 32nd ACM Symposium on Theory of Computing, pp.163170, 2000.
[133] Meguerdichian S, Koushanfar F, Potkonaj M, Srivastava M.B, “Coverage
problems in wireless adhoc sensor networks”, in proceedings of IEEE
Infocom, pp.1380-1387, 2001.
[134] Jiehuichen, Salim.M.B and Matsumoto.M, “A single mobile target tracking in
voronoi based clustered wireless sensor network”, Journal of Information
processing systems Vo1. 7, pp. 17-28, 2011.
[135] Stentz A, “Optimal and Efficient Path Planning for Partially-Known
Environments”, In Proceedings of the IEEE International Conference on
Robotics and Automation, pp.3310-3317, May 1994.
[136] Stentz A, “Optimal and efficient path planning for unknown and dynamic
Environments”, Carnegie Mellon Robotics Institute Technical Report CMU-RITR- 93-20, August 1993.
149
[137] Lumelsky V. J and Stepanov A. A, “Dynamic Path Planning for a Mobile
Automaton with Limited Information on the Environment”, IEEE Transactions
on Automatic Control, Vol. 31, pp. 1058-1063, 1986.
[138] Pirzadeh A and Snyder W, “A Unified Solution to Coverage and Search in
Explored and Unexplored Terrains Using Indirect Control”, in Proceedings of
the IEEE International Conference on Robotics and Automation, pp. 21132119, 1990.
[139] Korf R. E, “Real-Time Heuristic Search: First Results”, in Proceedings of Sixth
National Conference on Artificial Intelligence, pp.133-138, 1987.
[140] Ting-Kai Wang, Quan Dang and Pei-Yuan Pan, “Path Planning Approach in
Unknown Environment”, International Journal of Automation and Computing”,
Vol. 7, pp. 310-316, 2010.
[141] Seda M and Brezina T, “Robot Motion Planning in Eight Directions”,
Proceedings of the World Congress on Engineering and Computer Science,
pp. 691-695, 2009.
[142] Cardei M and Wu J, “Coverage in wireless sensor networks”, Hand book of
Sensor Networks, pp. 422-433, 2004.
[143] Sivaram Kumar M.P and Rajasekaran S, “Detection and Extinguishing Forest
Fires using Wireless Sensor and Actor Networks”, International Journal of
Computer Application, Vol. 24, pp. 31-35, 2011.
[144] Buniyamin N, Wan Ngah W A J, Sariff N and Mohammad Z, “A Simple Local
Path Planning Algorithm for Autonomous Mobile robots”, International Journal
of systems applications, Engineering & development, Vol. 6, pp. 151-159,
2011
[145] Howard A, Matari M.J and Sukhatme G.S, “An Incremental self deployment
algorithm for Mobile sensor Networks, autonomous robots”, special issue on
Intelligent
Embedded
systems,
Vol.
13,
pp. 113-126, 2002.
[146] Azam F, “Biologically Inspired Modular Neural Networks”, PhD Thesis,
Virginia Polytechnic Institute and State University, 2000.
[147] Goldberg D.E, “Genetic Algorithms in search, Optimization and machine
learning”, 1st edition, MA: Addison Wesley, pp. 1-20, 1989.
[148] Fox R, Garcia Jr A and Nelson M.L, “Path Planning in a two dimensional
environment”, In Aerosense‟99, International society for optonics and
photonics, pp. 264-273, 1999.
150
LIST OF PUBLICATIONS
[1]
Sivaram Kumar M.P and Rajasekaran S, “Detection and Extinguishing Forest
Fires using Wireless Sensor and Actor Networks”, International Journal of
Computer
Application,
Vol.
24,
pp. 31-35, 2011.
[2]
Sivaram Kumar M.P and Rajasekaran S, “Path Planning Algorithms for
Extinguishing
Forest
Fires”,
Journal
of
Computing,
Vol.
4,
pp. 108-113, 2012.
[3]
Sivaram Kumar M.P and Rajasekaran S, “A Neural Network based Path
Planning Algorithms for Extinguishing Forest Fires”, International Journal of
Computer Science Issues”, Vol.4, pp. 563-568, 2012.
[4]
Sivaram Kumar M.P and Rajasekaran S, “Path Planning for suppressing
Forest Fires using Genetic Algorithm”, CiiT –International Journal of Artificial
Intelligent Systems and machine learning”, Vol. 4, pp. 235-240, 2012.
[5]
Sivaram Kumar M.P and Rajasekaran S, “Line based Geometrical Path
Planning Algorithm for extinguishing Forest fires ”, International Journal of
Computer Applications”, Vol. 52, pp. 22-26, 2012.
[6]
Sivaram Kumar M.P and Rajasekaran S, “Comparison of Path Planning
Algorithms for Extinguishing Forest Fires with A* Algorithm”, International
Journal of Computer Applications”, Vol. 59, pp. 9-12, 2012.
151
TECHNICAL BIOGRAPHY
Mr. SIVARAM KUMAR M. P. (RRN. 1086209) was born on 22nd APRIL
1977, in KRISHNAGIRI, Tamil Nadu. He did his twelfth standard in Sir Ramasamy
Mudaliar Higher Secondary school, Chennai, and secured 70.25% in the Higher
Secondary Examination. He received his Bachelor‟s degree in Computer Science
and Engineering, from Dr.M.G.R.Engineering College affiliated to the University of
Madras in the year 1998. He did his Master„s degree in Computer Science and
Engineering, from Arulmigu Kalasalingam College of Engineering, affiliated to
Madurai Kamaraj University in the year 2002. He has more than 10 years of teaching
experience in various colleges, imparting engineering education. He is currently
pursuing his Ph.D. Degree in the Department of Computer science and Engineering,
in B.S. Abdur Rahman University. His areas of interest includes, model development
and simulation using algorithms, theory of computation, soft computing techniques
and wireless sensor networks. He has published six papers in international journals.
His e-mail ID is: [email protected] and the contact number is:
9443394023
152