Implementation of Path Finding Techniques in Homeland Security Robots

Authors Avatar

                                                                        Appendix A: Source code used in this thesis

Implementation of Path Finding Techniques in Homeland Security Robots

BY

Anand Veeraswamy

MSc in COMPUTER AND NETWORK ENGINEERING

FULL TIME

2004-2005

This report describes project work carried out in the school of engineering at Sheffield Hallam University between June 2005 and September 2005.

The submission of the report is in accordance with the requirements for the award of the degree of MSc in computer and Network Engineering, under the auspices of the University.

I consider it an honour to present this thesis as a student of MSc in Computer and Network Engineering of the School Of Engineering, Sheffield Hallam University, Sheffield, UK. I express my heartfelt gratitude to the school for giving me this opportunity.

I express my special thanks to:

  • Dr Bala Amavasai who has been my inspiration for this project. He was like a guiding light in an ocean of darkness. He was always there to help me out whenever I knocked on his door despite his busy schedule.
  • Mr. Jonathan Klein, the founder of Breve, who took the time to clear my doubts, from the simplest to the most involved, promptly and efficiently. He is responsible for the speed in which I became familiar with the Breve environment.
  • My mother, my first teacher in life and the best I have ever seen and the best I will ever see.
  • My father, whose philosophy of life has affected me and plays an important part in my spiritual life.
  • My brother, Selvaraj and his wife, Sylvia who supported and encouraged me through my masters. Very special thanks to my brother who is my friend, philosopher and guide.
  • Kavin and Shirom, my brother’s children aged 2 and 4, the two little diamonds in my life who add a sparkle to my life through their laughter and innocence.
  • Shabbir, for his moral support and belief in me.
  • My friends, who have encouraged me when I lacked confidence and instilled courage to face the world when I lacked it. Special thanks go to my few select friends who I consider to be my life long mates.
  • Above all to GOD, who works through me as he does through all of us!

Path finding techniques is a vital sub task in mobile robotics that has been       subjected to extensive research. Navigation issues also assume a lot of importance in homeland security applications. Among the various path finding techniques, the use of search algorithms is a very promising area for research. Numerous search algorithms exist. Using the Breve simulation environment, first the general search algorithm and then the A* algorithm has been implemented. An improvement to the A* algorithm has been implemented. In this thesis it has been proved through experimental results that the performance of the A* algorithm improves drastically after adding an additional heuristic.

Dynamic path finding techniques is an extension of normal path finding. It can be quite challenging for a vehicle which already has set forth on a pre calculated safe path to keep abreast of the changing environment and recalculate the safe paths during the course of its movement. Dynamic path planning has been implemented in this project with the vehicle checking for changes in the environment at every simulation time step and recalculating paths if there is a change in the environment.

Ad-hoc sensor networks are used in homeland security. Ad-hoc sensor networks have been modelled using the patch class in Breve and the path finding techniques have been used in this environment. The path finding technique developed in this project has been found to calculate safe paths for any given start node and target node and for any given configuration of sensor (obstacle) placement. Time analysis of the various algorithms implemented in this project has been presented. Homeland security has also been discussed briefly.


Chapter 1: Introduction……………………………………………………………..1

  1. Introduction………………………………………………………………………..1
  2. Background………………………………………………………………………..1
  3. Motivation……………………………………………………………………........2
  4. Thesis Description……………………………………………………………........2
  5. Methodology………………………………………………………………………2
  6. Deliverables………………………………………………………………………..3
  7. Thesis Foundation…………………………………………………………………3
  1. Time/Schedule………………..………………………………………..4

1.7.2    Technical Limitations………………………….………………………4

  1. Potential Hazards………………………………………………………4
  1. Report Guideline…………………………………………………………………..4
  2. Summary…………………………………………………………………………..5

Chapter 2: Relevant Theory and Analysis…………………………………………6

2.1 Introduction………………………………………………………………………..6

2.2 Search Algorithm………………………………………………………………….6

   2.2.1 General Search Algorithm……………………………………………………..6

                   The Romanian Travel Example…………………………………………...7

   2.2.2 Uninformed Search Strategies……………………………………………..…8

                   2.2.2.1 Breadth-first Search……………………………………………….8

                   2.2.2.2 Depth-first Search………………………………………………...9

                   2.2.2.3 Iterative Deepening Search……………………………………….9

    2.2.3 Informed (Heuristic) Search Strategies…………………………………….10

2.3 Cell Decomposition Methods…………………………………………………….13

2.4 Skeletonisation…………………………………………………………………...14

                   2.4.1 Voronoi Graph…………………………………………………….14

                   2.4.2 Probabilistic Roadmap…………………………………………….14

2.5 Path Planning Using Potential Fields……………………………………………15

2.6 Path Planning Using Pheromones……………………………..............................15

2.7 Summary………………………………………………………………………....15

Chapter 3: The Breve Simulation Environment………….………………………16

3.1 Introduction.....................................................................................................…...16

3.2 What is Breve……………………………………………….……………………16

3.3 Writing Simulations in Breve…………………………………………………….16

3.4 Use Of Plugins in Breve………………………………………………………….17

3.5 Versions of Breve………………………………………………………………...17

3.6 Features of Breve………….……………...……………………………………...17

3.7 Braitenberg Vehicles…………………………………………………………….17

             3.7.1 Braitenberg Vehicle Implemented in Breve…………………………..18

             3.7.2 Features of the Braitenberg Vehicle…………………………………..18

              3.7.3 Braitenberg vehicle with wheels and sensors…………………………18

              3.7.4 Introduction of Patches………………………………………………..20

3.8 Patch Class……………………………………………………………………….20

              3.8.1 Features of the Patch Class……………………………………………20

3.9 List Data Type……………………………………………………………………23

              3.9.1 List Operators…………………………………………………………23

3.10 Summary………………………………………………………………………..24

Chapter 4: Homeland Security……………………………..……...………………25

4.1 Introduction………………………………………………………………………25

4.2 What is Homeland Security………………………………………………………25

4.3 Scope of Homeland Security……………………………………………………..25

4.4 Navigation Techniques in Sensor Networks……………………………………..26

4.5 Sensor Network Modelled in Breve……………………………………………...27

4.6 Sensor Communications………………………………………………………….28

4.7 Sensor Deployment Techniques………………………………………………….31

4.8 Moving Sensors…………………………………………………………………..32

4.9 Summary…………………………………………………………………………32

Chapter 5: Implementation and Results...........................................................…...33

5.1 Introduction.....................................................................................................…...33

5.2 Design and Implementation of the Vehicle………………………………………33

       5.2.1……………………………………………………………………………...33

       5.2.2……………………………………………………………………………...34

5.3 Patches……………………………………………………………………………35

5.4 Light Objects Modelled as Obstacles…………………………………………….36

5.5 Getting the list of Patches Containing Obstacles………………………………...37

5.6 Implementation of the General Search Algorithm……………………………….38

         5.6.1 Time Complexity Analysis……………………………………………….39

         5.6.2 Space Complexity Analysis……………………………………………...39

         5.6.3 Advantages of this Algorithm……………………………………………40

         5.6.4 Disadvantages of this Algorithm…………………………………………40

5.7 Implementation of the A* Algorithm…………………………………………….40

         5.7.1 When two or more paths end in the same node take only the best path….40

         5.7.2 Time Complexity Analysis……………………………………………….41

         5.7.3 Space Complexity Analysis……………………………………………...42

         5.7.4 Advantages of the A* algorithm…………………………………………42

         5.7.5 Disadvantages of the A* algorithm………………………………………42

5.8 Adding an additional heuristic to the General Search Algorithm …..…………...43

         5.8.1 Time Complexity Analysis........................................................................43

         5.8.2 Space Complexity Analysis………………….…………………………..43

5.9 Adding the additional heuristic to the A* Algorithm…………………………….44

         5.9.1 Time Complexity Analysis……………………………………………….44

         5.9.2 Space Complexity Analysis……………………………………………...45

         5.9.3 Advantages of the Modified A* Algorithm……………………………...45

         5.9.4 Disadvantages of the Modified A* algorithm……………………………46

5.10 Dynamic Path Finding…………………………………………………………..46

5.11 Path Finding Used in Homeland Security Robots………………………………47

5.12 Placement of Obstacles…………………………………………………………49

5.14 The Longest Path Calculated by the Improved A* algorithm………………….52

5.14 Summary………………………………………………………………………..53

Chapter 6: Conclusion and Further Work.......................................................…...54

6.1 Discussion………………………………………………………………………..54

6.2 Further Work……………………………………………………………………..55

      6.2.1 Sensor Deployment………………………………………………………...55

      6.2.2 Map Building……………………………………………………………….55

      6.2.3 SMA* Algorithm…………………………………………………………...55

      6.2.4 Cell Decomposition………………………………………………………..56

6.3 Conclusion………………………………………………………………………..56

Reference…………………………………………………………………………….57

Appendix A: Source Code Used in this Thesis……………………………………59

     

       

         


Chapter 1:

Figure 1.1 Simulation snapshot………………………………………………………..3

Chapter 2:

Figure 2.1: Romanian road map……………………………………………………….7

Figure 2.2 Search tree generated after a few iterations of the general search…………8

Figure 2.3: Order of expansion of the nodes in the Breadth-first search……………...9

Figure 2.4: Order of expansion of the nodes in Depth First Search(DFS)…………….9

Figure 2.5 Order of expansion in the Greedy Search………………………………...11

Figure 2.6 Order of expansion in the A* Search……………………………………..12

Figure 2.7: Skeletonisation Methods…………………………………………………14

Chapter 3:

Figure 3.1: Simulation Snapshot…………………………………..............................18

Figure 3.2: Two wheels and two sensors have been added to the vehicle…………...19

Figure 3.3: Final modified design of the vehicle and obstacle………………………20

 Figure 3.4: Shows a simple 4X4 patch……………………...……………………….21

 Figure 3.5: Given any patch it is possible to obtain its neighbouring    

   patches……………………………………………………………….....22

Figure 3.6: The patch containing the obstacle has been deleted from

       the neighbour list………………………………………………………...23

Chapter 4:

Figure 4.1: Sensor Network………………………………………………………….27

Figure 4.2: Sensor Network Modelled in Breve……………………………………..28

Figure 4.3: Notional NSOF System Architecture …………………………………...30

Figure 4.4: Sensors dropped from airplanes…………………………………………32

Chapter 5:

Figure 5.1: Vehicle Design used in the Thesis……………………………………….35

Figure 5.2: Shows the patches used in the simulation………………………………..37

Figure 5.3: The patch, vehicle and obstacle size are all same………………………..37

Figure 5.4: Shows the initial path found……………………………………………..46

Figure 5.5: Shows the introduction of a new obstacle……………………………….47

Figure 5.6: Shows the introduction of another new obstacle………………………...47

Figure 5.7: A safe path is found for the robot to navigate……………………………48

Figure 5.8: Another snapshot showing a safe path found……………………………48

Figure 5.9: A safe path but not the safest path is found……………………………...49

Figure 5.10: Safe path taken in a 12X12 matrix with obstacles places in a open square fashion………………………………………………………………………………..49

Figure 5.11:  Safe path taken in a 12X12 matrix with obstacles places in a open square fashion………………………………………………………………………………..50

Figure 5.12: Safe path taken in a 12X12 matrix with obstacles places in a open square      fashion………………………………………………………………………………..50

Figure 5.13: Safe path taken in a 12X12 matrix with obstacles places in a open square fashion………………………………..………………………………………………51

Figure 5.15: Safe path taken in a 12X12 matrix with obstacles places in a triangular fashion………………………………………………………………………………..52

Figure 5.14: Shows the longest path calculated by the improved A* algorithm……..52


1.1 Introduction

The aim of the thesis is investigate and develop path finding techniques for autonomous homeland security robots. The following issues will be addressed:

  • enable robots to take the safest path to destination
  • implement dynamic path finding techniques
  • investigate existing path planning methods
  • compare the performance of the different methods
  • study the Breve simulation environment
  • study the Steve language used in Breve
  • design and create a model robot vehicle
  • teach the robot to navigate in the artificial world
  • use the patch class in Steve to replace the sensors used in [1].

1.2 Background

The problem of dynamic collision free path planning is vital to mobile robots and robots used in homeland applications. An attempt was made to create more versatile information systems by using adaptive distributed sensor networks [1]. Hundreds of small sensors, equipped with limited memory and multiple sensing capabilities which autonomously organize and reorganise themselves as ad hoc networks in response to task requirements and to triggers from the environment. A collection of active sensor networks can follow the movement of a source to be tracked, for example, a moving vehicle. It can guide the movement of an object on the ground, for example, a surveillance robot. Or it can focus attention over a specific area, for example, a fire in order to localize its source and track its spread.

Path finding techniques can be grouped into local methods and global methods [2]. One well known local planning method is the potential field method. In this method the robot follows the gradient of a force field. The field is generated by attractive potentials from a start position towards a target and by repulsive potentials that point away from obstacles. The potential field method has a low computational load. In contrast, the global methods need complete information about the world and hence would require relatively large computational load.

1.3 Motivation

Homeland robotics has assumed a great importance in the present age. Robots are now being used extensively to rescue survivors from hazardous environments. For e.g. when there is a fire robots can be made to go through the fire and rescue. A serious limitation is the lack of sensors that can be mounted on the robots. In 1999, both the American Association for Artificial Intelligence and the RoboCup Federation for Artificial Intelligence and the RoboCup Federation started rescue robot competitions to foster research in this humanitarian application of mobile robots. But good theory does not necessarily lead to good practice. None of the algorithms demonstrated by CRASAR or other groups at various rescue robot competitions or at related DARPA programs were actually usable on robots that could withstand the rigors of real rubble. As a result all the robots used at the WTC site had to be teleoperated [3].

1.4 Thesis Description

The most basic form of tree/network search algorithm has been implemented which does not have any heuristics and finds the first possible path. Next, the A* search, one of the most well known search algorithms has been implemented. This algorithm evaluates the nodes by combining g(n), the cost to reach the node, and h(n), the cost to get from the node to the goal: f(n) = g(n) + h(n). Since g(n) gives the path cost from the start node to node n, and h(n) is the estimated cost of the cheapest path from n to the goal, we have f(n) = estimated cost of the cheapest solution through n[4]. The results of the blind search and the A* search has been compared and studied. An additional heuristic was added and experimental data has been provided that this heuristic improves the efficiency of the A* algorithm drastically.

1.5 Methodology

In Breve sensors can be modelled by using the patch class. In the patch class it is possible to create patches which can sense the presence of obstacles (representing dangerous objects). We can assume that the sensors are as sensitive and efficient as the patches created in the simulation program. But when put to practical use it may be necessary create very efficient sensors or to compensate for the lack of efficiency of the sensors. Once safe patches and unsafe patches are found we should be able to build maps and find safe paths by keeping as far away from the obstacles as possible.

Join now!

Figure 1.1: Simulation Snapshot. The light blue patch is the starting position of the robot. The dark blue patch is the target. Patches containing the red square blocks represent the danger patches. The empty and pink coloured patches are safe patches. The patches coloured green shows the path to be taken by the vehicle.

1.6 Deliverables

The results obtained in this simulation can be tested and implemented practically using Lego robots. The performance of the various path finding techniques are compared and contrasted. It should be possible to combine the strengths of various algorithms and come with ...

This is a preview of the whole essay